uCellSockCleanup

Hi there
We see a potential problem in uCellSockCleanup which was introduced in commit 3ffd36f.
In uSockCleanUp all URCs are removed if at least one socket is closed.
As a result, uCellSockGetBytesPending() no longer works for sockets that are still open.
as an example:

We open a UDP socket and check with uCellSockGetBytesPending whether new data is available.
we open another TCP socket and transfer some data.
the TCP socket is closed.
uCellSockGetBytesPending will always return zero because the +UUSORD URC has been removed.

Does that make sense or am I wrong?

Hi there.  Yes, I think you are right, I had misinterpreted my own comment above uCellSockCleanup():
https://github.com/u-blox/ubxlib/blob/1b94ec51334a5a326328341ad1e5a078692c2f46/cell/api/u_cell_sock.h#L193-L200
...to mean that all sockets had been closed, which happens to be how we use it in our test cases, but of course that's not what it says, it should clean-up only unused sockets-related resources.
Let me try to figure out why I didn't put this in uCellSockDeinit() in the first place.

You may find a proposed fix in a preview branch here:
https://github.com/u-blox/ubxlib/tree/preview_fix_sock_clean_up_rmea
This passes our testing, but so did the original code, so please give it some through checking at your end; I am now just removing all of the URCs in uCellSockDeinit(), just concerned that there was a reason why I wasn't doing that before which I can no longer recall.
When you have confirmed that you are happy I will merge the change, push out to master here and delete the preview branch some time after that.

Hi Rob
looks good thank you.
another question regarding socket celanup:
What do you think about having a function that forces the socketcleanup.
After the module has switched to PSM, we are sure that all sockets are closed.
The reason why we do not close the socket beforehand is that we do not know exactly when the module will switch to PSM.
However, data can still be received from the socket as long as the module has not switched to PSM.
The second reason is that uSockClose would wake up the module from power save for another 6 seconds.

Hi,
You are correct, when the module goes into PSM sockets are closed.
Waking up from PSM you must recreate the sockets and connect to the servers (TCP).
Regards,
Phil.

Hi
Thank you for your quick reply.
That's how we do it. But at some point the closed sockets must be cleaned up in ubxlib.
Because the ubxlib does not recognise that the sockets were closed when the module switched to PSM.

Sounds good. That would help us

OK, I will do that as a separate change.  Have you been able to test that the fix for the clean-up issue is good?  If so I will get it reviewed and pushed back to master here.

Yes, it has now been running for several hours without any problems. I think it is OK. Thank you

Fix for issue that was the subject of the original post now pushed to 33351089dc6af89c5fad115b1a6261e059e8e6c7 here.  Will do the "uSockForgetAll()" change next and post a preview branch for that here.

Find here:
https://github.com/u-blox/ubxlib/tree/preview_feature_sock_forget_rmea
...a preview branch of the proposed uSockForgetAll().  Let me know if it meets your expectations, or feel free to suggest any improvements.

looks good. thanks

The addition of uSockForgetAll() is now on master here, see commit 857e2a6641d747302bc0bcdbce9930965e99b65e.  I will close this issue now [please feel free to re-open if there is more to discuss on this topic] and will delete the preview_fix_sock_clean_up_rmea and preview_feature_sock_forget_rmea preview branches some time next week.


Revert "fix(loadOption): Wrong chunkName generated in nested imports"

This reverts commit 2d96a726ee1172a9e3599cd35e13b28f7b17149a.

Im not the rollback master,  unsure around your conventions for it. Let me know if theres anything wrong with the commit message or style (wasn't done with commitizen)

Merge me 1 first. Ill amend #47 once this has been merged


Bug: thrown errors should put the error message in msg, not code

When you call reject() in native code, Capacitor throws an instance of CapacitorException which is defined as:
export declare class CapacitorException extends Error {
    readonly message: string;
    readonly code?: ExceptionCode;
    readonly data?: ExceptionData;
    constructor(message: string, code?: ExceptionCode, data?: ExceptionData);
}

ExceptionCode is defined as:
export declare enum ExceptionCode {
    /**
     * API is not implemented.
     *
     * This usually means the API can't be used because it is not implemented for
     * the current platform.
     */
    Unimplemented = "UNIMPLEMENTED",
    /**
     * API is not available.
     *
     * This means the API can't be used right now because:
     *   - it is currently missing a prerequisite, such as network connectivity
     *   - it requires a particular platform or browser version
     */
    Unavailable = "UNAVAILABLE"
}

On iOS you are correctly passing the message as the first parameter to reject(). On Android, for some reason you are passing the message as the second parameter, which from a typing standpoint isn't correct.

I will include this fix in my PR for #81.

@aparajita I was actually still thinking on this. I know the issue but for some reason i noticed when passing the message as the first parameter, it gets excluded on android when i log the message in typescript.
Do you have recommendations on a good practice of defining a system of error codes and messages to be throw on both android and ios side? I want to unify both ios and android in terms of throwing exceptions with a specific code and message which would represent a specific error. With definitions in typescript so that devs can rely on the code and act on the thrown exceptions.

I did everything in my overhaul branch, including logging correctly. Take a look there.


Add fromPPartial for directly testing functions like PValidator

With fromPPartial, we can test the validators directly without manually compiling scripts and evaluating. There is an example provided along.
Basically, this will take care of all pre-evaluation shenanigans!

@kozross Can I get another review on the failing test utilities?


pandoc install not detected by Visual Studio 2017

I've installed and re-installed pandoc several times, but each time Visual Studio is not picking it up. This makes me unable to even create a rmarkdown document. I followed the instructions given in https://docs.microsoft.com/en-us/visualstudio/rtvs/rmarkdown but I am still unable to create a new markdown document. I hope you can help. Thank you.

Did you include the pandoc directory in your path?

It was operator error. Thank you so much for the help.


feat: delete first-timers- branch after issue creation

Once a new issue is created, the first-timers- branch that triggered the issue creation will be deleted.
Fixes #123

Pull Request looks great 👍
We will need to change the permission of the GitHub app. The app has read-only access to repository content right now:

We will need to change it to read & write.
Users of the app have to confirm the permission change, so for some time we will have the new code but not the permission to delete branches, it will fail with an unauthorized error.
I suggest we catch that one and just log a warning as it is an expected error, all other problems can be logged as they are today.
I would need to investigate myself what this error looks like. For that I would run the first-timers-bot locally and create a new GitHub only for testing purposes, with the same permissions as the current ap:

@gr2m Following error gets thrown:
{"message":"Resource not accessible by integration","documentation_url":"https://developer.github.com/v3/git/refs/#delete-a-reference"}

What should the debug error message say?

That is interesting, I think the error message is quite misleading, I'll ask the GitHubbers about it. I would suggest a message like Cannot delete "${branch}" branch, lacking permission for owner "${owner}"?
Could you test if the error message goes away once you give app the required permissions?

@gr2m Alright, added a custom error message for 403 lack of permissions rejections. And yes, no error is thrown if the right permissions are given (branch deleted: heads/${state.branch} is outputted in the debug logs instead)


bdf2sfd: 1.1.6 -> 1.1.7

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/fcambus/bdf2sfd/releases.
meta.description for bdf2sfd is: "BDF to SFD converter"
meta.homepage for bdf2sfd is: "https://github.com/fcambus/bdf2sfd"
meta.changelog for bdf2sfd is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
/nix/store/6a7v3qv76y69192kpzk6x974nzpxz18y-bdf2sfd-1.1.7/bin/bdf2sfd passed the binary check.
1 of 1 passed binary check by having a zero exit code.
1 of 1 passed binary check by having the new version present in output.
found 1.1.7 with grep in /nix/store/6a7v3qv76y69192kpzk6x974nzpxz18y-bdf2sfd-1.1.7
found 1.1.7 in filename of file in /nix/store/6a7v3qv76y69192kpzk6x974nzpxz18y-bdf2sfd-1.1.7

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

2 package rebuild(s)

2 x86_64-linux rebuild(s)
2 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
bdf2sfd
docbookrx

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/6a7v3qv76y69192kpzk6x974nzpxz18y-bdf2sfd-1.1.7 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A bdf2sfd https://github.com/r-ryantm/nixpkgs/archive/97fef4539aed9fb69a03f46943446d5f32ab23ee.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/6a7v3qv76y69192kpzk6x974nzpxz18y-bdf2sfd-1.1.7
ls -la /nix/store/6a7v3qv76y69192kpzk6x974nzpxz18y-bdf2sfd-1.1.7/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

bdf2sfd

Maintainer pings
cc @dtzWill for testing.

LGTM! Bot's got it mostly covered, but changelog in particular: https://github.com/fcambus/bdf2sfd/commit/3b7a56bc413871430f4b760edb2578f942fc20b5 .


Support TVOS when installing from cocoapods

cocoapods fails to install Lock when target platform is tvos.

It will since the library is only meant for iOS or OS X(without the UI)

yes. how about supporting tvos tho?

No plans to make it compatible since the UI will be completely different as well as the authentication options. It will probably be another library in a future.


using LTS 12.17 and http-client (>= 0.5) for Haskell TLS.

@snoyberg I would like to update the Haskell stub of trytls. The main issue is that TlsExceptionHostPort does not exist in http-client v0.5 anymore. Would you check if ad0f652 is a correct fix.

@snoyberg Thank you! I will send this PR to upstream.


Install of pandoc-placetable fails

Install of pandoc-placetable fails with error:
Setup: Encountered missing dependencies:
pandoc >=2.1

This is happening since the inlineMardown flag was activated which in turn adds pandoc as a dependency while pandoc is not needed without that flag.
https://github.com/NixOS/nixpkgs/pull/67464
To Reproduce
Either execute:
nix-env -iA nixpkgs.haskellPackages.pandoc-placetable

Or see on hydra:
https://hydra.nixos.org/build/99504747
Expected behavior
Install pandoc-placetable.
Screenshots
setupCompilerEnvironmentPhase
Build with /nix/store/42ikjm2msdg8awxvlljr0h4lkldibdbb-ghc-8.6.5.
unpacking sources
unpacking source archive /nix/store/gyq97askd9q0yrl9bqpr2r59z0r8nlkw-pandoc-placetable-0.5.1.tar.gz
source root is pandoc-placetable-0.5.1
setting SOURCE_DATE_EPOCH to timestamp<PHONE_NUMBER> of file pandoc-placetable-0.5.1/pandoc-placetable.cabal
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/build/setup-package.conf.d -j4 -threaded
[1 of 1] Compiling Main             ( Setup.hs, /build/Main.o )
Linking Setup ...
configuring
configureFlags: --verbose --prefix=/nix/store/nhcpqyi4pgpx11g1cxf98ajr6khdhdgd-pandoc-placetable-0.5.1 --libdir=$prefix/lib/$compiler --libsubdir=$abi/$libname --datadir=/nix/store/wlph8d8vl2z8cj5mif7x131jhgpvhmax-pandoc-placetable-0.5.1-data/share/ghc-8.6.5 --docdir=/nix/store/vqdrl8ngpq2470qgdfalbzm9ip671cy2-pandoc-placetable-0.5.1-doc/share/doc/pandoc-placetable-0.5.1 --with-gcc=gcc --package-db=/build/package.conf.d --ghc-option=-j4 --disable-split-objs --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --ghc-option=-split-sections -finlineMarkdown --extra-lib-dirs=/nix/store/vwcrxiwxr294b7iargxcqbda0nr89vfn-ncurses-6.1-20190112/lib --extra-lib-dirs=/nix/store/8pivgdaciz2add2wv7ff13gbz0rijs3f-libffi-3.2.1/lib --extra-lib-dirs=/nix/store/yq9lngyw980m5xdavkzb275xp50nx4my-gmp-6.1.2/lib
Using Parsec parser
Configuring pandoc-placetable-0.5.1...
CallStack (from HasCallStack):
  die', called at libraries/Cabal/Cabal/Distribution/Simple/Configure.hs:950:20 in Cabal-<IP_ADDRESS>:Distribution.Simple.Configure
  configureFinalizedPackage, called at libraries/Cabal/Cabal/Distribution/Simple/Configure.hs:460:12 in Cabal-<IP_ADDRESS>:Distribution.Simple.Configure
  configure, called at libraries/Cabal/Cabal/Distribution/Simple.hs:596:20 in Cabal-<IP_ADDRESS>:Distribution.Simple
  confHook, called at libraries/Cabal/Cabal/Distribution/Simple/UserHooks.hs:67:5 in Cabal-<IP_ADDRESS>:Distribution.Simple.UserHooks
  configureAction, called at libraries/Cabal/Cabal/Distribution/Simple.hs:178:19 in Cabal-<IP_ADDRESS>:Distribution.Simple
  defaultMainHelper, called at libraries/Cabal/Cabal/Distribution/Simple.hs:115:27 in Cabal-<IP_ADDRESS>:Distribution.Simple
  defaultMain, called at Setup.hs:2:8 in main:Main
Setup: Encountered missing dependencies:
pandoc >=2.1

builder for '/nix/store/kxz9z6b1wh1dawah43b2d81hshqvhfcx-pandoc-placetable-0.5.1.drv' failed with exit code 1

Maintainer information:
cc @unode (created the pull request that introduced the error)
cc @peti (merged the request)
Thank you!

@durgaBahadur Thanks for reporting this.
The problem here is that pandoc-placetable conditionally includes a dependency on pandoc when the inlineMarkdown flag is enabled:
https://github.com/mb21/pandoc-placetable/blob/5f9fea507b9f3cc3cde2a6d6706b1e65a00033d9/pandoc-placetable.cabal#L41-L42
Unfortunately cabal2nix is not smart enough to pick this up.
@durgaBahadur Could you send a PR to cabal2nix forcing pandoc-placetable to have a dependency on pandoc?
You should be able to add it this list:
https://github.com/NixOS/cabal2nix/blob/39f6c39f2a54fe97be07ea61cd127358283f903c/src/Distribution/Nixpkgs/Haskell/FromCabal/PostProcess.hs#L72
It should look something like this:
(("pandoc-placetable", set (libraryDepends . haskell . contains (self "pandoc")) True)

I didn't actually try compiling this, so you may have to play around with it.
Also, there is the possibility that when you send the PR, @peti will tell you it should actually be solved differently.

In the original pull request, pandoc was added to executableHaskellDepends.
I take it this isn't enough?
Pull request opened.

In the original pull request, pandoc was added to executableHaskellDepends

@unode Which PR are you talking about?
In https://github.com/NixOS/cabal2nix/pull/426, it doesn't appear that pandoc is added to executableHaskellDepends.

@unode Which PR are you talking about?

https://github.com/NixOS/nixpkgs/pull/67464

Unfortunately cabal2nix is not smart enough to pick this up.

cabal2nix should have been smart enough, but wasn't due to a strange design decision in Cabal. I've pushed a fix in https://github.com/NixOS/cabal2nix/commit/650d5300c6bb5632bbab6fcb2d939fb476e469c5 and re-generated the package set with that version. I believe that the package should compile fine now, but couldn't actually test it because the current master branch has no binaries for ghc right now and thus compiling pandoc-placetable would take a looong time.

@unode @durgaBahadur It looks like pandoc-placetable is now getting generated correctly in pkgs/development/haskell-modules/hackage-packages.nix thanks to the fix from peti.
However, it is still marked broken.  Could you send a PR marking it unbroken?
Here's a video explaining how to do this:
https://discourse.nixos.org/t/video-tutorial-how-to-fix-broken-haskell-packages-in-nix/3968

Installation works fine now.


Metadata alignment

In the current version of the tool, it's possible to combine the document-topic proportion output with a metadata file, but it's assumed that the lines in the file correspond perfectly to the individual files in an input folder. This means that the result will be incorrect for metadata files with records in an order different from the default order of the files in the input folder, or different from the order of rows in the input file, the result will be incorrect.
I need to implement a more robust version of this that checks for alignment between metadata records and files or input file rows. It's not even obvious how to do matching on input file rows, actually -- that might not be a feature worth having. I'll just have to document that the rows must be aligned. But it should be possible to match rows to individual text files based on filename.

#23


compose_actions: Fix unused callback function.

More context here:
https://chat.zulip.org/#narrow/stream/6-frontend/topic/autosize.20callback/near/1772484

Merged, after rewriting the commit message to clarify the history and what this corrects, thanks @evykassirer!


Error handling during 403 handler

Please correct that title if I got this wrong. I don't know a better way to state the issue:

not logged in
go to a recordedit page (like this https://dev.facebase.org/data/recordedit/#1/isa:sample/id=432?invalidate=2744534207050970)
make a change
click submit
you should see a login dialog
click cancel
you should see an infinite spinner

This seems like a bug if the recordedit page even lets you manipulate
content without being logged in.  It should have immediately detected
that you do not have enough rights and requested login before it even
presented any data-entry forms.

There is a new pull request that will prompt anonymous user for login when recordedit is loaded..
@robes please review and close the issue.

works well for me.


Switch from gammabytehosting/rockylinux to official image

So far, glancing at Docker Hub, Quay, and https://rockylinux.org/download, I don't see any 'official' Rocky Linux Docker image to build from. So I'm currently using gammabytehosting/rockylinux, which seemed the best choice of few options on Docker Hub (outside of building my own image from scratch using the RC ISO—don't want to do that).
I want to see if there will be an official Docker image, and switch to that.

Workin' on it ☺

RC is out now: https://hub.docker.com/r/rockylinux/rockylinux

Noting that:

There isn't a latest tag, which means I'll lock in to rc tag for now. Ideally they'll pop a latest tag on the rolling latest image version in the future.
There is only an amd64 image available currently (so has to build non-native on my new Macs, ha!).

Hey Jeff, we have official images of 8.4 stable on Docker Hub and Quay now!

@jorp - Yep! I have switched to the official 8 tag on Docker Hub as of this morning. Congrats and thanks!!!


Credo and dogma squashed

What's interesting about this is that it reports a Credo error:
$ mix credo
mix.exs:45: warning: function package/0 is unused
Checking 1 source file ...

  Warnings - please take a look
┃
┃ [W] ↗ There should be no unused return values for Enum.map().
┃       lib/ecto_neo4j.ex:61:15 (Ecto.Neo4j.sort_column)

Please report incorrect results: https://github.com/rrrene/credo/issues

Analysis took 0.1 seconds (0.00s to load, 0.1s running checks)
25 mods/funs, found 1 warning.

Showing priority issues: ↑ ↗ →  (use `--strict` to show all issues, `--help` for options).

Which I believe is a bug in Credo. I've opened https://github.com/rrrene/credo/issues/36 for that.

Awesome.

Thanks. And Rene agrees that https://github.com/rrrene/credo/issues/36 is legit, so he'll start on that.


Update CONTRIBUTING.md

Is your feature request related to a problem? Please describe
Update the CONTRIBUTING.md to include details on reporting bugs, requesting features and making your first PR.
Describe the solution you'd like
Look at sample CONTRIBUTING.md templates and guides available

contributing.md
Mozilla Science Lab
The Good Docs Project

Describe alternatives you've considered
Additional context
Add any other context or screenshots about the feature request here.

Hey @EricOuma is it okay to use your email address for reporting security issues? This will be in the CONTRIBUTING.md how to report a bug report.

Yeah that's okay
On Thu, 14 Dec 2023 at 21:48, Kengo Wada @.***> wrote:

Hey @EricOuma https://github.com/EricOuma is it okay to use your email
address for reporting security issues? This will be in the CONTRIBUTING.md
how to report a bug report.
—
Reply to this email directly, view it on GitHub
https://github.com/Siege-Software/django-typesense/issues/59#issuecomment-1856401844,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AH4HSZH7WL6DLOJNGOWCCBDYJNCX3AVCNFSM6AAAAABACYGIEWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJWGQYDCOBUGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Work hard and smart Anywhere with the resources you have.


/usr/local/bin/yarn symlink randomly gets removed

Please note that we will close your issue without comment if you delete, do not read or do not fill out the issue checklist below and provide ALL the requested information. If you repeatedly fail to use the issue template, we will block you from ever submitting issues to Homebrew again.

[x] are reporting a bug others will be able to reproduce and not asking a question. If you're not sure or want to ask a question do so on our Discourse: https://discourse.brew.sh
[x] ran a brew command and reproduced the problem with multiple formulae? If it's a problem with a single, official formula (not cask) please file this issue at Homebrew/homebrew-core: https://github.com/Homebrew/homebrew-core/issues/new/choose. If it's a brew cask problem please file this issue at https://github.com/Homebrew/homebrew-cask/issues/new/choose. If it's a tap (e.g. Homebrew/homebrew-php) problem please file this issue at the tap.
[x] ran brew update and can still reproduce the problem?
[x] ran brew doctor, fixed all issues and can still reproduce the problem?
[x] ran brew config and brew doctor and included their output with your issue?

brew config
HOMEBREW_VERSION: 1.8.6
ORIGIN: https://github.com/Homebrew/brew
HEAD: 858c5e1afb0eb00079a4f014e8fbedf9065d50e4
Last commit: 2 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 709ebb0315c8c06237b1919360afd64c396b5ddd
Core tap last commit: 22 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_FORCE_BREWED_GIT: 1
HOMEBREW_GITHUB_API_TOKEN: set
HOMEBREW_INSTALL_BADGE: ⚽
HOMEBREW_NO_ANALYTICS: 1
HOMEBREW_ROOT: /usr/local
HOMEBREW_VISUAL: nvim
CPU: octa-core 64-bit haswell
Homebrew Ruby: 2.3.7 => /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
Clang: 10.0 build 1000
Git: 2.20.1 => /usr/local/opt/git/bin/git
Curl: 7.54.0 => /usr/bin/curl
Java: 1.8.0_181
macOS: 10.14.2-x86_64
CLT: <IP_ADDRESS>.1.1539992718
Xcode: 10.1
XQuartz: 2.7.11 => /opt/X11

brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Putting non-prefixed coreutils in your path can cause gmp builds to fail.

What you were trying to do (and why)
Use installed formula yarn
What happened (include command output)
Yarn is not found in path in /usr/local/bin/yarn
Command output
$ yarn
zsh: command not found: yarn

$ file /usr/local/bin/yarn
/usr/local/bin/yarn: cannot open `/usr/local/bin/yarn' (No such file or directory)

$ brew list yarn
/usr/local/Cellar/yarn/1.12.3/bin/yarn
/usr/local/Cellar/yarn/1.12.3/bin/yarnpkg
/usr/local/Cellar/yarn/1.12.3/libexec/bin/ (5 files)
/usr/local/Cellar/yarn/1.12.3/libexec/lib/ (2 files)
/usr/local/Cellar/yarn/1.12.3/libexec/package.json

$ brew info yarn
yarn: stable 1.12.3
JavaScript package manager
https://yarnpkg.com/
Conflicts with:
  hadoop (because both install 'yarn' binaries)
/usr/local/Cellar/yarn/1.12.3 (14 files, 4.7MB) *
  Built from source on 2018-12-17 at 10:44:12
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/yarn.rb
==> Dependencies
Recommended: node ✔
==> Options
--without-node
        Build without node support

$ brew list hadoop
Error: No such keg: /usr/local/Cellar/hadoop

What you expected to happen
yarn to be symlinked properly & the symlink doesn't disappear
Step-by-step reproduction instructions (by running brew commands)
That's the tricky & difficult part, I still have no clue how the symlink gets removed & why it only happens with yarn only till now because brew install yarn & brew reinstall yarn both work fine, but then the symlink gets lost somehow...

I can't reproduce this. This seems specific to your machine and you'll need to figure out what's removing this symlink yourself.

@MikeMcQuaid 	Ok, any pointers how to debug this?

@MikeMcQuaid I understand, I was looking for some suggestions otherwise I wouldn't have opened the issue. Anyway thanks.


chore: update to the latest uPortal release version

Checklist

[ ] the individual contributor license agreement is signed
[ ] commit message follows commit guidelines
[ ] tests are included
[ ] documentation is changed or added
[ ] message properties have been updated with new phrases
[ ] view conforms with WCAG 2.0 AA

Description of change

Code wise this looks fine.
CI/CD wise, I might hold off.
Here we're seeing the same
Caused by: java.lang.NoSuchFieldError:

(https://github.com/uPortal-Project/uPortal-start/actions/runs/3716668230/jobs/6303250974#step:10:3830)
issue which started popping up in uPortal CI/CD recently https://github.com/uPortal-Project/uPortal/actions/runs/3715033479/jobs/6299708889#step:4:6586

Resolved in https://github.com/uPortal-Project/uPortal-start/pull/610


Getting Started Doc Throws Errors

Issue Type

Bug report

Molecule and Ansible details
❯ python3 --version && ansible --version && molecule --version
Python 3.9.9
ansible [core 2.12.1]
  config file = None
  configured module search path = ['/Users/me/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/ansible
  ansible collection location = /Users/me/.ansible/collections:/usr/share/ansible/collections
  executable location = /Users/me/path/to/ansibroken/venv/bin/ansible
  python version = 3.9.9 (main, Nov 21 2021, 03:16:13) [Clang 13.0.0 (clang-13<IP_ADDRESS>)]
  jinja version = 3.0.3
  libyaml = True
molecule 3.5.2 using python 3.9
    ansible:2.12.1
    delegated:3.5.2 from molecule
    docker:1.1.0 from molecule_docker requiring collections: community.docker>=1.9.1

Molecule installation method (one of):

pip (as recommended by the getting started docs)

Ansible installation method (one of):

pip (as recommended by the getting started docs)

Detail any linters or test runners used:
Whatever the default is
Desired Behavior
Just trying out molecule, having never used it before. The commands specified in the getting started docs aren't sufficient for someone who is- literally- just getting started. I expect onboarding documentation (especially for a testing package) to run without (unintentional) errors.
Actual Behaviour
Script:
#!/bin/sh
set -x

mkdir ansibroken && cd ansibroken
# create a venv with python >=3.6 https://molecule.readthedocs.io/en/latest/installation.html#requirements
# python3.9 is supported https://github.com/ansible-community/molecule/blob/main/setup.cfg
python3.9 -m venv ./venv && source ./venv/bin/activate
# make sure setuptools is up to date https://molecule.readthedocs.io/en/latest/installation.html#pip
python3 -m pip install --upgrade setuptools
# install ansible, molecule with the docker driver https://molecule.readthedocs.io/en/latest/installation.html#install
python3 -m pip install 'molecule[docker,lint]' 'ansible-core>=2.8'
# do the things the newbie docs tell me to https://molecule.readthedocs.io/en/latest/getting-started.html#creating-a-new-role
molecule --debug init role my_new_role --driver-name docker
# https://molecule.readthedocs.io/en/latest/getting-started.html#run-test-sequence-commands
docker run hello-world
molecule create # CRITICAL 'molecule/default/molecule.yml' glob failed.  Exiting.
cd my_new_role  # that one's easy enough...
molecule create # ERROR Computed fully qualified role name of my_new_role does not follow current galaxy requirements.
# add the debug flag that the issue template tells me to https://github.com/ansible-community/molecule/issues/new?assignees=&labels=bug&template=bug_report.md
molecule --debug create
molecule list

+ mkdir ansibroken
+ cd ansibroken
+ python3.9 -m venv ./venv
+ source ./venv/bin/activate
++ deactivate nondestructive
++ '[' -n '' ']'
++ '[' -n '' ']'
++ '[' -n /bin/sh -o -n '' ']'
++ hash -r
++ '[' -n '' ']'
++ unset VIRTUAL_ENV
++ '[' '!' nondestructive = nondestructive ']'
++ VIRTUAL_ENV=/Users/me/path/to/ansibroken/venv
++ export VIRTUAL_ENV
++ _OLD_VIRTUAL_PATH=/opt/homebrew/Caskroom/miniconda/base/condabin:/Users/me/.cargo/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Users/me/dev/pdhands/bin:/Users/me/.local/bin:/opt/homebrew/opt/fzf/bin
++ PATH=/Users/me/path/to/ansibroken/venv/bin:/opt/homebrew/Caskroom/miniconda/base/condabin:/Users/me/.cargo/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Users/me/dev/pdhands/bin:/Users/me/.local/bin:/opt/homebrew/opt/fzf/bin
++ export PATH
++ '[' -n '' ']'
++ '[' -z '' ']'
++ _OLD_VIRTUAL_PS1=
++ PS1='(venv) '
++ export PS1
++ '[' -n /bin/sh -o -n '' ']'
++ hash -r
+ python3 -m pip install --upgrade setuptools
Requirement already satisfied: setuptools in ./venv/lib/python3.9/site-packages (59.0.1)
Collecting setuptools
  Using cached setuptools-60.3.1-py3-none-any.whl (953 kB)
Installing collected packages: setuptools
  Attempting uninstall: setuptools
    Found existing installation: setuptools 59.0.1
    Uninstalling setuptools-59.0.1:
      Successfully uninstalled setuptools-59.0.1
Successfully installed setuptools-60.3.1
+ python3 -m pip install 'molecule[docker,lint]' 'ansible-core>=2.8'
Collecting molecule[docker,lint]
  Using cached molecule-3.5.2-py3-none-any.whl (240 kB)
Collecting ansible-core>=2.8
  Using cached ansible-core-2.12.1.tar.gz (7.4 MB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting cerberus!=1.3.3,!=1.3.4,>=1.3.1
  Using cached Cerberus-1.3.2.tar.gz (52 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting click-help-colors>=0.9
  Using cached click_help_colors-0.9.1-py3-none-any.whl (5.5 kB)
Collecting cookiecutter>=1.7.3
  Using cached cookiecutter-1.7.3-py2.py3-none-any.whl (34 kB)
Collecting enrich>=1.2.5
  Using cached enrich-1.2.6-py3-none-any.whl (8.6 kB)
Collecting paramiko<3,>=2.5.0
  Using cached paramiko-2.9.1-py2.py3-none-any.whl (210 kB)
Collecting PyYAML<6,>=5.1
  Using cached PyYAML-5.4.1-cp39-cp39-macosx_11_0_arm64.whl
Collecting subprocess-tee>=0.3.5
  Using cached subprocess_tee-0.3.5-py3-none-any.whl (8.0 kB)
Collecting Jinja2>=2.11.3
  Using cached Jinja2-3.0.3-py3-none-any.whl (133 kB)
Collecting rich>=9.5.1
  Using cached rich-10.16.2-py3-none-any.whl (214 kB)
Collecting packaging
  Using cached packaging-21.3-py3-none-any.whl (40 kB)
Collecting pluggy<2.0,>=0.7.1
  Using cached pluggy-1.0.0-py2.py3-none-any.whl (13 kB)
Collecting click<9,>=8.0
  Using cached click-8.0.3-py3-none-any.whl (97 kB)
Collecting ansible-compat>=0.5.0
  Using cached ansible_compat-0.5.0-py3-none-any.whl (15 kB)
Collecting molecule-docker>=1.0.0
  Using cached molecule_docker-1.1.0-py3-none-any.whl (16 kB)
Collecting pre-commit>=2.10.1
  Using cached pre_commit-2.16.0-py2.py3-none-any.whl (191 kB)
Collecting flake8>=3.8.4
  Using cached flake8-4.0.1-py2.py3-none-any.whl (64 kB)
Collecting yamllint
  Using cached yamllint-1.26.3.tar.gz (126 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting cryptography
  Using cached cryptography-36.0.1-cp36-abi3-macosx_10_10_universal2.whl (4.8 MB)
Collecting resolvelib<0.6.0,>=0.5.3
  Using cached resolvelib-0.5.4-py2.py3-none-any.whl (12 kB)
Requirement already satisfied: setuptools in ./venv/lib/python3.9/site-packages (from cerberus!=1.3.3,!=1.3.4,>=1.3.1->molecule[docker,lint]) (60.3.1)
Collecting binaryornot>=0.4.4
  Using cached binaryornot-0.4.4-py2.py3-none-any.whl (9.0 kB)
Collecting python-slugify>=4.0.0
  Using cached python_slugify-5.0.2-py2.py3-none-any.whl (6.7 kB)
Collecting six>=1.10
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting requests>=2.23.0
  Using cached requests-2.27.1-py2.py3-none-any.whl (63 kB)
Collecting jinja2-time>=0.2.0
  Using cached jinja2_time-0.2.0-py2.py3-none-any.whl (6.4 kB)
Collecting poyo>=0.5.0
  Using cached poyo-0.5.0-py2.py3-none-any.whl (10 kB)
Collecting pycodestyle<2.9.0,>=2.8.0
  Using cached pycodestyle-2.8.0-py2.py3-none-any.whl (42 kB)
Collecting pyflakes<2.5.0,>=2.4.0
  Using cached pyflakes-2.4.0-py2.py3-none-any.whl (69 kB)
Collecting mccabe<0.7.0,>=0.6.0
  Using cached mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB)
Collecting MarkupSafe>=2.0
  Using cached MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.whl (18 kB)
Collecting docker>=4.3.1
  Using cached docker-5.0.3-py2.py3-none-any.whl (146 kB)
Collecting bcrypt>=3.1.3
  Using cached bcrypt-3.2.0-cp36-abi3-macosx_10_10_universal2.whl (49 kB)
Collecting pynacl>=1.0.1
  Using cached PyNaCl-1.4.0-cp39-cp39-macosx_11_0_arm64.whl
Collecting cffi>=1.12
  Using cached cffi-1.15.0-cp39-cp39-macosx_11_0_arm64.whl (173 kB)
Collecting virtualenv>=20.0.8
  Using cached virtualenv-20.13.0-py2.py3-none-any.whl (6.5 MB)
Collecting identify>=1.0.0
  Using cached identify-2.4.2-py2.py3-none-any.whl (98 kB)
Collecting cfgv>=2.0.0
  Using cached cfgv-3.3.1-py2.py3-none-any.whl (7.3 kB)
Collecting toml
  Using cached toml-0.10.2-py2.py3-none-any.whl (16 kB)
Collecting nodeenv>=0.11.1
  Using cached nodeenv-1.6.0-py2.py3-none-any.whl (21 kB)
Collecting commonmark<0.10.0,>=0.9.0
  Using cached commonmark-0.9.1-py2.py3-none-any.whl (51 kB)
Collecting pygments<3.0.0,>=2.6.0
  Using cached Pygments-2.11.2-py3-none-any.whl (1.1 MB)
Collecting colorama<0.5.0,>=0.4.0
  Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting pyparsing!=3.0.5,>=2.0.2
  Using cached pyparsing-3.0.6-py3-none-any.whl (97 kB)
Collecting pathspec>=0.5.3
  Using cached pathspec-0.9.0-py2.py3-none-any.whl (31 kB)
Collecting chardet>=3.0.2
  Using cached chardet-4.0.0-py2.py3-none-any.whl (178 kB)
Collecting pycparser
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Collecting websocket-client>=0.32.0
  Using cached websocket_client-1.2.3-py3-none-any.whl (53 kB)
Collecting arrow
  Using cached arrow-1.2.1-py3-none-any.whl (63 kB)
Collecting text-unidecode>=1.3
  Using cached text_unidecode-1.3-py2.py3-none-any.whl (78 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached urllib3-1.26.7-py2.py3-none-any.whl (138 kB)
Collecting idna<4,>=2.5
  Using cached idna-3.3-py3-none-any.whl (61 kB)
Collecting charset-normalizer~=2.0.0
  Using cached charset_normalizer-2.0.10-py3-none-any.whl (39 kB)
Collecting platformdirs<3,>=2
  Using cached platformdirs-2.4.1-py3-none-any.whl (14 kB)
Collecting distlib<1,>=0.3.1
  Using cached distlib-0.3.4-py2.py3-none-any.whl (461 kB)
Collecting filelock<4,>=3.2
  Using cached filelock-3.4.2-py3-none-any.whl (9.9 kB)
Collecting python-dateutil>=2.7.0
  Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Using legacy 'setup.py install' for ansible-core, since package 'wheel' is not installed.
Using legacy 'setup.py install' for cerberus, since package 'wheel' is not installed.
Using legacy 'setup.py install' for yamllint, since package 'wheel' is not installed.
Installing collected packages: six, python-dateutil, pycparser, MarkupSafe, urllib3, text-unidecode, pygments, Jinja2, idna, commonmark, colorama, charset-normalizer, chardet, cffi, certifi, arrow, rich, requests, PyYAML, python-slugify, pyparsing, pynacl, poyo, jinja2-time, cryptography, click, binaryornot, bcrypt, websocket-client, subprocess-tee, pluggy, platformdirs, paramiko, packaging, filelock, enrich, distlib, cookiecutter, click-help-colors, cerberus, ansible-compat, virtualenv, toml, pyflakes, pycodestyle, pathspec, nodeenv, molecule, mccabe, identify, docker, cfgv, yamllint, resolvelib, pre-commit, molecule-docker, flake8, ansible-core
    Running setup.py install for cerberus: started
    Running setup.py install for cerberus: finished with status 'done'
    Running setup.py install for yamllint: started
    Running setup.py install for yamllint: finished with status 'done'
    Running setup.py install for ansible-core: started
    Running setup.py install for ansible-core: finished with status 'done'
Successfully installed Jinja2-3.0.3 MarkupSafe-2.0.1 PyYAML-5.4.1 ansible-compat-0.5.0 ansible-core-2.12.1 arrow-1.2.1 bcrypt-3.2.0 binaryornot-0.4.4 cerberus-1.3.2 certifi-2021.10.8 cffi-1.15.0 cfgv-3.3.1 chardet-4.0.0 charset-normalizer-2.0.10 click-8.0.3 click-help-colors-0.9.1 colorama-0.4.4 commonmark-0.9.1 cookiecutter-1.7.3 cryptography-36.0.1 distlib-0.3.4 docker-5.0.3 enrich-1.2.6 filelock-3.4.2 flake8-4.0.1 identify-2.4.2 idna-3.3 jinja2-time-0.2.0 mccabe-0.6.1 molecule-3.5.2 molecule-docker-1.1.0 nodeenv-1.6.0 packaging-21.3 paramiko-2.9.1 pathspec-0.9.0 platformdirs-2.4.1 pluggy-1.0.0 poyo-0.5.0 pre-commit-2.16.0 pycodestyle-2.8.0 pycparser-2.21 pyflakes-2.4.0 pygments-2.11.2 pynacl-1.4.0 pyparsing-3.0.6 python-dateutil-2.8.2 python-slugify-5.0.2 requests-2.27.1 resolvelib-0.5.4 rich-10.16.2 six-1.16.0 subprocess-tee-0.3.5 text-unidecode-1.3 toml-0.10.2 urllib3-1.26.7 virtualenv-20.13.0 websocket-client-1.2.3 yamllint-1.26.3
+ molecule --debug init role my_new_role --driver-name docker
INFO     Initializing new role my_new_role...
No config file found; using defaults
- Role my_new_role was created successfully
INFO     Initialized role in /Users/me/path/to/ansibroken/my_new_role successfully.
+ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (arm64v8)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

+ molecule create
CRITICAL 'molecule/default/molecule.yml' glob failed.  Exiting.
+ cd my_new_role
+ molecule create
INFO     default scenario test matrix: dependency, create, prepare
INFO     Performing prerun...
INFO     Added ANSIBLE_LIBRARY=/Users/me/.cache/ansible-compat/c52416/modules:/Users/me/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
INFO     Added ANSIBLE_COLLECTIONS_PATH=/Users/me/.cache/ansible-compat/c52416/collections:/Users/me/.ansible/collections:/usr/share/ansible/collections
INFO     Added ANSIBLE_ROLES_PATH=/Users/me/.cache/ansible-compat/c52416/roles:/Users/me/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
ERROR    Computed fully qualified role name of my_new_role does not follow current galaxy requirements.
Please edit meta/main.yml and assure we can correctly determine full role name:

galaxy_info:
role_name: my_name  # if absent directory name hosting role is used instead
namespace: my_galaxy_namespace  # if absent, author is used instead

Namespace: https://galaxy.ansible.com/docs/contributing/namespaces.html#galaxy-namespace-limitations
Role: https://galaxy.ansible.com/docs/contributing/creating_role.html#role-names

As an alternative, you can add 'role-name' to either skip_list or warn_list.

Traceback (most recent call last):
  File "/Users/me/path/to/ansibroken/venv/bin/molecule", line 8, in <module>
    sys.exit(main())
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/molecule/command/create.py", line 121, in create
    base.execute_cmdline_scenarios(scenario_name, args, command_args)
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/molecule/command/base.py", line 111, in execute_cmdline_scenarios
    scenario.config.runtime.prepare_environment()
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/ansible_compat/runtime.py", line 255, in prepare_environment
    self._install_galaxy_role(self.project_dir, ignore_errors=True)
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/ansible_compat/runtime.py", line 396, in _install_galaxy_role
    raise InvalidPrerequisiteError(msg)
ansible_compat.errors.InvalidPrerequisiteError: Computed fully qualified role name of my_new_role does not follow current galaxy requirements.
Please edit meta/main.yml and assure we can correctly determine full role name:

galaxy_info:
role_name: my_name  # if absent directory name hosting role is used instead
namespace: my_galaxy_namespace  # if absent, author is used instead

Namespace: https://galaxy.ansible.com/docs/contributing/namespaces.html#galaxy-namespace-limitations
Role: https://galaxy.ansible.com/docs/contributing/creating_role.html#role-names

As an alternative, you can add 'role-name' to either skip_list or warn_list.

+ molecule --debug create
DEBUG    Validating schema /Users/me/path/to/ansibroken/my_new_role/molecule/default/molecule.yml.
INFO     default scenario test matrix: dependency, create, prepare
INFO     Performing prerun...
INFO     Added ANSIBLE_LIBRARY=/Users/me/.cache/ansible-compat/c52416/modules:/Users/me/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
INFO     Added ANSIBLE_COLLECTIONS_PATH=/Users/me/.cache/ansible-compat/c52416/collections:/Users/me/.ansible/collections:/usr/share/ansible/collections
INFO     Added ANSIBLE_ROLES_PATH=/Users/me/.cache/ansible-compat/c52416/roles:/Users/me/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
ERROR    Computed fully qualified role name of my_new_role does not follow current galaxy requirements.
Please edit meta/main.yml and assure we can correctly determine full role name:

galaxy_info:
role_name: my_name  # if absent directory name hosting role is used instead
namespace: my_galaxy_namespace  # if absent, author is used instead

Namespace: https://galaxy.ansible.com/docs/contributing/namespaces.html#galaxy-namespace-limitations
Role: https://galaxy.ansible.com/docs/contributing/creating_role.html#role-names

As an alternative, you can add 'role-name' to either skip_list or warn_list.

Traceback (most recent call last):
  File "/Users/me/path/to/ansibroken/venv/bin/molecule", line 8, in <module>
    sys.exit(main())
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/molecule/command/create.py", line 121, in create
    base.execute_cmdline_scenarios(scenario_name, args, command_args)
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/molecule/command/base.py", line 111, in execute_cmdline_scenarios
    scenario.config.runtime.prepare_environment()
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/ansible_compat/runtime.py", line 255, in prepare_environment
    self._install_galaxy_role(self.project_dir, ignore_errors=True)
  File "/Users/me/path/to/ansibroken/venv/lib/python3.9/site-packages/ansible_compat/runtime.py", line 396, in _install_galaxy_role
    raise InvalidPrerequisiteError(msg)
ansible_compat.errors.InvalidPrerequisiteError: Computed fully qualified role name of my_new_role does not follow current galaxy requirements.
Please edit meta/main.yml and assure we can correctly determine full role name:

galaxy_info:
role_name: my_name  # if absent directory name hosting role is used instead
namespace: my_galaxy_namespace  # if absent, author is used instead

Namespace: https://galaxy.ansible.com/docs/contributing/namespaces.html#galaxy-namespace-limitations
Role: https://galaxy.ansible.com/docs/contributing/creating_role.html#role-names

As an alternative, you can add 'role-name' to either skip_list or warn_list.

+ molecule list
INFO     Running default > list
                ╷             ╷                  ╷               ╷         ╷
  Instance Name │ Driver Name │ Provisioner Name │ Scenario Name │ Created │ Converged
╶───────────────┼─────────────┼──────────────────┼───────────────┼─────────┼───────────╴
  instance      │ docker      │ ansible          │ default       │ false   │ false
                ╵             ╵                  ╵               ╵         ╵

oh right. The init command should rather be something like
molecule init role mynamespace.my_new_role --driver-name docker

and it should mention to edit the meta/main.yml to properly configure the role information to set the namespace / author to avoid the error in molecule create.


Need a consistent strategy for finding XML comments

I have an app that uses Core CLR.  I took and modified some sample code which does the following:

        var docPath = $"{_appEnv.ApplicationBasePath}\\..\\artifacts\\bin\\{_appEnv.ApplicationName}\\{_appEnv.Configuration}\\" +

            $"{_appEnv.RuntimeFramework.Identifier}{_appEnv.RuntimeFramework.Version.ToString().Replace(".", string.Empty)}\\{_appEnv.ApplicationName}.xml";
        docPath = Path.GetFullPath(docPath);

That works fine when I'm running in my dev environment.  But I'm running inside a docker container and once I do a dnu publish the paths are way down under approot/packages/... somewhere.  I really need a consistent way to reference XML comment paths.

Isn't this an issue for your GetXmlComments() method and not Swashbuckle? Can't you write yours to look in the correct places for each environment?

Apologies for the cross-repo confusion - this will get cleared up soon. I think this is a 6.0 (AspNet Core) question and so you'll find the issues for that over at my Ahoy repo. Looks like a dup of the following - https://github.com/domaindrivendev/Ahoy/issues/67


Page Keep Reloading on Keyboard Press

I am using this version flutter_inappwebview: ^3.3.0+3.
Below is my codes. The problem is that at some times it goes directly to  this page only http://.../pay.php and stopped. I want direct to go this page and send the post value which will redirect to the payement gateway page. . Secondly at times this works perfectly but when I press the keyboard example to enter credit card details the page gets reload and I can never complete the form. How do I resolve this issue of keyboard and the proper redirection ? I have even put this line resizeToAvoidBottomInset: false,
webView.postUrl(
                      url: 'http://*.*.*.*/pay.php',
                      postData: Uint8List.fromList(utf8.encode("detail=1&amount=200&order_id=A123&name=thiscustomer&email=abc@abc.com&phone=12345678"))
                      );

class OnlinePaymentPage extends StatefulWidget {
  final String orderID;
  final double totalPayment;

  OnlinePaymentPage({
    Key key,
    @required this.orderID,
    @required this.totalPayment,
  }) : super(key: key);
  @override
  _OnlinePaymentPageState createState() => new _OnlinePaymentPageState();
}
class _OnlinePaymentPageState extends State<OnlinePaymentPage>  {

  InAppWebViewController webView;
  String url = "";
  double progress = 0;

  @override
  void initState() {
     super.initState();
  }

  @override
  void dispose() {
    super.dispose();

  }

  @override
  Widget build(BuildContext context) {
      return Scaffold(
          resizeToAvoidBottomInset: false,
          appBar: AppBar(
            title: const Text('Online Payment'),
          ),
          body: Container(
            child: Column(children: <Widget>[
              Container(
                padding: EdgeInsets.all(5.0),
                child: Text(
                    "CURRENT URL\n${(url.length > 50) ? url.substring(0, 50) + "..." : url}"),
              ),

              Expanded(
                child: Container(
                  margin: const EdgeInsets.all(10.0),

                  child: InAppWebView(
                    initialUrl: "http://*.*.*.*/pay.php",
                    initialHeaders: {},
                    initialOptions: InAppWebViewGroupOptions(
                      crossPlatform: InAppWebViewOptions(
                          debuggingEnabled: true,
                      )
                    ),
                    onWebViewCreated: (InAppWebViewController controller) {
                    webView = controller;
                    webView.postUrl(
                      url: 'http://*.*.*.*/pay.php',
                      postData: Uint8List.fromList(utf8.encode("detail=1&amount=200&order_id=A123&name=thiscustomer&email=abc@abc.com&phone=12345678"))
                      );
                    },
                    onLoadStart: (InAppWebViewController controller, String url) {
                      setState(() {
                        this.url = url;
                      });
                    },
                    onLoadStop: (InAppWebViewController controller, String url) async {
                      if (url.startsWith("http://*.*.*.*/pay.php")) {
                        // get your token from url
                        RegExp regExp = new RegExp("access_token=(.*)");
                        String token = regExp.firstMatch(url)?.group(1);
                        print(token);

                        // or using CookieManager
                        //CookieManager cookieManager = CookieManager.instance();
                        //Cookie token = await cookieManager.getCookie(url: "https://myUrl.com/auth-response", name: "access_token");
                        //print(token.value);

                        // or using javascript to get access_token from localStorage
                        //String token = await controller.evaluateJavascript(source: "localStorage.getItem('access_token')");
                        print(token);
                      }
                    },
                    onProgressChanged: (InAppWebViewController controller, int progress) {
                      setState(() {
                        this.progress = progress / 100;
                      });
                    },
                  ),
                ),
              ),

          ])),

      );
  }

  }

You can remove the initialUrl attribute (default will be about:blank). Then, on the onWebViewCreated event, you can call the postUrl() method as you are already doing.
If the page reloads, you need to update your AndroidManifest.xml. Add this to your main Android <activity>:
https://github.com/pichillilorenzo/flutter_inappwebview/blob/30102a5c1ac8ba44d2dc058f534eb7e4b0abfa04/example/android/app/src/main/AndroidManifest.xml#L56

Hi Pichililorenzo,
I have followed your suggestion for the blank url I just put this initialUrl: "", like you suggested. But for the keyboard the problem is still the same below is my full AndroidManifest.xml file I replace the original value of android:configChanges with yours as below.
What else should I change to make it work smoothly. Thank you.
<application
        android:name="io.flutter.app.FlutterApplication"
        android:label="test1"
        android:usesCleartextTraffic="true"
        android:icon="@mipmap/ic_launcher">
        <activity
            android:name=".MainActivity"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
            <!-- Specifies an Android theme to apply to this Activity as soon as
                 the Android process has started. This theme is visible to the user
                 while the Flutter UI initializes. After that, this theme continues
                 to determine the Window background behind the Flutter UI. -->
            <meta-data
              android:name="io.flutter.embedding.android.NormalTheme"
              android:resource="@style/NormalTheme"
              />
            <!-- Displays an Android View that continues showing the launch screen
                 Drawable until Flutter paints its first frame, then this splash
                 screen fades out. A splash screen is useful to avoid any visual
                 gap between the end of Android's launch screen and the painting of
                 Flutter's first frame. -->
            <meta-data
              android:name="io.flutter.embedding.android.SplashScreenDrawable"
              android:resource="@drawable/launch_background"
              />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <!-- Don't delete the meta-data below.
             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />
    </application>

Hi Pichililorenzo,
I tried few options like removing  this |keyboardHidden|keyboard etc but yet it does not work. What is your suggestion which could be wrong on my side ? Also I notice most of the times the page get stuck at this link http://.../pay.php and its empty which blank page? I suspect the its not calling the post method or the post function is not going through ? I confirm manually the link is fine and up always.

Hi,
Any solution to the issue which I have reported above hope you could help me on this cause I am eagerly finding for a solution.

Delete the initialUrl attribute (not set to "", just remove it). Then try to call postUrl method on the onLoadStop event.
Instead, about the keyboard, could you make a screen record in order to see what is the problem? It should not reload the page. In any of my examples I tried, it never reloads.
Are you sure that what's is going on is a page reload or just a page resize??

No sorry don't put postUrl method on the onLoadStop event. It should work on onWebViewCreated event.

Also, use the chrome debugger to see if there is any javascript error on the console

@pichillilorenzo For me, webview gets reload when i'm opening keyboard by pressing text field, and while closing keyboard then also webview is reloaded. how to stop this bro?

@msarkrish please post the code you are using and your AndroidManifest.xml. Also, could you make a screen record about it?? Thanks

@pichillilorenzo  bro i added code, manifest file and video
`

<application
    android:name="io.flutter.app.FlutterApplication"
    android:label="Flathub"
    android:networkSecurityConfig="@xml/network_security_config"
    android:icon="@mipmap/ic_launcher">
    <activity
        android:name=".MainActivity"
        android:launchMode="singleTop"
        android:theme="@style/LaunchTheme"
        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
        android:hardwareAccelerated="true"
        android:windowSoftInputMode="adjustResize">
        <!-- Specifies an Android theme to apply to this Activity as soon as
             the Android process has started. This theme is visible to the user
             while the Flutter UI initializes. After that, this theme continues
             to determine the Window background behind the Flutter UI. -->
        <meta-data
          android:name="io.flutter.embedding.android.NormalTheme"
          android:resource="@style/NormalTheme"
          />
        <!-- Displays an Android View that continues showing the launch screen
             Drawable until Flutter paints its first frame, then this splash
             screen fades out. A splash screen is useful to avoid any visual
             gap between the end of Android's launch screen and the painting of
             Flutter's first frame. -->
        <meta-data
          android:name="io.flutter.embedding.android.SplashScreenDrawable"
          android:resource="@drawable/launch_background"
          />
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
        <intent-filter>
<action android:name="FLUTTER_NOTIFICATION_CLICK" />
<category android:name="android.intent.category.DEFAULT" />

`
Code
`
Widget build(BuildContext context) {
  return WillPopScope(
    onWillPop: () async {
     bool canGoBack = await webViewController.canGoBack();
    if (canGoBack == true) {
      webViewController.goBack();
    } else {
      return true;
    }
  },
  child: Scaffold(
    body: SafeArea(
      child: Column(
        children: [
          Container(
              child: progress < 1.0
                  ? LinearProgressIndicator(value: progress)
                  : Container()),
          Expanded(
            child: InAppWebView(
              initialOptions: InAppWebViewGroupOptions(
                  android: AndroidInAppWebViewOptions()),
              initialUrl: 'web url',
              onWebViewCreated: (controller) {
                webViewController = controller;
              },
              onLoadError: (controller, url, code, message) {
                setState(() {
                  controller.loadUrl(url: 'about:blank');
                  error = true;
                  print('error occured');
                  print(error);
                });
              },
              onProgressChanged:
                  (InAppWebViewController controller, int progress) {
                setState(() {
                  this.progress = progress / 100;
                });
              },
            ),
          ),
        ],
      ),
    ),
   ),
  );
 }

`
Video url:
https://drive.google.com/file/d/1AptUX_ju1Iz6uyAIRiSW_Ety7_84BErS/view?usp=sharing

It is just a resize and not a webpage reload! It's a reload if the website reloads, that seems not that case here.
It resizes itself because android:configChanges has keyboardHidden|keyboard. It is required if you want to be able to scroll to bottom, for example, the webview (or other non-native widgets) when the keyboard appears.
This ugly effect of widget "reloading" is caused to how Flutter manages Android native views and not in the plugin itself.
If you don't want this effect, you can use the resizeToAvoidBottomInset: false on your Scaffold widget, but in this way, you will have a little part of the webview not visible and not reachable.

Hi,
Here is my latest codes. As you suggested remove the intialUrl I have done that. Then next you suggested resizeToAvoidBottomInset: false . But the issue now is that it comes to the page here but its empty nothing. The above I got print and the result is as this CURRENT URL http://.../pay.php
I suspect it get stuck at my pay.php and it does not do the post or even loading the page completely ?

class OnlinePaymentPage extends StatefulWidget {
  final String orderID;
  final double totalPayment;

  OnlinePaymentPage({
    Key key,
    @required this.orderID,
    @required this.totalPayment,
  }) : super(key: key);
  @override
  _OnlinePaymentPageState createState() => new _OnlinePaymentPageState();
}
class _OnlinePaymentPageState extends State<OnlinePaymentPage>  {

  InAppWebViewController webView;
  String url = "";
  double progress = 0;

  @override
  void initState() {
     super.initState();
  }

  @override
  void dispose() {
    super.dispose();

  }

  @override
  Widget build(BuildContext context) {
      return Scaffold(
          resizeToAvoidBottomInset: false,
          appBar: AppBar(
            title: const Text('Online Payment'),
          ),
          body: Container(
            child: Column(children: <Widget>[
              Container(
                padding: EdgeInsets.all(5.0),
                child: Text(
                    "CURRENT URL\n${(url.length > 50) ? url.substring(0, 50) + "..." : url}"),
              ),

              Expanded(
                child: Container(
                  margin: const EdgeInsets.all(10.0),

                  child: InAppWebView(
                    initialHeaders: {},
                    initialOptions: InAppWebViewGroupOptions(
                      crossPlatform: InAppWebViewOptions(
                          debuggingEnabled: true,
                      )
                    ),
                    onWebViewCreated: (InAppWebViewController controller) {
                    webView = controller;
                    webView.postUrl(
                      url: 'http://*.*.*.*/pay.php',
                      postData: Uint8List.fromList(utf8.encode("detail=1&amount=200&order_id=A123&name=thiscustomer&email=abc@abc.com&phone=12345678"))
                      );
                    },
                    onLoadStart: (InAppWebViewController controller, String url) {
                      setState(() {
                        this.url = url;
                      });
                    },
                    onLoadStop: (InAppWebViewController controller, String url) async {
                      if (url.startsWith("http://*.*.*.*/pay.php")) {
                        // get your token from url
                        RegExp regExp = new RegExp("access_token=(.*)");
                        String token = regExp.firstMatch(url)?.group(1);
                        print(token);

                        // or using CookieManager
                        //CookieManager cookieManager = CookieManager.instance();
                        //Cookie token = await cookieManager.getCookie(url: "https://myUrl.com/auth-response", name: "access_token");
                        //print(token.value);

                        // or using javascript to get access_token from localStorage
                        //String token = await controller.evaluateJavascript(source: "localStorage.getItem('access_token')");
                        print(token);
                      }
                    },
                    onProgressChanged: (InAppWebViewController controller, int progress) {
                      setState(() {
                        this.progress = progress / 100;
                      });
                    },
                  ),
                ),
              ),

          ])),

      );
  }

  }

Ok, then probably, the problem is related to the URL scheme you are using.
If you useHTTP and not HTTPS, then you need to add support to it (see Support HTTP request in Android Section).
Check this answer: https://stackoverflow.com/questions/45940861/android-8-cleartext-http-traffic-not-permitted/50834600#50834600.
As he says, if none works, the last option is to set  the attribute android:usesCleartextTraffic="true" in your AndroidManifest.xml (<application> tag):
<application
  ...
  android:usesCleartextTraffic="true"
  ...>
  ...
</application>

Hi,
I have tried you suggestion here android:usesCleartextTraffic="true" but no luck it still the same white empty white page.

Then I don't know how to help you. If you can share your URL, I could try on my own, otherwise you need to debug yourself the problem, probably going into the Android native side code.

Hi,
How can I privately send you the url?

You can reach me at<EMAIL_ADDRESS>

Hi,
Thank you I have sent an email with all the details. Thank you.

@pichillilorenzo  Bro, is there any other way to avoid page blink when keyboard is open and close, without using resizeToAvoidBottomInset:false in Scaffold.

@msarkrish unfortunately no, we can only wait the flutter team to work on a better implementation of Android native view.
I know that they are working on it. I hope they will release it as soon as possible.

@newbieflutter I didn't receive it yet!

Hi,
I have resend see if you have received it now ? Thank you.

Hi,
Any updates thank you.

I think I can work on it tomorrow! I will let you know as soon as possible

Hi Lorenzo,
Thank you for the updates.

I am facing this on particular mobile phone that has 6 inch screen. @pichillilorenzo Any Idea why? I have already used following solution

android:usesCleartextTraffic="true"
Tried removing and adding back KeyboardHidden|Keyboard
Used Scaffold with and without resizeToAvoidBottomInset: .
Now Using a Container over InAppWebView class instead of Scaffold with resizeToAvoidBottomInset.

Also when it blink I am getting following log-
E/InputMethodManager(17883): b/117267690: Failed to get fallback IMM with expected displayId=426 actual IMM#displayId=0 view=com.pichillilorenzo.flutter_inappwebview.InAppWebView.InAppWebView{8f2339f VFED..CL. ......ID 0,0-1080,2015}
W/ContentCatcher(17883): Failed to notify a WebView

For Android keyboards problems, they are fixed with the new version 5.0.0. Try the latest version 5.0.5+3 and use the Android-specific webview option: useHybridComposition: true.


build: devcontainer TDE-598

Description
Add a devcontainter to this repo in order to facilitate development in a Python with GDAL and Poetry dependencies environment.
Discussion

Persist bash history: everytime the devcontainer is re-built, the bash history is lost. Meaning that previous command used to do some test (example: run a Python script with multiple arguments) are lost. There is a way to store the commands history: https://code.visualstudio.com/remote/advancedcontainers/persist-bash-history
pjl: some of us use this tool to print the json logs in a pretty format. We could add this tool in the Docker container.

Using devcontainer made my VSCode crashing few times. I've opened https://github.com/microsoft/vscode/issues/170999


Test with Clang-14

Description
Update to test with Clang-14.

🚀 [bumpr] Bumped! New version:v1.0.5 Changes:v1.0.4...v1.0.5


Implement "RecordMarker", "StartTimer", "CancelTimer" and "CancelWorkflowExecution" decisions

This PR somewhat addresses https://github.com/spulec/moto/issues/4708, in that more of the unimplemented decision types now have logic backing them.
I was interested also in the StartChildWorkflowExecution decision, but felt the PR was getting big enough and I can live without that for a little while longer.
I have also tried to implement a couple of 'common' failure modes for these decisions, but they are not completed. I have marked TODOs in the code where other failure states should be considered.

Hi Bert, thanks for the suggestion -- I was thinking myself that essentially inserting a full workflow definition to follow that includes these events would be great, so awesome to see you have a suite for that.
Thanks for the eyes, good to know I'm going in generally the right direction, will keep at it!

Codecov Report

Merging #4713 (82878bc) into master (80e3b35) will decrease coverage by 0.00%.
The diff coverage is 88.23%.

@@            Coverage Diff             @@
##           master    #4713      +/-   ##
==========================================
- Coverage   95.28%   95.27%   -0.01%
==========================================
  Files         556      557       +1
  Lines       61005    61057      +52
==========================================
+ Hits        58128    58174      +46
- Misses       2877     2883       +6

Flag
Coverage Δ

servertests
47.84% <88.23%> (+0.03%)
:arrow_up:

test_responses
32.49% <25.49%> (-0.01%)
:arrow_down:

unittests
95.19% <88.23%> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

moto/swf/models/history_event.py
100.00% <ø> (ø)

moto/swf/models/workflow_execution.py
96.44% <84.61%> (-1.57%)
:arrow_down:

moto/swf/models/__init__.py
93.90% <100.00%> (+0.02%)
:arrow_up:

moto/swf/models/timer.py
100.00% <100.00%> (ø)

moto/iot/models.py
92.32% <0.00%> (ø)

moto/iot/exceptions.py
89.74% <0.00%> (+1.17%)
: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 80e3b35...82878bc. Read the comment docs.

I don't think that test failure is caused by my change?

I don't think that test failure is caused by my change?

No, that was an intermittent failure - I've restarted the build and it all looks OK now


[Feature Request] Scroll to bottom floating button(like whats app)  to reach most recent messages

New issue checklist

[✓ ] I have read the README, documentation, and FAQ.
[✓ ] Contributing guidelines confirmation: ____
[✓ ] I have searched existing issues and this is not a duplicate.

General information

JSQMessagesViewController version:
iOS version:10.0
Devices/Simulators: iphone 7 plus (simulator)
Reproducible in the demo project? (Yes):
Any related issues:No

What happened?
Hi ,
I know that we already have scroll to bottom feature   that's available and implemented successfully on my project also so please consider it as (feature request ).
I need a floating button(like whatsapp have this feature) that can be used to scroll to bottom when user load old messages and kind of 100 messages already loaded and user want to scroll back to bottom of message list.
Or please  let me know how can I implement this in my project using JSQChatViewController.
Thanks
Ravindra Shekhawat

Hi Ravindra Shekhawat
Inside JSQMessagesViewController.m has these following codes.
NSIndexPath *lastCell = [NSIndexPath indexPathForItem: ([self.collectionView numberOfItemsInSection: 0] - 1) inSection: 0];
[self.collectionView scrollToItemAtIndexPath: lastCell
                            atScrollPosition: UICollectionViewScrollPositionBottom
                                    animated: YES];

You should add those codes to your IBAction of your floating button.
Hope this help. :D

@ngoclamnguyen  ,
I never wrote single line in objective - C .I am basically Android Developer but learned swift as per requirement .
Can you please  help me how to implement same code on swift.
@jessesquires  : Please consider it as feature request and if I will be able to implement it from my side will surely let you know guys .

no problem man , :D
Here is for swift 2.2
@IBAction func floatingButtonPressed(sender: UIButton) { var lastCell = NSIndexPath(forItem: (self.collectionView!.numberOfItemsInSection(0) - 1), inSection: 0) self.collectionView!.scrollToItemAtIndexPath(lastCell, atScrollPosition: .Bottom, animated: true) }
Here is for swift 3
@IBAction func floatingButtonPressed(_ sender: UIButton) { var lastCell = IndexPath(item: (self.collectionView!.numberOfItems(inSection: 0) - 1), section: 0) self.collectionView!.scrollToItem(at: lastCell, atScrollPosition: .bottom, animated: true) }
Hope that helps you, :D

Hello everyone!
I'm sorry to inform the community that I'm officially deprecating this project. 😢 Please read my blog post for details:
http://www.jessesquires.com/blog/officially-deprecating-jsqmessagesviewcontroller/
Thus, I'm closing all issues and pull requests and making the necessary updates to formally deprecate the library. I'm sorry if this is unexpected or disappointing. Please know that this was an extremely difficult decision to make. I'd like to thank everyone here for contributing and making this project so great. It was a fun 4 years. 😊
Thanks for understanding,
— jsq


Why  #pragma warning( disable : 4003 ) not work

I tested the snippet to only disable warning c4003 for test() but it did  not work.
#pragma warning( push )
#pragma warning( disable : 4003 )
#define test(A,B) A##B
#pragma warning( pop )

int main()
{
    test("1");
}

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

ID: 9651a718-4fc5-35ea-f5d8-b3d4fc355639
Version Independent ID: be36f8da-7c38-53c7-7d25-c9ea1f0f6755
Content: warning pragma
Content Source: docs/preprocessor/warning.md
Product: visual-cpp
Technology: cpp-language
GitHub Login: @corob-msft
Microsoft Alias: corob

@GameGameNoGG
I think I see the source of your result. The warning pragma must be applied where the warning is generated. In this case, that would be around line 8, where the test macro is invoked. Since you've popped the warning pragma change before this line is encountered, it has no effect. Since it's behaving as expected and documented, I'm closing the issue.


Suggestion: add screenshots of the game to serve as a demo or a preview.

Usually, when someone checks a repo, they just want to skim it. It is always nice when the README provides a preview or links to demos for the project. The majority of visitors won't build and run the project, so try to the README serve as a landing page and use images, GIFs, links, etc.
A random repo that does that: https://github.com/sindresorhus/emoj (there're many others).
Another suggestion would also be to create a release (e.g., v1.0.0) and add the game jar in it, so anyone that has Java installed can download and run the game right away. You can also add a link to that release in the README.
It was a good idea to use version control, and I am sure the game looks good too. Great job 🔥
@aboueleyes @ShimaaBetah @shaarawy29

Thank you @Abdoronic for you suggestions, we were in harry because of the finals after we will finish isA, we will consider
your thought. also the code is a little spaghetti, it need some refactor.  and some improvement to the GUI isA,
:heart:


Memsql

Added memsql to installations. Also added in Apache License v2.0

test this please

Can one of the admins verify this patch?

test this please


When switching between two of the same components with slot using v-else, I get a render error

Version
2.6.6
Reproduction link
https://codesandbox.io/s/4l3wn6r3nx
Steps to reproduce
Check the checkbox to trigger the error
What is expected?
The value "2" should be rendered
What is actually happening?
[Vue warn]: Error in render: "TypeError: item.a is undefined"

found in

---> <HelloWorld> at /src/components/HelloWorld.vue
       <App> at /src/App.vue
         <Root>

and "1" is still being rendered.

I have two of the same components next to each other and switch between them using v-else.
This used to work in earlier versions of Vue but in 2.6.6 I get this unexpected render error. It appears as if component 1 is being rendered with the properties of component 2.

Since you didn't key the two component instances, the same instance will be re-used, and that's fine in itself.
But it seems that the optimizations for (scoped) slots that we introduced in 2.6 have an unwanted side-effect here, namely that also the scoped slot is re-used / cached.


add logo of revive my memory project

logo created using Canva collaborated with @Omarelsherif010 @ahmedtarek26

GG ✅

I will merge this awesome logo
Thank bro @tabana1


Fixes #1670

Adds the missing C++ descriptors to Lipinski.py

If these will get added to the descriptor List in rdkit.Chem.Descriptors we probably need a documentation update.

Or a release note.

If these will get added to the descriptor List in rdkit.Chem.Descriptors we probably need a documentation update.

Some of them were there already, but a couple were missing. They are now added.

@bp-kelley are you ok with merging this?


Switch from sinon to testdouble

Up until now, we've been using sinon.js for stubbing and mocking because we couldn't make testdouble.js work with our testing framework.  The root cause was that it requires a global afterEach function, and that failed when running tests in the browser with hot-reloading.
The switch to Karma for test running makes it possible to run testdouble.js again, so this PR switches us over.
The advantages of testdouble.js over sinon include:

a better (IMO) philosophy behind it of how to do mocking and stubbing
setting up stubs and verifying mocks is done in a way that looks like a normal function call (td.when(func(arg1, arg2)) and td.verify(func(arg1, arg2))
no cross-test pollution.  With sinon, you often have to create your mocks and stubs in a beforeEach rather than just defining a const in your tests.

Possible disadvantages:

Using argument matchers can be a bit more verbose
Forces you to be explicit when you don't care about arguments; sinon lets you check that a function was called with any args; with testdouble.js, you have to be explicit.

Sinon is definitely the more commonly-used library in the JS world, but testdouble.js is a really nice alternative.  Justin Searls (the author) has thought deeply about testing, and his thinking is very similar to Sandi Metz-style testing, so it fits our approach well.

This should merge before https://github.com/CodingZeal/react-boilerplate/pull/77 as the cleanup to karma.config here should be backmerged into that branch.  I made some similar edits, though this version is more DRY

LGTM

There's a new karma-testdouble package out that I'd like to use here.  I'll try to find time to do that this week and then merge this PR.
Are we agreed that we want to switch to this library from Sinon?  @lexun, what do you think?


DSA <IP_ADDRESS> Lexicographical String pattern problem

Description
Give an introduction and explain the working of an algorithm for finding Lexicographically largest subsequence such that every character occurs at least k times.
Task

[ ] Documentation
[ ] Audio
[ ] Video

Note

While requesting the issue to be assigned, please mention your NAME & BATCH NUMBER.
Kindly refer to Issue Guidelines.
In case you see that the issue has already been assigned, try to request for a different task within the same issue.
Changes should be made inside the DSA/directory & DSA branch.
Name of the file should be same as the issue.
This issue is only for 'GWOC' contributors of 'DSA' Domain.

I would like to work on this issue(documentation part). Please assign it to me.
Utkarsh Pathak
DSA Batch-4

/assign Documentation
Utkarsh Upadhyay
DSA Batch-3


Cold Staking Guide

I haven't found a cold staking or a general staking guide. Can you please point me into one?

As this is a fork of PIVX you can go on like described here: https://forum.pivx.org/threads/a-pivx-cold-staking-how-to.745/
Especially the video at the page bottom should be useful.


Building the endpoints 5/5 -> /experiences

The request examples for each endpoint in the /experiences resource

Sample API Requests
GET /experiences
curl --location --request GET 'https://pochetes.heroku-app.com/experiences'

GET /experiences/{ experienceId }
curl --location --request GET 'https://pochetes.heroku-app.com/experiences?experienceId=8'

POST /experiences
curl --location --request POST 'https://pochetes.heroku-app.com/experiences' \
--header 'Content-Type: application/json' \
--data-raw '{
    "id": 1,
    "company": "Meta Platforms Inc.",
    "position": "Software Engineer Intern",
    "dateStarted": "June 2021",
    "dateEnded": "August 2021",
    "image": "<link_to_image>"
}'

PATCH /experiences/{ experienceId }
curl --location --request PATCH 'https://pochetes.heroku-app.com/experiences?experienceId=8' \
--header 'Content-Type: application/json' \
--data-raw '{
    "id": 1,
    "company": "Google",
    "position": "Software Engineer Intern",
    "dateStarted": "December 2021",
    "dateEnded": "March 2022",
    "image": "<link_to_image>"
}'

DELETE /experiences/{ experienceId }
curl --location --request DELETE 'https://pochetes.heroku-app.com/experiences?experienceId=8'


Add link to Microsoft/ApplicationInsights-aspnetcore/wiki/Logging

Microsoft/ApplicationInsights-aspnetcore/wiki/Logging
part of #7316

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

ID: 7184a308-a254-9350-a5cd-5bced1f369ae
Version Independent ID: 726e3bf1-f367-d733-8933-bccc04da0e16
Content: Logging in ASP.NET Core
Content Source: aspnetcore/fundamentals/logging/index.md
Product: aspnet-core
GitHub Login: @tdykstra
Microsoft Alias: tdykstra

https://github.com/Microsoft/ApplicationInsights-dotnet-logging/blob/develop/src/ILogger/Readme.md
This is the new doc.
I have sought help from @mrbullwinkle to modify docs to reflect new changes


CalcTextSize() not mapped

Hi,
Wanted to thank you guys for the possibility of using ImGui awesomeness from python.. talk about RAD! x)
I'm currently looking for a way to right align some text (numeric quantities) to make it more readable. I believe the usual approach in the original api is to just find out the size of the text to print and manually move the cursor to the right of the window minus the text width.
However I cannot find a way to do this currently in python since the useful CalcTextSize() function is not mapped.
Any chance of getting this soon?
Thanks!

Sorry, we still haven't ported that yet. I'll add this to the next milestone.

Cool thanks!

+1 for CalcTextSize(), layouting without it is really difficult :'(

+1

CalcTextSize() has been mapped in #191 :)

Awesome ! <3
Le mar. 15 déc. 2020 08:23, KinoxKlark<EMAIL_ADDRESS>a écrit :

CalcTextSize() has been mapped in #191
https://github.com/swistakm/pyimgui/pull/191 :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/swistakm/pyimgui/issues/117#issuecomment-745106476,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQUZ2OUACJDRHTQBTZSY2TSU4FGLANCNFSM4HLLMUQQ
.

Released as 1.3.0:

release notes
available distributions


Cache API stats issue

https://developers.google.com/web/fundamentals/instant-and-offline/web-storage/ has a slightly incorrect piece of data about Cache Storage. the 92 figure references the AppCache and not window.caches

Good catch, I'll correct and add links to the corresponding caniuse page so there clear accountability for those figures.

Added links to both MDN ref articles for each API and the caniuse page substantiating support numbers. Check me on the revised figure for cache API.


Improve balance/fee threshold estimation

Sometimes, when trying to send Omni, even though there is no "low balance" warning in the UI, then transactions don't go through and fail with -211, probably due to the coin selection, which results in transactions above the threshold.
We should improve the UI warning or raise the threshold for the warning.

I've tried to improve on this via https://github.com/OmniLayer/omnicore/pull/333 - I still don't think it's ideal  but since we can't know the size of some potential upcoming transaction until the user actually decides to transact, I think some degree of guesswork is inherent.
More than happy if you have better ideas dude, but otherwise I think this will be an improvement at least :)

This is a pretty good approach in my opinion, I like it! Especially because it adjusts based on the actual confirm target.

Resolved via #333. Awesome!
Side note, check this out @zathras-crypto: https://help.github.com/articles/closing-issues-via-commit-messages/


fix(dropdown): override line-height to avoid overflow:hidden

Describe pull-request
The value in the dropdown is getting cut off (due to overflow: hidden). To combat this we need to up the line-height.
Example:

Solving issue
Fixes: CDEP-2637
How to test

Go to Dropdown
Select the first value
Make sure no parts of the word is getting cut off.

Still cuts it off


Confusing article text

Near the start of the section "Examine Survey Responses", the article states "Because surveyResponses is a non-nullable reference type, no checks are necessary before de-referencing it", however surveyResponses has been declared as nullable in an earlier code snippet. This also means that the second line in the code snippet ("public string Answer(int index) => surveyResponses.GetValueOrDefault(index, "No answer")!;") should be checking for surveyResponse being null.

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

ID: b991cba9-efd4-68ae-283a-b575054b4907
Version Independent ID: 793f790b-e2aa-e292-b12b-f4ba9763f172
Content: Design with nullable reference types
Content Source: docs/csharp/tutorials/nullable-reference-types.md
Product: dotnet-csharp
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks for writing this up @andyste1
You're correct, this portion of the article does need to change. I've added it to this month's sprint.

Um.... N00bish, I cannot figure out how to submit a PR with https://github.com/MaxTranced/docs/commit/6319bcbae6e35e2252edf03457d83146f43309b6

@MaxTranced Thanks for doing the work for the fix.
From this page You should see a button that says "new pull request". From there, you can edit the pull request title and description, then click "Submit".
Thanks for working to help us improve our docs!


Prep to start building in-house

will build after https://github.com/redhat-appstudio/infra-deployments/pull/1806 is merged.

/retest


How to scape large amount of data??

 Use github api (https://developer.github.com/v3/).
Only language names are available through Github API (As far as I can tell anyways), So other language data, such as creator, paradigms, etc will probably need to be hand scraped. Wikipedia is a good source for this. There won't be many languages (probably < 20) and We already have data on most of the popular ones (C, C++, C#, Java, Ruby, Python, Javascript) So we don't even need data for those.

Need to figure out what is the best method to scrape data. For the Languages model, it's really easy to just populate it with data from Wikipedia via copy pasting, but for models like Projects, there needs to be an automatic way to get a lot of data.
One way I'm thinking of is to do an API call to GitHub (called Request list of organizations) that gets a list of all organizations in the order that they were created on GitHub, and then from each organization, get its repos_url or members_url.

I collected a bunch a data, its been commited already

The scraper I built is here: https://github.com/lock14/github_scaper


Sparql

Sparql is used a lot by the Data Knowledge engineers.
AS A technical user
I WANT TO be able to run SPARQL queries
SO I CAN search and extract data out of the knowledge graph

[ ] story #923
[x] epic #838
[x] epic #839
[ ] epic #840
[ ] epic #841

How was this resolved?


Fixes #2 - use puppetserver_gem when installing on JVM puppetserver

This allows control of the gem source and if the user wants to control installation of the puppetserver gem separately.

I have some tests failing that I need to figure out why.  But this is based on the same code snippet @genebean left behind.


Use fmap over liftM

What's the motivation for this change?

Although this kind of change is harmless, I'm going to close it as style-only churn.


chore(new link): Revising X in Y minutes

Fixes Issue
Closes #2443
Changes proposed
Adds a new link: https://www.youtube.com/playlist?list=PLu0W_9lII9ajkincuKn6f6tIk76l5Suqw, titled "Revising X in Y Minutes - CodeWithHarry" under Youtube/Computer Science

@Jay-Karia please do not raise the PR without getting assigned the issue and be careful about this.


Add ZIP file support to Remote Install

Sometimes homebrew gets released in a zip file containing the cia (and usually other things like readme, 3dsx, etc). For example: https://github.com/bubble2k16/picodrive_3ds/releases
Right now the only option is to use something else (another device, etc) to extract the cia manually and then get it onto your sd card.
It would be nicer if FBI could identify that it was a zip file and prompt you let you select and install a valid cia within it. I get you'd have to add some UI and deal with cleaning up both the zip file and the temporarily extracted contents, but I think it would improve the remote install experience.

The truth, I would like to be able to compress and decompress zip with FBI.
To save space on the 3ds.

You can do it with 3DShell... It would be nice if you could download other file formats than CIA with this, since MultiDownload doesn't work on most sites anymore due to outdated protocols.


Fixed issue-4557: UI: Improve UX on User Profile page

Describe your changes :

[x] Move Owned data and Following data sections to the third column
[x] Show only user "My Data" feed for the Activity Feeds (No filters)

Closes #4557

Type of change :

[x] Bug fix
[x] Improvement

Frontend Preview (Screenshots) :

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] I have commented on my code, particularly in hard-to-understand areas.
[x] I have added tests that prove my fix is effective or that my feature works.
[x] All new and existing tests passed.

Reviewers

@open-metadata/ui

@kshinde2512 @ShaileshParmar11 any reason the selenium tests are failing

@kshinde2512 @ShaileshParmar11 any reason the selenium tests are failing

It is due to the flakiness of the selenium, @kshinde2512 is working on the same to fix it.


V1.9.1 hotfixes

roll ideviceinstaller, libimobiledevice, libplist, openssl & usbmuxd to signed versions (#41411)
[flutter_tool] Add analytics events for ios-mdns fallback success/failure (#41482)
[flutter_tools] Adds tests of mdns analytics events (#41410)
[flutter_tools] Report iOS mDNS lookup failures to analytics (#41384)

testing it manually...

Works on my machine, would like to see @timsneath confirm that it works before merging to beta...


Using aiothrift server with a non-aiothrift client

I am trying to get a thriftpy server to use aiothrift without changing the clients. When I send a request to the server I am getting the following exception:
2017-12-05 17:36:59,860 aiothrift[53]: CRITICAL unhandled app exception
Traceback (most recent call last):
  File "/home/thesamet/dev/tbcode/.pants.d/pyprep/requirements/CPython-3.5.3/3df7c8a19a9b0f11a6528cd277dcbb5b2e6c3adb/.deps/aiothrift-0.1-py3-none-any.whl/aiothrift/server.py", line 23, in __call__
    yield from self.processor.process(iproto, oproto)
  File "/home/thesamet/dev/tbcode/.pants.d/pyprep/requirements/CPython-3.5.3/3df7c8a19a9b0f11a6528cd277dcbb5b2e6c3adb/.deps/aiothrift-0.1-py3-none-any.whl/aiothrift/processor.py", line 71, in process
    api, seqid, result, call = yield from self.process_in(iprot)
  File "/home/thesamet/dev/tbcode/.pants.d/pyprep/requirements/CPython-3.5.3/3df7c8a19a9b0f11a6528cd277dcbb5b2e6c3adb/.deps/aiothrift-0.1-py3-none-any.whl/aiothrift/processor.py", line 18, in process_in
    api, type, seqid = yield from iprot.read_message_begin()
  File "/home/thesamet/dev/tbcode/.pants.d/pyprep/requirements/CPython-3.5.3/3df7c8a19a9b0f11a6528cd277dcbb5b2e6c3adb/.deps/aiothrift-0.1-py3-none-any.whl/aiothrift/protocol.py", line 425, in read_message_begin
    self.trans, strict=self.strict_read)
  File "/home/thesamet/dev/tbcode/.pants.d/pyprep/requirements/CPython-3.5.3/3df7c8a19a9b0f11a6528cd277dcbb5b2e6c3adb/.deps/aiothrift-0.1-py3-none-any.whl/aiothrift/protocol.py", line 176, in read_message_begin
    message='No protocol version header')
thriftpy.protocol.exc.TProtocolException: TProtocolException(type=4)

I see that the expectation of getting a version can be controlled by a variable named strict_read, but I don't see a way to control it as a user through create_server().
I am not too familiar with the thrift wire format - is my client code being non-conforming if it doesn't send version information?

Well, I just pick the version used by thriftpy, which is defined as a const in their codebase.
So if your client is implemented by thriftpy(which is strict_write by default), the version is exactly the same with the aiothrift server, which ensures that we speak the same language at each side.
It is probably because that your client dose not write_message_begin with strict mode as you are not using a thriftpy client. Can you just hot patch the read_message_begin method, making strict_read false to see if it works? And I will consider to make the version check configurable at API level. If you have some good idea, welcome to send a PR.
btw,  aiothrift only support binary protocol currently, make sure that your client also uses the same protocol.

Thanks @ryanwang520 , the client we use is thriftpy==0.3.9 - I believe we use binary protocol. I'll dig deeper to see what could be causing this problem.


refactor: enable no-unnecessary-condition

Description
built on top of #18797
By combining with #18796, we can catch errors like
const { proxy } = config.server
if (proxy) { // this is always `true` should be something wrong
  //
}

Also I found many cases like above, even if we don't enable this rule, I think we should merge the change parts.

Added exhaustiveness check suggested in https://github.com/typescript-eslint/typescript-eslint/issues/10283#issuecomment-2457629275

https://github.com/vitejs/vite/pull/18797#issuecomment-2516410078


v4 support?

Does this work yet?
I need to consume v4 odata service on SAP BTP and am wondering if this library is what I need?
Thanks

We've moved to service v2, all good.

at the moment this is V2 only. V4 is not yet supported.


refactor filter_common

small refactors so far. I was hoping to ask a few questions about the API to hopefully refactor further-

there's a lot of type-checking in sphinxcontrib.needs.filter_common
for example-
def collect_filter_attributes(self):
        tags = str(self.options.get("tags", ""))
        if tags:
            tags = [tag.strip() for tag in re.split(";|,", tags) if len(tag) > 0]

        status = self.options.get("status", None)
        if status:
            try:
                status = str(status)
                status = [stat.strip() for stat in re.split(";|,", status)]
            except Exception:
                # If we could not transform/use status information, we just skip this status
                pass
        else:
            status = []

        types = self.options.get("types", [])
        if isinstance(types, str):
            types = [typ.strip() for typ in re.split(";|,", types)]

        # Add the need and all needed information
        collected_filter_options = {
            'status': status,
            'tags': tags,
            'types': types,
            'filter': self.options.get("filter", None),
            'sort_by': self.options.get("sort_by", None),
            'filter_code': self.content,
            'export_id': self.options.get("export_id", ""),
        }
        return collected_filter_options

what possible types can self.options["tags"] and self.options["status"] be?

rebased on master

will remove the 'WIP'. there's a lot more that can be done, but this is already a useful refactor

what possible types can self.options["tags"] and self.options["status"] be?

tags is normally a comma-separated string or None
status is a string or None

rebase on master