/etc/profile.d/ublue-os-just.sh pollution on .justfile

Describe the bug
Currently /etc/profile.d/ublue-os-just.sh adds !include /usr/share/ublue-os/justfile on every login.
What did you expect to happen?
I replaced the ~/.justfile with my own, ran just and saw the full list of ublue specific just-recipies. I expected this to be a /etc/skel style file where I had control of it.
Is it possible to change the ublue just command to alias ujust=just --unstable -f /etc/ujustfile or something similar?
Or, to keep the current default; add an opt-out so that I can have control over my own justfile in my homefolder, and have the system respect that?
Output of rpm-ostree status
State: idle
AutomaticUpdates: check; rpm-ostreed-automatic.timer: last run 18h ago
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bluefin:latest
                   Digest: sha256:44987723c941cbd884b219cae7b8ed8b4dac27be509e309b3f67eb88dc78180b
                  Version: 39.20231205.0 (2023-12-05T19:04:10Z)

  ostree-image-signed:docker://ghcr.io/ublue-os/bluefin:latest
                   Digest: sha256:eaa91bea8e16b280c22aceecdb1ce1a803fad9aac1fca9391cf8f51ad37d1279
                  Version: 39.20231204.0 (2023-12-05T00:35:57Z)

Extra information or context
No response

Would deleting /etc/profile.d/ublue-os-just.sh do the trick?

I'm guessing it is trying to solve a problem, so that seems like a bit of a nuclear option?
The first 9 lines seem reasonable to me:
alias just="just --unstable"

# Add uBlue's justfiles to users with home directories which lack a justfile.

if [ ! -z "$HOME" ] && [ -d "$HOME" ] && [ ! -f "${HOME}/.justfile" ]; then
  cat > "${HOME}/.justfile" << EOF
!include /usr/share/ublue-os/justfile
EOF
fi

It's line 11-20 that is a bit of an issue:
if [ -f "${HOME}/.justfile" ]; then
  if ! grep -Fxq '!include /usr/share/ublue-os/justfile' "${HOME}/.justfile"; then
    # Remove any lines we may have added previously.
    sed -i '/!include \/usr\/share\/ublue-os\/just\/.*.just/d' "${HOME}/.justfile"

    # Point to the new main justfile, place it as the first line
    echo '# You can add your own commands here! For documentation, see: https://ublue.it/guide/just/' | tee -a "${HOME}/.justfile"
    echo '!include /usr/share/ublue-os/justfile' | tee -a "${HOME}/.justfile"
  fi
fi

If I remember correct those lines 11-20 are from when we restructured our just files. So it would remove the old ones and add the new one. In a way that the user would keep their own commands if they where there. So it checks if the new !include /usr/share/ublue-os/justfile is found, if it is not we expect we are on a "old" version and it gets added.
So that is what we are trying to solve in that part. If you want to comment that part out in the script on your system, or like @castrojo suggested completely remove the script.  You will not get the ublue just commands anymore. Those are pointed via !include /usr/share/ublue-os/justfile.

So that is what we are trying to solve in that part. If you want to comment that part out in the script on your system, or like @castrojo suggested completely remove the script. You will not get the ublue just commands anymore. Those are pointed via !include /usr/share/ublue-os/justfile.

Oh, fair enough. I misunderstood @castrojo then, I though he meant remove it from the package... Yeah, I can certainly remove that file, will that keep it away or will it be replaced on an update? RPM suggests it's part of a package:
$ rpm -qf /etc/profile.d/ublue-os-just.sh
ublue-os-just-0.9-1.fc39.noarch

Otherwise I can probably chattr +i a dummy file.

Oh, fair enough. I misunderstood @castrojo then, I though he meant remove it from the package... Yeah, I can certainly remove that file, will that keep it away or will it be replaced on an update?

No it won't be restored after an upgrade. If you ever feel the need of restoring the file you can find a copy in /usr/etc/profile.d/ublue-os-just.sh on your system.

Oh, fair enough. I misunderstood @castrojo then, I though he meant remove it from the package... Yeah, I can certainly remove that file, will that keep it away or will it be replaced on an update?

No it won't be restored after an update. If you ever feel the need of restoring the file you can find a copy in /usr/etc/profile.d/ublue-os-just.sh on your system.

Oh, okay.
Then my issue is resolved. I, wrongly, assumed it would be recreated on updates like in other distributions.


stash: handle clean workspace on push()

Closes https://github.com/iterative/scmrepo/issues/211

Clean workspace on stash.push is now handled properly for all backends
When checking is_dirty or status, the check is done within the same backend, which eliminates inconsistencies when mixing status + stash calls across different backends

(This PR does not address the lack of gitattributes support in dulwich)

Codecov Report
Patch coverage: 66.66% and project coverage change: -1.18 :warning:

Comparison is base (62ac00d) 82.29% compared to head (2df703d) 81.12%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #214      +/-   ##
==========================================
- Coverage   82.29%   81.12%   -1.18%
==========================================
  Files          25       25
  Lines        3559     3571      +12
  Branches      622      411     -211
==========================================
- Hits         2929     2897      -32
- Misses        534      564      +30
- Partials       96      110      +14

Impacted Files
Coverage Δ

src/scmrepo/git/backend/base.py
80.88% <ø> (ø)

src/scmrepo/git/stash.py
83.33% <0.00%> (ø)

src/scmrepo/git/backend/gitpython.py
63.46% <40.00%> (-1.05%)
:arrow_down:

src/scmrepo/git/backend/dulwich/__init__.py
80.72% <100.00%> (-1.06%)
:arrow_down:

src/scmrepo/git/backend/pygit2.py
75.91% <100.00%> (-2.23%)
:arrow_down:

tests/test_stash.py
100.00% <100.00%> (ø)

... and 7 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


core: Right clicking the text of an alert crashes the browser

Describe the bug
Right clicking the text of an alert crashes the browser.
How to reproduce
Steps to reproduce the behavior:

Go to https://stackblitz.com/edit/react-ts-m87m8o
Click on "Open in New Window (Live)". Make sure to be on Chrome.
Right click on any text of the first alert.
The browser crashes

Expected / Actual behavior
https://user-images.githubusercontent.com/113730/123819472-7ae63000-d902-11eb-9b97-a556890ddea1.mov
Versions
Clarity project:

[x] Clarity Core
[ ] Clarity Angular/UI

Clarity version:

[ ] v3.x
[ ] v4.x
[x] v5.x (Reproduced on v5.3.0 and v5.4.1)

Framework:

[ ] Angular
[x] React
[ ] Vue
[ ] Other:

_I have not tested if that's a bug with the web components as well or only the React components.°
Framework version:
React 17.0.2
Device:

Type: MacBook
OS: Catalina 10.15.17
Browser: Chrome
Version: 91.0.4472.114 (latest)

This is a React issue, (documented here)[https://github.com/facebook/react/issues/20829].
There are a few workarounds on that comment thread. But tl;dr, it's been fixed in later versions of React so path one is to update, path two is to use one of the workarounds on that thread, or path three is wrapping cds-alert content in a div.
Closing because React already has a fix and it's outside the scope of Clarity.

@mathisscott I don't believe this is related: the Stackblitz shared above is on the latest React (17.0.2). Apologies for incorrectly reporting this on the issue description.
Would you mind reopening this issue? 🙏

I don't see latest react on that stackblitz...

Additionally, this is a React issue. You'd get the most traction by opening an issue with them. If they do or do not fix it, there are three paths to workaround listed above.

Alright, my Stackblitz got hosed with:
Error in /turbo_modules/<EMAIL_ADDRESS>(6:25)
Unexpected token 'export'

So I had to create a CodeSandbox instead (forking didn't fix it): https://codesandbox.io/s/affectionate-raman-qpdof
It's using React 17.0.2, and on https://qpdof.csb.app/ you can see that the bug still exists.
And yeah I knew about the div workaround since, well, that's what I added as a workaround in my sandbox 😅
How did you connect this to the React issue you linked to? The dev console does not have any warning so I'm not sure how to debug this, or even know for sure that it's a React issue.

Or engaging with the React team to provide better support for custom elements...

That seems like a can of worms far bigger and out-of-topic for that specific bug, so I'll pass on the opportunity 😅
If anyone implements the alert as documented on the Clarity website and uses @cds/react (which we have), they will run into this bug. We now have many dozens of alerts to fix all over our codebases with that undocumented div workaround. This doesn't sound ideal.
Could @cds/react inject an extra div within the child of <CdsAlert> instead? It seems like @cds/react would be the perfect home for this rather than letting this broken until React supports custom elements if ever. @coryrylan, do you think this is a feasible solution?


[cloud_firestore] WEB Multiple 'where' on a Query doesn't work

Describe the bug
When chaining multiple where on Flutter web, it results in an error. A single where works.
This is only the case on Flutter web, on Android it works fine.
To Reproduce
For example (trimmed code):
  CollectionReference get _sessionsReference {
    return firestore
        ?.collection('logs')
        ?.doc(Log.environment.name)
        ?.collection('sessions');
  }

  Query query = _sessionsReference;

  if (userId?.isEmpty == false) {
    query = query?.where(UserSession.kFSUserId, isEqualTo: userId);
  }

  if (country?.isEmpty == false) {
    query = query?.where(UserSession.kFSCountry, isEqualTo: country);
  }

  (await query?.get())?.docs;

Works when:
userId is not empty, and country is empty
userId is empty, and country is not empty
userId is empty, and country is empty
Does not work when:
userId is not empty, and country is not empty
So when chaining two or more where's the query fails with the following error:
Error: Expected a value of type 'FieldPath', but got one of type 'NativeJavaScriptObject'
    at Object.throw_ [as throw] (http://localhost:60848/dart_sdk.js:4322:11)
    at Object.castError (http://localhost:60848/dart_sdk.js:4293:15)
    at Object.cast [as as] (http://localhost:60848/dart_sdk.js:4609:17)
    at dart.LegacyType.new.as (http://localhost:60848/dart_sdk.js:6151:60)
    at cloud_firestore.Query.__.where (http://localhost:60848/packages/cloud_firestore/cloud_firestore.dart.lib.js:338:34)
    at search_firestore.SearchFirestore.new._performSearch (http://localhost:60848/packages/api_core/src/utils/api_access.dart.lib.js:658:61)
    at _performSearch.next (<anonymous>)
    at runBody (http://localhost:60848/dart_sdk.js:37231:34)
    at Object._async [as async] (http://localhost:60848/dart_sdk.js:37262:7)
    at search_firestore.SearchFirestore.new.[_performSearch] (http://localhost:60848/packages/api_core/src/utils/api_access.dart.lib.js:651:20)
    at search_firestore.SearchFirestore.new.getUserSessions (http://localhost:60848/packages/api_core/src/utils/api_access.dart.lib.js:632:50)
    at getUserSessions.next (<anonymous>)
    at runBody (http://localhost:60848/dart_sdk.js:37231:34)
    at Object._async [as async] (http://localhost:60848/dart_sdk.js:37262:7)
    at search_firestore.SearchFirestore.new.getUserSessions (http://localhost:60848/packages/api_core/src/utils/api_access.dart.lib.js:630:20)
    at search_page._SearchPageState.new.<anonymous> (http://localhost:60848/packages/logging_example_app/search_page.dart.lib.js:1558:65)
    at Generator.next (<anonymous>)

Expected behavior
Being able to chain multiple where
Flutter doctor
[✓] Flutter (Channel beta, 1.20.0-7.4.pre, on Mac OS X 10.15.5 19F101, locale
    en-GB)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.0)
[!] VS Code (version 1.47.3)
    ✗ Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (3 available)

! Doctor found issues in 1 category.

i did some more testing. It seems like this issue is only in the prerelease version (0.14.0-dev.1). When stable (0.13.7) it works fine on web.

I'm seeing the same issue.

Thanks for reporting, this has been fixed in the linked PR above - will release soon.

@vixez Just a follow up, whats your use-case for doing multiple wheres with a documentId? That would always return zero results.
This is still an issue, just wondering on your use-case?

@Ehesp I'm doing multiple where's on a collection called sessions.
kFSUserId = user_id field in Firestore document
kFSCountry = country field in Firestore document
So in this case I would be looking for all sessions with a certain user_id and country.


Android Basics: Collections -  DAC rendering issue

https://developer.android.com/codelabs/basic-android-kotlin-training-collections?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-kotlin-unit-3-pathway-1%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-training-collections#4
task 5 step 2
it appears part of the page is in a code section and should just be in a text section, as it appears to be describing the
"The  [startsWith()](https://kotlinlang.org/api/latest" function and has a link to the docs
Steps to reproduce?

Go to...
Click on...
See error...

Versions
Android Studio version:
API version of the emulator:
Additional information
Include screenshots if they would be useful in clarifying the problem.

Duplicate of #24

Duplicate of #24


Display instructions on how to re-open the wizard

At the bottom of the wizard, display instructions how to reopen the wizard by using the command palette and the "Granite: Setup Granite Code as code assistant" command, in a smaller font

You mean we have to give instructions in the bottom of the welcome page or does it need to appear like a popup maked in the screenshot. Could you please confirm

At the bottom, just like I described

@fbricon, could you please confirm if the display instructions for reopening the wizard are ready to go?

no it should not be a popup. Just some text below the main box

Its now appearing like this as an alert message at the bottom right corner.
Now i changed it to test below the main box. Please confirm the change is good to proceed

Please use the same width as the rest, otherwise it looks really weird. I think it'll look better if using the same dark background as the description block at the top

made the modification . please let me know for any suggestions

Move "Granite: Setup ... assistant" to the next line and we'll be good to go

"To reopen this wizard ..."

Looks good now

Raised PR: #119


Error while installing Coq language support

What did you expect to happen?
When uncommenting coq from init.el, it should successfully install coq language support.
What actually happened?
When running doom sync, the following error occurs, rather than installing coq support:
C:\Users\RyanS\AppData\Roaming\.emacs.d\bin>doom sync
> Executing 'doom sync' with Emacs 27.2 at 2021-10-01 01:17:36
  > Synchronizing your config with Doom Emacs...
    > Regenerating envvars file at "~/.emacs.d/.local/env"
      âo" Successfully generated "~/.emacs.d/.local/env"
    > Installing packages...
      > Updating recipe repos...
        âo" melpa updated (5a74b32 -> 4e7ce4a)
          - $ cd "c:/Users/RyanS/AppData/Roaming/.emacs.d/.local/straight/repos/melpa/"
          $ "git" "config" "--get" "remote.origin.url"

          https://github.com/melpa/melpa.git

          [Return code: 0]

          $ cd "c:/Users/RyanS/AppData/Roaming/.emacs.d/.local/straight/repos/melpa/"
          $ "git" "fetch" "origin"

          From https://github.com/melpa/melpa
             5a74b32..4e7ce4a  master     -> origin/master
      > Cloning emacs-neotree...macsmirror-mirror...
      > Building neotree...
      - Checked out company-coq: 382db93374380e5db56f02934ee32bbe39159019
      > Building company-coq...
      x There was an unexpected error
        Message: File is missing
        Data: (file-missing . "Searching for program")
        Backtrace:
          (call-process "gzip" "c:/Users/RyanS/AppData/Local/Temp/jka-comghz1Py" #<b
          (apply call-process "gzip" "c:/Users/RyanS/AppData/Local/Temp/jka-comghz1P
          (jka-compr-call-process "gzip" "compressing z.html.gz" "c:/Users/RyanS/App
          (jka-compr-write-region nil nil "c:/Users/RyanS/AppData/Roaming/.emacs.d/.
          (apply jka-compr-write-region (nil nil "c:/Users/RyanS/AppData/Roaming/.em
          (jka-compr-handler write-region nil nil "c:/Users/RyanS/AppData/Roaming/.e
          (write-region nil nil "c:/Users/RyanS/AppData/Roaming/.emacs.d/.local/stra
          (save-current-buffer (set-buffer temp-buffer) (write-region nil nil temp-f
          (prog1 (save-current-buffer (set-buffer temp-buffer) (insert link-target))
          (unwind-protect (prog1 (save-current-buffer (set-buffer temp-buffer) (inse
      ! Extended backtrace logged to ~/.emacs.d/.local/doom.error.log

This is the error log produced
Error log: https://pastebin.com/MZKWtfeR
Describe your attempts to resolve the issue
No response
Steps to reproduce

Go to .doom.d/init.el
Uncomment coq from the languages section (line 118 on my file)
run doom sync

System Information
https://pastebin.com/NbfAhYqt

Seems like it's trying to write a gzip-compressed file but not finding gzip to compress with. Do you have gzip installed and in your PATH?
If that's the issue we should document it somewhere.

I just checked, and gzip is definitely installed and in my PATH.
However, out of the blue, it now works.
I was installing other packages and restarted my computer, and when I ran doom sync afterwards, it successfully installed.
Oddly enough, I tried to do something similar a few weeks ago to fix this error, but it did not work those times.
Still no clue what the source of the error was though.

It's possible the PATH in your envvar file was outdated.  An envvar file is a snapshot of your shell environment that Doom loads at startup.
In any case, glad to hear this is resolved.


Add support for generic OIDC OAuth provider like Authentik

I was missing the option to use Authentik for authentication. Instead of making it specific, this should also give the option to use pretty much any compatible OIDC provider.
Pull request for documentation coming soon.

welp, its being added into v4 so I will just close this and still keep #372 as discussions for it. This PR is good though, sorry that it wouldn't be merged :(


[Python] Error when executing the command to build pyarrow

Describe the bug, including details regarding any error messages, version, and platform.
I encounter an error when executing the command(python setup.py build_ext --inplace) to build pyarrow.
Based on examining the git commits, it appears to be related as follows.
I use M1 mackbook.

/Users/lama/workspace/arrow-latest/python/build/temp.macosx-11.0-arm64-cpython-310/lib.cpp:75745:101: error: no member named 'MakeTensor' in 'arrow::extension::FixedShapeTensorType'

#37533

/Users/lama/workspace/arrow-latest/python/build/temp.macosx-11.0-arm64-cpython-310/lib.cpp:118724:67: error: no member named 'ExportChunkedArray' in namespace 'arrow'
/Users/lama/workspace/arrow-latest/python/build/temp.macosx-11.0-arm64-cpython-310/lib.cpp:118897:98: error: no member named 'ImportChunkedArray' in namespace 'arrow'

#39985

error message
$ python setup.py build_ext --inplace
/Users/lama/workspace/arrow-latest/python/setup.py:34: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  import pkg_resources
/Users/lama/mambaforge/envs/pyarrow-dev/lib/python3.10/site-packages/setuptools/__init__.py:80: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!

        ********************************************************************************
        Requirements should be satisfied by a PEP 517 installer.
        If you are using pip, you can try `pip install --use-pep517`.
        ********************************************************************************

!!
  dist.fetch_build_eggs(dist.setup_requires)
running build_ext
-- Running cmake for PyArrow
cmake -DCMAKE_INSTALL_PREFIX=/Users/lama/workspace/arrow-latest/python/pyarrow -DPYTHON_EXECUTABLE=/Users/lama/mambaforge/envs/pyarrow-dev/bin/python -DPython3_EXECUTABLE=/Users/lama/mambaforge/envs/pyarrow-dev/bin/python -DPYARROW_CXXFLAGS= -DPYARROW_BUILD_CUDA=off -DPYARROW_BUILD_SUBSTRAIT=off -DPYARROW_BUILD_FLIGHT=off -DPYARROW_BUILD_GANDIVA=off -DPYARROW_BUILD_ACERO=off -DPYARROW_BUILD_DATASET=off -DPYARROW_BUILD_ORC=off -DPYARROW_BUILD_PARQUET=off -DPYARROW_BUILD_PARQUET_ENCRYPTION=off -DPYARROW_BUILD_GCS=off -DPYARROW_BUILD_S3=off -DPYARROW_BUILD_HDFS=off -DPYARROW_BUNDLE_ARROW_CPP=off -DPYARROW_BUNDLE_CYTHON_CPP=off -DPYARROW_GENERATE_COVERAGE=off -DCMAKE_BUILD_TYPE=release /Users/lama/workspace/arrow-latest/python
CMake Warning at /Users/lama/mambaforge/envs/pyarrow-dev/share/cmake-3.27/Modules/Platform/Darwin-Initialize.cmake:306 (message):
  Ignoring CMAKE_OSX_SYSROOT value:

   /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk

  because the directory does not exist.
Call Stack (most recent call first):
  /Users/lama/mambaforge/envs/pyarrow-dev/share/cmake-3.27/Modules/CMakeSystemSpecificInitialize.cmake:34 (include)
  CMakeLists.txt:22 (project)

-- Using ccache: /Users/lama/anaconda3/envs/pyarrow-dev/bin/ccache
-- System processor: arm64
-- Arrow build warning level: PRODUCTION
-- Build Type: RELEASE
-- CMAKE_C_FLAGS:  -Wall -Wno-unknown-warning-option -Wno-pass-failed -march=armv8-a -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -fmessage-length=0 -isystem /Users/lama/anaconda3/envs/pyarrow-dev/include -Qunused-arguments -fcolor-diagnostics  -fno-omit-frame-pointer -Wno-unused-variable -Wno-maybe-uninitialized -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-missing-declarations -Wno-sometimes-uninitialized -Wno-return-type-c-linkage
-- CMAKE_CXX_FLAGS:  -fno-aligned-new  -Wall -Wno-unknown-warning-option -Wno-pass-failed -march=armv8-a -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -fmessage-length=0 -isystem /Users/lama/anaconda3/envs/pyarrow-dev/include -Qunused-arguments -fcolor-diagnostics  -fno-omit-frame-pointer -Wno-unused-variable -Wno-maybe-uninitialized -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-missing-declarations -Wno-sometimes-uninitialized -Wno-return-type-c-linkage
-- Generator: Unix Makefiles
-- Build output directory: /Users/lama/workspace/arrow-latest/python/build/temp.macosx-11.0-arm64-cpython-310/release
CMake Warning at /Users/lama/anaconda3/envs/pyarrow-dev/lib/cmake/Arrow/Findlz4Alt.cmake:29 (find_package):
  By not providing "Findlz4.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "lz4", but
  CMake did not find one.

  Could not find a package configuration file provided by "lz4" with any of
  the following names:

    lz4Config.cmake
    lz4-config.cmake

  Add the installation prefix of "lz4" to CMAKE_PREFIX_PATH or set "lz4_DIR"
  to a directory containing one of the above files.  If "lz4" provides a
  separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
  /Users/lama/mambaforge/envs/pyarrow-dev/share/cmake-3.27/Modules/CMakeFindDependencyMacro.cmake:76 (find_package)
  /Users/lama/anaconda3/envs/pyarrow-dev/lib/cmake/Arrow/ArrowConfig.cmake:99 (find_dependency)
  /Users/lama/anaconda3/envs/pyarrow-dev/lib/cmake/Arrow/ArrowConfig.cmake:122 (arrow_find_dependencies)
  CMakeLists.txt:268 (find_package)

-- Arrow version: 16.0.0
-- Found the Arrow shared library: /Users/lama/anaconda3/envs/pyarrow-dev/lib/libarrow.1600.0.0.dylib
-- Found the Arrow import library: ARROW_IMPORT_LIB-NOTFOUND
-- Found the Arrow static library: /Users/lama/anaconda3/envs/pyarrow-dev/lib/libarrow.a
-- Parquet Encryption is NOT Enabled
-- Configuring done (1.4s)
-- Generating done (0.0s)
-- Build files have been written to: /Users/lama/workspace/arrow-latest/python/build/temp.macosx-11.0-arm64-cpython-310
-- Finished cmake for PyArrow
-- Running cmake --build for PyArrow
cmake --build . --config release --
[  1%] Compiling Cython CXX source for lib...
[  1%] Built target lib_pyx
[  3%] Built target cython_api_headers
[ 45%] Built target arrow_python
[ 47%] Building CXX object CMakeFiles/lib.dir/lib.cpp.o
/Users/lama/workspace/arrow-latest/python/build/temp.macosx-11.0-arm64-cpython-310/lib.cpp:75751:101: error: no member named 'MakeTensor' in 'arrow::extension::FixedShapeTensorType'
            __pyx_t_1 = arrow::py::GetResultValue<std::shared_ptr< arrow::Tensor> >(__pyx_v_c_type->MakeTensor(__pyx_v_scalar)); if (unlikely(__Pyx_ErrOccurredWithGIL())) __PYX_ERR(4, 1084, __pyx_L4_error)
                                                                                ~~~~~~~~~~~~~~  ^
/Users/lama/workspace/arrow-latest/python/build/temp.macosx-11.0-arm64-cpython-310/lib.cpp:118724:67: error: no member named 'ExportChunkedArray' in namespace 'arrow'
            __pyx_t_6 = __pyx_f_7pyarrow_3lib_check_status(arrow::ExportChunkedArray(__pyx_v_self->sp_chunked_array, __pyx_v_c_stream)); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(15, 1357, __pyx_L6_error)
                                                           ~~~~~~~^
/Users/lama/workspace/arrow-latest/python/build/temp.macosx-11.0-arm64-cpython-310/lib.cpp:118897:98: error: no member named 'ImportChunkedArray' in namespace 'arrow'
            __pyx_t_2 = arrow::py::GetResultValue<std::shared_ptr< arrow::ChunkedArray> >(arrow::ImportChunkedArray(__pyx_v_c_stream)); if (unlikely(__Pyx_ErrOccurredWithGIL())) __PYX_ERR(15, 1385, __pyx_L4_error)
                                                                                ~~~~~~~^
3 errors generated.
make[2]: *** [CMakeFiles/lib.dir/build.make:93: CMakeFiles/lib.dir/lib.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:161: CMakeFiles/lib.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
error: command '/Users/lama/mambaforge/envs/pyarrow-dev/bin/cmake' failed with exit code 2

Component(s)
Python

Could you try deleting your cpp arrow and pyarrow binaries and build them again?

Thank you. I am trying as you suggested, but it seems like it might take some time as I am encountering issues during the attempt.

I usually find it helpful to follow steps here.

@rok
I was able to resolve it thanks to you. After cleaning the entire build environment, it worked. Thank you :)


Dark mode in Kaoto UI

Please describe the feature that you want to propose
In the past, there was a dark mode in Kaoto 1.0:

Considering many devs use dark mode in VSCode, it would be nice if the Kaoto UI would offer also a dark mode setting.

Finally, we got our priorities right :smile: :heart_hands: :rocket: Upvoting for this feature +1000


Single Logout flow not working as expected.

Description:
After initiating an SLO request from a secondary application and then, refreshing the logged-in secured page (eg: home.jsp in the sample-app in tomcat-saml-agent) of the primary app does not redirect the user to a login page nor does it prompt the user for authentication. Instead a new logged in session would be created and the secured page would be accessible.

Steps to reproduce:

Configure two webapps with the WSO2-IS. In my testing, I configured the pickup-dispatch webapp (OIDC) and the sample-app (SAML).
Enable Single Logout under the service provider configurations (Inbound Authentication Configuration -> SAML2 Web SSO Configuration) of the sample-app.
Login from the pickup-dispatch app providing the user credentials.
Open a new tab on the same browser and log in to the sample-app. (Should not be prompted for authentication in this step)
After getting to the home page of both the applications, click on logout from the pickup-dispatch app.
Verify if the user is logged out. (The user should be redirected to the log in page of the pickup-dispatch app.)
Switch to the sample-app application, (The user should be on the home.jsp page of the sample-app), and hit refresh on browser.
The home.jsp page of the sample-app would still be accessible.

Root cause:
When the browser refresh is hit, the browser would replay the SAML Response sent to the ACS URL (In this case, home.jsp page).

Then, the SSOAgentFilter would treat the POST request as a legitimate SAML response and would proceed to create a new logged-in session. Therefore, the home.jsp page would be accessible, now with a new browser session.

Approach to resolve:
Can verify that the InResponseTo attribute in the bearer  equals the ID
of its original  message in cases where the response is not unsolicited. In this approach, when the request is being genereated, the above ID can be generated and set to the session. Upon receiving a response, the agent will then validate the ID of the response against the ID in the session.
If the validation is successful, the ID parameter would be removed from the session and the response would be processed accordingly as before. If the ID parameter validation is unsuccessful, the response would be rejected and the user would be redirected to the index page upon invalidating the session.
ref: section <IP_ADDRESS> of Profiles for the OASIS Security Assertion Markup Language (SAML) V2.0

Fixed with https://github.com/asgardio/asgardio-java-saml-sdk/pull/4.


Source Control ssh default keyring not working on linux

I have a Synology NAS running git over SSH. I've been able to clone/push/pull just fine over terminal SSH using the default keyring credentials on Seahorse.
I've been able to open a cloned repository in VSCode in the "Source Control" tab, and ever since when I've opened said project in VSCode it prompts me to log in to my default keyring. Even though I log in to my keyring, I am not able to push my commits over SSH using the tools in the Source Control tab. The error I get from Node.js is:
Node.js v18.18.2
<EMAIL_ADDRESS>Permission denied (publickey,password).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

All git-related functions still work fine over the terminal through an SSH connection.
Version / builds of system & software used:
System--------------------------------------
System OS: Linux Mint 21.3 x86_64
System Kernel: 6.5.0-1020-oem
Keyring--------------------------------------
Seahorse: 41.0
Visual Studio------------------------------
Visual Studio Code: 1.88.1
NodeJS version: 18.18.2
Git Server----------------------------------
System: SynologyNas
Git: 2.39.1-1017
Steps to reproduce:

Clone an existing repository over SSH from local Git server.
Open the repository in Visual Studio Code and log in to your keyring when prompted.
Commit any changes to repository.
Push any commits to origin through the Source Control tab (fails).

I'm not sure how the linux terminal managed to connect securely without a password. But now I got the key working with VSCode too.
For reference to anybody else having this issue, what fixed it for me was giving the Git user account on my NAS file permissions to the profile's own .ssh directory:
cd /<YOURVOLUME>/homes/<YOURGITUSER>/
chown -R <YOURGITUSER>:users .ssh
chmod 700 .ssh
chmod 644 .ssh/authorized_keys


Make use of custom type caster support from pybind11

pybind11 has support for custom type casters.
This PR, while it can be used directly in the current state, is more like a proof of concept for making use of this support. I implemented this only for casting toml::date objects - from/to python. @bobfang1992, @EpicWink If you guys like this approach, maybe we can start using it for other types as well. Let me know your thoughts.
Why this approach?

Although right now it's not apparent, once this approach is used for other types, the code in pytomlpp.hpp will become much simpler, as we can just have generic logic there using C++ templates.
Better organization of code IMO - for any given type the load (C++ to Python) and cast (Python to C++) functions will always be found together.
This would make it more idiomatic pybind11 code as we can make use of its native features without adding unnecessary complications or reinventing anything.

Hi, this is great. Do you plan to apply this to time and datetime etc in the same PR or that will be separate PRs? Thanks!

I think let's have separate PRs for each so as to not make this a big change. That way we can have incremental changes.

LGTM. I will merge it now if that's okay with you @chaitan94

Sure, go ahead.


index.d.ts mismatch

export class MessageBuilder {
      setUrl(url: string): this;
      setColor(color: number): this;
}

should be
export class MessageBuilder {
      setURL(url: string): this;
      setColor(color: string | number): this;
}

Yes this should be correct too getting the same error

This is highly required for typescript users, please merge.
This may help for the moment : https://convertingcolors.com/hex-color-AFDAB9.html?search=AFDAB9

if you still having this issue because the maintainer dont update this error you can do this instead it's not perfect but it's working:

you can still use this website to convert your hex color to decimal or so
https://convertingcolors.com/

If you're looking for an alternative solution, see my comment in https://github.com/matthew1232/discord-webhook-node/issues/34#issuecomment-1364367372

A hacky fix I am using:
interface MessageBuilderWithFix extends MessageBuilder {
  setURL: (url: string) => MessageBuilderWithFix;
}

function getEmbedBuilder(): MessageBuilderWithFix {
  return new MessageBuilder() as MessageBuilderWithFix;
}

As a more production-friendly alternative, I forked and re-wrote this project here: https://github.com/tycrek/discord-hookr (note for users of this repo)
It's not a direct 1:1 replacement so I'd recommend reading my docs if you choose to go this route. Also keep in mind that file uploads are not implemented, but standard webhook embeds are fully supported.


Dialog example?

Use Version

Headless UI: v1.7.4
Headless UI Float: v0.10.0
Framework: vue v3.2.45

Would it be possible to get an example of how to do a dialog? My main struggle seems to be around headlessui's dialog getting portaled away.

Can you briefly describe your purpose and applicable scenarios?

Hi, I think the Headless UI Float is not made for Dialog (Modal); could you please explain how you intend to use both Dialog and Headless UI Float?

Hi @WesleyKapow, I think the Headless UI Float is not made for Dialog (Modal); could you please explain how you intend to use both Dialog and Headless UI Float?

In the same way it is used for Popover it'd be nice if it could also be used with headless Dialog.

@WesleyKapow Can you please describe what kind of function you want to develop that will be used in this way?😅 and provide some sample code or screenshots.

@WesleyKapow you need to understand menu and popover elements are positioned against a parent element, that is why you can use float-ui to position the child elements around the parent element.
A Dialog or modal is just a popup inside a container. You don't need float-ui to position the dialog.
Vue example for Dialog:

<template>
  <TransitionRoot as="template" :show="open">
    <Dialog as="div" class="relative z-10" @close="open = false">
      <TransitionChild as="template" enter="ease-out duration-300" enter-from="opacity-0" enter-to="opacity-100" leave="ease-in duration-200" leave-from="opacity-100" leave-to="opacity-0">

      </TransitionChild>

          <TransitionChild as="template" enter="ease-out duration-300" enter-from="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95" enter-to="opacity-100 translate-y-0 sm:scale-100" leave="ease-in duration-200" leave-from="opacity-100 translate-y-0 sm:scale-100" leave-to="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95">
            <DialogPanel class="relative transform overflow-hidden rounded-lg bg-white px-4 pt-5 pb-4 text-left shadow-xl transition-all sm:my-8 sm:w-full sm:max-w-sm sm:p-6">

                  <DialogTitle as="h3" class="text-lg font-medium leading-6 text-gray-900">Payment successful</DialogTitle>

Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequatur amet labore.

                <button type="button" class="inline-flex w-full justify-center rounded-md border border-transparent bg-indigo-600 px-4 py-2 text-base font-medium text-white shadow-sm hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 sm:text-sm" @click="open = false">Go back to dashboard</button>

            </DialogPanel>
          </TransitionChild>

    </Dialog>
  </TransitionRoot>
</template>

Just change the classes to position the dialog. No need for another package when using a Dialog.

Ok, I have some ideas to support Dialog, but it will take a while.

Just an FYI, I did end up using floating-ui directly in this case and not using headlessui-float.

Just an FYI, I did end up using floating-ui directly in this case and not using headlessui-float.

Of course, floating-ui can be manipulated more freely than headlessui-float.

Now support the dialog in v0.11, can see the docs Dialog mode to use it, open a new issue if you have any problems..


Creating new podcast goes to 500 error page.

This page isn’t working ... is currently unable to handle this request.
HTTP ERROR 500

Entering any names here leads to 500 page
The podcast names then shows in the sidebar,
Clicking it also goes to the same 500 page,
Cannot remove the podcast afterward,

I cannot reproduce this. Can you tell me which versions (BTCPay and PodServer) you are running and post the logs from the BTCPay Server container?
docker logs generated_btcpayserver_1

Fixed with 65de55af887369a3d819f7d551d090b502df74fa, see #4.


Make it more explicit how to start

Issue and Steps to Reproduce
Right now you have to guess that in order to use that starter kit, you need to clone it.
It would be great to see steps to get started, and also precisions to remove git metadata if you clone this inside an existing project:
You have an existing repo with your application, with that tree structure:
└── /
    ├── client/
    │   └── frontendapp1
    └── server/
        ├── backend1
        └── backend2

you cannot just clone and change origin. You need to remove the git folder.
One solution is to
git clone --depth=1 --branch=master https://github.com/AxaGuilDEv/react-starter.git myproject
rm -rf ./myproject/.git

depth=1 to avoid copying too much history, then remove the .git folder
The other is to recommend downloading an archive (not great imo)

Why do you want delete the git history when you begin a new project with the starter ?
When I create a new project, I just change the url of the origin remote.

I want to delete this repo's history when cloning inside an exsting application repository, as stated in my previous comment. I've updated it to make it clearer.
The gist of it is
before
└── /
    ├── client/
    │   └── frontendapp1
    └── server/
        ├── backend1
        └── backend2

after
└── /
    ├── client/
    │   ├── frontendapp1
    │   └── frontendapp2 <--- my new project i want to start with the starter
    └── server/
        ├── backend1
        └── backend2

Also, why would you want the history of this repo, even when starting fresh in a new repository containing only my app? It pollutes my app's git history and I am unlikely to pull from upstream to get updates from the starter kit

I agree for a subproject. We won't manage submodules.
For a fresh new repository, it gives the possibility to understand the history of a component, know who develop it, etc. But it's not essential.
Any other opinions ?


Generate LUIS authoring with latest swagger

Thanks @JimSuplizio  for taking a look. The 1.0.4-beta was for computer vision which I was working on at the same time and got mixed. Sorry for the confusion.
I really want to adapt to the new versioning schemes too but unfortunately we've gone down the path of using the less than ideal versioning since 2018, as you noticed, for a few versions now. And this is the versioning scheme not only for LUIS authoring, but another dozen cognitive services. Having this one library, and this one version being different doesn't feel very user-friendly.
Also this is Track 1 library. Talked to @JonathanGiles and he is also leaning towards keeping Track 1 as is for now. We are versioning our Track 2 cognitive service libraries in the correct versioning scheme: https://repo1.maven.org/maven2/com/azure/azure-ai-textanalytics/, and coincidently this differentiates well from these auto-generated Track 1 libraries.

TBH once in a while I receive a request to release one of the cognitive services Track 1 SDKs. Though they only have to click a mouse a couple times to request a release, it's a PITA for me as I have to use a generator from someone's GitHub fork who left the team couple years ago that only runs on a specific AutoRest & Node version, and apply a bunch of manual fixes, and being ashamed of why in the world I'm releasing these ugly code with this unorthodox version, I can't wait for Track 2 libraries for these as much as you do.
I've done this a couple times, including the QnA Maker last time that probably looked really offensive from your perspective of upholding engineering excellence. But I would really appreciate it if you can feel my pain here and make it a little easier for me to do this ugly work no one else wants to do. Thanks!

I agree with Jianghao; If we can continue the versioning scheme already established, it will be less confusing for existing customers of track1 cognitive libs. Ref computer-version track1 versions here. As we move these libs to track2, we can follow the new versioning scheme.

At this point if @JonathanGiles is OK then go for it.

Thanks guys for keeping an extra set of eyes on this! I hope we will soon switch to Track 2 generator and deprecate all these.


Cow: Watch chalisahanuman.com

Cow requests the watch of the watch_keyword chalisahanuman\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

chalisahanuman\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by double-beep in Charcoal HQ


Fixed the configuration documentation links in the readme

Migrated the configuration links in README.md from #configuration to CONFIG.md.

whoops, my bad. Thanks

@mjlbach No worries. I'm happy to help (even if it is a trivial PR).
On a side note, it looks like the mac build may have timeout.

It's a CI thing: https://github.com/neovim/nvim-lspconfig/pull/482


How to Send PDF and Images in Mail attachment from Microsoft graph SDK for iOS

I am using Microsoft graph SDK for sending mail using office 365 account from my iOS application recently I am able to send mail body but I am not able to send attachments with it, I am referring https://graph.microsoft.io/en-us/docs/api-reference/v1.0/resources/fileattachment link for the attachment but could not able to send attachments.
I have tried to hit https://graph.microsoft.com/v1.0/me/sendMail URL using following JSON
{
"message":{
"subject":"Meet for lunch?",
"hasAttachments":true,
"body":{
"contentType":"Text",
"content":"The new cafeteria is open."
},
"toRecipients":[
{
"emailAddress":{
<EMAIL_ADDRESS>}
}
],
"attachments":[
{
"@odata.type":"#Microsoft.OutlookServices.FileAttachment",
"name":"menu.png",
"Content-Type":"multipart/mixed"
"contentBytes":"base64 string"
}
]
},
"saveToSentItems":"false"
}
with header of
"content-type":"application/x-www-form-urlencoded"
"Authorization" : "bearer<access_token>"
but I am getting status code 415 with unsupported media type.

I have got the solution. in SDK, values were not assigning to the ContentBytes, ContentType and name to the in class of MSGraphAttachment. I have assigned values and now it is working properly.

Thanks for this contribution, and I apologize for the delay in our response. Please let us know if you encounter other issues.


Fix bug with incorrect processing of num_actors parameter in xgboost training with Modin on Ray

Describe the problem

Current prototype of xgboost with Modin on ray contains parameter num_actors for train/predict functions which is processed with incorrect behavior. Current implementation based on num_actors==len(modin_frame._partitions[0]).

This was fixed and merged for actor per core approach . This is waiting of closing #2373

Fixed in prototype #2373

Fixed in prototype #2373


zodios cause big bundle size (on nextjs)

Discussed in https://github.com/ecyrbe/zodios/discussions/197

Originally posted by QzCurious October 21, 2022
I'm not familiar how bundler works and how to trace it down. I am willing to inspect it more, please give me some instructions.
The problem
I'm using nextjs. When integrate with zodios, a simple request can cause build bundle up to 197KB. Although @zodios/core is only of size 3.7 kb. I don't know if it's me importing thing wrong. Please explain to me what is causing this to be happend.

Here is a repo to showcase. Each commit take a small step for reviewing how code and bundle size changes. I've also configured it with @next/bundle-analyzer so you can ANALYZE=true yarn build to inspect the bundle (but I can't tell how and what is wrong, sadly).
In summary:

clean page
with axios
with zod
with zodios

77.9 kB
95.3 kB
106 kB
197 kb

One wierd thing I noticed. bundle-analyzer list out a few packages that is not mean to be ship to production are included in bundle.

Internally zodios has a formdata plugin.
On Browser: zodios is using Native Browser FormData
On NodeJs: zodios is using a node form-data lib
And it seems like nextjs webpack bundler does not understand zodios declaration to not use node form-data lib on Browser build.
It then add all polyfills to make the form-data lib working on the browser.

So it seems this is completely related to the other bug you opened #191
Here if you revert to axios 0.27.2 the bundle size will shrink dramatically.
I think i'll try to generate esm package, this might solve the issue

So this is definitily a bug on nextjs : https://github.com/vercel/next.js/issues/35112

A new version of @zodios/core and @zodios/react to 10.3.0 just landed and fixes this issue with esm build now also supported.


v4 duplicate issue

I have v4 duplication problem and i read https://github.com/Daegalus/dart-uuid/issues/59
My situation is that many different clients each create a v4 uuid and save it to the server db.
In my real case, 250 duplicates out of 30 million occur
although in my tests, 30 million duplicates do NOT occur at all,
void main(List<String> arguments) {
  final uuidSet = <String>{};
  final uuid = Uuid();
  for (int i = 0; i < 30000000; i++) {
    final newUuid = uuid.v4();
    if (uuidSet.contains(newUuid)) {
      print("duplicated $newUuid");
    } else {
      uuidSet.add(newUuid);
    }
  }
}

The difference is that in the test one static Random object creates a random number with a 32 bit seed,
and in my situation many different Random objects each generate a random number.
It seems that the problem did not occur in the 2.x version, and it seems that the problem occurred in the 3.x version.
I am generating v4 uuid without any option as below in each client

In order to mimic creating new Random objects for each of multiple devices (clients), we reproduce it as follows:

clone this package (https://github.com/Daegalus/dart-uuid.git)
find the UuilUtil class and delete 1 line and add 1 line as follows

class UuidUtil {
  // static final _random = Random();                       <--------- delete line
  static final _secureRandom = Random.secure();

  static Uint8List mathRNG({int seed = -1}) {
    final _random = Random();                                   <-------- add line
    final b = Uint8List(16);
    final rand = (seed == -1) ? _random : Random(seed);

...

create main function on new file.

import 'package:uuid/uuid.dart';
import 'package:uuid/uuid_util.dart';

void main() {
  int duplicatedCount = 0;
  final uuidSet = <String>{};
  for (int i = 0; i < 1000000; i++) {
    final uuid = Uuid();
    final newUuid = uuid.v4();
    if (uuidSet.contains(newUuid)) {
      // print("duplicated ${newUuid}");
      duplicatedCount++;
    } else {
      uuidSet.add(newUuid);
    }

    if (i % 10000 == 0) {
      print(i);
    }
  }

  print('end. duplicatedCount: $duplicatedCount');
}

I've created an issue about the problem with random objects in the dart language. https://github.com/dart-lang/language/issues/2934
However, it seems good to increase randomness by restoring shuffle in the uuid package.

Okay, I can see that it might not really help provide your own seed to Random since it seems always just take 32 bits from it. Might need some further testing...
But it might be that the solution should be going for Random.secure if we want actually good random numbers.

Can you show an example where you don't get duplicates while using Random.secure? This is my example, but duplication occurs. Is there something I need to modify in UuidUtil?
void main() {
  int duplicatedCount = 0;
  final uuidSet = <String>{};
  for (int i = 0; i < 1000000; i++) {
    final uuid = Uuid(options: {'gRng': UuidUtil.cryptoRNG});
    final newUuid = uuid.v4().replaceAll("-", "");

    if (uuidSet.contains(newUuid)) {
      print("duplicated ${newUuid}");
      duplicatedCount++;
    } else {
      uuidSet.add(newUuid);
    }

    if (i % 100000 == 0) {
      print("$i");
    }
  }

  print('end. duplicatedCount: $duplicatedCount');
}

@wph144 I changed your program to do 10000000 runs and ran it 3 times without hitting a duplicate.

Made some performance improvements of your program and ran up to 100000000 times:
import 'dart:collection';

import 'package:uuid/uuid.dart';
import 'package:uuid/uuid_util.dart';

void main() {
  final stopWatch = Stopwatch()..start();
  int duplicatedCount = 0;
  final uuidSet = HashSet<String>();
  for (int i = 0; i < 100000000; i++) {
    final uuid = Uuid(options: {'gRng': UuidUtil.cryptoRNG});
    final newUuid = uuid.v4();

    if (uuidSet.add(newUuid) == false) {
      print("duplicated $newUuid");
      duplicatedCount++;
    }

    if (i % 1000000 == 0) {
      print("$i");
    }
  }

  print('end. duplicatedCount: $duplicatedCount, duration: ${stopWatch.elapsed}');
}

Still no collisions:
end. duplicatedCount: 0, duration: 0:05:29.887675

Oh sorry there was a typo in 'gRng' ('grng').
In this case, it is executed with the mathRNG.
I have confirmed that cryptoRNG is slow but no collides up to 6 million.
Is the seed of dart's Random.secure() 128bit? I can't find it very well
Anyway, I confirmed that cryptoRNG works fine too.
I also imagined filling 8 of the 16 arrays in mathRNG with random1 objects and the other 8 with random2 objects.
Thank you for your help.

Is the seed of dart's Random.secure() 128bit? I can't find it very well

There are no seed since Dart will ask the operating system for a random number each time when you have Random.secure() instance. So the performance of this operation is going to be very much dependent on how quick the random generator are on a given platform (including the call into the kernel). E.g. on recent Linux kernels, there have been some major performance improvements when it comes to random generation.

I checked 4.0.0-beta2. It's good that String like 'grng' disappears. However, the parameters look a bit complicated at first glance, as you're trying to make them more general so that customRNGs are also possible.
In summary, it looks like the following. I tried other methods such as enum or factory method, but it doesn't seem to be easy.

math RNG: need seed(int) parameter, fixed implementation
crypto RNG: no need parameter, fixed implementation
custom RNG: allows the user to set the number of parameters and parameter types, User should be able to inject implementation

If you want to support customRNG, it would be best to make it into a class like the one below.
mathRNG and cryptoRNG are inside the package, and for customRNG, the user can create a constructor according to the number and type of parameters and implement it himself.
However, if user do not read the readme, it is difficult to notice that custom is possible, and it is difficult to notice that two types of MathRng and CryptoRng are supported by default. (It is easy to notice if it is made with enum, but it is difficult to process parameters for custom)
It is just draft and just suggestion. It is up to you.
abstract class RNG {
  Uint8List generate();
}

class MathRNG implements RNG {
  static final _random = Random();
  int seed;

  MathRNG({this.seed = -1});

  @override
  Uint8List generate() {
    final b = Uint8List(16);
    final rand = (seed == -1) ? _random : Random(seed);

    for (var i = 0; i < 16; i++) {
      b[i] = rand.nextInt(256);
    }

    return b;
  }
}

class CryptoRNG implements RNG {
  static final _secureRandom = Random.secure();

  @override
  Uint8List generate() {
    final b = Uint8List(16);

    for (var i = 0; i < 16; i++) {
      b[i] = _secureRandom.nextInt(256);
    }

    return b;
  }
}

// user(developer)'s app
class CustomRNG implements RNG {
  // parameters

  // constructor if you need parameters

  @override
  Uint8List generate() {
    final b = Uint8List(16);

    // implementation

    return b;
  }
}
```dart

I will consider this as this is a good suggestion. And a breaking change like this is best to make now before I make 4.0 final, especially since I'm forcing GlobalOptions as a breaking change.

@wph144 give 4.0.0-beta3 a shot, I changed to using RNG classes very much like your suggestion. Let me know if that works for you.

@daegalus I checked it. I created PR. https://github.com/daegalus/dart-uuid/pull/91
And you haven't removed the UuidUtil stuff from the docs yet, right? I was going to do it, but I had to fix the html too, so I gave up.

@daegalus I checked it. I created PR. https://github.com/daegalus/dart-uuid/pull/91
And you haven't removed the UuidUtil stuff from the docs yet, right? I was going to do it, but I had to fix the html too, so I gave up.

I did generate new docs, but I forgot that it doesn't cleanup removed things. I'll fix it in a few hours. Your PR looks good. I'm going to merge it in once the tests pass.

@wph144 all set, your PR is merged, and i released 4.0.0-beta3-1 with your fixes

Thank you for your fast work @daegalus
I will close this issue


Add map

We need a map! We should research good map providers out there, i.e. Google Maps, and see what it takes to integrate them.

610d4a5198736dfabf9e73d50bf7b86492d90bcf
Centered it on Oakland's coordinates
Leaflet
OpenStreetMap as the map tile layer

I propose using OSM

@RitwikGupta aren't we using OSM now for the map tile layer?


Gym doesn't compile core data generated classes

Issue Description
Trying to build my app but it randomly fails for following error
clang: error: no such file or directory: '/Users/MyUser/Library/Developer/Xcode/DerivedData/fuel-gqgstqcwdrmbbtdszohjbofhqceo/Build/Intermediates/ArchiveIntermediates/fuel/IntermediateBuildFilesPath/fuel.build/Release-iphoneos/fuel.build/DerivedSources/CoreDataGenerated/DataModel/MyOwn+CoreDataProperties.m'

From time to time it builds but most of the time it doesn't. Even if I haven't changed anything, just ran builds one after another. After build if I check the directory, the file actually exists in the dir. Also when compiling through xcode, the build is fine.
Environment
✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.1

Ruby
2.3.1

Bundler?
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.1

Git
git version 2.9.3 (Apple Git-75)

Installation Source
/Users/MyUser/.rvm/gems/ruby-2.3.1/bin/fastlane

Host
Mac OS X 10.12.1 (16B2555)

Ruby Lib Dir
/Users/MyUser/.rvm/rubies/ruby-2.3.1/lib

OpenSSL Version
OpenSSL 1.0.2j  26 Sep 2016

System Locale

Variable
Value

LANG

LC_ALL
en_US.UTF-8
✅

LANGUAGE

fastlane files:
`./fastlane/Fastfile`
# Customise this file, documentation can be found here:
# https://github.com/fastlane/fastlane/tree/master/fastlane/docs
# All available actions: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Actions.md
# can also be listed using the `fastlane actions` command

# Change the syntax highlighting to Ruby
# All lines starting with a # are ignored when running `fastlane`

# If you want to automatically update fastlane if a new version is available:
# update_fastlane

# This is the minimum version number required.
# Update this, if you use features of a newer version
fastlane_version "1.105.2"

default_platform :ios

platform :ios do
  before_all do
    # ENV["SLACK_URL"] = "https://hooks.slack.com/services/..."
  end

  desc "Creates new build"
  lane :build do
    increment_build_number
    gym(
      scheme: "fuel",
      configuration: "Release",
      silent: true,
      clean: true
    )
    end

  after_all do |lane|
    # This block is called, only if the executed lane was successful

    # slack(
    #   message: "Successfully deployed new App Update."
    # )
  end

  error do |lane, exception|
    # slack(
    #   message: exception.message,
    #   success: false
    # )
  end
end

# More information about multiple platforms in fastlane: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md
# All available actions: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Actions.md

# fastlane reports which actions are used
# No personal data is recorded. Learn more at https://github.com/fastlane/enhancer

`./fastlane/Appfile`
app_identifier "com.xxxxx" # The bundle identifier of your app
apple_id "xxxxxx@xxxxxxxxxxx" # Your Apple email address

team_id "XXXXXXXXX"  # Developer Portal Team ID

# you can even provide different app identifiers, Apple IDs and team names per lane:
# More information: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Appfile.md

fastlane gems

Gem
Version
Update-Status

credentials_manager
0.16.2
✅ Up-To-Date

spaceship
0.37.0
✅ Up-To-Date

fastlane_core
0.55.0
✅ Up-To-Date

deliver
1.15.0
✅ Up-To-Date

snapshot
1.16.3
✅ Up-To-Date

frameit
3.0.0
✅ Up-To-Date

pem
1.4.0
✅ Up-To-Date

cert
1.4.4
✅ Up-To-Date

sigh
1.11.2
✅ Up-To-Date

produce
1.3.0
✅ Up-To-Date

gym
1.12.0
✅ Up-To-Date

pilot
1.12.0
✅ Up-To-Date

scan
0.14.1
✅ Up-To-Date

supply
0.7.1
✅ Up-To-Date

match
0.11.0
✅ Up-To-Date

screengrab
0.5.5
✅ Up-To-Date

fastlane
1.108.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.0.0

executable-hooks
1.3.2

bundler-unload
1.0.2

rubygems-bundler
1.4.4

bundler
1.13.5

io-console
0.4.5

highline
1.7.8

commander
4.4.0

terminal-table
1.4.5

json
1.8.3

multipart-post
2.0.0

faraday
0.9.2

faraday_middleware
0.10.0

dotenv
2.1.1

net-ssh
3.2.0

net-sftp
2.1.2

plist
3.1.0

rubyzip
1.1.7

security
0.1.3

krausefx-shenzhen
0.14.11

slack-notifier
1.5.1

i18n
0.7.0

thread_safe
0.3.5

tzinfo
1.2.2

minitest
5.8.3

activesupport
<IP_ADDRESS>

colored
1.2

claide
1.0.1

xcodeproj
1.3.2

rouge
1.11.1

xcpretty
0.2.4

terminal-notifier
1.7.1

addressable
2.3.8

credentials_manager
0.16.2

multi_xml
0.5.5

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20160826

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
1.6.8

xcode-install
2.0.7

word_wrap
1.0.0

multi_json
1.12.1

babosa
1.0.2

excon
0.53.0

gh_inspector
1.0.2

fastlane_core
0.55.0

mini_magick
4.5.1

xcpretty-travis-formatter
0.0.4

uber
0.0.15

representable
2.3.0

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

hurley
0.2

little-plugger
1.1.4

logging
2.1.0

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
<IP_ADDRESS>

google-api-client
0.9.15

generated on: 2016-11-14

can you try adding:
clear_derived_data

right before the call to gym - maybe this helps.

No help from adding clear_derived_data. Still won't compile

@jinjorge Can you try manually setting the derived_data_path?

@TKBurner I think you meant ^^ for @jniemin

@TKBurner Adding derived_data_path manually doesn't seem to help

Same problem here... Any workaround? The suggested ones didn't work for me either.

Same problem here

Same issue with CoreData Codegen.
fastlane 1.110.0
Xcode 8.2.1
Code Generation: Swift
Codegen: Class Definition

I've been able to workaround the problem by explicitly passing the scheme name to Jym. Not sure of the reason why, but doing that fixes the problem for me.

I've been able to workaround the problem by explicitly passing the scheme name to use for building the project to Gym. Not sure of the reason why, but that fixes the problem for me.

Unfortunately that doesn't help either

DISABLE_XCPRETTY=true seems do help, but I have really no idea how that may be related

Are people still having problems with this issue ?


SVG images not getting rendered on Android devices

Hi,
Till yesterday, my code was rendering the SVG images on android as well as ios without fail. But suddenly it stopped doing so on android devices. When i tried to investigate, i found a solution of changing the HEX to rgb. I tried it then and there only but unfortunately it didn't click. Can you people please provide me a valid solution as my production app is still breaking.

Try to replace every hex code for colors with rgb()
Example: fill:#ffffff; => fill:rgb(255, 255, 255);

Have the same issue.
I changed the code as in merge request "URI encode source HTML of webview #33" and this fixed the issue.
Please do the merge.

Raised a pull request to fix this, meanwhile if you want the fix before release, do
npm install seekshiva/react-native-remote-svg#pull/33/head


Hotspot test serviceability/sa/ClhsdbCDSCore.java hangs on adoptium infra

I can see, that this test hangs on adoptium infra, being killed on timeout (seems reliable):
serviceability/sa/ClhsdbCDSCore.java
I can see this both in dev.openjdk  run and when ran in grinder.
Output:
Starting ClhsdbCDSCore test
Command line: [/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/bin/java -cp /home/jenkins/workspace/Grinder/aqa-tests/TKG/output_17265736059645/hotspot_custom_0/work/classes/0/serviceability/sa/ClhsdbCDSCore.d:/home/jenkins/workspace/Grinder/aqa-tests/openjdk/openjdk-jdk/test/hotspot/jtreg/serviceability/sa:/home/jenkins/workspace/Grinder/aqa-tests/TKG/output_17265736059645/hotspot_custom_0/work/classes/0/test/lib:/home/jenkins/workspace/Grinder/aqa-tests/openjdk/openjdk-jdk/test/lib:/home/jenkins/workspace/Grinder/jvmtest/openjdk/jtreg/lib/javatest.jar:/home/jenkins/workspace/Grinder/jvmtest/openjdk/jtreg/lib/jtreg.jar -ea -esa -Xmx512m -XX:+UseCompressedOops -Xshare:dump -Xlog:cds,cds+hashtables -XX:SharedArchiveFile=./ArchiveForClhsdbCDSCore.jsa ]
[2024-09-17T11:46:52.145720Z] Gathering output for process 25719
[ELAPSED: 447 ms]
[logging stdout to serviceability.sa.ClhsdbCDSCore.java-0000-dump.stdout]
[logging stderr to serviceability.sa.ClhsdbCDSCore.java-0000-dump.stderr]
[STDERR]

[2024-09-17T11:46:52.603422Z] Waiting for completion for process 25719
[2024-09-17T11:46:52.603687Z] Waiting for completion finished for process 25719
Command line: [/home/jenkins/workspace/Grinder/jdkbinary/j2sdk-image/bin/java -cp /home/jenkins/workspace/Grinder/aqa-tests/TKG/output_17265736059645/hotspot_custom_0/work/classes/0/serviceability/sa/ClhsdbCDSCore.d:/home/jenkins/workspace/Grinder/aqa-tests/openjdk/openjdk-jdk/test/hotspot/jtreg/serviceability/sa:/home/jenkins/workspace/Grinder/aqa-tests/TKG/output_17265736059645/hotspot_custom_0/work/classes/0/test/lib:/home/jenkins/workspace/Grinder/aqa-tests/openjdk/openjdk-jdk/test/lib:/home/jenkins/workspace/Grinder/jvmtest/openjdk/jtreg/lib/javatest.jar:/home/jenkins/workspace/Grinder/jvmtest/openjdk/jtreg/lib/jtreg.jar -ea -esa -Xmx512m -XX:+UseCompressedOops -Xmx512m -XX:+UnlockDiagnosticVMOptions -XX:SharedArchiveFile=ArchiveForClhsdbCDSCore.jsa -XX:+CreateCoredumpOnCrash -Xshare:auto -XX:+ProfileInterpreter --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED -XX:-AlwaysPreTouch CrashApp ]
[2024-09-17T11:46:52.610596Z] Gathering output for process 25735
[2024-09-17T11:46:52.611510Z] Waiting for completion for process 25735
[2024-09-17T11:46:52.628039Z] Waiting for completion finished for process 25735
Run test with ulimit -c: unlimited
[2024-09-17T11:46:52.630845Z] Gathering output for process 25738
Timeout signalled after 19200 seconds

Notes:
I have tried to reproduce this locally or on our ifra both manually invoking jtreg and through aqa-tests, but failed to reproduce it. Maybe it is inra/environment issue? Test first intentionally crashes the VM using Unsafe class to produce core file. However this hangs when ran on adoptium infra. Maybe something with core dump settings? I don't know.

@zzambers I did run it on a different agent ClhsdbCDSCore.java and it passed https://ci.adoptium.net/view/Test_grinder/job/Grinder/10970/ ( failed one is due to no test selected.) So it might be related with infra as you can't reproduce it on your environment. Could you please move it to infra repo? Or I can move it if you agree?

@sophia-guo Can you get a list of which machines/distributions it passes and fails on? Your one was run on RHEL. Both of zzambers' runs were on an (old, out of support) Ubuntu distribution (although neither were in containers). At the moment I'm not sure we have enough information to be able to be able to take an action this one in the infrastructure repo since it's not clear what is needed to resolve it.

There are recent dev.hotspot runs which look clean - was this test removed and is it still considered a problem?

There are recent dev.hotspot runs which look clean - was this test removed and is it still considered a problem?

ping @sophia-guo @zzambers - is this still a concern?

It's a hotspot tests. So rerun with hotspot_custom

RHEL7: https://ci.adoptium.net/job/Grinder/11902/console
Ubuntu 24.04: https://ci.adoptium.net/job/Grinder/11903/console
Ubuntu 22.04 container (Forced job to run without sw.tool.docker): https://ci.adoptium.net/job/Grinder/11904/console

It's a hotspot tests. So rerun with hotspot_custom

I don't think I've ever looked at a test that needed that before. Thanks for the pointer. Is there any way I can tell from the name of the test which ones need to use hotspot_custom instead of jdk_custom?
Both of the Ubuntu ones look like they have a pass although it's overall UNSTABLE ... Does this mean it's just not valid for the _1 variant?
21:31:51  TEST TARGETS SUMMARY
21:31:51  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
21:31:51  PASSED test targets:
21:31:51  	hotspot_custom_0 - Test results: passed: 1
21:31:51
21:31:51  FAILED test targets:
21:31:51  	hotspot_custom_1

The only way to know if it's hotspot or jdk one is to check the test path. If it's under https://github.com/openjdk/jdk11u-dev/tree/master/test/hotspot ( jdk 11+) https://github.com/openjdk/jdk8u-dev/tree/master/hotspot/test (jdk8)then it's hotspot. If it's under https://github.com/openjdk/jdk11u-dev/tree/master/test/jdk (jdk11+) or https://github.com/openjdk/jdk8u-dev/tree/master/jdk/test (jdk8)then it's jdk.
hotspot_custom_1 can be ignored for this test as CDS only work when the Compressed Oops feature was enable for jdk14- ( works with either configuration of Compressed OOPs with jdk15+). So test is skipped.

* RHEL7: https://ci.adoptium.net/job/Grinder/11902/console -  **_hang_**

That looks like it is running on Ubuntu 16.04, not RHEL7 😕
https://ci.adoptium.net/job/Grinder/11902/console
OK so we can reproduce but only on certain OSs.
Some more:

provider/OS
Grinder
Result

ibmcloud-rhel6
11906

ibmcloud-rhel7
11905

docker-centos7
11907

aws-rhel8
11908

docker-ubi9
11909

Yes, on https://ci.adoptium.net/computer/test-ibmcloud-ubuntu1604-x64-1/ it's timeout and failed. I just rerun the grinder you mentioned here https://github.com/adoptium/infrastructure/issues/3745#issuecomment-2494019804 and had thought the grinder is specified on RHEL7. Anyway tests timeout on some os.


[release-1.13] Set connection_balance_config to exact_balance...

This is an automated cherry-pick of #36834

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

gencheck_istio_release-1.13
17f27c44a497e3b0a3742d28fae108a5ee8a6c75
link
true
/test gencheck_istio_release-1.13

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

gencheck_istio_release-1.13
17f27c44a497e3b0a3742d28fae108a5ee8a6c75
link
true
/test gencheck_istio_release-1.13

lint_istio_release-1.13
17f27c44a497e3b0a3742d28fae108a5ee8a6c75
link
true
/test lint_istio_release-1.13

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

gencheck_istio_release-1.13
17f27c44a497e3b0a3742d28fae108a5ee8a6c75
link
true
/test gencheck_istio_release-1.13

lint_istio_release-1.13
17f27c44a497e3b0a3742d28fae108a5ee8a6c75
link
true
/test lint_istio_release-1.13

unit-tests_istio_release-1.13
17f27c44a497e3b0a3742d28fae108a5ee8a6c75
link
true
/test unit-tests_istio_release-1.13

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@jacob-delgado There are a few test failures for this cherry-picking PR. PTAL.

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-multicluster_istio_release-1.13
a286f5e36cf4b019117db8d386b891c7487dc5fb
link
true
/test integ-pilot-multicluster_istio_release-1.13

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@istio-testing: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-multicluster_istio_release-1.13
a286f5e36cf4b019117db8d386b891c7487dc5fb
link
true
/test integ-pilot-multicluster_istio_release-1.13

integ-cni_istio_release-1.13
a286f5e36cf4b019117db8d386b891c7487dc5fb
link
true
/test integ-cni_istio_release-1.13

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio_release-1.13
a286f5e36cf4b019117db8d386b891c7487dc5fb
link
unknown
/test unit-tests_istio_release-1.13

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test unit-tests_istio_release-1.13

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio_release-1.13
a286f5e36cf4b019117db8d386b891c7487dc5fb
link
true
/test unit-tests_istio_release-1.13

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


Request: RangedAgg Unit (needs better name too)

On the provided access, for each range, slice the data within the range criteria and apply an operator (mean, median, sum).
I'm happy to do this as a PR but I'd like some suggestions for names and settings.
Unit name possibilities:

RangedAgg
RangedMean
MultiSliceAgg
etc.

And for the settings, when defining the ranges, should that be an ordered dictionary with keys corresponding to tick-values/labels along the new axis and values specify the range along the old axis? Or maybe we keep the axis the same and the new tick-values are the mean of the tick-values caught in the slice? The latter seems more straightforward.

This will take a moment to digest; I haven't considered this pattern for this sort of operation yet -- Possible this "RangedAggregate" function belongs in core, or possibly even in AxisArray?  Also thinking some variety on "map" might make a better name that's consistent with similar functionality in functional programming, XArray, and Pandas.


Add JSON Customisation feature

Did all the customization changes in this branch to create the new PR

The following points need to be resolved for the PR to be merged:

[ ] Remove formatting changes to all code that doesn't need to be touched (this means that the code you write should be formatted correctly but don't change formatting of code you don't touch). The reason for this is it makes the PR very difficult to assess, because of large apparent code changes.
[ ] Review the core file, CustomSettings and de-duplicate. Currently the code can't be merged - call a universal function first that checks if the JSON needs to be loaded due to memory scavenging, if it needs to be re-loaded then reload. Then proceed with returning the value asked for.
[ ] Resolve merge conflicts WITHOUT using git merge. git rebase or manually editing the files is fine.


Implement virtual buttons/axes

One feature I really miss from other frameworks is the ability to create a 'virtual' button/axis, which takes the input from multiple sources and allows them to all be queried at once. For example, you could create an virtual stick which takes input from the gamepad control stick, the arrow keys and WASD, and outputs a single Vec2.

great idea, in godot you can define action that are mapped to buttons or axis in the background
as an example
action "jump" for [W] , [SPACE] or [ up arrow ]

The slightly tricky thing will be how virtual buttons handle 'pressed' and 'released' events - I feel like if you have two keys bound, then press both of them down one after the other without releasing them, that should just give you one 'pressed' event rather than two (since conceptually, the 'virtual button' was already down after the first key was pressed).

An update on how this is going - I have a working (if slightly bare-bones) implementation, but the tricky bit is how we hook it into the game loop. We only want to update the input's state once per tick (because calculating 'pressed'/'released' gets really complex/expensive if we try to do it stateless-ly), but Tetra doesn't currently have a generic way of saying 'update this every tick'.
The options I can currently think of are:

Make the user tick the input manually at the beginning of the update, like Animation - this is the simplest approach, and makes the behavior really clear, but I feel like it'll be ugly if you have a lot of inputs!
Add a way to 'register' virtual inputs with the engine, which will then automatically be updated every tick.

Godot input actions are awesome, except they don’t support multiplayer in a clean way. The best feature imo is the get_action_strength which always returns a float with a value from 0.0 - 1.0. Would be nice with something similar here! Booleans are quite clunky in platformers etc.

This might be easier to implement (both within Tetra or in external libraries) now that I've added events - you can get updates to the input state pushed to you rather than having to pull it.
One of the main issues I had implementing this before was handling the interactions between multiple input types (e.g. if you have a virtual button that can be triggered by a key and a gamepad button, holding down the key and then pressing the button shouldn't cause two 'pressed' events). That's (as far as I can tell) really tricky to do efficiently in a polling based model, but should be pretty simple with events.
I'm probably not going to work on this for 0.3.0 (no more scope creep, I'd like to release it this year 😅), but it's definitely something I'm still interested in doing.

Oh,  I just realized that you updated input the last week. You already have provided higher-level stuff than what you get in XNA.
I will give it a shot to create a Godot-inspired input action that has to be polled. I am new to rust, but I will share it if I am happy with it 😸

One of the main issues I had implementing this before was handling the interactions between multiple input types (e.g. if you have a virtual button that can be triggered by a key and a gamepad button, holding down the key and then pressing the button shouldn't cause two 'pressed' events). That's (as far as I can tell) really tricky to do efficiently in a polling based model, but should be pretty simple with events.

Would it be possible to make something like this, to store the previous state of the pressed keys? It is what I used to do in XNA.
keys_down: HashSet<Key>,
keys_down_previous: HashSet<Key>,

pub(crate) fn cleanup_after_state_update(ctx: &mut Context) {
    ctx.input.keys_down_previous =  ctx.input.keys_down.copy()

    ctx.input.keys_pressed.clear();
    ctx.input.keys_released.clear();

Would it be possible to make something like this, to store the previous state of the pressed keys?

That was actually how the pressed/released functionality was implemented until a week ago 😆 I moved away from using a 'previous state' to explicitly storing the key states because it simplified the logic a bit, but the general idea of the code now is the same.

While an axis in Tetra(and most other frameworks) are from -1.0 to 1.0, and actually represent two actions in most cases ( up + down, left + right)

That's a very good point, hadn't considered that! Will have to think about whether 0.0 to 1.0 axes are something I want to add.

Here is my attempt to this:
Only works with polling.
I ran into an issue with not being able to checking if a gamepad axis was released or pressed, without storing the previous and current state somewhere.

Closing this issue, as people have proven this can be done well as external libraries, such as the one linked above and https://github.com/tesselode/baton-tetra :)


updating permissions to include ecs list

Updating the role with ecs Describe and ecs List Permissions as well as workspaces Describe and List permissions. I am not sure if we still want to retain the ListRoles, GetRolePolicy and GetAccountSummary permissions for iam or not though. Confirming with Kyle if this is intentional or not.

ListRoles, GetRolePolicy and GetAccountSummary are covered by iam:Get* and iam:List*.


[bootstrap-vcpkg] Add g++-11 support

Please update bootstrap.sh to support g++-13. It stops at g++-12.

Please update bootstrap.sh to support g++-13. It stops at g++-12.

Please elaborate. Does building with g++-13 fail?

@byxrolland, I want to confirm with you that the issue you mentioned hopes that support g++-13 means that g++-13 can be used in the process of compiling vcpkg.exe in the script or g++-13 is supported when compiling port on linux or osx, because according to the Discussion about the code in my PR: The following code will no longer run and it would be meaningless if I added it.
    if [ "x$CXX" = "x" ]; then
        if which g++-12 >/dev/null 2>&1; then
        if which g++-13 >/dev/null 2>&1; then
            CXX=g++-13
        elif which g++-12 >/dev/null 2>&1; then
            CXX=g++-12
        elif which g++-11 >/dev/null 2>&1; then
            CXX=g++-11
        elif which g++-10 >/dev/null 2>&1; then
            CXX=g++-10
        elif which g++-9 >/dev/null 2>&1; then
            CXX=g++-9
        elif which g++-8 >/dev/null 2>&1; then
            CXX=g++-8
        elif which g++-7 >/dev/null 2>&1; then
            CXX=g++-7
        elif which g++-6 >/dev/null 2>&1; then
            CXX=g++-6
        elif which g++ >/dev/null 2>&1; then
            CXX=g++
        fi
        # If we can't find g++, allow CMake to do the look-up
    fi

I'm using vcpkg in WSL2 with g++13 installed via linuxbrew. It seems vcpkg can't find it and only use g++11 from Ubuntu.
The code in my bootstrap.sh:
if [ "$vcpkgDownloadTool" = "ON" ]; then
    vcpkgDownloadFile "https://github.com/microsoft/vcpkg-tool/releases/download/$VCPKG_TOOL_RELEASE_TAG/$vcpkgToolName" "$vcpkgRootDir/vcpkg" $vcpkgToolReleaseSha
else
    if [ "x$CXX" = "x" ]; then
        if which g++-12 >/dev/null 2>&1; then
            CXX=g++-12
        elif which g++-11 >/dev/null 2>&1; then
            CXX=g++-11
        elif which g++-10 >/dev/null 2>&1; then
            CXX=g++-10
        elif which g++-9 >/dev/null 2>&1; then
            CXX=g++-9
        elif which g++-8 >/dev/null 2>&1; then
            CXX=g++-8
        elif which g++-7 >/dev/null 2>&1; then
            CXX=g++-7
        elif which g++-6 >/dev/null 2>&1; then
            CXX=g++-6
        elif which g++ >/dev/null 2>&1; then
            CXX=g++
        fi
        # If we can't find g++, allow CMake to do the look-up
    fi

This is a misunderstanding.
bootstrap.sh is for downloading or building the vcpkg tool. It can use the CXX environment variable.
Building ports is controlled by triplet files and cmake toolchain files.
https://learn.microsoft.com/en-us/vcpkg/users/triplets
https://learn.microsoft.com/en-us/vcpkg/contributing/maintainer-guide#portfiles-are-run-in-script-mode
If you don't want to customize the triplet/toolchain files for specific tool names (g++13), you can create a directory with with the expected names (g++) being symlinks to the specific names, and add this directory to the PATH.

Yes. I understand. I just don't want to change my global setting or add unnecessary symlinks whenever I build a library in vcpkg.

Yes. I understand. I just don't want to change my global setting or add unnecessary symlinks whenever I build a library in vcpkg.

Again, the bootstrap script has nothing to do with the compiler used when you "build a library in vcpkg".
The ticket can be closed IMO.


Update AssemblyRunner.cs

This is a fix intended to deal with the problem that @hometm proposed to fix in PR #118
See discussion there about why the fix is actually needed.

Looks good. These AppVeyor tests don't normally pass, so I will merge. We should fix or turn off.

I filed an issue. I have kind of an on/off association with this project, but I'll do this one since it came up.


Add Segwit addresses

Add the possibilty to display the segwit addresses associated to a seed.

Can you please confirm what this means?
The BIP49 tab generates segwit addresses, and there's an option in the BIP32 tab to generate segwit addresses. If this issue is for some other segwit feature, please give more detail.

I was not able to generate a Segwit address from his private key.
El 5 sept. 2017 2:22, "iancoleman"<EMAIL_ADDRESS>escribió:

Can you please confirm what this means?
The BIP49 tab generates segwit addresses, and there's an option in the
BIP32 tab to generate segwit addresses. If this issue is for some other
segwit feature, please give more detail.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/iancoleman/bip39/issues/100#issuecomment-327042398,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFuruS8HJOCa96iwU7QH-0pvKbrofPhuks5sfJQ8gaJpZM4PL1lg
.

Please be clearer about the steps taken and what the expected result is vs the actual result seen.

Sorry, I didn't notice the BIP49 tab. There is no problem. Closed.

@iancoleman "and there's an option in the BIP32 tab to generate segwit addresses"
Where is it?

It's been removed from the bip32 tab because it's replaced by the bip141 tab (which is for general segwit derivation paths). bip32 is for general derivation paths of p2pkh addresses and bif141 is for general derivation paths of segwit addresses.


Laravel 5.8 memory leak

Laravel Version: 5.8
PHP Version: 7.2.12
Database Driver & Version: MySql

Demo Repo
https://github.com/fukuball/Leak58
Laravel memory leak example
It is normal to loop and process data in script, I found some weird memory leak in Laravel, and wonder how this happened. I have some workaround to prevent the memory leak, but it can't solve the root cause, so I provide some cases to demo the memory leak, hope someone can solve this issue.
Install
$ composer install

$ php artisan migrate

Data seeding
$ php artisan leak_test_data

Usage
Case 1
This first case demo a simple loop cause the memory leak:
$ php artisan leak_test leak

Some details:
$albums = Album::take(10000)->get();
foreach ($albums as $album) {
    $songs = $album->songs; // cause memory leak
}

And we can see the memory goes up and never come back:
...
550 start
#executions = 550 - mem: 14799640
550 end
551 start
#executions = 551 - mem: 14801728
551 end
552 start
#executions = 552 - mem: 14803800
552 end
553 start
#executions = 553 - mem: 14805872
553 end
554 start
#executions = 554 - mem: 14807944
554 end
555 start
#executions = 555 - mem: 14810024
555 end
556 start
#executions = 556 - mem: 14812112
556 end
557 start
#executions = 557 - mem: 14814192
557 end
...

I know there is N+1 query in it, but simple loop with simple qurey should not cause memory leak, it happend in Laravel.
Case 2
This second case demo a simple loop with N+1 query, but no memory leak:
$ php artisan leak_test no_leak

Some details:
$albums = Album::take(10000)->get();
foreach ($albums as $album) {
    $songs = $album->songs()->get(); // why this don't cause the memory leak?
}

We can see the memory usage is stable:
...
439 start
#executions = 439 - mem: 13659472
439 end
440 start
#executions = 440 - mem: 13659456
440 end
441 start
#executions = 441 - mem: 13659464
441 end
442 start
#executions = 442 - mem: 13659456
442 end
443 start
#executions = 443 - mem: 13659456
443 end
444 start
#executions = 444 - mem: 13659464
444 end
445 start
#executions = 445 - mem: 13659456
445 end
446 start
#executions = 446 - mem: 13659464
446 end
...

This is reasonable, although there is N+1 query, but should not cause memory leak.
Case 3
Third case demo a simple loop and use "with" to solve N+1 query.
$ php artisan leak_test leak_solve_by_with

Some details:
$albums = Album::with(['songs'])->take(10000)->get();
foreach ($albums as $album) {
    $songs = $album->songs; // cause memory leak
}

We can see the memory usage is always same:
...
1239 start
#executions = 1239 - mem: 16015944
1239 end
1240 start
#executions = 1240 - mem: 16015944
1240 end
1241 start
#executions = 1241 - mem: 16015944
1241 end
1242 start
#executions = 1242 - mem: 16015944
1242 end
1243 start
#executions = 1243 - mem: 16015944
1243 end
1244 start
#executions = 1244 - mem: 16015944
1244 end
1245 start
#executions = 1245 - mem: 16015944
1245 end
1246 start
#executions = 1246 - mem: 16015944
1246 end
1247 start
#executions = 1247 - mem: 16015944
1247 end
...

This is trivial, this solve the N+1 query, get all the data first, and Laravel use the data and no need to query again and again, so if we can get all the data into the memory, the script will excute perfectly.
Case 4
This case demo a common case when we write OOP, we use use some method in model, and model will get the necessary data to proceed the work.
$ php artisan leak_test leak_weird

Some details:
$albums = Album::take(10000)->get();
foreach ($albums as $album) {
    $songs = $album->processSomethingToReturn();
}

// in Album.php
public function processSomethingToReturn()
{
    $songs = $this->songs; // this cause memory leak
    // do something here...
    return $songs;
}

And we can see the memory goes up and never come back:
...
453 start
#executions = 453 - mem: 14598224
453 end
454 start
#executions = 454 - mem: 14600296
454 end
455 start
#executions = 455 - mem: 14602376
455 end
456 start
#executions = 456 - mem: 14604456
456 end
457 start
#executions = 457 - mem: 14606528
457 end
458 start
#executions = 458 - mem: 14608616
458 end
459 start
#executions = 459 - mem: 14610688
459 end
460 start
#executions = 460 - mem: 14612760
460 end
461 start
#executions = 461 - mem: 14614840
461 end
...

This is common to write some method for "Encapsulation", we don't need to know the detail, just call the method to do what we want. But in this case we got memory leak.
Case 5
In this final case we use walkaround to solve the memory leak by "with" magic:
$ php artisan leak_test leak_solve_by_with_weird

Some details:
$albums = Album::with(['songs'])->take(10000)->get();
foreach ($albums as $album) {
    $songs = $album->processSomethingToReturn();
}

// in Album.php
public function processSomethingToReturn()
{
    $songs = $this->songs; // this cause memory leak
    // do something here...
    return $songs;
}

We can see the memory usage is always the same:
...
1240 start
#executions = 1240 - mem: 16015952
1240 end
1241 start
#executions = 1241 - mem: 16015952
1241 end
1242 start
#executions = 1242 - mem: 16015952
1242 end
1243 start
#executions = 1243 - mem: 16015952
1243 end
1244 start
#executions = 1244 - mem: 16015952
1244 end
1245 start
#executions = 1245 - mem: 16015952
1245 end
1246 start
#executions = 1246 - mem: 16015952
1246 end
1247 start
#executions = 1247 - mem: 16015952
1247 end
1248 start
#executions = 1248 - mem: 16015952
1248 end
...

This walkaround solve the memory leak, but really wired, in "Encapsulation" principle, we shoud not to know the detail of method, so we use with(['songs']) in advence is really wired, this should not happend when we write code.
Apparently we shold solve the root cause of memory leak. Why $this->songs in loop cause memory leak but $this->songs()->get() not?

Hey there,
Can you first please try one of the support channels below? If you can actually identify this as a bug, feel free to report back and I'll gladly help you out and re-open this issue.

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

Thanks!

I just post on Forums:
https://laracasts.com/discuss/channels/laravel/laravel-58-memory-leak
https://laravel.io/forum/laravel-58-memory-leak
I will follow up the thread to see if need to re-open this issue.
Thanks!

I switched to Postgres recently and can't run long queries anymore especially chunks, not sure if it's laravel 5.8 or postgres itself. I probably need to do more testing.
In the past, I could manage large queries even with 500mb ram now I can't do it with 4GB ram.


Define how we extract requestID

According to you, is it acceptable if I propose an PR where the requestID (currently given by https://github.com/moov-io/iso8583-connection/blob/fe9f74e6dba24076c443e23b10afff99b32e7e5a/connection.go#L457) can be overwritten via an option?
and by default, only stan will be used as requestID.

Not sure I understand the question, but this PR lets you to override how you generate request ID: https://github.com/moov-io/iso8583-connection/pull/39

Sorry, I miss this PR, but this is exactly what I am looking for :)
So i am waiting for a merge of this PR :)
Thanks again for your support

close with #39
many thx


Switch to pytest

Pytest has a few nice features (if you've never used it before). Notably:

bare assertions that fail in a nice way (see: https://docs.pytest.org/en/latest/assert.html)
and I think the the test fixture handling is a lot nicer too

I like pytest, but I'm -1 on changing the test framework right now.  If we had more active development I'd be more inclined.


Otel instrumentation optimizations

When learning more about how instrumentation internals work, I've come up with few improvements:

Register initialized instrumentations once (it's fine to extend resource of tracer after it's initialized)
Introduce patch that will prevent misleading No modules instrumentation has been defined, nothing will be patched warning as produced by AWS Lambda instrumentation (we replaced its patcher with ours, so indeed otel internally sees no modules to patch)

When I am testing this change in my test lambda functions it does seem to work alright though 🤷

I followed the internals carefully, and that should work without issues, also I've confirmed on that with integration tests.


gccgo: mishandling of contrived iota use case

This program should print 1, but with gccgo-4.8 it prints 4.  (Sorry, I don't have a more recent version to test with.)
package main

import (
        "fmt"
        "unsafe"
)

const (
        _ = unsafe.Sizeof(func() int {
                const (
                        _ = 1
                        _
                        _
                )
                return 0
        }())

        y = iota
)

func main() {
        fmt.Println(y)
}

See also #15550.

Same with "gccgo (Ubuntu 6.0.1-0ubuntu1) 6.0.0 20160414 (experimental) [trunk revision 234994]"

@mdempsky  -- judging from the comments on https://github.com/golang/go/issues/15550 gccgo is actually correct -- can this issue be closed out?

@thanm If you strictly interpret the Go spec, then printing 4 like gccgo does is technically correct.  But part of the discussion on #15550 is that the Go spec's wording is incorrect, because it doesn't consider that const declarations can be nested.


ClickHouseOperator multi-statements support

Hi, I've just realised that I cannot run sql files with multi-statements using ClickHouseOperator
DB::Exception: Syntax error (Multi-statements are not allowed)
For instance,
drop table if exists table_name; create table table_name as ...
Are there any plans or thoughts about solving this issue? PostgresOperator does support this functionality

No plans for it yet. You may propose a PR for this. But keep in mind that SQL queries may be parameterized, so an important concern is to design an intuitive way to propagate parameters: should parameters be propagated to all the queries in the same way? What if a query does not have a parameter?
I believe a common parameters dict for all queries should work intuitively but a quick research on approaches in other libraries is appreciated. How does PostgresOperator do it?

@sergylog, we have a similar case and we use clickhouse-client and bash operator because clickhouse-driver required splitting scenario on single queries

Hi guys, ClickHouseOperator (and ClickHouseSensor, and ClickHouseHook) supports multiple statements in sql parameter. They are executed one by one. parameters are applied to all the queries. Result of the last query is returned.
I am closing the issue since the functionality is present.

@bryzgaloff Thank you for the new feature of supporting multiple statements.
I think it will be more interesting if we can execute a single .sql file(or a string) that contains multiple statements inside.

Airflow ClickHouse Plugin is intended to be a wrapper around clickhoude-driver which supports execution of a single query only. You may submit a feature request to clickhouse-driver to support multiple statements.
Some workarounds:

You may execute them as multiple files: sql parameter should accept a list of *.sql files, I believe they all will be templated, though requires a check.
Also, you may use Airflow mapped operators: split the input file with SQL statements by ; and execute them individually using ClickHouseOperator.expand(…) functionality (inherited from base Airflow operator). Keep in mind that a naive splitting by ; might work incorrectly in case of string literals, e.g. WHERE someField like '%;%' — this should not be split or it will result in invalid queries.
Read the input SQL file with multiple statements, split by ; and produce individual operators from that list. Dynamic mapping is preferred as it avoids re-reading the file on each DAG processing.


Map drawing boundaries

Avoid panels blocking view of parties need left of map by changing the boudbriss of the map drawing.

The fix for this isn't scaled correctly for different monitor sizes


clarify usleep license

This pull request helps clarify the license of the usleep function.  This usleep function originates from the PHP codebase and is therefore published under an OSI-approved license. However, linking to stackoverflow without linking back to the original source caused some problems during a recent license audit:

Anything from stackoverflow is under the Creative Commons Attribution ShareAlike 4.0 license which requires that any code that remixes, transforms or builds upon the material on stackoverflow be distributed under the same license. So Go-sqllite3 could potentially be violating stackoverflow TOS.

This change should clarify that this file is open source and does not violate the stackoverflow TOS, and should help avoid any license compliance challenges in the future 🙂

Codecov Report

Merging #893 (3f977d3) into master (223d277) will decrease coverage by 0.13%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #893      +/-   ##
==========================================
- Coverage   46.92%   46.78%   -0.14%
==========================================
  Files          11       11
  Lines        1447     1447
==========================================
- Hits          679      677       -2
- Misses        635      636       +1
- Partials      133      134       +1

Impacted Files
Coverage Δ

sqlite3.go
53.16% <0.00%> (-0.23%)
:arrow_down:

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 223d277...3f977d3. Read the comment docs.

Thank you.