$asyncValidators run multiple times per element on load (given ng-repeat || ng-(min/max)length))

Note: for support questions, please use one of these channels: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#question. This repository's issues are reserved for feature requests and bug reports.
Do you want to request a feature or report a bug?
Bug
What is the current behavior?
If you have a model defined already and it's put into an input text element with a custom validator defined and this input field is in an ng-repeat, then, on the page load, the $ayncValidator will be run once, and then run in quick succession run again for every validator directive such as "minlength, maxlength, ng-maxlength, ng-minlength, required".
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://plnkr.co or similar (template: http://plnkr.co/edit/tpl:yBpEi4).

define a model in the controller
define a custom directive that has an $asyncValidator linked (put in a console.log before returning the promise)
create a div with ng-repeat (if this step is omitted, then the problem is only exhibited with ng-maxlength and ng-minlength)
Inside of the ng-repeat clause create an input type="text" element, and load it up with maxlength, minlength, and required
take note of how many times the console.log() that was set up in $asyncValidator is tripped when you hit "Run".
when you go and interact with the element, then it behaves normally and as expected.

http://jsfiddle.net/yofk7u0L/5/
What is the expected behavior?
$asyncValidators only fire once upon directive initialization with a non-empty model, regardless of how many other attribute directives that are validators exist in the element, also regardless of whether they're in ng-repeat or not.
What is the motivation / use case for changing the behavior?
In the application I'm currently working on, a user can have up to 10 of these $asyncValidator input fields loaded up at the same time. With minlength, maxlength, and required enabled on each, this makes 30 EXTRA requests to my API, on top of the 10 that were welcome. If I use ng-minlength and ng-maxlength, it could bump it up an extra twenty (two per input element)
Which versions of Angular, and which browser / OS are affected by this issue? Did this work in previous versions of Angular? Please also test with the latest stable and snapshot (https://code.angularjs.org/snapshot/) versions.
Firefox and Chrome on Angular 1.5.3, 1.5.5, 1.5.6 and v1.5.7-build.4838+sha.cfc8b41 exhibit this behavior.
I'm seeing this happen on both Windows 7 (1.5.3 & 1.5.5) and Linux Fedora 23 KDE (All the above)
Other information (e.g. stacktraces, related issues, suggestions how to fix)
Not sure how to fix this, but I guess:

Order directives are placed have no bearing
Synchronous $validators within the same directive as the $asyncValidators behave normally.
The entire list of $asyncValidators seems to be looped through each time
I have not tried adding custom directives to the input element, but I suspect that they might behave similarly and contribute to the amount of times
If you use a combination of ng-repeat and ng-minlength and ng-maxlength that seems to maximize the total number of requests.
Have not tested to see if other input types are affected

that's expected, I'm pretty sure. that's how the digest cycle works. it needs to make sure that the value hasn't changed and is 'stable'. you could make your async validator check for a presence of a viewValue on the model, so it would return only when it's present, and reject the validation right away if it doesn't

That would have been an acceptable workaround, but in this scenario, viewValue is already present when the asyncValidator fires its (extra) requests. The only workaround I suspect works is to package $asyncValidator in the same directive along with all of the other directive's functionality (minlength, maxlength, required) that I want to use.

I wouldn't quite say it's expected behavior, since it works as expected without ngRepeat. There are two issues that play together:

required, maxlength, minlength call $validate whenever their obsever (for attribute changes) fires. This happens also initially after the element is compiled and a $digest happens. Without ngRepeat, the model hasn't been initialized yet, so no validators actually run
ngRepeat terminates the compilation and appens the elements with the $transclude function during the first $digest. This causes a difference to the no-repeat scenario: With ngRepeat, the $digest happens before the elements are linked, and the ngModel is initalized. Without ngRepeat, the $digest happens after the elements have been linked and and the observers fire when the ngModel isn't intialized yet.

This is honestly pretty weird, because I would expect ngModel to be validated once after the first $digest without ngRepeat, and it's never validated. With ngRepeat, it's validated once and 1 time per validation directive. Both cases are wrong, imo, but I suspect the first case doesn't appear too often, since on load usually more than one digest happens.

+1

I am running into exactly the same problem. In fact, I only want all my validators to only fire when I changed the value and not right away. Is there a way for this? Say, I tried adding ngModel.$touched check in the directive, but then I could not fire it at all. What is the best workaround to only fire validations when the value is changed?

I am having the same issue any update on this issue? or any workaround? I am using angular 1.5.11 and I have my async validator with ng-required and two custom validator of my own.
Regards

Hi,
I think I was able to prevent running it too many times on load but I'm not 100% certain as I then found that it was not running all the times when I needed, so I made few extra changes lately. I plan to write a TechNet article that explains my solution in all the details, I'll post the link once I do that.

@NaomiN +1
I'm looking forward to hearing from you.

I just posted that article - will appreciate questions and suggestions to improve
https://social.technet.microsoft.com/wiki/contents/articles/42394.implementing-server-side-validations-in-angularjs.aspx

I solved(?) my  issue with the following approach:
for extra call on validation service I send the unfulfilled promise, I would like to know opinion of you guys about it.
  function asyncValidator(myValidatonService, $q) {
        'ngInject';
        return {
            require: 'ngModel',
            restrict: "A",
            link: linkFn
        };
        function linkFn(scope, elem, attrs, ngModel) {
            if (!ngModel) return;
            var cache = {};
            ngModel.$asyncValidators.myAsyncValidator= function (viewValue, modelValue) {
                var value = viewValue || modelValue;
                if (ngModel.$isEmpty(value))
                    return $q.resolve();
                if (cache[value])
                    return cache[value];
                if (!cache[value]) {
                    cache[value] = myValidatonService.isValid(value)
                        .then(function (response) {
                            cache[value] = false;
                            return $q.resolve();
                        })
                        .catch(function (error) {
                            cache[value] = false;
                            return $q.reject();
                        });
                    return cache[value];
                }
            }
        }

While workarounds exist, I think this is an interesting issue, and tried to get to the bottom of it.
What I found is that there seems to be a quirk with the directive property  transclude (which is used by ngRepeat as element, but it also happens with simply true`) + calling the $transclude function in a watch actionFn  that changes the order of some actions.
We basically have two points where validation happens in these examples:

when the ngModelController propagates the scope value to the input, it calls $validate
when the built in directives detect that their value (e.g. minlength) has changed ($observe), they call $validate

In normal circumstances, $compile sets up the observers, which are also fired on init. However, since the modelValue isn't set up yet, $validate doesn't do anything. Then, the ngModelWatch runs, and sets the modelValue, and calls $validate itself.
When transclude comes into the mix, the whole process is reversed, so that when the observers are initially called, the modelValue is set, and $validate is called again.
However, the whole problem also happens without ngRepeat if you use interpolation for one of the minlength etc. directives, see: plnkr.co/edit/b4tY6u4u7o6QJJ7scBpD?p=preview
In this case, it definitely feels technically correct though.
I think we can fix this for the built-in validators by storing the initial attribute value, and only calling validate if the the observed new value is actually different.


Add model checkpointing to ReutersTrainer

Performance
RCV-1
| Accuracy | Avg. Precision | Avg. Recall | Avg. F1 | BCE Loss
-- | -- | -- | -- | -- | --
Before checkpointing |   |   |   |   |
BiLSTM with Hidden Bottleneck Layer (Dev) | 0.802 | 0.927 | 0.815 | 0.867 | 1.058
BiLSTM with Hidden Bottleneck Layer (Test) | 0.783 | 0.921 | 0.780 | 0.845 | 1.252
After checkpointing |   |   |   |   |
BiLSTM with Hidden Bottleneck Layer (Dev) | 0.813 | 0.929 | 0.817 | 0.870 | 1.299
BiLSTM with Hidden Bottleneck Layer (Test) | 0.789 | 0.915 | 0.781 | 0.843 | 1.670
Note: I am currently working on replacing RCV-1 dataset with the 103-class Lewis split, and hence the following results are on the 90-class ModApte split. I ran the models for 30 epochs.
AAPD
| Accuracy | Avg. Precision | Avg. Recall | Avg. F1 | BCE Loss
-- | -- | -- | -- | -- | --
Before checkpointing |   |   |   |   |
BiLSTM with Hidden Bottleneck Layer (Dev) |   |   |   |   |
BiLSTM with Hidden Bottleneck Layer (Test) |   |   |   |   |
After checkpointing |   |   |   |   |
BiLSTM with Hidden Bottleneck Layer (Dev) |   |   |   |   |
BiLSTM with Hidden Bottleneck Layer (Test) |   |   |   |   |
TODO: Verify performance of LSTM with Regularization.

@daemon can you review this, with respect to what we  discussed on slack for checkpointing?

Added the performance metrics for AAPD. Minor improvements (1 percentage point) on LSTM Baseline.

@daemon I was working on more changes based on your suggestions, such as checkpointing only at the end of an epoch. Should I just create a separate PR for those?


fix(Readme.md): fix typos.

Fixed a typo in the README file and EXAMPLE.

@takuyaw-w thx for fixing so many typos 🙂 👍
can you run deno fmt once? than i will merge the pr.

@c4spar
The suggestions have been reflected.
Thank you.


(Potentially) Fixing an auth test related problem.

The Backoff logic is really difficult to test given that it has so much randomness built in.  I built in a bigger buffer for randomness so that the tests will be less flaky.

Do you know what is causing the flakiness? Where is the bigger buffer, the max_end is the same as before: startTime + maxElaspedBackoffMillis * 2, no?

Woops.  I thought I updated it to "startTime + maxElaspedBackoffMillis * 10".  Sorry about that.  Just submitted the 2 -> 10 update.

LGTM


Coinflip bot game

Currently, there is 1 bot game available for a chance to earn extra cash for LeCashBot and that is the $bet command. Previously, the bot featured a $coinflip command as well but it was basically the $bet command but with a constant chance of 50% to win.
This coinflip game should be similarly structured to the $daily command; a win streak rewards users starting at a $100 reward and doubling for every streak win.
For example, the coinflip data may be stored like this:
coinflip: {
    type: Object,
    required: false,
    default: {
        currentStreak: 0,
        highestStreak: 0
    }
},

...and rewards may be decided similar to the following:
// f(x) = 100 * 2^(x-1)
const reward = 100 * (2 ** (streak - 1))

Streaks may also be displayed on user profiles as well. Additionally, there may be a leaderboard for the highest win streaks.

Will the user be betting any cash, or does it automatically start at $100? Basically, do you need to spend money at all to get money or is it just a free money command?

Good question. I think I might make a cost of $100 for every coinflip command to begin with.

Streak
Profit
Winnings

1
$0
$100

2
$100
$200

3
$300
$400

4
$700
$800

...
...
...

What do you think @TheProdigyHenry?

Sounds good.

I'm going to have to make a $leaderboard coinflip command argument and a current streak displayed on profiles as well.

@TheProdigyHenry 2 things:

What do you think should be the cool down for the $coinflip command?
I have the command working but it seems to be very underwhelming and not rewarding enough for a high streak. Even a streak of 4 is a high streak because the chances are 6.25% but the reward is only $800. Any suggestions?

@Le-SirH

I don't know if this is possible but 3-10 seconds between streaks. After a streak ends, 30-60 seconds to use the command again and begin a new streak.
Perhaps instead of starting with 2 as a base, start with another number like "e". For a streak of 4, the formula e^(n-1) gives $2,009 which is kind of more appealing. You can increase the base as necessary, but keep in mind that the higher the base, is the more cash people can win. Another idea would be to increase the multiplier: 100x * 2^(n-1), where "x" increases every streak or so.

I'd let you know if I come up with any more ideas.

That sounds more like it.

The bet chances are determined by the cash amount. Maybe I could use the inverse function of that to determine the reward based on the chance of such a streak.

To Do

Modify winnings/cost for command.
Display cost to use the command and the cost if users were to use the command a second time.
Display highest streak on user profiles.
Coinflip leaderboard.

Possible new $coinflip rewards:
winnings:  100 * (3 ^ (streak - 1)) + (streak * 150)
cost:      100 * (2 ^ streak)

streak
winnings
cost
total profit
chances

0
$33
$100
$-67
50%

1
$100
$200
$50
25%

2
$300
$400
$200
12.5%

3
$900
$800
$550
6.25%

4
$2,700
$1,600
$1,700
3.12%

5
$8,100
$3,200
$5,650
1.56%

6
$24,300
$4,800
$18,800
0.78%

7
$72,900
$9,200
$61,150
0.39%

8
$218,700
$16,400
$194,300
0.19%

9
$656,100
$32,800
$606,250
0.09%

10
$1,968,300
$49,600
$1,867,400
0.04%

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

@TheProdigyHenry Any suggestions or do you think this is good?


Understanding of Metric for Precision and Recall for Multi-label Classification

Keras provides a metric of precision and recall for multi-label classification. The document says that "Calculates the precision, a metric for multi-label classification of how many selected items are relevant." And the source code in /keras/metrics.py:
def precision(y_true, y_pred):
    """Precision metric.
    Only computes a batch-wise average of precision.
    Computes the precision, a metric for multi-label classification of
    how many selected items are relevant.
    """
    true_positives = K.sum(K.round(K.clip(y_true * y_pred, 0, 1)))
    predicted_positives = K.sum(K.round(K.clip(y_pred, 0, 1)))
    precision = true_positives / (predicted_positives + K.epsilon())
    return precision

If I understand correctly, precision will count each element as a single label. In other words, if y_true and y_pred are 2D arrays, e.g. with shape (32, 13) if the batch size is 32 and the number of classes is 13. What if I only care about class-level precision? For example, if I would like to know the 1st class precision, 2nd class precision ... etc ?

Hi,
Those metrics have been removed in 2.0. https://github.com/fchollet/keras/issues/5794


winapi km

@retep998
Are there any plans to add km?
Maybe need some help with this?
km documentation:

https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/content/_kernel/
https://github.com/MicrosoftDocs/windows-driver-docs-ddi

relative: #541

https://github.com/Trantect/winapi-rs/tree/feature/km

https://github.com/retep998/winapi-rs/pull/757


Update Docker images

Deprecated old docker images and replaced them with new ones. Not sure if this will work out of the box, because previously, puppeteer was always included in dependencies of the SDK, but now, users need to add it to their package.json. Are there different package.json files for different images? We need to add puppeteer to some and playwright to other.

Wait, maybe I'm not right as we already install these packages in the base image as they are listed there as dep e.g. https://github.com/apify/apify-actor-docker/blob/master/node-playwright-chrome/Dockerfile.
I took it back, it can work this way.


Updating Live with changes in Master

Docs Build status updates of commit c00580c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

his/core/sql-server-replication-troubleshooting-1.md
:bulb:Suggestion
View
Details

biztalk/adapters-and-accelerators/accelerator-hl7/encoding-characters-using-free-text.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/accelerator-hl7/programming-guide-and-sdk-tools.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/accelerator-hl7/upgrade-biztalk-accelerator-for-hl7.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/accelerator-rosettanet/install-configure-biztalk-accelerator-for-rosettanet.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/accelerator-swift/adding-an-mx-send-port.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/accelerator-swift/install-biztalk-accelerator-for-swift.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/accelerator-swift/message-repair-and-new-submission-service-processing.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/accelerator-swift/upgrade-biztalk-accelerator-for-swift.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/adapter-oracle-ebs/connect-to-oracle-ebs-in-visual-studio-using-add-adapter-metadata-wizard.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/adapter-oracle-ebs/connect-to-oracle-ebs-in-visual-studio-using-add-adapter-service-reference.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/adapter-sap/install-custom-rfcs-for-the-data-provider-for-sap.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/adapter-sql/install-microsoft-biztalk-adapter-for-sql-server-2016.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/install-configure-biztalk-adapters-enterprise-applications.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/consume-a-wcf-lob-adapter-sdk-adapter-in-a-biztalk-server-project.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/consume-a-wcf-lob-adapter-sdk-adapter-in-a-net-project.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/install-the-wcf-lob-adapter-sdk.md
:white_check_mark:Succeeded
View

biztalk/adapters-and-accelerators/wcf-lob-adapter-sdk/what-is-the-windows-communication-foundation-line-of-business-adapter-sdk.md
:white_check_mark:Succeeded
View

biztalk/core/a-bitwiseand-comparison-cannot-be-done-for-this-xsd-type.md
:white_check_mark:Succeeded
View

biztalk/core/a-bts-mime-error-was-encountered-when-attempting-to-decode-an-as2-message.md
:white_check_mark:Succeeded
View

biztalk/core/a-failure-occurred-in-processing-x12-message-on-send-port-no-party-with-name.md
:white_check_mark:Succeeded
View

biztalk/core/a-file-not-found-exception-occurred-while-reflecting-a-biztalk-assembly.md
:white_check_mark:Succeeded
View

biztalk/core/a-security-exception-occurred-while-reflecting-a-biztalk-assembly.md
:white_check_mark:Succeeded
View

biztalk/core/action-errors.md
:white_check_mark:Succeeded
View

biztalk/core/agreement-found-for-the-protocol-is-in-disabled-or-expired-state.md
:white_check_mark:Succeeded
View

biztalk/core/agreement-resolution-based-on-the-context-properties-for-protocol-has-failed.md
:white_check_mark:Succeeded
View

biztalk/core/ambiguous-certificate-reference.md
:white_check_mark:Succeeded
View

biztalk/core/an-as2-message-was-received-that-did-not-contain-the-as2-from-header.md
:white_check_mark:Succeeded
View

biztalk/core/an-as2-message-was-received-that-did-not-contain-the-as2-to-header.md
:white_check_mark:Succeeded
View

biztalk/core/an-empty-as2-message-was-received-and-suspended.md
:white_check_mark:Succeeded
View

biztalk/core/an-end-element-could-not-be-found-at-depth.md
:white_check_mark:Succeeded
View

biztalk/core/an-end-element-was-found-while-looking-for-start-element.md
:white_check_mark:Succeeded
View

biztalk/core/an-error-occurred-when-decrypting-an-as2-message.md
:white_check_mark:Succeeded
View

biztalk/core/an-error-occurred-when-validating-an-as2-message.md
:white_check_mark:Succeeded
View

biztalk/core/an-exception-has-occurred-during-the-execution-of-the-routing-orchestration.md
:white_check_mark:Succeeded
View

biztalk/core/an-invalid-quoted-http-header-encountered.md
:white_check_mark:Succeeded
View

biztalk/core/application-not-found.md
:white_check_mark:Succeeded
View

biztalk/core/as2-decoding-failed-while-decrypting-a-message.md
:white_check_mark:Succeeded
View

biztalk/core/as2-message-and-correlated-mdn-status-report.md
:white_check_mark:Succeeded
View

biztalk/core/based-on-the-specified-delimiter-set-no-valid-date-value-could-be-generated.md
:white_check_mark:Succeeded
View

biztalk/core/based-on-the-specified-delimiter-set-no-valid-digit-could-be-found.md
:white_check_mark:Succeeded
View

biztalk/core/based-on-the-specified-delimiter-set-no-valid-id-could-be-generated.md
:white_check_mark:Succeeded
View

biztalk/core/based-on-the-specified-delimiter-set-no-valid-time-value-could-be-generated.md
:white_check_mark:Succeeded
View

biztalk/core/batch-status-report.md
:white_check_mark:Succeeded
View

biztalk/core/batchterminator-utility.md
:white_check_mark:Succeeded
View

biztalk/core/biztalk-message-body-element-encoding-is-invalid.md
:white_check_mark:Succeeded
View

biztalk/core/biztalk-message-body-element-not-specified.md
:white_check_mark:Succeeded
View

biztalk/core/cannot-create-binding.md
:white_check_mark:Succeeded
View

biztalk/core/cannot-create-standard-metadata-binding-for-scheme.md
:white_check_mark:Succeeded
View

biztalk/core/cannot-determine-scheme.md
:white_check_mark:Succeeded
View

This comment lists only the first 50 files in the pull request.

his/core/sql-server-replication-troubleshooting-1.md

Line 161, Column 28: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? If so, add &preserve-view=true to the URL: https://docs.microsoft.com/sql/relational-databases/system-stored-procedures/sp-addarticle-transact-sql?view=sql-server-2017
Line 161, Column 209: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? If so, add &preserve-view=true to the URL: https://docs.microsoft.com/sql/relational-databases/system-stored-procedures/sp-addarticle-transact-sql?view=sql-server-2017

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Adding ZXing to Xamarin forms portable project

The install process when adding 2.04, and 2.1-beta fails if you include the Xamarin forms PCL project.
"Could not install package 'ZXing.Net.Mobile <IP_ADDRESS>'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile111', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author."
I installed it to my android project then added the references manually which has worked.
It seems the problem lies with the folder name that is generated here:
..\packages\ZXing.Net.Mobile.2.1.0-beta1\lib
which is "portable-net45+netcore45+wp8+UAP10+MonoAndroid403+MonoTouch10+Xamarin.iOS10"
It's missing a reference which would allow the installer to work. For reference here's the folder name on the Xamarin.Forms nuget:
"portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10"
I'm afraid my knowledge is limited, so I can't tell you exactly which one needs adding.

I had the same problem. The problem is the profile your PCL is targeting, it's not compatible with ZXing. I changed the target of mine PCLs to profile7, but there may be other profiles that is compatible with ZXging.
I have used this web page to compare different profiles, to find out which one I need, and can use.
http://run.plnkr.co/plunks/03ck2dCtnJogBKHJ9EjY/

Should be fixed in 2.1.0 when it's released soon.


Pretty printing for Expr

This PR adds a pretty printer for Expr for debugging in eval.

What do you mean by improve? The errors are already pretty helpful

For example here: https://github.com/yatima-inc/Lurk.lean/blob/a6c545a89f10e391295c6062065d850e5fde499a/Lurk/Evaluation/Eval.lean#L179
We don't know what we were evaluating, that caused that error.

Ohh ok, I can add more info in

🎉


SpatialNavigationScrollView should have a way to scroll to a specific item without focusing the view

Is your feature request related to a problem? Please describe.
There should be a way to scroll a SpatialNavigationScrollView to a specific item without focusing the SpatialNavigationScrollView itself
Describe the solution you'd like
There is a way using a scrollItemRef.current.focus() to focus and scroll to an item in a SpatialNavigationScrollView, but there is no way to scroll to an item in a list without focusing the referenced item. This would be useful for a menu scrolling to a specific section of the content, but not focusing the content unless the content is navigated to. Such as a library of items with a letter based navigation to fast-forward to the items starting with a selected/hovered letter

So in this screenshot, when the letter e is selected, the SpatialNavigationScrollView should have a way to scroll to the items starting with the letter e without focusing the first item in the grid

That's a very interesting feature indeed 😊
What API would you expect exactly? 😁

I don't terribly mind the existing scrollItemRef.current.focus() 'api', maybe SpatialNavigationScrollViewRef.current.scrollTo(index) or SpatialNavigationScrollViewRef.current.scrollTo(scrollItemRef.current) - whatever is easier based on the existing logic to scroll when scrollItemRef.current.focus() is called
It'd be useful on the SpatialNavigationScrollView as well as the SpatialNavigationVirtualizedList and SpatialNavigationVirtualizedGrid

I'm suggesting a ref method on focusable views and nodes called triggerScroll(). Does it work for you? See the PR #107 :)

scrollItemRef.current.triggerScroll() works for me! Sounds like a simple yet effective solution!

That could work, the solution would end up being something like this then?
const items = ['Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item 5'];
const scrollViewRef = useRef(null);
const itemRefs = useRef(items.map(() => createRef()));

const scrollToItem = (index, direction) => {
  itemRefs.current[index].current.measureLayout(
    scrollViewRef.current,
    (x, y) => {
      scrollViewRef.current.scrollTo({
        x: direction === 'horizontal' ? x : 0,
        y: direction === 'vertical' ? y : 0,
        animated: true,
      });
    },
    (error) => {
      console.error('Failed to find element', error);
    },
  );
};

// Scroll to item 5
scrollToItem(5, 'vertical');

return (
  <SpatialNavigationScrollView scrollViewRef={scrollViewRef}>
    {items.map((item, index) => (
      <View key={index} ref={itemRefs.current[index]} style={styles.item}>
        <Text>{item}</Text>
      </View>
    ))}
  </SpatialNavigationScrollView>
);

That'd give a good amount of flexibility, at the 'cost' of a less integrated solution
Would the offsetFromStart need to also be applied to the scrollTo value? Not 100% sure how that's used by the library

Yes definitely, would be something like this. Actually, I can say that it is something like this because I just published the change 😂
You'll find it in 3.4.0 🎉
<SpatialNavigationScrollView ref={scrollViewRef}>
  ...
</SpatialNavigationScrollView>

The ref is found under ref, as expected.
You'd need more tweaks on your side indeed, but I don't think it is that common and that anyone would implement it the same way. So it's better to keep this part off the library for now, and keep it simple on the lib's side for now.
Regarding offsetFromStart, this might be subject to change in the future but for now it helps to have an offset when you scroll to an element. Otherwise, when you focus an item then the scrollview will align the item with the top of the screen. Usually you want it on the middle of the screen, and that's when you add an offset.
If you manually scroll to the scrollview, you'll need to mention the offset yourself (by adding it's value to your scroll logic), because we're exposing the raw scrollTo of react native 😊

I'm closing as it is published, feel free to reopen if you have any other problem 😊

You're a legend! Thanks so much for getting that out.


 I was able to delete this user which makes gogs un-usable after that.

Why would you delete yourself?

haha thats a good question. but we could make sure its disabled so that it won't be deleted accidentally which makes gogs un-usable.

I think add a check for last site-admin can't be deleted or removed admin permission is better?

I think it's the same bug that happens when you upgrade gogs version by apt/yum. It keeps asking you again to install gogs from zero, even if you have a current deploy you want to preserve.
You can't avoid this bug if you type the right database and user/password, but what if you were wrong?
An option button (boolean) would be better:
(*)  Use current configuration
---------------------------------------
( )  Install a new gogs deploy
    [admin login]
    [password]
     database:
         () mysql
         () sqlite
         () postgresql

  ... etc...

@pgmartinez the problem with apt upgrades has been solved here #1897. I don't think this is an issue anymore. @Unknwon has pointed it right away just a check for the last site-admin would be enough. Everything else would be unnecessary complicated without a real benefit.

What I see here is that there should be atleast 1 site-admin/super-user that makes gogs usable. So,

Mark the first user - super user and disable deletion (simple fix)
Disable deletion of last site-admin
disable includes - delete button + admin rights checkboxes.


Bug fix: we now guarantee that the Stanford dependency graph produce…

…d by CoreNLP has the same number of nodes as the words in the sentence.

@MihaiSurdeanu, reach is about to be republished to use the updates to bioresources.  It would also like to use a version of processors with this fix.  That means processors would need to be updated first.  Is it OK to release version 8.2.4 from this commit?

@MihaiSurdeanu, reach is about to be republished to use the updates to bioresources.  It would also like to use a version of processors with this fix.  That means processors would need to be updated first.  Is it OK to release version 8.2.4 from this commit?

Please do!
Can you please check that CHANGES is also updated?

Please do!
Can you please check that CHANGES is also updated?

It looks like you already had done that for processors.  I did for reach.  Ben did for bioresources.

It looks like you already had done that for processors.  I did for reach.  Ben did for bioresources.

This PR was never actually tested.  River was restarted recently and it seems that it has a problem with the first test(s) after the restart.  I am trying to force it to test.  Locally, it is TestDocumentSerializer that is failing.  The recent change with the preferredSize causes serialization problems.  That value is not preserved in the process, perhaps because there are empty elements padding to the end of a container that are either not written or read.  Here is a screenshot:

This PR was never actually tested.  River was restarted recently and it seems that it has a problem with the first test(s) after the restart.  I am trying to force it to test.  Locally, it is TestDocumentSerializer that is failing.  The recent change with the preferredSize causes serialization problems.  That value is not preserved in the process, perhaps because there are empty elements padding to the end of a container that are either not written or read.  Here is a screenshot:


[Feature Request] Jumanji interface

Motivation
We'd like to support Jumanji in the library.
Required features
We will need a stateless environment interface with the jumanji envs.
The specs look pretty much like dm_control, which we already support. The only caveat is that the env also expects a state which represents the state to give as input to the env (unlike gym for instance, which keeps track of the env internally).
The seeding interface with jax must be thought carefully, too.
TODOs:

[ ] Find how to put the State fields in the input_spec from the EnvBase in torchrl (and conversely in the observation_spec). Write the methods to read the State (input state) and the timestamp (observation).
[ ] Code the JumanjiWrapper wrapper, and write a dedicated test for several envs
[ ] Code the JumanjiEnv object, check that envs can be created as desired.
[ ] Test the seeding logic
[ ] The envs should accept a batch_size argument. The resulting tensordicts should have the required batch size.

All the tests should be coded in an independent CI workflow that would test only the compatibility with jumanji (to avoid collision with other tests and to minimise the testing runtime).
Additional context
We created a sketched PR here.

Closed by #670


Highlighting fails when generic type declaration spans many lines

TS and JS Grammar Extension version:  0.0.22 / latest
From https://github.com/Microsoft/vscode/issues/29135
Code
Using the typescript react gammar:
const connectedComponent = connect<
	ApplicationState,
	Dispatch<TodoAction>,
	HomeComponent
>(mapStateToProps, mapDispatchToProps)(Home);

Elements after Dispatch< are marked as a tsx component and not highlighted properly:

This is by design as the grammar lookup doesn't allow multiple lines at a time. Hence at location connect < cannot be determined as type parameter.

JSX doesn't allow any [a-z] character before the < for the outer one, so Dispatch<TodoAction> cannot be a JSX element. Is there a way to encode this inside of the TmLanguage format?

But the < could be less than operator.

That's true but I don't really understand why it's an issue here. In this case, <TodoAction> is being  recognized as a JSX element. In the JSX element detection, could you ensure that the previous character is not [a-zA-Z_$]?

@vjeux yes that can be done, but please open another issue with valid code that is broken. Thanks


python310Packages.garminconnect: 0.1.48 -> 0.1.49

Description of changes
https://github.com/cyberjunky/python-garminconnect/releases/tag/0.1.49

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 200084 run on x86_64-linux 1

2 packages built:

python310Packages.garminconnect
python39Packages.garminconnect


Extensions in Dev Home "Uninstall" button takes you to "Installed Apps" in Windows Settings with a blank search bar

Dev Home version
0.11
Steps to reproduce the bug
Investigate if it's possible to pre-fill the search bar or send directly to the settings page for the app
http://task.ms/49364874

It appears that the settings app URI activation takes the package family name as an optional parameter.


SD TTNN: TtTransformer2DModel

Implement subgraph TtTransformer2DModel and make two tests: one for 256x256 image size and one for 512x512 image size.
Have one test file named something like test_transformer_2d_model.py and inside it two tests test_transformer_2d_model_256x256 and test_transformer_2d_model_512x512. Tests should be parametrized with following input shapes:

[ ] Shape 1:  256x256

[ ] hidden_states case 1: [2, 320, 32, 32]
[ ] hidden_states case 2: [2, 640, 16, 16]
[ ] hidden_states case 3: [2, 1280, 8, 8]
[ ] hidden_states case 4: [2, 1280, 4, 4]

[ ] Shape 2:  512x512

[ ] hidden_states case 1: [2, 320, 64, 64]
[ ] hidden_states case 2: [2, 640, 32, 32]
[ ] hidden_states case 3: [2, 1280, 16, 16]
[ ] hidden_states case 4: [2, 1280, 8, 8]

For all the 8 cases mentioned above:

encoder_hidden_states: [1, 2, 77, 768]
timestep: None
class_labels: None
cross_attention_kwargs: None
return_dict: True

The Transformer2DModel sub-module using ttnn ops for the stable diffusion model is completed.
The pcc for different cases are here:
Shape 1: 256x256

hidden_states case 1: [2, 320, 32, 32]  - 0.8872937071610781
hidden_states case 2: [2, 640, 16, 16]  - 0.9594002362201985
hidden_states case 3: [2, 1280, 8, 8]    - 0.8873929637242165
hidden_states case 4: [2, 1280, 4, 4]    - 0.9210635757073814

Shape 2: 512x512

hidden_states case 1: [2, 320, 64, 64]  - 0.9239385385640229
hidden_states case 2: [2, 640, 32, 32]  - 0.9750164330528794
hidden_states case 3: [2, 1280, 16, 16] - 0.9323856522994485
hidden_states case 4: [2, 1280, 8, 8]    - 0.9210635757073814

Corresponding commit - commit

Corresponding PR - #5092
Currently, working on using ttnn.Conv2D instead of fallback_ops for conv.

PR merged, closing the ticket.


Remove Time#succ specs for ruby >= 3

As of https://bugs.ruby-lang.org/issues/17039 and https://github.com/ruby/ruby/pull/3525 this PR removes Time#succ specs for ruby >= 3.0

It's enough to modify in https://github.com/ruby/ruby/pull/3525/files. The changes will be sync'd later.


Gridview.builder

Hello, is it possible to use a gridview.builder with this plugin? Here is an example of code that I would like to put in place
I also use a pagination
return ReorderableBuilder(
      enableLongPress: true,
      enableDraggable: true,
      enableScrollingWhileDragging: false,
      scrollController: scrollController,
      onReorder: (List<OrderUpdateEntity> orderUpdateEntities) {
        for (final orderUpdateEntity in orderUpdateEntities) {
          final publication = controller.publicationList.removeAt(orderUpdateEntity.oldIndex);
          controller.publicationList.insert(orderUpdateEntity.newIndex, publication);
        }
      },
      builder: (children) {
        return Obx(() => controller.isLoading.value == false
            ? GridView.builder(
                key: GlobalKey(),
                shrinkWrap: true,
                scrollDirection: Axis.vertical,
                controller: scrollController,
                gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
                  crossAxisCount: 3,
                  mainAxisSpacing: 1,
                  crossAxisSpacing: 1,
                ),
                itemCount: controller.publicationList.length < profileController.totalPublications.value
                    ? controller.publicationList.length + 3
                    : controller.publicationList.length,
                itemBuilder: (BuildContext context, int index) {
                  if(index < controller.publicationList.length){
                    return InkWell(
                        key: Key(controller.publicationList.elementAt(index).publicationHasFiles?.first.fileUrl ?? ""),
                        onTap: () async {

                          await Get.to(PublicationShow(user, index));
                          controller.update();
                          //controller.refresh();
                        },
                        child: controller.publicationList.elementAt(index).publicationHasFiles?.first.type == "image"
                            ? Stack(
                          children: [
                            Shimmer.fromColors(
                              baseColor: Colors.grey.shade300,
                              highlightColor: Colors.grey.shade100,
                              child: Container(
                                color: LGREY,
                              ),
                            ),
                            CachedNetworkImage(
                              imageUrl: controller.publicationList.elementAt(index).publicationHasFiles?.first.fileUrl ?? "",
                              fit: BoxFit.cover,
                              height: double.infinity,
                              width: double.infinity,
                            ),
                          ],
                        )
                            : Container(
                          color: Colors.black,
                          child: Stack(
                            children: [
                              PublicationVideoPlayer(
                                videoPlayerController: VideoPlayerController.network(controller.publicationList.elementAt(index).publicationHasFiles?.first.fileUrl ?? ""),
                                autoPlay: false,
                                aspectRation: 1/1,
                                showControls: false,
                              ),
                              const Padding(
                                padding: EdgeInsets.all(4.0),
                                child: Icon(Icons.play_circle_outline, color: Colors.white, size: 15),
                              )
                            ],
                          ),
                        )
                    );
                  }
                  else {
                    if(controller.publicationList.length < profileController.totalPublications.value){
                      return Shimmer.fromColors(
                        baseColor: Colors.grey.shade300,
                        highlightColor: Colors.grey.shade100,
                        child: Container(
                          color: LGREY,
                        ),
                      );
                    }
                  }
                  return const SizedBox();
                },
              )
            : GridView.builder(
                key: GlobalKey(),
                shrinkWrap: true,
                scrollDirection: Axis.vertical,
                gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
                  crossAxisCount: 3,
                  mainAxisSpacing: 1,
                  crossAxisSpacing: 1,
                ),
                itemCount: 18,
                itemBuilder: (BuildContext context, int index) {
                  return Shimmer.fromColors(
                    baseColor: Colors.grey.shade300,
                    highlightColor: Colors.grey.shade100,
                    child: Container(
                      color: LGREY,
                    ),
                  );
                },
              )
        );
      },
      children: generatedChildren,
    );

Hello @NathanFlorins
It is possible to use GridView.builder. But I recommend to use version 5.0.0-dev.3, because at this version I support GridView.builder.
In my example app, I added also a part for GridView.builder:
...

      case ReorderableType.gridViewBuilder:
        return ReorderableBuilder.builder(
          key: Key(_gridViewKey.toString()),
          onReorder: _handleReorder,
          lockedIndices: lockedIndices,
          onDragStarted: () {
            const snackBar = SnackBar(
              content: Text('Dragging has started!'),
            );
            ScaffoldMessenger.of(context).showSnackBar(snackBar);
          },
          scrollController: _scrollController,
          childBuilder: (itemBuilder) {
            return GridView.builder(
              key: _gridViewKey,
              controller: _scrollController,
              itemCount: children.length,
              itemBuilder: (context, index) {
                return itemBuilder(
                  _getChild(index: index),
                  index,
                );
              },
              gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
                crossAxisCount: 4,
                mainAxisSpacing: 4,
                crossAxisSpacing: 8,
              ),
            );
          },
        );
...

  void _handleReorder(ReorderedListFunction reorderedListFunction) {
    setState(() {
      children = reorderedListFunction(children) as List<int>;
    });
  }

Did it work for you? @NathanFlorins

Hello, No I have a bit of trouble setting up, I use the getx system

What I see could be a problem:

the GlobalKey of your GridView has to be declared at the top of your widget
every child of your GridView needs a unique key that is related to your item @NathanFlorins

Then I would close this issue until you find a bug or something problematic @NathanFlorins
And if you need any help, feel free to write

Hi @karvulf
Sorry but i can't drag, Can you tell me what is wrong?
`
class PublicationList extends StatelessWidget {
UserModel user;
int totalPublications;
PublicationList({
Key? key,
required this.user,
required this.totalPublications,
}) : super(key: key);
ScrollController scrollController = ScrollController();
late PublicationController publicationController;
@override
Widget build(BuildContext context) {
publicationController = Get.find(tag: 'PublicationController#${user.id}');
var reordableKey = GlobalKey();
return ReorderableBuilder.builder(
  key: reordableKey,
  onReorder: (value) {},
  onDragStarted: () {
    const snackBar = SnackBar(
      content: Text('Dragging has started!'),
    );
    ScaffoldMessenger.of(context).showSnackBar(snackBar);
  },
  scrollController: scrollController,
  childBuilder: (itemBuilder) {
   return GridView.builder(
      shrinkWrap: true,
      scrollDirection: Axis.vertical,
      controller: scrollController,
      gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
        crossAxisCount: 3,
        mainAxisSpacing: 1,
        crossAxisSpacing: 1,
      ),
      itemCount: publicationController.publicationList.length < totalPublications
          ? publicationController.publicationList.length + 3
          : publicationController.publicationList.length,
      itemBuilder: (BuildContext context, int index) {
        if (index < publicationController.publicationList.length) {
          return InkWell(
              key: Key(publicationController.publicationList
                  .elementAt(index)
                  .files
                  .first
                  .fileUrl),
              onTap: () async {
                await Get.to(PublicationShow(user, index, totalPublications));
                publicationController.update();
                //publicationController.refresh();
              },
              child: Builder(builder: (context) {
                PublicationModel currentPublication =
                publicationController.publicationList.elementAt(index);
                PublicationMediaModel currentFile =
                    publicationController.publicationList.elementAt(index).files.first;
                String cacheKey =
                    "publication_${currentPublication.id}_files_${currentFile.id}";

                return currentFile.type == "image"
                    ? Stack(
                  children: [
                    Shimmer.fromColors(
                      baseColor: Colors.grey.shade300,
                      highlightColor: Colors.grey.shade100,
                      child: Container(
                        color: LGREY,
                      ),
                    ),
                    CachedNetworkImage(
                      imageUrl: currentFile.fileUrl,
                      fit: BoxFit.cover,
                      height: double.infinity,
                      width: double.infinity,
                      cacheKey: cacheKey,
                      fadeInDuration: Duration.zero,
                      fadeOutDuration: Duration.zero,
                    ),
                  ],
                )
                    : Container(
                  color: Colors.black,
                  child: Stack(
                    children: [
                      // Pourquoi passer le contrôleur en paramètres si c'est pour le construire à ce moment ?????? ... A revois
                      PublicationVideoPlayer(
                        videoPlayerController:
                        VideoPlayerController.network(currentFile.fileUrl),
                        autoPlay: false,
                        aspectRation: 1 / 1,
                        showControls: false,
                      ),
                      const Padding(
                        padding: EdgeInsets.all(4.0),
                        child: Icon(Icons.play_circle_outline,
                            color: Colors.white, size: 15),
                      )
                    ],
                  ),
                );
              }));
        } else {
          if (publicationController.publicationList.length < totalPublications) {
            return Shimmer.fromColors(
              baseColor: Colors.grey.shade300,
              highlightColor: Colors.grey.shade100,
              child: Container(
                color: LGREY,
              ),
            );
          }
        }
        return const SizedBox();
      },
    );
  },
);

}
}
`

You declared your global key in build.
You have to declare it at the top of your widget, where also scrollController is created.
Also onReorder is not used, so after reordering your items, it is possible that the reorder will be reset, when the widget rebuilds because you didn't update the order of your items. Also your if-else statement in itemBuilder could be a problem if you return widgets with no keys.
If you have still issues, let me know it @NathanFlorins

I don't even have an animation to move an item, nothing happens, as if it was a simple gridview

did you also long pressed the item? the default behavior is to long press the item before the drag started @NathanFlorins

Oh wait there is another strange thing.
In my example, I have the following
        return ReorderableBuilder.builder(
          key: Key(_gridViewKey.toString()),
          onReorder: _handleReorder,
          lockedIndices: lockedIndices,
          onDragStarted: () {
            const snackBar = SnackBar(
              content: Text('Dragging has started!'),
            );
            ScaffoldMessenger.of(context).showSnackBar(snackBar);
          },
          scrollController: _scrollController,
          childBuilder: (itemBuilder) {
            return GridView.builder(
              key: _gridViewKey,
              controller: _scrollController,
              itemCount: children.length,
              itemBuilder: (context, index) {
                return itemBuilder(
                  _getChild(index: index),
                  index,
                );
              },
              gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
                crossAxisCount: 4,
                mainAxisSpacing: 4,
                crossAxisSpacing: 8,
              ),
            );
          },
        );

I always called itemBuilder where I add the child and current index. This is also missing in your code @NathanFlorins

Ok that's it thanks a lot ! @karvulf

Glad to hear! @NathanFlorins

Sorry but I still need a little help from you
I can't use OrderUpdateEntity in ReorderableBuilder.builder ?

That part changed since the update to 5.0.0.
Now you get a function that does the reorder process for you, so you just add your list to the function and it returns the list reordered back.
In your case, that would mean, you just do the following:
...
onReorder: (ReorderedListFunction reorderedListFunction) {
      final updatedChildren = reorderedListFunction(your_children) as List<Your_Type>;
     // do update your children in your controller
},
...

Possible you need a setState if your controller does not notify the the widget to rebuilt. @NathanFlorins

@karvulf  thanks

@karvulf In order not to send the whole list back to the backend to update it, I would like to send only the new index of the item I moved, is it possible to have the new index/rank of an item with this new function?

It would be possible but this solution has also a meaning because you can lock items that should not move.
The function orders these items in a correct way that ensures it is ordered correctly. That is the reason why I added the function.
I don't think it works well with your solution updating the list in the backend with the old and new index.
Is it possible that you just send a list of the ids of your items? Then you wouldn't send so much data. @NathanFlorins

I plan to use this solution, but I would just like to have the index of the item I move, and the index of the place where I move the item @karvulf

Maybe that would a possible way:
If you don't use lockedIndices, so this list is empty, then the normal reorder process would be possible with the old and new index just by inserting it. I could add another function that would return also return a result in that case.
But if you have a lot of items and tries to reorder them, then I would recommend to use my function otherwise you could reorder the items by yourself.
I will add that to the next update of version 5.0.0-dev.4. @NathanFlorins

Maybe that would a possible way:
If you don't use lockedIndices, so this list is empty, then the normal reorder process would be possible with the old and new index just by inserting it. I could add another function that would return also return a result in that case.
But if you have a lot of items and tries to reorder them, then I would recommend to use my function otherwise you could reorder the items by yourself.
I will add that to the next update of version 5.0.0-dev.4. @NathanFlorins

Maybe with the onDragStarted method? and onDragEnd ?

Thats also possible.
Then I will do the following thing:

onDragStarted will have the index of the item where the drag started
 onDragEnd will have the index of the item when the drag ends

I will try to implement that this evening. @NathanFlorins

Ah well in that case, I will implement this right now @NathanFlorins

Oh already, great it works! Thank you so much you are great !!! @karvulf

@karvulf Hi, is there a way to return SliverGrid.builder? I've tried a few methods like warp in SliverToBoxAdapter()->error: unbounded height.
Currently this is runnable:
NestedScrollView(
  headerSliverBuilder: (context, innerBoxIsScrolled) {
    return <Widget>[];
  },
  body: ReorderableBuilder.builder(childBuilder: (itemBuilder) {
    return GridView.builder(
      itemBuilder: (context, index) {
        return itemBuilder(myWidget(), index);
      },
      gridDelegate:
          SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2),
    );
  }),
);

but If I write like this then the Error happens which I hardly to solve it. If wrap ReorderableBuilder.builder in ``
// in StatelessWidget
@override
Widget build(BuildContext context) {
  return RefreshIndicator(
    onRefresh: () => Future.sync(
      () => myGetxController.reset(),
    ),
    child: CustomScrollView(
      scrollDirection: Axis.vertical,
      // controller: myGetxController.scrollController,
      slivers: [
        SliverAppBar(
          title: MyWidget1(),
          floating: true,
          flexibleSpace: Placeholder(),
          expandedHeight: 200,
        ),
        ReorderableBuilder.builder(
          enableDraggable: false,
          scrollController: myGetxController.scrollController,
          childBuilder: (itemBuilder) {
            return SliverGrid.builder(
              gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                crossAxisCount:
                    (MediaQuery.of(context).size.width / 400).round(),
                mainAxisSpacing: 5,
                crossAxisSpacing: 5,
                childAspectRatio: 3,
              ),
              itemCount: myGetxController.length,
              itemBuilder: (context, index) {
                return itemBuilder(
                  PostWidget(post: myGetxController.datas[index], index: index),
                  index);
              },
            );
          },
        )
      ],
    ),
  );
}

Related Problem:
https://stackoverflow.com/questions/71233618/a-renderviewport-expected-a-child-of-type-rendersliver-but-received-a-child-of-t
I've search for questions like "builder in customscrollview" and asked for help from chatGPT, but still can't solve it.

Hi @AClon314
Currently this is not supported. The reason is that I am using some widgets around the GridView that are not supported by slivers. I will open a new issue to support also Slivers, but it could take some time before this works

Opened Issue #99 @AClon314


feat: url shortener

ℹ Overview

adds url short links via service for terminals with limited support for hyperlinks

✅ Acceptance:

[x] Pre-commit checks pass

Found a small issue with network being fnet-v1 instead of lora's expected fnet, working on a fix. Will PR to this branch

We can ignore the patch coverage until a better test bed is in place. Right now it's just make sure we don't have regressions while refactoring


enable doraPP

Description
Please read our CONTRIBUTING.md prior to creating your first pull request.
Please include a summary of the feature or issue being fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes #(issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[X] New feature (non-breaking change which adds functionality)
[ ] This change requires a documentation update

Feature/Issue validation/testing
Please describe the Unit or Integration tests that you ran to verify your changes and relevant result summary. Provide instructions so it can be reproduced.
Please also list any relevant details for your test configuration.

[ ] Test A
Logs for Test A

[ ] Test B
Logs for Test B

Checklist:

[ ] Have you added tests that prove your fix is effective or that this feature works?
[ ] Has code been commented, particularly in hard-to-understand areas?
[ ] Have you made corresponding changes to the documentation?

Thanks for the contribution! This is super!


Add Codacy

Coverage remained the same at 88.834% when pulling 61e57646b862ca38a64f77e367213fbea3277aab on add-codacy into aa1a11760ddd8451c75186bb3c44d135585fae4b on master.


[Question] Mac $PATH is not set?

I am new to this package.
I am using mac. when I open the term2. I found that node, gulp, grunt, and all other npm install -g are missing.
How should I setup my env?

language go command didn't work for me either... followed the steps from @soblom , restarted atom and everything is just fine. Thanks!

Closing in favor of #50


Please add a total to the "Cost breakdown"

Please add a total to the "Cost breakdown"

...og guide me to add it to the plugin.
Thank you in advanced.

...this is just a hack and a window dressing! But it works as a visual feedback... I think!
I'm not so trained in php... so please guide me.
For those of you who want to use this hack. Just put this in the file: Template-Budget-breakdown.php after the <?php endforeach ?> on line 26
...

                <?php
                $totPeice = array();
                foreach ($paginator->getCollection() as $record) {
                    $totPeice[] = (float)$record['cost'];
                    // echo n($record['time_spent']).' '.t('hours');
                    // return $totHours;
                }
                echo number_format(array_sum($totPeice), 2, '.', ',');
                // print_r ($totHours[0]);
                ?>

                <?php
                $totHours = array();
                foreach ($paginator->getCollection() as $record) {
                    $totHours[] = (float)$record['time_spent'];
                    // echo n($record['time_spent']).' '.t('hours');
                    // return $totHours;
                }
                echo number_format(array_sum($totHours), 2, '.', ',');
                // print_r ($totHours[0]);
                ?>

            Total


Readme edit

Added Seneca logo to header.
Moved badges to top.
Added JS standard badge to top.
Changed linking style to match that in seneca-level-store.

Hey @code-jace Your first PR accepted!!! Here's to many more :tada:
cc @rjrodger @geek


Copy logback configs

We copy logback.xml and logback-container.xml from the default
/etc/cdap/conf.dist but only if the files don't already exist.
Our entire service logging mechanism expects that we output logs
to STDOUT and those are captured and redirected to the logs,
rather than the logback.xml files being correctly setup to have
the services log to the correct files, directly.

Closing this in favor of a single PR...


Research and choose auth framework

Look into different frameworks to implement user authentication.
Ensure that your choice makes it easy to implement sign up with Google.

Frirebase


[PowerRename] Replace syntax help window is bigger than the PowerRename window

Microsoft PowerToys version
0.82.1
Installation method
PowerToys auto-update
Running as admin
None
Area(s) with issue?
PowerRename
Steps to reproduce

✔ Expected Behavior
No response
❌ Actual Behavior
No response
Other Software
No response

is it really an issue ? i mean what should we expect ? we should resize it according to the PowerRename window?

is it really an issue ? i mean what should we expect ? we should resize it according to the PowerRename window?

Valid point. Don't know.


Question:  not contenteditable

After saving an image with image description, description is not editable after opening the editor again.
This is likely not  a fault in Suneditor but a config/setup error by me. However, do you have a hint why contenteditable
is not set to 'true' in figcaption tag when opening the editor and by clicking within the field or image? No contentediable is found in figcaption tag. I am using editor in inline mode.
Version
2.42.0
I believe I have had this problem for a while so likely not related to 2.42.0

The 2.43.0 version has been updated.
If this issue has not been resolved, please reopen this issue.
Thank you.


Time control Demo

Can anyone create a plnkr quickly for the time control.  I understand the documentation is not there but a quick example might be helpful

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/35808140-time-control-demo?utm_campaign=plugin&utm_content=tracker%2F1022469&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1022469&utm_medium=issues&utm_source=github).

You can find an example here: https://github.com/assisrafael/angular-input-masks/blob/master/src/global/time/time.html

Closing due to inactivity.


Can not save the model with tf format because in the DNN layer modify the list

If we use the DNN Layer, and want to save the model, the error *ValueError: Unable to save the object ListWrapper(...)* occurs like Tensorflow Issue #36916.
It because the Layer list can not be used to update, only used to append.
Ref: In order to support restoration on object creation, tracking is exclusively for append-only data structures

re

        self.activation_layers = [activation_layer(self.output_activation if i == len(self.hidden_units) - 1 and self.output_activation else self.activation)
                                  for i in range(len(self.hidden_units))]


Fix TO ats config meta to accept names

Fixes #3673
What does this PR (Pull Request) do?

[x] This PR fixes #3673 OR is not related to any Issue

Tests exist, this fixes them.
No documentation, no interface change.
No changelog, issue was introduced after prior release.
Which Traffic Control components are affected by this PR?

Traffic Ops

What is the best way to verify this PR?
Request /api/1.2/servers//configfiles/ats, verify 200 and correct config.
Run TO API tests.
If this is a bug fix, what versions of Traffic Ops are affected?

master

The following criteria are ALL met by this PR

[x] This PR includes tests OR I have explained why tests are unnecessary
[x] This PR includes documentation OR I have explained why documentation is unnecessary
[x] This PR includes an update to CHANGELOG.md OR such an update is not necessary
[x] This PR includes any and all required license headers
[x] This PR ensures that database migration sequence is correct OR this PR does not include a database migration
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/3857/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/3858/
Test PASSed.

tested in both CIAB and my personal environment, seems good!

"tested in both CIAB and my personal environment, seems good!"

You can submit an approving Review by clicking on Files changed → Review Changes → Approve → Submit Review

@ocket8888 @dangogh
if there is no other special comment, can I merge this PR directly?

@Shihta   Once you have verified that:

it has fixed the problem
introduces no other problem
tested appropriately
requires no copyright or documentation changes

then yes,  please do merge.   And since you are the one who has done all that,  I want to make sure you get credit for merging  in the git history.


Isosurface hangs on MOM4

Open VAPOR, Import data MOM4/00010101
Create an isosurface renderer. Enable it.
Vapor hangs.

Never mind, it comes back eventually.


Getting spammed errors in the log

The problem
The error log is getting spammed with errors about failing to update the DNS records
What version of Cloudflared has the issue?
4.0.12
What was the last working version of Cloudflared?
No response
What type of installation are you running?
Home Assistant OS
Add-on YAML Configuration
additional_hosts: []
external_hostname: drerrie.nl

Anything in the logs that might be useful for us?
2023-03-08T21:55:15Z INF Unregistered tunnel connection connIndex=0
2023-03-08T21:55:15Z ERR Failed to serve quic connection error="timeout: no recent network activity" connIndex=2 ip=<IP_ADDRESS>
2023-03-08T21:55:15Z ERR Failed to serve quic connection error="timeout: no recent network activity" connIndex=0 ip=<IP_ADDRESS>
2023-03-08T21:55:15Z ERR Serve tunnel error error="timeout: no recent network activity" connIndex=0 ip=<IP_ADDRESS>
2023-03-08T21:55:15Z ERR Failed to serve quic connection error="timeout: no recent network activity" connIndex=1 ip=<IP_ADDRESS>
2023-03-08T21:55:15Z ERR Serve tunnel error error="timeout: no recent network activity" connIndex=1 ip=<IP_ADDRESS>
2023-03-08T21:55:15Z ERR Failed to serve quic connection error="timeout: no recent network activity" connIndex=3 ip=<IP_ADDRESS>
2023-03-08T21:55:15Z ERR Serve tunnel error error="timeout: no recent network activity" connIndex=3 ip=<IP_ADDRESS>
2023-03-08T21:55:15Z ERR Serve tunnel error error="timeout: no recent network activity" connIndex=2 ip=<IP_ADDRESS>
2023-03-08T21:55:15Z INF Retrying connection in up to 1s connIndex=2 ip=<IP_ADDRESS>
2023-03-08T21:55:15Z INF Retrying connection in up to 1s connIndex=0 ip=<IP_ADDRESS>
2023-03-08T21:55:15Z INF Retrying connection in up to 1s connIndex=3 ip=<IP_ADDRESS>
2023-03-08T21:55:15Z INF Retrying connection in up to 1s connIndex=1 ip=<IP_ADDRESS>
2023-03-08T21:55:16Z ERR Connection terminated error="timeout: no recent network activity" connIndex=3
2023-03-08T21:55:16Z ERR Connection terminated error="timeout: no recent network activity" connIndex=2
2023-03-08T21:55:17Z ERR Connection terminated error="timeout: no recent network activity" connIndex=1
2023-03-08T21:55:17Z INF Connection 244413fd-4235-4800-b10c-2dd440d37826 registered with protocol: quic connIndex=0 ip=<IP_ADDRESS> location=AMS
2023-03-08T21:55:28Z INF Connection be0746a0-215e-4e48-b7d0-b15d7f1c3384 registered with protocol: quic connIndex=3 ip=<IP_ADDRESS> location=AMS
2023-03-08T21:55:28Z INF Connection 7197f2ba-ffb3-4ff0-b482-9e2e15571b9d registered with protocol: quic connIndex=2 ip=<IP_ADDRESS> location=DUB
2023-03-08T21:55:28Z INF Connection d9585168-4960-42d5-9142-f3ece31f1395 registered with protocol: quic connIndex=1 ip=<IP_ADDRESS> location=DUB
2023-03-09T01:00:09Z INF Unregistered tunnel connection connIndex=3
2023-03-09T01:00:09Z WRN Failed to serve quic connection error="timeout: no recent network activity" connIndex=3 ip=<IP_ADDRESS>
2023-03-09T01:00:09Z WRN Serve tunnel error error="timeout: no recent network activity" connIndex=3 ip=<IP_ADDRESS>
2023-03-09T01:00:09Z INF Retrying connection in up to 1s connIndex=3 ip=<IP_ADDRESS>
2023-03-09T01:00:10Z WRN Connection terminated error="timeout: no recent network activity" connIndex=3
2023-03-09T01:00:12Z INF Connection 95a81f7a-14ad-4021-aa55-4eb5f8995b25 registered with protocol: quic connIndex=3 ip=<IP_ADDRESS> location=AMS
2023-03-09T01:00:13Z INF Unregistered tunnel connection connIndex=0
2023-03-09T01:00:13Z WRN Failed to serve quic connection error="timeout: no recent network activity" connIndex=0 ip=<IP_ADDRESS>
2023-03-09T01:00:13Z WRN Serve tunnel error error="timeout: no recent network activity" connIndex=0 ip=<IP_ADDRESS>
2023-03-09T01:00:13Z INF Retrying connection in up to 1s connIndex=0 ip=<IP_ADDRESS>
2023-03-09T01:00:15Z INF Connection a0351ffc-07a9-4273-b5c5-fa0990b97f30 registered with protocol: quic connIndex=0 ip=<IP_ADDRESS> location=AMS
2023-03-09T02:33:42Z INF Unregistered tunnel connection connIndex=3
2023-03-09T02:33:42Z WRN Failed to serve quic connection error="failed to accept QUIC stream: timeout: no recent network activity" connIndex=3 ip=<IP_ADDRESS>
2023-03-09T02:33:42Z WRN Serve tunnel error error="failed to accept QUIC stream: timeout: no recent network activity" connIndex=3 ip=<IP_ADDRESS>
2023-03-09T02:33:42Z INF Retrying connection in up to 1s connIndex=3 ip=<IP_ADDRESS>
2023-03-09T02:33:44Z WRN Connection terminated error="failed to accept QUIC stream: timeout: no recent network activity" connIndex=3
2023-03-09T02:33:58Z INF Connection 06a2b04c-dc3d-4397-b21a-a62af8377dca registered with protocol: quic connIndex=3 ip=<IP_ADDRESS> location=AMS
2023-03-09T09:37:52Z INF Unregistered tunnel connection connIndex=0
2023-03-09T09:37:52Z WRN Failed to serve quic connection error="timeout: no recent network activity" connIndex=0 ip=<IP_ADDRESS>
2023-03-09T09:37:52Z WRN Serve tunnel error error="timeout: no recent network activity" connIndex=0 ip=<IP_ADDRESS>
2023-03-09T09:37:52Z INF Retrying connection in up to 1s connIndex=0 ip=<IP_ADDRESS>
2023-03-09T09:37:54Z INF Connection 704b7b7f-a377-4309-97e6-3b7d19ecd6ca registered with protocol: quic connIndex=0 ip=<IP_ADDRESS> location=AMS
2023-03-10T01:50:47Z INF Unregistered tunnel connection connIndex=2
2023-03-10T01:50:47Z WRN Failed to serve quic connection error="timeout: no recent network activity" connIndex=2 ip=<IP_ADDRESS>
2023-03-10T01:50:47Z WRN Serve tunnel error error="timeout: no recent network activity" connIndex=2 ip=<IP_ADDRESS>
2023-03-10T01:50:47Z INF Retrying connection in up to 1s connIndex=2 ip=<IP_ADDRESS>
2023-03-10T01:50:48Z WRN Connection terminated error="timeout: no recent network activity" connIndex=2
2023-03-10T01:50:49Z INF Unregistered tunnel connection connIndex=1
2023-03-10T01:50:49Z WRN Failed to serve quic connection error="timeout: no recent network activity" connIndex=1 ip=<IP_ADDRESS>
2023-03-10T01:50:49Z WRN Serve tunnel error error="timeout: no recent network activity" connIndex=1 ip=<IP_ADDRESS>
2023-03-10T01:50:49Z INF Retrying connection in up to 1s connIndex=1 ip=<IP_ADDRESS>
2023-03-10T01:50:49Z WRN Connection terminated error="timeout: no recent network activity" connIndex=1
2023-03-10T01:51:07Z WRN Failed to serve quic connection error="Application error 0x0" connIndex=1 ip=<IP_ADDRESS>
2023-03-10T01:51:07Z WRN Serve tunnel error error="Application error 0x0" connIndex=1 ip=<IP_ADDRESS>
2023-03-10T01:51:07Z INF Retrying connection in up to 4s connIndex=1 ip=<IP_ADDRESS>
2023-03-10T01:51:07Z WRN Failed to serve quic connection error="rpc: connection closed" connIndex=2 ip=<IP_ADDRESS>
2023-03-10T01:51:07Z WRN Register tunnel error from server side error="rpc: connection closed" connIndex=2 ip=<IP_ADDRESS>
2023-03-10T01:51:07Z INF Retrying connection in up to 4s connIndex=2 ip=<IP_ADDRESS>
2023-03-10T01:51:08Z WRN Connection terminated error="rpc: connection closed" connIndex=2
2023-03-10T01:51:11Z WRN Connection terminated error="Application error 0x0" connIndex=1
2023-03-10T01:51:42Z WRN Failed to serve quic connection error="Application error 0x0" connIndex=2 ip=<IP_ADDRESS>
2023-03-10T01:51:42Z WRN Serve tunnel error error="Application error 0x0" connIndex=2 ip=<IP_ADDRESS>
2023-03-10T01:51:42Z INF Retrying connection in up to 8s connIndex=2 ip=<IP_ADDRESS>
2023-03-10T01:51:43Z INF Connection dc04ef81-1209-479b-82c3-9dad27286c0e registered with protocol: quic connIndex=1 ip=<IP_ADDRESS> location=VIE
2023-03-10T01:51:44Z INF Unregistered tunnel connection connIndex=3
2023-03-10T01:51:44Z WRN Failed to serve quic connection error="timeout: no recent network activity" connIndex=3 ip=<IP_ADDRESS>
2023-03-10T01:51:44Z WRN Serve tunnel error error="timeout: no recent network activity" connIndex=3 ip=<IP_ADDRESS>
2023-03-10T01:51:44Z INF Retrying connection in up to 1s connIndex=3 ip=<IP_ADDRESS>
2023-03-10T01:51:45Z WRN Connection terminated error="timeout: no recent network activity" connIndex=3
2023-03-10T01:51:48Z WRN Connection terminated error="Application error 0x0" connIndex=2
2023-03-10T01:52:40Z INF Connection e7ce466c-39f2-466a-aec3-112af697b69d registered with protocol: quic connIndex=3 ip=<IP_ADDRESS> location=AMS
2023-03-10T01:52:40Z INF Connection aa60c422-9806-4616-9830-137321f31b8b registered with protocol: quic connIndex=2 ip=<IP_ADDRESS> location=VIE
2023-03-10T03:11:19Z INF Unregistered tunnel connection connIndex=3
2023-03-10T03:11:19Z WRN Failed to serve quic connection error="timeout: no recent network activity" connIndex=3 ip=<IP_ADDRESS>
2023-03-10T03:11:19Z WRN Serve tunnel error error="timeout: no recent network activity" connIndex=3 ip=<IP_ADDRESS>
2023-03-10T03:11:19Z INF Retrying connection in up to 1s connIndex=3 ip=<IP_ADDRESS>
2023-03-10T03:11:19Z WRN Connection terminated error="timeout: no recent network activity" connIndex=3
2023-03-10T03:11:31Z INF Connection 7d29d276-2d3f-4cf2-b25c-348e701c68d4 registered with protocol: quic connIndex=3 ip=<IP_ADDRESS> location=AMS
2023-03-10T04:02:59Z INF Unregistered tunnel connection connIndex=1
2023-03-10T04:02:59Z WRN Failed to serve quic connection error="timeout: no recent network activity" connIndex=1 ip=<IP_ADDRESS>
2023-03-10T04:02:59Z WRN Serve tunnel error error="timeout: no recent network activity" connIndex=1 ip=<IP_ADDRESS>
2023-03-10T04:02:59Z INF Retrying connection in up to 1s connIndex=1 ip=<IP_ADDRESS>
2023-03-10T04:03:00Z WRN Connection terminated error="timeout: no recent network activity" connIndex=1
2023-03-10T04:03:00Z INF Unregistered tunnel connection connIndex=2
2023-03-10T04:03:00Z WRN Failed to serve quic connection error="timeout: no recent network activity" connIndex=2 ip=<IP_ADDRESS>
2023-03-10T04:03:00Z WRN Serve tunnel error error="timeout: no recent network activity" connIndex=2 ip=<IP_ADDRESS>
2023-03-10T04:03:00Z INF Retrying connection in up to 1s connIndex=2 ip=<IP_ADDRESS>
2023-03-10T04:03:01Z WRN Connection terminated error="timeout: no recent network activity" connIndex=2
2023-03-10T04:03:13Z WRN Failed to serve quic connection error="rpc: connection closed" connIndex=1 ip=<IP_ADDRESS>
2023-03-10T04:03:13Z WRN Register tunnel error from server side error="rpc: connection closed" connIndex=1 ip=<IP_ADDRESS>
2023-03-10T04:03:13Z INF Connection 54af0c86-20fd-4598-aed7-3d3f9908f980 registered with protocol: quic connIndex=2 ip=<IP_ADDRESS> location=DUB
2023-03-10T04:03:13Z INF Retrying connection in up to 4s connIndex=1 ip=<IP_ADDRESS>
2023-03-10T04:03:14Z WRN Connection terminated error="rpc: connection closed" connIndex=1
2023-03-10T04:03:43Z INF Connection 038f3d64-5c8c-4c64-b092-6b034c9ca82a registered with protocol: quic connIndex=1 ip=<IP_ADDRESS> location=DUB
2023-03-10T16:26:05Z ERR  error="Incoming request ended abruptly: context canceled" cfRay=7a5cead7edb4b8ca-AMS ingressRule=0 originService=https://homeassistant:2096
2023-03-10T16:26:05Z ERR  error="Incoming request ended abruptly: context canceled" cfRay=7a5cead7edb0b8ca-AMS ingressRule=0 originService=https://homeassistant:2096
2023-03-10T16:26:05Z ERR Request failed error="Incoming request ended abruptly: context canceled" connIndex=3 dest=https://drerrie.nl/api/webhook/c5a0234e57b54875fd7bf7824136b01b4cb52053d0ca4ac02a40af78a3eaa9f1 ip=<IP_ADDRESS> type=http
2023-03-10T16:26:05Z ERR Request failed error="Incoming request ended abruptly: context canceled" connIndex=3 dest=https://drerrie.nl/api/webhook/c5a0234e57b54875fd7bf7824136b01b4cb52053d0ca4ac02a40af78a3eaa9f1 ip=<IP_ADDRESS> type=http
2023-03-10T16:38:28Z ERR  error="Incoming request ended abruptly: context canceled" cfRay=7a5cfcfd18cf0e2f-AMS ingressRule=0 originService=https://homeassistant:2096
2023-03-10T16:38:28Z ERR Request failed error="Incoming request ended abruptly: context canceled" connIndex=0 dest=https://drerrie.nl/api/webhook/c5a0234e57b54875fd7bf7824136b01b4cb52053d0ca4ac02a40af78a3eaa9f1 ip=<IP_ADDRESS> type=http

Steps to reproduce the issue
Haven't changed anything since the installation, but these error logs keep coming back for no reason.
Additional information
No response

Logger: homeassistant.components.cloudflare
Source: components/cloudflare/init.py:59
Integration: Cloudflare (documentation, issues)
First occurred: 10 maart 2023 om 16:20:26 (46 occurrences)
Last logged: 13:20:26
Error updating zone drerrie.nl: Failed updating DNS records ['drerrie.nl']

This is our Cloudflare DNS config:

same problem on my installation. Everything worked for some time, and stopped

This does not look like an issue with the add-on but rather a problem with Cloudflared iteself.
Is the error still occurring? Is the connection still working even though the errors are being logged?

for me it was the problem with dns, so from my point of view it is not related to the addon

This does not look like an issue with the add-on but rather a problem with Cloudflared itself. Is the error still occurring? Is the connection still working even though the errors are being logged?

Seems like everything is working as it is supposed to be.
But it's still weird that it shows in the error log it has reoccurred about 306 times (that same error message)

This is strange indeed. Have you tried to uninstall and reinstall the add-on?
Additionally, something that will definitely help is to switch to a remote managed tunnel, see here.

The error in the screenshot comes from the Cloudflare integration (and shows up in the HA logs), right? I guess the standard Cloudflare integration (which is completely independent from this add-on and has nothing to do with it) has problems updating the CNAME entry as it is expecting a type A/AAAA entry for IP updates.


Add image build for s390x architecture

Added changes for s390x image build

@simonpasquier Is it possible to retrigger failed test check ? As I could run test locally without any error.

sure, i've also rebased the PR against release-0.21 so it gets included in the next release.


Copying blobs via SAS URL from Azure to Azurite is not implemented

Which service(blob, file, queue, table) does this issue concern?
blob
Which version of the Azurite was used?
3.14.1
Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
VS2022
What's the Node.js version?
14.17.6
What problem was encountered?
I was trying to copy blobs from an Azure account to Azure Storage Emulator using SAS URL and it doesn't work while it works when doing so from one Azure account to another. I switched from emulator to Azurite but it didn't help. I wasted a lot of time before I figured out that it's just not implemented.
Steps to reproduce the issue?
in debug.log:
error: BlobHandler:startCopyFromURL() Source account %REDUCTED% is not on the same Azurite instance as target account devstoreaccount1
The reducted URL above was to an Azure account which when pasted to a browser successfully downloads the file.
Have you found a mitigation/solution?

@AccessViolator
Currently Azurite only supports copy within same Azurite instance. You can find the detail in :
https://github.com/Azure/Azurite#support-matrix
If you would like to test cross account copy, you can config 2 storage account inside one Azurite instance, see detail in: https://github.com/Azure/Azurite#customized-storage-accounts--keys

@AccessViolator
Look more into the log, and compare it with my success send blob properties log, I find this might comes from your request has following 3 more headers than mine.
Could you share why the 3 headers are added, like why set content-type to empty?

"accept":"application/xml",
"accept-charset":"UTF-8",
"content-type":"",

I still need to see what kind of StringToSign the client generated to know what's the issue. Could you share which Azure Storage SDK you use to send the request? I would like to view the SDK code to know more about it.

@blueww, if you search Azurite's source code by "is not on the same Azurite instance as target account" you'll see where the problem comes from - it's just not implemented.

@AccessViolator
Sorry I just paste message in the wrong issue.
Yes, agree with you it's just not implemented. And it's not supported already documented in https://github.com/Azure/Azurite#support-matrix

Is this issue included in milestones for any upcoming releases?
We're hitting this limitation in our development

@kuba-lilz
We still don't have an accurate date for this feature yet.
Azurite welcome contribution. It would be great if you can raise a PR to implement it!


adjust tests for closure of RT#131187

The first small commit may be worthy of a cherrypick to errata, if we care about fixing tests that are skipped there.

if we care about fixing tests that are skipped there.

We don't. And future language releases will have all the fudges stripped from them.


Preloader

I would like to add a preloader to the site . It would be matching the UI of the site and would be fully responsive . It would render until the page is being loaded . Kindly assign this issue to me under GSSoC'24

@sk66641 Kindly add level label also

I would like to work on this issue, please assign me.


1000+ commits and not a new release in 13 months

Is there any timeline when you might consider pushing out a new release?
I know 'it's done when it's done', but considering the amount of fixed bugs and the time passed a new stable release would be much appreciated.

See #4195

Maybe a release with less new stuff would help in this case until new milestone is ready
Many users say that this app isnt maintained cause of no update since long time and people start to switch to other apps

What's left is not adding new features. It's work that is required to be able to publish an update on Google Play. Also finishing work that has been started and left the app in a half-broken state.

@cketti I'd love to see upgraded K-9. Being android dev with professional brackground, I can take a look to see if I can help.
Where are you struggling right now?

@ezaquarii just use the Github Milestone filter and pick one of these maybe?
https://github.com/k9mail/k-9/issues?q=is%3Aopen+is%3Aissue+milestone%3A5.800

Is the code in a state where it can't be published as a beta either?

You can always build it yourself and test it :)

@violoncelloCH We appreciate your input, but we'd like to hear the project leader opinion on this.
@cketti

@violoncelloCH definitely, but surely an official build wouldn't be bad to have, even if half-broken 😃


404 for the document linked http://www.ark.cs.cmu.edu/cdyer/fast_valign.pdf

The document linked in README:

Chris Dyer, Victor Chahuneau, and Noah A. Smith. (2013). A Simple, Fast, and Effective Reparameterization of IBM Model 2. In Proc. of NAACL.

http://www.ark.cs.cmu.edu/cdyer/fast_valign.pdf
is giving 404

Have a look at https://www.aclweb.org/anthology/N13-1073.pdf


Create feature request for better error reporting for closed type families

If I write many erroneous injectivity declarations for open type families all the errors are reported in one go (see my tests, eg. T6018fail). I've made a prototype for closed type families and I already see this is not the case here. Errors are reported one by one, ie. later errors only get reported once the previous ones have been fixed. This is a major pain for testing and not too convenient for the users. I'd like to change this and I pinned down the lines responsible for it in TcTyClsDecls.tcTyClGroup:
; checkNoErrs $
  mapM_ (recoverM (return ()) . checkValidTyCl) tyclss
    -- We recover, which allows us to report multiple validity errors
    -- the checkNoErrs is necessary to fix #7175.

As stated by the comment, removing checkNoErrs fixes the problem but breaks Trac #7175. I'm not sure if this could be easily changed. Commit message for d0ddde58f928a6b156d8061c406226c4fbb7cd22 suggests no. Help appreciated. I feel this would be an important improvement from the user's perspective.
Richard's comment:
The code path involved in triggering Trac #7175 is very delicate, and it is screaming for a Better Way. It's all about the irrefutable pattern in rejigConRes for matching up result types of GADTs. I've been over and back over that function several times, and I haven't found a way to make this better. But maybe there is a way. I'd recommend punting on this issue, though, perhaps filing a separate Trac ticket to draw attention to the problem.

#9173 is loosely related.


Add holder factory implementation that uses reflection

If you want your view holder to have other arguments passed to it besides the view, such as the context or model state you can create a factory like so:
Context context = CommentActivity.this;
Comment comment = new Comment();
ReflectiveHolderFactory<Comment> factory = new ReflectiveHolderFactory<Comment>(
                                                                               CommentHolder.class,
                                                                               context,
                                                                               comment);

The context and comment  will then be specified to the CommentHolder constructor that takes a View, Context, and Comment.

Thanks @kevinsawicki - I took the liberty of adding static convenience method (in 0478f2b8)  to shorten the constructor slightly.


The problem with choosing a branch when one of the children is disabled

Hi @riophae ,
I discovered a problem that can be seen here:
https://codepen.io/DimmNet/pen/xyVaBq
If you choose the branch "aa" or his child "aaa", everything works correctly.
But if you select the branch "a", then the branch "a" is completely in the v-model, despite the fact that the "aab" is disabled.
What needs to be done so that when choosing a branch "a" only available elements get into the v-model? In this case, it is "aaa".

Here is how I solved this problem:
https://codepen.io/DimmNet/pen/BqWGWq


Query stakes endpoint for Next Stakes page

Is this a non-issue since nextStakes was removed?

We will drop next stakes page altogether.

Blocked on: Granola-Team/mina-block-explorer#501

I think that the 'next stakes' page is necessary for feature parity with ME, is it not, @n1tranquilla ?

Keep the page, just use the appropriate stakes query

We will keep the page. In code, we will remove the next-stakes module, which is now unnecessary, as we can re-use the stake module. That's all that was meant by "dropping the next stakes page".


User prepend_before instead of prepend for RSpec

If there are before hooks defined before the karafka helper (or global config.before hooks) that send kafka events, they would be performed before Karafka.producer.client is mocked and real kafka will be used.
Prepend karafka mocks, so they're executed first (unless another prepend_before is used afterwards).
Note, there is still an issue with sending kafka events from around hooks: before hooks are executed inside example.run, so part of around hook before that would run without mocked karafka. There is no prepend_around to fix it.

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

Not sure how to spec it or if some tests are needed, so it wouldn't be replaced by before in the future without CI noticing.

@ojab I also have no idea ;)


chore: upgrading to @jaredwray/fumanchu v3

@mcolomer - saw that you had this dependency and we moved to v3 which is way easier to use and export the things you need. Here is a pull request if you want to use it.

@mcolomer - any update on accepting this pull request?


SDF -> WoT: Add conversion of license back in

Codecov Report

Merging #6 (5237d9f) into main (95de93e) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##             main       #6   +/-   ##
=======================================
  Coverage   65.61%   65.61%
=======================================
  Files           8        8
  Lines         221      221
=======================================
  Hits          145      145
  Misses         76       76

Impacted Files
Coverage Δ

converter/sdf_to_wot.py
72.41% <0.00%> (ø)

Continue to review full report at Codecov.

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


Adding fading alphas to spawn list items, and changing movement lerp to use an ease-out function

This change does the following:

Corrects the height of the spawn lists to make an exact number of items displayable at once (9, specifically).
Slightly reduces the spacing between list items
Applies an alpha effect to the list items so that items further from the selected item are less visible
Applies an ease-out function to the movement of the list

Testing:

Verified that the alpha of the items looks right
Verified that easing-out happens
Verified that no items are cut off
Verified animations look correct both while pressing buttons and holding them

LGTM!


Add support for Design Customizations that use a Composable that returns a boolean.

Will require Codegen changes.

@rylin8 do we need to add any docs on this?

Yes we should, just made https://github.com/google/automotive-design-compose/issues/1316


seccomp: ptrace(2) should be allowed by default for kernel >= 4.8

Description
Moby allows ptrace(2) by default for kernel >= 4.8:
https://github.com/moby/moby/blob/v20.10.14/profiles/seccomp/default_linux.go#L393-L399
containerd does not: https://github.com/containerd/containerd/blob/main/contrib/seccomp/seccomp_default.go
Steps to reproduce the issue

See the code above

Describe the results you received and expected
received: ptrace(2) is allowed only when CAP_SYS_PTRACE is granted
expected: ptrace(2) should be allowed by default for kernel >= 4.8
What version of containerd are you using?
1.6.2
Any other relevant information
No response
Show configuration if it is related to CRI plugin.
No response

they allowing this because of CVE-2019-2054 or something like that.

they allowing this because of CVE-2019-2054 or something like that.

For this CVE we have to block ptrace(2) for kernel < 4.8, but ptrace(2) is considered to be safe for kernel >= 4.8.

To elaborate a little more: Moby has this notion of relaxing the seccomp policy (allowing syscalls) when certain capabilities are added. This is done in https://github.com/moby/moby/blob/v20.10.14/profiles/seccomp/default_linux.go#L645-L659

This has been already implemented in containerd too , and unrelated to the OP.
https://github.com/containerd/containerd/blob/eaf286224b0144dd11c0e68c131d5dd9ebf52a23/contrib/seccomp/seccomp_default.go#L592-L604


these is an issue with the boundaries in the range

Type: Bug
The range in the for loop does not include all the dataframe. In addition to that the sizes of the dataframes are not all of the same size. Look at the last dataframe and you will see the problem
Extension version: 0.22.4
VS Code version: Code 1.95.2 (e8653663e8840adaf45af01eab5c627a5af81807, 2024-11-07T11:07:22.054Z)
OS version: Linux x64 6.8.0-49-generic snap
Modes:

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz (16 x 4400)

GPU Status
2d_canvas: unavailable_softwarecanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: disabled_softwaremultiple_raster_threads: enabled_onopengl: disabled_offrasterization: disabled_softwareraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: unavailable_softwarewebgl2: unavailable_softwarewebgpu: disabled_offwebnn: unavailable_software

Load (avg)
1, 1, 1

Memory (System)
62.67GB (49.94GB free)

Process Argv
--no-sandbox --force-user-env --crash-reporter-id 8f4f5f57-ef60-4ec1-9f3f-22437cf567e3

Screen Reader
no

VM
0%

DESKTOP_SESSION
ubuntu

XDG_CURRENT_DESKTOP
Unity

XDG_SESSION_DESKTOP
ubuntu

XDG_SESSION_TYPE
wayland

A/B Experiments
vsliv368cf:30146710
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805cf:30301675
binariesv615:30325510
vsaa593:30376534
py29gd2263:31024239
c4g48928:30535728
azure-dev_surveyone:30548225
962ge761:30959799
pythonnoceb:30805159
asynctok:30898717
pythonmypyd1:30879173
h48ei257:31000450
pythontbext0:30879054
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
dsvsc021:30996838
f3je6385:31013174
dvdeprecation:31068756
dwnewjupyter:31046869
newcmakeconfigv2:31071590
nativerepl2:31139839
pythonrstrctxt:31112756
cf971741:31144450
iacca1:31171482
notype1cf:31157160
5fd0e150:31155592
dwcopilot:31170013
stablechunks:31184530

Hi can you please add more detail as to the issue so we can more easily understand it?

When you are splitting the DFs you are splitting them in such a way that they are not the same size since the last DF can be considerably small what is really bad for statistical purposes. In addition to that your algo is not always considering the last DF.  If you want me to elaborate in a specific example let me know and I could elaborate on that.

Could you please paste here the code that was outputted by Github Copilot as well as the expected code, as well as the specific request you sent. This would help us better understand how to improve Copilot.

chunk_size = 10000  # Define your chunk size
chunks = []

len_df = 12000 # imagine for a moment that len(df) = 12000
for start in range(0, len_df, chunk_size):
    end = start + chunk_size
    print(start, end)

In this case you will get
0 10000
10000 20000

Where the last dataframe will be of size 2000. This could be problematic since some institutions such as banks will question why you decide to apply missing treatment on chunks that vary dramatically in size.


Document Charlie's tip to pipe commands to the CLI's stdin

See: https://mailchi.mp/balena/8979hnwafn
echo "uptime; exit;" | balena ssh 8dc8a1b
From https://github.com/balena-io/balena-cli/issues/1482 it works with Windows PowerShell too; but if using cmd.exe, skip the double quotes:
echo uptime; exit; | balena ssh 8dc8a1b
Internal discussion: https://www.flowdock.com/app/rulemotion/r-beginners/threads/yrNWTKaS6-moh9f3uUg8lpqh9l_

Closed via 2067cb5


communicate active problems/notifs on the server detail somewhere visible on the top!

this is to be decided by the stylist


Never get the silence at the start correctly

I'm trying to transcribe any audio that begins with silence (e.g., https://www.youtube.com/watch?v=QzWCrkvbJo0) as follows:
import stable_whisper
model = stable_whisper.load_model('base')
result = model.transcribe("in1-vocals.wav", language="en", suppress_silence=True, vad=True)
result.to_tsv("in2.out", segment_level=True, word_level=False)
in1-vocals.wav is the vocals only (minus any music/noise background). This file has silence for the first ~7 seconds.
in2.out.tsv always begins the first segment at <1 second mark but it should begin it at ~7 seconds.
Anything I'm missing here?
Thanks!

Hi,
the first word would have a duration ~0.07 second because the audio was mark silent up to ~7.75 seconds. Since the new duration of word was below min_word_dur (0.1 second), the change was not applied.
Lowering min_word_dur to 0.01 will fix it (note changing min_word_dur only works in the recent commit/latest version 2.7.2+):
result = model.transcribe("in1-vocals.wav", language="en",vad=True, min_word_dur=0.01)

The alternate is to use clamp_max():
result.clamp_max()

Thank you for clarifying! Appreciate your responses.
Changing the min_word_dur to 0.01 does not seem to work for me on its own. Calling result.clamp_max() fixed the issue for me though.