spack-stack-1.8.0 release tasks

Tasks for the spack-stack-1.8.0 release:

[x] Create release branches
[x] Install release candidate on a few selected systems for testing. Finalize testing/report back/fix issues by September 6. Suggestion:

[x] Hera (@ratkovasic-noaa)
[x] Nautilus (@climbfuji): /p/work2/heinzell/spack-stack-1.8.0-rc1/envs/* with * being one of:

ue-intel-2021.5.0
ue-gcc-12.2.1
ue-aocc-4.0.0 (incomplete, because many packages don't build with flang)
ue-oneapi-2024.1.2
ne-intel-2021.5.0
ne-gcc-12.2.1
ne-oneapi-2024.1.2
ne-aocc-4.0.0 (incomplete, because many packages don't build with flang)

[x] Discover SCU16 (@srherbener, @ashley314)
[x] Acorn (@AlexanderRichert-NOAA)
[x] Blackpearl (tier-2; @climbfuji)

<EMAIL_ADDRESS>using ifx (incomplete, see #1279; complete with ifort)

[x] Update documentation / prepare changes of documentation to move documentation specific for a specific release to the Wiki: https://github.com/JCSDA/spack-stack/pull/1280
[ ] Roll out release starting September 9, to be completed by September 27. Update site configs and site-specific documentation until September 27.

[x] Acorn (EMC)
[x] Atlantis (NRL) defer to after system maintenance
[ ] AWS-Pcluster (JCSDA, @eap)
[x] Casper (dropped to tier2)
[ ] Derecho (EPIC) (@ratkovasic-noaa): /glade/work/epicufsrt/contrib/spack-stack/derecho/spack-stack-1.8.0/envs/

[ ] ue-intel-2021.10.0 (failing)
[ ] ue-gcc-12.2.0 (failing)

[x] Discover SCU16 (JCSDA, @ashley314)

[x] ue-intel-2021.6.0
[x] ue-gcc-12.1.0

[x] Discover SCU17 (JCSDA, @ashley314)

[x] ue-intel-2021.10.0
[x] ue-gcc-12.3.0

[x] Gaea C5 (EPIC) (@ratkovasic-noaa): /ncrc/proj/epic/spack-stack/spack-stack-1.8.0/envs/

[x] ue-intel-2021.9.0 (failing)

[x] Gaea C6 (EPIC) (@ratkovasic-noaa): /ncrc/proj/epic/spack-stack/c6/spack-stack-1.8.0/envs/

[x] ue-intel-2021.10.0 (failing)

[x] Hera (@ratkovasic-noaa): /contrib/spack-stack/spack-stack-1.8.0/envs/

[x] ue-intel-2021.5.0
[x] ue-gcc-9.2.0

[ ] Hercules (EPIC) (@ratkovasic-noaa): /work/noaa/epic/role-epic/spack-stack/hercules/spack-stack-1.8.0/envs/

[ ] ue-intel-2021.9.0 (failing)
[ ] ue-gcc-12.2.0 (failing)

[x] Jet (EPIC) (@ratkovasic-noaa): /contrib/spack-stack/spack-stack-1.8.0/envs/

[x] ue-intel-2021.5.0

[x] Narwhal (NRL)

[x] ne-intel-2021.10.0
[x] ue-intel-2021.10.0 (chained from ne-intel-2021.10.0)
[x] ne-gcc-10.3.0
[x] ue-gcc-10.3.0 (chained from ne-gcc-10.3.0)
[x] readthedocs updated
[x] wiki updated
[x] chmod

[x] Nautilus (NRL)

[x] ne-intel-2021.5.0
[x] ue-intel-2021.5.0 (chained from ne-intel-2021.5.0)
[x] ne-oneapi-2024.2.1
[x] ue-oneapi-2024.2.1 (chained from ne-oneapi-2024.2.1)
[x] ne-gcc-12.2.1
[x] ue-gcc-12.2.1 (chained from ne-gcc-12.2.1)
[x] readthedocs updated
[x] wiki updated
[x] chmod

[ ] Parallelworks EPIC (aws, azure) (@ratkovasic-noaa)
[ ] Parallelworks JCSDA (gcloud; still alive? @fmahebert)
[ ] Orion (EPIC) (@ratkovasic-noaa): /work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.8.0/envs/

[ ] ue-intel-2021.9.0 (failing)
[x] ue-gcc-12.2.0

[x] S4 (JCSDA, @srherbener) defer to after system maintenance
[x] Sandy (NRL) defer to after system maintenance

[ ] Draft release notes
[ ] Tag spack submodule, update .gitmodules and spack submodule pointer in spack-stack, tag spack-stack
[ ] Publish release on Friday, September 27

Started working on Hera. It concretized OK.
Installation in under way. There is one problem with crtm_fix:
==> Installing crtm-fix-<IP_ADDRESS>_emc-al2juhzkilqssvyg75jsni664uhcknls [21/291]
==> No binary for crtm-fix-<IP_ADDRESS>_emc-al2juhzkilqssvyg75jsni664uhcknls found: installing from source
==> Error: FetchError: All fetchers failed for spack-stage-crtm-fix-<IP_ADDRESS>_emc-al2juhzkilqssvyg75jsni664uhcknls
==> Warning: Skipping build of crtm-<IP_ADDRESS>-fvusealmjzqzvr2tjoe7b4gfxkhfil4x since crtm-fix-<IP_ADDRESS>_emc-al2juhzkilqssvyg75jsni664uhcknls failed

I saw this on Jet as well. It looks like we cannot  access crtm-fix-<IP_ADDRESS>_emc.

Can you try to rerun the install for crtm-fix with spack -d install ... - that might give you more information. If you can't access those files from hera (which shouldn't be the case), then you can try to create a mirror on another machine and update the spack source-cache on hera.

Can you try to rerun the install for crtm-fix with spack -d install ... - that might give you more information. If you can't access those files from hera (which shouldn't be the case), then you can try to create a mirror on another machine and update the spack source-cache on hera.

Didn't try for crtm-fix, but there are others that failed with "All fetchers failed", but when I tried to download them manually on Hera, download was OK.

@climbfuji I'm going to start the build on Discover SCU16. Where do I place the release candidate, and what do I name it? Perhaps: /gpfsm/dswdev/jcsda/spack-stack/scu16/spack-stack-rc-1.8.0

I use spack-stack-1.8.0-rc1 but it's up to you of course. If the path is longer than the final spack-stack-1.8.0 install, then you can use the release candidate to create a binary cache and install from it when you do the final 1.8.0 install.

Thanks @climbfuji. I just wanted to make sure I'm following a best practice. Not sure I understand your comment about the binary cache. I created /gpfsm/dswdev/jcsda/spack-stack/scu16/spack-stack-rc-1.8.0 and will that satisfy the requirement to be able to use the binary cache for the final install?

If you use the same names for the environments, then yes. spack-stack-1.8.0 has three characters less than spack-stack-rc-1.8.0.

Hera:
installed ue-intel (had to use mirror from Hercules):

@RatkoVasic-NOAA I am confused a bit - because of the recent changes to how we build ecflow, I was expecting site config and documentation updates for Hera - removal of external ecflow, addition of external qt5 if not already there, etc. See #1257

I am building the release candidates on Discover SCU16, and @ashley314 will test these.

[x] GCC: /gpfsm/dswdev/jcsda/spack-stack/scu16/spack-stack-rc-1.8.0/envs/ue-gcc-12.1.0
[ ] Intel: /gpfsm/dswdev/jcsda/spack-stack/scu16/spack-stack-rc-1.8.0/envs/ue-intel-2021.6.0

Checked box means the environment is ready to test.

I am building the release candidates on Discover SCU16, and @ashley314 will test these.

[x]  GCC: /gpfsm/dswdev/jcsda/spack-stack/scu16/spack-stack-rc-1.8.0/envs/ue-gcc-12.1.0
[ ]  Intel: /gpfsm/dswdev/jcsda/spack-stack/scu16/spack-stack-rc-1.8.0/envs/ue-intel-2021.6.0

Checked box means the environment is ready to test.

Just want to double-check that you made the ecflow/qt5 changes (see #1257)?

Sorry I didn't add ecflow to the config - too many things going on at once. I'll go do that now.

We don't want ecflow in the site configs. We want only qt@5 so that spack-stack builds ecflow.

Therefore, we can likely remove the external miniconda and ecflow dependencies for spack-stack, too.

Whether you then need a module use /some/path/to/jedis/modules at all or not depends on where the qt and mysql are coming from.

@ashley314 Discover SCU16 gcc environment is now ready for testing. It includes ecflow in the stack (and qt@5 is an external package).

@ashley314 Discover SCU16 gcc environment is now ready for testing. It includes ecflow in the stack (and qt@5 is an external package).

Discover SCU16 Intel environment is now ready for testing.

@DavidHuber-NOAA Yes, as soon as we install 1.8.0 on those machines. Some of them are ready for addons (Hera and Jet).

@DavidHuber-NOAA I added GSI addon to Hera spack-stack-1.8.0:
/contrib/spack-stack/spack-stack-1.8.0/envs/gsi-intel-2021.5.0/install/modulefiles/Core
Notice some name changes.
Also, here are changes for GSI modulefiles:
gsi_hera.intel.lua:
prepend_path("MODULEPATH", "/contrib/spack-stack/spack-stack-1.8.0/envs/gsi-intel-2021.5.0/install/modulefiles/Core")
local python_ver=os.getenv("python_ver") or "3.11.7"
local stack_impi_ver=os.getenv("stack-intel-oneapi-mpi") or "2021.5.1"
local cmake_ver=os.getenv("cmake_ver") or "3.28.1"

gsi_common.lua:
local bufr_ver=os.getenv("bufr_ver") or "12.1.0"
local ip_ver=os.getenv("ip_ver") or "5.0.0"

Please make sure all site config and documentation updates are in the spack-stack release branch (incl the readthedocs documentation if applicable) and in https://github.com/JCSDA/spack-stack/wiki/spack‐stack‐1.8.0-release-documentation - THANK YOU!

@DavidHuber-NOAA Just finished GSI addon on Jet:
/contrib/spack-stack/spack-stack-1.8.0/envs/gsi-intel-2021.5.0/install/modulefiles/Core
Exactly same changes to Jet modulefiles like for Hera.

Great, thank you @RatkoVasic-NOAA!

FYI, I found a typo for discover-scu17 in configs/sites/tier1/discover-scu17/packages_intel.yaml.
-    - spec: intel-oneapi-mkl<EMAIL_ADDRESS>+    - spec: intel-oneapi-mkl<EMAIL_ADDRESS>

FYI, I found a typo for discover-scu17 in configs/sites/tier1/discover-scu17/packages_intel.yaml.
-    - spec: intel-oneapi-mkl<EMAIL_ADDRESS>+    - spec: intel-oneapi-mkl<EMAIL_ADDRESS>

Please create a PR for release/1.8.0 with all changes needed for the discover platforms. Thanks!

@DavidHuber-NOAA Current list of gsi addons to 1.8.0:
Hera: /contrib/spack-stack/spack-stack-1.8.0/envs/gsi-intel-2021.5.0/install/modulefiles/Core
Jet: /contrib/spack-stack/spack-stack-1.8.0/envs/gsi-intel-2021.5.0/install/modulefiles/Core
Gaea-C5: /ncrc/proj/epic/spack-stack/c6/spack-stack-1.8.0/envs/gsi-intel-2021.10.0/install/modulefiles/Core
Gaea-C6: /ncrc/proj/epic/spack-stack/spack-stack-1.8.0/envs/gsi-intel-2021.9.0/install/modulefiles/Core


12 test coverage

note to release manager - delete the badge pointing to my branch in the readme

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@575ff77). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #21   +/-   ##
=========================================
  Coverage          ?   20.68%
=========================================
  Files             ?       18
  Lines             ?      203
  Branches          ?       21
=========================================
  Hits              ?       42
  Misses            ?      145
  Partials          ?       16

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 575ff77...e73be7b. Read the comment docs.


Inconsistency in results

The TD LSTM gives very inconsistent results everytime we train the model. What is the protocol used for reporting the results. Do we run it multiple times and report the best test accuracy?

Hi @divamgupta thanks for the interest !
I have experienced the same inconsistency in performance, thus why I didn't report the result of TDLSTM on our multi-target election corpus in our EACL 2017 paper. As for the single-target corpus, we included the result that was reported in Tang's original TDLSTM paper (rather than what we obtained ourselves using out reimplementation code).
The same issue has been reported by the others, not only for TDLSTM but also other DL networks, possibly due to the lack of training data: Link 1 and Link 2.
Do you get different results using the same initialisation weights and parameters, and the same random seeds?

On different machines, we get different results even with the same initialization weights and parameters, and the same random seeds. So this makes the paper non-reproducable.
Is it a valid protocol to run the model multiple times and report the best results?

Hmm, this is what the others reported as well. I am not the author of the TDLSTM or TCLSTM paper, and in my paper I only included their reported result. Have you tried this implementation version of TDLSTM: https://github.com/scaufengyang/TD-LSTM? Please let me know if you get more consistent result using this code, so I know whether or not the issue lies in my implementation.


ImageWidget sometime missing when WIDGET_UPDATE trigger

On first time added widget to screen, ImageWidget working, but when i close my app and WIDGET_UPDATE trigger so ImageWidget is not working. my source image is src/assets/images/widget2.png
Thanks for any help!
case 'WIDGET_UPDATE':       props.renderWidget(         <Widget {...widgetInfo} />       )       break;
  `<ImageWidget
           image={require('../../assets/images/widget2.png')}
           imageWidth={imageWidth}
           imageHeight={imageHeight}
           radius={10}
  />`

Do you get an error in the console?
Is your app running in production mode, or development mode?
If you are working in development mode, the server must be started, but I'm not sure if images will load when app is killed.
For production mode it should work.

Reopen the issue if you still have the problem in production mode.


Operator does not work on Openshift 4.8

I have attempted to install this Operator on two different Openshift 4.8 platforms.  Both of them give authentication failed when logging into the "virt" route after creating the forklift controller.  I did validate that I was a part of the cluster-admin group when verifying.

@dondsmithtx, which version of the operator have you used? On OpenShift 4.8, we only tested Forklift 2.1.0.

I'm trying 2.1.0  and I also tried 2.0.0.  I did find an error in the Forklift UI container log:
Access Token Error Client request error: unable to verify the first certificate
I tried our Kibana endpoint which uses the same credentials and it is still working.

I'm going to close this issue as it is UI specific. I opened an issue in forklift-ui with a different username.


Update buffer on change

This branch should hopefully provide performance improvements, while also fixing issues raised in #736
Currently, almost all requests to the server contain the full buffer contents, keeping the server synchronised with the editor. However in very large buffers, this can cause understandably slow server interactions.
We recently stopped sending the buffer contents along with highlighting requests, and this PR also drops the buffer contents from diagnostic requests. Instead, autocmds are used to explicitly update the server buffer contents after the buffer has been edited.
The highlighting autocmds are also moved from plugin/OmniSharp.vim to ftplugin/cs/OmniSharp.vim, which gives 2 benefits:

Vim initialisation is improved - there is no need to create highlighting autocmds for sessions that do not include .cs files
It is possible to change g:OmniSharp_highlighting during a session, meaning highlighting can be enabled/disabled or made more or less agressive (by increasing or lowering the g:OmniSharp_highlighting value) while editing

Hi @DasOhmoff, I'm just moving our conversation from #736 in here.
I couldn't exactly reproduce the issue you were describing here but I think that this last commit might sort it out. Would you mind giving it a go please?

Hey, I tested it out. I think it is working fine! I could not find any problems until now.

Rebased on to master. I'll run this branch locally for another day or 2 before merging, to make sure everything is working smoothly


Bug: The method can in Group Entity is always false if a group has permissions defined by a wildcard.

PHP Version
8.1.14
CodeIgniter4 Version
4.3.2
Shield Version
dev-develop
Which operating systems have you tested for this bug?
macOS
Which server did you use?
cli-server (PHP built-in webserver)
Database
MariaDB 10.2
Did you customize Shield?
No
What happened?
Method in Group entity can is always false if group has permissions defined with *.
Steps to Reproduce
For example superadmin:
        'superadmin' => [
            'admin.*',
            'users.*',
            'beta.*',
        ],

    /**
     * Determines if the group has the given permission
     */
    public function can(string $permission): bool
    {
        $this->populatePermissions();

        return in_array(strtolower($permission), $this->permissions, true);
    }

can method  use populatePermissions method to get permissions.
/**
     * Loads our permissions for this group.
     */
    private function populatePermissions(): void
    {
        if ($this->permissions !== null) {
            return;
        }

        $this->permissions = setting('AuthGroups.matrix')[$this->alias] ?? [];
    }

and $this->permissions will return array like:
       [
            'admin.*',
            'users.*',
            'beta.*',
        ]

So for example if we use $group->can('users.admin.access')
in_array(strtolower('users.admin.access'),  [ 'admin.*', 'users.*', 'beta.*'], true);

can method will return false.
Expected Output
Include in can method also permissions with * specified.
Anything else?
No response

@jozefrebjak  I don't understand what you mean, can you send a simple example of table data and sample code for review.
What do you mean by $group->can('users.admin.access')? Where in the documentation have we used this?

@jozefrebjak I don't understand what you mean, can you send a simple example of table data and sample code for review.
What do you mean by $group->can('users.admin.access')? Where in the documentation have we used this?

@datamweb You can see an example here. I'm building a similar UI interface in my project.
As you can see, there is just a simple check if a group can access a specified permission and there is an issue with groups where we use the wildcard, because it's checking the exact match now. I fixed this behaviour in https://github.com/codeigniter4/shield/pull/649


fix(core): Don't store eds if its hash already exists in eds.Store

Resolves #1785
Based on #1778
TODO:

[ ] ideally a test that can do duplicate blocks

Also will fix https://github.com/celestiaorg/celestia-node/issues/1784

Unit test failure due to a known issue with temp dir cleanup (celestia-app)


Warnings following the migration of FocusComponents

Component: Button
 : Warning: Button: prop type `handleOnClick` is invalid; it must be a function, usually from React.PropTypes.

Warning: Failed propType: Invariant Violation: Button: prop type `handleOnClick` is invalid; it must be a function, usually from React.PropTypes. Check the render method of `Dropdown`.

Component : Icon:
Warning: Icon: prop type `handleOnClick` is invalid; it must be a function, usually from React.PropTypes.

Component : Select:
Warning: Select: prop type `onChange` is invalid; it must be a function, usually from React.PropTypes.

Component: Popin:
Warning: popin-overlay: prop type `show` is invalid; it must be a function, usually from React.PropTypes.

Component: Detail:
Warning: Failed propType: checker is not a function Check the render method of `ContactView`.

Component Field:
Warning: Failed propType: Invalid prop `labelCellPosition` of value `top` supplied to `<<anonymous>>`, expected one of ["string","number"]. Check the render method of `mesInfos`.

Warning: Failed propType: Invalid prop `contentCellPosition` of value `top` supplied to `<<anonymous>>`, expected one of ["string","number"]. Check the render method of `mesInfos`.

Pele-Mele:
Warning: React.unmountComponentAtNode is deprecated. Please use ReactDOM.unmountComponentAtNode from require('react-dom') instead.
Warning: Failed propType: Invalid prop `backToTopComponent` of type `function` supplied to `advanced-search`, expected `object`. Check the render method of `exports`.
Warning: Failed propType: Invalid prop `orderableColumnList` of type `array` supplied to `advanced-search`, expected `object`. Check the render method of `exports`.
Warning: Failed propType: Invalid prop `exportAction` of type `object` supplied to `advanced-search`, expected `function`. Check the render method of `exports`.
Warning: Failed propType: Invalid prop `groupComponent` of type `function` supplied to `advanced-search`, expected `object`. Check the render method of `exports`.
Warning: Failed propType: Invalid prop `scopeList` of type `object` supplied to `list-summary`, expected `array`.
Warning: Failed propType: Invalid prop `operationList` of type `object` supplied to `selection-list`, expected `array`.
Warning: Failed propType: Invalid prop `operationList` of type `object` supplied to `exports`, expected `array`. Check the render method of `selection-list`.
Warning: Unknown DOM property placeHolder. Did you mean placeholder?
Warning: ReactDOMComponent: Do not access .getDOMNode() of a DOM node; instead, use the node directly.


Asynchronous Failure from Bash App Function

Suppose I submit a Parsl script with four bash app functions running in parallel on ALCF Theta. Suppose my first bash app function errors out. Will it cut off the progress of the other tests? Or will each of them run asynchronously and either complete or also error out? In other words, once one of the function hits a fatal error, will it kill progress on the other functions?
It appears this may be what happened for me. Any thoughts on how to fix that?
Yadu also mentioned that it is likely the case that the default behavior of the scheduler is to shut down if any aprun failed, and that there may be a workaround for this.

Hi Marcus, Could you try adding a -C flag to the aprun command in your app script ?
It is possible that if a task launched with aprun fails on a worker, that worker may not be able launch another aprun task to fill that slot. I've seen something vaguely reminiscent. This may not matter to you since you are not re-using workers for now. Just something to keep in mind.

Hi @yadudoc ,
I was in the queue all yesterday, can try that again today with the '-C' flag.
One other observation from my latest run. It appears that one of the four processes finished long before the other tree did. When that one finished, it looks like it ended all of the other tasks in progress. Will the -C flag also help resolve that, the same that it would if one of the tasks generates an error?
Thanks,
Marcus

So after rerunning with the '-C' flag on all of the aprun commands, it appears that everything went pretty well. I think that's solved the problem for now. Thanks!


Add support for OBIEE and ODVD Oracle products

This PR adds DynamicDBFeatures.INI specific for Dremio.
DynamicDBFeatures.INI is specific for certain Oracle BI products:

Oracle Business Intelligence EE (OBIEE)
Oracle Data Visualization Desktop (ODVD).

(this might be also used by Oracle BI Publisher, but I'm not sure)
Above Oracle products officially don't support Dremio, so DynamicDBFeatures.INI file is used to list what certain SQL features of a generic ODBC/JDBC datasource are supported. So these Oracle BI products can generate valid SQL queries for those backends. (like if certain subqueries are supported, what analytic functions are available etc).
List of changes I did for Dremio compared against all-defaults "generic-ODBC" data source (taken from OBIEE) can be found here:
https://github.com/Tagar/dremio-oss/commit/0c671cf6649fb79526cb52156ec5d63ea8867d2e
I let Anthony Lee and William Kent know that I will be submitting this PR.

This PR adds DynamicDBFeatures.INI specific for Dremio.
DynamicDBFeatures.INI is specific for certain Oracle BI products:

Oracle Business Intelligence EE (OBIEE)
Oracle Data Visualization Desktop (ODVD).

(this might be also used by Oracle BI Publisher, but I'm not sure)
Above Oracle products officially don't support Dremio, so DynamicDBFeatures.INI file is used to list what certain SQL features of a generic ODBC/JDBC datasource are supported. So these Oracle BI products can generate valid SQL queries for those backends. (like if certain subqueries are supported, what analytic functions are available etc).
List of changes I did for Dremio compared against all-defaults "generic-ODBC" data source (taken from OBIEE) can be found here:
Tagar@0c671cf
I let Anthony Lee and William Kent know that I will be submitting this PR.

Hi Tagar,
Can you share how to use this INI file? And how to do the setup on oracle OBIEE and ODV to connect to Dremio ?
Thank you
Tanaka M


Update README.md

updated docker-compose to docker compose ( with a space)
Suggesting the migration of compose to V2, as per https://docs.docker.com/compose/releases/migrate/
The docker compose (with a space) is a newer project to migrate compose to Go with the rest of the docker project. This is the v2 branch of the docker/compose repo.
The original python project, called docker-compose, aka v1 of docker/compose repo, has now been deprecated and development has moved over to v2. To install the v2 docker compose as a CLI plugin on Linux, supported distribution can now install the docker-compose-plugin package.

Hi @MauricioMoldes. Thanks for the PR! Please, can you extend this command update to the rest of the README file, so we have all the entries modified at once?


⚠ Bofrost.de has degraded performance

In 2109ecb, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1270 ms

Resolved: Bofrost.de performance has improved in 19d7ef2.


What is the shortcut key or how do I assign it?

I looked at the docs and it just says "Use the assigned shortcut key" or something to that effect, but it isn't clear to me what that is or how to assign it. A little help?

For others getting here via search, the current shortcut is shown and editable in the Copilot panel that is added when enabling the plugin:


Where's the zip?

Is it just me, or is there no zip?

Not just you :) i wanted to implement it but then my wife went into labor so have all craziness around that now :) hope i will be able to make adjustments soon!

Woah awesome, congratulations! Take your time :D

@roblack  Just wanted to say a great many thanks for doing some archiving - it's an awesome effort that'll be appreciated for a long time to come.
Is there anything I / we can do to help archive stuff? Exporting things, writing up a script, testing something, etc. There's a ton of great info in those lounges, can't wait to dig through it all.

Thank you for offering! I actually found a neat way to pull all the info from the lounges, so will be posting the JSONS online soon.
After that, we need to format them all, any assistance is welcomed, I just need ti to figure out the best way to do it.
I want to make it really easy and straightforward to use, let me know if you have any ideas!
Will be using MKDocs maybe 🤷♂


Update azuredeploy.json

Added error management
Added support for base module parsed entities

Also removed schema enforcing requirement.


Echo tutorial referenced but not present

The documentation has an unresolved reference to an "echo" page, see the "tutorial" link in this section:
https://roburio.github.io/miou/miou/Miou/index.html#daemon-and-orphan-tasks.
https://github.com/roburio/miou/blob/bb5029d1693cac23386c6f2cbce8c3ff879191d2/lib/miou.mli#L192

Yes, it's currently on my computer and I will add it as soon as I can. I will ping you when it's done 👍

The echo tutorial is avaiable here. Thanks for your patience.

Since the organization has been renamed the tutorial is now at https://robur-coop.github.io/miou/miou/echo.html

Fixed, thanks!


Handle colon character in component title

Hi,
Great work on this awesome library!
I recently ran into an issue converting LCSC parts with colons in the name (e.g, C2838450). It appears that KiCad does not allow the colon character in symbol names, thus the generated symbol library cannot be imported.
As an experiment, I went into KiCad and created a symbol with the colon character in the title. To my surprise, this seemed to work without any issues. When I inspected the symbol library, I found that KiCad had inserted the text {colon} in place of the character.
Thus, I added another operation to replace all occurances of : with {colon} in the component title. Now, the generated symbol library appears to load as expected.

Hi,
Very nice catch !
I couldn't find any reference to this in either the Symbol Library File Format or the S-Expression Format documentation.
So I delved into the KiCad source code and discovered the code that handles the escaping of this sequence in the string_utils.cpp file.
Within, additional escape expressions are revealed:
        else if( aContext == CTX_LIBID || aContext == CTX_LEGACY_LIBID )
        {
            // We no longer escape '/' in LIB_IDs, but we used to
            if( c == '/' && aContext == CTX_LEGACY_LIBID )
                converted += wxT( "{slash}" );
            else if( c == '\\' )
                converted += wxT( "{backslash}" );
            else if( c == '<' )
                converted += wxT( "{lt}" );
            else if( c == '>' )
                converted += wxT( "{gt}" );
            else if( c == ':' )
                converted += wxT( "{colon}" );
            else if( c == '\"' )
                converted += wxT( "{dblquote}" );
            else if( c == '\n' || c == '\r' )
                converted += wxEmptyString;    // drop
            else
                converted += c;
        }

I will check this tomorrow and add the missing escape sequences.
Thanks for your PR ;)

Ah, nice catch -- I took a peek in the source as well but didn't find that code block. Sounds good, I will close this PR then!

Available on the 1.0.32 release :)


Update pt_BR.json

Add missing strings

Hello @thiagoeec, I need your help please, to complete your pt_BR translation with recently-introduced locale keys:

Hi, @danielweck. I've created this PR: #65. I this correct?

Brilliant, thank you!


[PT Run] Image cache corrupt

Microsoft PowerToys version
RC v0.56.0
Running as admin

[ ] Yes

Area(s) with issue?
PowerToys Run
Steps to reproduce
Some of the last changes corrupted image cache of PT Run. Icons shown incorrectly.
Maybe after a crash, but I am not sure. Deleting image cache file fixes the bug.
✔ Expected Behavior
Correct image for each entry.
❌ Actual Behavior
Incorrect images.
Other Software
No response
Screenshots

Expected
Actual

@jaimecbernardo , @stefansjfw , @crutkas , @TobiasSekan
I think this is release blocking. We should fix it before releasing v0.56.x !

@stefansjfw
Seems to happen sometimes after crash from #16624.

@stefansjfw

Seems to happen sometimes after crash from #16624.

Regardless of the fact above we should prevent a corrupt image cache or whatever is causing the invalid images.

This looks like it's not a regression though. While it's good to fix it, I don't think it's blocking release.

This looks like it's not a regression though. While it's good to fix it, I don't think it's blocking release.

I will update the prio to 2 and update the lable.

@htcfreek does this still happen? /needinfo

Not sure. Hard to reproduce and debug. let's close.

ok. Just reopen it if it happens again. Thanks!

@stefansjfw
We have a report for v0.78.0 so I reopened the issue.


Updating choco removal

Description
Update to previous PR that removed choco 2.0. The initial code block was unreliable and resulted in weird errors.
Related Issue

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[ ] All commits have been signed-off for the Developer Certificate of Origin.

Superceded by other work


Updated README to include information on the right rust version.

Hopefully this will help prevent other people from making the same mistake that I did.

Hi @ethanpailes, we just updated our "Rust Style" document to include a section of which Rust version we currently use: https://github.com/maidsafe/QA/blob/master/Documentation/Rust Style.md#rust-version
Could you please update your PR to include that link instead? 🙂
I'm thinking that the first sentence could be updated to something like this:

To build and use this module locally you need latest stable Node.js (& npm) and Rust (click here to see which version we currently use).

or feel free to let me know if you have another idea.

@frabrunelle Sure!

Does that work?

yes 🙂

dope


Gtk theme and icons

I want to use a dark theme with light icons, but I've tried oh so many different ones and I don't like any of them. Write my own?

Not needed.


pairing of synology docker version

Hi,
I had ha-bridge running for about 2 years on QNAP native and it worked almost perfect but I want to switch to Synology. Because there is no package I installed linuxserver docker image. I used docker host IP and at the moment Synology host IP and ha-bridge itself is work as I can use the webinterface to control my devices.
I tried pairing Harmony, Alexa and Openhab with all combination of security settings and sometimes new entries in manages links appear BUT it never paired:-( I looked in the log and got a valid user entry, I used this user in Openhab and I had control but only for 15min or so.
I am really out of ideas as everything looks OK but it isn´t
btw. does anyone know an emulator similar to ha-bridge but which emulates a Roku? This would add usage to a Harmony.
Ralf

First I would check the wiki at https://github.com/aptalca/docker-ha-bridge for anything docker as I am not the expert on that. But I would also encourage you to turn on trace upnp on look at the log output as well.

Hi,
I think I am big step further. I gave HA-Bridge a MAC and then openHab paired at once. There is also a step in the correct direction with Alexa because now I see communication but sadly still no pairing. Perhaps you can see the problem.
<IP_ADDRESS>:5065 is HA-Bridge and
<IP_ADDRESS> is the second port of the NAS
<IP_ADDRESS> is the Echo I used for device search.
<IP_ADDRESS> is another Echo
<IP_ADDRESS> is another Echo
<IP_ADDRESS> is another Echo
Ralf
echo.txt

Hi,
I made a big step. MAC was the magic word. After I gave HA-Bridge a MAC Harmony and openHAB paired immediately. Perhaps it should be default.
Ralf

Hi,
Alexa is a bitch:-( She will not pair regardless what I do. Can you take a look at the attached file? It is a log of a pairing attempt.
192.168.278.2 is the Synology. Port 5065 is the port of HA-Bridge.
192.168.278.22 is the 2nd connector of Synology but there is no cable plugged in.
<IP_ADDRESS> is the IP of the docker host.
<IP_ADDRESS> and .37 are 2 of my Harmonies successfully paired with HA-Bridge.
<IP_ADDRESS> and .47 are 2 of my Echos trying to pair.
Ralf
RB-HA-Bridge.txt

Install Docker in DSM and use this project: https://github.com/aptalca/docker-ha-bridge. (Use your Synology IP in the command and a custom port)
docker run -d --name="Home-Automation-Bridge" --net="host" -e SERVERIP="192.168.X.X" -e SERVERPORT="XXXX" -v /path/to/config/:/config:rw -v /etc/localtime:/etc/localtime:ro aptalca/home-automation-bridge
Replace the SERVERIP variable (192.168.X.X) with your server's IP
Replace the SERVERPORT variable (XXXX) with whichever port you choose for the web gui.
Replace the "/path/to/config" with your choice of location
If the -v /etc/localtime:/etc/localtime:ro mapping causes issues, you can try -e TZ="<timezone>" with the timezone in the format of "America/New_York" instead

I get all my stuff working with this way.

MaxPainNL same do but alexa find no bridge devices  port: 81  test it with 8088, 9050, 82 and some others was i found on any sites


Redevelop R Script for Loading CONCEPT_UNIVERSE

In the Negative Prep EVIDENCE.NC_LU_CONCEPT_UNIVERSE.
An approach is to generate this at the raw data update step that Lee does.  I could generate the data and then provide the large file to Lee.

@leeevans how do you bulk load to the server?  Maybe I can do the same?  DatabaseConnector::insertTable() takes too long.

For which db platform?

Happy Birthday @alondhe :1st_place_medal:
I was trying to load to the OHDSI Postgres, it ran for 36 hours and we gave up and @leeevans loaded some other way.

Can I run that from R?  Wondering if I need super permissions to run, not sure what I have.  Do you have an example?

Erica to write out the file to an FTP server for the processing.  Lee to send the location.

Completed in branch ftpUniverse.  Waiting for confirmation from Lee that the file looks okay.


Enable a timeout for Queries

First version of a timeout PR

Implemented RuntimeSettings for anything that is not necessarily a compile-time constant (e.g. Timeout limits)

Moved the ResultTable->finish() call out of the Operation->computeResult(). That way this function does never hold locks and thus can be savely interrupted.

Moved the call to computeResult into a deferred future that does only get a certain time limit. If it is not ready after this limit, we abort the computation.

TODO:

Implement timeout also for the translation of strings to IDs

Shall we handle timeout and abort differently when it comes to caching? E.G. can we extend the limit by executing the query twice?

Add command line flags that allow specifying timeout limits.

The latest changes look great. What do you think about adding a query parameter which overrides the timeout setting? I think something like that would be needed in our setting where we sometimes just need to support very large queries. Of course such a parameter should only be available with a flag since this obviously enables DoS

Retry Deepcode

@joka921 do I remember correctly that this approach turned out not to be viable?


"Secrets" on "Stages"

TL;DR: Let us register a same 'secret' to multiple 'stages' with different values .
DISCLAIMER: This might be out of topic from now-cli, but I personally strongly feel this is a critical issue, therefore I post it here.
Hi,
According to the documentation(https://zeit.co/docs/v2/serverless-functions/env-and-secrets/), secrets are absolutely only identified by there name. However, I believe there are many cases we need separate environments (.e.g .env.development, .env.production, .env.qa ...). If we only depends on CI server, this is OK. But this becomes a problem when using 'Now For Github' app.
For example, let's say my API server needs this env var "DB_ENDPOINT".
{
  "env": {
    "DB_ENDPOINT": "@db-endpoint"
  }
}

And I want to set "@db-endpoint" DIFFERENTLY when deploying by PR and master. On master, I want "@db-endpoint" to be a production database endpoint. On PR or other branches, test db endpoint.
So, I think an introduction of a concept like stage could be one of the possible solutions.
# registers secret "@db-endpoint" for 'prod' stage
now secrets add db-endpoint 'production_value' --stage 'prod'
# registers secret "@db-endpoint" for 'test' stage
now secrets add db-endpoint 'test_value' --stage 'test'

Therefore, we would be able to match the 'prod' stage with master, and 'test' with every other branch or PRs. Of course, users should be able to match them freely and name stages as they please.
So, in conclusion, fine-grained configuration by branch and environment is necessary in order to use now with 'Now For Github', which now thinks the right way of using its platform.
How do you feel?

Thank you for creating this issue!
Please note that – in order for us to be able to handle each feature request with care – we have to consume all of them through a unified pipeline that makes it easier for us to prioritize, track and progress on the features our user base is interested in.
In turn, the Issues tab on this repository is best only be used for reporting bugs, which we can immediately act on.
For well-explained feature requests (like the one you just posted), please contact us at<EMAIL_ADDRESS>so that we can consider adding it to our roadmap.
In the case of your specific feature recommendation, you can rest assured that we're already tracking it on our roadmap and you can expect to see an update on our Twitter account or Blog soon.


GitHub Actions: Be precise about the format

I stumbled across this to add the plain branch name to the Docker push action as a tag, which does not work with
with:
  tags: tillepille/my-image: ${{ github.ref }}

Why:
I tried to get the plain branch name as a variable in my Action. The documentation suggested to me that this is the plain branch name e.g. master but it is in the format of refs/heads/master which isn't applicable as e.g a docker tag.
What's being changed:
Be more precise about the format of the variable.
I added in the form of refs/heads/<BRANCH_NAME> to the explanation.
Check off the following:

[x] All of the tests are passing.
[ ] I have reviewed my changes in staging.
[x] For content changes, I have reviewed the localization checklist
[x] For content changes, I have reviewed the Content style guide for GitHub Docs.

Thanks for opening a PR 👍 Please fill out the pull request template in the top comment in this pull request, then we'll get this up for review!

@janiceilene Sorry, I missed it when opening the mr via whole UI workflow. Filled out, Issue also created

Thanks so much for filling out the template and opening an issue @tillepille 💛 I'll get this triaged for review!


[Question] Can't seem to get my SendOutputs swift binding to work

The error i get is as follows.

Error("cannot deserialize basic output: invalid type: null, expected a sequence", line: 1, column: 454)

Need a second look at my json that i send to SendOutputs
{
  "cmd": "callAccountMethod",
  "payload": {
    "accountId": "cookiemonster",
    "method": {
      "data": {
        "outputs": [
          {
            "type": 3,
            "amount": "2000000",
            "nativeTokens": null,
            "unlockConditions": [
              {
                "type": 0,
                "address": {
                  "type": 0,
                  "pubKeyHash": "0xc6cf27e8d7c54c420c1315f83567c6bd1b5fad7e9ffa83996680f2aedb2ed0be"
                }
              }
            ],
            "features": null
          }
        ],
        "options": {
          "remainderValueStrategy": {
            "strategy": "ReuseAddress",
            "value": null
          },
          "customInputs": null,
          "note": null,
          "taggedDataPayload": null
        }
      },
      "name": "sendOutputs"
    }
  }
}

"nativeTokens": null,
"features": null
Just leaving the fields empty should work

FYI, there is a complete refactoring of the Swift bindings with proper types instead of JSON in the work.

@Thoralf-M

"nativeTokens": null, "features": null Just leaving the fields empty should work

Ok great thanks! Will try that.
@thibault-martinez

FYI, there is a complete refactoring of the Swift bindings with proper types instead of JSON in the work.

Thanks for the heads up, I'm actually just leveraging on the  pub unsafe extern "C" functions in https://github.com/iotaledger/wallet.rs/blob/develop/bindings/swift/src/lib.rs to create C# bindings. Will they still be available after the refactoring?

Can't say for sure right now as it's being done by community member but I would say yes


pythonPackages.cloudflare: init at 2.6.5

Motivation for this change
Using this for my own development and wanted to push it upstream.
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

@GrahamcOfBorg build python2Packages.cloudflare python3Packages.cloudflare python2Packages.auth0-python python3Packages.auth0-python

This worked for me, the bin showed accurate version.

Corrections made.
@GrahamcOfBorg build python2Packages.cloudflare python3Packages.cloudflare python2Packages.auth0-python python3Packages.auth0-python

^ what would have caused this to fail? I only put the urls in quotes since

borg was broken on master, rebase the PR and it should fix it:
git pull -r origin/master
git push .. .. --force

@GrahamcOfBorg build python2Packages.cloudflare python3Packages.cloudflare python2Packages.auth0-python python3Packages.auth0-python

Ready for merge


Add front-end for offence multiples

Introduces JavaScript, CSS and scaffolding markup for offence multiples. This includes a refactoring of the multiples jQuery plugin and associated styles.

I believe this is ready now.


etcd stats reporter

a separate tool that can pull data from etcd server and send to stats servers: graphite/statshat, etc..

we decided to use http://prometheus.io/, which already has this nice features!


Change break-link class name

https://trello.com/c/bcU2s0Zs/33-2-links-in-summary-tables-eg-dos-opportunities-dont-wrap-in-safari-or-chrome
Changing the class name break-link to app-break-link.

We'll need a version bump on this.

It's borderline whether this is a breaking change or not. We specify .break-link as a custom class in the User FE assets, but I don't think we actually use it there (there's no user-generated content requiring the format_links filter in the User FE). So we can probably get away with making this a minor bump?

Yes - .break-link in User FE is unused. I've submitted a PR to remove the _text.scss partial that contains it - since that file is no longer imported.
The only other thing that would be "broken" by this change is the bug on the buyer frontend, for which there's another PR here.


Level 5 ContactCase unable to take in Test due to inheritance

Summary
Level 5 ContactCase unable to take in Test due to inheritance
Description
I'm facing an issue where the constructor for ContactCase is required to take in Person, Test and Case, but due to inheritance extending from Case, the super constructor from Case is required to take in Person and PCR test only. This results in it contradicting the super class as PCR has to be taken in.
From Level 3 to show that only PCR is accepted
jshell> new Case(new Person("A123", "PP", 8), new ART("C"))
|  Error:
|  incompatible types: ART cannot be converted to PCR
|  new Case(new Person("A123", "PP", 8), new ART("C"))
|

From level 5 is able to take in any valid tests
new ContactCase(new Person("B234", "M", 7), new ART("CT"), c)

I did this in ContactCase class --> private static ImList populateTestHistory(Test test)  while i did this in Case class ImList populateTestHistory(PCR test)

You can consider using the other constructors in Case. Eg if you have a constructor that takes in ImList, in the super you can create a new ImList and put the ART test in it.

Thanks all! I did consider using that constructor containing the ImList, but I made it private as I thought it might produce something undesirable with the constructor. I will implement that since it seems I'm stuck 🙃

Oh dear, I didn't realise that making it not private would push two errors instead of the expected one. Does it mean that I should not think of making other constructors not specified in Case right?

I think you should only have 1 constructor in Case that takes in 2 arguments, try to see if you can utilize those constructor with 3 or more arguments if possible. At worst, you can make a new constructor, but that may affect the similiarty for grading.

For me, I implemented a constructor with 3 arguments in the Case class, and selected the protocol in the ContactCase class before calling the parent class constructor

I used a constructor in the Case class taking in a Person, list of results, and protocol; and because you are selecting the protocol in the child (as jingyu said) before calling the parent class, the difference should be quite modest (total changes in around 6 lines).

you cant inherit because pcr is a test but test may not always be a pcr. i created a new constructor for this, might affect similarity marks but i think it would be better to get the job done!

Regardless of adding a new populateTestHistory(Test test) in ContactCase or overloading the constructor of Case, either way could affect the similarity grading. For this case, I think overloading the Case is the easier way to be done.

Thanks all I have managed to complete, really appreciate each one of your guidance 😊


Unable to remove a listener

This line makes it impossible to reach the listener === undefined one.
Apparently there are no tests to cover listeners (add/remove) in the extended version.

I was trying to write some tests and a fix for this, but I'm finding that EventPart.setValue is actually only ever called the first time I render.  Maybe my test setup is wrong, but I'm doing:
render(html`<button on-click=${clickHandler}>foo</button>`, container);
render(html`<button>foo</button>`, container);

My guess is that this is happening because the second render call doesn't have any values?

I was able to trigger the error condition by doing:
render(html`<button on-click=${clickHandler}>foo</button>`, container);
clickHandler = undefined
render(html`<button on-click=${clickHandler}>foo</button>`, container);

After playing around with it a little more, I suspect that it's seeing my original attempt as a new template, so it's re-rendering the entire button again.


Migrate from gtk2 to gtk3 on Linux

Currently, on at least Fedora Linux, the provided rpm has a dependency on gtk2 and ibus-gtk2. With the introduction of gtk4, please consider migrating to at least gtk3 as dependency for the vscode rpm.
In terms of technical feasibility, the relevant packages in Arch Linux has gtk3 as dependency. So, I guess it should be relatively painless to do the same for rpm-based Linux distros.
Here is the AUR package for reference:
https://aur.archlinux.org/packages/visual-studio-code-bin

@Tyriar wasn't this completed as part of https://github.com/microsoft/vscode/issues/47158 ? Where is the gtk2 dependency declared ?

The gtk2 dependency is pulled in because of libgdk-x11.
Here is a snippet from dnf deplist code:
  dependency: libgdk-x11-2.0.so.0()(64bit)
   provider: gtk2-2.24.33-4.fc34.x86_64

thanks for the clarification, looks like it was missed in the previous update. Marking as a bug, should switch to libgdk-3


Support arm64 for 'az ssh arc' commands

Related command
az ssh arc
Is your feature request related to a problem? Please describe.
Support Arm64
Describe the solution you'd like
Running az ssh vm works fine on Apple Silicon, but az ssh arc returns Unsuported architecture: arm64 is not currently supported
Describe alternatives you've considered
Using az ssh vm works for internal IP's, but would need either az ssh arc or a VPN solution for accessing servers outside the network
Additional context
N/A

Hi @yonzhan any update here or possible ETA for a fix? I would really appreciate knowing if a fix is being worked on, thanks!

Hi @yonzhan do you know if there's been any progress or an ETA for this issue?

Is there an update on this issue ?

We would appreciate to have this issue fixed soon, thank you

Hope we get an update on this soon!!

Fix was released last week on version 2.0.3. Please give it a try and let me know if it works for you

Fix was released last week on version 2.0.3. Please give it a try and let me know if it works for you

Have tried it and can confirm it works for me. Thank you for this, its a huge improvement for our team!


JBDS-4463 Bundle Installer fails to install fuse tools

Fix add extra check for bundled files and init downloadedFile location
with bundled file.

test this

Codecov Report

Merging #781 into master will decrease coverage by 0.03%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master     #781      +/-   ##
==========================================
- Coverage   97.79%   97.76%   -0.04%
==========================================
  Files          33       33
  Lines        3084     3259     +175
  Branches      259      464     +205
==========================================
+ Hits         3016     3186     +170
+ Misses         68       65       -3
- Partials        0        8       +8

Impacted Files
Coverage Δ

browser/model/devstudio.js
87.82% <66.66%> (-1.37%)
:arrow_down:

browser/model/jbosseap.js
98.09% <0%> (-1.91%)
:arrow_down:

browser/model/helpers/downloader.js
96.94% <0%> (-1.52%)
:arrow_down:

browser/model/cdk.js
99.22% <0%> (-0.78%)
:arrow_down:

browser/model/jdk-install.js
97.29% <0%> (-0.45%)
:arrow_down:

browser/services/data.js
98.71% <0%> (-0.36%)
:arrow_down:

browser/pages/account/controller.js
100% <0%> (ø)
:arrow_up:

browser/model/cygwin.js
100% <0%> (ø)
:arrow_up:

browser/pages/start/controller.js
100% <0%> (ø)
:arrow_up:

... and 20 more

Continue to review full report at Codecov.

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


Upgrade to v0.14.1 of the DNSimple Terraform Provider

Hello!

Vote on this issue by adding a 👍 reaction
If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details

There have been many releases of the upstream Terraform provider since the last release of the Pulumi provider, the most recent of which is 0.14.1. It has a few new resources (dnsimple_domain, dnsimple_lets_encrypt_certificate), and an updated dnsimple_zone_record, which is slated to replace the now-deprecated dnsimple_record resource, which the current Pulumi provider uses.

Thank you for your report, @christophermaier . We have prioritized this provider for an update.


kapp ls table formatting does not scale well with one app having many namespaces

Example:
Target cluster 'https://<IP_ADDRESS>' (nodes: gke-dk-jan-9-pool-1-d01bcd06-21l3, 4+)

Apps in namespace 'default'

Name  Label                                 Namespaces                                                                                Lcs   Lca
blah  kapp.k14s.io/app=1587172579004452000  -                                                                                -     -
cf    kapp.k14s.io/app=1587232422521640000  (cluster),cf-blobstore,cf-db,cf-system,cf-workloads,cf-workloads-staging,istio-system,kpack,metacontroller  true  1d
foo   kapp.k14s.io/app=1587172618720814000  default                                                                                true  2d

Lcs: Last Change Successful
Lca: Last Change Age

3 apps

Succeeded

in this case cf has at least 8 namespaces and with bigger font it becomes pretty unreadable. we should probably start wrapping them on two lines past 4 namespaces?

fixed by https://github.com/k14s/kapp/commit/979f80f7f361d6c221775a68c0e02434b30c1f32


Agrege 2 cursos en la seccion free-course-es.md uno en sql y otro en git

What does this PR do?
Add resource(s) | Remove resource(s) | Add info | Improve repo
For resources
Description
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[x] Read our contributing guidelines
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction)

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Thanks, and welcome to free-programming-books!


feat: coin98Wallet support

Hey Rainbowkit team,
Opening this PR to support Coin98 Wallet wallet.
Coin98 Wallet is the #1 non-custodial, multi-chain wallet, and DeFi gateway, designed to seamlessly connect users to the crypto world in a safe and secure manner.
Please let me know if there's anything I can do to support this PR and get it merged.
Thanks

@khiemsoft Still seeing some lint issues

@khiemsoft Still seeing some lint issues

Lint fixed, thanks for your suggestion.

Please also enable changes from maintainers

Please also add the wallet connector to the packages/example dApp for testing

It's already been submitted in the latest commit. Thanks for your review.

Please also enable edits from maintainers

it's done. Could you please check it?

When testing the wallet, I wasn't able to confirm a connection and got stuck at this screen:

Does Coin98 support WalletConnect? Currently the projectId is accepted, but the WalletConnectConnector is not implemented and mobile and qrCode params are not returned in the connector creator.

When testing the wallet on Chrome, I wasn't able to confirm a connection and got stuck at this screen:

Maybe you click outside the modal and it disappears like this video. Could you please test this by opening the modal state only, not full screen like this?
https://github.com/rainbow-me/rainbowkit/assets/87562184/262b8fb8-a926-4ca2-8067-92cde9e9bea8

Does Coin98 support WalletConnect? Currently the projectId is accepted, but the WalletConnectConnector is not implemented and mobile and qrCode params are not returned in the connector creator.

It's already been submitted in the latest commit. Thanks for your review.

@khiemsoft This is the flow I'm testing. Please QA against this dApp deployment: https://rainbowkit-example-o00ljxf68-rainbowdotme.vercel.app/

@khiemsoft This is the flow I'm testing. Please QA against this dApp deployment: https://rainbowkit-example-o00ljxf68-rainbowdotme.vercel.app/

Hi, this is our re-test video. Could you please record a video or something like that so I can re-test this bug? Thanks for your review. @DanielSinclair
https://github.com/rainbow-me/rainbowkit/assets/87562184/15cdeaaf-3049-4ff1-9020-06a8e5c88005

@khiemsoft Here is a video displaying the issue. I'll merge this PR, but there is an outstanding issue with the wallet that prevents connections and signatures.
https://github.com/rainbow-me/rainbowkit/assets/4412473/7810aa5c-f5c9-4d60-9247-500844d9df7a

@khiemsoft There also appears to be an issue with WalletConnect support. Please test against the example dApp deployment and reference the console errors returned by WalletConnect.


Fix v1 local-auth test

Fixed this in v2 tests, but not v1
see d099b0af440dbdb8359e947fdddc5b698cf8a272 for details on original
fix.

Implied LGTM from previous merge of sister change in https://github.com/rancher/cattle/pull/2271


Should use nix crate

I think this crate should use the nix crate.
They already provide safe bindings to termios and ioctl and we should avoid to split the effort.
I'm trying to use your crate on an Android application and I think it should be more easy with the nix crate as they provide support for Android (it seems there is a bug now on android either in libc or in nix, but it should be fixed).
I hope you'll be open for discussing this point.
Thanks

Some people may be interested that someone forked that crate to create serialport which use nix internally and supports then more platforms than this crate.
Moreover, it implements enumeration of serial devices.

No, thank you. nix would add more dependencies for the same functionality, which is contrary to my goals.
If you're experiencing issues, please file a bug with some details. It's not clear from your description whether or not you're having issues with Android. I've not used Android myself, but I believe others have had success with it.

The problem is just that termios-rs use #[cfg(target_os = "linux")] which does not include android. So all definitions are missing.
I didn't say it's difficult to make it compile on Android, but we depends on you to make that move.
My issue was about resolving the real issue: the split of effort for binding an API for the most platforms possible.
One implementation could already have added a platform while the other not, if you're depending on the wrong one, it's just a pity that we cannot all enjoy this work.
I do not blame your work, nix probably lacks some of your features also. I just don't understand the impossibility of talking here.
So, following your advice, here is the issue you probably want to read: there is no ::os::target module for Android in termios-rs.
Cheers.


Port FileInfo::getInfoForPath to Windows

Windows does expose an implementation of stat(2). However, there is no equivilent of lstat(2).
This means that we have to dig into the Windows SDK to get this functionality.
Unfortunately, few Windows APIs give you the ability to customize what to do with a symlink. CreateFile is an exception:

If FILE_FLAG_OPEN_REPARSE_POINT is specified:
If an existing file is opened and it is a symbolic link, the handle returned is a handle to the symbolic link.
If TRUNCATE_EXISTING or FILE_FLAG_DELETE_ON_CLOSE are specified, the file affected is a symbolic link.
If FILE_FLAG_OPEN_REPARSE_POINT is not specified:
If an existing file is opened and it is a symbolic link, the handle returned is a handle to the target.
If CREATE_ALWAYS, TRUNCATE_EXISTING, or FILE_FLAG_DELETE_ON_CLOSE are specified, the file affected is the target.

This allows us to get information about the file. However, we then have to convert the data into a format that llbuild likes (based on the struct stat).
This involves converting a FILETIME into seconds and nanoseconds since 1970, and adapting the information to fit the layout of the struct stat.
I've only converted the information we actually use in FileInfo. Windows has no concept of inode, so this is always zero.
I don't think this affects anything, because inode seems only to be used for dumping.
Also Fixes an MSVC warning (implicit conversion to true/false from int)

@ddunbar is it worth extracting this to the new PlatformUtilities file? Not sure, considering this is the only place we use this kind of code.

I'm fine leaving this here, as FileInfo's purpose is really to abstract over the platform differences in any case.

@swift-ci please smoke test

I've updated the PR to address your comments :)


Inputting an API key while audio is playing breaks the audio panel

It will restart the audio and the playhead will go wild. This is quite strange given that the audio panel doesn't interact with the API key at all, but I think it might have to do with the useEffect hook? In theory it should only be called when the audio file is updated, not the API key, but that is the only thing I can think of since the Audio Panel is inside of the Transcript Panel which does interact with the API key.

It is indeed useEffect causing the issue.

The issue was that the transcript panel was responsible for generating the audio URL string from the audio file to be passed to the audio panel. Each time the transcript panel would re-mount due to changes in the API key, it would generate a different URL (even though it was referencing the same file). Having the transcript panel pass the audio as a file to the audio panel and then having the audio panel be the one to generate the URL fixes the issue. Although this does make me wonder if it is really necessary for the API key to be re-rendering the transcript panel every time it is updated. Might be better to make it useRef? Something to look into.


Improve runtests

split results dir into separate, per-version dirs
store entire log output to output.log
store logs of failed test to failed.log
store skipped tests to skipped.log
include "DONE" and the next line (such as "ERROR ending test run because max failures was reached") in test summary

Please review only the last commit ("Improve runtests.sh"). The other two are in #506 and #507.
/hold until #506 and #507 are merged


obs-studio: 29.0.2 -> 29.1.3

Description of changes

update to 29.1.3 (Changelog)

Closes #242636
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Maintainers:
@jb55
@MP2E
@miangraham

Duplicate of https://github.com/NixOS/nixpkgs/pull/242814


metadata::is_dir() currently is a copy of is_file(). change it so it actually tests if the type is Dir.

I've also added some simple tests to metadata, these don't cover permissions & symlink. For those, I'd likely need to add tempdir to dev-dependencies and create the files to test.

Wow. Good catch. Thanks!

Released as v0.1.4.


Display decoded pyblicKey.content

In addition to just displaying the JSON that results from the Rekor entry, it'd be nice to be able to decode certain fields into something human-readable when present. Specifically, the publicKey.content field when it's a certificate.

Alright - we have a demo version here: https://rekor-search-ui-git-fork-pdeslaur-x509.chainguard.app
We'll get that merged tomorrow.


Handle descriptor field from FragSessionSetupReq at application level

The following pull request proposes a logic to add a callback into the frag_transport module so that , at application level, the fuota process can be aborted if Descriptor field sent from FragSessionSetupReq does not meet the application conditions to keep going.
Here is an excerpt of what the Fragmented Data Block Transport TS004-1.0.0 stated about this field:

The logic implemented has been similar to the one used in the module lorawan when external callbacks are added for example to obtain the battery level of devices.
Also, an extra piece of code has been added in lorawan fuota sample to illustrate how to use it.

@JordanYates, @martinjaeger, @kartben  may you please check this?

Hi, I would like if somebody can take a look at this. I would like the label "stale" to be removed.

Sorry for the delay with the review. Somehow missed it on my todo list. I removed the Stale label and will take a look ASAP.

@martinjaeger thanks so much for taking care of this. Let me know if you need some rebase here for you to test, the issue has been inactive for more than one month and I think it was created over the time of releasing new zephyr version.


Issue with Store.executeWithEnvironment, docs outdated?

I am trying to run SPARQL queries on the union of all named graphs, providing a defaultDataset like the README shows. This doesn't seem to work. If I construct the dataset with objects
{
token: "uri",
value:<graph-uri>
}

It ends up being wrapped in another object of similar shape and ultimately fails at https://github.com/antoniogarrote/rdfstore-js/blob/master/src/utils.js#L90. Defining a dataset with plain strings in an array does not throw an exception but also yields an empty result. Am I doing something wrong or is this a known issue?

Quick update:
I derived the named graphs dataset from Store.registeredGraphs and that list contained duplicates. QueryPlanDPSize.executeBGPDatasets fails silently if https://github.com/antoniogarrote/rdfstore-js/blob/master/src/query_plan.js#L460 evaluates to false.

I am trying to run SPARQL queries on array of NamedGraphs as shown in the README document. I am still experiencing the issue as mentioned in this issue. I am getting error in at this line: https://github.com/antoniogarrote/rdfstore-js/blob/master/src/utils.js#L90
I saw an update has been made to fix this issue since the issue posted and merged to master but not sure that if README has been updated to reflect that.
I will appreciate any idea on this issue.
For reference here is the details of the example I am trying:
var defaultGraph = []
var namedGraphs  = [{'token':'uri', 'value': 'http://example.org/bob'}, {'token':'uri',' value': 'http://example.org/alice'}]
store.executeWithEnvironment("SELECT * { ?s ?p ?o }", defaultGraph, namedGraphs, function(err, results) {
if(err) {
// process results
}
console.log("results: ", results)
})
From registeredGraphs, I am getting these two named graph: [ 'http://example.org/alice',
'http://example.org/bob' ]
The error I am getting as follows:
/Users/smruti/gitrepo/rdfNidm/node_modules/rdfstore/src/utils.js:90
if(uri.indexOf(":") == -1) {
^
TypeError: uri.indexOf is not a function
at Object.lexicalFormBaseUri (/Users/smruti/gitrepo/rdfNidm/node_modules/rdfstore/src/utils.js:90:16)
at QueryEngine.normalizeTerm (/Users/smruti/gitrepo/rdfNidm/node_modules/rdfstore/src/query_engine.js:350:25)
at /Users/smruti/gitrepo/rdfNidm/node_modules/rdfstore/src/query_engine.js:402:18
at iterate (/Users/smruti/gitrepo/rdfNidm/node_modules/rdfstore/src/utils.js:377:9)
at Object.eachSeries (/Users/smruti/gitrepo/rdfNidm/node_modules/rdfstore/src/utils.js:393:5)
at QueryEngine.normalizeDatasets (/Users/smruti/gitrepo/rdfNidm/node_modules/rdfstore/src/query_engine.js:397:11)
at QueryEngine.executeSelect (/Users/smruti/gitrepo/rdfNidm/node_modules/rdfstore/src/query_engine.js:752:14)
at QueryEngine.executeQuery (/Users/smruti/gitrepo/rdfNidm/node_modules/rdfstore/src/query_engine.js:642:14)
at QueryEngine.execute (/Users/smruti/gitrepo/rdfNidm/node_modules/rdfstore/src/query_engine.js:618:22)
at Store.executeWithEnvironment (/Users/smruti/gitrepo/rdfNidm/node_modules/rdfstore/src/store.js:217:17)


Reordered <IP_ADDRESS> to be below <IP_ADDRESS> in the changelog

Description
Changelog entry for <IP_ADDRESS> was higher than <IP_ADDRESS>, swapped these two so that <IP_ADDRESS> was above <IP_ADDRESS> to keep the versions ordered properly.
Testing instructions
N/A
Checklist

[Y] Review label added
[Y] PR pointed to correct branch (main for immediate publishing, or a release branch: e.g. release/gateway-3.2, release/deck-1.17)

@d19dotca , nice catch - thank you!


--location  option to open the map at a particular spot.

The problem
It would be great to be able to open the map to a particular spot instead of needing to zoom in from the top level.

Proposed solution
--location  Either a city name (can probably use a google map service to get a x /y coordinate) or an x/y explicitaly.

Alternative solutions

Additional context

these already exist :P my bad.


Commenting out failing parent test

What type of PR is this?
What does does this PR do / why we need it:
Due to dependency in https://github.com/openshift/odo/issues/3638 and also since the registry is updated.
Which issue(s) this PR fixes:
Fixes NA
PR acceptance criteria:

[ ] Unit test : NA

[ ] Integration test : NA

[ ] Documentation : NA

How to test changes / Special notes to the reviewer:
Parent test spec should be removed due to the dependency in https://github.com/openshift/odo/issues/3638

ping @mik-dass @adisky

@amitkrout tests are already commented here https://github.com/openshift/odo/pull/3627/files#diff-59b4c6c7bea0cc954d40fc45af128158R230
do we still need this PR?

pr https://github.com/openshift/odo/pull/3627 will handle the issue https://github.com/openshift/odo/issues/3652


ANIm should toggle between mum (default) and maxmatch, and record this configuration

See #160, currently the ANIm method is hard coded to use the mum method, and the maxmatch field in the database is unused. It should be possible at the command line to run the workflow with nucmer's maxmatch mode instead.
To be decided: Should we keep the optional boolean field in the database (which only makes sense for mumer based tools), or replace it with something else like a string "mode" field? Here that would be mode="mum" (default) or mode="maxmatch" respectively for ANIm.

I like the idea of a --mode option, especially as it could allow the user to specify multiple options in a syntax like opt1,opt2,opt3 where several configuration options are available. I like that it could simplify database representation.
Pragmatically we'll need to take care to avoid incompatible options, if we offer this route. mum and maxmatch (and maxreference, not that we've offered it before) are mutually exclusive. There are likely other similar examples but none are springing to mind just now.
We'd also need to take care with option order if querying the database: "opt1,opt2,opt3" expresses but the same thing as, but is not identical to, "opt1,opt3,opt2" Or we could just not provide for a search on that field, to sidestep the issue - but still allow us to report the run mode options ;)


fix(error): Better error handling

:tada: This PR is included in version 3.0.4 :tada:
Your semantic-release bot :package::rocket:


Add support for multiple formats of ORCA headers.

Commit Message: Add support for multiple formats of ORCA headers.
Additional Description: Add support for multiple formats of ORCA headers. ORCA parsing introduced in https://github.com/envoyproxy/envoy/pull/35422
Original Design Proposal
Using ORCA load reports in Envoy
Risk Level: Low
Testing: See included unit tests.
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: JSON format unsupported on Mobile.
CC @efimki @adisuissa @wbpcode

I will insist on my previous point: use as less as possible header to do this work. The endpoint-load-metrics-bin is supported to keep compatibility with gRPC.
But for new format, we can use same header to carry content with different format. And single prefix in the header value could be used to indicate it's format. like:
endpoint-load-metrics: TEXT xxxxxxxxx
endpoint-load-metrics: JSON xxxxxxxxx

/wait

/retest

/retest

cc @blake-snyder Hi, per our offline discussion, I think the final conclusion is keep only one header and only to support on format first, but will add a short prefix flag ('TEXT ' or 'T ', a single space is used to separate the prefix and value) in the header value.
It's easy to add prefix flag in future in the code, but it's not easy to keep backward compatibility in future if no this flag now. This is the reason why we discuss this for a long time.
/wait

And I have to say sorry, this is not a big job, but finally it taken your very long time.
But I actually don't want to compromise on this point. :( Because I know if I compromised this time, then in the future, in case new format is necessary, the new header must be introduced.

/retest

Thanks so much for this great contribution and all your patience.


Make Python site-packages folder readable to non-root users

Make Python site-packages folder readable to non-root users so that AMI and OVA builds that run within CodeBuild as imagebuilder user can access these packages.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve

/hold

/unhold


Version 0.26.0

{package} {version} {:snowflake:}
Destination channel: {Snowflake | defaults}
Links

{ticket_number}
Upstream repository
Upstream changelog/diff
Relevant dependency PRs:

...

Explanation of changes:

...

Linter check found the following problems:
ERROR conda.cli.main_run:execute(124): `conda run conda-lint /tmp/abs_c9oi71i3x1/clone` failed. (See above for error)
The following problems have been found:
===== ERRORS =====

clone/recipe/meta.yaml:1: patch_must_be_in_build: patch must be in build when source/patches is set.
===== Final Report: =====
1 Error and 0 Warnings were found


Beginners who come from China are welcomed to  join Q-group 276793357

@apache/mxnet-committers: This issue has been inactive for the past 90 days. It has no label and needs triage.
For general "how-to" questions, our user forum (and Chinese version) is a good place to get help.


Change kyrgyz text and code to chinese

Since a little revamp of the project, all kyrgyz code requirements went poof. Now we have to make it in chinese, but we won't have to worry about it too much. Chinese would be just an example and it has to be chinese, because of the market. I was thinking of making it spanish, but the market bro, the market

Please alex, review this pelaseeee


Parent autest

WIP
This is an attempt for autests to run a complete CDN, and evaluate via headers for correct routing and caching behavior for parent selection or other upstream routing plugins.
TODO:

move pop.py and util.py into autest extensions?
use namespace to create 8+ virtual IPs
use the virtual IPs for each process. [DNS, uServer, ATS]
convert carp's cacheControl autests for parent selection.
replicate tests for Nexthop
replicate tests for Rob's Router Plugin
write test for CARP style architecture (single pop, self hashing)

Notes:
ParentSelection's self detection may/will cause issues. I'm hoping the VIP will work for it.

[approve ci autest]

@jrushford is going to take this PR over.

[approve ci autest]

Replaced by https://github.com/apache/trafficserver/pull/7728


✏  Add to Favorites button

Create a button to add shows to a user's Favorites
The idea behind this column is for user's to add their favorite shows to their profile, which creates a more personable dashboard especially when it comes to user-user interactions.

Create button to add a show to favorites array

Conditionally display based on: [ login state, favorite state ]

Create method to add/remove
Integrate the two

This should for sure live on the show details page. It could also live on the show list card.

Closed by #529


step/prepare: do 'how' before 'requires'

prepare can enable necessary repositories / register CDN ...

I'll cover that in #159, if you don't mind.

Dropping in favour of #159

New dynamic plugin implementation #218 resolves this by providing an order to individual prepare plugins:
prepare:
  - summary: Enable copr repo
    name: copr
    how: install
    copr: psss/tmt
    order: 30
  - summary: Prepare packages
    name: packages
    how: ansible
    playbooks: ansible/packages.yml
    order: 80

Here's an example preparation:
prepare
    how: install
    summary: Enable copr repo
    name: copr
    copr: psss/tmt

    how: install
    summary: Install required packages
    name: requires
    package: beakerlib

    how: ansible
    summary: Prepare packages
    name: packages
    playbook: ansible/packages.yml
    summary: 3 preparations applied


refactor: make Rider project open the .sln file

Current dependencies on/for this PR:

main

PR #1   👈

This comment was auto-generated by Graphite.


iOS10 Crash issue

http://c2n.me/3AeWEaQ
Application Specific Information:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: file:///private/var/mobile/Containers/Data/Application/7B44B366-DB39-4EBE-B8F8-AE7B8989862F/Library/Caches/default/com.hackemist.SDWebImageCache.default/00818936d4c06d1b8246c0fc6fdb39ef.jpg)'
Last Exception Backtrace:
0   CoreFoundation                       0x0000000187643eb0 0x187519000 + 1224368
1   libobjc.A.dylib                      0x0000000186c3c4a8 0x186c34000 + 33960
2   CoreFoundation                       0x0000000187528ec4 0x187519000 + 65220
3   Новости                              0x0000000100ccc698 __45-[SDImageCache cleanDiskWithCompletionBlock:]_block_invoke (SDImageCache.m:548)

Something wrong occurred in place "1", this could cause resourceValues with nil value, thus, cause place "2" set a nil value into cacheFiles dictionary

@rs @JasF

我也遇到了这个问题，如何解？求教。

I'm seeing a rise in these exceptions due to public beta and an imminent release of iOS10.
Usually happens when an user sends the app to the background.
I don't have a demo project with 100% chance to reproduce, but setting the cache timeout to 1 second and sending the app into the background(after some images have been cached) seems to make the app crash quite frequently(to then be able to reproduce and fix of course).

@jimmaye You've found out the scene where the crash happened. Anyway, rule out the reason of system's version, I think author shoud do something to prevent it and keep the code stronger.

@jjj2mdd It seems not working. I changed my code as you noted, but it still crashes on line NSDictionary *resourceValues = [fileURL resourceValuesForKeys:resourceKeys error:&error];
Crashed: com.hackemist.SDWebImageCache
0  libsystem_kernel.dylib         0x1888fe014 __pthread_kill + 8
1  libsystem_pthread.dylib        0x1889c5460 pthread_kill + 112
2  libsystem_c.dylib              0x1888723f4 abort + 140
3  libsystem_malloc.dylib         0x188942a38 _nano_vet_and_size_of_live + 330
4  libsystem_malloc.dylib         0x188943db8 nano_free + 220
5  CoreFoundation                 0x1898dfe8c _CFRelease + 1264
6  CoreServicesInternal           0x19f7e2ba0 SetNameAndExtensionLengthFromCString(__CFAllocator const*, char const*, long, _FileAttributes*) + 48
7  CoreServicesInternal           0x19f7e1ee0 parseAttributeBuffer(__CFAllocator const*, unsigned char const*, unsigned char, attrlist const*, void const*, void**, _FileAttributes*, unsigned int*) + 320
8  CoreServicesInternal           0x19f7e0148 corePropertyProviderPrepareValues(__CFURL const*, __FileCache*, __CFString const* const*, void const**, long, void const*, __CFError**) + 804
9  CoreServicesInternal           0x19f7d9ac8 prepareValuesForBitmap(__CFURL const*, __FileCache*, _FilePropertyBitmap*, __CFError**) + 256
10 CoreServicesInternal           0x19f7d80e8 _FSURLCopyResourcePropertiesForKeysInternal(__CFURL const*, __CFArray const*, void*, __CFError**, unsigned char) + 832
11 CoreFoundation                 0x189905948 CFURLCopyResourcePropertiesForKeys + 300
12 CoreFoundation                 0x189967684 -[NSURL resourceValuesForKeys:error:] + 192
13 HiPDA                          0x10021e0f0 __45-[SDImageCache cleanDiskWithCompletionBlock:]_block_invoke (SDImageCache.m:497)
14 libdispatch.dylib              0x1887b9200 _dispatch_call_block_and_release + 24
15 libdispatch.dylib              0x1887b91c0 _dispatch_client_callout + 16
16 libdispatch.dylib              0x1887c7444 _dispatch_queue_serial_drain + 928
17 libdispatch.dylib              0x1887bc9a8 _dispatch_queue_invoke + 652
18 libdispatch.dylib              0x1887c7940 _dispatch_queue_override_invoke + 360
19 libdispatch.dylib              0x1887c938c _dispatch_root_queue_drain + 572
20 libdispatch.dylib              0x1887c90ec _dispatch_worker_thread3 + 124
21 libsystem_pthread.dylib        0x1889c12c8 _pthread_wqthread + 1288
22 libsystem_pthread.dylib        0x1889c0db4 start_wqthread + 4

@wujichao
I'll submit a PR later today with my correction of the bug. After this fix, I no longer see any crashes. For your convenience, I've pasted a screenshot of the diff below:

@jimmaye  I do the same thing as you, in my own fork, but it still crash. It seems a bug of Apple not SDWebImage.
You can see it crash on 13 HiPDA 0x10021e0f0 __45-[SDImageCache cleanDiskWithCompletionBlock:]_block_invoke (SDImageCache.m:497) itself.

@wujichao Seems like we're having different issues then. I've submitted a PR which fixes the problem I'm seeing, and added a unit test that actually touches the code which cleans up images. I was unable to reproduce the error in the unit test.

@jimmaye , - resourceValuesForKeys:error: seems too weird, your PR might not fix the issue

@jjj2mdd
I've shipped a new release of the app I'm working at weeks ago, and according to crash reports, the crash is not happening anymore, hence I believe it fixes it (at least the crash we've experienced).

@jimmaye  I think you do fix it.
It is a crash that hard to reproduce. My app, 6k daily activity users, only crash 16 times for about one month. 7 crashes because of SDImageCache.m line 497(link), 9 crashes because of SDImageCache.m line 551 (link) which you already fixed.
I do believe it is a bug of Apple not SDWebImage.

@jimmaye , sorry bro.
Yet there is a risk, that neither  value nor error will return.

@wujichao I saw around 200 crashes/day when it peaked - now I have 0. I guess there could be a bug which Apple hopefully will fix at some point
@jjj2mdd Np bro, I guess one still has to guard against nil

#1676 and 7940577 should have fixed this.

@jimmaye - i'm seeing this same exact crash in an app of mine, but i am not sure how to reproduce it to find out if this commit fixes our problem.  are you able to explain what steps you took to reproduce this crash?

@jeffctown
My comment from 9th september in this issue explains the steps I took to be able to reproduce the issue. Could be something like [[SDImageCache sharedImageCache] setMaxCacheAge:1]; to set a very short max cache age(remember to revert this change). I hope it can help you reproduce the crash somehow.


[P4_Symbolic] Extend IR to include field order in header types.

Keyword Check:
~/sonic-buildimage/src/sonic-p4rt/sonic-pins$ ~/tools/keyword_checks.sh .
Keyword check Passed.
Build Result:
/sonic/src/sonic-p4rt/sonic-pins$ bazel build $BAZEL_BUILD_OPTS ...
INFO: Analyzed 630 targets (0 packages loaded, 0 targets configured).
INFO: Found 630 targets...
INFO: From Compiling p4_symbolic/symbolic/table.cc [for host]:
p4_symbolic/symbolic/table.cc: In function 'std::vector<std::pair<int, pdpi::IrTableEntry> > p4_symbolic::symbolic::table::{anonymous}::SortEntries(const p4_symbolic::ir::Table&, const std::vectorpdpi::IrTableEntry&)':
p4_symbolic/symbolic/table.cc:115:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vectorpdpi::IrTableEntry::size_type' {aka 'long unsigned int'} [-Wsign-compare]
115 |   for (int i = 0; i < entries.size(); i++) {
|                   ^~~~~~~~~~~~~~
INFO: From Compiling p4_symbolic/sai/parser.cc [for host]:
p4_symbolic/sai/parser.cc: In function 'absl::lts_20230802::StatusOr<std::vectorz3::expr > p4_symbolic::EvaluateSaiParser(const SymbolicPerPacketState&)':
p4_symbolic/sai/parser.cc:93:51: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
93 |   constraints.push_back(icmp.valid == (ipv4.valid && ipv4.protocol == 0x01 ||
|                                        ~^~~~~~~~~~~~~~
p4_symbolic/sai/parser.cc:95:50: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
95 |   constraints.push_back(tcp.valid == (ipv4.valid && ipv4.protocol == 0x06 ||
|                                       ~^~~~~~~~~~~~~~
p4_symbolic/sai/parser.cc:97:50: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
97 |   constraints.push_back(udp.valid == (ipv4.valid && ipv4.protocol == 0x11 ||
|                                       ~^~~~~~~~~~~~~~
INFO: From Compiling p4_symbolic/main.cc [for host]:
In file included from ./gutil/io.h:22,
from p4_symbolic/main.cc:30:
p4_symbolic/main.cc: In function 'absl::lts_20230802::Status {anonymous}::ParseAndEvaluate()':
p4_symbolic/main.cc:114:75: warning: 'absl::lts_20230802::StatusOr<std::optional<p4_symbolic::symbolic::ConcreteContext> > p4_symbolic::symbolic::Solve(const std::unique_ptr<p4_symbolic::symbolic::SolverState>&, const Assertion&)' is deprecated: Use the overload Solve(SolverState&, const Assertion&) instead. [-Wdeprecated-declarations]
114 |           p4_symbolic::symbolic::Solve(solver_state, table_entry_assertion));
|                                                                           ^
./gutil/status.h:294:43: note: in definition of macro '__ASSIGN_OR_RETURN'
294 |   auto __ASSIGN_OR_RETURN_VAL(LINE) = expr;
|                                           ^~~~
p4_symbolic/main.cc:112:7: note: in expansion of macro 'ASSIGN_OR_RETURN'
112 |       ASSIGN_OR_RETURN(
|       ^~~~~~~~~~~~~~~~
In file included from ./p4_symbolic/parser.h:28,
from p4_symbolic/main.cc:33:
./p4_symbolic/symbolic/symbolic.h:281:48: note: declared here
281 | absl::StatusOr<std::optional> Solve(
|                                                ^~~~~
INFO: From Compiling p4_symbolic/symbolic/util.cc [for host]:
p4_symbolic/symbolic/util.cc:36:6: warning: 'bool p4_symbolic::symbolic::util::{anonymous}::Z3BooltoBool(Z3_lbool)' defined but not used [-Wunused-function]
36 | bool Z3BooltoBool(Z3_lbool z3_bool) {
|      ^~~~~~~~~~~~
INFO: From Compiling p4_symbolic/ir/cfg.cc [for host]:
INFO: From Compiling p4_symbolic/ir/cfg.cc:
In file included from p4_symbolic/ir/cfg.cc:15:
./p4_symbolic/ir/cfg.h:79:3: warning: multi-line comment [-Wcomment]
79 |   //             /
|   ^
p4_symbolic/ir/cfg.cc:349:5: warning: multi-line comment [-Wcomment]
349 |     //      /
|     ^
p4_symbolic/ir/cfg.cc:388:7: warning: multi-line comment [-Wcomment]
388 |       //      /
|       ^
p4_symbolic/ir/cfg.cc: In function 'p4_symbolic::ir::ControlPath p4_symbolic::ir::{anonymous}::LongestCommonPrefix(const ControlPath&, const ControlPath&)':
p4_symbolic/ir/cfg.cc:101:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
101 |   while (index < l.size() && index < r.size() && l[index] == r[index]) {
|          ^~~~
p4_symbolic/ir/cfg.cc:101:36: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
101 |   while (index < l.size() && index < r.size() && l[index] == r[index]) {
|                              ^~~~
INFO: From Compiling p4_symbolic/ir/ir.cc:
In file included from p4_symbolic/ir/ir.cc:39:
./p4_symbolic/ir/cfg.h:79:3: warning: multi-line comment [-Wcomment]
79 |   //             /
|   ^
INFO: Elapsed time: 56.423s, Critical Path: 20.06s
INFO: 78 processes: 3 internal, 75 linux-sandbox.
INFO: Build completed successfully, 78 total actions
Test Result:
/sonic/src/sonic-p4rt/sonic-pins$ bazel test $BAZEL_BUILD_OPTS --cache_test_results=no ...
INFO: Analyzed 630 targets (0 packages loaded, 0 targets configured).
INFO: Found 421 targets and 209 test targets...
INFO: Elapsed time: 190.242s, Critical Path: 121.47s
INFO: 263 processes: 318 linux-sandbox, 18 local.
INFO: Build completed successfully, 263 total actions
//dvaas:port_id_map_test                                                 PASSED in 0.8s
//dvaas:test_run_validation_golden_test                                  PASSED in 0.1s
//dvaas:test_run_validation_test                                         PASSED in 0.7s
//dvaas:test_run_validation_test_runner                                  PASSED in 0.1s
//dvaas:test_vector_stats_diff_test                                      PASSED in 0.0s
//dvaas:test_vector_stats_test                                           PASSED in 0.1s
//dvaas:test_vector_test                                                 PASSED in 0.6s
//dvaas:user_provided_packet_test_vector_diff_test                       PASSED in 0.1s
//dvaas:user_provided_packet_test_vector_test                            PASSED in 0.1s
//gutil:collections_test                                                 PASSED in 0.5s
//p4rt_app/tests:packetio_test                                           PASSED in 4.9s
//p4rt_app/tests:port_name_and_id_test                                   PASSED in 5.1s
//p4rt_app/tests:resource_limits_test                                    PASSED in 3.5s
//p4rt_app/tests:response_path_test                                      PASSED in 6.4s
//p4rt_app/tests:role_test                                               PASSED in 1.5s
//p4rt_app/tests:state_verification_test                                 PASSED in 3.4s
//p4rt_app/tests:vrf_table_test                                          PASSED in 2.6s
//p4rt_app/tests/lib:app_db_entry_builder_test                           PASSED in 0.0s
//p4rt_app/utils:event_data_tracker_test                                 PASSED in 0.0s
//p4rt_app/utils:table_utility_test                                      PASSED in 0.7s
//sai_p4/instantiations/google:clos_stage_test                           PASSED in 0.5s
//sai_p4/instantiations/google:fabric_border_router_p4info_up_to_date_test PASSED in 0.0s
//sai_p4/instantiations/google:middleblock_p4info_up_to_date_test        PASSED in 0.0s
//sai_p4/instantiations/google:sai_nonstandard_platforms_build_test      PASSED in 0.0s
//sai_p4/instantiations/google:sai_nonstandard_platforms_cc_test         PASSED in 0.6s
//sai_p4/instantiations/google:sai_p4info_fetcher_test                   PASSED in 0.7s
//sai_p4/instantiations/google:sai_p4info_test                           PASSED in 1.2s
//sai_p4/instantiations/google:sai_pd_proto_test                         PASSED in 0.0s
//sai_p4/instantiations/google:sai_pd_util_test                          PASSED in 0.6s
//sai_p4/instantiations/google:tor_p4info_up_to_date_test                PASSED in 0.0s
//sai_p4/instantiations/google:union_p4info_up_to_date_test              PASSED in 0.1s
//sai_p4/instantiations/google:wbb_p4info_up_to_date_test                PASSED in 0.0s
//sai_p4/instantiations/google/test_tools:table_entry_generator_helper_test PASSED in 3.1s
//sai_p4/instantiations/google/test_tools:test_entries_test              PASSED in 1.0s
//sai_p4/instantiations/google/tests:p4_fuzzer_integration_test          PASSED in 3.6s
//sai_p4/tools:p4info_tools_test                                         PASSED in 0.6s
//sai_p4/tools:packetio_tools_test                                       PASSED in 0.8s
//tests:thinkit_gnmi_interface_util_tests                                PASSED in 1.1s
//tests/lib:p4rt_fixed_table_programming_helper_test                     PASSED in 0.8s
//tests/lib:switch_test_setup_helpers_golden_test                        PASSED in 0.1s
//tests/lib:switch_test_setup_helpers_golden_test_runner                 PASSED in 0.1s
//tests/qos:gnmi_parsers_test                                            PASSED in 0.1s
//tests/qos:gnmi_parsers_test_runner                                     PASSED in 0.1s
//thinkit:bazel_test_environment_test                                    PASSED in 0.5s
//thinkit:generic_testbed_test                                           PASSED in 0.9s
//thinkit:mock_control_device_test                                       PASSED in 0.5s
//thinkit:mock_generic_testbed_test                                      PASSED in 0.7s
//thinkit:mock_mirror_testbed_test                                       PASSED in 0.7s
//thinkit:mock_ssh_client_test                                           PASSED in 0.0s
//thinkit:mock_switch_test                                               PASSED in 0.7s
//thinkit:mock_test_environment_test                                     PASSED in 0.1s
//thinkit:switch_test                                                    PASSED in 0.7s
//sai_p4/instantiations/google/tests:p4_constraints_integration_test     PASSED in 0.9s
Stats over 5 runs: max = 0.9s, min = 0.7s, avg = 0.8s, dev = 0.1s
//sai_p4/instantiations/google/test_tools:table_entry_generator_test     PASSED in 44.0s
Stats over 50 runs: max = 44.0s, min = 0.8s, avg = 2.7s, dev = 8.4s
Executed 209 out of 209 tests: 209 tests pass.
INFO: Build completed successfully, 263 total actions

/azp run

/azp run

/azp run