wrong release version on yarn registry

Me and my team use yarn for managing our node packages.
And turns out the version 0.4.23 is outdated on those registries.
To be a bit more specific the code for applying the emptyTag value is wrong and won't let us use a function that returns undefined for example:
...
          if (isEmpty(obj)) {
            obj = _this.options.emptyTag !== '' ? _this.options.emptyTag : emptyStr;
          }
...

As a workaround for now, I've used the github repo uri in "package.json".
I would appreciate if you could update the package on yarn.
UPDATE: Went ahead and decided to create a fork and link it instead of the original repo. :)

Looks like a problem with Yarn to me: #676


factory_bot does not have v4.9.0

The factory_girl gem on rubygems has version 4.9, while factory_bot is only at 4.8. I think this is a mistake, as that basically means there is no way to get rid of the deprecation warnings when using factory_girl==4.9.0 without downgrading the version.

I'm sorry, I just saw that 4.9.0 only has the deprecation warning and nothing else.


Colorful words in terminal

Hello there! This is great work. I have a question that may not be directly related to TorchSnooper. While going through your readme, I noticed that the terminal output in the screenshot had colorful words. However, when I use this library in Win11 PowerShell, I do not receive the same colorful output (what I got is a similar output but is black and white). Is there anything I need to do to my terminal or any parameters I need to add to enable the colorful output?

I think this question is better asked at snoop or PySnooper. I have no idea about color settings on PowerShell.

Got it, thanks!


Embedded paid content without purchase notification

Paid content that is embedded on other pages does not notify the user (active session on Odysee) that it is paid content and is automatically purchased. The content is not shown as paid, only as free content. It has been tested on Firefox and Brave, without notification of any kind.
The report has been submitted by a user and I have tested it.
Links from paid and embedded content.

https://actualidad.rt.com/actualidad/427176-zelenski-acuerdo-paz-rusia
https://odysee.com/@ActualidadRT:9/azov_Zelenski:c

Related/duplicate of:

#677
#678

We should at least fix the bug where it auto pays. Funny.. it showed watch in Odysee button, but still purchased it.


CFSSL is is not FIPS certified

Description
IIUC seems that CFSSL is using the golang crypto libraries, instead of using a system library like libopenssl from the system.  Also, IIUC CFSSL is required when we need to revoke certificates.  Can be possible to leverage openssl in this situation too?

AFAIK OpenSSL doesn't have a CA revocation mechanism.

I have no idea, is in my TODO to research, but I found this "crl" parameter early, with some documentation here: https://jamielinux.com/docs/openssl-certificate-authority/certificate-revocation-lists.html
I do not know how much it can help.

It's actually the go library that is not FIPS compliant, there are ways around that though.
Red Hat has a go fips compliant tool chain that will use OpenSSL bindings.
https://developers.redhat.com/blog/2019/06/24/go-and-fips-140-2-on-red-hat-enterprise-linux
This is how Red Hat ships openshift (which is built in go), while still remaining in FIPS land.
Hope that helps.

That helps a lot actually, I think that openSUSE will follow this too.


Add support for better dependency tracking of output-agnostic command line arguments

@ddunbar I think I made all the changes you asked for, please have a second look and see if I missed anything or you have any further comments. Thanks!

@swift-ci please smoke test


lib/types: Fix path type check

Motivation for this change
Previously when this function was called without a value coercible to a
string it would throw an error instead of returning false. Now it does.
As a result this now allows the use of a type like either path attrs
without it erroring out when a definition is an attribute set.
The warning about there not being a isPath primop was removed because
this is not the case anymore, there is builtins.isPath. But also there
always was builtins.typeOf x == "path" that could've been used
instead. However the path type now stands for more than just path types,
but absolute paths in general.
Fixes https://github.com/NixOS/nixpkgs/issues/76977, relevant for https://github.com/NixOS/nixpkgs/pull/76861
Ping @roberth
Things done

[x] Tested that it doesn't throw an error anymore with attribute sets

Backported in 86bbfc0f432964df118fabfb6a179c1c6231965c


End-to-end tests: use Vault 1.12.1 instead of the outdated Vault 1.2.3

The main reason for bumping Vault's version is because 1.2.3 is not compatible with the config parameter disable_iss_validation, which is needed for accommodating the future tests coming in https://github.com/cert-manager/cert-manager/pull/5502 that rely on bound tokens and static tokens.
For context, Vault 1.2.3 was released on Sep 9, 2019 (1) but disable_iss_validation was only added on July 21st, 2020 in Vault 1.5.0.
Due to a breaking change that happened in Vault 1.5.0 (2) in which Vault started loading the pod's token instead of using the token to be reviewed for authenticating, I had to tweak the end-to-end tests. I renamed serviceAccountName and namespace to boundSA and boundNS, since these two variables now refer to the service account of the token to be reviewed, but not the service account to be used for authenticating. The service account used for authenticating is now the pod's service account.
Alternatively, I could have prevented the service account from being mounted to the pod, but I figured that having the two service accounts separated is what most people do (although both ways are fine by me).
In order to upgrade to Vault 1.12.1, I had to change a bit how the end-to-end tests are
/kind cleanup
NONE

I'll take a look at this next week - not really got enough time left today to do it justice. Thanks for raising :+1:

The test failure seems legitimate to me, so I'll hold off on looking for now!

/test pull-cert-manager-master-make-test


empty pattern with new version of structure101

In new version of structure101 generated hsp xml contains empty patterns:
<cell pattern="" vexpanded="true" visibility="public" drill="false">

This causes wrong ddf file generation:
[null_0] =

should be:
[null_0] = _empty_

Thanks for the patch.


Wrong use of GIL in pybind11 may cause segmentation fault

In https://github.com/mspass-team/mspass/commit/985ac83d342f2074634e6ce19b2fe224deca6cbc, I fixed a bug in the use of GIL release in pybind11. The bug has been there for quite a while now, but it never showed up as a problem until I switched our GitHub Action to include Python 3.10 under Ubuntu 22.04. In this build, the test_ccore.py will throw a segmentation fault like following:
......
Fatal Python error: Segmentation fault

Current thread 0x00007f25ddbf4c40 (most recent call first):
  File "/home/runner/work/mspass/mspass/python/tests/test_ccore.py", line 870 in test_Ensemble
  File "/opt/hostedtoolcache/Python/3.10.8/x64/lib/python3.10/site-packages/_pytest/python.py", line [19](https://github.com/mspass-team/mspass/actions/runs/3609683811/jobs/6083024842#step:11:20)5 in pytest_pyfunc_call
  File "/opt/hostedtoolcache/Python/3.10.8/x64/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/opt/hostedtoolcache/Python/3.10.8/x64/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/opt/hostedtoolcache/Python/3.10.8/x64/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
......

which is at this line that tests for pickle:
https://github.com/mspass-team/mspass/blob/985ac83d342f2074634e6ce19b2fe224deca6cbc/python/tests/test_ccore.py#L870
I Googled a bit and found that the issue is like the one described in https://github.com/pybind/pybind11/issues/4015. I then realized that we released GIL before creating the tuple with pybind11. This is obviously not allowed (more details here). So, I got it quickly fixed in the commit referenced at the beginning, but I think it worth preserving a record here on a mysterious error like this. Of course, the reason why it never errored out in our previous build of Python 3.6 and 3.8 remains a mystery.

Have you checked for other mistakes like this in the pybind11 code in the pickle sections?   That kind of thing tends to be carried around as an incantation that has be be chanted at the right moment so other pickle sections could share this error.

Yes, I have checked all explicit uses of gil_scoped_release, and they should all be fine. Also, this is another reason why we need a good test coverage - I wouldn't have noticed it without our tests.
By carefully reading the GIL related sessions, it appears to me that we might got it fundamentally wrong on the GIL behavior of pybind11. According to the documentation, it says "As a result, when Python calls into C++ via pybind11 the GIL must be held, and pybind11 will never implicitly release the GIL". It seems this is suggesting that all of our C++ code are locked into a single thread. The GIL will only be released if the C++ code is bond like this:
m.def("call_go", &call_go, py::call_guard<py::gil_scoped_release>());

which uses the call_guard to release the GIL explicitly. In our code, however, we are doing the opposite assuming the GIL is always released, and we explicitly acquire the GIL when Python objects is used in the C++ code. If that is the case, I think it makes sense why the OpenMP implementation you had did not run on multiple threads.

I tested OpenMP and pybind11 using the following code:
int tests_for_openmp(){
    double x = 0, y = 0;
	int m = 50000000;
	#pragma omp parallel for reduction(+:x,y)
    for(int i = 1; i < m; i++)
    {
       double rand_g1 = cos(i/double(m));
	   double rand_g2 = sin(i/double(m));

	   x += rand_g1;
       y += rand_g2;
    }
	return 0;
}

When I added #pragma omp parallel for reduction(+:x,y) and ran it in Python, it used half-time. So I think it works here and does not need to add gil_scoped_release in the bond code. I used the following bond code:
  m.def("_tests_for_openmp", &tests_for_openmp, "tests for openmp",  py::return_value_policy::copy);

There may be other reasons OpenMP does not work. For example, not adding "-fopenmp" in cmakelists.txt, or not using the reduction clause.
In addition to pybind11, there is also a simpler way using openmp in Python:
pyMP, a package that brings OpenMP-like functionality to Python. The GIL (global interpreter lock) is circumvented by using the operating system's fork method. I tested it locally, and it works well. It does not need pybind 11 or gil_scoped_release, but requires some code changes to use the package.
import pymp
ex_array = pymp.shared.array((100,), dtype='uint8')
with pymp.Parallel(4) as p: # 4 threads
    for index in p.range(0, 100):
        ex_array[index] = 1
        # The parallel print function takes care of asynchronous output.
        p.print('Yay! {} done!'.format(index))

Cool! Thanks for looking into that! It is a bit surprising that the behavior of pybind11 does not conform with its documentation (or it could be that I read it wrong). Since OpenMP works as expected in your example, we will need to investigate why it doesn't work for pwmig. But that's outside of the scope of this issue, so I will close it now.
For the pyMP, it is an interesting package, but I don't think it is very helpful to us in pwmig as that is mainly a C++ code. Also, the package does not seem very mature, so it may not worth the investment at the moment. But still, this is good to know.


4k resolution, menu not shown

Hello
I am using Win10 with a resolution of 3840x2160 and if i click on the icon in the systray the menu where i can choose the different audio devices is not shown. It worked totally well when i was using just the full hd resolution.

I can conform this bug, running at the native resolution on a surface pro 4. If I drop to 1368x912 the menu shows up again.

I just had this happen to me today. I played around with it a little bit and found out that it appears to place the menu off the bottom of the screen at higher resolutions. This may also be a related issue, but I get a similar effect when increasing the text size in Windows like so http://i.imgur.com/1EfgC6l.png Moving the slider up to higher values makes the bar disappear.

I have the same issue. I just upgraded to a 3840x2160 monitor and there is no more visible menu for AudioSwitch. I suspect this is going to be a larger issue as 4K monitors are coming way down in price.

Same problem with 4k resolution.


Fix absolute paths in secrets and inherited volumes

Volumes detect and handle unix-like absolute paths also on Windows. Secrets are translated to bind mounts, so handle them the same way. While at it, fix also inherited absolute path volumes from extended services.
Fixes #304

Tested also in github.com/docker/compose with changed go.mod to replace github.com/compose-spec/compose-go with github.com/oldium/compose-go (latest fix-abs-paths branch commit) and issue #304 is really fixed for me.


definition lists containing multi-paragraph ordered lists rendered as code

Given Markdown with a definition list that contains an ordered list and the ordered list has multi-paragraph elements, each ordered list element is rendered as a separate ordered list and the paragraphs are rendered as code blocks.
This appears specific to definition lists (using def_list). It does not appear that other types of lists make a similar formatting decision for multi-paragraph sub-lists.
The markdown input:
term

:   this is a definition for term. it has
    multiple lines in the first paragraph.

    1.  first thing

        first thing details in a second paragraph.

    1.  second thing

        second thing details in a second paragraph.

    1.  third thing

        third thing details in a second paragraph.

Expected:

term

this is a definition for term. it has
multiple lines in the first paragraph.

first thing

first thing details in a second paragraph.

second thing

second thing details in a second paragraph.

third thing

third thing details in a second paragraph.

Actual:

term

this is a definition for term. it has
multiple lines in the first paragraph.

first thing

first thing details in a second paragraph.

second thing

second thing details in a second paragraph.

third thing

third thing details in a second paragraph.

Tested with:
/usr/local/bin/markdown_py -x def_list definitions.md
/usr/local/bin/markdown_py --version
# => markdown_py 3.2.1

Thanks for the report.
This could be a tricky one to fix. I believe the issue is related to the DefListIndentProcessor, which subclasses the ListIndentProcessor and overrides the [LIST_TYPES] variable by replacing ['ul', 'ol'] with ['dl']. That attribute is relevant for parsing lose lists. When the parser finds an indented block which could be a nested list item, it checks the previously processed block. If the previous block is one of the types in LIST_TYPES, then is prosesses the current block as a child of the previous block.
The problem here is that the second level of nesting is a ol item, but it sees that the last item is a dl, so it doesn't match. I suppose instead it needs to recognize the extra level of nesting and look at the last child of the dd in the dl. The problem is that that needs to happen in ListIndentProcessorrather than theDefListIndentProcessor`, which means the def_list extension also needs to override the builtin list parsing.
Alternatively, the entire block parser could be refactored to consume all nested content as a single block, rather than processing each individual sub-block separately. But that would be a major change and isn't likely to happen anytime soon.

@waylan Thanks for digging and confirming. The ambiguity of four-space indents certainly isn't helping. Is it an indented code block? Maybe. Is it a secondary paragraph of a list item? Maybe!
I've restructured our documentation to avoid this problem - the ol beneath dd no longer contains multiple paragraphs in list-elements. Advice? Keep description details (dd) simple!


Relaxation on host values used by routing

Relaxation on the authority field values used for routing:

inbound HTTP listeners will not require the host matches the service name
outbound HTTP listeners will not require colon + port suffix
ingress proxy does not override authority header

Ref https://github.com/istio/issues/issues/8
Ref #791

Jenkins job pilot/presubmit passed

@kyessenov does this resolve the xff header issue as well? e.g., https://github.com/istio/issues/issues/22
https://github.com/istio/issues/issues/21

no, please see the PR I cc'ed you.


Request to Cite Our ICML2023 Poster Paper in DPO

A very interesting piece of work!
We would like to kindly request that you consider adding our paper titled Beyond Reward: Offline Preference-guided Policy Optimization, which has been officially published at ICML2023 as poster paper, to the references of the subsequent modified version of DPO.
We believe that the two works share similar problem settings, as both attempt to remove the reinforcement learning process in the RLHF framework. Although the implementation methods of the two papers are not exactly the same, we still believe that citing our paper will make DPO more rigorous, especially considering that this is still a developing field.
We hope you will seriously consider our request.
@article{kang2023beyond,
  title={Beyond reward: Offline preference-guided policy optimization},
  author={Kang, Yachen and Shi, Diyuan and Liu, Jinxin and He, Li and Wang, Donglin},
  journal={arXiv preprint arXiv:2305.16217},
  year={2023}
}

Thanks for bringing your paper to our attention- we will certainly discuss it in our next revision of the DPO paper! Nice work.
Feel free to drop us an email (corresponding authors contact info is in the DPO paper) if you'd like to discuss further!

The DPO has been published and has had a significant impact in the field. Congratulations to your team!
However, I have carefully read the latest version of the paper and it seems that there is no reference to OPPO. I would like to know if this omission is due to my oversight while reading?


Fix stage inheritance between multiple included classes

Commit 656eff8 introduced a regression whereby stages would only
propagate from a class to its direct descendants, and no further. This
means if a class A includes B which includes C, the stage specified for
class A would only be used for A and B, and would omit C.
This was due to a logic error around the recursive nature of class
evaluation. We would evaluate the outermost class, and while doing so,
would evaluate its children, and etc. The step after evaluate was to set
up the stage relationship, which would then happen in reverse order
(C and then B and then A) as the stack was unwound. This meant that C
would try to set its stage, see that it had no specified stage, and try
to use its parent's stage (B). B also had no specified stage,
so C fell back to main. The next step in the stack, however, was to set
B's stage, which would then be inherited from A.
The purpose for the breaking change was to move stage setup after
parameters were set, so that defaults could be used to set stage. So now
we move stage setup back a bit in processing, between parameter setup and
actual evaluation of the contained code (which is the step which will
eventually evaluate the children). This achieves the desired effect of
setting stages after parameters, but also correctly sets stages in
top-down order, allowing them to cascade naturally.
Included in this is a small change during compiler setup to add the
Settings class to the catalog before evaluate_code is called. This is
because evaluate_code will now add the class to the main stage, which
requires the resource know about its catalog. Since Settings is never
really executed on the agent in a meaningful way, adding it to stage
main has no practical effect, so this is a safe change.

Is this a good place to deal with ticket http://projects.puppetlabs.com/issues/11158 ?


Admin: Missing Bootstrap CSS

Django admin is missing bootstrap css. In the settings.py we have changed the default message tags MESSAGE_TAGS. So the default css that shows up in django admin does not work.

cc @pbanaszkiewicz


Rename git to git_plugin, etc.

Summary
This makes it more explicit which object we are referring to, which is to say the SCM plugin object. As suggested by @will-in-wi here: https://github.com/capistrano/capistrano/pull/1572/files#r54176503
Short checklist

[x] Did you run bundle exec rubocop -a to fix linter issues?
[ ] If relevant, did you create a test?
[x] Did you confirm that the RSpec tests pass?
[ ] If you are fixing a bug or introducing a new feature, did you add a CHANGELOG entry?

LGTM 👍


Calendar & Contacts instructions are unclear

The final step says:

You can repeat this for calendar items and contacts as well.

So...  How? What in this instruction page was specific to just email, if all 3 APIs are enabled in the Google Admin Console?
By following the instruction page from top to bottom, does this include migrating calendar and contacts? Or are those two separate actions I have to "repeat" later?

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

ID: 3bd31a7b-580e-dc50-ed21-f1513cc44d09
Version Independent ID: 3bd31a7b-580e-dc50-ed21-f1513cc44d09
Content: Migrate business email and calendar from Google Workspace - Microsoft 365 admin
Content Source: microsoft-365/admin/moveto-microsoft-365/migrate-email.md
Service: o365-administration
GitHub Login: @twernermsft
Microsoft Alias: twerner

@Jaymoon85 Thank you for your feedback. The last step is only about verification. So you can repeat the verification process to check if the calendar and contacts were successfully migrated.
When you follow the instructions on this page, it migrates emails, contacts, and calendar items.
Hope this helps!
Thanks
Sri

@msbemba Thank you very much for the contribution and sharing this explanation. @Jaymoon85 Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Create "Concerns in Ruby: Part 1" Blog Post

Part 1 of...?

Hi @stockandawe - sorry it's taken me awhile to get this to you, but here is part 1 of a blog post series based on the "concerns in Ruby" talk that I did a while back.
As you can see in the PR, there's quite a lot of material here so what I did was break it into parts and I'm mainly looking for your feedback on the _drafts/concerns-in-ruby.md one.
If that looks good, I can move it to the _posts folder and we can publish whenever is good. I will continue working on the other parts in my spare time. I expect maybe it'll be 3 or so total?
Thank you!

Thanks for the feedback @stockandawe! I'll push part 1 out and begin working on getting part 2 ready for review in the next day or two.


Cocoapods?

I don't find the Pod name in the README file? Any plan with CocoaPods?

Would also like to know


Show error if CMS page can not be found

Actual Behavior
localhost:4200/page/page.DOES_NOT_EXIST leads to an empty white page
Expected Behavior
localhost:4200/page/page.DOES_NOT_EXIST redirects to /error OR displays an error message
Steps to Reproduce the Bug
Steps to reproduce the behavior:

Go to 'localhost:4200/page/page.DOES_NOT_EXIST'
Wait a bit

AB#78317

I cannot reproduce this bug. On develop the route '/page/page.DOES_NOT_EXIST' redirects to the "Page Not Found" page.


A Simpler Example for pub.dev

When visiting Example Tab on pub.dev the current example leads to a much bigger example inside the GitHub repo. Although it is a good way to showcase a lot of the features, the examples on pub.dev should be simple and easy to copy paste.
For the current example the copy to clipboard option doesn't really make sense. Most of the file data is in the GitHub repo, so the copy to clipboard doesn't copy working code.

Without these other files, and without the other context, there is no Agora code being showcased in this example. I believe this is an issue since there are a large portion of developers that might not go to the GitHub repo, and the current example shown on pub.dev doesn't showcase Agora.
Proposition

Keep the current example for people that start using it more, and dig deeper
Add a new very simple and quick example for people that are getting a first impression of the package.

I believe this will bring in more users to try it out.

First, thanks for your PR. But some files contains format diff, could you pls revert it?

@LichKing-2234 Which files contain format diff?
If you referring to the import statements, those aren't formatting changes. The previous main.dart I moved inside the examples folder, so that there wasn't 2 main.dart files in the /lib directory. So the imports are updated with the new path

Oh! My mistake. I will review it again.

@LichKing-2234 why was this closed and not merged?

I will add a simple example because the git history has been changed.

Use example.md instead of.
Followed https://dart.cn/tools/pub/package-layout#examples.

@tadaspetra  @digitallysavvy
https://pub.dev/packages/agora_rtc_engine/versions/4.0.7-rc.0/example
@tadaspetra Whatever, thanks for your PR!


Is there any way to skip some colums while edititng?

I have a table with 4 column and i want to edit only last 2 columns.
And one more: Is there any way to use different input for different columns? I want to use text box for 3rd column and select for 4th?
Thanks

Change line 16 of mindmup-editabletable.js from:
active = element.find('td:focus');
to:
active = element.find('td:focus:not(".immutable")');
and then give each cell you do not want to be editable the class immutable.


how to build on windows 10

i downloaded all the and libs in Readme.txt , but i do not know how to build the project using cmake ,
what command should i write in command line ???
P.S.
i am new to cmake and all these stuff
@weixu000

Maybe using CMake GUI to generate VS solutions and compile with VS?


Frame example - adding braces

Hi,
I'm exploring the amazing new capabilities of Calcpad (many thanks for them) and I got interested in the frame FEM example. I've noticed that it requires continuous definition of the members (subsequent nodes are always connected by members). This means that braced frames can't be defined. Would it be difficult to extend this example to cover such cases?

Hi! Thank you but this is not the case. In vector e_J you specify element connecting joints. You have to enter two values - one for the number of the starting joint and one for the ending joint. There are no limitations except for that they should be between 1 and n_J, incl. For example, bracing joints for the same frame can be J1-J4 and J2-J5. So, the vector will look as follows:
e_J = [1; 2|2; 3|3; 4|4; 5|1; 4|2; 5]

Also, you have to assign some materials and sections to the new elements:
'Assignments on elements -'e_M = [1; 2; 2; 1; 1; 1]' (materials)
'Assignments on elements -'e_S = [1; 2; 2; 1; 1; 1]' (sections)

Thank you, now it's clear. But point (nodal) loads are not supported, right? Only elemental (distributed) ones?
Also, can I define 1 support and 1 load? Deleting rows in c and q leads to errors:

As a workaround, I can set 0 for unnecessary loads and supports though.
I'm trying to solve this kind of a frame:

P.S. Once I figure it out, I'll be glad to share a step-by-step tutorial for this frame analysis program for other users.

Hi!
Since you have the source code, you can do absolutely anything without restrictions.
Joint loads are not included in this example, but you can add them by yourself. You can create a similar input matrix as for the element loads:
P =[Joint; F_x\*kN; F_y\*kN; M\*kNm]
Then, you can add them directly to the load vector by using the Joint indexes from the first column. See how element joint end forces are added after line 265.
About single support and load, the problem is that after you delete the remaining rows, you end up with a single vector, not a matrix. You can see the arrow. So later indexing fail because one index is now expected. One possible solution is to convert vectors back to matrices, by using, say join_rows function with a single argument.
q = join_rows([1; 10kN/m; 0kN/m])
BTW, great example for a tutorial. Thank you so much for your efforts. If any other questions, I would be glad to help.


getJSDocs cleanup

Got rid of the confusingly named getJsDocComments, which does something quite different from getJSDocComments.
For the most part, the checker now just calls getJSDocType to get a type node and doesn't traverse jsdoc anymore.
getJSDocs, the core of the JSDoc retrieval, now caches retrieved JSDoc on nodes.
All the JSDoc functions in utilities are streamlined to use much less code, including getting rid of near-duplicate code like getCorrespondingJSDocParameterTag.

@andy-ms I know you were looking forward to seeing this happen.
@zhengbli I think you have worked with the JSDoc infrastructure most on the team.


Use __ldg for Spatial3D Messages (non RTC)

This appears to improve performance of boids 32k on a Titan V GPU by a small amount (~1.5%)
Should check on Turing and possibly at larger size before merging / closing.

Closing for now, as needs more thought/evidence on whether or not this should be done. See #407


bootstrap?

Sorry, maybe due to my lack of understanding of webpack - but how do I include bootstrap CSS/SASS into my project, and ng2-bootstrap as well ?

Hi,
Not directly related to our repositories but you should ng2-bootstrap with npm npm install ng2-bootstrap --save
And use import in your class.
IMO you should find more information to README of ng2-bootstrap

Hi, the problem I found was ng2-bootstrap suggests using the CDN version of bootstrap for the css, but I wanted a local install of the css. I went down the path of using Sass and importing from bootstrap-sass which lead to issues with the glyphicons and I had to do multiple things to get it working. Later I found I could just install bootstrap and from the index.ts I could import 'bootstrap/dist/css/bootstrap.css';
The point I want to make is it took a couple of hours to get bootstrap and ng2-bootstrap working in my project and I am sure other people will have the same issue. gulp-angular generator set up bootstrap and angularUI for me.


Implement info command in build CLI

This change primarily implements the info command, which displays a table of packages and their version, optionally filtered by release group and private status.
The change required some minor changes to the build-tools lib, most notably to add exports so they can be called from the CLI package.

There appear to be a number of security warnings about unsafe shell commands. I haven't seen such warnings before and am not familiar with security policy there. Figured I should call it out.

Thanks for pointing these out. Since they're not about code I touched or added, I'm going to merge.


Add workflow

PR Description
I fix many typos and want to add workflow for codespell check to eliminate all typos in the future.
I have added a relatively simple filtering file to exclude certain words.
If you find it meaningful, you can modify the filtering conditions according to your needs.
Fixed Issue(s)

Documentation

[x] I thought about documentation and added the doc-change-required label to this PR if updates are required.

Changelog

[x] I thought about adding a changelog entry, and added one if I deemed necessary.

Hi, thanks for raising a PR. I like the idea of having some spell check running, but I see from the failed action on the PR that a lot of the errors are in the java code when importing (e.g. errorprone) or annotations @AfterAll. Is there a way to make codespell more Java aware?

Hi @miles-six , thanks for raising a PR. I like the idea of having some spell check running, but I see from the failed action on the PR that a lot of the errors are in the java code when importing (e.g. errorprone) or annotations @AfterAll. Is there a way to make codespell more Java aware?

We can add these words to words.txt to skip check

Looks good, I think though these 4 words are legit typos and require fixing:
vie -> via
uptodate -> up-to-date
whats -> what's

Looks good, I think though these 3 words are legit typos and require fixing:

vie -> via
uptodate -> up-to-date
whats -> what's

yes,I updated the word.txt and fixed them!

Thanks for the PR. :) Happy to merge this. Can you just please rename the PR to Add Codespell workflow to be more descriptive

Thanks for the PR. :) Happy to merge this. Can you just please rename the PR to Add Codespell workflow to be more descriptive and we will merge it.

@StefanBratanov  Thanks for your response, I have renamed it!


Fix integer overflow when using long term (rememberme) sessions

If you are specifying values of over (roughly) 24 days in seconds (in cas.properties) the expression will result in negative integer values being assigned to the long fields.
# does not work, overflows to negative integer
tgt.maxTimeToLiveInSeconds=7776000

# works
tgt.maxTimeToLiveInSeconds=7776000L

This is a bit unexpected. There might be other cases where this is used, I'm really really pressed for time right now, so I'm only offering this bit, sorry.

very good. I suggest you apply the same change to all other policies?

Sorry I updated the original comment, but I'm really pressed for time right now. Just thought this was the quickest way to let you know exactly what I was talking about.

I can probably do it next week.

Sure this is a good starting point. Appreciate the patch. Whenever you get around to it, you should update all other policies as well. At this point, this is great but incomplete.
Thanks.

We are making some changes to the ticket registry API to ensure items are stored into the registry with their own expiration policy, rather than what's statistically defined in the cache. In view of those changes, I just want to add this note here, that certain registries do not support long values for idle/hard timeouts. I don't know which registry you use, but Ehcache and Memcached only support ints. Just be aware.

Closing this PR in favor of #1600.


Can't compiled behind GFW

Installing from source, npm pulls dependencies tree-sitter and downloading from github fails on my end. Is there any solution to this?
https://github.com/nvim-treesitter/nvim-treesitter/issues/6354

I've started including the pre-generated parser file in the repo now, so perhaps you can install it now without generating from source?


Creates the default zk address instead of falling back to frontend bind address

Why are the changes needed?

As the Spark driver may launch from another node, when we start the Kyuubi server with an embedded zookeeper and bind the frontend address to <IP_ADDRESS>, the backend engine can't register correctly.
This pr changes the default behavior of kyuubi.zookeeper.embedded.client.port.address, creates the default zookeeper address with local hostname instead of falling back to kyuubi.frontend.bind.host.
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

cc @ulysses-you @yaooqinn @pan3793

can you take a look at the test failure？

can you take a look at the test failure？

The Check all kyuubi configs failed. Due to the current documents check mechanism, we can't generate dynamic config at runtime (e.g. create a config entry with default value local hostname).
I will update later.

Codecov Report

Merging #1004 (99f0a14) into master (8383356) will increase coverage by 0.08%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #1004      +/-   ##
============================================
+ Coverage     79.97%   80.06%   +0.08%
  Complexity       11       11
============================================
  Files           151      152       +1
  Lines          5514     5552      +38
  Branches        643      644       +1
============================================
+ Hits           4410     4445      +35
- Misses          723      725       +2
- Partials        381      382       +1

Impacted Files
Coverage Δ

...la/org/apache/kyuubi/zookeeper/ZookeeperConf.scala
100.00% <100.00%> (ø)

...org/apache/kyuubi/ha/client/ServiceDiscovery.scala
45.52% <0.00%> (-0.82%)
:arrow_down:

.../org/apache/kyuubi/events/KyuubiSessionEvent.scala
92.30% <0.00%> (ø)

...in/scala/org/apache/kyuubi/config/KyuubiConf.scala
94.83% <0.00%> (+0.04%)
:arrow_up:

.../org/apache/kyuubi/session/KyuubiSessionImpl.scala
87.50% <0.00%> (+2.20%)
:arrow_up:

.../scala/org/apache/kyuubi/server/KyuubiServer.scala
58.69% <0.00%> (+2.88%)
: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 8383356...99f0a14. Read the comment docs.

thanks, merged to master


chore(deps): update module github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper to v1.2.11

This PR contains the following updates:

Package
Type
Update
Change

github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper
require
patch
v1.2.10 -> v1.2.11

Release Notes

terraform-ibm-modules/ibmcloud-terratest-wrapper
v1.2.11
Compare Source
Bug Fixes

deps: update module github.com/ibm/platform-services-go-sdk to v0.31.0 (#201) (a1c8717)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

@surajsbharadwaj can you check to see why these tests are failing?

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

GitHub release
v5.2.1

Your semantic-release bot :package::rocket:


Update ammonite-compiler_3.0.0, ... to 2.4.0-19-f4790b61

Updates

com.lihaoyi:ammonite-compiler_3.0.0
com.lihaoyi:ammonite-compiler_3.0.1
com.lihaoyi:ammonite-cross-23-repl-api_2.13.6
com.lihaoyi:ammonite-cross-23-repl_2.13.6

from 2.4.0-14-4824b429 to 2.4.0-19-f4790b61.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.lihaoyi" } ]

labels: library-update, semver-pre-release

Superseded by https://github.com/almond-sh/almond/pull/961.


React js Error: No matching state found in storage

Hi, how can I solve this problem?
Error: No matching state found in storage
I am working on React js, try with https://github.com/maxmantz/redux-oidc but it generates the same error.
Thank you,

looks like you're using a routing path for your redirect uri. you might need to manually parse the #/hash out of the URL and pass in just the protocol response params into the signinRedirectCalback.

I'm trying to make the adjustment you tell me, but it does not work.
Could you give me a guide?
The application of reac js is published in IIS.
Regards,

it's pretty obvious you have not looked at any of the sample. you should look at those to get started.

Considering I'm having the same issue, and have looked at the samples, for people somewhat new to OIDC, I feel that this is maybe a non-obvious problem/solution.

@galopez1995 how did you overcome this issue? I have looked at the samples, but there is no ReactJS samples, so I had to look at the AngularJS sample, but it didn't help.
This is how my code currently looks:
const loginCallback = () => {
    const currentUrl = window.location.href;
    const queryResponseTypeUserManager = new UserManager({
      response_mode: "query"
    })
      .signinRedirectCallback(currentUrl)
      .then(
        user => {
          setUser(user);
          navigate("/");
        },
        error => {
          console.error(error);
        }
      );
  };

Notice how I navigate away, I use @reach/route and navigate by doing navigate("/");.
Previously, I had .signinRedirectCallback() (with no url param being passed in) but I still got the same error. I'm not sure what I'm missing.

@brockallen would appreciate your input, still haven't gotten over this issue :(

I'm encountering the same issue. It seems that processSigninResponse in src/OidcClient.js is setting the removeState argument in readSigninResponseState to true. Won't that cause it to throw the "No matching state found in storage" error every time?

I think this commit may have introduced this issue: https://github.com/IdentityModel/oidc-client-js/commit/37534722820269e064aad2cb5c7fceb58b666794#diff-36b39266dfb9c6c57a95c9bda5e308e8

I was able to resolve my issue. My component was updating due to changes in props, triggering subsequent calls to signinRedirectCallback. However, after signinRedirectCallback is called the first time it purges the local storage so subsequent calls we failing. This explains why I was getting both the user data and the Promise error.
For other React devs, be sure your signinRedirectCallback is in useEffect or componentDidMount lifecycle methods.

Hey @frankieali ycould you please provide an example of your implementation? I am stuck with this error, too.

I used the same tutorial with the exception of swapping react router for reach router. You're probably seeing issues in incognito mode because this library will write authentication data to the local storage session to be recalled in the signinCallback step.  I believe various levels of incognito will prevent writing any data to local storage.

I created a demo app using the service methods described in Francisco Pastor Medium article. My app is for use with login.gov. Perhaps it will help. https://github.com/frankieali/react-login-gov

I was able to resolve my issue. My component was updating due to changes in props, triggering subsequent calls to signinRedirectCallback. However, after signinRedirectCallback is called the first time it purges the local storage so subsequent calls were failing. This explains why I was getting both the user data and the Promise error.
For other React devs, be sure your signinRedirectCallback is in useEffect or componentDidMount lifecycle methods.

I was trying to resolve this issue from last 4 days but this was suggestion to resolve the issue. Thanks a lot man.


Categorise chaincode operations by peer and gateway

Previous implementation was standalone functions, with all requiring both a gRPC connection and a client signing identity. This required:

An underisably large number of prameters.
Unwritten conventions on parameter ordering.
Documentation comments to highlight when the connection should be to a specific peer or to an organization gateway.
Duplication of arguments across multiple functions for calling code driving the chaincode lifecycle.

This implementation defines a Peer and Gateway struct that hold a gRPC connection and a client identity. Each of these types defines methods appropriate to their logical role to:

Avoid the need to provide gRPC connection and client identity arguments on every call.
Provide calling code with logical context for what they are interacting with.
Allow IDE code completion to suggest appropriate methods for the connection type.

For example, this pseudo-code flow:
chaincode.Install(ctx, peerConnection, id, chaincodePackage)
chaincode.Approve(ctx, gatewayConnection, id, chaincodeDefinition)
chaincode.Commit(ctx, gatewayConnection, id, chaincodeDefinition)

becomes:
peer.Install(ctx, chaincodePackage)
gateway.Approve(ctx, chaincodeDefinition)
gateway.Commit(ctx, chaincodeDefinition)

@SamYuan1990 @samuelvenzi What do you think of this as an approach?

I am good to see we simply the logic, but I have a question as chaincode.Install mapping to the same commend as peer chaincode install do we have any plan/idea to simply the peer CLI?

There are definitely some areas where a replacement admin CLI can be simplified compared to the existing peer CLI. The key one is that, for all existing peer CLI commands that submit a transaction to the ledger (which means all the ones on Gateway in this PR), the user needs to specify sufficient endorsing peers and the orderer(s) to which the endorsed transaction will be submitted. The admin SDK implementation makes use of the peer’s Gateway service to handle these interactions and so only ever requires a connection to a single (Gateway) peer for these interactions. This remains true for a BFT ordering service since the Gateway service handles the different ordering requirements for the consensus implementation.

Chaincode install talks directly to a specific peer so doesn’t use the Gateway service. It might not be possible to simplify that one. You could argue for a chaincode install command that allows multiple target peers to be specified, but I think that is going to make it harder to handle failure scenarios compared to just having the user script (or code) their own flow to drive install on each of the desired peers.

let's make it step by step, also we need to considering with existing user habits, this PR LGTM.

@bestbeforetoday Sorry it took me this long to respond. I def like this approach. I see that this is now a draft, but I'll keep an eye to check it again once it's ready.

There are two design aspects to consider here:

The change to a struct with receiver functions instead of standalone functions. The struct encapsulate the common properties (gRPC connection and client identity) to avoid them being passed to every function.
The separation of "Peer" and "Gateway" functions. This is a purely logical separation to distinguish between invocation that affect only the specific peer (like chaincode install) and those that affect the wider network (like chaincode commit).

The changes to the e2e test best demonstrate what this means to end users.
The e2e tests maintained a ConnectionDetails struct within the test code, since these parameters were required for each chaincode invocation:
type ConnectionDetails struct {
	id         identity.SigningIdentity
	connection grpc.ClientConnInterface
}

This and all of the code to populate and make of it is removed since the Peer (and Gateway) structs within the API perform the same function:
org1Peer1 := chaincode.NewPeer(peer1Connection, org1MSP)
org1Gateway := chaincode.NewGateway(peer1Connection, org1MSP)

The chaincode function invocations are similarly simplified. For example:
result, err := chaincode.Install(ctx, target.connection, target.id, bytes.NewReader(chaincodePackage))

becomes:
result, err := peer.Install(ctx, bytes.NewReader(chaincodePackage))

Note that a similar change is made to the discovery package. The chaincode and discovery packages do not share a single Peer definition because the discovery service may require some additional configuration not shared by the chaincode functions.
The separation of Peer and Gateway structs is a matter for debate. Gateway peers are of course also peers so a single Peer struct could be used to provide all the chaincode functions. This would require fewer objects in the client application code. The question in my mind is whether the logical separation delivers value in guiding users to correctly use the API. Does having Peer and Gateway separate help clarify the scope of each of the operations for an application developer, or is the simplicity of a single Peer struct preferred.
If you are happy with the approach implemented here, the PR is ready to merge. If you prefer an alternative design, I'm happy to make changes. What do you think?

I am going to approve this PR, @samuelvenzi , any further comments?

@SamYuan1990 No further comments. The change makes the operation scope clearer


Example config

Hello
could you provide example for config?
i like the one that is display propane, bubble...
Tks

please check the readme


🐞24h Cryptocurrency Market Report-information does exist

@RachitSahu26 : Refresh the page after 1 min, it might be 429 too many requests for coingecko


Can the incomplete peg circles readily be made complete?

Perhaps hack the XML to change the circle type.

I can't find the incomplete peg circles anymore ... had I already fixed this?


[REQUEST] TFDatasetMultiShotMemorySampler for custom datasets

hi, I am testing using different dataflows for training, I have tested using the sampler and the dataset (using tf.keras.utils.image_dataset_from_directory), I have found that loading the data and feeding it to the sampler ends up with a very different max batch size for the same gpu, 20 in one, over 30 in other, the dataset is the one that can have the most, but the data is not divided in a good way per batch, so, I want to try the dataset as the input for the memory sampler, but the current function is made to only download a non custom dataset, I will try modifications to make it work but I don't think my code will be generic and I haven't used overload functions before so I leave this as a request that should be simple to implement.

Hi Lunatik00, apologies for the slow response. We currently support loading custom data using the MultiShotMemorySampler. The data is loaded into memory and properly sampled over the classes to ensure that the batches are created correctly. However, some datasets can be too large to hold in memory, e.g., larger image datasets.
Fortunately, we just had a recent PR that adds support for loading examples from disk, see here. You'll need to pass the paths to your examples as the x input and then the load function will take that path and load the example from disk when constructing the batches.
Hopefully this helps, but let me know if you run into issues.


Extend the onEvCertificate callback with session info

Currently, it just contains the hostname and I'd like it to have at least the session ID.

Merged, core/pull-requests/272


fix(source-map): better handling of multi-byte characters

Description:
Uses character lengths instead of byte lengths in some places.
Related issue (if exists):
Closes #5145

@kdy1 Note - we have the same bug in CSS codegen crate too (and in HTML, but HTML doesn't support source maps), so I will fix it after we merge it for ECMA

I wrote a test for this and it seems to have fixed the destination, but there's still a bug in here in the source column so I'm trying to track that down. Compiling swc uses all my 64GB of memory in WSL 😅


chore(main): release 1.0.1

:robot: I have created a release beep boop
1.0.1 (2023-10-13)
Bug Fixes

change classes and interfaces name (fc340f6)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/Basalt-Lab/basalt-auth/releases/tag/v1.0.1 :sunflower:


add scope to named credential setup instructions

Named Credential setup screenshot shows one Scope (which includes 'full' and works) but text instructions show another (which does not include 'full' and does not work -- returns INVALID_SESSION_ID). Added 'full' to Scope instructions in Named Credential setup text.

Now that there is an Apex method for doing the search as of Summer '21, this should not be needed. The PLP search should be changed to use the Apex instead.
Search products
ConnectApi.CommerceSearch searchProducts(webstoreId, effectiveAccountId, productSearchInput)


Requires Quarto pre-release version 1.5 ?

The YAML file requires Quarto version 1.5 or higher.  v1.5 is a pre-release and the current stable version is 1.4.551. Won't install otherwise.

Thanks @MichaelRFox ; it should run with anything after 1.3, so I've updated the metadata to reflect that. Let me know if anything breaks.


Update operation

See #57
In this ticket, we should take a decision about how the delete operation will be written with the Datastax driver and/or LowLevelAPI.

Once created the methods detailed in issue #70, the update operation will be written as follows:
Update
# CQL
UPDATE User SET name = <newName> WHERE id = <myId>;

// Datastax code
val prepSt = session.prepare("UPDATE User SET name = ? WHERE id = ?")
val boundStatement = prepSt.bind()
boundStatement.setBytesUnsafe("name", c1.serialize((user.name)))
boundStatement.setBytesUnsafe("id", c2.serialize(user.id))
val resultSet = session.execute(boundStatement)

   import lowLevelAPI._

    for {
      preparedStatement <- prepare("UPDATE User SET name = ? WHERE id = ?")
      boundedStatement  <- bind(preparedStatement)
      _                 <- setBytesUnsafe[String](boundedStatement, "name", user.id)
      _                 <- setBytesUnsafe[UUID](boundedStatement, "id", user.id)
      resultSet         <- executeStatement(boundedStatement)
    } resultSet

@fedefernandez could you please review this? Thanks!

Looks good! :+1:


Add rustup run --install

This fixes #1293. See discussion there.

I’d appreciate a new release with this change. Sorry I missed that more would be needed before I asked for 1.7!

r? @Diggsey

@bors r+

:pushpin: Commit 9d095e2 has been approved by Diggsey

:hourglass: Testing commit 9d095e2d9a9d1e10593a7e4e7987f2917d8a4ed9 with merge a1f0d0d47b7a4d56cf1e0d028310b70412057067...

:sunny: Test successful - status-appveyor, status-travis
Approved by: Diggsey
Pushing a1f0d0d47b7a4d56cf1e0d028310b70412057067 to master...


Allow using GitHub's new fine-grained personal access token's in github-authenticator.

I would like to use a fine-grained personal access token to authenticate to github, instead of the ouath flow. I have access to a bunch of repositories, across multiple organizations, and I'd like to limit the scope of the access that I grant to VS Code.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


chore: bump starknet-crypto to v0.6.1

Update starknet-crypto
Description
The new version contains a bug fix on ECDSA signature verification. Previously, the s range was incorrectly enforced to be lower than EC order instead of element bound. While this did not allow invalid signatures to be used, it was theoretically possible (1 in 2^48 signatures) to have a signature that passes verify yet cannot be proven (due to being out of element bound).
This wouldn't be an issue though, as long as other parts of the VM already enforce the range, but I'm not sure if it's the case. But in any case it wouldn't be a bad thing to upgrade anyways.
Checklist

[ ] Linked to Github Issue
[ ] Unit tests added
[ ] Integration tests added.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.
[ ] CHANGELOG has been updated.

Okay so I need to update changelog.


Add ability to deserialize enums from SeqAccessDeserializer

Motivation of this PR is following: when I rebase #1922 I noticed, that test, introduced in the first commit of #2303 failed after the change. That failure appeared after changing
// seq: A where A: SeqAccess
let rest = SeqAccessDeserializer::new(seq);
let content = try!(Content::deserialize(rest));
let deserializer = ContentDeserializer::<A::Error>::new(content);
// use `deserializer`

to
// seq: A where A: SeqAccess
let deserializer = SeqAccessDeserializer::new(seq);
// use `deserializer`

i. e. after removing intermediate bufferisation step. Because code for the MapAccessDeserializer is the same and it does not suffer from such problem, I checked the difference and realized, that MapAccessDeserializer has a special handling fo the Deserializer::deserialize_enum hint:
https://github.com/serde-rs/serde/blob/25381be0c93f32aa43ce0e399c45442965e81ecc/serde/src/de/value.rs#L1474-L1484
which is missing for the SeqAccessDeserializer.
Because SeqAccessDeserializer is used in such context when deserialize_enum could be requested from it, I think, it should provide the special implementation for that.
This implementation is following: enum is represented as:

two elements, where the first element is a tag and the second is a content
one element: a special case for unit variants, where the second element for content can be missed

Additionally, this PR:

extends testcases to cover all possible enum variants (Unit, Newtype, Tuple and Struct)
extends testcases to cover negative scenarios (wrong tag, empty map / seq, missing content for seq)
changes the error message for the empty map for MapAccessDeserializer from invalid type: map, expected enum to invalid length: 0, expected enum, because actually map is expected, but it should not be empty
document behavior of Deserializer::deserialize_enum for MapAccessDeserializer and SeqAccessDeserializer

I cannot remember exactly, why I decided to make SeqAccessDeserializer behaves like MapAccessDeserializer when working with enums. The whole situation with test from #2303 looked strange for me but I remember that I got deal with it. I need to restore the whole chain of reasoning, this can take some time.

I remembered the chain of reasoning. To make sure #1922 doesn't break existing behavior, I decided to add the missing tests. One of the tests is the deserialization of ExternallyTagged enums that are inside of InternallyTagged enums:
#[derive(Deserialize)]
enum ExternallyTagged {
  Unit,
}

#[derive(Deserialize)]
#[serde(tag = "tag")]
enum InternallyTagged {
  StructWithEnum { f: ExternallyTagged },
}

Internally tagged enums can be represented either as maps or as sequences:
[
  { "tag": "StructWithEnum", "f": "Unit" },
  ["StructWithEnum", "Unit"],
]

You can make sure that on playground.
Currently internally tagged enums always use bufferisation and ExternallyTagged enum will be deserialized from ContentDeserializer:
https://github.com/serde-rs/serde/blob/3aca38d2d3c9b5dba9bcb25be2e16bde6678dbf6/serde_derive/src/de.rs#L1399-L1406
After optimisation in #1922 in the optimized case ExternallyTagged will be deserialized either from MapAccessDeserializer or SeqAccessDeserializer, because intermediate bufferisation step will be skipped here:
https://github.com/serde-rs/serde/blob/3aca38d2d3c9b5dba9bcb25be2e16bde6678dbf6/serde/src/private/de.rs#L853-L894
Without changes in this PR the test from playground failed for #1922 (I've put it to serde's test_suite/regression/issue2445.rs for check):
---- regression::issue2445::seq stdout ----
thread 'regression::issue2445::seq' panicked at test_suite\tests\regression\issue2445.rs:28:71:
called `Result::unwrap()` on an `Err` value: Error("invalid type: sequence, expected internally tagged enum InternallyTagged", line: 1, column: 0)

Then I realized that deserialization tests of externally tagged from MapAccessDeserializer are incomplete and completely missing for SeqAccessDeserializer. So I've added them. Because both deserializers used in the same circumstances it looks reasonable that they should behave the same.


Incompliant JWK Thumbprints with leading zeroes

Hi there!
It seems that dehydrated is generating JWA JWK thumbprints that don't match the specification. This came to my attention as part of this Let's Encrypt community forum thread.
Section 2 of RFC 7518 defines Base64urlUInt as:
      The representation of a positive or zero integer value as the
      base64url encoding of the value's unsigned big-endian
      representation as an octet sequence.  The octet sequence MUST
      utilize the minimum number of octets needed to represent the
      value.  Zero is represented as BASE64URL(single zero-valued
      octet), which is "AA".

Further, Section 6.3 indicates that all of the RSA key parameters are expressed as Base64urlUInt.
It's not immediately obvious but the portion of the Base64urlUInt description that mandates that the sequence use the minimum number of octets means that leading zero's should be removed. You can see how Go-Jose implements this as one example of a complaint implementation.
It doesn't look to me that dehydrated strips leading zeroes presently to match the specification. I believe this might be the root cause of Issue #268 and is likely to cause further problems down the road for users that hit this corner case.
Unfortunately I don't work with bash or dehydrated enough to propose a patch, but hopefully it won't be difficult to address! Let me know if I can provide any other information.

@cpu hey, can you check if that commit fixed the problem?

@lukas2511 I'm afraid I'm not a user of dehydrated and don't have a reproduction case. Apologies.

Commit was reverted in a316a094df8d3d4b25673cfbb1197f646781e48f because of problems with freebsd, reopening this ticket for now

I wasn't ever able to reproduce any issues with this myself and it seems to be working fine... I'll close this issue until I have a reliable way of testing this. For the (seemingly very rare) case of people having this problem I'd suggest just trying to delete the key in question (or better: send it to me for testing! – of course only if there isn't anything validated with that yet) and let the script generate a new one.


Document how do we view the docs on the latest tagged version

I had the misconception that a feature existed in the latest version when it didn't in #3286. Going through the issues, it seems like a lot of people had similar misconceptions.
I realize now it's simply looking at changelog https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md. Perhaps there should be an honorable mention in the readme :stuck_out_tongue:

What would you suggest?
"Check the tag, not master" is kind of universal github knowledge; it's not scalable to document it in every readme.

Hmm, good question. To start with, it's not quite universal because some repos use master/ main as the the release and keep unreleased features in a branch such as dev/ develop/ next etc. < insert xkcd about standards >
To start with, the top can have a comment like
Before using a rule, check the [changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md) for its status.

(wording could use some work) and perhaps a section in faq with the suggestion to check the changelog status for the error should NOT have additional properties.
I think just making this issue might've also helped for when people may search should NOT have additional properties :shrug:

It's pretty universal; it's exceedingly rare for repos to use the workflow you're describing.
I'm happy to review a PR, but I also don't want to document basic github (or eslint) knowledge if it's avoidable.


Module post actions

Close https://github.com/jhipster/jhipster-lite/issues/1864

@DamnClin : you have some conflicts with the previous merge. Can you rebase plz?


Use proper compilation mode for rustfmt buffer.

A proposal to fix #204.

r? @brotzeit
(rust_highfive has picked a reviewer for you, use r? to override)

Maybe we should use define-compilation-mode and give the mode a different name to avoid confusion.


Scatter Plot X-axis is unreadable

I've got a scatter plot which uses days as the x-axis (starting from day 0).  However, the x-axis has no controls over how many "ticks" to display.  There is no data in the (x.5) day tick, yet these are being displayed and the number of x-axis "ticks" essentially make it unreadable as a result.

In the query builder/script editor mode, the x-axis is readable, but somehow this doesn't translate to the dashboard once saved.

The spacing between ticks made an assumption that _time would always be on the horizontal axis and _value would always be on the vertical axis. In practice, either axis can be _time or _value or even both.
The spacing between ticks is subject to design considerations. So, the ultimate solution would be a feature request to allow user to control the tick generation: allow both the step (difference between each tick) and also the number of ticks marked on the axes.
As a default, we will apply minimum spacing with these rules:

when there are less than 4 ticks:
for each tick, spacing is one-quarter of the length of a tick
thusly: 0.25, 0.50, 0.75 of a tick's length as spacing for 1, 2, and 3 ticks respectively
when there are 4 to 10 ticks:
sum of all tick lengths is shorter than total available space by at least one tick's length
when there are more than 10 ticks:
for every group of up to 10 ticks there is spacing equal at least 1 tick's length
length of a tick is:
vertically: average of the height and width of a span that wraps the formatted last tick in the range
horizontally: the width of a span that wraps the formatted last tick in the range


v11 - Secret Group test not working

When using the "Secret Group Test" macro from the v6.0.4 compendium, the following error is displayed :

In addition, the "Group test settings" in the Foundry settings area is empty :

Hi ... I can't reproduce this on v10.291 or v11.300 under WFRP4e 6.5.8 and GMT 6.0.4, using v0.9.5 (2022-08-04) of the macro.

[ ] Can you confirm the versions of Foundry, wfrp4e system, Toolkit and the macro please
[ ] Can you tell me steps to reproduce the first error?
[ ] At what point in that sequence the console error shows.

Some things to try which might help diagnose. If you can have a go and let me know what happens in each case, that would be great.

[ ] Run Interactive Test
The first error suggests you might be running the group test silently. Can you check and set line 23 of the macro to

const interactive = true

[ ] Run Silent Test with Specified Test Skill
When that line sets interactive = false, can you also uncomment line 14 which will specify a testSkill parameter.

[ ] Disable Babele
Are you using Babele? If so, what happens when you try to launch group test if it is disabled?  You will need to re-launch the world for the Toolkit skill list to rebuild (though I expect that will happen anyway if Babele is turned off).

[ ] Run from Macro Directory
Are you running the macro directly from the compendium, or have you imported it into the world and are running it directly from the GM Toolkit folder in the Macro Directory (and not a hotbar shortcut)?

[ ] Are the other GM Toolkit settings functioning as expected, especially Dark Whispers and Module Maintenance?

Hi ! I did some checks and investigations, and found that the issue is linked to the French WFRP4 module.
It is related to some obscure effects in psychologies and mutations : it is fixed now !
I close the issue :)

Closing


decouple pmwebd & pmcd requirement at target instance

It could be convenient if the minimum requirement at an instance target is pmcd, i.e., no pmwebd.  This could work if the pmwebd instance that serves pmapi (and perhaps the static webapp assets) is used not just for "/pmapi/context?hostname=localhost" but general "/pmapi/context?hostname=TARGET".  Basically, make it possible to use a central pmwebd as a proxy to remote pmcds.  (This could have negative performance implications, so should probably be optional.)

Adding a "target" hostname parameter should be simple. Just need to think on the best way of displaying it in the UI without breaking the experience.

Yeah, maybe a checkbox beside the outer hostname, saying whether "local pmcd?"; and if not, then expose another text box where the remote pmcd hostspec can be specified.  That second string could include exciting suffixes like ?user=FOO&pass=BAR&container=DEADBEEF.

@spiermar - I'd appreciate a review over the fche-issue-2 branch code.

got it @fche I'm merging and testing another change, but as soon as I'm done with that, I'll check it out :-)

The fche-issue-2a branch was rebased to the new directory layout.

@spiermar I have been thinking about the way the proposed code automagically sets the pmebapi connection parameters from the window.location, by assuming that the webapp is being served by pmwebd itself.  If that assumption is wrong (so the webapp is being served by python or whatever, on some unusual port), the initial pmwebd connection has to be fixed manually (and the :44323 vectorConfig stuff doesn't come into play).
So ... here's a possibility to let both situations work.  We could add a "Server:" response header into pmwebd, so that the webapp can look for that: if it says "pmwebd", then stay with the given port.  If it doesn't, override the port number to 44323.

2a3e08a8636ad27b061b695622141023dce7c1ab probably solved this.

Is there a doc that I could link to on how to write the hostspec params (&container=FOO, etc)?

There's a man page describing the C API that parses these - __pmParseHostAttrsSpec(3).
A short discussion also exists over in PCPIntro(1) in the "PMCD HOST SPECIFICATION" section.

http://www.pcp.io/man/man3/pmparsehostattrsspec.3.html ?
Have a few comments on the PR too, https://github.com/Netflix/vector/pull/51

@spiermar yes, that's the one.

Great! I'll add a link to the documentation. I'm adding the option to change the default port via UI, but besides that, I think the recent changes cover @fche 's concerns.

Changing port is done. See 6b95f49b9328999a94a9a3b10bca20f7791f6448


activity feed

height should wrap / be shorter  (contract interaction widget should be on top, gets pushed really low)
popover has transparent background?

overall unsure about the popover, feels a bit clunky to explore my events. Maybe accordeon that keeps stuff open would feel better?

btw i'm down to help on the UI here if you want, just polishing it a bit (the interaction widget too)

I fixed the obvious issues just now, will ship but feel free to jump in and clean things up as you find them anytime


postgress password hostname and db settings.

Apologies, as this is the only forum I am aware of to ask this question. I do not know of any dispatch specific forums. If they exist, please let me know.
I cloned, copied over the .env.example to .env . I made a few adjustments, and ran install.sh
I am not sure what to set these values to:
DATABASE_CREDENTIALS=creds
DATABASE_HOSTNAME=postgres
DATABASE_NAME=dispatch
DATABASE_PORT=5432
Where are the default creds set? I've tried just putting a value in for the credentials, but I get the error below. Presubably, the install.sh script is building the postgress container. I would assume, when it did so, it would set a password. So, what is the default password for this? Or is there a postgres,.conf file (not found) that I need to modify? What is the right thing to do here?

Docker images built.
Setting up database...
Usage: dispatch [OPTIONS] COMMAND [ARGS]...
Command-line interface to Dispatch.
Options:
--version  Show the version and exit.
--help     Show this message and exit.
Commands:
contact    All commands for contact...
database   Container for all dispatch
database...
incident   All commands for incident...
plugins    All commands for plugin...
scheduler  Container for all dispatch...
server     Container for all dispatch server...
term       All commands for term manipulation.
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2285, in _wrap_pool_connect
return fn()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 303, in unique_connection
return _ConnectionFairy._checkout(self)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 773, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 492, in checkout
rec = pool._do_get()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/impl.py", line 238, in _do_get
return self._create_connection()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 308, in _create_connection
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 437, in init
self.__connect(first_connect_check=True)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 657, in connect
pool.logger.debug("Error on connect(): %s", e)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 68, in exit
compat.raise(
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 178, in raise
raise exception
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 652, in __connect
connection = pool._invoke_creator(self)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/strategies.py", line 114, in connect
return dialect.connect(*cargs, **cparams)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 488, in connect
return self.dbapi.connect(*cargs, **cparams)
File "/usr/local/lib/python3.8/site-packages/psycopg2/init.py", line 126, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: fe_sendauth: no password supplied
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/bin/dispatch", line 8, in
sys.exit(entrypoint())
File "/usr/local/lib/python3.8/site-packages/dispatch/cli.py", line 811, in entrypoint
dispatch_cli()
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 829, in call
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/dispatch/cli.py", line 592, in upgrade_database
alembic_command.upgrade(alembic_cfg, revision, sql=sql, tag=tag)
File "/usr/local/lib/python3.8/site-packages/alembic/command.py", line 298, in upgrade
script.run_env()
File "/usr/local/lib/python3.8/site-packages/alembic/script/base.py", line 489, in run_env
util.load_python_file(self.dir, "env.py")
File "/usr/local/lib/python3.8/site-packages/alembic/util/pyfiles.py", line 98, in load_python_file
module = load_module_py(module_id, path)
File "/usr/local/lib/python3.8/site-packages/alembic/util/compat.py", line 184, in load_module_py
spec.loader.exec_module(module)
File "", line 783, in exec_module
File "", line 219, in _call_with_frames_removed
File "/usr/local/lib/python3.8/site-packages/dispatch/alembic/env.py", line 84, in
run_migrations_online()
File "/usr/local/lib/python3.8/site-packages/dispatch/alembic/env.py", line 74, in run_migrations_online
with connectable.connect() as connection:
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2218, in connect
return self._connection_cls(self, **kwargs)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 103, in init
else engine.raw_connection()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2317, in raw_connection
return self._wrap_pool_connect(
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2288, in _wrap_pool_connect
Connection.handle_dbapi_exception_noconnection(
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1554, in handle_dbapi_exception_noconnection
util.raise(
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 178, in raise
raise exception
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2285, in _wrap_pool_connect
return fn()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 303, in unique_connection
return _ConnectionFairy._checkout(self)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 773, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 492, in checkout
rec = pool._do_get()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/impl.py", line 238, in _do_get
return self._create_connection()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 308, in _create_connection
return _ConnectionRecord(self)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 437, in init
self.__connect(first_connect_check=True)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 657, in connect
pool.logger.debug("Error on connect(): %s", e)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 68, in exit
compat.raise(
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 178, in raise
raise exception
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 652, in __connect
connection = pool._invoke_creator(self)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/strategies.py", line 114, in connect
return dialect.connect(*cargs, **cparams)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 488, in connect
return self.dbapi.connect(*cargs, **cparams)
File "/usr/local/lib/python3.8/site-packages/psycopg2/init.py", line 126, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) fe_sendauth: no password supplied
(Background on this error at: http://sqlalche.me/e/e3q8)
Cleaning up...

Hi,
Please try it like this:
DATABASE_CREDENTIALS=dispatch:dispatch

Apologies, as this is the only forum I am aware of to ask this question. I do not know of any dispatch specific forums. If they exist, please let me know.
I cloned, copied over the .env.example to .env . I made a few adjustments, and ran install.sh
I am not sure what to set these values to:
DATABASE_CREDENTIALS=creds
DATABASE_HOSTNAME=postgres
DATABASE_NAME=dispatch
DATABASE_PORT=5432
Where are the default creds set? I've tried just putting a value in for the credentials, but I get the error below. Presubably, the install.sh script is building the postgress container. I would assume, when it did so, it would set a password. So, what is the default password for this? Or is there a postgres,.conf file (not found) that I need to modify? What is the right thing to do here?
Docker images built.
Setting up database...
Usage: dispatch [OPTIONS] COMMAND [ARGS]...
Command-line interface to Dispatch.
Options:
--version Show the version and exit.
--help Show this message and exit.
Commands:
contact All commands for contact...
database Container for all dispatch
database...
incident All commands for incident...
plugins All commands for plugin...
scheduler Container for all dispatch...
server Container for all dispatch server...
term All commands for term manipulation.
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2285, in _wrap_pool_connect
return fn()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 303, in unique_connection
return _ConnectionFairy._checkout(self)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 773, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 492, in checkout
rec = pool._do_get()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/impl.py", line 238, in _do_get
return self._create_connection()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 308, in _create_connection
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 437, in init
self.__connect(first_connect_check=True)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 657, in connect pool.logger.debug("Error on connect(): %s", e) File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 68, in exit compat.raise( File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 178, in raise
raise exception
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 652, in __connect
connection = pool._invoke_creator(self)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/strategies.py", line 114, in connect
return dialect.connect(*cargs, **cparams)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 488, in connect
return self.dbapi.connect(*cargs, **cparams)
File "/usr/local/lib/python3.8/site-packages/psycopg2/init.py", line 126, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: fe_sendauth: no password supplied
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/bin/dispatch", line 8, in
sys.exit(entrypoint())
File "/usr/local/lib/python3.8/site-packages/dispatch/cli.py", line 811, in entrypoint
dispatch_cli()
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 829, in call
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/dispatch/cli.py", line 592, in upgrade_database
alembic_command.upgrade(alembic_cfg, revision, sql=sql, tag=tag)
File "/usr/local/lib/python3.8/site-packages/alembic/command.py", line 298, in upgrade
script.run_env()
File "/usr/local/lib/python3.8/site-packages/alembic/script/base.py", line 489, in run_env
util.load_python_file(self.dir, "env.py")
File "/usr/local/lib/python3.8/site-packages/alembic/util/pyfiles.py", line 98, in load_python_file
module = load_module_py(module_id, path)
File "/usr/local/lib/python3.8/site-packages/alembic/util/compat.py", line 184, in load_module_py
spec.loader.exec_module(module)
File "", line 783, in exec_module
File "", line 219, in _call_with_frames_removed
File "/usr/local/lib/python3.8/site-packages/dispatch/alembic/env.py", line 84, in
run_migrations_online()
File "/usr/local/lib/python3.8/site-packages/dispatch/alembic/env.py", line 74, in run_migrations_online
with connectable.connect() as connection:
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2218, in connect
return self._connection_cls(self, **kwargs)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 103, in init
else engine.raw_connection()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2317, in raw_connection
return self._wrap_pool_connect(
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2288, in _wrap_pool_connect
Connection.handle_dbapi_exception_noconnection( File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1554, in handle_dbapi_exception_noconnection util.raise( File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 178, in raise
raise exception
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2285, in _wrap_pool_connect
return fn()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 303, in unique_connection
return _ConnectionFairy._checkout(self)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 773, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 492, in checkout
rec = pool._do_get()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/impl.py", line 238, in _do_get
return self._create_connection()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 308, in _create_connection
return _ConnectionRecord(self)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 437, in init
self.__connect(first_connect_check=True)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 657, in connect pool.logger.debug("Error on connect(): %s", e) File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 68, in exit compat.raise( File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 178, in raise
raise exception
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 652, in __connect
connection = pool._invoke_creator(self)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/strategies.py", line 114, in connect
return dialect.connect(*cargs, **cparams)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 488, in connect
return self.dbapi.connect(*cargs, **cparams)
File "/usr/local/lib/python3.8/site-packages/psycopg2/init.py", line 126, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) fe_sendauth: no password supplied
(Background on this error at: http://sqlalche.me/e/e3q8)
Cleaning up...

Please adjust the credentials on the .env file like this:
DATABASE_CREDENTIALS=dispatch:dispatch
The format must always be  user:pass

Hi,
Please try it like this:
DATABASE_CREDENTIALS=dispatch:dispatch
The format must always be user:pass

Apologies, as this is the only forum I am aware of to ask this question. I do not know of any dispatch specific forums. If they exist, please let me know.
I cloned, copied over the .env.example to .env . I made a few adjustments, and ran install.sh
I am not sure what to set these values to:
DATABASE_CREDENTIALS=creds
DATABASE_HOSTNAME=postgres
DATABASE_NAME=dispatch
DATABASE_PORT=5432
Where are the default creds set? I've tried just putting a value in for the credentials, but I get the error below. Presubably, the install.sh script is building the postgress container. I would assume, when it did so, it would set a password. So, what is the default password for this? Or is there a postgres,.conf file (not found) that I need to modify? What is the right thing to do here?
Docker images built.
Setting up database...
Usage: dispatch [OPTIONS] COMMAND [ARGS]...
Command-line interface to Dispatch.
Options:
--version Show the version and exit.
--help Show this message and exit.
Commands:
contact All commands for contact...
database Container for all dispatch
database...
incident All commands for incident...
plugins All commands for plugin...
scheduler Container for all dispatch...
server Container for all dispatch server...
term All commands for term manipulation.
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2285, in _wrap_pool_connect
return fn()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 303, in unique_connection
return _ConnectionFairy._checkout(self)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 773, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 492, in checkout
rec = pool._do_get()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/impl.py", line 238, in _do_get
return self._create_connection()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 308, in _create_connection
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 437, in init
self.__connect(first_connect_check=True)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 657, in connect pool.logger.debug("Error on connect(): %s", e) File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 68, in exit compat.raise( File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 178, in raise
raise exception
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 652, in __connect
connection = pool._invoke_creator(self)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/strategies.py", line 114, in connect
return dialect.connect(*cargs, **cparams)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 488, in connect
return self.dbapi.connect(*cargs, **cparams)
File "/usr/local/lib/python3.8/site-packages/psycopg2/init.py", line 126, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: fe_sendauth: no password supplied
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/bin/dispatch", line 8, in
sys.exit(entrypoint())
File "/usr/local/lib/python3.8/site-packages/dispatch/cli.py", line 811, in entrypoint
dispatch_cli()
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 829, in call
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/dispatch/cli.py", line 592, in upgrade_database
alembic_command.upgrade(alembic_cfg, revision, sql=sql, tag=tag)
File "/usr/local/lib/python3.8/site-packages/alembic/command.py", line 298, in upgrade
script.run_env()
File "/usr/local/lib/python3.8/site-packages/alembic/script/base.py", line 489, in run_env
util.load_python_file(self.dir, "env.py")
File "/usr/local/lib/python3.8/site-packages/alembic/util/pyfiles.py", line 98, in load_python_file
module = load_module_py(module_id, path)
File "/usr/local/lib/python3.8/site-packages/alembic/util/compat.py", line 184, in load_module_py
spec.loader.exec_module(module)
File "", line 783, in exec_module
File "", line 219, in _call_with_frames_removed
File "/usr/local/lib/python3.8/site-packages/dispatch/alembic/env.py", line 84, in
run_migrations_online()
File "/usr/local/lib/python3.8/site-packages/dispatch/alembic/env.py", line 74, in run_migrations_online
with connectable.connect() as connection:
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2218, in connect
return self._connection_cls(self, **kwargs)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 103, in init
else engine.raw_connection()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2317, in raw_connection
return self._wrap_pool_connect(
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2288, in _wrap_pool_connect
Connection.handle_dbapi_exception_noconnection( File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1554, in handle_dbapi_exception_noconnection util.raise( File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 178, in raise
raise exception
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2285, in _wrap_pool_connect
return fn()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 303, in unique_connection
return _ConnectionFairy._checkout(self)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 773, in _checkout
fairy = _ConnectionRecord.checkout(pool)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 492, in checkout
rec = pool._do_get()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/impl.py", line 238, in _do_get
return self._create_connection()
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 308, in _create_connection
return _ConnectionRecord(self)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 437, in init
self.__connect(first_connect_check=True)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 657, in connect pool.logger.debug("Error on connect(): %s", e) File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 68, in exit compat.raise( File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 178, in raise
raise exception
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 652, in __connect
connection = pool._invoke_creator(self)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/strategies.py", line 114, in connect
return dialect.connect(*cargs, **cparams)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 488, in connect
return self.dbapi.connect(*cargs, **cparams)
File "/usr/local/lib/python3.8/site-packages/psycopg2/init.py", line 126, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) fe_sendauth: no password supplied
(Background on this error at: http://sqlalche.me/e/e3q8)
Cleaning up...

I tried this and I got the error for invalid password now, any ideas?
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 178, in raise_
raise exception
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/pool/base.py", line 652, in __connect
connection = pool._invoke_creator(self)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/strategies.py", line 114, in connect
return dialect.connect(*cargs, **cparams)
File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 488, in connect
return self.dbapi.connect(*cargs, **cparams)
File "/usr/local/lib/python3.8/site-packages/psycopg2/init.py", line 126, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) FATAL:  password authentication failed for user "dispatch"
(Background on this error at: http://sqlalche.me/e/e3q8)
Cleaning up...

@mindfunk my previous post was assuming you also have these:
DATABASE_CREDENTIALS=dispatch:dispatch
POSTGRES_PASSWORD=dispatch
POSTGRES_USER=dispatch

I encountered the same errors. Thanks for the post.

Running into the exact same problem, and my settings are -
# Database
DATABASE_CREDENTIALS=dispatch:w00bly
DATABASE_HOSTNAME=postgres
DATABASE_NAME=dispatch
DATABASE_PORT=5432
POSTGRES_DB=dispatch
POSTGRES_PASSWORD=w00bly
POSTGRES_USER=dispatch

I've tried it with "dispatch:dispatch" too.
Tuc

Try with postgres:dispatch, that is user postgres, password dispatch.  AFAICT, the installation doesn't create the dispatch user in the PG database.  Even if you define the POSTGRES_* variables, I don't see anywhere in the code that is used, so I think it's just using the defaults.

I've updated the example env with the correct default parameters. An important note that I think is covered above but want to highlight:
DATABASE_CREDENTIALS=username:password
must match:
POSTGRES_USER=username
POSTGRES_PASSWORD=passwoird

I'm still getting the same error message : fatal:  password authentication failed for user even after setting the POSTGRES_USER and POSTGRES_PASSWORD and matching it with the DATABASE_CREDENTIALS.

looks like the "fatal: password authentication failed for user" is still there during ./install.sh. I am also facing this issue

removing the docker volume 'dispatch-postgres' and re-run the install.sh script resolved the issue for me.


Infer method argument types from interface.

Hi,
This has likely been asked before, and suspect there has probably been some consensus reached on the following. But curious with respect to the following implementation that seems to allow for breaking issues when not compiling in strict and Parameter 'x' implicitly has an 'any' type errors when compiling in strict when the type of x should be obvious.
interface IFoo {
    add(a: number, b: number): number
}
// class satisfies interface (non-strict)
class Foo implements IFoo {
   // can't `a` and `b` be inferred to be of type `number` ?
   public add(a, b) {
        return a + b
    }
}

const foo = new Foo()
foo.add("hello", "world") // allowed (non-strict)

Are there any future plans to perhaps have TS statically resolve the arguments a and b when implementing from an interface in this way?
Many Thanks

Duplicate of #23911.

@mattmccutchen thanks will track there.