Added description how to use config system

Motivation and Context
Added description how to use config system related to https://github.com/facebookresearch/habitat-api/issues/20.

How Has This Been Tested
pytest

Types of changes

Docs change / refactoring / dependency upgrade

Checklist

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have completed my CLA (see CONTRIBUTING)
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

Thanks for the reviews.

Do we need this as I believe we were shifting to new configuration system?

Let's check in the proposed description and then remove or update it when new system will be checked in. The description can help understand the current config system better and understand the hierarchical config structure, which is general.

Followed on all the comments.


Introduction of gitleaks as a pre-commit git hook to prevent secrets from getting committed once activated

This is a draft
See also #1645
Introduction
This PR introduces gitleaks as a pre-commit hook to git (to be set up by each individual developer) combined with scripts to both set up your hooks and run that hook in a stand-alone fashion.
The purpose of this work is to lower the probability of a developer inadvertently committing sensitive values and having a commit-time check present to prevent this from happening (i.e. preventing the commit from being created). Since our repository is a public repository, GitHub will automatically scan it for committed secrets and if it finds them, it will reach out to the issuer to take appropriate action (and it is up to the issuer to take whichever action it deems fit if it decides to do so, which could be 'revoke this secret' - e.g. based on a check of "is this an actual live secret or something that just matches our pattern?"). However, this check is post-factum and at the point in time when it is already too late (the secret is committed and has been pushed up for everyone to see).
Thus we introduce a mechanism to prevent the commit in the first place using a git pre-commit hook. This introduces one check that is done pre-commit and scans all files that are marked in git as "staged" for secrets (to keep it fast and snappy - see "known limitations" below as well) and will prevent the commit from being created if the tool finds HITs for any of the defined patterns.
All work is currently stored in the .environment/ directory at the root of the repository; the rationale being this help you set up your environment. I'm not married to that name...
NOTE: this needs a security review and/or consideration because those who install the hook, "trust" that the called code is something they want to run. There is an attack scenario where an ill-wisher changes the called code in the runner (to do something bad) which will now get run by every developer. We need to consider this carefully and keep a close eye on changes to these hook runners!
Some things to look at (all inside .environment/)

./githooks.sh: a helper script to install/enable or remove the git hook configuration. This script will need to be run by each and every committed to the repository in each and every clone. run ./githooks.sh without arguments to learn more about its options. This script is set up so that if we want to take advantage of more git hooks in the future (e.g. pre-push, pre-merge-commit, etc...), we can easily have this script do that for us.

pre-commit.hook.sh: this is the file that gets 'installed' as .git/hooks/pre-commit. It is a delegation script that just hands control over to the actual real implementation of the pre-commit hook, which in turn is stored in .environment/pre-commit.runner.sh. The reason for the existence of this file is so that once the hook is installed, we can add more actions to the pre-commit hook by modifying the the runner file without the need to reinstall the hook itself: you just commit "more" into the runner file and that gets picked up by your previously installed hook.  Changes to this file will require a new running of githooks.sh to be reflected in your clones.

pre-commit.runner.sh: this file is called by the pre-commit hook (which in turn, is installed at .git/hooks/pre-commit from the pre-commit.hook.sh file) and actually runs the different checks we want to enforce pre-committing. In its current shape, this file runs gitleaks solely on your uncommitted changes. It does this by invoking all files specified in the ${CHECKS_TO_RUN} variable, which must be marked as +x (executable). Adding additional checks in the future is as simple as creating a new shell script, and adding it to the ${CHECKS_TO_RUN} variable

./gitleaks/ directory: This directory contains the code that invokes the Gitleaks tool onto your uncommitted changes. There is the run-gitleaks.sh script which invokes gitleaks as a container and bind mounts your repository into it; and there's gitleaks-config.toml which contains the rules that gitleaks is scanning for. These rules are things that we will have to maintain to make sure we have the necessary coverage of sensitive values. On completion, the tool either reports 0 (success: no leaks) or non-zero (failure: leaks), which then gets rolled back up into the git commit invocation, which in turn only proceeds if the pre-commit hook reports back 0 as return code.

Note that the .environment/pre-commit.runner.sh and .environment/gitleaks/run-gitleaks.sh scripts can both be invoked manually in the event you should want to do that (e.g. to test that your modifications to the config file are effectual).
The gitleaks tool is set up to report out into both of these files at the same time (which are entered into .gitignore):

${REPO_ROOT}/gitleaks.log: its human readable output
${REPO_ROOT}/gitleaks.report.json: a json file containing either null (the literal "null") or json content that lets you hunt down the violations.

Known limitations

Hooks are client side: every developer must install these hooks into every clone to get protection; however, once installed, additionally enabled checks for those installed hooks will not require intervention (cf pre-commit.runner.sh invoked from the pre-commit hook)
Hooks can be circumvented, I can still commit sensitive values if I really want to by specifying --no-verify to my git commit invocation or by uninstalling the hook (but this leaves a trail, obviously)
Files with both staged and unstaged changes may result in 'unintuitive' (but explainable) behavior:

you have a file foo with content that trips a rule; you stage this file
you run the pre-commit hook which successfully trips and fails
You fix the file to no longer contain the sensitive value; but you do not stage the file
you re-run gitleaks
gitleaks succeeds
You could now commit the staged version of the file which still contains the sensitive value and gitleaks will not help you here
explanation: gitleaks looks at the file listing of the files you have staged and then scans those files in your work tree. It does NOT scan the file as-staged. This is a limitation of the tool as it currently stands

Your best way to get feedback is on the command line; if your IDE/Development Environment does not play nice with this, then you may get a sub-prime UX

Outstanding work

Define the right regex'es that we need in the gitleaks configuration file

~SendGrid~
~Twilio~
Okta
Azure
IPv(4|6) addresses

Run gitleaks on a schedule as a GitHub Action

@jdorothy

including @jdorothy


works incorrectly with nvim-cmp

Describe the bug
use  nvim-cmp autocompletion, the first placeholder automatically changed to zj.
To Reproduce
Steps to reproduce the behavior:

use nvim-cmp autocompletion, choose one item with placeholder.
the first placeholder automatically changed to zj.

Expected behavior
the first placeholder should remain same.
Screenshots

Version Info (please complete the following information):
NVIM v0.7.0
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by brew@Monterey

Features: +acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/local/Cellar/neovim/0.7.0/share/nvim"

Reverted a change I made recently. That should fix this issue

@qixiao986 Reverted a change I made recently. That should fix this issue
the issue fixed. 😄


Cannot build 1.6.5

Just downloaded 1.6.5 sources (MahApps.Metro-1.6.5)
Trying to build Mahapps.Metro with Visual Studio 16.3.10 I get thousands errors about missing references.
I added references to the following assemblies:

PresentationCore
PresentationFramework
System.Xaml
WindowsBase

Now there are 163 errors left related to:

'InputDialog' missing 'InitializeComponent'.
'InputDialog' does not contains 'PART_TextBox', 'PART_NegativeButton', etc.
Similar errors also in LoginDialog.cs, MessageDialog.cs, ProgressDialog.cs, GlowWindow.xaml.cs, MetroNavigationWindow.xaml.cs

2.0 Alpha (MahApps.Metro-develop) builds correctly out of the box.
Am I missing something?
Thank you!

@corradolab Please look on #3588. I created a special branch to make this possible https://github.com/MahApps/MahApps.Metro/issues/3588#issuecomment-531137061

@corradolab did you find a solution to load MahApps v1.6.5? what did you do?


Link to datacube.Datacube.load readthedocs broken

Describe the bug/issue
Link to datacube.Datacube.load docs leads to 404 error.
https://datacube-core.readthedocs.io/en/latest/dev/api/generate/datacube.Datacube.load.html
Steps to reproduce

Go to https://github.com/GeoscienceAustralia/dea-notebooks/blob/b13f020f8a41c30bc1bb4120ce492098a25a2bfa/Tools/dea_tools/datahandling.py#L239
In the load_ard() function, line 239 for broken link
Open broken link

Expected behaviour
Should lead to this page: https://datacube-core.readthedocs.io/en/latest/api/indexed-data/generate/datacube.Datacube.load.html?highlight=datacube.load

Great catch! Have raised a PR here to fix it: #1061


Update this project for the addition of CppUTest to Conan Center

Now that CppUTest is in Conan Center, what updates should be made to this repo?
Options:

Document how to consume the package, in CMake and possible other generators too
Document what needs to be done in conan-center-index to add any future new releases of this project

See the related ticket: https://github.com/cpputest/conan-cpputest/issues/22

Document what needs to be done in conan-center-index to add any future new releases of this project

I don't see this as part of the CppuTest project. Additionally, Conan Center provides related docs already.

Document what needs to be done in conan-center-index to add any future new releases of this project

I don't see this as part of the CppuTest project. Additionally, Conan Center provides related docs already.

OK, that's a fair point... Perhaps instead a reminder that when a new release is done, the recipe in Conan-center-index should be updated...
The text I would have added would mainly have said to follow Conan's PR procedure add the new version to these two files:

https://github.com/conan-io/conan-center-index/blob/master/recipes/cpputest/config.yml
https://github.com/conan-io/conan-center-index/blob/master/recipes/cpputest/all/conandata.yml

I'm working on a conan example for the readme.
Btw. huge thanks to you @claremacrae for getting CppUtest into conan-center.

I'm working on a conan example for the readme.

Oh that's great news - thanks very much!

Btw. huge thanks to you @claremacrae for getting CppUtest into conan-center.

You're very welcome... it took some persistence, but I learned a lot along the way! 😄

I was going to suggest that we should add a conan badge to CppUTest... but it seems that maybe that isn't yet supported.

I was going to suggest that we should add a conan badge to CppUTest... but it seems that maybe that isn't yet supported.

Already added a few minutes ago. But yeah, no official one available yet.

I've updated to badge, it shows the current version now.

What remains on this is to decide if/how to write up how to update the files in Conan-center-index when new releases of this project are made...
There was a discussion about about whether to do this - and what it might say.
@basvodde Thanks for merging the docs. I'd like to get this issue closed - so would appreciate knowing your thoughts on this...  I'd be happy for you to just ping me, to ask me to update the Conan recipe, if you wanted to just note that...

Yup, just pinging you is good. Honestly, we are usually not very organized around that and just have people pick it up (like you did so far). I tend to update the Homebrew package and the Debian package... but leave most others for whomever picks it up at that time. Will that do?

Great - thanks... I'll close this ticket then.


Add support for automation profiles

Closes #777,
The current automation system doesn't scale too well when dealing with multiple characters. The "Change profile" action ends up being with rules that are often character-specific, meaning users need to populate this rule with long and complicated rulesets if they play multiple characters - and then need to update it each time they make a new character.
To alleviate this problem a new profile system has been added that functions similarly to profiles in Ace-based addons.
The dropdown to the right of the automation panel allows users to create, enable, or modify a profile. Profiles can be activated on a per-character basis, but will always default to a shared "Default" profile when the addon is first loaded on a new character.


feature: allow disabling dynamic height

Did you check the docs?

[X] I have read all the which-key.nvim docs

Is your feature request related to a problem? Please describe.
It seems like which key tries to adjust itself to be lower than the cursor-line
This is sometimes bad because not all keys are visible and is als just ugly and annoying (which is personal preference though)
Describe the solution you'd like
allow disabling this behavior and always open the window with the same height
Describe alternatives you've considered
just accept it the way it is
Additional context
Will just abuse this field to say congrats to the rewrite. It's amazing how well it turned out and how it integrates with other plugins. Makes the ootb experience much better and feels more customized already while still giving the user full control over everything.

Its even worse with the helix preset, as its the one with the biggest height, an option to just turn of the dynamic height would be very much appreciated
https://github.com/user-attachments/assets/4d817862-f1f0-4f55-a644-7858c03adbed

This is actually a bug more or less.
I just want to make sure the which-key popup doesn't show over the cursor.
Will make some improvements.
I'll see later to make it configurable (shouldn't be just the height)
And thank you @max397574!

but I think it's okay for it to cover the cursor

That makes sense and I actually agree.
The only place where it didn't make sense to overlap is in visual mode and probably operator pending mode.
I'm thinking of changing it do only try to avoid overlap in visual and op mode, but allow it in normal mode.
(and also make it configurable)

makes sense I guess

Changed to at least check that there's real overlap.
@Rishabh672003 this should fix the helix issue.

@folke yup that fixes it for helix, thanks

Added opts.win.no_overlap set to false to disable

thank you
lgtm

Hi @folke, I’ve just found out this issue and set no_overlap = false since I was encountering the behavior said above (especially the statusline was overlapped by which-key).
However I’ve noticed that after set the option to false, the title is showing no more and you have to set it explicitly (win.title = true), is this a expected behavior or a side effect for no_overlap option?

Title is only shown if you have a border defined

Title is only shown if you have a border defined

They are defined. Here the examples with title = true and without

Title not defined by user
![title not defined](https://github.com/user-attachments/assets/ff4aa2f5-4533-4516-b69b-2b4e4509ed17)

`title = true`
![title defined](https://github.com/user-attachments/assets/beac9b91-5f7c-4fb7-955d-f4e92322c12e)

@kevinm6 the problem is that by default the classic preset is active and that overrides the win settings.
Just fixed it for title

@folke amazing!
Thanks for the fast reply, was more to point it out to you, than add a single line of a Lua assignment


.*: Refine the checking of dag request

What problem does this PR solve?
Issue Number: ref #7102
Problem Summary:
What is changed and how it works?

Wrapping tipb::DAGRequest as DB::DAGRequest to mask the difference between list based and tree based.
Add checking of dagrequest and throw exception with badrequest err code.

Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-all-tests

/merge

/merge

/run-integration-test


INFRA Support

Me and a few other people are currently working on a segmented speedrun of INFRA, and we've just realized that there is not a single version of SAR that actually works on INFRA 3.0.9, which is what we're using for the run.
The latest SAR version that doesn't crash is <1.12, and even that one isn't useful because sar_pause along with other "do thing on tick x" commands does not work.
We would be really grateful if someone could update SAR to support INFRA 3.0.9. I can gift the game to whoever is willing to update SAR. Honestly, we don't even need most of SAR's features, just the saveload lag fix and sar_pause along with sar_run_cmd_on_tick_idk. If it's too difficult to add support for INFRA on the current version of SAR, then 1.12 support would be fine as well

Modern SAR is a Portal 2 plugin, and support for other games isn't planned. There is an old SAR version (1.10) that was made for other games, however as SAR has evolved, and really only P2 players were using it, support for other games was removed.
https://github.com/nekzor/sourceautorecord Download version 1.10 for support for other Source games.

Modern SAR is a Portal 2 plugin, and support for other games isn't planned. There is an old SAR version (1.10) that was made for other games, however as SAR has evolved, and really only P2 players were using it, support for other games was removed.
https://github.com/nekzor/sourceautorecord Download version 1.10 for support for other Source games.

The latest version in that repo doesn't even have sar_pause, we can't make a segmented run without autopausing functionality

it makes sense for sar to still support infra since it infra was made on the portal branch

Feel free to fork and add support yourself, but support for other games isn't currently planned.

While it isn't planned, adding or fixing support for more games in general is always appreciated.
Whenever I have time I can look into INFRA specifically (I already have a copy no worries) but no guarantees, I have no idea how far it is from working

Now on master, but leaving issue open for tracking issues. If you have any problems crashing or want new features, let it be known here!


Fill and Duotone Not Working

Hello,
When I try to use the universal script or even the direct CSS, all icons that have fill and duotone do not work but all other weights do. Any ideas?

I suspect it has to do with a bug in the woff2 font format that was added as the default yesterday. These weights were working before the change. I will revert and publish to unblock you while I figure it out. cc @ThatOneCalculator

Before you revert, let me see if I can figure it out really quick

See #20

Published and verified working in v2.0.3 @Garrett-Gizen
https://stackblitz.com/edit/js-2nfd7z?file=index.html,index.js


Howto group a couple of "nodir-clues"?

I tried different ways... But I only managed to get it work with ONE nodir followed by across and down.
This works:
exolve-nodir:
#d4 #e4 #f4 #g4 #h4 #h3 #h2 #h1 #a5 #a4 #a3 #a2 #a1 #b1 #c1 [8], 15a ()
but how to do something like this:
exolve-nodir:
#d4 #e4 #f4 #g4 #h4 #h3 #h2 #h1 #a5 #a4 #a3 #a2 #a1 #b1 #c1 [8], #a7 #b7 #c7 #d7 #e7 #f7 #g7 #h7 #i7 #j7 #j6 #j5 #j4 [13]
?

In this case, why does the nodir clue [13] need to exist at all if it's only a part of [8]? Normally, for a "child" clue, all you would say is something like "See ...(parent clue number)..." which makes sense if the child clue is for a light created by the grid, like an across or down clue.
I mean, why not just do:
exolve-nodir:
#d4 #e4 #f4 #g4 #h4 #h3 #h2 #h1 #a5 #a4 #a3 #a2 #a1 #b1 #c1 #a7 #b7 #c7 #d7 #e7 #f7 #g7 #h7 #i7 #j7 #j6 #j5 #j4 [8], ...
Perhaps I'm missing something :-).. you can point me to an example, perhaps?

Perhaps it all makes more sens if I make a super concrete example. This is a fully working "music quiz" (in swedish :-)
copying swedish national radio concept since the 60-ties. (https://fripp.changeip.org/melodikryss/melodikryss2)
So originally you had this "crossword" published in newspapers and every saturday you listen on the radio and solve it.
So the order of "what to solve" was kind of decided of the speaker/creator.
So in my example  I say (15 minutes in the ogg)  "Now we have 9 down (turning word), 13 across (turning word) and 15 across". We will listen to a song bla bla bla, and I want to have in order "the TV-show this was a theme", "The composer last name", "the composer first name".
So in this example I have three different "lights" (?... I am really not a crossword person... and not good at english..) for ONE song/multi question. So for me it makes sens to have reference numbers for both 9d (turning) and 13a (turning).  And this is how swedish "melodikryss" from national radio handles it.
As you perhaps understand it can be a bit thrilling to remember three different places on the bord when you listen to the question, so that is the reason I think it is brilliant to group them together. When you use the old shchool way on paper I guess the normal procedure is to mark the three lights with pencil when the the question starts.
techically I solved it in the way you suggested. It is just one long:
#d4 #e4 #f4 #g4 #h4 #h3 #h2 #h1  #a5 #a4 #a3 #a2 #a1 #b1 #c1 [], 15a ()
But I pretend it is two different... As long as I hide the xlv1-clues and
xlv1-curr-clue-parent (as you helped me with) it doesn't matter much.
And here my simplified handeling of the lights number (the "[]" at my nodir-lights) doesn't matter much.
But as you can see in my initial experiment
with possibilities to control the listening. (https://fripp.changeip.org/melodikryss/melodikryss2/lost.html), you can see that this will be a bit more important.
No problem for me to include the 9 and 15 in the nodir-questions, but still... I also want the 13 in some way.
Hopefully this makes my demands a bit clearer...
Thanks again!
/Erik S

It was me not understanding the see-concept


Can't delete areas when installing a theme without a grid framework over a theme with grids

I think the issue is this:

install elemental, which has content w/grids
install a theme that has no grid framework support.
Try and delete a grid
https://www.concrete5.org/developers/bugs/8-0-0/unable-to-delete-areas/#857760

I still get this error in v 8.0.2


Fix #362 dispatch LIST_INDEXES_AND_COLLECTION when prepare session

What does this PR do ?
Dispatch LIST_INDEXES_AND_COLLECTION after login when PREPARE_SESSION is called.
How should this be manually tested?

Go to admin console in private navigation
Create environment
Login
Now you can see all indexes and collections, no need to refresh.

Codecov Report

Merging #398 into 2.x will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##              2.x     #398      +/-   ##
==========================================
+ Coverage   85.89%   85.91%   +0.01%
==========================================
  Files          38       38
  Lines         723      724       +1
==========================================
+ Hits          621      622       +1
  Misses        102      102

Impacted Files
Coverage Δ

src/vuex/modules/auth/actions.js
95.74% <100%> (+0.09%)
:arrow_up:

Continue to review full report at Codecov.

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


Read about changes required to make UI responsive

The goal is to find tools/ways/best practices to modify the existing UI so that elements are reasonably spaced and do not overlap when screen size changes.
A good starting point for research would be to take a look at the material design docs on responsive layout: https://m2.material.io/design/layout/responsive-layout-grid.html#columns-gutters-and-margins

A good starting point for research would be to take a look at the material design docs on responsive layout: https://m2.material.io/design/layout/responsive-layout-grid.html#columns-gutters-and-margins

This unfortunately wasn't practical.

I also think it'd be good to expand the issue description to list some questions / things you have/will review here and what behaviour we want solutions for. The list in #122 should be a good source of things to get answers for

I also think it'd be good to expand the issue description to list some questions / things you have/will review here and what behaviour we want solutions for. The list in #122 should be a good source of things to get answers

Yea, let's use the list in the parent issue as the source and not duplicate it here.


configure script fails to detect oracle headers path on Oracle Linux 7

the configure script only searches $ORACLE_HOME/rdbms/public and $ORACLE_HOME/rdbms/demo and fails to find the path:
[...]
checking for Oracle OCI headers location... configure: error: variable not set or unable to guess
currently to compile under OL7 (with latest updates) it needs to have argument --with-oracle-headers-path=/usr/include/oracle/21/client64
the script should also try to parse rpm output about installed oracle-instantclient-devel package, which can result in finding oracle-headers-path  at /usr/include/oracle/*/client64
the rdbms paths appear to originate from oracle documentation about demonstrative programs, however in practice nobody has these folders installed. instead, rpm packages are available from official oracle repositories.
[user@host ocilib-4.7.4]$ yum list installed oracle-i\*
Loaded plugins: ulninfo, versionlock
Installed Packages
oracle-instantclient-basic.x86_64                    <IP_ADDRESS>.0-1  @ol7_oracle_instantclient21
oracle-instantclient-devel.x86_64                   <IP_ADDRESS>.0-1 @ol7_oracle_instantclient21
oracle-instantclient-release-el7.x86_64          1.0-3.el7  @ol7_latest

[user@host ocilib-4.7.4]$ grep ol7_oracle_instantclient21 /etc/yum.repos.d/*
/etc/yum.repos.d/oracle-instantclient-ol7.repo:[ol7_oracle_instantclient21]

[user@host ocilib-4.7.4]$ rpm -qf /etc/yum.repos.d/oracle-instantclient-ol7.repo
oracle-instantclient-release-el7-1.0-3.el7.x86_64

[user@host ocilib-4.7.4]$ rpm -ql oracle-instantclient-devel
/usr/include/oracle
/usr/include/oracle/21
/usr/include/oracle/21/client64
/usr/include/oracle/21/client64/jzndom.h
/usr/include/oracle/21/client64/jznerr.h
/usr/include/oracle/21/client64/jznev.h
/usr/include/oracle/21/client64/jznotn.h
/usr/include/oracle/21/client64/jzntypes.h
/usr/include/oracle/21/client64/ldap.h
/usr/include/oracle/21/client64/nzerror.h
/usr/include/oracle/21/client64/nzt.h
/usr/include/oracle/21/client64/occi.h
/usr/include/oracle/21/client64/occiAQ.h
/usr/include/oracle/21/client64/occiCommon.h
/usr/include/oracle/21/client64/occiControl.h
/usr/include/oracle/21/client64/occiData.h
/usr/include/oracle/21/client64/occiObjects.h
/usr/include/oracle/21/client64/oci.h
/usr/include/oracle/21/client64/oci1.h
/usr/include/oracle/21/client64/oci8dp.h
/usr/include/oracle/21/client64/ociap.h
/usr/include/oracle/21/client64/ociapr.h
/usr/include/oracle/21/client64/ocidef.h
/usr/include/oracle/21/client64/ocidem.h
/usr/include/oracle/21/client64/ocidfn.h
/usr/include/oracle/21/client64/ociextp.h
/usr/include/oracle/21/client64/ocijson.h
/usr/include/oracle/21/client64/ocikpr.h
/usr/include/oracle/21/client64/ociver.h
/usr/include/oracle/21/client64/ocixmldb.h
/usr/include/oracle/21/client64/ocixstream.h
/usr/include/oracle/21/client64/odci.h
/usr/include/oracle/21/client64/orajson.h
/usr/include/oracle/21/client64/oratypes.h
/usr/include/oracle/21/client64/ori.h
/usr/include/oracle/21/client64/orid.h
/usr/include/oracle/21/client64/orl.h
/usr/include/oracle/21/client64/oro.h
/usr/include/oracle/21/client64/ort.h
/usr/include/oracle/21/client64/xa.h
/usr/lib/oracle
/usr/lib/oracle/21
/usr/lib/oracle/21/client64
/usr/lib/oracle/21/client64/lib
/usr/lib/oracle/21/client64/lib/ottclasses.zip
/usr/share/oracle
/usr/share/oracle/21
/usr/share/oracle/21/client64
/usr/share/oracle/21/client64/admin
/usr/share/oracle/21/client64/admin/oraaccess.xsd
/usr/share/oracle/21/client64/demo
/usr/share/oracle/21/client64/demo/cdemo81.c
/usr/share/oracle/21/client64/demo/demo.mk
/usr/share/oracle/21/client64/demo/occidemo.sql
/usr/share/oracle/21/client64/demo/occidemod.sql
/usr/share/oracle/21/client64/demo/occidml.cpp
/usr/share/oracle/21/client64/demo/occiobj.cpp
/usr/share/oracle/21/client64/demo/occiobj.typ
/usr/share/oracle/21/client64/demo/oraaccess.xml
/usr/share/oracle/21/client64/demo/ott
/usr/share/oracle/21/client64/demo/setuporamysql.sh
/usr/share/oracle/21/client64/doc
/usr/share/oracle/21/client64/doc/SDK_LICENSE
/usr/share/oracle/21/client64/doc/SDK_README

If anyone picks this task up, PHP OCI8 could be an example to look at https://github.com/php/php-src/blob/master/ext/oci8/config.m4 (or older versions).


Elyra container image that was built from master fails with webbrowser.Error: could not locate runnable browser

Describe the issue
See error message
To Reproduce
Steps to reproduce the behavior:

git clone https://github.com/elyra-ai/elyra.git
cd elyra
make container-image
docker run -it -p 8888:8888 elyra/elyra:dev jupyter lab

Screenshots or log output
If applicable, add screenshots or log output to help explain your problem.
Log Output

**Note: Removing dead /tmp/elyra/packages/python-editor "@elyra/theme-extension"
**Note: Removing dead /tmp/elyra/packages/python-editor "@elyra/code-snippet-extension"
**Note: Removing dead /tmp/elyra/packages/python-editor "@elyra/metadata-extension"
**Note: Removing dead /tmp/elyra/packages/python-editor "@elyra/pipeline-editor-extension"
**Note: Removing dead /tmp/elyra/packages/python-editor "@elyra/python-editor-extension"
**Note: Removing dead /tmp/elyra/packages/metadata-common "@elyra/services"
**Note: Removing dead /tmp/elyra/packages/metadata-common "@elyra/ui-components"
**Note: Removing dead /tmp/elyra/packages/metadata-common "@elyra/metadata-common"
Removing orphaned linked package @elyra/services
Removing orphaned linked package @elyra/metadata-common
Removing orphaned linked package @elyra/ui-components
Generating grammar tables from /opt/conda/lib/python3.8/site-packages/blib2to3/Grammar.txt
Writing grammar tables to /home/jovyan/.cache/black/20.8b1/Grammar3.8.6.final.0.pickle
Writing failed: [Errno 2] No such file or directory: '/home/jovyan/.cache/black/20.8b1/tmprft725mx'
Generating grammar tables from /opt/conda/lib/python3.8/site-packages/blib2to3/PatternGrammar.txt
Writing grammar tables to /home/jovyan/.cache/black/20.8b1/PatternGrammar3.8.6.final.0.pickle
Writing failed: [Errno 2] No such file or directory: '/home/jovyan/.cache/black/20.8b1/tmpj2jpmoq0'
[I 2021-02-22 16:37:21.296 ServerApp] elyra | extension was successfully linked.
[I 2021-02-22 16:37:21.296 ServerApp] jupyter_lsp | extension was successfully linked.
[I 2021-02-22 16:37:21.296 ServerApp] jupyter_resource_usage | extension was successfully linked.
[I 2021-02-22 16:37:21.314 ServerApp] jupyterlab | extension was successfully linked.
[I 2021-02-22 16:37:21.314 ServerApp] jupyterlab_git | extension was successfully linked.
[W 2021-02-22 16:37:21.321 NotebookApp] 'ip' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release.
[W 2021-02-22 16:37:21.321 NotebookApp] 'port' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release.
[W 2021-02-22 16:37:21.322 NotebookApp] 'port' has moved from NotebookApp to ServerApp. This config will be passed to ServerApp. Be sure to update your config before our next release.
[I 2021-02-22 16:37:21.330 ServerApp] Writing notebook server cookie secret to /home/jovyan/.local/share/jupyter/runtime/jupyter_cookie_secret
[I 2021-02-22 16:37:21.776 ServerApp] nbgitpuller | extension was found and enabled by nbclassic. Consider moving the extension to Jupyter Server's extension paths.
[I 2021-02-22 16:37:21.776 ServerApp] nbgitpuller | extension was successfully linked.
[I 2021-02-22 16:37:21.776 ServerApp] nbclassic | extension was successfully linked.
[I 2021-02-22 16:37:21.776 ServerApp] nbdime | extension was successfully linked.
[I 2021-02-22 16:37:21.879 ServerApp] Registering processor "EntryPoint('airflow', 'elyra.pipeline.processor_airflow', 'AirflowPipelineProcessor', Distribution('elyra', '2.1.0.dev0'))" with type -> airflow
[I 2021-02-22 16:37:21.880 ServerApp] Registering processor "EntryPoint('kfp', 'elyra.pipeline.processor_kfp', 'KfpPipelineProcessor', Distribution('elyra', '2.1.0.dev0'))" with type -> kfp
[I 2021-02-22 16:37:21.880 ServerApp] Registering processor "EntryPoint('local', 'elyra.pipeline.processor_local', 'LocalPipelineProcessor', Distribution('elyra', '2.1.0.dev0'))" with type -> local
[I 2021-02-22 16:37:21.881 ServerApp] elyra | extension was successfully loaded.
[I 2021-02-22 16:37:22.015 ServerApp] jupyter_lsp | extension was successfully loaded.
[I 2021-02-22 16:37:22.016 ServerApp] jupyter_resource_usage | extension was successfully loaded.
[I 2021-02-22 16:37:22.018 LabApp] JupyterLab extension loaded from /opt/conda/lib/python3.8/site-packages/jupyterlab
[I 2021-02-22 16:37:22.018 LabApp] JupyterLab application directory is /opt/conda/share/jupyter/lab
[I 2021-02-22 16:37:22.022 ServerApp] jupyterlab | extension was successfully loaded.
[I 2021-02-22 16:37:22.025 ServerApp] jupyterlab_git | extension was successfully loaded.
[I 2021-02-22 16:37:22.031 ServerApp] nbclassic | extension was successfully loaded.
[I 2021-02-22 16:37:22.148 ServerApp] nbdime | extension was successfully loaded.
[I 2021-02-22 16:37:22.150 ServerApp] nbgitpuller | extension was successfully loaded.
[I 2021-02-22 16:37:22.150 ServerApp] Serving notebooks from local directory: /home/jovyan
[I 2021-02-22 16:37:22.150 ServerApp] Jupyter Server 1.4.0 is running at:
[I 2021-02-22 16:37:22.150 ServerApp] http://1e2862c63702:8888/lab?token=fb52cde7485ba71eb37faa862296b58e7a0d0dc17ff56020
[I 2021-02-22 16:37:22.151 ServerApp]  or http://<IP_ADDRESS>:8888/lab?token=fb52cde7485ba71eb37faa862296b58e7a0d0dc17ff56020
[I 2021-02-22 16:37:22.151 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
Traceback (most recent call last):
  File "/opt/conda/lib/python3.8/site-packages/jupyter_server/serverapp.py", line 2018, in launch_browser
    browser = webbrowser.get(self.browser or None)
  File "/opt/conda/lib/python3.8/webbrowser.py", line 65, in get
    raise Error("could not locate runnable browser")
webbrowser.Error: could not locate runnable browser
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/conda/bin/jupyter-lab", line 8, in
sys.exit(main())
File "/opt/conda/lib/python3.8/site-packages/jupyter_server/extension/application.py", line 520, in launch_instance
serverapp.start()
File "/opt/conda/lib/python3.8/site-packages/jupyter_server/serverapp.py", line 2100, in start
self.start_app()
File "/opt/conda/lib/python3.8/site-packages/jupyter_server/serverapp.py", line 2059, in start_app
self.launch_browser()
File "/opt/conda/lib/python3.8/site-packages/jupyter_server/serverapp.py", line 2020, in launch_browser
self.log.warning(('No web browser found: %s.') % e)
UnboundLocalError: local variable '' referenced before assignment

Expected behavior
A clear and concise description of what you expected to happen.
Deployment information
Describe what you've deployed and how:

Elyra version: 2.1 (master branch)
Operating system: macos
Installation source: custom container image built from master
Deployment type: Docker, Kubernetes

Note the Removing dead ... messages, which I have never seen before. I don't think they are the root cause of this issue but need to be looked at.

This is due to a recent issue in Jupyter Server.  A patch release is being cut today.

Workaround: run the container image as follows:
docker run -it -p 8888:8888 elyra/elyra:dev jupyter lab --no-browser

After building the image with Jupyter Serve 1.4.1, the following is produced:
[I 2021-02-22 19:49:58.260 ServerApp] Jupyter Server 1.4.1 is running at:
[I 2021-02-22 19:49:58.260 ServerApp] http://22ae9e4be9e9:8888/lab?token=b5c5ff906eb461472d98ed26986572bbcbd9a403027cda29
[I 2021-02-22 19:49:58.260 ServerApp]  or http://<IP_ADDRESS>:8888/lab?token=b5c5ff906eb461472d98ed26986572bbcbd9a403027cda29
[I 2021-02-22 19:49:58.260 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 2021-02-22 19:49:58.267 ServerApp] No web browser found: could not locate runnable browser.
[C 2021-02-22 19:49:58.268 ServerApp]

    To access the server, open this file in a browser:
        file:///home/jovyan/.local/share/jupyter/runtime/jpserver-8-open.html
    Or copy and paste one of these URLs:
        http://22ae9e4be9e9:8888/lab?token=b5c5ff906eb461472d98ed26986572bbcbd9a403027cda29
     or http://<IP_ADDRESS>:8888/lab?token=b5c5ff906eb461472d98ed26986572bbcbd9a403027cda29

No browser starts up, but no exception occurs either.  If I copy the posted URL to a browser, JLab and Elyra appear and are usable.
I do see what looks like something related to the git extension producing the following after posting the URL...
possible git extension issue?

[E 2021-02-22 20:02:26.057 ServerApp] {
      "Host": "<IP_ADDRESS>:8888",
      "Connection": "keep-alive",
      "Content-Length": "19",
      "Sec-Ch-Ua": "\"Chromium\";v=\"88\", \"Google Chrome\";v=\"88\", \";Not A Brand\";v=\"99\"",
      "Authorization": "token cfe59f7ffd36fb9631296906a36ab954214e416abcd36090",
      "X-Xsrftoken": "2|dbd7acf4|36f371db221f5d8e10a5499e0e9001a2|1614024050",
      "Sec-Ch-Ua-Mobile": "?0",
      "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36",
      "Content-Type": "text/plain;charset=UTF-8",
      "Accept": "*/*",
      "Origin": "http://<IP_ADDRESS>:8888",
      "Sec-Fetch-Site": "same-origin",
      "Sec-Fetch-Mode": "cors",
      "Sec-Fetch-Dest": "empty",
      "Referer": "http://<IP_ADDRESS>:8888/lab",
      "Accept-Encoding": "gzip, deflate, br",
      "Accept-Language": "en-US,en;q=0.9",
      "Cookie": "_xsrf=2|dbd7acf4|36f371db221f5d8e10a5499e0e9001a2|1614024050; username-127-0-0-1-8888=\"2|1:0|10:1614024146|23:username-127-0-0-1-8888|44:NWQ4OTE4NGE5YTgyNDE0MDg2NmViMDQyYWMzYzEyNDQ=|eb13baae7544330e782de80be87096868328dbd9f44496e17d8a4981f3d989c3\"",
      "Sec-Gpc": "1"
    }
[E 2021-02-22 20:02:26.057 ServerApp] 500 POST /git/show_top_level?1614024146045 (<IP_ADDRESS>) 12.22ms referer=http://<IP_ADDRESS>:8888/lab

but I haven't used Elyra recently enough to know if this is specific to new behavior in Jupyter Server or not.
@ptitzler - could you please advise?

I am running with Jupyter server 1.2.2 and git 0.30.0b1 and am observing the same error message., which appears to be a known problem: https://github.com/jupyterlab/jupyterlab-git/issues/842.
I think we can go ahead and close this issue. Thanks for verifying Kevin!


Display organizational logo

When you log in, your dashboard looks something like this:

After you attach a logo, the dashboard updates to include the new diaperbank logo in the navbar and on the page. As seen below:

We need to update the navbar keep the diaperbase logo when an organization uploads a logo.

Fixed by #114


[Hexagon] Handle TCP server binding to unknown port

The server IP address will be obtained from the RPC tracker, but multiple servers must be distinguishable. To enable this, set a unique key when starting a server, and use that key when starting a session.
cc @mehrdadh

To add more context here: the RPC server will connect to a first available port in some range (which typically starts at 7070).  If there are two servers running on the same machine, one of them will get 7070, and the other 7071.  The clients will not know the actual port, instead they will query the RPC tracker for a server with a given device key.  Since the Hexagon RPC server always used the same key, the tracker could not distinguish between the one bound to 7070, and the one bound to 7071.  To avoid this ambiguity, make the device key unique (by attaching the PID of the process creating it to it).

cc: @masahi


Bug Report: charter not using correct amount of squares in charting

OS: Windows 10 x86_64
on version 1.6
the amount of squares in the charter doesnt make sense half the time (eg, bpm 220, zoom 1.0 has 50 squares) and normal 1/4 and 1/8 notes are off squares at times

Press "remove event" at the start of the chart, it should remove it and place BPM you set

Press "remove event" at the start of the chart, it should remove it and place BPM you set

tried that, charting is still confusing


Inherit text size from parent Text element

Is your feature request related to a problem? Please describe.
I've noticed that I am repeating text sizes all over the place when I am placing an icon next to another Text element. I'm working on setting up common text style variants, and it would be really convenient if that worked to specify the icon size, too.
Describe the solution you'd like
I'd like Icons to inherit the parent text size if it's nested in a Text component, and no size prop is passed to the Icon element.
Describe alternatives you've considered
I considered using styles, but that seems error-prone if the user forgets to use them.
Additional context
None

If you set size={null}, the icon will avoid applying the default fontSize. If you wrap that icon in a Text component, the icon should inherit its size.
<Text style={{fontSize: 24}}>
  <Icon name="alert" size={null} />
</Text>

Note: If you're enforcing types with Typescript, the style prop will complain because null isn't a number. Possible solutions:

Suppress the type error
Open a PR to allow null as a valid size prop value
pass style={{fontSize: undefined}} instead of size={null}. undefined is a valid fontSize style value and works on RN iOS and Android, but not when using React Native Web; RNW must handle undefined style values differently.

We’ve just released a major new version with significant changes and improvements. If you’re still experiencing this issue after upgrading, please open a new issue with updated details. We're closing all the very old issues to get on top of things. Thanks for your patience!


docs: add pages for each component and review structure

Review page Components structure
Add a page for each component

Component documentation will be in those pages

Renamed the PR title with docs:  prefix.


Error: Cannot reach Remix dev server at localhost:3001/ping

Reproduction
bun run dev on a new remix project
System Info
System:
    OS: macOS 14.1.2
    CPU: (8) arm64 Apple M1
    Memory: 1.00 MB / 8.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Yarn: 1.22.21 - ~/.bun/bin/yarn
    npm: 1.0.21 - ~/.bun/bin/npm
    pnpm: 8.10.2 - ~/node_modules/.bin/pnpm
    bun: 1.0.30 - ~/.bun/bin/bun
  Browsers:
    Safari: 17.1.2
  npmPackages:
    @remix-run/css-bundle: ^2.8.1 => 2.8.1
    @remix-run/dev: ^2.8.1 => 2.8.1
    @remix-run/node: ^2.8.1 => 2.8.1
    @remix-run/react: ^2.8.1 => 2.8.1
    @remix-run/serve: ^2.8.1 => 2.8.1

Used Package Manager
npm
Expected Behavior
server to run
Actual Behavior
Could not reach Remix dev server at http://localhost:3001/ping
111 | 			// @ts-expect-error - err may not be SystemError
112 | 			reject(new FetchError(request to ${request.url} failed, reason: ${err.message}, 'system', err));
113 | 			finalize();
114 | 		});
115 |
116 | 		fixResponseChunkedTransferBadEnding(request_, err => {
^
error: request to http://localhost:3001/ping failed, reason: Can only call URLSearchParams.toJSON on instances of URLSearchParams
code: "undefined"

Can you provide a reproduction or a git repo?  I just created a new app via create-remix and it runs OK for me locally on node 20 and bun 1.0.33.

I don't have node on my machine

Can you provide a reproduction or dig further into where the error is coming from?  It is coming from bun?  Or a nested dependency?  Remix never calls a .toJSON method as far as I can tell in the codebase.

I am also getting this:
  at object.<anonymous> (./node_modules/@remix-run/web-fetch/src/fetch.js:116:3)
  at _final (native:1:1)
  at callFinal (native:1:1)
  at prefinish (native:1:1)
  at finishMaybe (native:1:1)
  at native:1:1
  at onend (native:1:1)
  at endReadableNT (native:1:1)
  at processTicksAndRejections (native:1:1)

Those Remix web-fetch polyfills are only intended for node usage - bun should have built in fetch APIs so you shouldn't need to install the polyfills which remix-serve does by default.  I would use a custom express (or other) server and avoid calling installGlobals so you use bun's built in fetch APIs instead of the Remix polyfills.
Something like this is probably closest to what you want if you want to use Bun's raw HTTP server: https://github.com/mcansh/remix-node-http-server


Create tutorials for setting up and using eos components

This is the list of tutorials initially assigned to @dskvr .

[x] Tutorial for Block Producer: EOS Environment Setup
[x] Tutorial for Block Producer: Network Setup
[x] Tutorial for Block Producer: Produce Blocks
[x] Tutorial for Smart Contract Developer: EOS Environment Setup
[ ] Tutorial for User: Manage Permissions
[x] Tutorial for User: Manage Wallet

Current thinking is to write these in Markdown and store in Github.
If any of these tutorials gets split out from the others, please create new Issues, one per owner or one per tutorial as you see fit and reference this Issue.

I hit issues with Docker limitations and am rebuilding. Moving over to priority Issue for now.

Closing this meta issue as the "Tutorial for User: Manage Permissions" portion is now STAT-56, Github #640.


add zennies_for_zingo bool to SendAll and SpendableBalance

to send_all and spendable_balance commands
Fixes: #1233 (with help from zingo-mobile)

@Oscar-Pepper reviewed by phone!


In VoyagerServiceProvider.php line 87: Class 'App\User' not found

Laravel Version: 5.5
Voyager Version: 1.0.15
PHP Version: 7
Database Driver & Version: MySQL 5.7

Description:
After adding package I get the following error message. My model is located in a a subfolder Models as identified in side auth.php file
'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
    ],

Error Message
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover

In VoyagerServiceProvider.php line 87:

  Class 'App\User' not found

Steps To Reproduce:
Run composer require tcg/voyager
No config\voyager.php file was created after running composer require tcg/voyager.
php artisan voyager:install also produce the same error message.

You have to change the user model in config/voyager.php, under user at namespace: https://github.com/the-control-group/voyager/blob/1.0/src/VoyagerServiceProvider.php#L86
config/voyager.php is created when running artisan voyager:install, not by running composer.  As a temporary solution, you can move the model back or create a new one in the expected location, publish the config file (artisan vendor:publish --tag=config: https://github.com/the-control-group/voyager/blob/1.0/src/VoyagerServiceProvider.php#L247), then change it and delete your temporary model.  Once the config is correct, you can run artisan voyager:install


File is not a valid cf CLI plugin binary

Command
cf install-plugin .\pcfdev-v0.26.0+PCF1.10.0-windows.exe
What occurred
Attention: Plugins are binaries written by potentially untrusted authors.
Install and use plugins at your own risk.
Do you want to install the plugin .\pcfdev-v0.26.0+PCF1.10.0-windows.exe? [yN]: y
y
dial tcp <IP_ADDRESS>:43004: socket: An invalid argument was supplied.
exit status 1
File is not a valid cf CLI plugin binary.
FAILED
What you expected to occur
The plugin to install
CLI Version
6.28.0+9e024bd.2017-06-27
CC API Endpoint Version
No api set
CF Trace
dial tcp <IP_ADDRESS>:12130: An invalid argument was supplied.
exit status 1
File is not a valid cf CLI plugin binary.
FAILED
Platform & Shell Details
Wndows 7 64 bit Enterprise

Powershell
normal command prompt
MINGW32

Any other relevant information
I've seen the issue with both a plugin I downloaded and a different one that it automatically downloaded from the CF-Community repository. I already submitted an issue to CF-Dev but then realized its broader then that extension.
In searching through other issues it sounds like this one is similar.

Hi @sorvis
Yes, that issue looks the same. And our issue is the same: we were not able to reproduce it and without access to the source code we were not able to investigate deeper.
Can you provide the full output of this issue with a plugin that source code is available for, such as one from the CF-Community plugin repository?
Cheers,
Dies Koper
CF CLI PM

Hi Dies,
I am able to reproduce this with other plugins:
PS C:\Users\sorvis\Downloads\pcfdev-v0.26.0+PCF1.10.0-windows> cf install-plugin -r CF-Community "Live Stats" Searching CF-Community for plugin Live Stats... Plugin Live Stats 1.0.0 found in: CF-Community Attention: Plugins are binaries written by potentially untrusted authors. Install and use plugins at your own risk. Do you want to install the plugin Live Stats? [yN]: y y Starting download of plugin binary from repository CF-Community...  7.64 MiB / 7.64 MiB [=====================================================================================] 100.00% 0s dial tcp <IP_ADDRESS>:44194: An invalid argument was supplied. exit status 1 File is not a valid cf CLI plugin binary. FAILED

@sorvis I suspect this is some kind Windows firewall issue?.. I would check the firewall rules to allow connections to <IP_ADDRESS> from your CLI process.
This is the output of the command in my Windows environment:
PS C:\Users\IEUser\Downloads> .\cf.exe install-plugin -r CF-Community "Live Stats"
Searching CF-Community for plugin Live Stats...
Plugin Live Stats 1.0.0 found in: CF-Community
Attention: Plugins are binaries written by potentially untrusted authors.
Install and use plugins at your own risk.
Do you want to install the plugin Live Stats? [yN]: y
y
Starting download of plugin binary from repository CF-Community...
 7.64 MiB / 7.64 MiB [=====================================================================================] 100.00% 0s
Installing plugin Live Stats...
OK
Plugin Live Stats N/A successfully installed.
PS C:\Users\IEUser\Downloads> .\cf.exe  -v
cf.exe version 6.28.0+9e024bd.2017-06-27

@mariash Can you explain what port(s)/protocols would possibly need to be open to install a plug-in?  Every time it fails, the port number reported in the error is different.  I setup a simple tcp socket application on the box which is failing to listen and make a connection on "localhost".  This worked without issue.  So I really have trouble with the concept of the issue being some kind of "firewall" issue.  What is the plugin installation trying to communicate with?

@AubieDawg92 Please take a look at the plugin architecture documentation here.
My understanding here is:

cf install-plugin downloaded the plugin binary and now wants to execute it to retrieve its metadata (plugin name, commands, command help, minimum CLI version, ...) to complete the installation process.
To retrieve this metadata, the CLI starts a (Golang) RPC server on a random port on localhost and invokes the plugin binary. To the plugin binary it passes the RPC server connection details.
I'm assuming the cf CLI is failing to start the RPC server because it cannot open a socket to the port, hence failing to complete plugin installation.

 There are also various reports of Golang bugs, hence first trying to rule out any environment issues.
BTW, do you get the same issue on every installation attempt? Does each attempt display a different port number in the error message? If you have managed to install any CLI plugins successfully, do any fail ever with a similar error when executing a plugin command?

@dkoper Every installation attempt fails and displays a different port number.  I have not managed to install a plugin.  I tried monitoring the process with netsh and I do see a number of ports being opened; however, the ultimate reported port number in the error message is not one of the ports which gets opened.

Thanks for that. We made a lot of improvements to the plugin experience in cf CLI 6.27.0. Have you tried an older version, see if we broke something?

@AubieDawg92 Can you please try installing this plugin on a different machine? One without windows firewall enabled? Also can you attempt the same on a non-Windows machine? Hopefully we can narrow down if this is an environment/platform, CLI code, or plugin code issue.

@sorvis @AubieDawg92 @tryingT
As we can't reproduce the issue locally, we're flying blind.
Issues reported in the Golang tracker indicate causes could be a Windows firewall, or possibly a Golang issue on Windows where ports are not closed properly (hence the request above to try on another machine, or when it occurs, reboot your machine and try again straight after (ensuring ports are closed)).
Based on those results, we could try writing a small test application that does the bare minimum of starting an RPC server using the same APIs the cf CLI uses and see if we can pinpoint the issue, perhaps even find a simple reproducible test case we can share with the Golang developers.
Regardless, we'll need some effort, and patience, on your side to help us with that.
Closing this issue for now for lack of response.
I invite anyone who can reproduce this issue and has the time to investigate this with us, to re-open this issue and reach out. Thanks!

Has any progress been made on this issue? I am experiencing the same on Windows.

@rowland66 @clazarrr We couldn't reproduce it. If you can reproduce this on the latest cf CLI release and have the time to investigate this with us, please re-open this issue and reach out to us.


Add a utility function to always return the top left position (in pixel coordinates) of a Camera.

Merged https://github.com/PurpleKingdomGames/indigo/pull/282


Update email HTML templates

@hammerfunk can we use the following HTML template for Emails, might need to tweak it for QAE.
https://gist.github.com/edwardhorsford/140fd844b13cfe1e4d2e

make sure we include govuk_logotype_email.png in our repo - and don't link to heroku.


Fixed condition of is_centered

It seems condition of 'is_centered' is wrong.
I'd appreciate it if you could merge this fix.
Thanks,

Thank you for the fix!


Feat. Req.: Local currency conversion (display only)

Suggestion that came in on Discord:
The same way that we can see how much our UST is worth in the local currency (EURO/EUT, etc.), display the same kind of feature on the Anchor Web App, so we can see how much our deposits, collaterals, etc. are worth.

@Chinoman10 I sent this issue to our service planning team.
I'll let you know when I get their answer.
Thanks!

@Chinoman10 ,
Thanks for the suggestion, but as of now this is a feature that we are not considering to develop, given our development plans. Since the market is in UST, we are only considering USD as denominations at the moment.
Thanks again!


type? should support any available class

Given I have a class named Acme::Catalog
When I use required(:catalog).value(type?: Catalog) within module Acme
Then it should validate that catalog.is_a? Acme::Catalog
Currently I get Nothing registered with the key "acme.catalog" (Dry::Container::Error)

This is working on master now. Closing...

Hi! I'm experiencing the same problem, I believe.
Here is the validation:
require 'core/validation/form'

module App::Shared
  module Validations
    FormDataFile = Core::Validation.Form do
      required(:filename).filled(:str?)
      required(:type).filled(:str?)
      required(:tempfile).value(type?: File) # { filled? & type?(File) }
      optional(:head).filled(:str?)
    end
  end
end

Note: Core::Validation.Form is our wrapper that provides some coomon configuration. If I change the Core::Validation.Form to Dry::Validation.Form result would be the same.
Here is the part of a backtrace that may help:
Dry::Container::Error: Nothing registered with the key "file"
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-container-0.6.0/lib/dry/container/resolver.rb:22:in `block in call'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-container-0.6.0/lib/dry/container/resolver.rb:21:in `fetch'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-container-0.6.0/lib/dry/container/resolver.rb:21:in `call'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-container-0.6.0/lib/dry/container/mixin.rb:112:in `resolve'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-container-0.6.0/lib/dry/container/mixin.rb:125:in `[]'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-types-0.9.4/lib/dry/types.rb:82:in `block in []'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.4/lib/concurrent/map.rb:133:in `block in fetch_or_store'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.4/lib/concurrent/map.rb:122:in `fetch'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.4/lib/concurrent/map.rb:132:in `fetch_or_store'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-types-0.9.4/lib/dry/types.rb:73:in `[]'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-types-0.9.4/lib/dry/types/compiler.rb:30:in `visit_type'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-types-0.9.4/lib/dry/types/compiler.rb:15:in `visit'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-types-0.9.4/lib/dry/types/compiler.rb:75:in `visit_key'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-types-0.9.4/lib/dry/types/compiler.rb:15:in `visit'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-types-0.9.4/lib/dry/types/compiler.rb:80:in `block in merge_with'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-types-0.9.4/lib/dry/types/compiler.rb:80:in `map'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-types-0.9.4/lib/dry/types/compiler.rb:80:in `merge_with'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-types-0.9.4/lib/dry/types/compiler.rb:58:in `visit_form_hash'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-types-0.9.4/lib/dry/types/compiler.rb:28:in `visit_type'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-types-0.9.4/lib/dry/types/compiler.rb:15:in `visit'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-types-0.9.4/lib/dry/types/compiler.rb:11:in `call'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-validation-0.10.5/lib/dry/validation/input_processor_compiler.rb:16:in `call'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-validation-0.10.5/lib/dry/validation/schema/deprecated.rb:14:in `input_processor'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-validation-0.10.5/lib/dry/validation/schema/class_interface.rb:164:in `default_options'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-validation-0.10.5/lib/dry/validation/schema/class_interface.rb:35:in `new'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/dry-validation-0.10.5/lib/dry/validation.rb:23:in `Schema'
  /Users/danny/dev/enbro_crm/lib/core/validation/form.rb:75:in `Form'
  /Users/danny/dev/enbro_crm/lib/app/shared/validations/form_data_file.rb:5:in `<module:Validations>'
  /Users/danny/dev/enbro_crm/lib/app/shared/validations/form_data_file.rb:4:in `<module:Shared>'
  /Users/danny/dev/enbro_crm/lib/app/shared/validations/form_data_file.rb:3:in `<top (required)>'
  /Users/danny/dev/enbro_crm/lib/app/suppliers/operations/import_prices.rb:2:in `require'
  /Users/danny/dev/enbro_crm/lib/app/suppliers/operations/import_prices.rb:2:in `<top (required)>'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/bundler/gems/dry-system-bd16cd842756/lib/dry/system/lifecycle.rb:99:in `require'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/bundler/gems/dry-system-bd16cd842756/lib/dry/system/lifecycle.rb:99:in `public_send'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/bundler/gems/dry-system-bd16cd842756/lib/dry/system/lifecycle.rb:99:in `method_missing'
  /Users/danny/dev/enbro_crm/system/boot/operations.rb:5:in `block (2 levels) in <top (required)>'
  /Users/danny/dev/enbro_crm/system/boot/operations.rb:4:in `each'
  /Users/danny/dev/enbro_crm/system/boot/operations.rb:4:in `block in <top (required)>'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/bundler/gems/dry-system-bd16cd842756/lib/dry/system/lifecycle.rb:43:in `instance_exec'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/bundler/gems/dry-system-bd16cd842756/lib/dry/system/lifecycle.rb:43:in `initialize'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/bundler/gems/dry-system-bd16cd842756/lib/dry/system/lifecycle.rb:29:in `new'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/bundler/gems/dry-system-bd16cd842756/lib/dry/system/lifecycle.rb:29:in `block in new'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.4/lib/concurrent/map.rb:133:in `block in fetch_or_store'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.4/lib/concurrent/map.rb:122:in `fetch'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/concurrent-ruby-1.0.4/lib/concurrent/map.rb:132:in `fetch_or_store'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/bundler/gems/dry-system-bd16cd842756/lib/dry/system/lifecycle.rb:28:in `new'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/bundler/gems/dry-system-bd16cd842756/lib/dry/system/booter.rb:70:in `call'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/bundler/gems/dry-system-bd16cd842756/lib/dry/system/booter.rb:45:in `boot'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/bundler/gems/dry-system-bd16cd842756/lib/dry/system/booter.rb:59:in `boot!'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/bundler/gems/dry-system-bd16cd842756/lib/dry/system/container.rb:268:in `boot!'
  /Users/danny/dev/enbro_crm/system/boot.rb:20:in `block in <top (required)>'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/bundler/gems/dry-system-bd16cd842756/lib/dry/system/container.rb:246:in `finalize!'
  /Users/danny/dev/enbro_crm/system/boot.rb:4:in `<top (required)>'
  /Users/danny/dev/enbro_crm/config/system.rb:9:in `require_relative'
  /Users/danny/dev/enbro_crm/config/system.rb:9:in `<top (required)>'
  /Users/danny/dev/enbro_crm/config/environment.rb:2:in `require_relative'
  /Users/danny/dev/enbro_crm/config/environment.rb:2:in `<top (required)>'
  /Users/danny/dev/enbro_crm/spec/spec_helper.rb:16:in `require_relative'
  /Users/danny/dev/enbro_crm/spec/spec_helper.rb:16:in `<top (required)>'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.4/lib/rspec/core/configuration.rb:1394:in `require'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.4/lib/rspec/core/configuration.rb:1394:in `block in requires='
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.4/lib/rspec/core/configuration.rb:1394:in `each'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.4/lib/rspec/core/configuration.rb:1394:in `requires='
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.4/lib/rspec/core/configuration_options.rb:112:in `block in process_options_into'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.4/lib/rspec/core/configuration_options.rb:111:in `each'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.4/lib/rspec/core/configuration_options.rb:111:in `process_options_into'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.4/lib/rspec/core/configuration_options.rb:21:in `configure'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:99:in `setup'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:86:in `run'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:71:in `run'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:45:in `invoke'
  /Users/danny/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.4/exe/rspec:4:in `<top (required)>'
  /Users/danny/.rbenv/versions/2.4.0/bin/rspec:22:in `load'
  /Users/danny/.rbenv/versions/2.4.0/bin/rspec:22:in `<top (required)>'

I ran into this on 0.12.1 today. Any updates or workarounds?
Should this issue be bumped to a different newer milestone?
/cc @flash-gordon

@tylerhunt yeah, I think something like this should work

module Types
  include Dry::Types.module
end

Schema = Dry::Validation.Schema do
  required(:foo).filled(Types::Instance(DateTime).constrained(lt: DateTime.now))
end

This will work fine in the next release with the type? predicate, as in,
required(:custom).filled(type?: Custom)


Multiple checkboxes

I was trying to write a preset for blood donor centers. The tagging scheme is easy to apply manually, but I'm struggling to make the part about which blood components are collected look clear in iD. I was thinking of this:

But I didn't find a field type that looks like this. (It's like a hybrid of access and check.)
Would it be OK if I tried to make it? What name should it have? Something like "multipleCheck"?

For that I'd use the multiselect field that we added in #3080:
example: https://github.com/openstreetmap/iD/pull/3080#issuecomment-215933840

I did consider this, but it feels a bit odd. When I'm mapping a donor center, do I have to search for all components I can donate there?
Also, you have to be able to express that you cannot donate a specific component there (e.g. blood:platelets=no). Unlike recycling:*=yes it defaults to unknown, even when some components are given.

I did consider this, but it feels a bit odd. When I'm mapping a donor center, do I have to search for all components I can donate there?

We wrote the multiselect field in a way that (like combo fields) it can either be a fixed list of values or use free-tagging with suggestion from taginfo.

Also, you have to be able to express that you cannot donate a specific component there  (e.g. blood:platelets=no).

Yes that's true.  I'm ok about this.  I think data consumers should just assume 'no' if a thing is not tagged with a 'yes'.  Encouraging users to tag the 'no's is unnecessary.

Encouraging users to tag the 'no's is unnecessary.

I guess you're proposing to make no distinction between no and unknown. Or would you use blood:platelets=unknown? (not intended cynically)
I have mapped blood donor centers without knowing whether you can have stem cell samples taken there, and I quite like the fact that absent=unknown.

In iD's multiselect fields we're only supporting yes.  It's ok if people want to use the raw tag editor to add no or other values.  But our main goal is getting people to tag the yes values (and not being confusing to new users).

I guess you're proposing to make no distinction between no and unknown.

These tags in osm can contain other values like maybe, sometimes, false, 1, etc, so it's easier for iD to just ignore anything thats not yes.   I'm not proposing anything, but if I were a data consumer, I would probably ignore anything that's not yes  (like blood:platelets=unknown).

If I were a data consumer, I'd ignore everything that's not either yes or no. I'd of course ignore no as well if my user wants to search for a facility where he can donate e.g. plasma.
There are other uses though. If my user wants to see information about a facility, and no tag is present, I don't know what I should tell him.

I could interpret it as no, possibly giving him false information and hoping he doesn't rely on it.
Alternatively I could say "unknown". Suppose this user then feels the urge to go mapping, in iD he won't find a way to add the information, even though I had to tell him the information is missing.
Something in between, being intentionally vague. This is not user-friendly for my user.

But I hear you, you want to keep things simple for mappers, so as not to scare new contributors away, and that's a good thing too of course. Personally I think in this particular case 4 checkboxes with yes/no/unknown is very clear.

But I hear you, you want to keep things simple for mappers, so as not to scare new contributors away, and that's a good thing too of course.

Are you ok if I add the field as a multiselect (like recycling), just to close this out quickly?

There are other uses though. If my user wants to see information about a facility, and no tag is present, I don't know what I should tell him.

Tell them to assume the value is no if no tag is present.

Are you ok if I add the field as a multiselect (like recycling), just to close this out quickly?

Okay. I can make the preset and prepare a PR if you'd like.

Okay. I can make the preset and prepare a PR if you'd like.

yes please! 👍

merged with #3290


Proposed improvements to 'DELETE /catalog/N'

The DELETE /catalog/N interface responds 200 OK but does not change the state of the server. The catalog is still in the registry and visible to clients and this delete request can be issued repeatedly.
We should:

Add a 'deleted' flag to the registry and/or the catalog itself that causes it to respond with NotFound on subsequent access.
Add some maintenance script to periodically process deleted catalogs, e.g. to handle asynchronous shutdown and purge.  We should hasten the closure of connection pools to that database and eventually rename, archive, and/or delete the database, perhaps depending on a policy setting in ermrest_config.json.

Okay. So there is a bug in the delete. Appears to be some kind of a regression. The delete definitely did work. This can be fixed trivially and it restores the original functionality which was to delete the catalog (id, descriptor) row from the simple registry database while leaving the catalog db in tact.
Sidenote: the interface responds with 204 No Content actually.

How much provenance do we want to produce in this feature? For example, we could:

simply have a deleted flag that indicates the catalog has been deleted and should not be served to clients anymore;
have a deleted on timestamp (alone or in addition to the deleted flag); this would allow the user to develop better purge policies, like purge all catalogs that were deleted over 1 month or 1 year ago;
we could then have a purged flag and/or purged on timestamp so that the registry maintains a tombstone of the catalog effectively;
which leads to the final point, should the registry (I mean the catalog/ and catalog/N resources) always return something (per ACL policies) so that the service always at least responds with the tombstone of the catalog.

The REST API should return 404 Not Found once the DELETE command
succeeded.  To do otherwise would violate HTTP client expectations.
I think the tombstone is useful until the real DB is purged.  This
will be for the use of local admin tools/cleanup scripts that can
inspect the registry outside of the ERMrest API.  Once it has purged,
I see no reason to keep entries in the registry DB versus just a log
file somewhere that can be archived if desired.

Good point about the REST semantics. Re: those local admin tools... looks like we need that ermrest-registry-manage script back in the repo don't we? ;-)

Perhaps, but not in its previous form.  I expect some single-task
scripts that call psql, pgdump, and/or dropdb directly.

Another thought here. The simple_registry table definition is going to change. I would rather not have ERMrest service logic doing ALTER TABLE statements. I really prefer to have a update-XYZ.sql script that the system admin runs on their ermrest database to migrate an existing database to the new schema. This is different than I think we have been doing it so far. We don't really have a subdir for this in the repo. Maybe its time we start doing this and having a subdir for these types of migration scripts.

To date, we've just changed the behavior for new deploys/new catalogs
and documented (often just in the commit logs) how someone could
upgrade a database in-place, leaving it to the admin to make schema
changes idempotently.
To make friendlier, fool-proof upgrade scripts, you probably need to
add some logical version number to the schema too, so the script
can check whether it needs to be applied.

Required update to your ermrest db:
ALTER TABLE ermrest.simple_registry
ADD COLUMN deletedon timestamp with time zone DEFAULT NULL;
CREATE INDEX ON ermrest.simple_registry (deletedon);
CREATE INDEX ON ermrest.simple_registry (id, deletedon);


[SDPA-5159] Fix event card no location page error issue

Motivation and Context

JIRA issue: https://digital-engagement.atlassian.net/browse/SDPA-
Changed

Check if address exists in the event in addition to address length.

Screenshots

How Has This Been Tested?

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Improvement/refactoring (non-breaking change that doesn't add any features but makes things better)

Checklist

[ ] I've added relevant changes to the documentation.
[ ] I have added tests to cover my changes (if not applicable, please state why)
[ ] My change requires a template update for create-ripple-app.
[ ] I have added template update script for next release.

Hi @rubyllamadora ,
Please review this when you get a chance.
Jira
https://digital-engagement.atlassian.net/browse/SDPA-5159
ROUTES
https://app.pr-965.ripple.sdp2.sdp.vic.gov.au
https://storybook.pr-965.ripple.sdp2.sdp.vic.gov.au
Issue:

In the event card if there is no address added and the user clicks and opens the event, then the error shows up.

Thanks


firefox-{beta,devedition}-unwrapped: 120.0b9 -> 121.0b2

Description of changes
https://www.mozilla.org/en-US/firefox/121.0beta/releasenotes/

0:09.78 ERROR: Requested 'nss >= 3.95' but version of NSS is 3.94.0

cc #268942

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Priorities
Add a :+1: reaction to pull requests you find important.

The nss update got merged to staging, so perhaps we can just merge this PR to staging soon as well, instead of waiting?

The nss update got merged to staging, so perhaps we can just merge this PR to staging soon as well, instead of waiting?

If I knew it would build succesfully.

Oh cool, can't wait for Firefox to be a stdenv rebuild on both darwin and linux.

Hmm, right.  Hard to test at this point.


[PIRK-32]: Create KEYS file with public keys of Release Managers for PIRK

Here's the initial KEYS file (seeded with my Key).  Please review and others may want to append their keys to this.

+1 Thanks Suneel! I will merge and update with my key in the process.

A friendly reminder to use ur apache.org email while generating ur keys.


List comprehensions cannot begin with a let declaration

What version of CUE are you using (cue version)?

$ cue version
cue version v0.8.0

go version go1.22.1
      -buildmode exe
       -compiler gc
       -trimpath true
     CGO_ENABLED 0
          GOARCH amd64
            GOOS linux
         GOAMD64 v1

Does this issue reproduce with the latest stable release?
Yes, 0.8.0
What did you do?
I tried to start a list comprehension with a let declaration, which failed.
Both other elements of a comprehension (for & if) can begin a list comprehension.
exec cue fmt startsWithFor.cue
exec cue fmt startsWithIf.cue
exec cue fmt startsWithLet.cue
-- startsWithFor.cue --
[
	for i in [1, 2, 3]
	let x = 1
	if 6 > 5 {
		x
	},
]
-- startsWithIf.cue --
[
	if 6 > 5
	for i in [1, 2, 3]
	let x = 1 {
		x
	},
]
-- startsWithLet.cue --
[
	let x = 1
	if 6 > 5
	for i in [1, 2, 3] {
		x
	},
]

I couldn't find any issues mentioning this, either as an issue or as a feature request. I can see from the spec that aliases inside a list aren't yet supported, but this felt distinct.
What did you expect to see?
A passing test.
What did you see instead?
> exec cue fmt startsWithFor.cue
> exec cue fmt startsWithIf.cue
> exec cue fmt startsWithLet.cue
[stderr]
missing ',' in list literal:
    ./startsWithLet.cue:2:6
missing ',' in list literal:
    ./startsWithLet.cue:7:3
[exit status 1]
FAIL: /tmp/testscript1085439904/listComprehensions.txtar/script.txtar:3: unexpected command failure

One awkwardness with allowing this is that ACAICS it would change the meaning of some existing code, because a let statement is valid in itself and creates a scope that covers the enclosing statements, whereas the scope of a let statement within a comprehension is only within the subexpression.
Here are few examples to demonstrate the issue:
// succeeds with:
//	example0: {
//		b: 5
//		a: 5
//	}
// The meaning of this would change if let counted as a comprehension.
example0: {
	let x = 5
	{
		a: x
	}
	b: x
}

// succeeds with:
//example2: {
//	p: [5, 5]
// }
// This illustrates the fact that the scope of a regular let
// statement encompasses all the fields in that struct literal.
example2: {
	let x = y
	let y = 5
	p: [x, y]
}

// fails with:
// example3: reference "y" not found
// Here we can see that it's different for let
// statements inside comprehensions.
example3: {
	if 5 > 3
	let x = y
	let y = 5
	{
		p: [x, y]
	}
}

This is explicitly outlined in the spec, at https://cuelang.org/docs/reference/spec/#comprehensions

Comprehensions [...] must start with a for or if clause.

My confusion arose from the fact that this is a valid form inside a struct but not a list:
x: [1, 2, 3]
y: {
	let X = [for i in x {i * i}]
	for i in X
	if i >= 2 {
		"\(i)": i
	}
}

The root of my confusion was from the fact that (I believe!) the let doesn't bind solely to the comprehension's scope, but is available throughout the surrounding y struct. In other words, the fact that this looks like a 3-clause comprehension is a red herring, and it's actually a 2-clause comprehension where there also happens to be a let declaration in scope.
I recall that there was an underlying use case which I didn't articulate in the original comment, but I don't have it to hand at the moment. It was related to doing a non-trivial amount of work once, and then iterating over the result of the work in a list comprehension. I.e. as with my example above, but where X needed to be calculated inside y which was a list. I'll open a different issue when I come across the concrete use case again.

I've picked up on my last comment in https://github.com/cue-lang/cue/issues/3537


Validate running vespaengine/vespa on M1 arch64 using docker emulation

A user reported having problems when running vespa sample apps using a M1 /ach64 with

When running the Docker container vespaengine/vespa on an Apple M1 arch, is there a particular image built for this arch? I can't >seem to find it, so I've opted to emulate with --platform=linux/amd64 during Docker run; unfortunately, I can't get past vespa >status

[2021-12-03 14:32:50.755] INFO    : configserver     Container.com.yahoo.container.handler.threadpool.DefaultContainerThreadpool	Threadpool 'default-pool': min=8, max=400, queue=0
[2021-12-03 14:32:51.184] INFO    : configserver     Container.com.yahoo.vespa.zookeeper.ZooKeeperRunner	Starting ZooKeeper server with /opt/vespa/conf/zookeeper/zookeeper.cfg. Trying to establish ZooKeeper quorum (members: [vespa-container], attempt 1)
[2021-12-03 14:35:33.132] INFO    : configserver     Container.com.yahoo.container.di.componentgraph.core.ComponentNode	Finished constructing 'com.yahoo.vespa.configserver.flags.db.FlagsDbImpl' in PT2M39.727876S
[2021-12-03 14:35:36.375] INFO    : configserver     Container.com.yahoo.vespa.config.server.tenant.TenantRepository	Adding tenant 'default', created 2021-12-03T14:35:36.084Z. Bootstrapping in PT0.194646S
[2021-12-03 14:35:38.163] INFO    : configserver     Container.com.yahoo.jdisc.http.server.jetty.Janitor	Creating janitor executor with 2 threads
[2021-12-03 14:35:39.069] INFO    : configserver     Container.com.yahoo.jdisc.http.server.jetty.JettyHttpServer	Threadpool size: min=20, max=20
[2021-12-03 14:35:42.062] INFO    : configserver     Container.com.yahoo.vespa.config.server.rpc.RpcServer	Rpc server will listen on port 19070
[2021-12-03 14:35:42.140] INFO    : configserver     Container.com.yahoo.vespa.config.server.ConfigServerBootstrap	Config server upgrading from  to 7.507.96. Redeploying all applications
[2021-12-03 14:35:42.210] INFO    : configserver     Container.com.yahoo.vespa.config.server.ConfigServerBootstrap	Redeploying 0 apps [] with 4 threads
[2021-12-03 14:35:42.255] INFO    : configserver     Container.com.yahoo.vespa.config.server.ConfigServerBootstrap	All applications redeployed successfully
[2021-12-03 14:35:42.263] INFO    : configserver     Container.com.yahoo.container.jdisc.state.StateMonitor	Changing health status code from 'initializing' to 'up'
[2021-12-03 14:35:42.610] INFO    : configserver     Container.org.eclipse.jetty.server.Server	jetty-9.4.44.v20210927; built: 2021-09-27T23:02:44.612Z; git: 8da83308eeca865e495e53ef315a249d63ba9332; jvm 11.0.13+8-LTS
[2021-12-03 14:35:42.864] INFO    : configserver     Container.org.eclipse.jetty.server.handler.ContextHandler	Started o.e.j.s.ServletContextHandler@54d2887a{19071,/,null,AVAILABLE}
[2021-12-03 14:35:42.926] INFO    : configserver     Container.org.eclipse.jetty.server.AbstractConnector	Started<EMAIL_ADDRESS>(http/1.1, h2c)}{<IP_ADDRESS>:19071}
[2021-12-03 14:35:42.928] INFO    : configserver     Container.org.eclipse.jetty.server.Server	Started @196950ms
[2021-12-03 14:35:42.946] INFO    : configserver     Container.com.yahoo.container.jdisc.ConfiguredApplication	Switching to the latest deployed set of configurations and components. Application config generation: 0

Shows no issues, but the vespa-cli (Which there is arch64 support for) does not connect
However, vespa status deploy (with various --wait) continues to not succeed, stating :19071 is not ready)

It seem to be to be a problem with connectivity from the vespa-cli to the running container in emulation mode
docker run --privileged --platform=linux/amd64 --detach --name vespa --hostname vespa-container \
  --publish 8080:8080 --publish 19071:19071 \
  vespaengine/vespa

vespa status deploy --wait 30 times out, stating deploy API at http://<IP_ADDRESS>:19071/ is not ready.

I have fired up an AWS Graviton2 instance, installed qemu and registered this with the kernel using binfmt_misc. This seems to work for regular binaries, but starting Vespa fails with a failure to map shared objects:
$ uname -a
Linux ip-10-0-128-163.ec2.internal 4.18.0-348.el8.aarch64 #1 SMP Mon Oct 4 11:58:32 EDT 2021 aarch64 aarch64 aarch64 GNU/Linux

$ docker run --privileged  --platform linux/amd64 --rm -ti --entrypoint bash vespaengine/vespa -c "uname -a"
Linux fdbc18b1c1cb 4.18.0-348.el8.aarch64 #1 SMP Mon Oct 4 11:58:32 EDT 2021 x86_64 x86_64 x86_64 GNU/Linux

$ docker run --privileged  --platform linux/amd64 --rm -ti --entrypoint bash vespaengine/vespa -c "/opt/vespa/bin/vespa-detect-hostname"
/opt/vespa/bin/vespa-detect-hostname: error while loading shared libraries: libxxhash.so.0: failed to map segment from shared object: Error 14

Since the configserver was started in the reported issue, there must be some differences with Docker/RHEL8/Graviton2 vs Docker/OSX/M1 . However, we have no possibility of validating this for now and we should probably direct the efforts towards getting a native linux/arm64 container for Vespa running.

Vespa for M1 preview is now available. For information see the blogpost in Preview of Vespa on ARM64.


[ISSUE #3521] Add integration test in shenyu-integrated-test-alibaba-dubbo

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #3536 (29b238b) into master (c6bcaaa) will decrease coverage by 0.32%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #3536      +/-   ##
============================================
- Coverage     62.81%   62.49%   -0.33%
+ Complexity     5573     5536      -37
============================================
  Files           842      842
  Lines         23351    23343       -8
  Branches       2118     2115       -3
============================================
- Hits          14668    14588      -80
- Misses         7335     7403      +68
- Partials       1348     1352       +4

Impacted Files
Coverage Δ

...plugin/logging/rocketmq/LoggingRocketMQPlugin.java
22.72% <0.00%> (-72.73%)
:arrow_down:

...ache/shenyu/plugin/grpc/cache/GrpcClientCache.java
75.00% <0.00%> (-25.00%)
:arrow_down:

...ogging/rocketmq/body/LoggingServerHttpRequest.java
0.00% <0.00%> (-20.00%)
:arrow_down:

...a/org/apache/shenyu/common/utils/VersionUtils.java
67.85% <0.00%> (-10.72%)
:arrow_down:

.../apache/shenyu/admin/model/dto/BatchCommonDTO.java
50.00% <0.00%> (-7.15%)
:arrow_down:

...apache/shenyu/admin/model/dto/AuthPathWarpDTO.java
57.14% <0.00%> (-7.15%)
:arrow_down:

...org/apache/shenyu/admin/model/dto/AuthPathDTO.java
58.82% <0.00%> (-5.89%)
:arrow_down:

...nyu/plugin/motan/cache/ApplicationConfigCache.java
52.00% <0.00%> (-5.00%)
:arrow_down:

.../logging/rocketmq/utils/LogCollectConfigUtils.java
71.11% <0.00%> (-4.45%)
:arrow_down:

...che/shenyu/admin/model/vo/DashboardUserEditVO.java
60.86% <0.00%> (-4.35%)
:arrow_down:

... and 35 more

Continue to review full report at Codecov.

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


[BUG] Jest 16 breaks using toHaveBeenCalledWith with 0 arguments to test for functions that have been called without arguments

Do you want to request a feature or report a bug?
Report a bug
What is the current behavior?
On Jest 16: testing toHaveBeenCalledWith with 0 arguments does not pass when a spy is called with 0 arguments
On Jest 15: testing toHaveBeenCalledWith with 0 arguments passes when a spy is called with 0 arguments
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal repository on GitHub that we can npm install and npm test.
Minimal test:
it('can check that a function is called without arguments', () => {
    let fn = jasmine.createSpy();

    fn();
    expect(fn).toHaveBeenCalledWith();
});

Repo: https://github.com/benmccormick/jest-no-args/tree/master
What is the expected behavior?
Testing using toHaveBeenCalledWith with 0 arguments should pass an assertion when a spy is called with 0 arguments
Run Jest again with --debug and provide the full configuration it prints. Please mention your node and npm version and operating system.
> node_modules/.bin/jest --debug
jest version = 16.0.1
test framework = jasmine2
config = {
  "rootDir": "/Users/ben/Code/experiments/jest-no-args",
  "name": "-Users-ben-Code-experiments-jest-no-args",
  "setupFiles": [],
  "testRunner": "/Users/ben/Code/experiments/jest-no-args/node_modules/jest-jasmine2/build/index.js",
  "scriptPreprocessor": "/Users/ben/Code/experiments/jest-no-args/node_modules/babel-jest/build/index.js",
  "usesBabelJest": true,
  "automock": false,
  "bail": false,
  "browser": false,
  "cacheDirectory": "/var/folders/wy/1r3js80s60q497r_lrjyb0bh0000gn/T/jest",
  "clearMocks": false,
  "coveragePathIgnorePatterns": [
    "/node_modules/"
  ],
  "coverageReporters": [
    "json",
    "text",
    "lcov",
    "clover"
  ],
  "globals": {},
  "haste": {
    "providesModuleNodeModules": []
  },
  "mocksPattern": "__mocks__",
  "moduleDirectories": [
    "node_modules"
  ],
  "moduleFileExtensions": [
    "js",
    "json",
    "jsx",
    "node"
  ],
  "moduleNameMapper": {},
  "modulePathIgnorePatterns": [],
  "noStackTrace": false,
  "notify": false,
  "preset": null,
  "preprocessorIgnorePatterns": [
    "/node_modules/"
  ],
  "resetModules": false,
  "testEnvironment": "jest-environment-jsdom",
  "testPathDirs": [
    "/Users/ben/Code/experiments/jest-no-args"
  ],
  "testPathIgnorePatterns": [
    "/node_modules/"
  ],
  "testRegex": "(/__tests__/.*|\\.(test|spec))\\.jsx?$",
  "testURL": "about:blank",
  "timers": "real",
  "useStderr": false,
  "verbose": null,
  "watch": false,
  "cache": true,
  "watchman": true,
  "testcheckOptions": {
    "times": 100,
    "maxSize": 200
  }
}
 FAIL  __tests__/test.js
  ● can check that a function is called without arguments

    expect(spy).toHaveBeenCalledWith(expected)

    Expected spy to have been called with:
      [undefined]
    But it was called with:
      Array []

      at Object.<anonymous>.it (__tests__/test.js:6:16)
      at process._tickCallback (internal/process/next_tick.js:103:7)

  ✕ can check that a function is called without arguments (5ms)

Test Suites: 1 failed, 1 total
Tests:       1 failed, 1 total
Snapshots:   0 total
Time:        0.822s
Ran all test suites.

Node Version: 6.7.0
NPM Version: 3.10.7

Ok, have been diving in a bit.   The matcher itself (defined in /Users/ben/Code/experiments/jest/packages/jest-matchers/src/spyMatchers.js) is passed a second "undefined" argument when no arguments are passed into the function.  So the issue is presumably deeper (I'm guessing you want to distinguish between no arguments and explicitly passing undefined).
I'm not clear yet on where that argument passing is happening, but will try to figure it out and open a PR if I can

Just out of curiosity: why don't you use toHaveBeenCalled()?

'toHaveBeenCalled' checks that the function was called at all.  I have a test that specifically tests a function was called with no arguments.
The real world use case: This function acts on a list, and either takes an id (and acts on a single item) or is called without an id (and acts on the whole list)


Issue3774

Fixed #3774 and tested it.
Used the code from Rotairy Condensentrator to get it working.

Fixed, thanks!


GradleV2 demands java but java is no longer existing on agents.

We are using the azure pipeline image generation to generate our private agents and we noticed that "java" env variable is no longer available as it was migrated from oracle java to zulu open jdk. https://github.com/Microsoft/azure-pipelines-image-generation
When i run the gradle v2 task, it forces me to add demand java exist but this demand is no longer existing.
https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/GradleV2/task.json#L24

This issue is stale because it has been open for a year with no activity. Remove the stale label or comment on the issue otherwise this will be closed in 5 days

Hi, @majorvin! Is this issue still appears?
If yes, could you please run the pipeline again with the debug option set on and send full logs? It would be great if you are able to share the YAML file for your pipeline. Also, if you are able to provide a minimal reproducible sample it will speed up our investigation.

Closing now this issue due to a lack of reproducible information, please feel free to reopen it.


Testrule applies to all projects

I have 3 projects in my Mosparo installation.
One of them has no rules set yet while the other two have rules blocking a test email adress.
Entering the test email adress in the form linked to the project with no rules gets a spam response and in the submission the rating for both rules is counted.

Hi @MaPhiKo
Thank you very much for this very interesting issue. It took a while to figure out the possible problem for this issue.
I think in your installation, an exception occurs in the cleanup logic - at least this way, I can reproduce the issue you described.
In the cleanup logic, we have to disable the project filter. Because of the exception in the cleanup logic, the filter stays disabled, and the normal validation logic continues - but without a project filter. Because of this, all possible rules will be loaded from the database instead of just the ones from the active project.
We've just released v1.0.6, which addresses this issue. If you update, you should no longer have this problem.
Additionally, I've added a logging functionality to log the reason for the exception. After some form submissions, can you check the log file to see the original error? The file is stored in var/log/prod-{date}.log. Can you have a look and create a new issue with the visible error so we can fix that as well?
Thank you very much for your excellent finding and help making mosparo better!
Kind regards
zepich

@MaPhiKo Can you recheck the log? Are there any other error messages besides the one you reported in issue #161?
Because the origin of this issue here should also be a problem that still needs to be fixed (since I don't know what the real issue was for this one)...

@zepich There is a new error that repeats continuously. It seems to have started when I applied the most recent update to mosparo. I replaced the database name.
[2023-11-28T20:42:55.795835+01:00] app.CRITICAL: An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (*databaseName*.submit_token, CONSTRAINT FK_6C047AC88DF22AA4 FOREIGN KEY (last_submission_id) REFERENCES submission (id)) [] []


You have no access to a team inorder to assign a task.

We successfully done the installation and came up with some error
ERROR: You have no access to a team inorder to assign a task. -> On clicking on the +task button.
Kindly please give me a solution

Make sure that user is a team admin,

hai
I fixed that problem. But now am facing one ruby error on adding members
into teams.
"undefined method `name' for nil:NilClass"
How can I fix this error ?
Thanks & Regards
Tony Jose
On 2017-04-30 17:35, Aboobacker MK wrote:

Make sure that user is a team admin,
--
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub [1], or mute the
thread [2].

Links:
[1]
https://github.com/foradian/fluxday/issues/34#issuecomment-298221952
[2]
https://github.com/notifications/unsubscribe-auth/Aa1SHymFfmx2ZORDiGXezQ0dUYU6etcTks5r1FXegaJpZM4NLJzj

When you are getting the issue, which page ?

http://fluxyday.com:3000/teams/2/add_members#pane3
On clicking save button
http://fluxyday.com:3000/teams/2

any Updates ?

Have you modified any of your tables? Can you please go to your teams controller and look for the add_members function. Can you please post that on here?

Hi, is there an Update? I'm having the same issue!

Can you share any log for the error ?