Tip: leverage Git LFS to separate source-code from media

Hello!
I see that media has crept into the repository itself, causing the clone to be very large and slow.
https://git-lfs.com/ and other solutions can help to reduce the size back down so that building can occur with or without all media assets, and permit flexible changes to the media without growing the repo to absurd proportions.
A git repo of this size should generally be under a megabyte, but the current clone is ~170MB and that'll only get worse.
Fix Steps

Set up a Git LFS endpoint where media can go
Migrate all media to Git LFS
Use https://github.com/newren/git-filter-repo to prune all objects from the entire git history, not just the current commit
Force push the smaller target back, potentially also eliminating all branches on the old base

This is a good step to take before going too far or including other collaborators. While it's just yourself coding on it, this is effortless to do. As soon as someone else begins coding, you've lost a lot of the ability to make this change.
Therefore, this is somewhat of an "urgent fix needed". Happy to help with further tips where you need them!

This is a very good point! I'll do this tonight

@n-hebert did some digging - there aren't huge files stored in the repo any more, so figured it must be a git history thing. Rang BFG repo cleaner and removed anything in the history over 1mb, hopefully that helps!

@n-hebert did some digging - there aren't huge files stored in the repo any more, so figured it must be a git history thing / LFS might not actually help much. Rang BFG repo cleaner and removed anything in the history over 1mb, hopefully that helps!

hey @toddmedema .
Small correction -- they were /definitely/ in the repo, since the history is part of the repo :wink:
You may have mean the current commit's tree, which is usually the case as things change and grow; it's quite common that the largest files are in the past.
BFG, but I can report that the repository still definitely has the files.
here's a view of a fresh clone!
$ git clone git@github.com:toddmedema/electrify.git
Cloning into 'electrify'...
remote: Enumerating objects: 11898, done.
remote: Counting objects: 100% (5388/5388), done.
remote: Compressing objects: 100% (822/822), done.
remote: Total 11898 (delta 1938), reused 5297 (delta 1884), pack-reused 6510
Receiving objects: 100% (11898/11898), 168.48 MiB | 12.43 MiB/s, done.
Resolving deltas: 100% (5083/5083), done.
$ cd electrify/
$ du -sh .git
169M	.git

It will take a force push and deletion of all the related objects. It's quite an involved process.
If you want to have a call to tackle it, maybe we can set-up a time :slightly_smiling_face:

Ugh, that's frustrating, BFG said it removed a bunch of stuff. I haven't worked with LFS before, would it actually work if the items are just in the history? If not, we may need to explore the force push / delete option (I did find some instructions for that online too, although they all had a bunch of danger / warning signs, so I wanted to try BFG first)

Yeah, that's why I mentioned in the top post to migrate all objects and then do the force push/delete.
In order to be fully happy there's never a data loss, simply create a "electrify-private" private repo on GitHub and push all current branches over there.
You can alternatively or also, if concerned about interrupting service, have a "electrify-reduced" private repo to trial solutions and then swap the names when it's ready. I've done that before.
The danger buttons are all going to be your friend on this one.
If any branch has the history of the large objects, they will appear on every clone, barring some caveats not worth outlining now, so you'll want to make the repo squeaky clean, force push back the target without any large objects and then ensure all branches are removed referring to the large repo, and then run the routine clean-up.
Again, I've done this a lot in my line of work, so feel free to dm me on Climatebase and we can set up a quick video call to do it. I usually get it done quite quickly.

Hey @toddmedema , I just spotted that there's actually migration already built into Git LFS now. It looks like it'll do it all on your side, effortlessly.
Now that you have the clone back-up from today, try running this:
git lfs migrate import --include="*.ico" --include="*.jpg" --include="*.mp3" --include="*.png" --include="*.svg" --include=zipalign --include="*.ai" --include="*.psd" --include-ref=refs/heads/master

courtesy of: https://github.com/git-lfs/git-lfs/wiki/Tutorial#migrating-existing-repository-data-to-lfs
It actually should automagically wipe all of the history of the large objects.
Then just close down those dependabot branches and delete them and all should be done here!
I'll leave it to you for this instead of contributing my alternate repo, as this is supposed to be one-touch, require privs, but probably work best on the o.g. repo (this one), so best for you to run it.
Let me know if that sounds good and/or how it works!

@n-hebert cool! Looks like it worked, just pushed that, and now a fresh clone looks like only ~30Mb on wire/70Mb on disk!

Excellent! I Just confirmed here and yeah, the .git directory is only 34M!
:partying_face:
$ du -sh .git
34M	.git

Yet... quite oddly, I don't actually think it migrated the files :laughing:
When I look at .gitattributes, I see only *.psd and I still see the mp3's in the repo.
So it looks like we're making progress but not totally done.
Do you want to take a peek at that .gitattributes file and see if you can get the git lfs ls-files to show some output? Currently it's empty for me.

It might just be that I mis-used --include. Maybe you need to have some more interesting syntax. I was hoping it would just collate them together, but it looks like it instead did a "last one wins" solution, and only psd was taken?
Just guessing! Still learning about the migrate command.

git lfs ls-files also comes up empty for me, hmm

Does it allow one at a time migration?
git lfs migrate import --include="*.ico" --include-ref=refs/heads/master
git lfs migrate import --include="*.jpg" --include-ref=refs/heads/master
git lfs migrate import --include="*.mp3" --include-ref=refs/heads/master
git lfs migrate import --include="*.png" --include-ref=refs/heads/master
git lfs migrate import --include="*.svg" --include-ref=refs/heads/master
git lfs migrate import --include=zipalign --include-ref=refs/heads/master
git lfs migrate import --include="*.ai" --include-ref=refs/heads/master

Maybe we can do it the boring way.

Looks like that worked!

Although now when I try to clone, I get some errors:
Downloading services/app/src/audio/basic/high.mp3 (9.1 MB)
Error downloading object: services/app/src/audio/basic/high.mp3 (67d0aed): Smudge error: Error downloading services/app/src/audio/basic/high.mp3 (67d0aed2a313e1c6b3a9cc8044f74153b7fe2de01bdcd3bce7c3fae2d956b333): [67d0aed2a313e1c6b3a9cc8044f74153b7fe2de01bdcd3bce7c3fae2d956b333] Object does not exist on the server: [404] Object does not exist on the server
Errors logged to '/Users/todd/code/bob/electrify/.git/lfs/logs/20240318T203324.293874.log'.
Use git lfs logs last to view the log.
error: external filter 'git-lfs filter-process' failed
fatal: services/app/src/audio/basic/high.mp3: smudge filter lfs failed
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'

Yep! I'm digging into that, too. On the bright side, we're very on track. Once the objects are in the LFS, nothing more to worry about; we're there. And I see that LFS now auto-pulls itself so, all that fuss about hooks I mentioned earlier has been relegated a concern of the past.

I wonder if the tutorial failed to specify this --everything or --info switch.
https://github.com/git-lfs/git-lfs/issues/3525
When I run git lfs-files I see the files there, so we're /really/ close to being done. It just looks like the files aren't wired up properly. It's sad there's still TODOs on the wiki, it looks like this migrate command needs some more docs love; I wager we quote unquote used it wrong, but also there was no better information there :stuck_out_tongue_closed_eyes:

hmm ... did you do the git lfs push origin master --all from the docs? Maybe that was necessary, but it's specified randomly below.

Woohoo! After struggling with git credential manager / auth stuff for a bit, I got git lfs push origin master --all to work, and it looks like clone is now succeeding too!

:tada: :boom: :partying_face:  :tada:
Alriiight! Go @toddmedema !
$ du -sh .git/* | sort -rh
33M	.git/lfs
1.9M	.git/objects
80K	.git/hooks
32K	.git/logs
28K	.git/refs
24K	.git/index
8.0K	.git/info
4.0K	.git/packed-refs
4.0K	.git/HEAD
4.0K	.git/description
4.0K	.git/config
4.0K	.git/branches

RESOLVED :heavy_check_mark:

WOOHOOOO! Thank you so much for your help!

Happy to help and looking forward to collab'ing further on the slimmed down repo now that it's ready!

Took a stab at cleaning up the unused dependencies to help further (was a little embarrassing... like I mentioned, copied it over from https://expeditiongame.com/ without a deep clean)
Any particular issues strike your fancy? (or, any ideas for issues / improvements from your experience that I haven't spotted?)

I'll probably pitch in with the routine upgrades and then see what's to do next, that'll let me get some time to ramp up on the code internals and conjecture better about what other little things there are to do.
GitHub actions or build pipelines might be something worth chatting about more at that time, too, once I familiarize myself with the publishing flow.


fix api.TypeMeta not found error

It is a very small change but otherwise it doesn't build :smile:

:+1:

Fixed the issue for me, thanks.


comment Adsense.js of Adsense dir for better readability

I saw Adsense.js codes which are not commented; for following the best and recommended practices, hoping codes will commented out

Hi there, you can check our pull request resolving this issue:
see here
hoping for your respond, thank you!


Mario/search

Display search results in a tag cloud.

See https://github.com/geops/mobility-toolbox-js/pull/90


nodetool cfstats output support, post v 2.0

This commit adds support to collect 'Table:' metrics from 'nodetool cfstats' output.
Before Cassandra v 2.0, 'Column Family:' was part of the output.

I forgot to change another line to handle the output difference.I will send a new patch.


configure containers with proper DNS and default route

Routes are configured. DNS will be addressed as a part of #36


[USABILITY] Bullet number on Disclosure screen needs to be in Bold

Describe the usability issue
The bullet number on the Disclosure screen needs to be in Bold
To Reproduce
Steps to reproduce the behavior:

Install the safer app
Complete onboarding screens of the Safer app
Select the role as a University student and verify his identity
Proceed with Covid onboarding process.
Information Usage Disclosure screen is displayed

Actual Result
The bullet number on the Disclosure screen is not visible strongly.
Expected behavior
Update the bullet numbers in bold to make them visible strong.
Screenshots

Smartphone (please complete the following information):
Device: [e.g. Android]
App Version : [2.10.10]
Additional context
Add any other context about the problem here.

Implemented in version 2.10.12.

This issue is resolved


fix(login): Fix unlock page

What this PR does 📖

Fixes app going to create account with wrong pin
Fixes error messages not displayed (e.g. when wrong password is typed)

Which issue(s) this PR fixes 🔨

Resolve #961

linter is failing 🔨


tiny-cudann won't install.

Describe the bug
Error running pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch
To Reproduce
Steps to reproduce the behavior:
conda create -n ngp_pl python==3.9
conda activate ngp_pl
conda install pip

pip install torch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu121
pip install torch-scatter -f https://data.pyg.org/whl/torch-2.2.0+cu121.html
export TCNN_CUDA_ARCHITECTURES=90 # when using H100

Using H100, sm90, cuda121. Create relevant environment and packages with the above commands.
pip install ninja git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch

Expected behavior

installed tiny-cuda-nn

Screenshots
Collecting git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch
  Cloning https://github.com/NVlabs/tiny-cuda-nn/ to /scratch/591851/pip-req-build-l7x2_92v
  Running command git clone --filter=blob:none --quiet https://github.com/NVlabs/tiny-cuda-nn/ /scratch/591851/pip-req-build-l7x2_92v
  Resolved https://github.com/NVlabs/tiny-cuda-nn/ to commit 2ec562e853e6f482b5d09168705205f46358fb39
  Running command git submodule update --init --recursive -q
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: tinycudann
  Building wheel for tinycudann (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [79 lines of output]
      /scratch/591851/pip-req-build-l7x2_92v/bindings/torch/setup.py:5: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
        from pkg_resources import parse_version
      Building PyTorch extension for tiny-cuda-nn version 1.7
      Obtained compute capabilities [90] from environment variable TCNN_CUDA_ARCHITECTURES
      nvcc: NVIDIA (R) Cuda compiler driver
      Copyright (c) 2005-2023 NVIDIA Corporation
      Built on Tue_Jul_11_02:20:44_PDT_2023
      Cuda compilation tools, release 12.2, V12.2.128
      Build cuda_12.2.r12.2/compiler.33053471_0
      Detected CUDA version 12.2
      Targeting C++ standard 17
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-39
      creating build/lib.linux-x86_64-cpython-39/tinycudann
      copying tinycudann/__init__.py -> build/lib.linux-x86_64-cpython-39/tinycudann
      copying tinycudann/modules.py -> build/lib.linux-x86_64-cpython-39/tinycudann
      running egg_info
      creating tinycudann.egg-info
      writing tinycudann.egg-info/PKG-INFO
      writing dependency_links to tinycudann.egg-info/dependency_links.txt
      writing top-level names to tinycudann.egg-info/top_level.txt
      writing manifest file 'tinycudann.egg-info/SOURCES.txt'
      reading manifest file 'tinycudann.egg-info/SOURCES.txt'
      writing manifest file 'tinycudann.egg-info/SOURCES.txt'
      copying tinycudann/bindings.cpp -> build/lib.linux-x86_64-cpython-39/tinycudann
      running build_ext
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/scratch/591851/pip-req-build-l7x2_92v/bindings/torch/setup.py", line 189, in <module>
          setup(
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/setuptools/__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/setuptools/dist.py", line 989, in run_command
          super().run_command(command)
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 364, in run
          self.run_command("build")
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/setuptools/dist.py", line 989, in run_command
          super().run_command(command)
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/setuptools/_distutils/command/build.py", line 131, in run
          self.run_command(cmd_name)
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/setuptools/dist.py", line 989, in run_command
          super().run_command(command)
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/setuptools/command/build_ext.py", line 88, in run
          _build_ext.run(self)
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
          self.build_extensions()
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/torch/utils/cpp_extension.py", line 509, in build_extensions
          compiler_name, compiler_version = self._check_abi()
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/torch/utils/cpp_extension.py", line 895, in _check_abi
          _, version = get_compiler_abi_compatibility_and_version(compiler)
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/torch/utils/cpp_extension.py", line 359, in get_compiler_abi_compatibility_and_version
          if not check_compiler_ok_for_platform(compiler):
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/site-packages/torch/utils/cpp_extension.py", line 312, in check_compiler_ok_for_platform
          which = subprocess.check_output(['which', compiler], stderr=subprocess.STDOUT)
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/subprocess.py", line 420, in check_output
          return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
        File "/home/hice1/apeng39/.conda/envs/ngp_pl_new/lib/python3.9/subprocess.py", line 524, in run
          raise CalledProcessError(retcode, process.args,
      subprocess.CalledProcessError: Command '['which', '/usr/local/pace-apps/spack/packages/linux-rhel7-x86_64/gcc-4.8.5/gcc-10.3.0-o57x6h2gubo7bzh7evmy4mvibdqrlghr/bin/g++']' returned non-zero exit status 1.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for tinycudann
  Running setup.py clean for tinycudann
Failed to build tinycudann
ERROR: Could not build wheels for tinycudann, which is required to install pyproject.toml-based projects

Additional context
Add any other context about the problem here.

Make sure you use the same pytorch version as mentioned on the installation page, i.e. torch 2.1.2 with CUDA 11.8 or 2.0.1 with CUDA 11.7.
I ran into a similar bug (the error was RuntimeError: Error compiling objects for extension) even tough I had CUDA 11.8 and torch 2.1.2.
For my nvidia driver installation I had to upgrade my gcc version to gcc-12. When I tried to install tiycudann, I kept this gcc version, and I ran into this bug. But when I downgraded to gcc-11, tinycudann succesfully installed.
Hope it helps


Coolfunction1

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


The archive function deletes trajectories from disk

The routine to archive data from the trajdb also deletes the trajectories from disk. We don't want that!

fixed


Escaped newlines in assignments

foo \
# foo
= bar

I ran this with ruby -c to check if the syntax is valid, and it appears that it's not:
$ cat test.rb
foo \
# foo
= bar
$ ruby -c test.rb
test.rb: test.rb:3: syntax error, unexpected '=' (SyntaxError)

Currently, yarp (correctly) outputs an error on this file:
@errors=[#<YARP::ParseError:0x0000000107d10f30 @location=(12...12), @message="Expected to be able to parse an expression.">]

Closing this issue as won't do, since it's not valid syntax, and yarp already handles this.


Add additional type designation in V1 output for collections

What Added additional type designation for collections output via the V1 API. Schema.org allows for an "additionalType" field which is typed as a URL. I also added definitions for the two new sub-types on the honeycomb wiki. I modified the parent context for collections to be "bib.schema.org" and changed the type to "Collection".
Why This gives the API consumer a way to easily identify what type of collection is being output. The "Collection" type, which is a sub-type of "CreativeWork" is also more appropriate for the type of things being output via the API in aggregate.
What Added a new method to the collection decorator, unit tests, and modified the jbuilder file as outlined above.

:+1:

:+1:


make pagination translatable

Would probably favour a filter over a new service if this is possible.

@ariandora This is a pull against master not beta.

#274 is to beta and has this commit as well, just delete this one


Support for NSX-T tile 2.1.4 and PCF 2.2

It seems this pipeline configures NSX-T tile v2.1.3.
There is tile v2.1.4 and v2.2 available on Pivotal Network. We found the new versions are not compatible with the tile.
Are there plans to modify the pipeline to support the new versions?
Toolsmiths have just upgraded NSX-T to 2.2, and are having a slightly different issue with the configuration, but we expect to fix this issue soon.

submited PR https://github.com/sparameswaran/nsx-t-ci-pipeline/pull/5 to address

The PR has been merged, closing issue


Revert build scope deprecations

Reverts #30000 as we are not ready to go ahead of all deprecations.
Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

@bot-gradle test RFR

I've triggered the following builds for you. Click here to see all build failures.

Ready for Release (Trigger) (Check)


[e2e]: nodejs release main default slsa3

Repo: https://github.com/slsa-framework/example-package/tree/v40.0.224
Run: https://github.com/slsa-framework/example-package/actions/runs/8354506019
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.release.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.release.main.default.slsa3.yml
Trigger: release
Branch: v40.0.224
Date: Wed Mar 20 06:10:02 UTC 2024

Repo: https://github.com/slsa-framework/example-package/tree/v40.0.225
Run: https://github.com/slsa-framework/example-package/actions/runs/8365063133
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.release.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.release.main.default.slsa3.yml
Trigger: release
Branch: v40.0.225
Date: Wed Mar 20 20:15:33 UTC 2024
Tests are passing now. Closing this issue.


Add Whirligig World from SpaceDock

This pull request was automatically generated by SpaceDock on behalf of GregroxMun, to add Whirligig World to CKAN.
Mod details:
name = /mod/1805/Whirligig%20World
author = GregroxMun
abstract = You spin me right around, baby! A unique homeworld in an alien solar system, dozens of new bodies to explore.
license = All Rights Reserved (Whirligig World), GNU General Public License (Kopernicus Expansions Continued)
Homepage = https://forum.kerbalspaceprogram.com/index.php?/topic/166563-02-nov232017-whirligig-world-a-unique-homeworld-in-an-alien-solar-system/
description =
Two centuries ago, explorers from the far off planet Kerbin left their home to colonize other star systems. Preliminary transit data suggested the third planet of Kaywell's star had an oxygen atmosphere and water. It did not.
Unable to correct their course due to piloting error, they crashed into the massive, 70 Kerbin Mass planet Mesbin. Luckily, Mesbin spins. Once every hour and twenty minutes it spins, and the centripedal effect pushes the equator outwards and negates some of the gravity. The 5 gees of gravity at the poles is reduced to a tad over 1 gee at the equator.
The payload of the ship survived, but the engines and fuel tanks were reduced to a lot of metal rubble along the surface. Unable to find somewhere else to go, they buried themselves underground and set up a stable ecosystem and environment down there. Eventually the colony was sufficiently industrialized to start looking up again.

See the Forum Thread for more information.
Please direct questions about this pull request to GregroxMun.
ckan compat add 1.6

#rebuild

Needs https://github.com/StollD/KopernicusExpansion-Continued
@StollD, would it be OK with you if we indexed your KopernicusExpansion continuation in CKAN?

Sure.
But be aware that KEX is multiple independent modules that can be used without each other (and KEX-HeightmapConverter for example isn't even a KSP plugin). So you might have to write 10 netkan files for it.
On the other hand it probably makes more sense to index them as they are required (so just RegionalPQSMods and EmissiveFX for Whirligig)
If you need anything feel free to ping me.
Am 15. Juni 2019 02:26:59 MESZ schrieb HebaruSan<EMAIL_ADDRESS>
Needs https://github.com/StollD/KopernicusExpansion-Continued
@StollD, would it be OK with you if we indexed your KopernicusExpansion
continuation in CKAN?
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/KSP-CKAN/NetKAN/pull/7116#issuecomment-502317787

Thanks! And yes, that looks to be the way to do it.
Note to self, this mod appears to be using EmissiveFX and RegionalPQSMods.

#rebuild

Hmm, an ominous pseudocomplaint from the author:

I wonder what's behind that...

Looks like the dependencies changed in March:

Also missing https://github.com/StollD/SciRev :


Target API level requirement google play store

Google is enforcing the following to apps that are/will be published to the Google app store:
Starting August 31, 2023:
New apps and app updates must target API level 33 to be submitted to Google Play (Wear OS must target API 30)
Existing apps must target API level 31 or above to remain available to users on devices running Android OS higher than your app's target API level. Apps that target API level 30 or below (target API level 29 or below for Wear OS), will only be available on devices running Android OS same or lower than your apps’ target API level.
This is a bit worry some (the android wear platform currently runs on sdk 23 for example)
https://support.google.com/googleplay/android-developer/answer/11926878?hl=en

@happyDemon thanks for reporting, this will be checked

@happyDemon All android platforms are now targeting SDK 33


TextField style must be titleMedium and has no way be separated from that in theme configuration

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
Use every text style input to input decoration. None effect the users input text. That comes from titleMedium only.
Expected results
style of Textfield can be configured via theme without changing titleMedium
Actual results
The only way to change style of Textfield user input text is to provide it in every single instance of TextField, or modify titleMedium
Code sample
Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        textTheme: TextTheme(
          titleMedium: TextStyle(
            color: Colors.blue,
          ),
        ),
        inputDecorationTheme: const InputDecorationTheme(
          labelStyle: TextStyle(color: Colors.red),
          floatingLabelStyle: TextStyle(color: Colors.red),
          helperStyle: TextStyle(color: Colors.red),
          prefixStyle: TextStyle(color: Colors.red),
          counterStyle: TextStyle(color: Colors.red),
          suffixStyle: TextStyle(color: Colors.red),
          hintStyle: TextStyle(color: Colors.red),
          errorStyle: TextStyle(color: Colors.red),
        ),
      ),
      home: const Scaffold(
        body: Center(
          child: Padding(
            padding: EdgeInsets.all(32.0),
            child: TextField(
              decoration: InputDecoration(
                labelText: "label",
                counterText: "1/3",
              ),
            ),
          ),
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration

Thanks for the report! This is a known proposal being tracked at https://github.com/flutter/flutter/issues/118267. Closing this in favor of that issue, so please follow up on it for further updates.
You can leave there your case above that will help keep the issue updated and more diverse in use cases. Thank you!


More than one userManager

We have found that we get several instances of the userManager.
It feels that this is not the correct behaviour.
We have made a simple test application with just a button to make a signin.
Simply by browsing to the page we get these messages in the console window:
UserManager.ctor: monitorSession is configured, setting up session monitor
WebStorageStateStore.get user:https://my-host/:{clientId}
UserManager.ctor: monitorSession is configured, setting up session monitor
WebStorageStateStore.get user:https://my-host/:{clientId}
UserManager._loadUser: no user storageString
UserManager._loadUser: no user storageString
UserManager.getUser: user not found in storage
UserManager.getUser: user not found in storage
WebStorageStateStore.get user:https://my-host/:{clientId}
UserManager._loadUser: no user storageString
UserManager.getUser: user not found in storage
UserManager.ctor: monitorSession is configured, setting up session monitor
WebStorageStateStore.get user:https://my-host/:{clientId}
UserManager.ctor: monitorSession is configured, setting up session monitor
WebStorageStateStore.get user:https://my-host/:{clientId}
UserManager._loadUser: no user storageString
UserManager._loadUser: no user storageString
UserManager.getUser: user not found in storage
UserManager.getUser: user not found in storage

Our interpretation of this that we get four instances of the userManager (four .ctor).
Why? Could we do anything wrong?

Managed to solve this problem on our own. Two mayor things:
First we learned that if you use the component React.StrictMode you always get two intiates when you start your application.
StrictMode gives you hints in the log that you follow recommendation and not use deprecated functions.
The component is only active in development environment.
Secondly we have a context object that forces components to reload as the the context object changes.
When this happened new instances of the UserManager was created.
Our solution is to create the UserManager in our code in index.js and send it as a property to App.jsx where it is used as a property to the AuthProvider.


HeadlessInAppWebView media stops playing when AppLifecycleState.inactive triggered

[x] I have read the Get Started - Installation section
[x] I have read and done the Get Started - Setup Android section
[x] I have read and done the Get Started - Setup iOS section
[x] I have already searched for the same problem

Environment

Technology
Version

Flutter version
2.2.3

Plugin version
5.3.2

Android version
11

Device information: Pixel 5
Description
Expected behavior: YouTube video playing in HeadlessInAppWebView keeps playing
Current behavior: YouTube video stops playing when the flutter app goes inactive, although curiously js still executes so a future YouTube video load works.
Steps to reproduce

This is a little tricky to reproduce, but probably easiest with a StreamElements account. From there, set the HeadlessInAppWebView to be a media share link and then control the media share from the StreamElements site.
To trigger the inactive state, I open a ChromeSafariBrowser which opens an unrelated link but crucially I also have a bound Service which has called startForeground().
I'm happy to help debug and find a fix for this. Given how niche it is, I don't really expect a fix unless it's from myself and it may even be something in my app, but I wanted to file this report to see there's anything that comes to mind that might be causing the issue?

Here's the full log that gets triggered:
I/flutter (16195): app lifecycle state AppLifecycleState.paused
D/AAudio  (16195): AAudioStream_requestStop(s#7) called
D/AAudioStream(16195): setState(s#7) from 4 to 9
D/AudioTrack(16195): stop(22143): called with 357248 frames delivered
D/com.rtirl.chat(16195): PlayerBase::stop() from IPlayer

Ok if anyone comes across this it turns out this is a behavior with the Android WebView. I'm not sure why but eventually I gave up and instead of attaching the WebView to my app and hoping that it stays alive in the background I now attach it to the system overlay view. This keeps the WebView alive all the time.


Accept null as valid value in predicate subsets

I've verified that this fixes #302, and seems to induce no other changes, at least to anomaly detectors.  I have a local model and a datapoint which demonstrates the behavior if you'd still like those things, @mmerce .

Thanks for the PR, @charleslparker. We need to use a bigmlcom branch to do the tests, though. I'll close this one and send a new one from there.


Split STRING and STR

STRING has ISO 8859-1 encoding which compatible with ASCII and ASCII is also valid utf-8
since String is used to represent names, all implementations use ASCII only. so it would be useful to represent STRING as just String
and STR is encoded bytes so it represented as Vec<u8>

And all implementation use STR encoding just COMPOUND-TEXT it's also ASCII compatible
so attribute name is String even it's STR

We can use also bstr I think it's very suitable for handling ascii assumed name. In this way, we don't use String for format just Vec and BString


Kafka version inconsistencies & backlevel

In the top level pom.xml kafka.version is set to <IP_ADDRESS>
For the virtualizer in kafka is set to 1.0.0, as it is in the igc repository connector
2.12 was July 2018 as was 1.1.1. 1.0.0 was sep 2017 & <IP_ADDRESS> was May 2016
ideally we should set a single version in the top level, and use this consistently throughout
We also need to decide which version to go with. If not the latest, why not, and which.

As of 20190222 I am still seeing the connector using <IP_ADDRESS> - and am seeing some kafka instabilities
Current kafka stable is 2.1.1 whilst <IP_ADDRESS> was released May 2016
Such a wide client/server difference may be causing these issues - hard to verify without trying, but in any case we should consider keeping kafka far more current.
cc: @cmgrote @mandy-chessell @grahamwallis

i would also recommend using  rather than a property

Got for the latest release ...

Kafka updated to 2.1.1 (current) as above
Kafka property removed
Added  section for kafka (v2.1.1)
Reference to version under  removed in 3 poms (including top level)
Rebuilt
Launched egeria, joined cohort, verified kafka initialization and tx/rx
Looks ok.


Pickuplist Component

Creating a PickupList component, that is able to display pickups, let the user sort & filter pickups, and leave / join pickup dates
Dependant on #36 and #37.

@nicksellen couldn't resolve the 'Argument 'fn' is not a function, got string' error. Even when I recreated the whole component, I still got the same error when adding it as element on another page.

[ ] Add group filter, so that sticky headers can be applied
[ ] add tests


GH-41110: [C#] Handle empty stream in ArrowStreamReaderImplementation

Rationale for this change
Implementing this under the assumption that fixing #41110 is a good idea. Please do let me know if there are any contrary opinions on this subject.
What changes are included in this PR?
Handle empty stream in ArrowStreamReaderImplementation. I have not made similar changes to ArrowMemoryReaderImplementation or ArrowFileReaderImplementation.
Are these changes tested?
I have created two basic unit tests covering this new behaviour. This might not be sufficient to cover all cases where an empty stream should be handled without an exception occurring.

GitHub Issue: #41110

@CurtHagenlocher are you happy with the current state of this PR?


[Ubuntu] Remove buildpack-deps docker images

Description
Remove buildpack-deps docker images from Ubuntu 20.04 and Ubuntu 22.04 images
Related issue:

#9053

Check list

[x] Related issue / work item is attached
[ ] Tests are written (if applicable)
[ ] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

/azp run ubuntu2204, ubuntu2004


fix: polish logging

and use latest dependencies to hopefully remove bug in not adding the Preview URL to the PipelineActivity

/approve

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jstrachan
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jstrachan]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


WebClient like API using HttpClient

WebClient like API for HttpClient
As WebClient is an obsolete API (as far as I got told) and has some problems (i.e. automatic redirecting) it would be nice to have a similar replacement API using the HttpClient
Problem
So, a few people have told me, that the WebClient API is marked as obsolete and the HttpClient should be used instead. The problem is that creating an asynchronous download with progress reports, and other very helpful stuff, is very easy with WebClient, but some messy code with HttpClient.
For this reason, most people will use the WebClient API and encounter the same problems over and over again.
Solution
There are two possible solutions:

Fix the WebClient API
Implement a similar API with similar functionalities but based on the HttpClient

Webclient would be fix just for Progress report wich as already solution like ProgressMessageHandler and where you may thinks about using websocket or split into chunck.

@scalablecory can you follow up?

I agree that progress report would be useful. It's currently really hard, and you have to implement everything yourself, including a custom stream copy with progress.

This issue should probably be moved to https://github.com/dotnet/runtime.


fix call to run_distutils

more #4249 problems, this time with run_distutils. Make it a bit more verbose so it is clear how the differently-named arguments map to each other.

It's not really a fix, though, right? It doesn't functionally change anything?

After this PR, locally when I run python runtests.py -vv --no-code-style Debugger --backends=c the test passes, both with python 3.8.8 and python3-dbg 3.8.5.

Or maybe the comment is about the commit message? I guess I was thinking that the code that calls run_distutils was wrong, and now the call succeeds, so that is a "fix".

Ah, right. The module_path argument isn't accepted. I failed to see that initially.

Thanks


Is there a getter for the registered available languages?

Hi,
I'm building an app which every time I need to do stuff with languages I'm making a request to my languages endpoint....
I'd like to register the available languages in the translate provider, and then use it instead of that request to my api/languages endpoint.
I couldn't find a way to get and use those registered languages in my controllers and directives, I'm mixing up stuff?
Thanks

Currently you can only retrieve the keys you put in via "registerAvailableLanguageKeys" from exactly the same function during configuration, but not from controllers. Right.
Why not storing this key-object in an application-wide constant if you're anyway putting them in from within your business logic (outside the module)?

Well I found 2 solutions for this:

Decorate the $translateProvider with a getter/setter of my appLanguages
Using constants.

Maybe will be a nice add to angular-translate since he is responsable of the internationalization of my app.
Thanks anyway for the answer. :+1:

Will be in 2.11


Add scripts to builds artifacts on windows

What does this PR do?
Add scripts and files to build windows artifacts: libraries and nuget package
Motivation
The goal is to allow developers to build libdatadog locally on windows and also in CI.
Additional Notes
None
How to test the change?
Run the tests locally

This is basically a foreign language to me. I don't see how it could hurt anything, though, so I've approved it. You should maybe double-check with Christophe, though.

I'll check with him, but it's also foreign language to him 🤣


Allow addProgressNotification when using async initializer

Problem
When using let realm = try await Realm(configuration: configuration, downloadBeforeOpen: .once) I'd like to track the download progress of that sync.
Looking at the async initializer that isn't possible as task is hidden (as is callbackQueue):
rlmRealm = try await withCheckedThrowingContinuation { continuation in
                RLMRealm.asyncOpen(with: configuration.rlmConfiguration, callbackQueue: .main) { (realm, error) in
                    if let error = error {
                        continuation.resume(with: .failure(error))
                    } else {
                        continuation.resume(with: .success(realm!))
                    }
                }
            }

Solution
With a goal of minimising design changes, the smallest change I can think of is passing in a block and a queue to set internally on the task returned from RLMRealm.asyncOpen.
@MainActor
    public init(configuration: Realm.Configuration = .defaultConfiguration,
                downloadBeforeOpen: OpenBehavior = .never,
                callbackQueue: DispatchQueue = .main,
                block: @escaping (SyncSession.Progress) -> Void = nil) async throws {
        var rlmRealm: RLMRealm?
        switch downloadBeforeOpen {
        case .never:
            break
        case .once:
            if !Realm.fileExists(for: configuration) {
                fallthrough
            }
        case .always:
            rlmRealm = try await withCheckedThrowingContinuation { continuation in
                let task = RLMRealm.asyncOpen(with: configuration.rlmConfiguration, callbackQueue: callbackQueue) { (realm, error) in
                    if let error = error {
                        continuation.resume(with: .failure(error))
                    } else {
                        continuation.resume(with: .success(realm!))
                    }
                }
                task.addProgressNotification(queue: callbackQueue) { progress in
                        block(progress)
                }
            }
        }
        if rlmRealm == nil {
            rlmRealm = try RLMRealm(configuration: configuration.rlmConfiguration)
        }
        self.init(rlmRealm!)
    }

How important is this improvement for you?
Would be a major improvement

Hi @captn590 @rowungiles Thanks for reaching. We are taking a look at this, so we can come up with the best solution and API for this.

Was there ever a resolution here, or is this another one of those, "we'll get back to you in 7 years to tell you we still don't have an answer" issues?
AsyncOpen can take a long time to "bootstrap changesets" and not being able to show progress to the user is very frustrating.
Please fill this hole--enough talking; get the feature shipped!

That is fair criticism. I'll see if we can add it as part of the project that adds support for bootstrap progress notifications.


Eager Execution Support

Having the code base in some dynamic graph style library would be great. Pytorch does this well, but since google has released eager execution, having the codebase in eager execution mode will be really nice to have since the codebase is a learning tool. I was having a bit of trouble understanding the session based control of tensorflow (coming from a pytorch background) for the vanilla policy gradient, inspite of it being written really well :')
I would be happy to slowly convert some of the codebase to support eager execution. Do you think this would be useful ?

@jachiam can you be more precise on "merging rewritten implementations into the core codebase is unlikely." it means that the algorithms using eager execution are going to be structured differently? I need tensorflow 2 support for my project and would be willing to put some effort to rewrite the current algorithms to tensorflow 2.
It would be great if my code has any chance of being merged in the end


use _set_auth_region_name

This function not only sets the parent class's auth_region_name, but also the auth_handler's
region_name.
See https://github.com/boto/boto/blob/abb38474ee5124bb571da0c42be67cd27c47094f/boto/connection.py#L593-L595

disregard, I failed to read the logs further up:

wal_e.blobstore.s3.s3_util WARNING  MSG: WALE_S3_ENDPOINT defined, ignoring AWS_REGION

looks like I'll have to handle this differently, but this shouldn't be required to work. Closing!

Can you say a little more?
I added AWS_REGION because sigv4 requires it. So far, all the S3-compatible-ish backend implementations I know of use the older signature formats, which do not require it.  WALE_S3_ENDPOINT implies use of these older signing formats.

Sure! I had WALE_S3_ENDPOINT set to http+path://ip_addr:port, omitting the region. I missed the point where I should add the region in the WALE_S3_ENDPOINT envvar rather than using both WALE_S3_ENDPOINT and AWS_REGION. Setting WALE_S3_ENDPOINT to http+path://s3-us-east-1.ip_addr:port worked for me.

See https://github.com/deis/postgres/pull/137 for reference :)

Heh. I guess someone may need to add SigV4 support to WALE_S3_ENDPOINT, since the assumption no longer holds.


Added release flag check

$ cordova build --release -- chcp-development

consoleOptions is { release: true, argv: [ 'chcp-development' ] }

<EMAIL_ADDRESS><EMAIL_ADDRESS>

Merged, thanks! The problem is that hook uses old Cordova format. As mentioned in documentation - you should remove this plugin from your production release anyway.

@nikDemyankov
Thank you for merging.

When the app is ready and you are prepared for release - don't forget to delete it.

I did not notice the document.
It is difficult for me to use chcp-local-dev-addon and chcp-* because of it not be wanted configuration...


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/89029

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/95901

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/112275

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/115269

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/119161


Add request-ping reverse slp test

A should-fail for something that may or may not actually be intended to work? Big :-1: from me.

It works that way, the test is intended for minecraft_server.jar which is our reference.

I was mistaken on how server list ping is supposed to work. Feel free to merge.

I'm curious, what has changed?

Servers are supposed to disconnect after sending the pong. Clients will never close the connection first. This means that the order has to be the same every time.


Add command to delete remote tag (fix #104845)

This PR fixes #104845 by creating a new "Delete Remote Tag" command to Git.
The action is available through Command Palette and through the "More Actions..." menu.

The user selects a tag
The user selects the remote to delete the tag from
The command git push --delete {remoteName} {tagName} is executed

@gpoussel, thank you very much for your contribution. I have manually posted the code to a new pull request - https://github.com/microsoft/vscode/pull/170415.


Clarify TODO message

@mfojtik PTAL. Trying to make our life easier if we'll ever look at that TODO again...

[merge]


Stratton (7063-CR1) ipmitool to get NTP configuration information

In  Stratton (7063-CR1) when BMC is configured with NTP, then HMC will not be able to modify the system time, as time will be always synched with BMC's NTP configuration.
In this case, we want to show the HMC user a message saying he cannot change the time as NTP is configured in BMC.
As you know, we query the BMC information through ipmitool command. can you help us get the right ipmitool command to check if BMC in Stratton (7063-CR1) is configured with NTP or not ?
Earlier we got the below command from FSP team. but we cannot use this command, as HMC will not have BMC ip information.
ipmitool -H   -U ADMIN -P admin raw 0x32 0xa7
Look at fist byte of the output:
01 --> NTP is configured
00 --> NTP is not configured
Can you help to get ipmitool command without -H option, basically without passing BMC ip information.
Thanks & Regards
Karthik

You need to contact Supermicro for issues on the BMC.  Hostboot is not involved in any way.  https://github.com/open-power/supermicro-openpower/issues/ if you have access


fix 0.4 compatible, remove Union datatypes, replace border

Hi!
is this package still of interest to you? I would need the plotting stuff for a project of mine, but I'd rather contribute here than create a reboot.
long story short, I made the package 0.3 and 0.4 compatible and replaced the borders with more appropriate unicode signs.

As I sidenode: I have also created a horizontal barplot, but that's not yet included here. I would however translate it to your package if there is interest. What do you think?

+:100: :)

Unfortunately @sunetos seems to have gone off the grid a few months ago. I would suggest you to move forward with your fork, merge the open pull requests to it if relevant, and submit a PR to METADATA.jl replacing this package with yours. If he eventually returns, it should be easy to merge the codebases if it's just a fast-forward to catch up with your commits.

In fact, it would be great if the owners of plotting packages joined under an organization, to prevent this sort of thing from happening in the future. For reference, the current plotting packages are:
Text-based plotting:

@sunetos' TextPlots.jl
@johnmyleswhite's ASCIIPlots.jl
@mbauman's Sparklines.jl

Graphical plotting:

@dcjones' Gadfly.jl
@stevengj's PyPlot
@nolta's Winston.jl
@mbaz's Gaston.jl
@Mononofu's julia-plot
@SimonDanisch's GLPlot.jl
@tbreloff's Qwt.jl
@bokeh's Bokeh.jl

Additionally, there are some graph-specific packages which I suppose would fit into a plotting organization, but since JuliaGraphs exists, they should probably unite there:

@Keno's GraphViz.jl
@sisl's TikzGraphs.jl
@IainNZ's GraphLayout.jl

It would be nice if the authors of those packages commented on the possibility of creating an organization, which would not only ensure that they won't get abandoned, but also make it easier to find the various plotting packages (it took me a while to collect the list above).

Hmm well, I'll wait a day or two. The source code gave me an idea how to plot the lines etc a bit better. and the unicode list has some useful signs to possibly do pretty decent historgrams. If this package is lost I'll probably do a full reboot.

Your idea sounds better though

@waldyrious making an organization isn't really a solution to maintaining completely unmaintained packages - JuliaWeb has demonstrated this clearly now I think. Even if others have commit access, they don't necessarily have time or understanding to be merging PRs.
@Evizero I do suggest permanently forking if you'd be more willing to maintain.

@IainNZ at least for simple fixes (compatibility changes, readme edits, etc.) other people from the org could help, and the benefit of having the packages easily findable is also signigficant (for instance, http://julialang.org/downloads/plotting.html only mentions Winston and PyPlot)

I took his idea - which is brilliant - but started from scratch which is much cleaner and yields more connected results.

Since I don't use any of his code I'll just create a new package. I don't feel honest deleting the old code just for the name

anyone still interested in REPL-plotting check out https://github.com/Evizero/UnicodePlots.jl

I agree with Iain that simply having an organization won't help too much, although I also agree that it would be nice to have a curated list of plotting packages (which I'm not sure would be accomplished by starting an organization)
I think we don't have clear winner for plotting yet, which means it would be great to have a document/tutorial that describes the pros/cons of the packages, compares usage for common workflows, dependencies, and features. If it makes sense to host this within a "JuliaPlot" group or something similar, then I'd be interested in contributing where I can.
Maybe eventually this could help pool resources into "one package to rule them all", but that may be pipe dreaming...

On Aug 14, 2015, at 12:18 PM, Iain Dunning<EMAIL_ADDRESS>wrote:
@waldyrious making an organization isn't really a solution to maintaining completely unmaintained packages - JuliaWeb has demonstrated this clearly now I think. Even if others have commit access, they don't necessarily have time or understanding to be merging PRs.
@Evizero I do suggest permanently forking if you'd be more willing to maintain.
—
Reply to this email directly or view it on GitHub.

@Evizero looks awesome

Regardless of whether an organization can promote such a convergence or not, it certainly can only help, not hurt. At worst we will have a situation just like right now, but with the benefit of having all plotting platforms in the same place. That's already a net positive. And simple PRs will be mergeable even if the maintainer becomes absent for a while. Another benefit. And at best, we have the chance to really improve the state of plotting in Julia, which arguably is a much more common need than web development, therefore hopefully commanding more interest and energy. So I see no downside to uniting the packages under an organization (unless I'm missing something?)

We might need to open a separate thread so that the closed status of this PR doesn't discourage people from commenting. We could reopen this one but neither the title nor the original content match the unification discussion, which was a kind of an off-branch out of the abandonment concerns. I'll start a new one.


Feature/9 option menu

Codecov Report

Merging #234 (d3097cd) into master (918bb50) will decrease coverage by 0.30%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master     #234      +/-   ##
==========================================
- Coverage   11.29%   10.99%   -0.31%
==========================================
  Files         169      169
  Lines        2762     2838      +76
  Branches      914      919       +5
==========================================
  Hits          312      312
- Misses       2299     2375      +76
  Partials      151      151

Impacted Files
Coverage Δ

src/game/scenes/SettingsMenuScene.cpp
0.00% <0.00%> (ø)

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 918bb50...d3097cd. Read the comment docs.


Debug Extension Failing for Electron App

Issue Type: Bug
Followed Electron Forge instructions for creating a new test application:
npm install -g electron-forge
electron-forge init my-new-project

Added a launch.json file to .vscode:
{
  // Use IntelliSense to learn about possible attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Electron Main",
      "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron-forge-vscode-nix",
      "windows": {
        "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron-forge-vscode-win.cmd"
      },
      //"console": "integratedTerminal",
      "outputCapture": "std",
      "cwd": "${workspaceRoot}"
    }
  ]
}

Try to launch and receive this error: https://i.imgur.com/1NFM5l0.png
Note: This looks to be similar to this issue: https://github.com/Microsoft/vscode/issues/40501
Note: I can only reliable reproduce this for my current test app.
Note: I have a much more advance Electron App that I've been developing for 4 months now and it works just fine.
Note: I have this test app in a git repo, my teammates cannot reproduce the issue - they are running Windows 10 I am running Windows 7.
Note: Running from the command lines (no debug extension) launches the test app just fine.
VS Code version: Code 1.21.1 (79b44aa704ce542d8ca4a3cc44cfca566e7720f1, 2018-03-14T14:46:47.128Z)
OS version: Windows_NT x64 6.1.7601

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz (4 x 2496)

Memory (System)
7.88GB (0.84GB free)

Process Argv
C:\Program Files\Microsoft VS Code\Code.exe

Screen Reader
no

VM
67%

Extensions (5)

Extension
Author (truncated)
Version

java
red
0.21.0

vscode-java-debug
vsc
0.7.0

vscode-java-pack
vsc
0.3.0

vscode-java-test
vsc
0.4.0

vscode-maven
vsc
0.6.0

Reproduces only with extensions

Update:
Uncommenting "console": "integratedTerminal" fixes my issue. Seems like that is part of the problem, at least with Window's 7. I found this other issue that helped me: https://github.com/Microsoft/vscode-node-debug2/issues/130

I think you're hitting https://github.com/Microsoft/vscode/issues/43169


Reduce the prefixes

Using certain prefixes such as ellipses and question marks may disrupt normal chat flow in a WhatsApp group. These characters are often used in casual conversation to indicate a trailing off or a question, and using them as prefixes to call a bot may confuse or distract users.
It is also important to consider that using too many variations of prefixes may also be overwhelming for users and make it difficult for them to remember which prefix to use. It would be better to keep the prefixes simple, easy to remember and easy to type. Make sure the prefixes are not commonly used in a group chat and easy to distinguish from normal conversation.

Thanks for the PR. And your reason makes sense.


How to convert an image to cad file or vector file using python?

I have done some operations using open cv and now want to convert that image/file to cad file or vector file using python.
I am new to this and have saw python package pyautocad. Can someone help me out with this? Thanks

Maybe this will help:
https://github.com/adityaintwala/Image2CAD


in intellij run/debug pane, clicking on test doesn't navigate to test code

double clicking on this should open up the relevant code as it does with junit

right clicking on it shows "nothing here"

test methods are marked as unused
plugin version 1.1.57-IC-2022.1
intellij version: IntelliJ IDEA 2022.1.1 (Ultimate Edition)
kotest version 5.3.0
Update: this was using annotationSpec. with funSpec it's not happening

This problem still exists, another case that shows how harmful the stale bot is.

@Kantis :heart: for reopening and pinning the issue.


[resolves #580] JMSIntegrationTest depends on message ordering

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/wildfly-camel-pullreq/414/
Test FAILed.

Retest this please

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/wildfly-camel-pullreq/416/
Test FAILed.

Retest this please

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/wildfly-camel-pullreq/417/
Test PASSed.


⚠ Grundschule Benningen-Lachen has degraded performance

In 1c7d237, Grundschule Benningen-Lachen (https://gs-benningen-lachen.de) experienced degraded performance:

HTTP code: 200
Response time: 9983 ms

Resolved: Grundschule Benningen-Lachen performance has improved in 7566cba after 22 minutes.


INPUT in cloned header

To prevent wrong behavior when there are any INPUT elements (eg. checkboxes) in heading cells, please add the following line in base.init:
base.$clonedHeader.find("input").attr("disabled", true);

Wider selector:
base.$clonedHeader.find("input,` select").attr("disabled", true);

It worked even better for me.
@arturm11 thanks!
PS. If one do not use this fix, this plugin breaks related events (that were seated earlier) to the input fields

Is this fix can be implement?
I'm using input for filtering at header table,
without this fix, the serialize data will be doubled with empty value.
I have made a pull request
[https://github.com/jmosbech/StickyTableHeaders/pull/126]

I have a check box in my header and I have added that line to my downloaded source. I want my checkbox to work even with sticky headers.
But when I check the check box, it works for the first time. But when trying to uncheck, it does not invoke my event handler and ajax call.
base.$clonedHeader.find("input").attr("disabled", true);
Any ideas?

i have the same problem here, it worked in first time, but in the second it double the entries in my link for example test.com?test1=abc&test1=aaa


CAPI Todo App

Create a sample Todo App using a Substrate pallet as a backend to store todo items

WIP https://github.com/paritytech/capi-todo-app
Tagging @statictype and @peetzweg to take a look

maybe it's time for you guys to try to build an app with Capi too ;)


 Same behaviour than the other archs
Support bundle for troubleshooting

Environment
Internal drone runners.
Additional context
Please, keep in mind that recently the s390x team performed a infrastructure change on the runners. We need to discard if it's an issue related to that change or it's a new one.
Related to: https://github.com/longhorn/longhorn/issues/6891

In case that the team responsible want to test the code in s390x machines, there are two ways to proceed:
scenario 1 ( full flow )

fork repo, sync it with drone-pr and drone-publish
modify .drone.yaml as https://github.com/Anarkis/longhorn-engine/commit/c911bd88d19e1bf70c4e44e9b8688e6d84d0abed?diff=split
ping me for admin settings to enable the proper execution

scenario 2

request a new s390x machine with ssh access
This scenario does not assure the same environment that we have on the normal building servers. Nevertheless, If it's needed I could on that to match the requirements

@Anarkis feel free to self assign next time.

Highly related to https://github.com/harvester/harvester/issues/4642
Working on the permanent solution

The config of the new s390x runners differed from the previous one
cpuplugd was set on. But it did not work as expected, the number of cpus was not populated to the runners, allocating less resources to the runners and for that reason, increasing the execution time of the pipelines
Some background:

https://github.com/moby/moby/issues/27453
https://github.com/moby/moby/issues/40041


KAFKA-13228: ApiVersionRequest is not properly handled in KRaft co-resident mode

More detailed description of your change
When I described quorum in Kraft mode I got org.apache.kafka.common.errors.UnsupportedVersionException: The broker does not support DESCRIBE_QUORUM.
This happens because we only concerns ApiKeys.zkBrokerApis() when we call NodeApiVersions.create(), we should use ApiKeys.controllerApiVersions when in Kraft mode.
Summary of testing strategy (including rationale)
After this change, the DESCRIBE_QUORUM request was property handled and got a correct response:
TopicData(topicName='__cluster_metadata', partitions=[PartitionData(partitionIndex=0, errorCode=0, leaderId=1, leaderEpoch=30, highWatermark=141, currentVoters=[ReplicaState(replicaId=1, logEndOffset=141)], observers=[])])

ping @hachikuji @abbccdda

I also found that we do not support UpdateFeaturesRequest in KRaft mode, so I also removed related tests. ping @hachikuji to have a look, thank you 🤝

Hello @mumrah , are you interested in reviewing this, currently, APiVersionRequest is not properly handled in KRaft server and will have a bad effect on KIP-778.

Hello @mumrah , are you interested in reviewing this? currently, APiVersionRequest is not properly handled in KRaft server and will have a bad effect on KIP-778.

Was this fixed some other way?

Was this fixed some other way?

No, there are too many conflicts, I split this PR into 2 PRs, #12157 and #11784.


WIP - CIS Benchmark Options - Admissions plugin AlwaysPullImages

Add option to kube-apiserver to enable AlwaysPullImages admissions plugin.

Setting admission control policy to AlwaysPullImages forces every new pod to pull the
required images every time. In a multi-tenant cluster users can be assured that their
private images can only be used by those who have the credentials to pull them.

@alena1108 @galal-hussein please review https://github.com/rancher/types/pull/648 before this change. This change builds on top of changes explained there.


[MFA][GAUTH] - Reusing OTP must be forbidden

Issue
cas version : 5.0 RC4
I had configured a service to use MFA (through google auth).
I log me in with my credentials, I provide my OTP (123456), and I am redirected to the service.
I log me out from CAS, and then I reconnect to the service again.
I enter my crendentials, I provide the same OTP as above (123456), and my connection is accepted ! :-(
It is not the purpose of OTP !
Overlay https://github.com/cas-projects/cas-issues/pull/20

I suggest that, like in pam authentication for unix, the system retains the timestamps of OTP that were previously used

Could you attach logs at DEBUG level?

Here my logs
logs.zip

Had a look. Seems like a problem, yes. Before I step into this, what's this?
2016-10-14 08:06:57,469 DEBUG [org.apereo.cas.authentication.FileTrustStoreSslSocketFactory] - <Enabled protocols: [TLSv1, TLSv1.1, TLSv1.2]>
2016-10-14 08:06:57,469 DEBUG [org.apereo.cas.authentication.FileTrustStoreSslSocketFactory] - <Enabled cipher suites:[TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]>
2016-10-14 08:06:57,469 DEBUG [org.apereo.cas.authentication.FileTrustStoreSslSocketFactory] - <Starting handshake>
2016-10-14 08:06:57,534 DEBUG [org.apereo.cas.authentication.FileTrustStoreSslSocketFactory$CompositeX509TrustManager] - <Certificate chaining error>
sun.security.validator.ValidatorException: Certificate chaining error
	at sun.security.validator.SimpleValidator.engineValidate(SimpleValidator.java:204) ~[?:1.8.0_102]
	at sun.security.validator.Validator.validate(Validator.java:260) ~[?:1.8.0_102]
	at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324) ~[?:1.8.0_102]
	at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229) ~[?:1.8.0_102]
	at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:105) ~[?:1.8.0_102]
	at org.apereo.cas.authentication.FileTrustStoreSslSocketFactory$CompositeX509TrustManager.lambda$checkServerTrusted$1(FileTrustStoreSslSocketFactory.java:236) ~[cas-server-core-authentication-5.0.0.RC4-SNAPSHOT.jar:5.0.0.RC4-SNAPSHOT]
	at java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90) ~[?:1.8.0_102]

I also recommend you turn up logs for com.warrenstrange.googleauth and see that produce an explanation for this behavior.

com.warrenstrange.googleauth is already at debug level to cas.log

Strange. Dont see any log statements in the logs.
Have you tried debugging the issue by stepping int the authentication handler and see how it might accept duplicate codes?

I think the Certificate chaining error is due to I access an SSL service with a valid cert, however my cas server v5 has a self signed cert

I had this
<AsyncLogger name="com" level="debug" additivity="false" includeLocation="true">             <AppenderRef ref="casConsole"/>             <AppenderRef ref="casFile"/>         </AsyncLogger> to my log4j2.xml file and in fact I don't see any log  refer to com.warrenstrange.googleauth

Have you tried debugging the issue by stepping int the authentication handler and see how it might accept duplicate codes?

How I can do that ?

Let me clarify something: Google does not provide you with OTPs. They provide you with Time-based tokens. As long the token is used within the time-window is valid and has not expired, it's considered valid. It's not one-time use.
Also in you configuration, you skewed the window size by cas.authn.mfa.gauth.windowSize=28800. So of course, when you mess with the time window for every token, you can reuse and reuse and reuse.
So fix that and try again.

If you actually wish for CAS to support OTPs, that would not be a problem. We might already do via RADIUS.

Also study: https://github.com/wstrange/GoogleAuth

Since TOTP passwords are time-based, it is essential that the clock of both the server and the client are synchronised within the tolerance used by the library. The tolerance is set by default to a window of size 3 and can be overridden when configuring a GoogleAuthenticator instance.

I thought the googleauth handler works like the PAM googleauthenticator (https://github.com/google/google-authenticator).
I had put the windowSize to 28800 because with the default value (3), my TOTP was not accepted

Gotcha. Right, we use a java binding that is provided in that link above. Using PAM as an alternative or a replacement might not be a bad idea.
You obviously went too far. Just need to play around with the window size, and make sure times are synced between server and client. I am assuming you're running both on the same machine for testing so that shouldn't be a problem.

I don't want use PAM as an alternative, I just thought CAS serveur act as PAM does

Cool. Understood, thanks for clarifying.

IMHO, I think this implementation can provide a security issue if a token can be reused.
Like I said it before, it would be interesting that in future release / patch, timestamps, that were used to compute TOTP, are saved to database to prevent their  usage

Agreed. I should say that when I tried a window size of 1 (lowest value allowed; cannot be 0 and the default is 3), I wasn't able to reuse the code at all (within the window or outside of it). So that might be a partial solution; as you say, keeping track of tokens would 100% solve that problem.
If you'd like to rename this issue and explain the use case, we can definitely accommodate. (Or open up a separate one; that's better)

You can close this one.
I will open a new issue and try to explain it more precisly


Release version v0.9.0

What does this PR do?:

Release changes for AI Software Templates v0.9.0.
Which issue(s) this PR fixes:

https://issues.redhat.com/browse/DEVAI-185
PR acceptance criteria:
Testing and documentation do not need to be complete in order for this PR to be approved. We just need to ensure tracking issues are opened and linked to this PR, if they are not in the PR scope due to various constraints.

[ ] Tested and Verified

[X] Documentation (READMEs, Product Docs, Blogs, Education Modules, etc.)

How to test changes / Special notes to the reviewer:

@michael-valdron are you planning on cutting tags from branch 0.9.x? how will future releases/tags be cut? is it from the same branch 0.9.x?

@michael-valdron are you planning on cutting tags from branch 0.9.x? how will future releases/tags be cut? is it from the same branch 0.9.x?

@maysunfaisal Patch releases will be cut from the shared major/minor release branch, major and minor releases will always be cut from different release branches based from the changes in main.


WTF_ISSUE_555 loop garbage collection / unfunctional

Profiling our page and improving perf I stumbled over zone.js that creates a hefty amount of GC pressure and CPU time.
In particular this method eventTargetLegacyPatch:

That red bar inside that function is 50% of the load time of zone.js.
Looking in a debugger ... what is that even supposed to do? :D

So it takes the length of the string WTF_ISSUE_555, that is a loop of 425 iterations (because the string is 425 characters long) but then uses the index on the array WTF_ISSUE_555_ARRAY that only has 64 elements. And it has an inner loop with 218 elements, so that doubleloop creates 92625 strings and writes/overwrites them into the target object. And that then hold items like abort: "undefined.addEventListener:abort.
This can't be right, is it? :)
Seems like that loop was introduced in https://github.com/angular/zone.js/commit/b3a76d3f8d374be8edf009f7a077e51eefec6a65
zone.js version 0.9.1, inside zone.js/dist/zone.js line 2766 to 2773

zone.js version 0.9.1, inside zone.js/dist/zone.js line 2766 to 2773

Should we use zone.js/dist/zone-evergreen.js? Thats the zone.js bundle angular.io uses and that doesn't contain that code.

@sod, thanks for posting the issue, this has been fixed by https://github.com/angular/zone.js/pull/1102, but never get chance to be merged, I will ask the author to rebase or I can fix this again.

well, that typo creates twice the amount of memory garbage (12 MB) then an entire vue.js app I wrote.

We will fix this one ASAP, thanks for the waiting.

And if you are targeting only the evergreen browsers, you can use zone-evergreen.js.

The documentation is false regarding loading zone-evergreen and zone-legacy seperatly on https://github.com/angular/zone.js/blob/master/README.md. The documentation states

zone-legacy.js [...] This bundle must be loaded after zone-evergreen.js, zone.js=zone-evergreen.js + zone-legacy.js

It's exactly the other way around. zone-legacy writes a function into _global['__zone_symbol__legacyPatch'] that zone-everygreen calls.

This should be fixed by https://github.com/angular/angular/pull/31208


use a list in place of map for broker properties to respect order

the flakiness in the tests is resolved via: https://github.com/artemiscloud/activemq-artemis-operator/pull/184


field of any type behaves badly when specifying json field name

Describe the bug
swag fails to generate proper OpenAPI definition when field of any type is used simultaneously with json hint.
To Reproduce
Steps to reproduce the behavior:
for the following example structure:
type MyRequest struct {
	Name            string                   `json:"name" binding:"required,validName,max=200" example:"Bob"` // Name
	Value             any                    `json:"value" binding:"omitempty" example:"dunno"`      // Arbitrary value
}

type MyResponse struct {
	Id    string     `json:"id" example:"2ef01247-936d-4855-a3e4-6d5b024fcf7d"` // Object id
}

and following handler:
// @Summary Create Object
// @Tags Version v1.0.0
// @Produce json
// @Accept  json
// @Success 202 {object} MyResponse
// @Param  data body MyRequest true "New object parameters"
// @Router /v1/objects [POST]
// @description  Create object is async operation, it means that server returns 202 Accepted and continue work asynchronously.
func (handler *ObjectsHttpHandler) NewObject(context *gin.Context) {
...
}

Following swagger document is generated when I use swag init --parseDependency:
definitions:
  MyRequest:
    type: object
  MyResponse:
    properties:
      id:
        description: Object id
        example: 2ef01247-936d-4855-a3e4-6d5b024fcf7d
        type: string
    type: object
...
paths:
  /v1/objects:
    get:
      ...
    post:
      consumes:
      - application/json
      description: |-
        Create object is async operation, it means that server returns 202 Accepted and continue work asynchronously.
      parameters:
      - description: New object parameters
        in: body
        name: data
        required: true
        schema:
          $ref: '#/definitions/MyRequest'
      produces:
      - application/json
      responses:
        "202":
          description: Accepted
          schema:
            $ref: '#/definitions/MyResponse'
...

Otherwise speaking, the whole MyRequest object is squashed into blob without properties, bug.
Expected behavior
However, if I remove the json: "value" ... hint, e.g. for the following structure:
type MyRequest struct {
	Name            string                   `json:"name" binding:"required,validName,max=200" example:"Bob"` // Name
	Value             any                       // Arbitrary value
}

The result document is generated properly:
definitions:
  MyRequest:
    properties:
      name:
        description: Name of object
        example: Bob
        maxLength: 200
        type: string
      value:
        description: Arbitrary object
    required:
    - name
    type: object
  MyResponse:
    properties:
       ...
...

Your swag version
v1.16.3
Your go version
1.19.2

Maybe there is no suitable example for type any.

Did the test.
Yes, it seems that example is the root cause.
If i remove example:"dunno" for the any field in the annotation, the swagger is generated properly!
How come a string isn't a proper example for the any? :)

swag parses example according to a determined type,but any is not.


Create an Extra for Better SSL Support

So right now the SSL connections when you use pyOpenSSL, ndg-httspclient, and pyasn1 are more secure than if you just use the stdlib options. However it's hard to actually remember those three things. It would be cool if requests would add an extra to it's setup.py so that people can install requests with betterssl, something like:
setup(
    extras_require={
        "betterssl": ["pyOpenSSL", "ndg-httpsclient", "pyasn1"],
    },
)

Would make it so people can install requests like pip install requests[betterssl] and get all of those dependencies without having to manually track those down. It also means people could depend on requests[betterssl] instead of just requests in their own setup.py's.
Extra name can of course be bikeshed here :)

I found pyOpenSSL would cause memory problem, I use requests.get to request https://www.baidu.com for 10000times and memory growed!


I18n Dictionary - Sidekick plugin

I18n Dictionary Widget for authors to easily search for translation values and copy their corresponding keys for ease of authoring

Clsoed with #42


Husky runs during consumers install

error /Users/iradchenko/sandbox/ember-context-test/node_modules/@alexlafroscia/ember-context: Command failed.
Exit code: 127
Command: husky install
Arguments:
Directory: /Users/iradchenko/sandbox/ember-context-test/node_modules/@alexlafroscia/ember-context
Output:
/bin/sh: husky: command not found

Are you installing from GitHub or something rather than npm?
If I look at the package.json that is actually uploaded to npm (through unpkg) it seems like husky is no longer in the post-install script...
https://unpkg.com/<EMAIL_ADDRESS>

The latest version of Husky has a better/simpler Yarn integration; upgrade to that means that Husky should only run as part of the prepare script which should only happen locally.


Multi-source specification object

with source, format, size, bitrate. Everything you could get out of video source tags with data- attributes on mediawiki :D

Should probably support MPEG-DASH manifest rather than construct them manually.


GLFW 3.3 (Scaling support)

Start to hook up the basics of GLFW scaling support.
I'm still working to understand the values that this function returns, but its hooked up now at least.
I've not updated the package.json yet (I'm using link locally), but can do if / when the esy-glfw changes are merged.
Other things that could be useful:  glfwSetWindowContentScaleCallback which lets you set a callback for when the scale changes, and GLFW_SCALE_TO_MONITORwindow hint which enables auto-resize of a window by the content scale of the monitor the window is on.

 Its not for a smart reason and probably just because I wasn't 100%.


Django AsyncGraphQLView param: subscriptions_enabled misleading

The docs about subscriptions_enabled are misleading.
the docs says:

subscriptions_enabled: optional boolean parameter enabling subscriptions in the GraphiQL interface, defaults to False.

I as a new user couldn't understand that It is just some hack to satisfy GraphiQL and not at all supporting websockets...
especially because Django can handle only HTTP requests and not websockets.
I realized that only after digging threw the source code and #726 , #1215 , #344.
I would remove that and I think what @patrick91 suggested in #726 :

Or we should tell people to use the ASGI view even for non websockets GraphQL :)

Is a better solution.

yes, we should change that 😊 feel free to make a PR!


tests: Add unit tests to image-updater pkg/image

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 72.47%. Comparing base (f9b5d95) to head (98befa8).

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #810      +/-   ##
==========================================
+ Coverage   67.97%   72.47%   +4.49%
==========================================
  Files          31       31
  Lines        3135     3135
==========================================
+ Hits         2131     2272     +141
+ Misses        856      727     -129
+ Partials      148      136      -12

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@pasha-codefresh can you please review? Thanks.


[HOW-TO] Use Hardware JPEG encoder

Describe what it is that you want to accomplish
I want to use the hardware JPEG encoder to encode single images (in contrast to MJPEG) which is used in the former picamera1 stack.
Describe alternatives you've considered
I thought of using the MJPEG encoder which claims to use the hardware encoders, but i want to use it for single frames instead of video frames.
Additional context

Unfortunately we haven't written code that uses the MJPEG encoder for still images. With things like bitrates and framerates it's not an ideal match. That said, would a workaround like this be any use?
import io
import threading

from picamera2 import Picamera2
from picamera2.encoders import MJPEGEncoder
from picamera2.outputs import FileOutput

picam2 = Picamera2()
picam2.start()
main_stream = picam2.stream_map["main"]

class MyOutput(io.BufferedIOBase):
    def __init__(self, filename):
        self.filename = filename
        self.event = threading.Event()

    def write(self, buf):
        with open(self.filename, 'wb') as f:
            f.write(buf)
        self.event.set()

    def wait_for_frame(self):
        self.event.wait()
        self.event.clear()

mjpeg_encoder = MJPEGEncoder()
mjpeg_encoder.framerate = 30
mjpeg_encoder.size = config["main"]["size"]
mjpeg_encoder.format = config["main"]["format"]
mjpeg_encoder.bitrate = 5000000
my_output = MyOutput("out.jpg")
mjpeg_encoder.output = FileOutput(my_output)
mjpeg_encoder.start()

request = picam2.capture_request()
mjpeg_encoder.encode(main_stream, request)
request.release()
my_output.wait_for_frame()

It's a little tricky because the video encoders run asynchronously, so we have to find a way to get a signal from them when it's all finished. Though once it's set up, you should be able just to repeat those last 4 lines every time you want to do a capture.


Argument of any no longer matches <T>(x: T) => T in overload set

Based on code from knockout on DT:
interface Punch {
    <T>(value: T): T;
    <T = any>(value: null): T | null
}
function x(p: Punch) {
  var wat = p<number>(5 as any)
  var wit = p<number>('hi')
  var wot = p<number>(5)
}

Expected behavior:
wat: number, wit: number, wot: number
Actual behavior:
wat: number | null, wit: number | null, wot: number

Looks like it only repros when the second overload's parameter type is null; I tried never and { random, object, properties } and the first overload gets chosen.

Works on nightly from 06/15; fails on nightly from 06/20; we failed to publish 16,17,18,19.

Bisecting shows the cause to be #35282. Doesn't really make sense though.

Turns out 905 lines changed in the checker, so it's probably a minor transliteration error.

Doesn't appear to be any user-encountered impact from this


Gmail auto-fit messages - issue on mobile

Hi guys,
I'm having back a Gmail auto-fit messages issue on mobile by using Foundation for Emails into AcyMailing and as reported in detail here.
Practically, when auto-fit setting is selected, on, it is not applied and the content on mobile is shown too small.
I'm not a developer, but as far as I tested it seems to be something related with the use of $global-width variable of the Email Container width and Foundation Media Queries definitions.
As far as I understand AcyMailing Foundation is using 580px width while Gmail 600px...
In addition to the links suggested in that discussion, I can add:

Gmail supported CSS properties and Media Queries
override Gmail's Mobile Optimized Emails
Gmail App not respecting width discussion
Autofit is missing

Can you replicate the issue ?
Please, Do you have any workaround to fix it ?

Gmail App does not display correctly for us either,  It's not responsive.  Is there a fix?

I have the same problem, it's displaying desktop resolution on mobile gmail, hence the text is very small and hard to read...

I think I got it displaying properly now, though I'm using a single column layout, but with a few more lines I'm sure we could make multiple columns working too.
Here's what I did:

Ensured tables have the right width even when @media query doesn't work:

// _template.scss

table.container {
  width: 95%;
  max-width: $global-width;
}

td.large-12,
th.large-12 {
  width: 100%;
  max-width: $global-width - $global-gutter;
}

Modified dist file, by adding inline CSS that prevents images to overflow (I needed that as they're in my case coming from customer.io and not my static code, so Foundation can't inline these):

<style>
.container img {
  max-width: 100%;
}
</style>

We use the online inliner page and CSS file and what we found was that when we used the online inliner, it places all the CSS code right after the BODY which is what it has always done. But the GMAIL app didn't like that. When we copied the CSS and also placed it into the  section everything worked on the GMAIL app.  No idea why that would be unless Google is making changes. So for now we have the CSS be in the  and right after the  tag and things work like they should without any other hacks or changes.


r16b NDK fails for windows

Building boost version: 1.65.1
ERROR: C:/android-ndk-r16b is not a valid NDK root

@aquawicket I faced the same error. How did you solve it?

Open build-android.sh and change line 189 from
  if [ ! -f "$AndroidNDKRoot/ndk-build" ]; then
to
  if [ ! -f "$AndroidNDKRoot/ndk-build.cmd" ]; then
Windows cannot find the path without the file extension.

Thank you! this plus some other changes in build-android.sh worked for me

Did you have this issue?  https://github.com/moritz-wundke/Boost-for-Android/issues/128

Unfortunately, I have not face the same issue. But I faced another one #129.
I tried both 1.66.0 and 1.65.1 with ndk r16b, and still I have errors.

I've submitted a pull request to resolve this issue while maintaining the correct behavior on linux so nobody else needs to stumble across this incorrectly closed issue.


MP Talk @ Oracle Groundbrakers tour Guatemala

Conference Name: Oracle Groundbrakers Tour Guatemala 2019
Conference website and social media links:
https://oraguate.org/
Session Name: Beneficios de MicroProfile para aplicaciones monolíticas.
Date and hour: Monday, August 26th. 2019 (7:30 - 18:00 )
Speaker name: Jorge Cajas
Speaker twitter handle: @cajasmota
Description
Join @cajasmota at @orauggt to discuss and learn how could you take advantage of the @MicroProfileIO API's on your existing applications without refactoring them into microservices - Monday, August 26th
#OpenSource #OSS

It will go out today.


renames all "ios" tabs to "obj-c"

makin space for swift tabs :)

okay, highlighting leaves something to be desired, but it's all there now

Ah, I thought "iOS" was fine for the tab name, I just thought if the template was doing syntax highlighting based on the specified language, we should specify Obj C if possible.

We can change back to iOS, but wouldn't we split it again once we get swift examples in there?

Guess it depends on how far we want to take these snippets. Should we split Android into Java and Kotlin as well? Seems like overkill to me. Maybe one language per platform is enough.

I thought Java/Kotlin was more like the Typescript/Javascript distinction. So I guess the question is, can you use ObjC examples directly in a swift app or would you need to expose Textile in a more swifty way?

My understanding is Kotlin is a totally different language. Need to research more tho.
Swift applications can include Obj C code if the developer chooses (as in, the developer can write their own Obj C code). The Textile is callable directly from Swift code, though, so it's not a requirement that the developer write Obj C code to interact with Textile.
Just bumping up to a slightly higher level... I think exhaustive language examples are useful for code that is meant to be copy/pasted into a project, to make integration of a library faster/easier, for example. Like copying a pasting some initialization code that includes your API key and app bundle id.
I don't think the code in these example is that. They are just general examples of things Textile can do if you want to do them. It makes sense to provide an example on each platform because the APIs look and feel different enough on each platform. But within a single mobile platform, the APIs are the same no matter which language you use. Of course they look different because of the different language, but the mechanics are the same.

Ok, we are coming at it from a different understanding. People are copy/pasting the Tour and it was written to encourage that exactly. While mobile will get trickier to cut and paste, I think it's really valuable to include the flexibility of our APIs in the first doc most developers are going to land on.
So if a Swift developer could use Textile in pure swift, and we've already got that built in, I see it as pretty valuable to just include the Swift tab in the tour directly.

Ah ok didn't realize that was the intention. Just hard to decide where to draw the line then. Kotlin? CoffeeScript? Javascript? (searching frantically for this compile-to-javascript language that is made up of only space and tab characters... but ok just would be trolling then haha).
But really, I'm cool with the Obj C + Swift split if that's what you think is best.

I don't know the right split! Just the too many languages documented as a downside, I don't see yet. Seems like Swift is different enough from ObjC and we already have support out of box, so it could be nice to just showcase that API up front.


schematics-utilities should be used as dev-dependencies

I'm having a problem regarding the used dependencies -> licenses
[X] Bad Dependency Management

Current behavior
schematics-utilities are used as dependency.
https://github.com/datorama/akita/blob/cac039bfc2f78f9189f2315fda3ed5cecc3a3dc3/package.json#L81
Expected behavior
To reduces license problems when using akita it should be implemented as dev-dependency if possible.
What is the motivation / use case for changing the behavior?

Reduce license issues and dependencies in production.
critical for some companies to use akita this way

It's not a dev dependency. You need it to use schematics.


✨ Reimplement Projection Pushdowns

Projection (filter columns) and Selection (filter rows) pushdowns are relatively easy but effective query optimizers. They work but limit the data coming into the engine. All optimisations were removed when the v2 Planner was written, including Projection pushdowns.
The v1 planner could only push projections if a single relation were referenced in the query, the v2 planner does query binding and therefore has a much better idea of where each column has come from - this means the v2 planner can push Selections and Projections in multi-table queries.
Some groundwork needs to be implemented, then the scanner nodes need to either push the Projection and Selection pushdowns to the source (e.g. to Postgres or Parquet) or fake this by implementing the filters themselves (e.g. run a simple local filter routine). Faked pushdowns will not be as fast as outsourced pushdowns, but will be faster than no filters.

[x] Ensure all logical nodes (except scan nodes) have a columns attribute which is a list of the columns referenced by that node
[x] Finish the projection pushdown code in the heuristic planner
[x] Ensure the SQL node accepts and pushes projection pushdown
[x] Ensure the blob reader accepts and pushes the projection pushdown natively to Parquet
[x] Ensure the blob reader accepts and implements a post-read projection filter for file formats that don't support at read
[x] Ensure the collection reader accepts and implements a post-read projection filter

This probably can't be implemented as a projection node after the scan node, the SQL reader should never need this, the collection reader will always need it and the blob reader won't know if it needs it.

The filter column collector is collecting unbound columns

All types now have a projection pushdown. There are some failing tests which need to be addressed before the next beta, working projection pushdown will likely be the threshold for v0.12 release, initial testing was that without some read optimization, the performance for v0.12's beta 1 was too far away from 0.11, this will not be as performant as 0.11 for most scenarios, but it was always going to be half a step back for a run up.


Unit Testing Z Entity Framework Plus Extensions

When using Z.EntityFramework.Plus extensions, I cannot find a way to mock/substitute what the context returns when any of the plus extensions, not just Future(), are being used. Everything I try throws a NullReferenceException within the z extensions future library.
Repository Example:
public Task<DocumentDomain> GetDocuments(int id)
{
  var futureQuery1 = _context.ReportTypes.Where(x => x.IsReadOnly).Future();
  var futureQuery2 = _context.Reports.Where(x => x.CreateDate < DateTime.Now.AddDays(-10)).Future();
  var futureQuery3 = _context.Person.DeferredFirstOrDefault(x => x.Id == id).FutureValue();

   return new DocumentDomain(futureQuery1.ToList(), futureQuery2.ToList(), futureQuery3.Value);
}

Unit Test Repository:
   [Fact]
    public async Task ShouldGetDocumentsForPerson1()
    {
       _context = Substitute.For<IMyDbContext>();
       _context.ReportTypes = new FakeDbSet();
       _context.ReportTypes.AddRange(GetFakeReportTypes());
       // ...etc..arrange for Reports and Person

       var repo = new DocumentRepository(_context);

       // CRASHES HERE ON futureQuery1 at .Future()
       var domain = await repo.GetDocuments(1); // fake id

       Assert.IsTrue(domain.Documents.Count > 0);
    }

Without using Futures it works fine. I've tried mocking out a few different ways but always get an error. Most of the time it's a "oops Z extensions encountered an error" exception.
I'm thinking it's because Z extensions is expecting a real ObjectContext but not sure how to overcome this. Has anyone experienced similar issues? Does anyone know of any solutions? Thanks.

Hello @CGBDSAPO ,
Thank you for reporting, we will look at it during the weekend.
Best Regards,
Jonathan

Hello @CGBDSAPO ,
The v1.6.10 has been released.
We added an AllowQueryBatch option.
When disabled, our library will no longer try to batch all queries.
Could you try it and let me know if that work with your muck context?
Best Regards,
Jonathan

Hi,
any more general guidelines/options on Unit Testing? E.g. how to UT code that contains .DeleteAsync on FakeDbContext (essentially in-memory context) on EF6?

Hello @sztrzask ,
Unfortunately no, when we will create the v2.x of our library, we will try to improve it by keeping in mind people that make some unit test with Fake context.
Best Regards,
Jonathan

How to vote for this issue?


Slow uploads unless ip bound

Uploading to Google Drive from a VPS with 1000/250 only gets around 12-17 megabit upload unless I bind the ipv4 address to the command. With it bound i get ~220.
Server on SYS BHS farm
rclone 1.38
Ubuntu 17.04
Google Drive

If you don't bind and IPv4 address, then rclone will use IPv6 if available.  Is that what is happening?  Check with netstat -tuanp or similar.

Looks like its just an issue with OVH limiting uploads on ipv6, binding it to the ipv4 address gets advertised speeds from my host