Broken on Safari 14

What is the current behavior?
Save button doesn't function correctly and Button color not updating to reflect selection.
Please provide the steps to reproduce:

Use the demo https://simonwep.github.io/pickr/ on the latest version of Safari.
Your environment:
Version (see Pickr.version): 1.7.2
Used bundle (es5 or normal one): Both
Used theme (default is classic): All
Browser-version:  Safari 14.0 (156<IP_ADDRESS>.9, 15610)
Operating-system:  macOS 10.15.6 (19G2021)

I'm also experiencing this on the latest version of Safari

I don't own a mac nor have access to the latest Safari version (only v12) - You one of you describe what is happening in detail? Maybe there's an error message? Or is there a page where I can see all the changes from Safari 13 to Safari 14?

There are no errors, it appears the actual values work fine the issue is actually rendering. If I resize the browser window it shows the correct colours:
https://www.dropbox.com/s/45zzf88gcq68k7c/picker-safari-issue-2.mov?dl=0
Interestingly the Classic theme selection preview on the left hand side works fine:

but it doesn't on Monolith:

Clicking save on both only updates the button colour after resizing the browser (and other such interactions)

Ugh, that is really strange (and difficult to fix without safari) - at least I won't be able to fix that, I'll mark this issue maybe someone else could take a look at it :)

It works well on Safari version 13.1.2 (136<IP_ADDRESS>.5) BTW.

That is definitely a Safari related bug. I was able to at least update the color after saving with this method:
pickr.on('save', function(hsva, instance){
    pickr.hide();
    $input.focus();
});

But the problem still exists even on page load. The correct "default" color is not applied until the browser is either resized, or even when I toggle the console. I even tried $(window).trigger('resize') after initialising, but without luck. It even works if I open it in Safari, open another window (any other app) and then return to Safari. Really strange.

I had this same issue. For me, the color text output in the bottom left was updating as I changed the slider, but the color block on the left wasn't. Same thing would happen when I clicked, sometimes, on two similar colors in the swatches.
When the update occurred, I looked and it seemed to be setting the active-color block's color style instead of the background-color for some reason.
I set an event listener:
pickr.on('change', pickrColorChange);

When the color change event happened, I'd grab the active color element and set the background color instead of the color:
function pickrColorChange(instance) {
    const rgbaColorArray = instance.toRGBA();
    var currentColorDisplayElement = document.querySelector('.pcr-current-color');
    currentColorDisplayElement.style.backgroundColor = `rgb(${rgbaColorArray[0]}, ${rgbaColorArray[1]}, ${rgbaColorArray[2]})`;
}

I didn't need opacity (but that's an easy addition) and only had one instance ever, so this worked for my needs. You could model your solution around this if you need.
If it's setting the color style, maybe the solution here is to change the style being set from "color" to "background-color" in the color change method in Pickr? or both?

Thanks @fjaxyu for the inspiration. For anyone else that has multiple picker instances, here's how I fixed it with just two lines:
button.style.backgroundColor = button.style.color;```

I placed this in the `save` event handler, but you should be able to use this anywhere that you have access to the Pickr instance.

Thanks @fjaxyu for the inspiration. For anyone else that has multiple picker instances, here's how I fixed it with just two lines:
let button = instance.getRoot().button;  button.style.backgroundColor = button.style.color;
I placed this in the save event handler, but you should be able to use this anywhere that you have access to the Pickr instance.

Thanks @fjaxyu for the inspiration. For anyone else that has multiple picker instances, here's how I fixed it with just two lines:
let button = instance.getRoot().button;
button.style.backgroundColor = button.style.color;
I placed this in the save event handler, but you should be able to use this anywhere that you have access to the Pickr instance.

Thanks @fjaxyu for the inspiration. For anyone else that has multiple picker instances, here's how I fixed it with just two lines:
let button = instance.getRoot().button;
button.style.backgroundColor = button.style.color;

I placed this in the save event handler, but you should be able to use this anywhere that you have access to the Pickr instance.

@edwinfinch This works with all colors except #ffffff. I had to put this in a init method because the problem occurs directly on page load for me.
.on('init', function(instance){
    var button = instance.getRoot().button;
    button.style.backgroundColor = instance._color.toHEXA().toString();
});

I tried a few things that came to mind, but was not able to get white working. Does it work for you with #ffffff?

@MrMooky it does work for me so I won't be able to help you unfortunately.
@Simonwep why did you remove the bug label?

@edwinfinch I'd rather say that this is a safari-related bug where currentColor does not update when color should trigger a re-paint. It wouldn't be the first time Safari doesn't follow a spec or behaves in a weird way hence I would only call that  a "browser-quirk", it's not a general bug. Changing color should change currentColor and therefore background. It's part of the spec:

The value of the ‘color’ property. The used value of the ‘currentColor’ keyword is the computed value of the ‘color’ property. If the ‘currentColor’ keyword is set on the ‘color’ property itself, it is treated as ‘color: inherit’.

Safari seems to ignore the computed part. What I found out with a friends laptop is that, if you resize the browser, the color does change. So Safari is missing a repaint cycle.
A fix would be using CSS variables, I'll take a look at this on the next weekend.

Still broken on Safari 14.0.3 (166<IP_ADDRESS>.7)

@MrMooky @swaterfall @caspii
I just pushed an updated version with CSS Variables instead. Of course this means that IE11 support is completely gone but I never intented to support it anyways (and anyways, safari seems to be the new IE11). Since I don't have any device with safari on it, could you please verify if it's now working as expected?

@Simonwep I updated to this version and now color palettes are not visible. They still function, but are not previewed.

@Teraskull Huh, which browser?

Edge Chromium Version 91.0.838.3 (Official build) dev (64-bit)

Okay, it works on the stable version (89) so I don't consider this as a bug (this one is on edge and you're using a dev version, it's very likely that some things don't work there).

@Simonwep It doesn't work for me even on stable version 89, and it is working with the previous commit. So I believe it's a breaking change somewhere.

@Simonwep thanks for your efforts!
Here's what I'm seeing on Version 14.0.3 (166<IP_ADDRESS>.7)

@caspii would you be able to figure out what's wrong with the swatches and color-preview? I can imagine it'd take me quite some time to figure it out without being able to test it...

@Simonwep unfortunately I'm not a frontend-crack, but here's what I've found out:

The problem also exists on Chrome (Version 89.0.4389.114 (Official Build) (arm64))
A CSS variable color is being applied to the pcr-button button, but it's not working. Even overwriting this property in dev tools with a normal (non-variable) does not cause the color to be applied to the button.
I can see the following problem in dev tools which may be related:

Yes, unfortunately broken on safari 14 both desktop and mobile.


Is reward_fn equal to log_softmax

I noticed that the scores in reward_fn is actually equal to logits_i - logsumexp(logits).
I think this expression can be calculated directly by log_softmax. Why not use log_softmax?
https://github.com/microsoft/LMOps/blob/5fbf5bcd6e6760fa95aaaf945fb5d9cb033135f6/minillm/minillm/reward.py#L33

This is because for models with tensor parallelism, log_softmax should be computed as logits_i - logsumexp(logits). To maintain consistency and compare the results, we also use logits_i - logsumexp(logits) in normal scenarios.

This is because for models with tensor parallelism, log_softmax should be computed as logits_i - logsumexp(logits). To maintain consistency and compare the results, we also use logits_i - logsumexp(logits) in normal scenarios.

Understood. Thanks for your reply.


Fix configurable table creation error

Purpose
$subject
Fixes #30228
Approach
The issue is caused when an intersection type (record & readonly) is not recognized as a selectively immutable type at TypeChecker. Therefore added relevant switch case implementations.
Samples
import ballerina/io;

type Person record {|
    string name;
    Address address;
|};

type Address readonly & record {|
    string city;
|};

type PersonTable table<Person> key(name) & readonly;

configurable PersonTable person = ?;

public function main() {
    io:println(person);
}

In Config.toml
[[person]]
name = "Hinduja"
address.city = "Colombo"

Remarks
Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[x] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[x] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Can we close https://github.com/ballerina-platform/ballerina-lang/issues/30200 with this PR

LGTM


How to run unittest? Some testcase cannot pass.

None.

run test:
nosetests -w tests/exchange test_bundle:TestExchangeBundle.test_ingest_csv
result:
/Users/baojg/Downloads/code/catalyst/catalyst/exchange/bundle_utils.py", line 289, in get_df_from_arrays
ohlcv[field] = arrays[index].flatten()
TypeError: 'NoneType' object is not subscriptable
Then many boto s3 log,
boto3.resources.factory: DEBUG: Loading s3:s3
test_exchange_bundle: DEBUG: to load raw arrays
test_exchange_bundle: WARNING: skipping ctable for bat_eth from 2017-06-03 00:00:00+00:00 to 2017-08-03 19:24:00+00:00: [Errno 2] No such file or directory: 'data/exchanges/bittrex/minute_bundle/57/05/570516.bcolz/open/meta/sizes
my question: who call the boto s3?

I believe that you are doing it right. We’re currently working improving
coverage on the develop branch at the moment. We’ve organized three test
suite all using data samples so we can easily tests across exchanges. I’m
not sure what’s calling s3 here, unless just importing the lib causes this.
We’ll take a look.
On Thu, Dec 21, 2017 at 6:00 AM baul<EMAIL_ADDRESS>wrote:

run test:
nosetests -w tests/exchange test_bundle:TestExchangeBundle.test_ingest_csv
result:
/Users/baojg/Downloads/code/catalyst/catalyst/exchange/bundle_utils.py",
line 289, in get_df_from_arrays
ohlcv[field] = arrays[index].flatten()
TypeError: 'NoneType' object is not subscriptable
Then many boto s3 log,
boto3.resources.factory: DEBUG: Loading s3:s3
test_exchange_bundle: DEBUG: to load raw arrays
test_exchange_bundle: WARNING: skipping ctable for bat_eth from 2017-06-03
00:00:00+00:00 to 2017-08-03 19:24:00+00:00: [Errno 2] No such file or
directory:
'data/exchanges/bittrex/minute_bundle/57/05/570516.bcolz/open/meta/sizes
my question: who call the boto s3?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/enigmampc/catalyst/issues/113#issuecomment-353357635,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABZ-QnHmEwAs4gPIssJczY-Hz0h65NXOks5tCmRugaJpZM4RJxV0
.

Fixed the s3 issue.

Thanks

We're doing some work on unit tests with the goal of having an automated test suite. Since there are many exchanges and markets which result in many edge cases which could go wrong, we're using a sampling method to avoid always testing against the same things.
Here are the first two test suites:
tests/exchange/test_suite_bundle.py
tests/exchange/test_suite_exchange.py
We're also adjusting the build-in Zipline tests to skip the non-applicable ones and ensure that the others pass. This will be ongoing for a little while but our goal is to reach 100% coverage.

Happy to know what you were doing. In fact, When run nosetest, too many error.

We have been working on utilising the unit tests and integrating catalyst with travis, as documented here.
This is a work in progress - more tests should be added from time to time to increase their coverage.


HSEARCH-4321 Mass indexing for multiple tenants at once

https://hibernate.atlassian.net/browse/HSEARCH-4321
To check with Yoann - I'm not sure about those loops in PojoMassIndexingBatchCoordinator over coordinatorContexts 😃

Sure 😃 feel free to add. I'm looking at the failing test though ... I suspect I've messed up something with the agents as it looks like index operations are not blocked by massindexing process 🥲, I won't push any changes for now.

@marko-bekhta Done, I pushed my changes along with a fix for the agent starting thingy.

The test failure looks like Oracle DB just died during the test... I'll assume this was a transient CI problem and merge.
Thanks!


New CartoDBfy exception and handling on import

Closes #6762
Related to changes in: https://github.com/CartoDB/cartodb-postgresql/pull/202
Merge docs: https://github.com/CartoDB/docs/pull/727

Test pending.

Hah, the Rails test is not passing because it's dependent on the code of the cartodbfication. @rafatower could you please review? :-)

@rafatower good to go? I guess this is a harmless deploy. :-)

:+1:


Spash-screen not displaying even after trying two different packages

My splash-screen is a complete black screen for some reason, although the app runs fine and I am not getting any issues in the app too. I tried manually setting up the splash screen from the drawable folder in android and also tried using flutter_native_splash: ^2.1.1 but it is still a black screen.
My flutter doctor:
[√] Flutter (Channel stable, 2.10.2, on Microsoft Windows [Version 10.0.19044.1586], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[√] Chrome - develop for the web
[X] Visual Studio - develop for Windows
X Visual Studio not installed; this is necessary for Windows development.
Download at https://visualstudio.microsoft.com/downloads/.
Please install the "Desktop development with C++" workload, including all of its default components
[√] Android Studio (version 2020.3)
[√] VS Code (version 1.65.2)
[√] Connected device (3 available)
[√] HTTP Host Availability
! Doctor found issues in 1 category.

@kavyabhargava
See this document section and check if you have already implemented as prescribed in it. The changes were made to splash screen after migration. See if that helps to resolve your issue.

@darshankawar, I checked and yes I have done all this, as I was following a course for the same. I am getting this in my debug console if this tells anything:
W/FlutterJNI( 6888): FlutterJNI.loadLibrary called more than once
W/FlutterJNI( 6888): FlutterJNI.prefetchDefaultFontManager called more than once
I/ResourceExtractor( 6888): Found extracted resources res_timestamp-1-1647899020343
W/FlutterJNI( 6888): FlutterJNI.init called more than once

The spash-screen part is comingup completely black

@kavyabhargava
Can you provide minimal complete reproducible code sample along with splash screen implementation (without using third party plugin) to see how are you implementing it ?

@kavyabhargava
Can you try this and see if it helps ?


Increase Role Name Length

Description of problem
Increase the length of the Role Name field.  It is currently set to a max length of 50.
Description of solution
Update the Roles table and make the RoleName column a nvarchar(150) or higher
Additional context
We use Roles a lot to associate DNN users to Industries or Departments and with a length of only 50 we have to abbreviate or utilize naming conventions.
Affected version

[x] 9.2.2
[x] 9.2.1
[x] 9.2
[x] 9.1.1
[x] 9.1
[x] 9.0

Solution
We have performed this on several sites by completing the following.
Update the following SQL table:
ALTER TABLE [Roles]
ALTER COLUMN [RoleName] NVARCHAR(250) NOT NULL
Updating the RoleName parameter to a NVARCHAR(150) or higher in the following stored procedures:
[dbo].[AddRole]
[dbo].[Export_RoleIdByName]
[dbo].[GetNonExpiredUsersByRoleName]
[dbo].[GetUserRolesByUsername]
[dbo].[GetUsersByRolename]
[dbo].[UpdateRole]
Update the \DesktopModules\Admin\Dnn.PersonaBar\Modules\Dnn.Roles\scripts\bundles\roles-bundle.js file so that the MaxLength on the Name field is 150 or higher.

I agree, 50 might be a bit too small, but considering nested roles in the future, we should not make them too large, which would prevent us from creating and indexing role paths.

I was going to weigh in that 50 seemed about right... certainly for the "Name" of something in the system. 100 or 150 characters would be too long to display in many of the dropdown/checkbox selection areas where you currently assign permissions.
One question I'd have is whether you are using the Description field? That would seem more applicable to a length of text that describes a role. Perhaps, instead of making the Role Name field longer, would it help to have a tooltip or similar action to display the Description?

Also there could be an issue with multiple roles and storage. I would be a fan if nothing more than 100 for many reasons

the AD provider creates roles and might get issues with role names, as they are created as "domain\AD_RoleName", therefore it might make sense to increase length of this property (still not above 100 chars), but I wouldn't increase space for it in tables and forms.

I agree, 50 might be a bit too small, but considering nested roles in the future, we should not make them too large, which would prevent us from creating and indexing role paths. Wouldn't 100 characters be sufficient for you as well?

100 characters would certainly help and would solve our issue in most cases.

I am putting this for 9.4.1, correct me if I am wrong, but I don't think this would be a breaking change right?


interp: fix assign of multiple return function call

A runtime builtin assignFromCall is added to handle multiple values returned at once. It is necessary if some of the values require to be set to interface values in the caller space, which is performed by reflect.Set in assignFromCall.
Fixes #1311.

This should also fix #1275.


Have separate-architectures flag include hip solutions

rocBLAS was seeing test failures when trying to use the separate-architectures flag from PR #1477 due to hip solutions not being included in the architecture specific TensileLibrary files. This PR makes two changes to fix this:

Adds hip solutions to each architecture file
Remove reindexing (which ensured each solution in a TensileLibrary file had a distinct index from solutions in other TensileLibrary files) The first change results in duplication of the hip solutions for each .dat file. There are a total of 707 hip kernels per architecture, compared to 40,000 kernels in total. The second change was originally intended for easy dynamic c++ library merging at runtime, however that code was cut from PR #1477, and at this point it introduces more risk of error, while not helping any current functionality. I think it would be worthwhile for me to revisit these changes after the release to create a separate TensileLibrary_hip.dat file with all of the hip solutions in it, and then reintroduce the reindexing and dynamic merging code when we have more time to confirm it's working correctly.

Since testing won't finish before Friday 3/18, we need @bragadeesh to approve merging - assuming it passes CI overnight.  Thanks.

rocBLAS #1117 with this PR passed rocblas-test fully on gfx90a.  gfx906 testing is in progress.


Mobile Number Validation Bug: Invalid Numbers Passing Validation

Describe the bug
The mobile number validation allows invalid phone numbers like +000000000000 and +9876543210123456, which ideally should not be considered valid. This issue is due to a bug in the regular expression used in the validation logic.
To Reproduce
Steps to reproduce the behavior:

Go to the mobile number validation function located here.
Try validating phone numbers like +000000000000 or +9876543210123456.
Observe that these numbers are incorrectly validated as valid.

Expected behavior
Phone numbers with formats like +000000000000 and overly long sequences like +9876543210123456 should not pass validation.
Additional context
This issue seems to be caused by the current regex pattern: regex link.

I think we should add some proper validations instead of using regex pattern bcz

Stricter regex fails for some valid numbers
Simpler regex validates the invalid numbers

cc: @sainak

Hi @vigneshhari, I see that PR #2588 has been merged into main. Should this GitHub issue be closed?

@JohnLu2004 It was removed from the scope of #2588 ,  this issue need to be solved separately.

Hi @DraKen0009 , Thanks for the follow-up. Could I be assigned this issue then? I'll use your comment as guidelines on how to properly validate

@JohnLu2004  I'll suggest you to write down your approach and get it approve first before working on it.

I've been checking out the issue and thinking about potential approaches to this issue. How do you feel about this approach on a high level?:
Use a carrier lookup service to check whether the phone number is assigned to an active carrier. The overhead would be paying for a monthly service though. There are free tiers, but we would easily go over the monthly limit.
We could also try OTP, but I think we would run into issues if a medical staff is entering in someone's phone number instead of the person themselves.

@DraKen0009 @Jacobjeevan I've been checking out the current regex pattern and i found that their is some issues on Indian mobile number regex and international mobile number regex(inefficient and overly complex) , i can simplify them to work better . Should i start working on this issue.

@ayushsaini7717  it's better to write down your approach if you have one , when asking to be assigned

@DraKen0009 the current regex allows invalid numbers like +000000000000 or overly long ones, So Update the validation logic to enforce stricter rules may be a good approach in which numbers should start with '+', then having a valid country code and the last not be all zeroes and have a maximum of 15 digits with more efficient regix pattern.

I'll suggest you to come up with the regex pattern first, bcz I did tried to use multiple patterns but wasn't able to find a acceptable solution.
So try to come up with some regex, test it out thoroughly and let us know the results.


Fix vulnerabilities

What could be fixed with npm audit fix was fixed
Then there is still 17 vulnerabilities.
From what I understood we can only act on :
rollup-plugin-postcss : I updated it manually but the vulnerability comes from cssnano and it seems like the fix has not been merged yet
@pika/pack : we already have the latest version

shall we close this and give it another push some day?


Add support for linking to members

I have the typedoc-plugin-mdn-links installed, and I would like for it to support linking to members. Basically:
@link Iterator | This works}
{@link Iterator#from | This doesn't work}
{@link Iterator#from() | This doesn't work}
{@link Iterator.from | This doesn't work}
{@link Iterator.from() | This doesn't work}
The ones that don't work should go to https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/from.
Thanks.

Hmm... lib.esnext.iterator.d.ts isn't a simple file, so breaks assumptions made here.

{@link Iterator#from | This doesn't work}
{@link Iterator#from() | This doesn't work}

This isn't valid because from is a static method, not an instance method

{@link Iterator.from() | This doesn't work}

This isn't valid because links are not function calls, and do not include parenthesis.

{@link Iterator.from() | This doesn't work}

This works in 4.0


[12/x][programmable transactions] Migration of some Pay and Transfer uses

Description

Migrated internals for helpers that create Pay* and Transfer* transactions
Migrated other direct invocations
Fixed gas size logic for programmable transactions
Added Sui JSON Programmable Transaction types

Test Plan

Updated existing tests

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[X] user-visible impact
[X] breaking change for a client SDKs
[X] breaking change for FNs (FN binary must upgrade)
[X] breaking change for validators or node operators (must upgrade binaries)
[X] breaking change for on-chain data layout
[X] necessitate either a data wipe or data migration

Release notes

Now built on #8905


Update learner.py

Fixed apparent errors regarding multi GPUs.

Hello, No its correct the way it is.  You only need DistributedDataParallel in case of single GPU setup.  We can use torch.nn.DataParallel for multiple GPU scenario.


verifying window.FirfebasePlugin.subscribe works

Is there a method, or could one be created, to verify that the:
window.FirebasePlugin.subscribe("myTopic") is actually working?  Is there a confirmation response we can get?
I am registering users to specific topics and they are not appearing in the FCM Console (test cloud notifications).  I see other/older topic ids but over the past two weeks new topics aren't be created and I need to see what FCM is responding with per subscribe/unsubscribe.

Well, it turns out its working.  Apparently using FCM Cloud-Notifications message console to test sending messages to a topic is NOT an accurate way of determining if your topics have succeeded in being registered.  When I pull I users device subscriptions I can see all the correct topics, even the new ones that were just created - but NONE of them show up in the Message console when trying to send a message by "topic".
Google really needs to have a topic manager in the FCM console.  We should be able to just view all topics, delete them (which auto-removes all registered devices) from a central location.  Unless I am mistaken, nothing like this exists.

Closing.


blocked_expressions highlighting sometimes messed up

See the following two screenshots, from this page:
https://www.kolzchut.org.il/he/הפסקת_הריון
It starts out OK, but then we suddently have whole examples in bold.  It looks like maybe you add the  tags and then cut the string, causing the tags to flow over.

I tried to see this live in action, but on this view it doesn't show me anything: https://www.kolzchut.org.il/he/Special:PageQuality/report?page_id=4497
Could you please share the link where I can find the HTML for the results?

So, I can recreate it using this revision:
www.kolzchut.org.il/w/he/index.php?title=הפסקת_היריון&action=edit&oldid=454915
Now, it's actually very simple (but took me over an hour to debug):

Let's use the word "הריון" as the blocked expression
The DB field is for examples 100 characters long
The offending sentence is "להפסיק את ההריון. סעיף 316 לחוק העונשין מפרט את המקרים שבהם יש לוועדה סמכות לאשר הפסקת הריון"
The sentence you take is 92 characters long, and then you add  - another 8 characters. This should work perfectly, only the expression shows twice - 8 characters too many.
so you end up with this:

להפסיק את ההריון. סעיף 316 לחוק העונשין מפרט את המקרים שבהם יש לוועדה סמכות לאשר הפסקת הריון
which gets cut down to להפסיק את ההריון. סעיף 316 לחוק העונשין מפרט את המקרים שבהם יש לוועדה סמכות לאשר הפסקת הר

And we have a runaway  tag...

The simplest solution is to use substr_replace() instead of str_replace(), and replace only the 1st occurrence of the expression.
(And while you're at it, could you remove the trim( $blocked_expression )? Many times we need to add a space before and/or after the expression, so that it won't be considered a match in the middle of another word.)

I don't fully understand this. But do you think just adding str_replace with count 1 should solve the problem?
Here's the function definition:
str_replace(
array|string $search,
array|string $replace,
string|array $subject,
int &$count = null
): string|array

Count doesn't do what you think it does:
If passed, this will be set to the number of replacements performed
So it doesn't limit the number of replacements. Otherwise, this would be perfect.
Use whatever you need to make sure only a single replacement is performed.

Fixed in https://github.com/nischayn22/PageQuality/commit/00fed7378fcebf97572dc292612838c39513315c

Seems to work well :-)


#11 revoke permission command

Would you like to add a discord command which executes that RevokePermissionAsync?
Now that you mention it, it does make sense to include that in this issue :p
Would that be placed in Commands.Management.Permissions?

@Krypton-Nova Yes.


Dateformat.parse seems to be returning wrong timing

Describe the bug
I tried formatting "2023-03-01T06:10:28.608213Z" this date using
DateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse("2023-03-01T06:10:28.608213Z").
I got back "2023-03-01 06:20:36:213"
To Reproduce
This happens with all dates, the Dateformat.parse seems to be adding about 10 minutes to the given time.
System info
Using intl: ^0.17.0 as intl: ^0.18.0 is incompatible with awesome_notifications: ^0.7.4+1
Here is the link to that issue even if its a different issue -> https://github.com/rafaelsetragni/awesome_notifications/issues/735

Thanks for filing this.
I suspect that the parser is adding 608213 "fractional seconds" to the time. As you specified SSS, this means milliseconds, which corresponds roughly to 10 minutes.
In general, the symbols such as S are not placeholders for numbers, but rather a skeleton. For a fixed DateTime pattern which is not supposed to be locale-specific, consider using package:convert instead.


Optimize and add docstring to layer_freezer

Signed-off-by: Jael Gu<EMAIL_ADDRESS>

Codecov Report

Merging #720 (69eff8b) into main (0486fee) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #720      +/-   ##
==========================================
- Coverage   72.39%   72.39%   -0.01%
==========================================
  Files         168      168
  Lines        7304     7303       -1
  Branches     1144     1144
==========================================
- Hits         5288     5287       -1
  Misses       1678     1678
  Partials      338      338

Impacted Files
Coverage Δ

towhee/trainer/utils/layer_freezer.py
86.79% <100.00%> (-0.25%)
:arrow_down:

Continue to review full report at Codecov.

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

/lgtm
/approve


proposal: add full (correct) testsuite

We need a full testsuite. Currently what we have in test is not sufficient and does not use the files from dist.
Let me know how we can help here.

Hey there Daniel,
I'm from Imgix and starting from today I'll be responsible for maintaining this repo (along with all the other Imgix JS repositories) in the future. Testing is high on our priority list, so I'd like to see how we could collaborate on developing a decent test suite for luminous.
You can help here by:

outlining any issues with the testing at a high level (you've already mentioned that there are no tests which use dist)
outline any specific scenarios or configurations that aren't tested
outline any specific tests that you would like added.

Then, we can discuss what the best way to move forward is. We are committed to ensuring the proper testing of this library in the future.

Fred, Imgix

Hey @DanielRuf, just checking in again to see if you had any ideas on how we could improve the tests for this library. Thanks!


Isolate unit tests

Relocate .spec files to /tests, reconfigure gulp config to support change
another notch in #121, this task removes the work of adding the mountain of code style exceptions that would be support the .specs interwoven with the app
@chriskacerguis 🌏

👍

What's the darga and euwe status of this PR?

@himdel do we need the euwe tag?  I believe that this was in there before the merge, and so it should have it in there.  I'll add the Darga tag

Aah, ok, could be, thanks :) adding euwe/yes to #192 then :)


Performance Collector NullPointer Exception

Hi,
When I configured AppDYnamics collector with a dashboard configured for Node health metrics, I am getting a Nnullpointer Exception when I run the AppD collector and no data is reflecting on Hygieia Performance widget.
Is there a specific requirement for Dashboard content on AppD?

@ganeshmuralidhar  - share collector log.

here it is . Also attached is the snapshot of my appdynamics.properties file.
INFO  c.c.d.collector.CollectorTask - Running Collector: Appdynamics
2017-06-16 09:37:01,009 ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task.
java.lang.NullPointerException: null
at com.capitalone.dashboard.collector.AppdynamicsSettin

gs.getInstanceUrlList(AppdynamicsSettings.java:38) ~[appdynamics-performance-collector-2.0.5-SNAPSHOT.jar!/:2.0.5-SNAPSHOT]
at com.capitalone.dashboard.model.AppdynamicsCollector.prototype(AppdynamicsCollector.java:31) ~[appdynamics-performance-collector-2.0.5-SNAPSHOT.jar!/:2.0.5-SNAPSHOT]
at com.capitalone.dashboard.collector.AppdynamicsCollectorTask.getCollector(AppdynamicsCollectorTask.java:50) ~[appdynamics-performance-collector-2.0.5-SNAPSHOT.jar!/:2.0.5-SNAPSHOT]
at com.capitalone.dashboard.collector.AppdynamicsCollectorTask.getCollector(AppdynamicsCollectorTask.java:20) ~[appdynamics-performance-collector-2.0.5-SNAPSHOT.jar!/:2.0.5-SNAPSHOT]
at com.capitalone.dashboard.collector.CollectorTask.run(CollectorTask.java:48) ~[core-2.0.5-SNAPSHOT.jar!/:2.0.5-SNAPSHOT]
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81) [spring-context-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_101]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_101]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_101]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_101]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_101]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_101]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]

@ganeshmuralidhar   appdynamics.instanceUrl is incorrect, use below property name instead in your prop file. I will update Readme.
appdynamics.instanceUrls=

Updated and now I am seeing a 401 Unauthorized error....
2017-06-16 22:07:01,199 INFO  c.c.d.collector.CollectorTask - -----------------------------------
2017-06-16 22:07:01,375 ERROR c.c.d.c.DefaultAppdynamicsClient - client exception loading applications
org.springframework.web.client.HttpClientErrorException: 401 Unauthorized
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:91) ~[spring-web-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:641) ~[spring-web-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:597) ~[spring-web-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:572) ~[spring-web-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:493) ~[spring-web-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at com.capitalone.dashboard.collector.DefaultAppdynamicsClient.makeRestCall(DefaultAppdynamicsClient.java:413) ~[appdynamics-performance-collector-2.0.5-SNAPSHOT.jar!/:2.0.5-SNAPSHOT]
at com.capitalone.dashboard.collector.DefaultAppdynamicsClient.getApplications(DefaultAppdynamicsClient.java:89) ~[appdynamics-performance-collector-2.0.5-SNAPSHOT.jar!/:2.0.5-SNAPSHOT]
at com.capitalone.dashboard.collector.AppdynamicsCollectorTask.collect(AppdynamicsCollectorTask.java:79) [appdynamics-performance-collector-2.0.5-SNAPSHOT.jar!/:2.0.5-SNAPSHOT]
at com.capitalone.dashboard.collector.AppdynamicsCollectorTask.collect(AppdynamicsCollectorTask.java:20) [appdynamics-performance-collector-2.0.5-SNAPSHOT.jar!/:2.0.5-SNAPSHOT]
at com.capitalone.dashboard.collector.CollectorTask.run(CollectorTask.java:63) [core-2.0.5-SNAPSHOT.jar!/:2.0.5-SNAPSHOT]
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [spring-context-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81) [spring-context-4.2.5.RELEASE.jar!/:4.2.5.RELEASE]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_101]

@ganeshmuralidhar - see if you were able to login to instance url from browser using the username and pwd given in prop file.

@ganeshmuralidhar  login to appdynamics -> settings -> license
check Account name - for me it is customer1 , check your account name and replace it as below.
In you property file replace appdynamics.username = username@customer1  and run collector

I am able to login for sure manually and hence I have this creds in the prop file.
Now, when tried with your second option of username@customer .... This seems to be working... i can see the logs saying something like below....
2017-06-20 09:43:01,052 INFO  c.c.d.collector.CollectorTask - Fetched applications   1         0s
2017-06-20 09:43:01,052 INFO  c.c.d.collector.CollectorTask - New appplications:      0        0s
2017-06-20 09:43:01,054 INFO  c.c.d.collector.CollectorTask - Updated                 0        0s
2017-06-20 09:43:01,054 INFO  c.c.d.collector.CollectorTask - Finished                         0s
2017-06-20 09:43:01,074 INFO  c.c.d.collector.CollectorTask - Fetched applications   1         0s
2017-06-20 09:43:01,075 INFO  c.c.d.collector.CollectorTask - New appplications:      0        0s
2017-06-20 09:43:01,077 INFO  c.c.d.collector.CollectorTask - Updated                 0        0s
2017-06-20 09:43:01,077 INFO  c.c.d.collector.CollectorTask - Finished                         0s
However, i don't see any stats on the Performance widget. Is there a specific metric I need to give on the AppD dashboard to get the values back on Hygieia?

@ganeshmuralidhar  give it some time to collect data and it should show up on the screen. You can also check MongoDB - performance collection to see appD data. You should see data similar to screenshot.  Reopen if issue is not resolved.

I left it for more than 30 mins and still do not see any metrics. Consider this request and can you please provide me below data:

What are the metrics you have in your AppDynamics dashboard?
What is the URL you mentioned in your Appd.properties file? (if you share a screenshot with details masked, it will be helpful)

Hi Team,
Can you please explain how to configure appDynamics in Hygeiai dashboard and i am not install any appdynamic tool in my server.
Please explain step by step.


Forward proxy support

Description
For air-gapped deployments (with no direct internet access) Jellyseerr should be able to make external requests using a forward proxy.
This functionality is in place for other *arr tools like Radarr, Sonarr, Lidarr, etc.
Desired Behavior
External traffic should be able to use the http_proxy, https_proxy, no_proxy env vars or have a settings option similar to Radarr/Sonarr to define forward proxy settings.
Additional Context
No response
Code of Conduct

[X] I agree to follow Jellyseerr's Code of Conduct

Duplicate of #1025


[MB-4393] Removing transcom-ppp from .envrc and vault.go

Description
Originally tried this in #5490 but needed reverted in #5882.
transcom-ppp doesn't exist, and transcom-com-legacy is going away. transcom-gov-* is the future. Because of the architecture change in AWS, the hard-coded nature of transcom-ppp should no longer exist. We do need AWS_PROFILE to be set, but it could vary depending on what task is being ran. Hopefully this ensures it is set, but allows it to be anything -- whether or not it's a valid AWS_PROFILE is another thing all together, and not something this takes into consideration.

Messages

:book:
:link: MB-4393

  Generated by :no_entry_sign: dangerJS against aebd246c675ebca3eff046f0c9786eea24bcfbad

noice. I still approve.

omg accidentally closed plz forgive so sorry!!


Disabling the Pixels

We want to use the sensor with high frame rates (3kHz). According to what is written in the datasheet, we need to reduce the number of pixels to 8. We are trying to do this right now. But we got a few issues.
How can we manage the pixels safely, how safe is it to disable random pixels? .
We found a "argus_map.h" header file in API. We thought, we can use macros in it. But, what is our 32-bit pixel mask that is used as arguments in macro functions here? How can we determine this?
And last one, can we find an example C/C++ code about disabling pixels safely?

Hello,
We are using an AFBR-S50MV85I and we want to artificially reduce the FoV by disabling some pixels.
We tried to use the PIXELXY_DISABLE(msk, x, y) macro defined in argus_map.h but I'm not sure about the way to use it.
Here is the relevant code section :

	argus_cfg_pba_t pba;
	status = Argus_GetConfigurationPixelBinning(hnd, &pba);
	handle_error(status, "Get PBA configuration failed!");

	// Exclude pixels from the PBA to reduce the FoV
	PIXELXY_DISABLE(pba.PrefilterMask, 0, 0);
	PIXELXY_DISABLE(pba.PrefilterMask, 0, 1);
	PIXELXY_DISABLE(pba.PrefilterMask, 0, 2);
	PIXELXY_DISABLE(pba.PrefilterMask, 0, 3);
	PIXELXY_DISABLE(pba.PrefilterMask, 7, 0);
	PIXELXY_DISABLE(pba.PrefilterMask, 7, 1);
	PIXELXY_DISABLE(pba.PrefilterMask, 7, 2);
	PIXELXY_DISABLE(pba.PrefilterMask, 7, 3);

	status = Argus_SetConfigurationPixelBinning(hnd, &pba);
	handle_error(status, "Set PBA configuration failed!");

It does not appear to change anything. I've tried to disable all pixels to make it clear but it behave the same. Can you provide any guidance on how to disable pixels ?
Thanks

Hi, just replace the PIXELXY_DISABLE with PIXELXY_ENABLE.
The prefilter mask determines which pixels are removed (i.e. filtered) from the bin. This is done by setting the pixels corresponding bit in the mask to 1. Thus, you need to enable that bit in the mask which in turn removes the pixel.
Sorry for the confusion.
Have a nice weekend!


Can not reorder dnd of Metrics

Bug description
Unable to move the metrics around in the table E.g. I want to have the sorting WoW, MoM, YoY instead of WoW, YoY, MoM but it is no possible anymore. Is it intended or just a bug. I can see that there is improved drag and rop experience when editing a chart but nothing says that it disable any editing after.
How to reproduce the bug

Go to Charts
Get two metrics in the metrics pane for Table view
Try to reorder them.

Screenshots/recordings
No response
Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Chrome
Additional context
No response
Checklist

[ ] I have searched Superset docs and Slack and didn't find a solution to my problem.
[ ] I have searched the GitHub issue tracker and didn't find a similar bug report.
[ ] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

cc @justinpark - could this be related to this change? https://github.com/apache/superset/pull/27558


Fix end-to-end test on Yarn

Should fix https://github.com/facebookincubator/create-react-app/issues/1166.
Root cause is https://github.com/yarnpkg/yarn/issues/2142.

Yay.


Remove unnecessary pdb files

Notifu ships with 2 pdb files, which are only used for debugging programs. These pdb files are quite large, taking up 8.4 mb of space altogether, and are the two largest files in the repo. Deleting them does not affect notifu's behavior. Therefore, these big, unnecessary pdb files should be removed.

Ah, thanks! Thats what I get for not making more windows execs.


Routing Congestion Heatmap Not Populated with Data

We are making a mixed signal project for an upcoming ChipIgnite. We hand-drew a large analog GDS file, comprising multiple cells of different devices. We then imported a macro of GDS generated from a separate, purely digital Openlane hardening. We called this final top level GDS 'final_mixed_signal_top' and instantiated it within Caravel_user_project. Running it through Openlane to build User_project_wrapper, our design fails at Step 10 (Global Routing) and requests we analyse the Heatmap in the GUI. However, when we open the .ODB file, we get an Error message saying that the Routine Congestion Heatmap is not populated with Data.
Possible solutions so far: Run Openroad interactively to examine the heatmap from there?
Questions: Is it possible to route a mixed signal GDS which was laid out this way?

Please attach the test case.

issue_reproducible.tar.gz

Your LEF abstract is too detailed.  You should bring the pins out to the edges and create a simple OBS to cover the block.

@ellen-wood :  If you used magic to create the LEF, then use lef write -hide to make sure that the interior of the macro is just a stack of obstruction blocks.  If the project is placed in the user project wrapper cell, then all the pins will be on the boundary.  Please use the most recent version of magic where I implemented a workaround for the excessively long processing time of lef write on large designs (magic version 8.3.403 or newer).  With that version, you should specify power nets with the command lef nocheck vccd1 vssd1 vccd2 vssd2 vdda1 vdda2 vssa1 vssa2 vccd vssd so that lef write doesn't try to trace all the power nets to find the poly and diffusion antenna areas.  Run lef nocheck before running lef write -hide.

If the macro does not completely fill the wrapper, then as Matt said, make sure that all the pins are on the perimeter of the macro layout, so that they don't end up completely surrounded by obstruction and therefore become unroutable.

@maliberty I tried to upload the .ODB file, but it says that file type is unsupported here. I hadn't realised the file was generated before grt was fun. I can share the repo tomorrow, if that would help? I would share today however I am troubleshooting some issues with Git. (Still relatively new to all of this)
@RTimothyEdwards  yes it was generated in Magic, I will try your suggestions and run it again. Does OBS mean obstruction block?

In your tutorial video on the OpenRoad GUI Matt, you already have some designs loaded in, in order to demonstrate the functions of the GUI, and the Routing Congestion heatmap is populated with Data. Can I ask what files you have loaded in order to view this?
When I opened the GUI (using openroad -gui command) I then clicked File > Open DB. It was looking for .ODB files, so I imported the .ODB generated in my latest Openlane /runs directory. Which is what yielded the following message:

Hi @maliberty , that makes sense, thank you for explaining.
Just to clarify grt means global routing timing optimisation? I have been assuming so but just want to double check.
have been on the zero2asic course with Matt Venn, and have therefore been using his Openlane docker, so for me so far, the Openlane flow has been entirely automated. It seems there is greater analytic possibility by running openlane step-by-step, interactively, or running grt in the GUI as you suggest. However I am unfamiliar in how to do any of these. Can you suggest any resources for me to get started please?

yes grt = global routing
I'll leave it to the OL (OpenLane) team to comment on how to enable more debugging in the flow.

Vijayan helped with the solution to this. Putting it here in case its useful for anyone else.
As the .ODB file doesn't get populated with heatmap data unless routing completes, you can't load this into the GUI to inspect the results after the flow fails.
Instead you have to inspect the results separately with Openroad:
Go to link: https://github.com/Precision-Innovations/OpenROAD/releases
Download openroad for your operating system: openroad_2.0_amd64-ubuntu20.04.deb in my case
Go to download location and run command sudo apt install ./openroad_2.0_amd64-ubuntu20.04.deb
Go to issue_reproducible directory for the run which failed to build due to congestion
Then run the following commands one by one
openroad
source run.tcl
gui::show

Now the heatmap is populated

The routing congestion error is fixed in OpenROAD and it will propagate to OpenLane soon. As for the heatmap and -congestion_report_file these are also addressed in newer versions of OpenLane


Copy multimeter value to clipboard

Version: 0.8.16
Platforms: All
Description
When working with the Joulescope UI, you often want to document what you find.  Sometimes the documentation is just a value from the Multimeter Widget.  Why do I need to type that value again?
Desired Behavior
When I left-click on one of the Multimeter values, it should automatically copy the value to the clipboard along with the units.  Right-click can bring up a context menu, and one of the options can be to "Copy to clipboard".

Added in 0.9.1.


Add From implementations for fixed-size buffers and num256 types to instantiate Clarity types

We realized together with Michał that it might be nice to let people instantiate Clarity types using fixed-size buffer types, as well as num256 stuff.

@drozdziak1 does adding from_str/from_bytes solve the problem as implemented in 4e3dd06d5c52942993d5b102c0695b29b4ca0505?


Minor toolbar fixes

This fixes the toolbar title CSS class and adds a sample usage of it to the demo site.

@mthouve If you can rebase onto latest master this PR looks good to go! :+1:

Thank you so much for the PR! This will ship out with v0.0.37 👍


No matching distribution found for glibc-devel.i686

according to INSTALL.md
sudo pip install glibc-devel.i686
error:
No matching distribution found for glibc-devel.i686
spelling mistake?

Those linux instructions were provided by other users -- just proceed to run the demo and see if it's working, after installing required python libraries.

This should be apt-get, not pip.
But I think I accidentally added this to ubuntu, I think this was needed for AWS RHEL (but not 100% sure which machine it was that needed this package).

I download source package glibc-devel.i686, extract it and pack again with arm64 architecture, and then i install it with new package. may be this solution will help you :)

thx


[jira-search] Added a filter in Search Issues to show my issues

Description
Added a filter option in the Search Issues page. All Issues will do the current behavior and Assigned to me option will show issues assigned to the current user.
Had to upgrade to new version of Raycast to take advantage of the new search filter feature. The main changes are in the Command.tsx and issue.tsx file. Rest of the changes are due to version Raycast version upgrade.
Screencast
https://user-images.githubusercontent.com/4328772/210659802-75ed2333-357d-4237-af4b-e1f0e8df9416.mov
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

@svenwiegand do you mind checking this 😊

Thanks for your contribution @itsrifat! That looks like a useful extension to this extension. I was already thinking about how to utilize the filter accessory for this extension without losing the benefits of typed search queries – this is a great use case.
I've added some comments to your code. They are all kind of personal preferences – So feel free to ignore them if you have another opinion :)

@svenwiegand I don't see any comments though on this PR 🤔

@itsrifat damn, have forgotten to submit the review 🤦 Have done so now. Sorry.

@svenwiegand ok tried to clean the code up a little 😄. Lemme know if this works. I was also thinking of adding a few more filters like

My Open Issues
Issues in Open sprints (Will allow to quickly see what everyone in @project working on )
My Issues in Open sprints (Will allow to quickly see what issues am I working on in current sprint)

Lemme know if you think these could be useful. I'll add em to the list

I was also thinking of adding a few more filters like

My Open Issues
Issues in Open sprints (Will allow to quickly see what everyone in @project working on )
My Issues in Open sprints (Will allow to quickly see what issues am I working on in current sprint)

Lemme know if you think these could be useful. I'll add em to the list

Sounds good. Whatever might be useful to you and others could be added.

@pernielsentikaer you mind merging this PR when you get a chance 🙏🏾


:construction_worker: Add initial CI

Add some initial CI steps - seems like this will have to at least be on main to iterate
Closes: https://github.com/foundation-model-stack/fms-guardrails-orchestrator/issues/34

@evaline-ju please do test it in main and see if the build passes. We can open up another PR if it doesn't work and iterate.


Add a control to adjust the global font size in notes

Have recently discovered Beaver Notes and I'm pretty impressed with it has an application. This is not a bug but more of a feature enhancement. I believe it would be useful if there was a global control/setting to adjust the font size of notes.
i.e. if the global font size is increased it increases the size of regular text, headings, and code samples. similar if decreased.

Hey there, thanks for the suggestion. I'd like to start by pointing out that Beaver Notes has been built using Tailwind Typography, meaning that the fonts are adaptive to the device screen size. Therefore, implementing an adaptable font size would require rewriting the app. However, a suitable alternative could be implementing three or four options for the interface size, which would enlarge or reduce both the interface and fonts, similar to what macOS offers in the display settings. Something like this could be implemented in the settings:

Wasn't expecting that to be addressed that quickly. Thanks for implementing it.

You're welcome; I do my best to keep every member of our community happy.


add FLX Token

Please review the following token assets:
📑 Description

Token Name: Fluxus (FLX)
Project Website: https://fluxusbase.com
Explorer URI: https://basescan.org/token/0xF01580aB505D8D5B5aAD9A70f9b7e518F744a503

✅ Checks

[x] I created a new folder with the token address, all in lowercase
[x] I added the token's logo as a 32x32 PNG file, named logo-32.png
[x] I added the token's logo as a 128x128 PNG file, named logo-128.png
[x] I added the token's logo as a SVG file, named logo.svg
[x] My SVG logo is a proper SVG and not some base64 stuff
[x] My documentation/website clearly display the token address somewhere

Add FLX token on Base

@FluxusBase please reach out to the Velodrome/Aerodrome team. There's a rising concern that you've downloaded, deminified and adapted a copyrighted version of the Aerodrome Finance front-end. This is likely a legal concern that needs to be clarified before anything else.
Appreciate your help in trying to solve this in advance.


File google-services.json is missing. The Google Services Plugin cannot function without it

@1hakr
I am facing an issue of google-services.json file should i have to generate my own file to execute it. Because the downloaded source doesn't contains this file. What should i do if i need to get configure your source ?
I am using android studio 3.0.1.
Here is the error log.
Error:Execution failed for task ':app:processAmazonFreeDebugGoogleServices'.
> File google-services.json is missing. The Google Services Plugin cannot function without it.
   Searched Location:

Thanks in advance.

Yes you should generate your own google-services.json file.
On Fri 1 Dec, 2017, 19:12 Jay268<EMAIL_ADDRESS>wrote:

@1hakr https://github.com/1hakr
I am facing an issue of google-services.json file should i have to
generate my own file to execute it. Because the downloaded source doesn't
contains this file. What should i do if i need to get configure your source
?
I am using android studio 3.0.1.
Here is the error log.
Error:Execution failed for task ':app:processAmazonFreeDebugGoogleServices'.

File google-services.json is missing. The Google Services Plugin cannot function without it.
Searched Location:

Thanks in advance.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/1hakr/AnExplorer/issues/79, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAlhE5g_8BxqFGsOVmsxDXV2ZK83ghY_ks5s8AJYgaJpZM4QyW_B
.

--
Thanks
Hari Krishna

@1hakr
Any specific functioned need to enable form fire base console while creating project and configuring json file ?
Or should i put simply created json file without enable anything ?

@Jay268
Yes, you need to link your project to firebase console so that you can be able to generate a google-services.json.

I'm assuming this is resolved. Closing it.


Appstudio update test-component-pac-dfph

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI/test-component-pac-dfph-on-pull-request has failed.

StatusDurationName

✅ Succeeded
5 seconds
init

✅ Succeeded
15 seconds
clone-repository

❌ Failed
27 seconds
build-container

✅ Succeeded
4 seconds
show-summary

Failure reasontask build-container has the status "Failed":
060d401b9bcad1179b85c849f0d9be2d89ff65464b2d9afc08f59dcf4b83f944
Getting image source signatures
unauthorized: authentication required


Incompatible against 18.12

See this commit
Manual bumping is possible but a few elements are misaligned.
Thanks for the great theme :+1:

My container my have just pulled a new version, and the feedlyness has gone....the default theme is quite jarring by comparison.
Love the feedly theme.


Support k8s 1.17

Dates for k8s 1.17 are known, we need to track it to support it in time.
The 1.17 release cycle is proposed as follows:

Monday, September 23 - Release Cycle Begins
Tuesday, October 15, EOD PST - Enhancements Freeze
Thursday, November 14, EOD PST - Code Freeze
Tuesday, November 19 - Docs must be completed and reviewed
Monday, December 9 - Kubernetes 1.17.0 Released

Need to update to etcd v3.4 when adding support for k8s 1.17.

Addon changes:
"etcd": "rancher/coreos-etcd:v3.4.3-rancher1",
"coredns": "rancher/coredns-coredns:1.6.5",
"metricsServer": "rancher/metrics-server:v0.3.6",

Sounds like this will take care of https://github.com/rancher/rancher/issues/22655

Version changes:
k8s
v1.16.3-rancher1-1 -> v1.17.0-rancher1-1
etcd
v3.3.15-rancher1 -> v3.4.3-rancher1
coredns
1.6.2 -> 1.6.5
metricsServer
v0.3.4 -> v0.3.6
The new versions are being used after upgrades:
75df7aa22cd7        rancher/coreos-etcd:v3.4.3-rancher1   "/usr/local/bin/etcd…"   15 minutes ago      Up 15 minutes                           etcd

While certifying k8s 1.17, two bugs were found:
#24641
#24642

In k8s 1.17 release notes (https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.17.md#v1170):
Storage
All nodes need to be drained before upgrading Kubernetes cluster, because paths used for block volumes are changed in this release, so on-line upgrade of nodes aren't allowed. (#74026, @mkimuram)

We should check this upgrade path with block storage: AWS w/ cloud provider, ebs volumes

Need to look into upgrade path - https://github.com/rancher/rancher/issues/23088#issuecomment-567100008

@sangeethah we will be release noting the upgrade path issue for this release, but will not be making any specific changes for k8s 1.17.

Currently blocked by - #24830

k8s 1.17 has been certified with the following OS/docker configurations:
Ubuntu 18.04.3 LTS  - docker 19.03.1
RHEL 7.7                     - docker 1.13 (native)
ROS 1.5.5                    - docker 19.03.1 (native)
SLES - 12 SP2            - docker 18.06 (native)

One k8s 1.17 open issue - #248554


Make the logs have unique id for each message in front of each log line

In the gui or the server there is instances where we look for some specific lines of logs in the serial to do other actions.
it can causes issues if someone decides to change de text of that log line to something else and forget to change the server or gui that are lookig for it.
My proposal is that each log lines have their unique id. kinda like error id but for everything. Log lines that hold data would be the execption because you have to actually parse the log line to get data. but for all the others like
looking for server...
handshake successfull
it would be better to have something like
 {1} looking for server ....
 {34} handshake successfull ...
that way code inside the server could just use the id as a reference instead of the log text

Good suggestion, someone implement plz 🥺

Does the firmware (not the server side) provide the id as above? If that's correct, server can easily figure out the stored Wi-Fi credentials or IMU state without parsing the serial console on the server side. Let's think about how the server can easily parse it without compromising readability.

The Firmware does not have any kind of text-IDs or event-IDs. Translations of the Firmware do currently break the detection in the WebFlasher. Probably also in the Server.
Current Log format is:
[LOGLEVEL] [Modul] Text\n
"[%-5s] [%s] %s\n" ( https://github.com/SlimeVR/SlimeVR-Tracker-ESP/blob/main/src/logging/Logger.cpp#L79 )
Maybe we can add a [Xabbcccc]
a = loglevel 4bit
b = modul 8bit
c = messageid 16bit (unique per modul?)


fix: add zwaveClient and require to driverFunction context

Pull Request Test Coverage Report for Build 863019491

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 17.713%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/ZwaveClient.js
0
1
0.0%

Totals

Change from base Build 862907010:
0.0%

Covered Lines:
2023

Relevant Lines:
11786

💛  - Coveralls


add test cases for Add LLOS & RLOS Fields

@mfunk please review and merge

Reviewing it now.

Hey @jmccausland
Came across a few things in the tests and I'm getting errors that both tools failed to create output:
..............................................................
test_add_llos_fields_pro (visibility_tests.AddLLOSFieldsTestCase.AddLLOSFieldsTestCase)Traceback (most recent call last):
  File "D:\GitHub\military-tools-geoprocessing-toolbox\utils\test\visibility_tests\AddLLOSFieldsTestCase.py", line 93, in test_add_llos_fields_pro
    self.assertTrue(arcpy.Exists(self.inputObservers), "Input dataset does not exist")
AssertionError: False is not true : Input dataset does not exist

..............................................................
test_add_rlos_observer_fields_pro (visibility_tests.AddRLOSObserverFieldsTestCase.AddRLOSObserverFieldsTestCase)Traceback (most recent call last):
  File "D:\GitHub\military-tools-geoprocessing-toolbox\utils\test\visibility_tests\AddRLOSObserverFieldsTestCase.py", line 128, in test_add_rlos_observer_fields_pro
    self.assertTrue(arcpy.Exists(self.inputObservers), "Input dataset does not exist")
AssertionError: False is not true : Input dataset does not exist

..............................................................

Looking at the tests I think I see some potential issues. For test_add_llos_fields_pro:

[ ] The inputObservers dataset is no looking for an Observers feature class. Which does not exist in the latest pull from dev. It's been renamed RLOS_Observers. It should be calling LLOS_Observers, and LLOS_Targets. These were just changed by Dan this morning, so you can blame him :)

[ ] Perhaps more importantly we are modifying (adding fields) to the permanent inputObservers features in the repo. The test should probably copy the LLOS_Observers and the LLOS_Targets to scratch (Configuration.militaryScratchGDB) and then use that as input. If we add fields to scratch it doesn't matter because the tearDown should be removing it.

[ ] Also, we can completely drop the desktop version of the tests as we don't have these tools in the  desktop toolbox and don't have plans to add them.

For test_add_rlos_observer_fields_pro:

[ ] Similar to the LLOS, we should be copying the inputObservers to scratch before we add fields. again this is modifying the source test data in the geodatabase.

[ ] Here the inputObservers should be using the RLOS_Observers features in the input geodatabase.

[ ] For the assertEquals checking the fields it is going to be difficult to see which field failed without looking at the lines before the actual assert statement. The fail message is generic to all of the asserts. Could we make it that the message says which field was checked for and failed..

            fieldList = arcpy.ListFields(self.inputObservers, "RADIUS1")
            fieldCount = len(fieldList)
            self.assertEqual(fieldCount, 1, "Expected a field count of 1 for RADIUS1 field but got %s." % str(fieldCount))

[ ] Just like LLOS we can drop the desktop tests entirely.

[ ] Also don't forget to add a line to the file history in the header!!! Get some credit for starting the file! :)

All updated

Thanks @jmccausland reviewing it again.

@jmccausland the new tests look good and run nicely. Please delete the jm-add-add-llos-fields-test-case branch.


api: Catalog API design

I'm working on this design and submit an RFC to repo instead.

API has been added, let's track tasks on other issues.


Server reporting "Unvalid license" even though it's connected successfully

What
Last follow on from this comment.
When I've created a server connection on 2.4, I'm now seeing Unvalid License in when I go to Configure Server on a successfully connected server. My previous server connection (from 2.3.1 did not have this message).
I noticed this on my other (work) Mac, so came to check it on my own Mac which had been successfully connected on a previous build (2.3.1). I reproduced the issue when connecting to the same server on 2.4. Both times the indicator was green.
I also had a little dig through the code and it looked like it's associated to the presence/absence of an email address for the user account (I might be wrong on this), so I gave my Navidrome user a temporary email address, and re-connected. This didn't seem to resolve the issue though.
Steps to reproduce

Connect to a new valid server on Submariner 2.4
Click Configure Server, and see if you have a successful connection

Screenshots

Versions

Navidrome 0.49.3 (8b93962f)
Submariner 2.4 (installed via brew)

It's because Navidrome doesn't return any license info in getLicense:
<subsonic-response xmlns="http://subsonic.org/restapi" status="ok" version="1.16.1" type="navidrome" serverVersion="0.40.0-FREEBSD (8799358)"><license valid="true"></license></subsonic-response>

...and the default license

It's purely cosmetic, the ok in there means that the valid license bit is set, making the light there green. Submariner and Navidrome don't actually do anything with license information, but Subsonic does care.


✨Color scheme support for images.

Is your feature request related to a problem? Please describe.
It is annoying that the png/gif I am using in some of the pages looks ok in the dark theme (white icon), but is barely visible in the light theme.
Describe the solution you'd like
We should be able to have 2 versions for each image, say image.dark.png and image.light.png and the theme should automatically select the appropriate one for the current color scheme.
Describe alternatives you've considered
N/A.
Additional context
N/A.

@mirceanton this won't work. Both images must be baked into the code and processed by the Hugo pipelines to be displayed. My current thoughts are that it is an override for a specific image for dark mode EVERYWHERE. But this is not a scalable option.

The problem here is that images are processed in build time and the theme is rendered in runtime. It would be hard to make this dynamic for every image. One possible alternative could be loading both .light and .dark files and use tailwind classes to change between them like its described here


Disable find(hashid)

Is there a way to disable find(hashid)?
I have set up a 6 character hashid with [a-z][0-9].  However, if I do a find for a unhashed id (123456), hashid will hash it and return an ActiveRecord::RecordNotFound exception.
It would be helpful for the find method to either catch the exception and try a non-hashed find or to have a configuration option to disable the find method.

👍

Yes, this is a real pain point I've experienced before.
The short-term workaround is to use find_by_hashid and find_by_id explicitly. Not ideal, but there's no foolproof way around this.

(Pull request #22)[https://github.com/jcypret/hashid-rails/pull/22] should resolve this issue.

Thanks everyone for the feedback on this! I'm currently working on an updated version based on past feedback and would be interested to hear any thoughts.
Currently the gem is inherited by all models, so my thoughts for the next version are to allow the functionality to be added on a per-model basis. When included in a model, it would override find (without fallback) to search by hashid. To search by actual ID, you could still use find_by!(id: 100). Options could then be passed in to the model instead of an initializer.
Additionally, as of Rails 5, there's a base model, so someone wanting to enable to functionality for all models would just need to include the functionality in the base model. This keeps the simplicity of redefining the ID to be a hashid and find just working.
This would also remove the need to warn about alphabet issues. In the newest versions of the base hashid gem, there are checks in place to ensure the alphabet is valid and has a minimum number of unique characters.

In the short-term, I'm happy to merge in this pull request. Should resolve the issues you are talking about. The code looks good aside for a few linter issues, so once those are resolved I can push a new version of the gem.

Thanks.  The pull request should be clean now.  Thanks!

This would also remove the need to warn about alphabet issues.

@jcypret I think you should definitely warn about alphabet issues; it's a real pain that our system has potentially interchangeable numeric and alpha-numeric IDs and you can't tell (for sure) just by looking at an ID which type it is.
Also, be careful if you're defaulting find to use hashid automatically. Please consider, for example, how ActiveRecord::Persistence.reload works... (the code shows it runs find(id).

Thanks for the feedback @olliebennett !
I'll keep the alphabet warning in mind to make sure developers understand what could happen.
For the finder method, would you prefer to see something like friendly id has, where you use User.hashid.find(params[:id]) instead of overriding the default find method? I was originally trying to keep it as simple as possible, but that's definitely been the biggest pain point.

@taranda @olliebennett Release the new version of the gem (0.7.0) 👍


Moved GetFromReadHandle trait and implementation to validator

@Rakowskiii did you also make validator use LRTrie directly instead of StateTrie?

@nopestack no, as discussed, I firstly moved the trait and impl, as soon as we merge this, I'll change ST to LRT, hopefully thats ok.

@Rakowskiii makes sense, please merge it when I approve it.


[Tech Debt] Improve unit testing and internal documentation on Contexts and providers

The various jinja contexts are fairly well documented for users, but are very unstructured objects internally. Let's take a pass at ensuring our tests provide coverage to the documentation, improving our internal documentation around the Context and Provider design, and consider any refactors along the way.
### Testing
- [ ] https://github.com/dbt-labs/dbt-core/issues/10954
- [ ] https://github.com/dbt-labs/dbt-core/issues/10951
- [ ] https://github.com/dbt-labs/dbt-core/issues/10953
- [ ] https://github.com/dbt-labs/dbt-core/issues/10952
- [ ] unit test BaseContext methods / types in addition to existence of values

### Documentation
- [ ] Internal guides on current `Provider`, `Context` and `generate_` methods

### Refactors
- [ ] Consider removing `Providers` in favor of parse-time and execution-time contexts.

I have submitted some PRs that fix issues in the unit tests, along with one suggestion. I was also working on resolving the naming collision problem when using sources. However, I’d like to wait for decisions on my previous issues and PRs before making a new PR. Would it be a good idea to put here these issues as technical debt to be addressed/reviwed?"


AsyncRetrying - tenacity retry does not work with aiohttp.SocketTimeoutError (E)

The issue is solved for the moment for generate_seine_transition_async and  get_subtitles_async:

Should properly define timeout values:
python http_timeout = aiohttp.ClientTimeout(total=1800, connect=1798, sock_read=2)
Add AsyncRetrying loop:

    @log_function_params
    async def get_subtitles_async(self, audiofile_path):
        # Obtain subtitles using Replicate API
        """
        Extract subtitles from an audio file using the Replicate API

        Args:
            i (int): The index of the audio slice

        Returns:
            subs: The subtitles obtained from the Replicate API

        """
        assert os.path.exists(
            audiofile_path
        ), f"The prompt recording file does not exist: {audiofile_path}"
        try:
            async for attempt in AsyncRetrying(
                stop=stop_after_attempt(get_nb_retries_http_calls()),
                reraise=True,
            ):
                with attempt:
                    logger.debug(f"Getting subtitles for {audiofile_path}")
                    base64AudioFile = base64.b64encode(
                        open(audiofile_path, "rb").read()
                    ).decode("ascii")
                    async with aiohttp.ClientSession(timeout=http_timeout) as session:
                        payload = (
                            {
                                "key": vikit_api_key,
                                "model": "cjwbw/whisper:b70a8e9dc4aa40bf4309285fbaefe3ed3d3a313f1f32ea61826fc64cdb4917a5",
                                "input": {
                                    "model": "base",
                                    "translate": True,
                                    "temperature": 0,
                                    "transcription": "srt",
                                    "suppress_tokens": "-1",
                                    "logprob_threshold": -1,
                                    "no_speech_threshold": 0.6,
                                    "condition_on_previous_text": True,
                                    "compression_ratio_threshold": 2.4,
                                    "temperature_increment_on_fallback": 0.2,
                                    "audio": "data:audio/mp3;base64," + base64AudioFile,
                                },
                            },
                        )
                        try:
                            async with session.post(
                                vikit_backend_url, json=payload
                            ) as response:
                                subs = await response.text()
                                # TO DO: check if subs has correct json format
                        except Exception as e:
                            logger.error(
                                f"Error on post response for {audiofile_path}: {e}"
                            )
                            raise e

                    logger.trace(f"Subtitles: {subs}")
                    return json.loads(subs)
        except e:
            raise Exception("Retry failed {e}")

To Do: test with a fake HTTP server / test for other asyncio functions

@leclem isn't this one already fixed?

Yes, it is fixed by defining a precise http_timeout object in vikit/gateways/vikit_gateway.py.
More tests can be done later with a fake HTTP server, but the main problem is solved; I close the issue therefore.


Hardcoded report

It just gives me the default html report for hledger from here - https://github.com/codedownio/time-ghc-modules/blob/fce507081f30a32c5005a781a54e226ffca7c5ba/src/index.html

@kana-sama it works if you replace with window.module_data = "INSERT_DATA_HERE"; in src/index.html

Sorry, I stupidly checked in my test data. Fixed now!


Make it compatible with Webpack 3.0 and update dependencies

When used with the latest Webpack it shows:

DeprecationWarning: loaderUtils.parseQuery() received a non-string value which can be problematic, see https://github.com/webpack/loader-utils/issues/56 parseQuery() will be replaced with getOptions() in the next major version of loader-utils.

I've updated dependencies, documentation and made some changes to make it work properly.

Is this project being maintained? It looks like no progress on this pr in nearly a year. I'm running webpack 4.15.1 and still getting this warning:
parseQuery() will be replaced with getOptions() in the next major version of loader-utils.

Not really. I’m happy to pass it over to you if you want

@okonet would love to pick this repository up if you are not looking to maintain it anymore. Would definitely like to make some enhancement's to reflect improvements made in webpack 4.

Sure I can transfer it to you. I'll need to add you to the npm as well. What's your username there?

The featured requested here should now be supported and implemented https://github.com/difelice/ejs-loader/pull/42 and is available in version 0.4.1


Make Experiment objects picklable

Experiment objects should be picklable, so that one can create them in Python and then run them in parallel with multiprocessing/multinode utilities.
Currently, trying to pickle an Experiment gives me:
Can't pickle <function beat_interval_option at 0x7f7d0dfaf4c0>: it's not the same object as sacred.commandline_options.beat_interval_option

because the cli_option decorator does not use functools.wraps (see this for more info).

Hi @vnmabus! Making the Experiment pickleable has been on my to-do list for a long time, and I would love to see this feature implemented!  This is related to #441, where @Qwlouse mentioned that wrapt is the reason that experiments (and other things in sacred) are not pickleable. Do you know a feasible solution that doesn't require modifying large parts of the experiment code?
BTW, the webpage you linked is broken / doesn't load.

Strange, the link you just posted doesn't work for me either. Are you sure your browser didn't cache it?

Strange, the link you just posted doesn't work for me either. Are you sure your browser didn't cache it?

I just tried in my phone, and it works as well as in my laptop.

You are right, I was able to access the webpage outside of the University network.
The problem is by far not only the cli_option decorator, but any decorator defined in sacred (@ex.capture, @ex.config). None of them uses functools.wraps, some of them use the wrapt package.
I looked into the source of pickle, functools.wraps and wrapt and found the following:

pickle treats functions as "global" objects, i.e., objects that don't need to be stored in the pickle file but can be imported while unpickling. This doesn't work when the decorator changes the type of the wrapped function (i.e., the cli_option decorator returns a CLIOption object) because pickle then tries to pickle the object instead of just writing the import path. While pickling the wrapper object it comes across the wrapped function that it tries to pickle with a "global import", but that import now refers to the wrapper object instead of the wrapped function, thus the error message "it's not the same object". I didn't come up with a good workaround for this yet.
wrapt wraps the function in a FunctionWrapper type. This has the advantage that it works with any type of callable (functions, classmethods, staticmethods, bound methods, even classes). This type has similar issues as noted above, with the addition that it defines a not-implemented __reduce_ex__.
functools.wraps sets the __qualname__ of the wrapper function to the same name as the wrapped function so that pickle's global import finds the correct object. This only works if the wrapper itself is a function, it doesn't work with the FunctionWrapper returned by wrapt.

So in conclusion: I don't know how to make the decorators pickleable, a simple functools.wraps is, unfortunately, not the solution.

That dependency was added before I started to work with sacred, so I don't know exactly why it was added, but it has a few nice properties and claims to "[go] way beyond existing mechanisms such as functools.wraps() to ensure that decorators preserve introspectability, signatures, type checking abilities etc. The decorators that can be constructed using this module will work in far more scenarios than typical decorators and provide more predictable and consistent behaviour" (source).
I think that main benefit for sacred is that it makes it possible to detect if a wrapped function is bound or not, so something like this is possible:
class A:
    @ex.capture
    def f(self, _config):
        pass

    @classmethod
    @ex.capture
    def f2(cls, _config):
        pass

A.f2()
A().f()

Without wrapt, we would have to guess whether a function/method is bound or not based on the parameter naming.
I'm not sure, though, if this functionality is actually required for sacred.

I think that if you used @wraps in all the decorators, you just have to follow the __wrapped__ objects to get the original function/method and inspect it. In fact some inspect functions such as signature do it by default. Does wrapt provide anything additional to this?

Not exactly,
import functools
def decorator(fn):
    @functools.wraps(fn)
    def wrapper():
        return fn()
    return wrapper

class A:
    @decorator
    def f(self):
        pass

import inspect
inspect.ismethod(A().f.__wrapped__)

gives False. To detect if f is bound you have to make it a descriptor (what wrapt does). The "original" method is not (yet) a method at the point where the decorator is applied. The wrapper beceomes a bound method (inspect.ismethod(A().f) is True). But that is not detectable (is it?) inside the wrapper function.

No, it only uses the wrapt.decorator functionality. And I'm not even sure if the information on whether a captured function is bound is necessary for these decorators. So we may be able to remove the wrapt dependency

I tried to remove wrapt from the captured_function and make it pickleable. Removing wrapt was quite easy and the code looks (in my opinion) even cleaner. There is just one small problem: The configuration is assigned to an attribute of the function. This attribute is not pickled. So, everything works if you pickle the captured function and load it in the same process. But the configuration is suddenly gone if you load the captured function in another process. I don't know if there is a clean solution for this.

I found a hacky way to make captured functions pickleable and keep the config/run/... attributes. I'm really not sure if something like this should be done or whether it bears any severe problems. Anyway, I figured I'll share it so that others can comment on it:
import functools

class _PickleableFunctionProxy:
    """
    This class is the key to making decorated functions pickleable when the
    decorator returns an object.
    It stores the wrapped function as a class variable and tells pickle
    to serialize the stored reference instead of the object that is now at the
    original function's location
    """
    _stored_functions = {}

    @classmethod
    def _store_function(cls, fn):
        fn_id = fn.__module__ + fn.__qualname__
        cls._stored_functions[fn_id] = fn
        return fn_id

    @classmethod
    def _load(cls, fn_id):
        return cls(cls._stored_functions[fn_id])

    def __init__(self, wrapped):
        self.__wrapped__ = wrapped
        self._fn_id = self._store_function(wrapped)

    def __reduce_ex__(self, protocol):
        return _PickleableFunctionProxy._load, (self._fn_id,)

    def __call__(self, *args, **kwargs):
        return self.__wrapped__(*args, **kwargs)

class CapturedFunction:
    def __init__(self, wrapped, prefix=None):
        self.logger = None
        self.run = None
        self.config = {}
        self.rnd = None
        self.prefix = prefix
        functools.update_wrapper(self, wrapped)
        self.__wrapped__ = _PickleableFunctionProxy(wrapped)

    @property
    def uses_randomness(self):
        return "_seed" in self.arguments or "_rnd" in self.arguments

    def __str__(self) -> str:
        return self.__wrapped__.__wrapped__.__str__()

    def __call__(self, *args, **kwargs):
        # Captured function logic...
        ...

Are there any news on this? :)

I found a hacky way to make captured functions pickleable and keep the config/run/... attributes. I'm really not sure if something like this should be done or whether it bears any severe problems. Anyway, I figured I'll share it so that others can comment on it:

Why are you doing a hacky register instead of just following the __wrapped__ chain?

That question is not so easy to answer (I myself had to think about it a bit) and could be a good starting point for a discussion.
Pickle treats functions as immutable singleton objects, meaning that it assumes that you get the same object when you import the function (by name) multiple times (also across interpreter instances). The problem with captured function is that they have a mutable state (the config). There are multiple ways to make pickle swallow a captured function with different implications:

Treat it as an immutable singleton object and mimic pickle's behavior when pickling functions.

The config is not pickled but assumed to be present on the receiving side
Only works when the receiving side calls ex.run to build and assign the config. This could create unexpected behavior when calling ex.run before pickling/unpickling (e.g., sender and receiver end up with different configs, receiver is uninitialized)

Treat it as a stateful object. Then, the functions have to be stored at some publically accessible place (the hacky registry from my comment above)

The config is transferred together with the captured function
The configuration is unpickled even if ex.run is not called on the receiving side
Can have weird side effects, i.e., having two captured functions referring to the same (python) function with different configs

A mixture: Treat the config scope as a "global variable" but transfer and overwrite the config. I think that this can produce totally broken behavior in certain cases

I'm not sure which one is best. There might even be alternatives. I currently prefer 1.


Bug : Conflict with dorako's UI

Hi, it seems that the module breaks some color in the "Configure settings" menu when dorako's UI is active :

Seconding this ^^^

https://github.com/Garsondee/pf2e-roll-manager/releases/tag/v1.2
I think this is now fixed.


Use note shortcode in “Debugging Kubernetes nodes with crictl”

This is a Feature Request

What would you like to be added

Why is this needed
Debugging Kubernetes nodes with crictl mentions:

Warn: the output format of CRICTL is similar to Docker CLI, despite some missing columns for some CLI. Make sure to check output for the specific command if your script output parsing.

This'd look better if written as

{{< note >}}
The output format of CRICTL is similar to Docker CLI, despite some missing columns for some CLI. Make sure to check output for the specific command if your script output parsing.
{{< /note >}}

You can see a sample rendering for that shortcode in https://kubernetes.io/docs/contribute/style/style-guide/#note
(it's also OK to change crictl to the correct case)
Comments
/language en
/kind cleanup

/good-first-issue

/assign @reylejano


Cloning a resource should clone the labels - dashboards

as a user
with admin
when i clone a dashboard
then i would like the labels for that dashboard to also be cloned

breaking this down into multiple stories for each resource


Can't send data between two devices

I'm trying to send a string from one device to another, but instead of the text I send I get "play.google.com/store/apps/details?id={myPackageName}&feature=beam"
I guess Android Beam is trying to redirect me to my app in the Play Store, but it's not there yet. Is there any way to just send text over NFC?
I run _startDetection with a button, I didn't add what's inside the render function to make the code shorter.
This is my code:
import React, { Component } from 'react'
import NfcManager, {NdefParser, NfcTech} from 'react-native-nfc-manager';

const RtdType = {
    URL: 0,
    TEXT: 1,
};

function buildTextPayload(valueToWrite) {
    const textBytes = strToBytes(valueToWrite);
    // in this example. we always use `en`
    const headerBytes = [0xD1, 0x01, (textBytes.length + 3), 0x54, 0x02, 0x65, 0x6e];
    return [...headerBytes, ...textBytes];
}

export default class Home extends Component {

  constructor(props) {
        super(props);
        this.state = {
            supported: true,
            enabled: false,
            isWriting: false,
            urlToWrite: 'AAAAAAAAA',
            rtdType: RtdType.TEXT,
            tag: {}
        }
    }

    componentDidMount() {
        NfcManager.isSupported()
            .then(supported => {
                this.setState({ supported });
                if (supported) {
                    this._startNfc();
                }
            })
    }

    componentWillUnmount() {
        if (this._stateChangedSubscription) {
            this._stateChangedSubscription.remove();
        }
    }

    render () {...}

    _startNfc() {
        NfcManager.start({
            onSessionClosedIOS: () => {
                console.log('ios session closed');
            }
        })
            .then(result => {
                console.log('start OK', result);
            })
            .catch(error => {
                console.warn('start fail', error);
                this.setState({supported: false});
            })

        if (Platform.OS === 'android') {
            NfcManager.getLaunchTagEvent()
                .then(tag => {
                    console.log('launch tag', tag);
                    if (tag) {
                        this.setState({ tag });
                    }
                })
                .catch(err => {
                    console.log(err);
                })
            NfcManager.isEnabled()
                .then(enabled => {
                    this.setState({ enabled });
                })
                .catch(err => {
                    console.log(err);
                })
            NfcManager.onStateChanged(
                event => {
                    if (event.state === 'on') {
                        this.setState({enabled: true});
                    } else if (event.state === 'off') {
                        this.setState({enabled: false});
                    } else if (event.state === 'turning_on') {
                        // do whatever you want
                    } else if (event.state === 'turning_off') {
                        // do whatever you want
                    }
                }
            )
                .then(sub => {
                    this._stateChangedSubscription = sub;
                    // remember to call this._stateChangedSubscription.remove()
                    // when you don't want to listen to this anymore
                })
                .catch(err => {
                    console.warn(err);
                })
        }
    }

    _onTagDiscovered = tag => {

        console.log('Tag Discovered', tag);
        this.setState({ tag });

        let text = this._parseText(tag);
        alert(text)
    }

    _startDetection = () => {
        NfcManager.writeNdefMessage(buildTextPayload("MY TEXT"))
        NfcManager.registerTagEvent(this._onTagDiscovered)
            .then(result => {

                console.log('registerTagEvent OK', result)
            })
            .catch(error => {
                console.warn('registerTagEvent fail', error)
            })
    }

Hi, Android Beam uses setNdefPushMessage, but this lib currently doesn't bridge this API yet. I will try to implement this and keep you posted!

Hi, I have added a new method setNdefPushMessage into latest release (0.5.2), and you can find a concrete example in example/App.js.
Please use latest release to try it, thanks!

I ended up doing my own native module because I was in a hurry. But anyways, thank you for your time!

Cool, good for you :)

Hello @glowww ,
I am building an app using smart phone same as NFC Tag. I think my app have same context with your issue.
I have built 2 app on 2 smart phone: smart phone A as NFC Reader and smart phone B as NFC Tag.
On app of smart phone B, i have a  button call _startDetection() same as you.
But when i touch 2 smart phone, "Touch to beam" screen is displayed and i tap it to send data instead of "Send data" button. Please explain to me.
Next, i want smart phone A send data automatically when touch it to NFC Reader. How can i do it ?
Please help me.
Thanks and best regards.

Same issue here.

Hello @whitedogg13,
I preferred to add to this opened issue rather than opening a new one since it is basically the same. However, it is different, kindly tell me to open a new one.
I am confused with the documentation and not able to finger out how exactly a peer-to-peer NFC communication could be achieved with NFC and especially how to do it using this library.
The main unclear point I think is how I can create a Tag from one device and read that Tag from the other. All what I could see in the samples is for reading a Tag first then possibly writing to the other device. How to make an App (X) to write a Tag to another App (Y)?
As you know, Android Beam has been deprecated with Android 10. So, we need to use the plane NFC communication for this. And to have it for Android and iPhone as well.
By the way, also I read some people writing about the same. For example here https://www.reddit.com/r/reactnative/comments/elsetr/nfc_peertopeer_communication/:

I came across react-native-nfc-manager but the examples and documentation are a bit confusing to me.

Many thanks for the great library and for your support in advance.

After doing some research. This library does not support initiating communication between 2 devices for P2P.
However, to initiate communication, either Android Beam has to be used but it is already deprecated and stoped to be there at Android 10. Or the other way is to Emulate one of the devices as a Card to the other device. Another library for React Native exist: https://www.npmjs.com/package/react-native-nfc-hce. But it seems to be very old with outdated setup documentation.
But, the Android Card Emulation code example has been archived: https://github.com/googlearchive/android-CardEmulation and the new sample codes and projects focus on using BlueTooth (check the samples at https://github.com/android/connectivity-samples). And on the other hand, iPhone does not support Card Emulation. So, it seems the manufacturers do not recommend and/or support the NFC P2P use case.


Request: Expose FindExport/FindImport

This will be useful for quickly test/use functions

Should we have a "debug" or "developer" version of taiHEN with these useful exports? Mostly to discourage lazy techniques for release. That is of course, you can think of a legitimate reason to have FindExport/FindImport in a release plugin?

I think I'll export the calls but not include any headers. Devs would have to manually get the headers from taihen--at which they can easily add the export themselves if they really need it.


RFC (draft code): support any type of id

Hey folks, here's what I have as a starter for the task https://github.com/vintasoftware/django-ai-assistant/issues/51. Let me know if you have other approaches in mind or suggestions.
If the general idea is good, my idea is to:

Fix the frontend tests
Add backend tests for all functions, views, helpers in the API to make sure folks can use any kind of id (I'm thinking of creating a helper service to test things out with different pk settings in the tests we already have).

Anyway, lmk!

Thanks! I'll work on that today.

Oops, I was still testing haha


typescript intellisense import is not supported in

typescript intellisense import is not supported in

/causedByExtension You should file this issue for Vetur extension


opus-media-recorder plugin

fixes #355

Coverage increased (+0.001%) to 74.531% when pulling 9977335a62f69950418c470d2ebd18111560901c on opus-media-recorder-355 into 71509f0c65355c88e16496fb8e3863b3503403f4 on master.