Not receiving webhook response when cancelling at period end.

Hey guys,
When I cancel a subscription at period end, I don't get back any webhook response. Nothing on the dashboard changes either, except a green notification bar pops up and says the subscription will be cancelled at period end, but aside from that no changes. Invoices still show that the next invoice will be billed.
I am getting webhook responses successfully for everything else.
If this doesn't work, I would have to let my customers cancel their subscription immediately, and manually continue their access to premium content till period ends on my side, and this would be very cumbersome.
How can I allow them to cancel their subscription when period ends and why am I not getting a webhook response when I do this?
Also, the code doesn't work:
  await razorpay.subscriptions.cancel(sub_id, {
    cancel_at_cycle_end: 1
  })

I get the following error: Error: The second parameter, Cancel at the end of cycle should be a Boolean. If I change it to true or false I still get that error.
Allowing users to cancel a subscription at period end is pretty basic functionality. If this way doesn't work, please recommend how I can allow users to cancel their subscription at period end.
Also, I would recommend adding functionality similar to Stripe, where they send cancel_at_period_end (which is a bool) with their webhook responses to easily implement this functionality.
Thanks

@whoopydev Have you resolved this issue ?  Also, please update the node sdk to the latest version v2.8.6 & let me know if the issue still persists or not

@whoopydev could you please confirm?


bclient  flags and help messages

Looks like this now:
bash-3.2$ bclient
Usage:
bclient []   [file]
Available actions:
bclient [<flags>] get <item> [file]               get item's files. If none are specified, get them all
bclient [<flags>] ls <item id> [file]             show details about item's files.
bclient [<flags>] upload  <item id> <files>       upload a file or directory into an exiting item, or create a new one.
bclient [<flags>] version <item id>               display item versioning information

General Flags:

-fileroot (defaults to current directory)  location to get or put files
-server   (defaults to bendo-staging.library.nd.edu:14000) server_name:port of bendo server
-numuploaders (defaults to 2) number of concurrent upload/download threads
-version ( defaults to latest version: ls & get actions) desired version number

upload Flags:

-chunksize    ( defaults to 10) Size (in MB) of chunks bclient will use for upload
-creator      ( defaults to bclient) owner of upload in bendo
-numuploaders ( defaults to 2) number of upload threads
-v            ( defaults to false) Provide verbose upload information for troubleshooting

ls Flags:

-longV        ( defaults to false) show blob id, size, date created, and creator of each file in item

get Flags:
-stub         (defaults to false)  retreive file tree of item, create zero-length stub for each file

Done :)

much better than what was there before!


DELETE Routes Never neve response or Time out if configured

On any defined route for DELETE verb it always hangs or timeed out if configured, all this happen on second calls.
No matter if code is simple as this:
function remove(req, res, next) {
  res.statusCode = 500;
  res.json( {message: 'ERROR MESSAGE'} );
}

function remove(req, res, next) {
  // This is intercepted with a custom error handler
  next( {message: 'ERROR MESSAGE'} );
}

i dont know if this happen to anyone else.
Swagger version 0.6.3
swagger-express-mw version 0.0.4
express version 4.13.3

I just tried this:

Created a new project
Added a delete route in the Swagger to the /hello path
Exported a new controller function for delete to hello_world.js
Started the project
Executed a curl -X DELETE request against it

I have the same versions as you and the request worked as expected. So it looks like something else may be going on. Can you try this simple test as well?

Yes you're right I checked even with this code in order to visually check the response more clear.
function bye(req, res, next) {
  bye.counter = ++bye.counter || 0;
  var name = req.swagger.params.name.value || 'stranger';
  res.json('Bye, ' +  name + ' by ' + bye.counter + ' time');
}

Thank you.


Create contract tests & improve stability with new web3js versions

Closes #139
Closes #148

The tests failed when run in Aaron's dev environment, something unexpected is going on. Changing PR status to WIP.

Fixed. Issue was userAgent.platform not having a type property when running the tests from MacOS.


Zoom in/out in browser

Zooming in/out in browser: experiencing bug. View stays the same, mouse focuses wrong items.

Thanks for reposting this issue, I'll check it out.
This is happening is Desktop right?


Large blank space in locale files after c235329 (Unify Tool/Tooltip names)

The locale files now contain a large blank space near the end, after the "Tools.Names" keys were moved.
https://github.com/Yellow-Dog-Man/Locale/blob/main/en.json#L2751-L2772

I'm aware of these, but I don't really consider these to be an issue.
It doesn't affect functionality in any way and it'll get cleaned up next time when the document is reformatted (or just delete them manually when editing it).
Sometimes there's large blank spaces from manual edits too and we do not consider those an issue either.


Accuracy test

[x] Create a function to test variable traces
[x] Generate oracle on the trace (using Olken)
[ ] ~Generate macro to create MRC for variable algorithm (different initialization parameters)~

Closed by #38


Command buffer re-enqueue testing

We should have tests checking that command buffers can be enqueued again after having completed execution.

Basic idea for this test, as I understand:

Create a command buffer that modifies some buffer B.
Execute the command buffer the first time.
Wait for execution to complete.  Check that the buffer B was properly modified.

(note: most command buffer testing so far has done these steps.)

Write data to the buffer B to re-initialize it.
Execute the same command buffer again, a second time.  Note, use the same command buffer, do NOT recreate it!.
Wait for execution to complete.  Check that the buffer B was properly modified, again.

Minimum would be to do this test for just one type of command in a command buffer to ensure basic replay works.  Better would be to test more (all?) types of commands in a command buffer.
@kpet feel free to add any additional detail or things I may have missed.

That's exactly what I had in mind. Thanks for writing this up, I'll cross that off my to-do list :).

Should it be done for any specific set of tests or maybe all of them where it is applicable?

Possibly already covered by #1738?

I just went through #1738, looks to me like initially there was separate BasicReenqueueTest but later re-enqueue scenario was implemented in other tests eg. BasicEnqueueTest. @EwanC can we close this one ?

Yes, I think this gap is covered by #1738 so i'll close this


Use DeferrableProvider

$defer property no longer used for Laravel 5.8 and above.
https://laravel.com/docs/5.8/upgrade#deferred-service-providers

Let's reconsider this once we go for another major version.


[BUG] - Unable to uninstall a Nebari extension/plugin after installation

Describe the bug
There's currently no way to remove a plugin installed via the new extensions mechanism after installation without destroying the entire environment.
Expected behavior

(Preferred) A Gitops friendly solution that tracks the need to uninstall a plugin via the nebari-config.yaml and makes the necessary changes on nebari render/deploy.

Add a nebari destroy stage ... or something comparable to uninstall/destroy a given stage, remove from the rendered stages folder, remove the plugin from Nebari, etc....

OS and architecture in which you are running Nebari
Ubuntu Linux, x64
How to Reproduce the problem?

Install a plugin
???

Command output
No response
Versions and dependencies used.
Kubernetes: 1.24
Nebari: 2023.7.2 extensions/develop
Compute environment
AWS
Integrations
No response
Anything else?
Workaround:

Comment/delete resources from rendered Terraform files in the desired stage
Run nebari deploy --disable-render ...
Delete stage folder
Run pip uninstall my-plugin

@costrouc @dharhas do we want to include this in the upcoming release?


[stable/zetcd] Fixing lint issues

Noted by yamllint:
16:3      error    comment not indented like content  (comments-indentation)
16:91     error    trailing spaces  (trailing-spaces)
17:92     error    trailing spaces  (trailing-spaces)
18:94     error    trailing spaces  (trailing-spaces)
Note, doing this prior to the next change PR so that the person who does that does not need to fix lint issues outside the scope of their change.

We relaxed the comment linting in the CI checks so this is no longer needed.


TypeError: Failed to fetch

Hello,
I am using NextJS and trying the lib to use FacebookLogin, however I am having this issue, I am not sure if this an issue with v.15 api of facebook, these are my settings
The weird thing, is that I am able to log in and get information that is needed, but every time I click on the icon I get that error. any ideas as to why?

@greatSumini seems like  a similar issue was raised before https://github.com/keppelen/react-facebook-login/issues/349

as you think, It's the sdk's internal problem.
we cannot solve the problem directly. Instead, i have added a method to ignore.
By passing 'true' for loginOptions.ignoreSdkError, you can ignore all errors catched from sdk itself.
it's available on v3.3.1!
<FacebookLogin
  appId="MYAPP"
  loginOptions={{
    ignoreSdkError: true,
  }}
/>

thanks for report 😄

I'm seeing this error also on Next.js while trying it locally. The ignoreSdkError: true option doesn't stop it or fix it afaict.


STP-3185: added step for NCNs to rejoin Spire

Summary and Scope
After updating the Spire intermediate certificate, it is necessary to have NCNs rejoin Spire.
The following command was added:
ncn# kubectl rollout restart -n spire daemonset request-ncn-join-token
Issues and Related PRs

Resolves STP-3185 and CAST-29620
Change will also be needed in release/1.2, release/1.2.5, and main

Testing
N/A
Tested on:
N/A
Test description:
N/A
Risks and Mitigations
None.
Pull Request Checklist

[ ] Version number(s) incremented, if applicable
[ ] Copyrights updated
[ ] License file intact
[ ] Target branch correct
[ ] CHANGELOG.md updated
[ ] Testing is appropriate and complete, if applicable
[ ] HPC Product Announcement prepared, if applicable

/backport release/1.2 release/1.2.5 main


BEAM-9094: Support setting some options such as endpoint_url and credential infos for AWS S3 Filesystem in Python SDKs

Support setting some options such as endpoint_url and credential infos for AWS S3 Filesystem in Python SDKs
AWS S3 File System is implemented in BEAM-2572.
To use local s3 like minio, It is need to support setting some options such as endpoint_url and credential infos.
In my idea, it can be implemented to use environment variables.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).

[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.

[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

R: @chamikaramj

R: @aaltay

R: @udim

@AhnLab-OSS

Hi @ocworld! Thanks for the contribution. Taking a look...

That's correct. As @lukecwik points out, initialization for filesystems is performed in the filesystem's init method using pipeline options:
See hadoopfilesystem: https://github.com/apache/beam/blob/d35195f4c40ff154ff0c4aa33f402acc10937e37/sdks/python/apache_beam/io/hadoopfilesystem.py#L100-L133
You could pass this with a new init method for s3filesystem that sets the configuration for S3IO: https://github.com/apache/beam/blob/d35195f4c40ff154ff0c4aa33f402acc10937e37/sdks/python/apache_beam/io/aws/s3filesystem.py
The Java filesystem does not seem to use a client that way, but it receives the options via pipeline options: https://github.com/apache/beam/blob/master/sdks/java/io/amazon-web-services/src/main/java/org/apache/beam/sdk/io/aws/s3/S3FileSystem.java#L105-L121

It is too old. So, I will recreate pull request.

Are there any updates on this? Is there a way to set the endpoint_url in order to use local s3 like minio?

Are there any updates on this? Is there a way to set the endpoint_url in order to use local s3 like minio?

@barrettpoth-eog Not yet. I'm sorry for no update about it. I have plan to add options about it.


Make box background color match the theme

Currently the box background is blue-ish, we should use the CSS variable var(--jp-layout-color0) to select the proper color for the background of the box.
This will make JupyterCad visualization nicer.

I implemented this in quantstack/jupyterlab-gather#18


[GH-526] make server install help text more clear to the user.

Summary
We have had several customers have this issue.  The solution is actually simple and doesn't require any code changes. Please see this comment in the issue for an understanding of what caused the issue.
As a solution, I have changed the output of the /jira instance install server example.com command.
To help clarify what must be done for each jira input form, I have consolidated the previous bullet 5 into bullet 4.  Now each numbered bullet, 3, 4, and 5 list the instructions for each input form.  I also think the previous bullet 5 with the IMPORTANT text is overkill and was causing extra distraction.
Before

After

Ticket Link
#526

Codecov Report

Merging #667 into master will decrease coverage by 0.04%.
The diff coverage is 16.32%.

@@            Coverage Diff             @@
##           master     #667      +/-   ##
==========================================
- Coverage   32.13%   32.09%   -0.05%
==========================================
  Files          51       51
  Lines        5215     5263      +48
==========================================
+ Hits         1676     1689      +13
- Misses       3347     3380      +33
- Partials      192      194       +2

Impacted Files
Coverage Δ

server/command.go
15.57% <0.00%> (-0.53%)
:arrow_down:

server/kv.go
20.97% <32.00%> (+1.53%)
:arrow_up:

server/instances.go
30.86% <0.00%> (+1.30%)
:arrow_up:

Continue to review full report at Codecov.

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

All, I'd love to get this into the v3 release.  There are no code changes but would resolve an outstanding ticket thas has been around for a while.  @lev, you weren't around for this mornings meeting, but we can can finally resolve the issue.  Please see the linked comment listed in the PR description for an explanation.
This will be one of the memorable tickets where I spend >8 hrs + dylan debugging different versions of jira, and different upgrade options only to discover how simple the problem is.  I'm both relieved and :(

@aaronrothschild - skipping PM review, seems trivial


Disallow property keying on read-only animations.

Prevents property keying from being used on resources classified as read-only (ones embedded in other resources and/or imported scenes). It will likewise prevent RESET tracks from being added if the RESET animation is also read-only.
The current behaviour allows users to freely add new keys to an animation, whether its read-only or not. The resource will then become local when the scene is reloaded. It is debatable that user might want to be allowed to break an animation's reference to an externally embedded source, but right now, it done as more of an accidental consequence and no information is presented to user about the implications of breaking the reference to the original animation.
For now, outright disallowing this seems the most consistent design-consistent approach; users can easily still make animations local via the animation library editor if they want, but restricting it will prevent accidental unintentional destructive edits.

Updated this PR which fixes some bugs with reset track creation. As well as checking if the RESET track is read-only, it will also check if the RESET animation already has a matching track so as to remove the redundant checkbox to create a new track.


Ukrainian translation tracking

This issue is for tracking the translation progress of all pages. It will be closed when the translation of the whole documentation is finished.
Want to collaborate?
Before translating

Before you start, read the translation guide
Pick one untranslated page from the list below and start translating it locally

While translating

DO NOT just copy the translation from some translator tool, use your own native-speaker skills

After translating

Create PR from your fork against the uk branch

Progress
Landing Page and Config

[x] README.md
[x] config.ts

Learn
Guide

[x] README.md
[x] introduction.md
[x] getting-started.md
[x] basics.md
[x] context.md
[x] api.md
[x] filter-queries.md
[x] commands.md
[x] middleware.md
[x] errors.md
[x] inline-queries.md
[x] files.md
[x] games.md
[x] deployment-types.md

Advanced

[x] README.md
[x] middleware.md
[x] structuring.md
[x] scaling.md
[x] reliability.md
[x] flood.md
[x] transformers.md
[x] proxy.md
[x] deployment.md

Plugins
Introduction

[x] README.md
[x] guide.md

Built-in

[x] session.md
[x] keyboard.md

Official

[ ] conversations.md
[ ] menu.md
[ ] stateless-question.md
[x] runner.md
[ ] hydrate.md
[ ] auto-retry.md
[ ] transformer-throttler.md
[ ] ratelimiter.md
[ ] files.md
[x] i18n.md
[x] fluent.md
[x] router.md
[x] emoji.md
[x] parse-mode.md
[ ] chat-members.md

Third-party

[x] console-time.md
[x] middlewares.md
[x] autoquote.md

Resources
grammY

[x] about.md
[x] faq.md
[x] comparison.md

Hosting
Overview

[x] comparison.md

Tutorials

[x] deno-deploy.md
[x] supabase.md
[x] cloudflare-workers.md
[x] heroku.md
[x] fly.md
[ ] firebase.md
[x] gcf.md
[x] vercel.md
[x] vps.md

How on earth are you guys so fast, that's some superhuman pace right there

@KnorpelSenf Thank you for your praise. Fortunately, I have plenty of time.

Yeap, @Nazar-Ant is working very hard on the translation. @deptyped and I haven't been very active in the last week because of our own lives, but we are still trying to do the translation. I also updated the files I translated, so the % here is already higher than 59.6))

59.6% in about half a month, congrats to you!

What about 79.66%?


Getting InvalidKeyFile Error

Getting InvalidKeyFile.
File "/app/venv/lib/python3.9/site-packages/ccxt/bullish_nav.py", line 29, in  from eospy.cleos import EOSKey File "/app/venv/lib/python3.9/site-packages/eospy/cleos.py", line 6, in  from .keys import EOSKey, check_wif File "/app/venv/lib/python3.9/site-packages/eospy/keys.py", line 6, in  from .utils import sha256, ripemd160, str_to_hex, hex_to_int File "/app/venv/lib/python3.9/site-packages/eospy/utils.py", line 5, in  from .exceptions import InvalidKeyFile
OS Info (Python:3.9 base image)
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
Python 3.9 (all the packages are installed in a venv)
eospy==0.0.2
libeospy==2.1.0
Any help would be appreciated, I am executing this under docker service (using Python:3.9 as base image)

Can you uninstall eospy and try again. If I recall correctly the eospy library doesn't interact well with libeospy. The eospy package is a much older python lib that I believe is defunct.


Turning phone to landscape changes the UI to not fit well

Maybe there's a different strategy for handling responsiveness if a screen is turned?

Moving to Trello board.


Determine sudo group on init

I took the liberty to fix the above nitpicks. The updated code works for me on Fedora. Could you please confirm that it works on Debian and Endless too?

Thanks for the updates - I tested here and they work fine for me (tested on both fedora and endless).


relax soroban on stellar warning

Preview is available here:http://soroban-docs-pr156.previews.kube001.services.stellar-ops.com/


Change upload image permission

Change upload image permission to subjudge user (by default is django admin QAQ)

+1, @chiahsinhou please test it

403 issue fixed.

Change upload auth to subjudge

This PR is ok for me.

ok, going to merge.


Add Mod function

Issue:
Mod is available in Mysql.
https://dev.mysql.com/doc/refman/8.0/en/mathematical-functions.html#function_mod
Fix:
Mod function returns a BIGINT when both numbers are integer-types. It returns
DOUBLE in other cases. When 0 is the divisor, a NULL is returned.

Looking for some help here.
The code in this patch is similar to the one for Round function.
Would it help if I break "bool mod_matches_arguments(vector &arguments)" into multiple functions?

Hey, thanks for your contribution! We already have support for the modulo using the standard modulo operator (%). It is a good idea to support the MOD function, however, creating a new function for that should be avoided. Instead, the transformer should transform the MOD function into the modulo operator. This can be done in the transform_function.cpp file by checking if the function name is MOD and then generating an OperatorExpression with type OPERATOR_MODE . The rest of the code looks good, it is good to have mod support for the floating point types as well.

Hey, thanks for your contribution! We already have support for the modulo using the standard modulo operator (%). It is a good idea to support the MOD function, however, creating a new function for that should be avoided. Instead, the transformer should transform the MOD function into the modulo operator. This can be done in the transform_function.cpp file by checking if the function name is MOD and then generating an OperatorExpression with type OPERATOR_MODE . The rest of the code looks good, it is good to have mod support for the floating point types as well.

Thank you for the comments @Mytherin . The MOD function's parameter types decide whether we use fmod or the % operator. So it won't be possible to do this transformation in transform_function.cpp. But the same can be done in "VectorOperations::Mod" based on the return type. Thus eliminating the need for a ModInt.

I would say the modulo operator and the MOD function should behave identically, i.e. if we call fmod for floating point inputs in the MOD function then we should do the same in the modulo operator. The rewriting of the MOD function in the transform_function.cpp to the modulo operator should then be sufficient.

Are you sure this is the best way to go? Because fmod always returns a double/float type. There's really no good reason "SELECT 23 % 5 ;" should return a double value.
I've checked the Mysql code also on this, they internally use "%" operator in the MOD function for integer values and for others they fmod. (See Mysql code: Item_func.cpp file "Item_func_mod::int_op()" and "Item_func_mod::real_op()".

Indeed 23 % 5 should return an integer value. What I mean is that the modulo operator should behalve identically to the MOD function, i.e. follow the same code path. That means that SELECT 2.5 % 2 should return the same as SELECT MOD(2.5, 2). The operator can also return a double value depending on its parameters. This can be configured in bind_operator.cpp.

Indeed 23 % 5 should return an integer value. What I mean is that the modulo operator should behalve identically to the MOD function, i.e. follow the same code path. That means that SELECT 2.5 % 2 should return the same as SELECT MOD(2.5, 2). The operator can also return a double value depending on its parameters. This can be configured in bind_operator.cpp.

True. That would bring the behavior in line with what Mysql has.
I misunderstood your earlier statement to mean that fmod should be used for all datatypes. This helps clear it up. I will submit a follow-up patch.

Looking for some help here.
There seems to be a problem with the homebrew build on travis. But I can't figure out a way to fix this.

Looks like it was just a temporary issue with the build, restarting fixed it. Thanks for the effort! I will merge it as it is.


Added How to Make an App in 8 Days (2023) to free-courses-en.md

What does this PR do?
Add resource(s)
For resources
Description
A playlist by CodeWithChris on How to Make an iOS App in 8 days
Why is this valuable (or not)?
This Might Be useful for people wanting to build an iOS app for free
How do we know it's really free?
This is a playlist of tutorials in Youtube
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).
[x] Used an informative name for this pull request.

Follow-up

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

Be sure to check the free-programming-books-lint output for linter errors. Alphabetical order and spacing are the most common problems.


Dodal connect --all is broken

When I run dodal connect --help I am told I should be able to run dodal connect --all to try and connect to all known beamlines. However, when I try this I get Error: Missing argument '{i04|i24|b01_1|s03|i03|i04-1|i04_1|i13-1|i13_1|i20-1|i20_1|i23|p99|p49|p46|training_rig|p48|p47|i22|p38|p45}'.
Acceptance Criteria

dodal connect --all and dodal connect -a work as expected

dodal connect --all isn't actually intended to connect to all beamlines. Instead it connects to devices in the named beamline that are ordinarily skipped due to decorators.

My bad, I still think this is useful though, thanks!

Closing as won't do for now


Syntax error during manual build

I tried doing a manual install, just cloning the git repository and running setup.py, however I get a syntax error reported during the build process:
copying build/lib.linux-x86_64-2.7/datashader/compiler.py -> build/bdist.linux-x86_64/egg/datashader
byte-compiling build/bdist.linux-x86_64/egg/examples/streaming.py to streaming.pyc
byte-compiling build/bdist.linux-x86_64/egg/examples/raster.py to raster.pyc
byte-compiling build/bdist.linux-x86_64/egg/examples/filetimes.py to filetimes.pyc
  File "build/bdist.linux-x86_64/egg/examples/filetimes.py", line 101
    print("DEBUG: Force-loading Dask dataframe", flush=True)
                                                      ^
SyntaxError: invalid syntax

This seems to be some Python 3 syntax, while I am still on Python 2.7.11, however I didn't notice anywhere that Python 3 was a requirement. So I guess this is a bug?
The build is still going, it seems like this error did not stop the process and it is taking a while to compile Pandas or some such, but anyway I assume the above is not supposed to happen.

The filetimes.py script is Python3 only, but that's just a testing script we use, not anything you need in practice.  Not sure which setup.py option you're using, but python setup.py develop should work fine.

I just did python setup.py install. Anyway the build did indeed complete eventually, but apparently there is something wrong in the linking to llvm, because I get the following
>>> import datashader
Gtk-Message: Failed to load module "canberra-gtk-module"
/usr/local/lib/python2.7/dist-packages/odo-0.5.0-py2.7.egg/odo/backends/pandas.py:94: FutureWarning: pandas.tslib is deprecated and will be removed in a future version.
You can access NaTType as type(pandas.NaT)
  @convert.register((pd.Timestamp, pd.Timedelta), (pd.tslib.NaTType, type(None)))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/datashader-0.5.0-py2.7.egg/datashader/__init__.py", line 5, in <module>
    from .core import Canvas
  File "/usr/local/lib/python2.7/dist-packages/datashader-0.5.0-py2.7.egg/datashader/core.py", line 8, in <module>
    from .utils import Dispatcher, ngjit
  File "/usr/local/lib/python2.7/dist-packages/datashader-0.5.0-py2.7.egg/datashader/utils.py", line 7, in <module>
    import numba as nb
  File "/usr/local/lib/python2.7/dist-packages/numba-0.33.0-py2.7-linux-x86_64.egg/numba/__init__.py", line 9, in <module>
    from . import config, errors, runtests, types
  File "/usr/local/lib/python2.7/dist-packages/numba-0.33.0-py2.7-linux-x86_64.egg/numba/config.py", line 11, in <module>
    import llvmlite.binding as ll
  File "/usr/local/lib/python2.7/dist-packages/llvmlite-0.18.0-py2.7-linux-x86_64.egg/llvmlite/binding/__init__.py", line 6, in <module>
    from .dylib import *
  File "/usr/local/lib/python2.7/dist-packages/llvmlite-0.18.0-py2.7-linux-x86_64.egg/llvmlite/binding/dylib.py", line 4, in <module>
    from . import ffi
  File "/usr/local/lib/python2.7/dist-packages/llvmlite-0.18.0-py2.7-linux-x86_64.egg/llvmlite/binding/ffi.py", line 50, in <module>
    raise e
OSError: /usr/local/lib/python2.7/dist-packages/llvmlite-0.18.0-py2.7-linux-x86_64.egg/llvmlite/binding/libllvmlite.so: cannot open shared object file: No such file or directory

I built llvm 4.0 from source because datashader required it and the llvm versions in the Debian repositories are not that new. It seemed to build and install just fine, but perhaps llvmlite is something different I need to build?

Oh, I wouldn't build anything from source; anything to do with LLVM is very tricky.  Can't you just install datashader using conda install -c bokeh datashader, then remove it using conda uninstall datashader, then do python setup.py develop in this directory?  I don't think the build step offers anything useful here; it's all just pure python.

I'll close this as it seems like you got things working in #363, and I don't think we need to debug python setup.py build.

Oh this is on a different machine to #363. That was on a cluster, this is just on my laptop with Debian Jessie. And I don't have anaconda on my laptop, and didn't want to use it since I have an older machine with a SSD so I have limited disk space and can't afford multiple copies of things. So as far as I could tell I had no choice but to build llvm since version 4.0 isn't in the Debian repositories yet.


[WIP] first palindromic experiment

Description

This PR adds the first commit to palindromic experiment.
It edits Palindromic_Mnemonic_experiment.py, i can create a new file if you prefer.
For each iteration it asks to choose the number of words, it would be fast if the input settings are inserted only once at init phase.

Checklist

[X] Changes don't break existing behavior

Testing

I tested it in python 3.7
Refers/Fixes

Fixes: #4

I reviewed the changes and the first step seems to be working but the loop is missing. That is, the program should start over without the need for the user to enter anything by continuing to loop and generate another mnemonic until a valid palindromic one is found.

I reviewed the updated commits that add the loop (and extra counter per round) and successfully generated valid palindromic mnemonics. A 12-word one found during one test took just over 18 tries (1/16 expected), and a 24-word found after 288 tries (1/256 expected). Approving commits in the meantime.


I need some help

I am trying to achieve this.
Generate an alert when there is no event for the last five minutes. I have managed to do so with  metric_aggregation. However, I want to get last time the event was logged. Something like:
{
	"query": {
		"match_all": {}
	},
	"size": 1,
	"sort": [{
		"eventdatetime": {
			"order": "desc"
		}
	}]
}

So I would like to have an alert that says: No event detect within the last 5 minutes. Last event was at {eventdatetime}.
Do I achieve this?
My alert.yml looks :
name: Events Rule
type: metric_aggregation

index: events-*

buffer_time:
  hours: 1

metric_agg_key: id
metric_agg_type: value_count
doc_type: _doc

bucket_interval:
  minutes: 5

sync_bucket_interval: true
#allow_buffer_time_overlap: true
#use_run_every_query_size: true

min_threshold: 0.1

# (Required)
# The alert is use when a match is found
alert:
- "email"

https://github.com/Yelp/elastalert/issues/2630 The flatline alert is built specifically for this

@melema123 Do you have more question? If not, please close your issue.


Valgrind is reporting multiple memory leaks

I've run a memory check with valgrind on the application, and it looks like the application has several memory leaks.
Simple example
valgrind --leak-check=yes ./result/bin/gcli
==190672== Memcheck, a memory error detector
==190672== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==190672== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info
==190672== Command: ./result/bin/gcli
==190672==
error: missing subcommand
usage: gcli [options] subcommand

OPTIONS:
  -a account     Use the configured account instead of inferring it
  -r remote      Infer account from the given git remote
  -t type        Force the account type:
                    - github (default: github.com)
                    - gitlab (default: gitlab.com)
                    - gitea (default: codeberg.org)
  -c             Force colour and text formatting.
  -q             Be quiet. (Not implemented yet)

  -v             Be verbose.

SUBCOMMANDS:
  ci             Github CI status info
  comment        Comment under issues and PRs
  config         Configure forges
  forks          Create, delete and list repository forks
  gists          Create, fetch and list Github Gists
  issues         Manage issues
  labels         Manage issue and PR labels
  milestones     Milestone handling
  pipelines      Gitlab CI management
  pulls          Create, view and manage PRs
  releases       Manage releases of repositories
  repos          Remote Repository management
  snippets       Fetch and list Gitlab snippets
  status         General user status and notifications
  api            Fetch plain JSON info from an API (for debugging purposes)
  version        Print version

gcli 2.0.0 (x86_64-pc-linux-gnu)
Using libcurl/8.4.0 OpenSSL/3.0.12 zlib/1.3 brotli/1.1.0 zstd/1.5.5 libidn2/2.3.4 libssh2/1.11.0 nghttp2/1.57.0
Using vendored pdjson library
Report bugs at https://gitlab.com/herrhotzenplotz/gcli/.
Copyright 2021, 2022, 2023 Nico Sonack<EMAIL_ADDRESS>and contributors.
==190672==
==190672== HEAP SUMMARY:
==190672==     in use at exit: 176 bytes in 2 blocks
==190672==   total heap usage: 2 allocs, 0 frees, 176 bytes allocated
==190672==
==190672== LEAK SUMMARY:
==190672==    definitely lost: 0 bytes in 0 blocks
==190672==    indirectly lost: 0 bytes in 0 blocks
==190672==      possibly lost: 0 bytes in 0 blocks
==190672==    still reachable: 176 bytes in 2 blocks
==190672==         suppressed: 0 bytes in 0 blocks
==190672== Reachable blocks (those to which a pointer was found) are not shown.
==190672== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==190672==
==190672== For lists of detected and suppressed errors, rerun with: -s

Larger example
valgrind --leak-check=yes ./result/bin/gcli -t github ci -o mikaelfangel -r nixvim-config -n 5 main
==186213== Memcheck, a memory error detector
==186213== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==186213== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info
==186213== Command: ./result/bin/gcli -t github ci -o mikaelfangel -r nixvim-config -n 5 main
==186213==
ID           STATUS     CONCLUSION  STARTED               COMPLETED             NAME
19025257350  completed  success     2023-11-26T02:54:00Z  2023-11-26T02:56:18Z  tests (mikaelfangel, nixpkgs=channel:nixpkgs-unstable)
19025257314  completed  success     2023-11-26T02:53:58Z  2023-11-26T02:56:12Z  tests (mikaelfangel, nixpkgs=channel:nixos-unstable)
19012259503  completed  success     2023-11-25T02:54:11Z  2023-11-25T02:56:18Z  tests (mikaelfangel, nixpkgs=channel:nixpkgs-unstable)
19012259442  completed  success     2023-11-25T02:54:12Z  2023-11-25T02:56:18Z  tests (mikaelfangel, nixpkgs=channel:nixos-unstable)
18984627698  completed  success     2023-11-24T02:54:15Z  2023-11-24T02:56:22Z  tests (mikaelfangel, nixpkgs=channel:nixpkgs-unstable)
18984627607  completed  success     2023-11-24T02:54:14Z  2023-11-24T02:56:23Z  tests (mikaelfangel, nixpkgs=channel:nixos-unstable)
18958646237  completed  success     2023-11-23T08:24:51Z  2023-11-23T08:26:53Z  tests (mikaelfangel, nixpkgs=channel:nixpkgs-unstable)
18958646039  completed  success     2023-11-23T08:24:52Z  2023-11-23T08:25:07Z  format
18958646038  completed  success     2023-11-23T08:24:49Z  2023-11-23T08:26:51Z  tests (mikaelfangel, nixpkgs=channel:nixos-unstable)
==186213==
==186213== HEAP SUMMARY:
==186213==     in use at exit: 986,773 bytes in 14,496 blocks
==186213==   total heap usage: 301,882 allocs, 287,386 frees, 12,808,923 bytes allocated
==186213==
==186213== 23 bytes in 1 blocks are definitely lost in loss record 36 of 356
==186213==    at 0x484276B: malloc (in /nix/store/4picxabc7pfzzxk3myzckpifn8dnpvcb-valgrind-3.22.0/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==186213==    by 0x49E341D: strdup (in /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libc.so.6)
==186213==    by 0x486B5A5: github_get_checks (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/lib/libgcli.so.0.0.0)
==186213==    by 0x404FA1: github_checks (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==    by 0x405223: subcommand_ci (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==    by 0x404C2C: main (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==
==186213== 33 bytes in 1 blocks are definitely lost in loss record 98 of 356
==186213==    at 0x4849C34: calloc (in /nix/store/4picxabc7pfzzxk3myzckpifn8dnpvcb-valgrind-3.22.0/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==186213==    by 0x48780AA: sn_asprintf (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/lib/libgcli.so.0.0.0)
==186213==    by 0x405B0B: ensure_config (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==    by 0x405F6E: gcli_config_find_by_key (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==    by 0x40656B: gcli_config_get_account (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==    by 0x406608: gcli_config_get_apibase (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==    by 0x486B5A5: github_get_checks (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/lib/libgcli.so.0.0.0)
==186213==    by 0x404FA1: github_checks (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==    by 0x405223: subcommand_ci (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==    by 0x404C2C: main (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==
==186213== LEAK SUMMARY:
==186213==    definitely lost: 56 bytes in 2 blocks
==186213==    indirectly lost: 0 bytes in 0 blocks
==186213==      possibly lost: 0 bytes in 0 blocks
==186213==    still reachable: 986,717 bytes in 14,494 blocks
==186213==         suppressed: 0 bytes in 0 blocks
==186213== Reachable blocks (those to which a pointer was found) are not shown.
==186213== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==186213==
==186213== For lists of detected and suppressed errors, rerun with: -s
==186213== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)

I've run a memory check with valgrind on the application, and it looks like the application has several memory leaks.
==190672== HEAP SUMMARY:
==190672==     in use at exit: 176 bytes in 2 blocks
==190672==   total heap usage: 2 allocs, 0 frees, 176 bytes allocated
==190672==
==190672== LEAK SUMMARY:
==190672==    definitely lost: 0 bytes in 0 blocks
==190672==    indirectly lost: 0 bytes in 0 blocks
==190672==      possibly lost: 0 bytes in 0 blocks
==190672==    still reachable: 176 bytes in 2 blocks
==190672==         suppressed: 0 bytes in 0 blocks
==190672== Reachable blocks (those to which a pointer was found) are not shown.
==190672== To see them, rerun with: --leak-check=full --show-leak-kinds=all

Some of these leaks are due to OpenSSL/libcurl, not really too much to worry about and besides we cannot do anything about them really.

Larger example
valgrind --leak-check=yes ./result/bin/gcli -t github ci -o mikaelfangel -r nixvim-config -n 5 main
...
==186213== 23 bytes in 1 blocks are definitely lost in loss record 36 of 356
==186213==    at 0x484276B: malloc (in /nix/store/4picxabc7pfzzxk3myzckpifn8dnpvcb-valgrind-3.22.0/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==186213==    by 0x49E341D: strdup (in /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libc.so.6)
==186213==    by 0x486B5A5: github_get_checks (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/lib/libgcli.so.0.0.0)
==186213==    by 0x404FA1: github_checks (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==    by 0x405223: subcommand_ci (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==    by 0x404C2C: main (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)

Good catch, I am unaware of this one. Will fix :-)

==186213== 33 bytes in 1 blocks are definitely lost in loss record 98 of 356
==186213==    at 0x4849C34: calloc (in /nix/store/4picxabc7pfzzxk3myzckpifn8dnpvcb-valgrind-3.22.0/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==186213==    by 0x48780AA: sn_asprintf (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/lib/libgcli.so.0.0.0)
==186213==    by 0x405B0B: ensure_config (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==    by 0x405F6E: gcli_config_find_by_key (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==    by 0x40656B: gcli_config_get_account (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==    by 0x406608: gcli_config_get_apibase (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==    by 0x486B5A5: github_get_checks (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/lib/libgcli.so.0.0.0)
==186213==    by 0x404FA1: github_checks (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==    by 0x405223: subcommand_ci (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)
==186213==    by 0x404C2C: main (in /nix/store/jryfqyahn63h5xgbhrdz7nqfwsmwvgcn-gcli-2.0.0/bin/gcli)

This one is fixed on trunk I believe. Please try again with the trunk and debug info turned on, this way you get better traces from valgrind.
(Note: there's different memory bug on trunk which I'm aware of and will fix soon)
Nico

Result when building from trunk:
valgrind --leak-check=yes ./result/bin/gcli -t github ci -o mikaelfangel -r nixvim-config -n 5 main
==79187== Memcheck, a memory error detector
==79187== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==79187== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info
==79187== Command: ./result/bin/gcli -t github ci -o mikaelfangel -r nixvim-config -n 5 main
==79187==
==79187== Invalid read of size 8
==79187==    at 0x4148D9: add_subcommand_alias (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/bin/gcli)
==79187==    by 0x404C37: main (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/bin/gcli)
==79187==  Address 0x5656268 is 232 bytes inside a block of size 384 free'd
==79187==    at 0x4849E40: realloc (in /nix/store/4picxabc7pfzzxk3myzckpifn8dnpvcb-valgrind-3.22.0/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==79187==    by 0x4148C5: add_subcommand_alias (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/bin/gcli)
==79187==    by 0x404C37: main (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/bin/gcli)
==79187==  Block was alloc'd at
==79187==    at 0x4849C34: calloc (in /nix/store/4picxabc7pfzzxk3myzckpifn8dnpvcb-valgrind-3.22.0/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==79187==    by 0x404C00: main (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/bin/gcli)
==79187==
ID           STATUS     CONCLUSION  STARTED               COMPLETED             NAME
19025257350  completed  success     2023-11-26T02:54:00Z  2023-11-26T02:56:18Z  tests (mikaelfangel, nixpkgs=channel:nixpkgs-unstable)
19025257314  completed  success     2023-11-26T02:53:58Z  2023-11-26T02:56:12Z  tests (mikaelfangel, nixpkgs=channel:nixos-unstable)
19012259503  completed  success     2023-11-25T02:54:11Z  2023-11-25T02:56:18Z  tests (mikaelfangel, nixpkgs=channel:nixpkgs-unstable)
19012259442  completed  success     2023-11-25T02:54:12Z  2023-11-25T02:56:18Z  tests (mikaelfangel, nixpkgs=channel:nixos-unstable)
18984627698  completed  success     2023-11-24T02:54:15Z  2023-11-24T02:56:22Z  tests (mikaelfangel, nixpkgs=channel:nixpkgs-unstable)
18984627607  completed  success     2023-11-24T02:54:14Z  2023-11-24T02:56:23Z  tests (mikaelfangel, nixpkgs=channel:nixos-unstable)
18958646237  completed  success     2023-11-23T08:24:51Z  2023-11-23T08:26:53Z  tests (mikaelfangel, nixpkgs=channel:nixpkgs-unstable)
18958646039  completed  success     2023-11-23T08:24:52Z  2023-11-23T08:25:07Z  format
18958646038  completed  success     2023-11-23T08:24:49Z  2023-11-23T08:26:51Z  tests (mikaelfangel, nixpkgs=channel:nixos-unstable)
==79187==
==79187== HEAP SUMMARY:
==79187==     in use at exit: 987,246 bytes in 14,499 blocks
==79187==   total heap usage: 301,885 allocs, 287,386 frees, 12,776,623 bytes allocated
==79187==
==79187== 33 bytes in 1 blocks are definitely lost in loss record 99 of 359
==79187==    at 0x4849C34: calloc (in /nix/store/4picxabc7pfzzxk3myzckpifn8dnpvcb-valgrind-3.22.0/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==79187==    by 0x487A6CA: sn_asprintf (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/lib/libgcli.so.0.0.0)
==79187==    by 0x405C1B: ensure_config (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/bin/gcli)
==79187==    by 0x40607D: gcli_config_get_section_entries (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/bin/gcli)
==79187==    by 0x404C47: main (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/bin/gcli)
==79187==
==79187== 33 bytes in 1 blocks are definitely lost in loss record 100 of 359
==79187==    at 0x4849C34: calloc (in /nix/store/4picxabc7pfzzxk3myzckpifn8dnpvcb-valgrind-3.22.0/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==79187==    by 0x487A6CA: sn_asprintf (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/lib/libgcli.so.0.0.0)
==79187==    by 0x405C1B: ensure_config (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/bin/gcli)
==79187==    by 0x4060DE: gcli_config_find_by_key (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/bin/gcli)
==79187==    by 0x4066DB: gcli_config_get_account (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/bin/gcli)
==79187==    by 0x4067BB: gcli_config_get_apibase (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/bin/gcli)
==79187==    by 0x48611B6: gcli_get_apibase (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/lib/libgcli.so.0.0.0)
==79187==    by 0x486CCE5: github_get_checks (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/lib/libgcli.so.0.0.0)
==79187==    by 0x4050B1: github_checks (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/bin/gcli)
==79187==    by 0x405333: subcommand_ci (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/bin/gcli)
==79187==    by 0x404CEF: main (in /nix/store/9gdgp8cky27azrncq0xpx34ivlx6ydjz-gcli-2.0.0/bin/gcli)
==79187==
==79187== LEAK SUMMARY:
==79187==    definitely lost: 66 bytes in 2 blocks
==79187==    indirectly lost: 0 bytes in 0 blocks
==79187==      possibly lost: 0 bytes in 0 blocks
==79187==    still reachable: 987,180 bytes in 14,497 blocks
==79187==         suppressed: 0 bytes in 0 blocks
==79187== Reachable blocks (those to which a pointer was found) are not shown.
==79187== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==79187==
==79187== For lists of detected and suppressed errors, rerun with: -s
==79187== ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)

I can't really derive any information from the stack trace because it contains a lot of noise and also it's missing debug info. Are the binaries stripped or are they not even compiled with -g and -O0?
I have tried tracing down the leaks from the functions being called but I am unsure as I can't reproduce the leaks with the same version of valgrind locally (and another machine as well which ran the version 3.21). See the fix/gh-122-leaks branch I just pushed to Github.
Can you please compile without all the Nix Shell noise and include the debug info (see HACKING.md).


Feat: date filter

close #3

Report an error if becore was less than after, then this can be merged after approval.

Add

date filter (e67cf12)
date filter test (35c3fa0)

Upd

case name (ff2a8c6)
test case (a5a7fa8)
error msg format (316fd82)

Fear

throwing filter errors (be3e79a)

Features

judgment functions of news (c098729)
judgment functions of news (dc14dec)

Opt

way of judgement news list (0a1e994)

Code Refactoring

migrating functions to unit test (64db2c7)

Contributors
SaarChaffee
Commit-Lint commands
You can trigger Commit-Lint actions by commenting on this PR:

@Commit-Lint merge patch will merge dependabot PR on "patch" versions (X.X.Y - Y change)
@Commit-Lint merge minor will merge dependabot PR on "minor" versions (X.Y.Y - Y change)
@Commit-Lint merge major will merge dependabot PR on "major" versions (Y.Y.Y - Y change)
@Commit-Lint merge disable will desactivate merge dependabot PR
@Commit-Lint review will approve dependabot PR
@Commit-Lint stop review will stop approve dependabot PR

@Commit-Lint review

@Commit-Lint stop review

@Commit-Lint stop review


Developer News 404 page search box is unstyled

@sunnyssr,
go ahead and let me know if you need some help.
you need to have ghost installed locally.

Yeah sure! I will let you know if I have some problem.
I have got it set up.
Thank you :D


chunk file send to esploro back end to work around file size limits

https://codecalamity.com/uploading-large-files-by-chunking-featuring-python-flask-and-dropzone-js/


fix: add a new help URL to the Expression editor

Description
Adds in a help URL to the expression editor, plus some plumbing to make it easy to decorate other sorts of fields with whatever other syntax help URLs we need.
Task Item
closes #2792
Screenshots

Hang on - this is still not quite right.

I have no idea why fixing conflicts causes it to replay all of the commits back in this weird snowballing fashion.


java.util.concurrent.RejectedExecutionException: Task xzf@5c63abb is rejected by adapter [java.util.concurrent.ScheduledThreadPoolExecutor@6b97b4a[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 59]]

Error
I got the following error when I use 1.0.0-alpha07 at Nexus 5X(8.1.0)
08-27 17:53:52.574 17041-30265/? E/abbi: RuntimeException while executing runnable abcv{zld@2ee2bd8} with executor xzb@1d4ab31
    java.util.concurrent.RejectedExecutionException: Task xzf@5c63abb is rejected by adapter [java.util.concurrent.ScheduledThreadPoolExecutor@6b97b4a[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 59]]
        at zjl.a(PG:13)
        at zjl.execute(PG:21)
        at xzb.execute(PG:23)
        at abbi.b(PG:189)
        at abbi.a(PG:158)
        at abbi.a(PG:108)
        at abbw.run(PG:24)
        at abdm.execute(PG:3)
        at abbi.b(PG:189)
        at abbi.a(PG:158)
        at abbi.a(PG:108)
        at abbw.run(PG:24)
        at abdm.execute(PG:3)
        at abbi.b(PG:189)
        at abbi.a(PG:158)
        at abbi.a(PG:108)
        at zoy.execute(PG:8)
        at abbi.b(PG:189)
        at abbi.a(PG:158)
        at adda.a(PG:35)
        at adel.run(PG:5)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:764)

Background
I use LocationManager's requestSingleUpdate to get newest location info at my WorkManager and use AsyncTask to send it back to my server.
Can anyone tell me what is wrong? Thank you!

Thanks for reporting this.
I'm closing this issue because this forum is for issues with the codelab.
If you think that this is a problem of the WorkManager library, please open a bug on the WorkManager public issue tracker: https://issuetracker.google.com/issues/new?component=409906&template=1094197
Please reopen if you still think this is an issue with the codelab.


Adding fix to support "rad show" command for terraform recipes stored in private git repository

Description

Added support for 1rad show recipe` command to run successfully when terraform recipes stored in private git repository are used.
Added changes to get environment configuration and load the secrets to GetRecipeMetadata api.

Type of change

This pull request fixes a bug in Radius and has an approved issue (issue link required).
This pull request adds or changes features of Radius and has an approved issue (issue link required).
This pull request is a minor refactor, code cleanup, test improvement, or other maintenance task and doesn't change the functionality of Radius (issue link optional).

Fixes: #issue_number

closing this as its taken care of in PR : https://github.com/radius-project/radius/pull/7519


Wheel script fix

Description
Makes build_wheel.sh one script to build desired flavor wheel of MXNet
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] Changes are complete (i.e. I finished coding on this PR)
[x] Code is well-documented:
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

@mxnet-label-bot add [pr-awaiting-review]

@zachgk @apeforest this PR is ready for review

New cmake scripts are being used. Not required anymore !

New cmake scripts are being used. Not required anymore !


Vuex Dynamically registered modules cannot trigger component updates

Version
2.5.16
Reproduction link
https://codesandbox.io/s/1vkk7zj93q
Steps to reproduce
0.click on "clkm".("clkm" is a component object that is loaded remotely and packaged by "vue-loader". For details, see "main.js" and the console.)
1.Enter any value in input and click "add" to add an item.
2.Click on "to list" to see the list that has been added
2.Continue adding items to the "to list" page, and the list is not updated.
3.Click "back" and then click "to list" again, you can see that the list has been updated.
What is expected?
Vuex module status update, vue component view update.
What is actually happening?
Vuex module status update, vue component view not update.

Closing due to inactivity for more than 1 week. Please open a new issue with a reference to this one if you can follow up with more information.


Require wrapper support

This adds support for handling the bound require case like https://github.com/zeit/ncc/issues/383.
The approach is very very specific to this case, and in that way is pretty awful, but as per usual the hope that has so far served us well is that as we continue to incorporate cases into the codebase, the generalizations start to become clear as we go, and the analysis naturally becomes more generalized over time.
Already this support was very easy to do because of the above approach working in the past, since the new well-known symbol handlers give us a simple interception method.

Codecov Report

Merging #34 into master will increase coverage by 1.37%.
The diff coverage is 96.15%.

@@            Coverage Diff             @@
##           master      #34      +/-   ##
==========================================
+ Coverage   72.29%   73.67%   +1.37%
==========================================
  Files          10       10
  Lines        1036     1056      +20
==========================================
+ Hits          749      778      +29
+ Misses        287      278       -9

Impacted Files
Coverage Δ

src/utils/special-cases.js
95.55% <95%> (+17.77%)
:arrow_up:

src/asset-relocator.js
81.39% <97.36%> (+0.8%)
:arrow_up:

Continue to review full report at Codecov.

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


Update workflow run limit from 100 to 500

Why:
Closes https://github.com/github/c2c-actions-runtime/issues/1308
What's being changed:
Updates workflow run limit from 100 to 500, to reflect a recent change in product behavior.
Check off the following:

[x] I have reviewed my changes in staging (look for the latest deployment event in your pull request's timeline, then click View deployment).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):
No writer impact.

@juliobbv Thanks so much for opening a PR! I'll get this triaged for review :zap:

Mawlamyaigyun Township Group

ในวันที่ อา. 25 ก.ค. 2021 02:08 น. Mawjyun @.***>
เขียนว่า:

Mawlamyaigyun Township Group
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/github/docs/pull/8405#issuecomment-886098672, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AT46KBIUHUIUKRJQPMVGYVLTZMFUXANCNFSM5AYCYI2A
.


fix statefulset Pod deletion

What type of this PR

Bug fixes

Fix statefulset Pod deletion introduced in PR #1274 . This patch also adds e2e testing for the 3-master cluster.
As static routes have been totally replaced by logical router policies in the master branch, the target branched is release-1.9.

e2e testing results: https://github.com/zhangzujian/kube-ovn/actions/runs/1890678060


Cache store scoping when possible

Currently, store scoping can happen quite often: whenever a view that scopes a store is recomputed, the old scoped store is discarded and a brand new scoped store is created. This involves creating a new object and parent/child subscription every single time a store is scoped. While stores are generally lightweight objects, this is still unnecessary work.
This PR introduces the ability to cache child stores directly in the parent via new scope methods. These scope methods take a state key path instead of state transform function. The parent store uses this key path as a hashable identifier to store the child store in a dictionary. This means that after the first time a store is scoped, scoping to it again is a simple dictionary lookup.
Anyone using key path expression syntax for their scopes will automatically benefit from this change, while the older style of scoping (soft deprecated for now and probably soft deprecated for some time) will mostly go through the older code path.
Adapting an existing benchmark to scope a store X number of times before sending an action to the scoped store shows a pretty significant improvement:
Before:
name                       time             std        iterations
-----------------------------------------------------------------
Store.Scoped nested tap: 1   53291.000 ns ±   6.35 %      26188
Store.Scoped nested tap: 2 1818583.000 ns ±  31.98 %       2514
Store.Scoped nested tap: 3 3289500.000 ns ±   6.57 %        469
Store.Scoped nested tap: 4 4203916.500 ns ±   5.79 %        370
Store.Scoped nested tap: 5 5205125.000 ns ±   5.25 %        296

After:
name                       time             std        iterations
-----------------------------------------------------------------
Store.Scoped nested tap: 1   52375.000 ns ±   5.75 %      26657
Store.Scoped nested tap: 2  109833.000 ns ±   6.05 %      12640
Store.Scoped nested tap: 3  165834.000 ns ±   5.53 %       8371
Store.Scoped nested tap: 4  228583.000 ns ±   4.47 %       6103
Store.Scoped nested tap: 5  299500.000 ns ±   4.11 %       4645

Could you explain how this affects the lifetimes of child stores? Will the parent retain them for as long as it lives, or if not then when will a child be removed from the children dictionary?

Could you explain how this affects the lifetimes of child stores? Will the parent retain them for as long as it lives, or if not then when will a child be removed from the children dictionary?

@pyrtsa Child stores live as long as they are "valid". Optional/presented children are removed when the associated state goes away. While this means some stores may live longer than previously, where they'd only live as long as a view is in the hierarchy, we think it won't ever be an inordinate number.

Many of the custom UICollectionViewListCell subclasses I have in my codebase are tuples and am wondering how I could leverage caching from this PR in that use-case. For example, here's how I register my supplementary views:
let footerRegistration = UICollectionView.SupplementaryRegistration<SupplementaryView>(
  elementKind: UICollectionView.elementKindSectionFooter
) { [weak store] footerView, elementKind, indexPath in
  guard let store else { return }

  store.scope(
    state: {
      let item = $0.sections[indexPath.section].footer
      return (
        item: item,
        elementKind: elementKind
      )
    },
    action: { $0 }
  ).ifLet { [weak footerView] store in
    footerView?.update(with: store)
  }
  .store(in: &footerView.cancellables)
}

Would there be a way I could benefit from cached scoping if I am using closures to transform a parent state to a tuple child state? I imagine the answer is no because I think 99% of the time the scoped state is a subset of original state, but that can't be said for what I'm doing in the example above (elementKind value does not come from store).

@acosmicflamingo You can always define computed properties and subscripts to make new key paths. In this case I think you could add a custom subscript that takes the element kind.
Something like:
extension Feature.State {
  subscript(
    section section: Int, elementKind elementKind: ElementKind
  ) -> (item: Item, elementKind: ElementKind) {
    (item: self.sections[section].footer, elementKind: elementKind)
  }
}

And then:
store.scope(
  state: \.[section: indexPath.section, elementKind: elementKind],
  action: { $0 }
).ifLet { [weak footerView] store in
  footerView?.update(with: store)
}
.store(in: &footerView.cancellables)

@stephencelis BRILLIANT! Thank you for the reply AND example too!

@stephencelis just tried your example and am so close to get it working! However, how do I deal with extracting an enum case from an IdentifiedArray of them since extraction is always optional?
//  MARK: - Store Scoping Support

extension AppearanceSettings.State {
  // preferSystemColorSchemeCellRegistration
  subscript(
    itemId: UUID,
    sectionIndex: Int,
    prefersToggleSwitchBelowTextInLandscapeMode: Bool
  ) -> SwitchRowCell<AppearanceSettings.Action>.State {
    let item = (/AppearanceSettingsItem.preferredSystemColorSchemeRow).extract(
      from: section.items[id: itemId]
    )
    return (
      item: item,
      sectionIndex: sectionIndex,
      prefersToggleSwitchBelowTextInLandscapeMode: true
    )
  }
}

Integrating that to my cell registration logic, I also get this:

Removing the extraneous labels gives me this:

@acosmicflamingo I believe you want the subscript to return an optional since it can fail:
extension AppearanceSettings.State {
  // preferSystemColorSchemeCellRegistration
  subscript(
    itemId itemId: UUID,
    sectionIndex sectionIndex: Int,
    prefersToggleSwitchBelowTextInLandscapeMode prefersToggleSwitchBelowTextInLandscapeMode: Bool
  ) -> (
    item: SwitchRowItem<AppearanceSettings.Action>,
    sectionIndex: Int,
    prefersToggleSwitchBelowTextInLandscapeMode: Bool
  )? {
    guard
      let item = (/AppearanceSettingsItem.preferredSystemColorSchemeRow).extract(
        from: section.items[id: itemId]
      )
    else { return nil
    return (
      item: item,
      sectionIndex: sectionIndex,
      prefersToggleSwitchBelowTextInLandscapeMode: prefersToggleSwitchBelowTextInLandscapeMode
    )
  }
}

(I've also doubled up the parameter names in the subscript so you don't lose them at the call site.)

@stephencelis oh, of COURSE! Yes, there's certainly nothing stopping me from returning an optional tuple. I guess I didn't think about that because when I read this in the Slack channel, it made it sound like I no longer have to do some of those long guard unwrapping lines like this:

Did I take away the wrong information from that?
Also, IT WORKS WOOHOO!!! That's AMAZING!!! My cell registration closure is MUCH cleaner now :D thanks a bunch for the help!
let preferSystemColorSchemeCellRegistration = UICollectionView.CellRegistration<
  SwitchRowCell<Action>, UUID
> { [weak store] cell, indexPath, itemId in
    guard let store else { return }

    store.scope(
      state: \.[
        itemId: itemId,
        sectionIndex: indexPath.section,
        prefersToggleSwitchBelowTextInLandscapeMode: true
      ],
      action: \.self
    ).ifLet { [weak cell] store in
      cell?.update(with: store)
    }
    .store(in: &cell.cancellables)
  }
}

LOL swift-format thinks this is an array and keeps adding a comma at the end:
state: \.[
  itemId: itemId,
  sectionIndex: indexPath.section,
  prefersToggleSwitchBelowTextInLandscapeMode: true,
],

Did I take away the wrong information from that?

I just didn't fully digest your example. In my code snippet I was channeling the optionality of a simple IdentifiedArray.subscript(id:) :smile:

Also, IT WORKS WOOHOO!!! That's AMAZING!!! My cell registration closure is MUCH cleaner now :D thanks a bunch for the help!

🥳

I don't know if this is a bug or I need to treat my specific use-case a little differently. I have a MediaLibraryViewController whose collection view displays songs sorted either by "recently played", "song name", "artist name", or "album name". Tapping the UISegmentedControl button will refresh the snapshot accordingly.

The issue I'm finding is that when I have adopted the subscripting solution to handle turning a state to a tuple, having the most up-to-date header view is not guaranteed. The items are certainly sorted correctly so this is purely an issue with the way the header view is being updated. I don't know if this is a race condition or if something like this should just work and I need to investigate further on my end, but I thought I'd ask in the off-chance that someone knows something off the top of their head.
For reference, this is what my CollectionViewDataSource file looks like:
// swiftlint:disable empty_line_after_super function_body_length
// swiftformat:disable braces indent large_tuple trailingCommas

import CFKCollectionViews
import ComposableArchitectureExtensions
import Foundation
import LocalDatabaseClient
import UICollectionViewModels
import UIKit

extension MediaLibraryViewController {
  public typealias Section = MediaLibrarySection
  public typealias Item = UUID

  public class CollectionViewDataSource: TCACollectionViewDiffableDataSource<Section, Item> {
    public init(
      store: StoreOf<MediaLibrary>,
      collectionView: UICollectionView,
      bindingOptions: DataSourceReloadingBindingOptions = .none,
      dynamicSnapshot: Bool = false
    ) {
      let headerRegistration = UICollectionView.SupplementaryRegistration<
        MediaLibrarySectionCell
      >(
        elementKind: UICollectionView.elementKindSectionHeader
      ) {
        [weak store] headerView, _, indexPath in
        guard let store else { return }

        store.scope(
          state: \.[sectionIndex: indexPath.section],
          action: \.self
//          state: {
//            let sectionIndex = indexPath.section
//            guard let section = $0.snapshotData.sections[safeIndex: sectionIndex]
//            else { return nil }
//
//            return (
//              text: section.text,
//              placeholder: nil
//            )
//          },
//          action: { $0 }
        ).ifLet { [weak headerView] store in
          headerView?.update(with: store)
        }
        .store(in: &headerView.cancellables)
      }

      let mediaLibraryItemCellRegistration = UICollectionView.CellRegistration<
        MediaLibraryItemCell, UUID
      > { [weak store] cell, _, itemId in
        guard let store else { return }

        store.scope(
          state: \.[itemId: itemId],
          action: \.self
        ).ifLet { [weak cell] store in
          cell?.update(with: store)
        }
        .store(in: &cell.cancellables)
      }

      super.init(
        collectionView: collectionView,
        bindingOptions: .all,
        dynamicSnapshot: dynamicSnapshot
      ) { collectionView, indexPath, itemId in
        collectionView.dequeueConfiguredReusableCell(
          using: mediaLibraryItemCellRegistration,
          for: indexPath,
          item: .init(itemId)
        )
      }

      supplementaryViewProvider = {
        collectionView, _, indexPath -> UICollectionReusableView? in
        collectionView.dequeueConfiguredReusableSupplementary(
          using: headerRegistration,
          for: indexPath
        )
      }
    }
  }
}

// MARK: - Store Scoping Support

extension MediaLibrary.State {
  // headerRegistration
  subscript(sectionIndex sectionIndex: Int) -> MediaLibrarySectionCell.State? {
    guard let section = snapshotData.sections[safeIndex: sectionIndex]
    else { return nil }

    return (
      text: section.text,
      placeholder: nil
    )
  }

  // mediaLibraryItemCellRegistration
  subscript(itemId itemId: UUID) -> MediaLibraryItemCell.State? {
    let mediaLibraryItem = data[id: itemId]
    var itemForSegment: LocalDatabaseClient.MediaItem?
    // TODO: see if this brace style can be improved by moving first 'case let' next to 'if'
    if
      case let .segment(segment) = mediaLibraryItem,
      case let .item(item) = data[id: segment.ofItemId]
    {
      itemForSegment = item
    }
    let sortMode = segmentedControl.selectedSegment
    let isSearching = searchBar.isSearching
    let searchBarText = searchBar.textField.text
    let displaySeparator = itemId != snapshotData.first(where: {
      $0.value.contains(itemId)
    })?.value.last

    return (
      mediaLibraryItem: mediaLibraryItem,
      itemForSegment: itemForSegment,
      sortMode: sortMode,
      isSearching: isSearching,
      searchBarText: searchBarText,
      displaySeparator: displaySeparator
    )
  }
}

// swiftformat:enable braces indent large_tuples trailingCommas
// swiftlint:enable empty_line_after_super function_body_length

How strange...using print statements within following line, I confirm that the values are indeed correct but the supplementary view does not reflect that: https://github.com/pointfreeco/swift-composable-architecture/blob/store-tree/Sources/ComposableArchitecture/Store.swift#L390.

@acosmicflamingo Just to confirm, this is new behavior you are seeing with this branch? This does not happen in 1.4 and you made no other changes to your app to support the new scope operation other than using case paths? I just want to make sure there are not other changes in your app that are unrelated to this PR that could be causing the problem.
Also if you can share a minimal project that demonstrates the behavior that would be best.

@mbrandonw that is correct. The commit where the regression occurs only includes changes where action parameters are using the keyPath syntax over the closure. I also verified that the scope where the issue occurs only exists in store-tree and not 1.4.2. I'll try to create a reproducer soon.

@mbrandonw this might be quite a corner case that only impacts me because I am doing something a little different in order to work around an issue that has to do with how UICollectionView itself handles applying snapshots when the snapshot sectionIdentifiers are dynamic. There was a workaround that an Apple engineer in the UICollectionView team recommended years ago where to work around this issue I should apply an empty snapshot first and then the actual snapshot to a data source...so it might not be a coincidence that the instances where I'm getting these issues are the same ones that involve this workaround. Any time a UICollectionReusableView instance is brought into view, it contains the right data as well.
I'll have to do further investigation but I do not think that this is a blocker for the store-tree release. In all other cases in my app where I utilize diffable data source snapshot API, everything works perfectly.

@acosmicflamingo Thanks for following up. Please do let us know if you uncover anything fishy happening.

Hmm...how does a Store know when to clear out the Store cache whose key comprises the keyPath and casePath of the state and action, respectively? With some print statements, I have found that a store instance theoretically has the right value, but the scoped store does not reflect that:
  if
    let item = store.withState(\.snapshotData.sections[safeIndex: indexPath.section])
  {
    print("Store.withState:", item)
  }
  if let scopedState = store.scope(
    state: \.snapshotData.sections[safeIndex: indexPath.section],
    action: \.self
  ).withState({ $0 }) {
    print("ScopedStore.withState", scopedState)
  }

Prints:
Store.withState: string("A")
ScopedStore.withState string("Next Week")
Store.withState: string("B")
ScopedStore.withState string("Today")

When I asked this question, I thought that there was some race condition going on (and maybe there still is), but now I can definitely say that a Store instance does certainly have the value I expect, but scoping to that with the cache gives me the wrong value. I know you asked for a reproducer but it's going to take a whole lot more time than I anticipated to do that.

I'm pretty confident I have found the root of the problem and it looks to be a race condition. In my scenario, I'm extracting some scoped state within a cell registration closure and it appears that by getting the cached Store, it's so absolutely fast that my SupplementaryView instance is extracting some state before the stateSubject publisher has even had a chance to emit a new stream and update itself with a new value: https://github.com/pointfreeco/swift-composable-architecture/blob/50b5cc6fffc09bf2c2a1ecca3058aa4b8e61b4da/Sources/ComposableArchitecture/Store.swift#L559C10-L559C10.
I can confirm this with some trusty print statements:
ChildState has updated in scoped subscription closure with: Optional(MediaLibraryFeature.MediaLibrarySection.string("A"))
Store.withState: string("A")
Returning childStore
ScopedStore.withState string("A")
MediaLibrarySectionCell updated with A
Store.withState: string("B")
Returning childStore
ScopedStore.withState string("Today")
MediaLibrarySectionCell updated with Today
ChildState has updated in scoped subscription closure with: Optional(MediaLibraryFeature.MediaLibrarySection.string("B"))
ChildState has updated in scoped subscription closure with: Optional(MediaLibraryFeature.MediaLibrarySection.string("A"))
ChildState has updated in scoped subscription closure with: Optional(MediaLibraryFeature.MediaLibrarySection.string("B"))

Notice that the first header view is correct, and the logs show that the subscription for the letter "A" is executed before any of the Store.scope functions within the cell registration closure have printed anything. Now notice that the order is flipped on the incorrect "Today" header at the bottom (which should be the letter "B"). It's very interesting that the logs show that MediaLibrarySectionCell have updated with the out-of-date state before "ChildState has updated in scoped subscription closure with: Optional(MediaLibraryFeature.MediaLibrarySection.string("B"))" ever appeared.

Thanks for the details, but without a minimal reproducing project there really isn't much help we can offer. I think that would be the best path forward.

@mbrandonw Yep, I understand. Since I've narrowed the problem down, it'll be easier for me to create a reproducer. In addition, there are things I can do on my end to work around this (like slapping on a receive(on: DispatchQueue.main). Thanks!

Here's a reproducer: https://github.com/acosmicflamingo/StoreScopingCacheReproducer.git. To reproduce, simply tap on the second segmented control button and you'll see that sometimes the header does not reflect what should be shown. These logs that I have also confirm what I'm seeing:
/*
Initial:
Store.withState: first("9")
ScopedStore.withState first("9")
MusicLibrarySectionCell updated with 9
Store.withState: first("A")
ScopedStore.withState first("A")
MusicLibrarySectionCell updated with A
Store.withState: first("B")
ScopedStore.withState first("B")
MusicLibrarySectionCell updated with B
Store.withState: first("C")
ScopedStore.withState first("C")
MusicLibrarySectionCell updated with C
Store.withState: first("D")
ScopedStore.withState first("D")
MusicLibrarySectionCell updated with D
<img width="368" alt="image" src="https://github.com/pointfreeco/swift-composable-architecture/assets/67525430/dc2aa161-0db4-490d-8e2a-632feeee1452">

After tapping second segment:
Store.withState: first("E")
ScopedStore.withState first("E")
MusicLibrarySectionCell updated with E
Store.withState: first("W")
ScopedStore.withState first("9")
MusicLibrarySectionCell updated with 9
Store.withState: first("S")
ScopedStore.withState first("S")
MusicLibrarySectionCell updated with S
Store.withState: first("H")
ScopedStore.withState first("H")
MusicLibrarySectionCell updated with H
Store.withState: first("D")
ScopedStore.withState first("D")
MusicLibrarySectionCell updated with D
Store.withState: first("E")
ScopedStore.withState first("E")
MusicLibrarySectionCell updated with E
Store.withState: first("S")
ScopedStore.withState first("S")
MusicLibrarySectionCell updated with S
Store.withState: first("H")
ScopedStore.withState first("H")
MusicLibrarySectionCell updated with H
Store.withState: first("W")
ScopedStore.withState first("9")
MusicLibrarySectionCell updated with 9
Store.withState: first("D")
ScopedStore.withState first("D")
MusicLibrarySectionCell updated with D
Store.withState: first("W")
ScopedStore.withState first("9")
MusicLibrarySectionCell updated with 9
Store.withState: first("H")
ScopedStore.withState first("H")
MusicLibrarySectionCell updated with H
Store.withState: first("S")
ScopedStore.withState first("S")
MusicLibrarySectionCell updated with S
Store.withState: first("E")
ScopedStore.withState first("E")
MusicLibrarySectionCell updated with E
<img width="363" alt="image" src="https://github.com/pointfreeco/swift-composable-architecture/assets/67525430/d7d90991-2d5b-49fa-8a64-72e06a524812">
*/

It is a race condition so sometimes it will work, in which case you just have to rebuild and try tapping again. Any of the headers could have the issue too; it's just a matter of looking in the log and seeing that Store.withState does not coincide with ScopedStore.withState. Sorry to dump cold water on the potential store-tree merge but maybe we'll find what I'm doing wrong :)

@acosmicflamingo It's hard to say. In order for us to best look into the issue we think we need a smaller reproducing example. The current one is quite complex and it's hard to tell if it's an issue with the library or in UIKit.
Ideally the problem could be expressed as a simple unit test, but if that's not possible then an integration test with fewer moving parts would be best.

@mbrandonw how is this latest commit (07930c863d1a69b850cbc667caebd0220defcdea)? If you check it out, you'll notice that I've removed all possible models, extensions, and view/controllers that makes the app more complex than it needs to be (and hopefully makes it easier to debug this issue). I've also added an integration test that will fail about half the time:
final class StoreScopingCacheReproducerUITests: XCTestCase {
  override func setUpWithError() throws {
    continueAfterFailure = false
  }

  func testSectionHeaderText() throws {
    let app = XCUIApplication()
    app.launch()

    // Always passes
    app.buttons["A to Z"].tap()
    let headerA = app.collectionViews.element(boundBy: 0).cells.element(boundBy: 0)
    XCTAssertEqual(headerA.label, "9")

    // Does not always pass
    app.buttons["Z to A"].tap()
    let headerZ = app.collectionViews.element(boundBy: 0).cells.element(boundBy: 0)
    XCTAssertEqual(headerZ.label, "W")
  }
}

Result: Executed 100 tests, with 58 failures (0 unexpected) in 527.966 (528.031) seconds


Incorrect search with mods that can be 'local' or 'global'

There are some inconsistencies when searching an item with mods that would otherwise be local, if not for the item type. I.e. when searching for a helmet with flat accuracy, it yields no results in trade because the used mod was the local accuracy mod and not the global instead.

Could you provide an example? (Ctrl + c on the item)


Module 1.1 Assignment

Given what you have learned about Git, why would you want to use Git in your classroom?

Students need to get to grips with industry standard tools so that they can start using them in other courses and can be productive in their internships.


Take whole instance of gettext

Address #5.
Unit tests pass. May need more refinement.

I am going to merge this but we will want to check actual usage before release.


Operator doesn't respect priorityClassName for collector or query

Jaeger operator doesn't respect setting priorityClassName for collector and query:
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
  name: jaeger
spec:
  strategy: production
  ingress:
    enabled: false
  collector:
    replicas: 1
    options:
      log-level: debug
    resources:
      requests:
        cpu: 100m
        memory: 256Mi
      limits:
        cpu: 300m
        memory: 512Mi
    priorityClassName: system-cluster-critical
  query:
    priorityClassName: system-cluster-critical

Setting above fields doesn't trigger any redeployment. Deleting ReplicaSet manually doesn't create pods with new configuration either. However, Collecotor/Query helm charts already supports this field. Am I missing something or there is really an issue?

Apparently, we have support only for the agent, added as part of https://github.com/jaegertracing/jaeger-operator/pull/1392 . Would you be willing to send a PR adding that to the collector/query?

What needs to be changed? I'm not a Go developer. Some hints or guidelines would be great.

You can use the linked PR as a model. The collector/query parts are close to the agent parts, should be easy to spot them. Once you send a PR, I can see if anything else is needed.

#1413 Please take a look into the changes.

A Go developer couldn't have done better, thanks!


v5.0.0 proposal

This is what a v5.0.0 would look like, can we get this right and clean up the backlog on master out of the door? This is a WIP, I haven't reviewed much of what's in here and can't vouch for its reliability or stability.
@cclauss @refack what does Python 3 support look like at the moment? Are we there yet?

[7a71d68bce] - win: use msbuild from the configure stage (Bartosz Sosnowski) #1654
[45e3221fd4] - Remove an outdated workaround for Python 2.4 (cclauss) #1650
[997bc3c748] - readme: add ARM64 info to MSVC setup instructions (Jon Kunkee) #1655
[721dc7d314] - Add ARM64 to MSBuild /Platform logic (Jon Kunkee) #1655
[a6e0a6c7ed] - gyp: move compile_commands_json (Paul Maréchal) #1661
[c515912d08] - doc: improve issue template (Bartosz Sosnowski) #1618
[cca2d66727] - doc: python info needs own header (Taylor D. Lee) #1245
[43031fadcb] - python: clean-up detection (João Reis) #1582
[49ab79d221] - python: more informative error (Refael Ackermann) #1269
[d3b21220a0] - win: fix delay-load hook for electron 4 (Andy Dill)
[6f5a408934] - tools: fix usage of inherited -fPIC and -fPIE (Jens) #1340
[8a83972743] - (SEMVER-MAJOR) bin: follow XDG OS conventions for storing data (Selwyn) #1570
[8098ebdeb4] - deps: replace osenv dependency with native os (Selwyn)
[92e8b52cee] - gyp: fix target --> self.target (cclauss)
[febdfa2137] - gyp: fix sntex error (cclauss) #1333
[588d333c14] - gyp: _winreg module was renamed to winreg in Python 3. (Craig Rodrigues)
[98226d198c] - gyp: replace basestring with str, but only on Python 3. (Craig Rodrigues)
[7535e4478e] - gyp: replace deprecated functions (Craig Rodrigues)
[2040cd21cc] - gyp: use print as a function, as specified in PEP 3105. (Craig Rodrigues)
[abef93ded5] - gyp: get ready for python 3 (cclauss)
[788e767179] - test: remove unused variable (João Reis)
[f83b457e03] - deps: bump request to 2.8.7, fixes heok/hawk issues (Rohit Hazra) #1492
[323cee7323] - deps: pin request version range (Refael Ackermann) #1300
[a5b7410497] - Add ESLint no-unused-vars rule (Jon Moss) #1497
[9e46872ea3] - bin,lib: remove extra comments/lines/spaces (Jon Moss) #1508
[3e64c780f5] - doc: lint README.md (Jon Moss) #1498

BTW this could be 4.0.0...
Python3 is close, Only thing that's known to be broken is cross-compilation, but I need a better CI environment to test the fix.

BTW this could be 4.0.0...

No, I just released 4.0.0 based on your 3.x proposal, that last release was semver-major so I just did the full bump

Agreed but could you please unpack a better CI environment for us?  What exactly is needed?

No, I just released 4.0.0 based on your 3.x proposal,

Ok. My main concern is/was coordination with npm...

a better CI environment

Currently GYP3 and node-gyp run on a limited set of platforms, i.e. what is available on free CI services; Windows, Ubuntu, and macOS over Intel x64.
IMHO a better testing environment would be the Node.js build cluster.

@rvagg can you include https://github.com/nodejs/node-gyp/pull/1679 and https://github.com/nodejs/node-gyp/pull/1739? Both just landed in master, thanks!

missing visual studio 2019 support which should be prioritized.

@rvagg can you include #1679 and #1739? Both just landed in master, thanks!

#1739 is the last Node.js-ish change necessary for Electron v6 to ship with ARM64 Windows support, so I'm particularly interested in seeing it land in an official node-gyp release. (Right now they have to manually patch node-gyp to HEAD to get builds out.)

Does this repo have any automated testing?  I am reluctant to endorse a release that is not supported by at least some level of automated testing.  With 225 days until the end of life of Python 2, I still see several calls to functionality that no longer exists in Python 3.  Some basic linting would really help.

Re testing: @cclauss we have a ci.nodejs.org job that can be triggered manually, not automatic yet but I think that should be doable with the github-bot setup.
Re 5.0.0: folks, how about we aim to get a 5.0.0 out within the next month, we can be ambitious with what's included but at the same time recommend to npm that they not pick it up as the default version straight away. That would alleviate some of the pressure to get this perfect but we'd still get it in the hands of a large number of people that are using it directly—and we can dogfood it ourselves.
Does that sound like a reasonable strategy? I'm struggling to come up with a better idea for moving forward here.

@rvagg it's still open if 5.0 will include the move to python3, right?

Some of the Python 3 issues that need to be addressed...
flake8 testing of https://github.com/nodejs/node-gyp on Python 3.7.1
$ flake8 . --count --select=E9,F63,F72,F82 --show-source --statistics
./gyp/tools/pretty_vcproj.py:31:12: F821 undefined name 'cmp'
    return cmp(x[0], y[0])
           ^
./gyp/tools/pretty_vcproj.py:59:12: F821 undefined name 'cmp'
    return cmp(get_string(x), get_string(y))
           ^
./gyp/pylib/gyp/MSVSVersion.py:189:18: F821 undefined name '_winreg'
    with OpenKey(_winreg.HKEY_LOCAL_MACHINE, subkey) as hkey:
                 ^
./gyp/pylib/gyp/input.py:1185:10: F632 use ==/!= to compare str, bytes, and int literals
      if the_dict_key is 'variables' and variable_name in the_dict:
         ^
./gyp/pylib/gyp/xcode_emulation.py:847:9: F821 undefined name 'cflags'
        cflags.append('-F' + platform_root + '/Developer/Library/Frameworks/')
        ^
./gyp/pylib/gyp/MSVSNew.py:55:12: F821 undefined name 'cmp'
    return cmp((self.name, self.get_guid()), (other.name, other.get_guid()))
           ^
./gyp/pylib/gyp/simple_copy.py:31:28: F821 undefined name 'long'
for x in (type(None), int, long, float,
                           ^
./gyp/pylib/gyp/simple_copy.py:32:22: F821 undefined name 'unicode'
          bool, str, unicode, type):
                     ^
./gyp/pylib/gyp/xcodeproj_file.py:327:56: F821 undefined name 'unicode'
      elif isinstance(value, str) or isinstance(value, unicode) or \
                                                       ^
./gyp/pylib/gyp/xcodeproj_file.py:606:28: F821 undefined name 'unicode'
    elif isinstance(value, unicode):
                           ^
./gyp/pylib/gyp/xcodeproj_file.py:769:37: F821 undefined name 'unicode'
             not (item.__class__ == unicode and property_type == str):
                                    ^
./gyp/pylib/gyp/xcodeproj_file.py:777:36: F821 undefined name 'unicode'
           not (value.__class__ == unicode and property_type == str):
                                   ^
./gyp/pylib/gyp/xcodeproj_file.py:791:58: F821 undefined name 'unicode'
        elif isinstance(value, str) or isinstance(value, unicode) or \
                                                         ^
./gyp/pylib/gyp/xcodeproj_file.py:1019:14: F821 undefined name 'cmp'
      return cmp(self.Name(), other.Name())
             ^
./gyp/pylib/gyp/xcodeproj_file.py:2736:18: F821 undefined name 'cmp'
                 cmp(x['ProjectRef'].Name().lower(),
                 ^
./gyp/pylib/gyp/xcodeproj_file.py:2845:14: F821 undefined name 'cmp'
      return cmp(x_index, y_index)
             ^
./gyp/pylib/gyp/xcodeproj_file.py:2893:52: F821 undefined name 'cmp'
                                  cmp=lambda x, y: cmp(x, y)):
                                                   ^
./gyp/pylib/gyp/xcodeproj_file.py:2920:45: F821 undefined name 'cmp'
                           cmp=lambda x, y: cmp(x.id, y.id)):
                                            ^
./test/fixtures/test-charmap.py:5:1: F821 undefined name 'reload'
reload(sys)
^
1     F632 use ==/!= to compare str, bytes, and int literals
18    F821 undefined name 'cmp'
19

E901,E999,F821,F822,F823 are the "showstopper" flake8 issues that can halt the runtime with a SyntaxError, NameError, etc. These 5 are different from most other flake8 issues which are merely "style violations" -- useful for readability but they do not effect runtime safety.

F821: undefined name name
F822: undefined name name in __all__
F823: local variable name referenced before assignment
E901: SyntaxError or IndentationError
E999: SyntaxError -- failed to compile a file into an Abstract Syntax Tree

@rvagg https://github.com/nodejs/node-gyp/pull/1762 just landed, it would be great if you can include it (essentially, all of master).
The strategy of just making the release and recommending to npm to not pick it up as default right away sounds like the best path forward to me. We just have to be prepared to release a fix quickly if any issue is actually found.
I'd rather see a v5.0.0 come out quickly because of https://github.com/nodejs/node-gyp/issues/1764. I don't see a reason to wait for Python 3 support, we can release v6.0.0 as soon as it's ready. It's even probably better to have it in its own release. Let me know if I can help with the release, thanks!

I've done a rebase and made a new CHANGELOG, it's in OP. Any blockers for pushing this out? If not, maybe we should do it tomorrow?
Again, let's not recommend npm pick this one up straight away but let's also get back onto a more regular cadence of releases and not let these things back up so much. Python 3 support seems like the top priority after this. We're not constrained by major version bump cadence but we should be prepared to go back and fix older majors for folks that really need things fixed but can't afford the breakage, LTS-style.

Published v5.0.0.
@refack or @joaocgreis do either of you have a login to the new npm bug tracker? We can't open issues on the repo anymore. We need to let them know not to pick this one up until we have a patch or minor release or two and that we can continue to patch 4.x if there are critical bugs. I thought about opening a PR to do it but that'd be a bit too obnoxious I think.

Thanks @rvagg!
I opened this in npm: https://npm.community/t/node-gyp-v5-0-0-released/8179


[Feat]: IMPROVE SEO BY ADDING IMPORTANT META ELEMENTS 🚀

Is your feature request related to a problem? Please describe.

This problem is related to the aspect of search engine optimization

Describe the solution you'd like.

The <meta> elements in HTML are used to provide metadata or additional information about an HTML document.
They help with specifying the character encoding, defining the viewport for responsive design, setting the page title, and providing page descriptions.
They assist search engines, browsers, and other web applications in understanding and processing the webpage's content effectively.
I want to add important Meta elements because in HTML they play a crucial role in providing information about the webpage to browsers and search engines and for the above mentioned reasons.

Describe alternatives you've considered.

There's no alternative for <meta> elements

Show us the magic with screenshots
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

Hey there @avinashkranjan  👋🏻,
Please make sure to assign this issue to me as soon as possible so that i can proceed my progress regarding fixing this issue.
Thank you!


dbeaver/pro#1822 Add more keywords to non-reserved list

Please try to call your table or columns with these keywords and then autocomplete it.
(You won't be able to call an identifier with this name in some databases, it's okay)
COMMITTED, REPEATABLE, SERIALIZABLE, TYPE, UNCOMMITTED, CURRENT_USER, SESSION_USER, SYSTEM_USER, USER, VALUE, DATE, YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, ZONE, ACTION, ADD, AUTHORIZATION, BY, CASCADE, CASCADED, CATALOG, COALESCE, COMMIT, CONSTRAINT, CONSTRAINTS, CORRESPONDING, COUNT, DEFERRABLE, DEFERRED, IMMEDIATE, EXTRACT, FULL, GLOBAL, LOCAL, INDICATOR, INITIALLY, INTERVAL, ISOLATION, KEY, LEVEL, NAMES, NO, NULLIF, ONLY, OVERLAPS, PARTIAL, PRESERVE, READ, RESTRICT, ROLLBACK, SCHEMA, SESSION, SET, TEMPORARY, TIME, TIMESTAMP, TIMEZONE_HOUR, TIMEZONE_MINUTE, TRANSACTION, VIEW, WORK, WRITE

Verified


Improve handling of "User has too many peers"

When the user tries to registers his 11th peer, we should email him a link to
a page where he can delete peers

or request more peers


LUISGen build failure in Travis

Tool
Name: LuisGen
Version: 2.0.0
OS: Windows 10 Pro V1803
Describe the bug
When building BotBuilder-Tools project, the message from lerna has an error when displaying LUISGen name.

This is because the package.json is missing the name property. We traced the file's history and identified this commit moving the original file, and this other commit restoring it without the property. The Travis build, despite being a successful build, the publish of LUISGen tool is failing.

To Reproduce
Steps to reproduce the behavior:

Run npm run build command in BotBuilder-Tools
Check the lerna result in the terminal

Expected behavior
The lerna result should state the correct name for the different tools.

[bug]

@dfavretto I just filed (and fixed) #653, which was a broken build of the LuisGen Nuget package.
You can see that the LuisGen Nuget package is now publishing to our daily build feed.
... although the version # is wrong. :(

Fixed in the currently daily builds.


nixos/thermald: improve doc and code about configFile and adaptive

Description of changes
Fix the nixos thermald services ignoring the config file because of the "--adaptative" flag (see #201402).
Tested locally on my laptop by replacing the nixpkgs input in my nixos config flake by my fork with the fix.

Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[X] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I don't know how to resolve merge conflicts without making another commit, also what should I rename the PR to ?

See step 7 of the related doc.

There are some guide about solving merge conflicts there.
Making another PR is also fine.  Ping me there if you do that.

what should I rename the PR to

Something like nixos/thermald: improve doc and code about configFile and adaptive

Should be all good now, thanks for the help !

Oops sorry, forgot to disable auto-formatting

I really am making every mistake I am so sorry


added failing test for #13522

added failing test for #13522
regression after 2.0.11 release.
Working on a fix. - done.

@rob006 as you have been involved in UrlManager changes in the past, you might want to take a look at this one.

I think that #12691 created this bug and this should be fixed in UrlRule.

I do not see how exactly it introduced it but I agree that it may be better to fix it in UrlRule.

I checked again and I think I'm wrong. This is not regression, this bug exist even in 2.0.5. In that case this fix looks valid to me.

@cebe merge?