WhatsApp code not working with KTL

Hi, I have a contact page with a whatsapp icon which is embeded from Knack into my website.
However if I install the KTL in the Javascript section the Whatsapp icon doesnt work.
//
(function () {
var options = {
whatsapp: "+447423520269", // WhatsApp number
call_to_action: "Message me on WhatsApp", // Call to action
position: "right", // Position may be 'right' or 'left'
};
var proto = document.location.protocol, host = "getbutton.io", url = proto + "//static." + host;
var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = url + '/widget-send-button/js/init.js';
s.onload = function () { WhWidgetSendButton.init(host, proto, options); };
var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x);
})();
//
rgds Michael

Hi Michael,
Could you show me your whole Javascript code you put in Knack? Thanks.
Charles

Thats all the code.   But as soon as the KTL_Loader.js is added it stops the whatsapp button.
You can see it without the KTL_Loader.js  at https://melicsolutions.co.uk/contact   The green button at bottom right will load.
:)

For your convenience, here's what your code should look like:
KnackInitAsync = function ($, callback) { // Load the Knack Toolkit Library (KTL)
    (window.LazyLoad = LazyLoad) && LazyLoad.js(['https://ctrnd.s3.amazonaws.com/Lib/KTL/KTL_Start.js'], () => {
        loadKtl($, callback, (typeof KnackApp === 'function' ? KnackApp : null), '' /*KTL version, leave blank to get latest*/, 'min'/*min or full*/);
    })
};

//Your app's version.
window.APP_VERSION = '1.0.0';

window.ktlReady = function (appInfo = {}) {
    var ktl = new Ktl($, appInfo);

    //KTL Setup - BEGIN
    ktl.scenes.setCfg({
        versionDisplayName: 'MyApp', //Short version of your app name. Leave empty to hide it. Comment whole line for actual app name.
    })

    ktl.core.setCfg({
        developerNames: ['Firstname Lastname'], //Add your name here to get super powers!

        //Main KTL feature switches.  Here is where your App can override the defaults and enable/disable the features.
        enabled: {
            //"Basic" features
            //Enabled by default. To disable them, their flag must exist and be set to false.
            versionInfo: {
                viShowAppInfo: true,
                viShowKtlInfo: true,
                viShowToRoles: ['Developer'], //Array of Account Roles strings who can see the version info bar.  GetButton.io widget -->

    (function () {
        var options = {
            whatsapp: "+447423520269", // WhatsApp number
            call_to_action: "Message me on WhatsApp", // Call to action
            position: "right", // Position may be 'right' or 'left'
        };
        var proto = document.location.protocol, host = "getbutton.io", url = proto + "//static." + host;
        var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = url + '/widget-send-button/js/init.js';
        s.onload = function () { WhWidgetSendButton.init(host, proto, options); };
        var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x);
    })();

    // <!-- /GetButton.io widget -->

    //The rest of your code has been left out, but should go here....

    // Show password on click of eye icon on login and registration forms
    $(document).on('knack-view-render.any', function (event, view, data) {
        //...
    })

}

Hi Norm,
When the  //Your app's version.is installed, that’s when the WhatsApp Icon disappears.
Ill try switching things off and see if its one of those true/false options 😊
Regards
Sent from Mail for Windows
From: Cortex R&D Inc.
Sent: 13 September 2023 14:32
To: cortexrd/Knack-Toolkit-Library
Cc: MickGraham23; Author
Subject: Re: [cortexrd/Knack-Toolkit-Library] WhatsApp code not working withKTL (Issue #100)
For your convenience, here's what your code should look like:
KnackInitAsync = function ($, callback) { // Load the Knack Toolkit Library (KTL)
(window.LazyLoad = LazyLoad) && LazyLoad.js(['https://ctrnd.s3.amazonaws.com/Lib/KTL/KTL_Start.js'], () => {
loadKtl($, callback, (typeof KnackApp === 'function' ? KnackApp : null), '' /KTL version, leave blank to get latest/, 'min'/min or full/);
})
};
//Your app's version.
window.APP_VERSION = '1.0.0';
window.ktlReady = function (appInfo = {}) {
var ktl = new Ktl($, appInfo);
//KTL Setup - BEGIN
ktl.scenes.setCfg({
    versionDisplayName: 'MyApp', //Short version of your app name. Leave empty to hide it. Comment whole line for actual app name.
})

ktl.core.setCfg({
    developerNames: ['Firstname Lastname'], //Add your name here to get super powers!

    //Main KTL feature switches.  Here is where your App can override the defaults and enable/disable the features.
    enabled: {
        //"Basic" features
        //Enabled by default. To disable them, their flag must exist and be set to false.
        versionInfo: {
            viShowAppInfo: true,
            viShowKtlInfo: true,
            viShowToRoles: ['Developer'], //Array of Account Roles strings who can see the version info bar.  GetButton.io widget -->

(function () {
    var options = {
        whatsapp: "+447423520269", // WhatsApp number
        call_to_action: "Message me on WhatsApp", // Call to action
        position: "right", // Position may be 'right' or 'left'
    };
    var proto = document.location.protocol, host = "getbutton.io", url = proto + "//static." + host;
    var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = url + '/widget-send-button/js/init.js';
    s.onload = function () { WhWidgetSendButton.init(host, proto, options); };
    var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x);
})();

// <!-- /GetButton.io widget -->

//The rest of your code has been left out, but should go here....

// Show password on click of eye icon on login and registration forms
$(document).on('knack-view-render.any', function (event, view, data) {
    //...
})

}
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Hi Norm,
That hasn’t worked for me and I have removed the //Your App’s section and the WhatsApp icon is back but my css is a bit strange on that contact page again even although I’ve cleared caches etc.
??
Rgds Michael
Sent from Mail for Windows
From: Cortex R&D Inc.
Sent: 13 September 2023 14:32
To: cortexrd/Knack-Toolkit-Library
Cc: MickGraham23; Author
Subject: Re: [cortexrd/Knack-Toolkit-Library] WhatsApp code not working withKTL (Issue #100)
For your convenience, here's what your code should look like:
KnackInitAsync = function ($, callback) { // Load the Knack Toolkit Library (KTL)
(window.LazyLoad = LazyLoad) && LazyLoad.js(['https://ctrnd.s3.amazonaws.com/Lib/KTL/KTL_Start.js'], () => {
loadKtl($, callback, (typeof KnackApp === 'function' ? KnackApp : null), '' /KTL version, leave blank to get latest/, 'min'/min or full/);
})
};
//Your app's version.
window.APP_VERSION = '1.0.0';
window.ktlReady = function (appInfo = {}) {
var ktl = new Ktl($, appInfo);
//KTL Setup - BEGIN
ktl.scenes.setCfg({
    versionDisplayName: 'MyApp', //Short version of your app name. Leave empty to hide it. Comment whole line for actual app name.
})

ktl.core.setCfg({
    developerNames: ['Firstname Lastname'], //Add your name here to get super powers!

    //Main KTL feature switches.  Here is where your App can override the defaults and enable/disable the features.
    enabled: {
        //"Basic" features
        //Enabled by default. To disable them, their flag must exist and be set to false.
        versionInfo: {
            viShowAppInfo: true,
            viShowKtlInfo: true,
            viShowToRoles: ['Developer'], //Array of Account Roles strings who can see the version info bar.  GetButton.io widget -->

(function () {
    var options = {
        whatsapp: "+447423520269", // WhatsApp number
        call_to_action: "Message me on WhatsApp", // Call to action
        position: "right", // Position may be 'right' or 'left'
    };
    var proto = document.location.protocol, host = "getbutton.io", url = proto + "//static." + host;
    var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = url + '/widget-send-button/js/init.js';
    s.onload = function () { WhWidgetSendButton.init(host, proto, options); };
    var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x);
})();

// <!-- /GetButton.io widget -->

//The rest of your code has been left out, but should go here....

// Show password on click of eye icon on login and registration forms
$(document).on('knack-view-render.any', function (event, view, data) {
    //...
})

}
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Micheal,
Can you give me access to a single "dummy" page for testing?  Nothing is needed in it.
Leave the KTL code there please.
Use this email for login<EMAIL_ADDRESS>Send me the password at that email address, as well as the link.
Thanks,
Norm

Hi Norm,
I see the problem is down to my website template.  I added the embed code into another site and it works perfectly.
WhatsApp come up correctly now.
Thanks Again!
Regards Michael
Sent from Mail for Windows
From: Cortex R&D Inc.
Sent: 13 September 2023 19:12
To: cortexrd/Knack-Toolkit-Library
Cc: MickGraham23; Author
Subject: Re: [cortexrd/Knack-Toolkit-Library] WhatsApp code not working withKTL (Issue #100)
Micheal,
Can you give me access to a single "dummy" page for testing? Nothing is needed in it.
Leave the KTL code there please.
Use this email for login: @.***
Send me the password at that email address, as well as the link.
Thanks,
Norm
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


ecstatic not working on windows

in file ecstatic.js, you initialize root var with a '/' at the end.
  var root = path.resolve(dir) + '/',

In windows it makes following test always wrong:
 if (file.slice(0, root.length) !== root) {

eg: file is c:\test\project\public\index.html and root is c:\test\project\public/
=> file.slice(0, root.length) = c:\test\project\public\ and root = c:\test\project\public/
Is trailing slash on root really necessary?
When I remove it, it works.

Didn't this get patched some time ago? If not, I'd welcome another pull request.
The tests aren't exactly comprehensive right now, but if they pass you're probably in good shape.

something I missed. maybe you could tell me what's wrong.
I checked your code on github repo and line 14 is
  var root = path.join(path.resolve(dir), '/'),

which sounds correct.
But when I use npm:
npm install ecstatic

I get following line:
  var root = path.resolve(dir) + '/',

How to make sure I have the right code?
Using git?

The change you are seeing to use path.join was only committed recently (see closed issue no. 24) and isn't in the npm repository yet. I'm sure it will make into npm shortly but in the meantime I think you should use the latest git master as per your suggestion.

Thanks.
Issue closed :)


Solve with maximum curvature constraint?

I was thinking I could write a custom solver to replace SolveG2, or I would have an outer solver that looks at the results of SolveG2 and then if there is too much curvature injects an extra control point between the two provided and moves it around in the solver while minimizing total length and curvature rate- but if there is an easier way (and faster in execution time) I'd like to avoid that.

The SolveG2 solver is based on a heuristic designed to make the curve "visually pleasing" and "well behaved" which may conflict with your overarching goal of minimizing total length and curvature rate.  I suspect the two-tiered solver approach would still work, but may not give true optimal values for the underlying problem.  If I'm understanding correctly, you want to generate a max/min curvature constrained path between two points with specified tangents and curvatures.  As noted in the original paper on the algorithms by Bertolazzi, this problem is generally quite different from the one this work is meant to solve and has been studied extensively in other work.  It's essentially a problem of optimal control problem rather than geometry, and is best solved using optimal control methods.  Perhaps you would be best served by looking into colocation methods and using premade specialized optimal control solver for your problem.  While I've studied the methods used, I don't often solve these types of problems in python so I may not be the best person to recommend a software package for you, but I did a quick google and found this  that seems to fit at least part of the bill.


Messages log file misses correlationId in log events

❗ please do not add sensitive information in issues, you can provide extra information via email using issue number as reference ❗
Describe the issue
2023-02-19 21:06:50,306 [EsbJmsListener[1]] Adapter Error {adapter=Output_CollectionsDisbursements_HandleCollectionNN_1_Tibco, exitState=ERROR, listener=listener of [EsbJmsListener], listener.type=EsbJmsListener, mid=ID:EMS_PRD_ESB_LARGE.471363CC8985565E12A:105948, pipeline.duration=5075, result.size=null} []
Reporter
Ali
ff: 7.8-RC3-20230123.094613

I think what is meant is the conversationId from the header


depth contour does not match the object

Thank you for your excellent work!
And I have a question.
As what is shown in the following images,
it seems that depth contour does not match the RGB image, extending pixels beyond the outer edge of the objects (indicated by the green poly-line).
I don't know why and how to restore the depth.
Thank you for your attention.

Just guessing here , but the models are working on something like 512x512 (and that is considered big). So whatever image you feed it, gets downscaled, you get a depth with matching resolution, and that's upscaled again to your original input size.
That's why the edges will never be perfect.
When you try splitting the image, you'll see that each image will have a different exposure/contrast. The depth scale isn't exactly the same (although Zoe's raw output can make it a lot closer ).
So upscale the output in a fancier way or split the input image , but there is some work involved.


[DOC] ForecastingGridSearchCV clarity needed

Describe the issue linked to the documentation
When using ForecastingGridSearchCV with SlidingWindowSplitter and Initial Window, need some clarity on what happens during initial split training and what happens in the temporal cross validation step.
The documentation states:

Performs grid-search cross-validation to find optimal model parameters. The forecaster is fit on the initial window and then temporal cross-validation is used to find the optimal parameter

For the example below, what is the sequence of event?
from sklearn.model_selection import GridSearchCV
from sklearn.ensemble import RandomForestRegressor

# tuning the 'n_estimator' hyperparameter of RandomForestRegressor from scikit-learn
regressor_param_grid = {"n_estimators": [100, 200, 300]}
forecaster_param_grid = {"window_length": [5,10,15,20,25]}

# create a tunnable regressor with GridSearchCV
regressor = GridSearchCV(RandomForestRegressor(), param_grid=regressor_param_grid)
forecaster = ReducedRegressionForecaster(regressor, window_length=15, strategy="recursive")

cv = SlidingWindowSplitter(initial_window=int(len(y_train) * 0.5))
gscv = ForecastingGridSearchCV(forecaster, cv=cv, param_grid=forecaster_param_grid)

gscv.fit(y_train)
y_pred = gscv.predict(fh)

Initial Window

forecaster is fit on the initial window

What is its purpose? Is it to get the remaining parameters of the regressor (which are not specified in the regressor_param_grid such as max_depth, min_samples_split, etc)?
Temporal Cross Validation

then temporal cross-validation is used to find the optimal parameter

Is temporal cross validation performed with the non-specified hyperparameters (max_depth, min_samples_split, etc) that are found above in the initial window?
Do these non-specified hyperparameters (max_depth, min_samples_split, etc) remain fixed to the value found in the initial window at each of the fold evaluations or is the model retrained at each fold to compute these non-specified hyperparameters again? If it is the latter, what is the purpose of the initial window in that case?

Thank you for any additional clarity you can shed on this.

Hi @ngupta23, I think this is how it works:

for each set of hyper parameters, the model is fitted on the intial_window
predictions are generated for each window on the cross-validation windows
predictions are evaluated using the scoring function and aggregated
the best set of hyper parameters is chosen that optimises the score

This code is still experimental, both the window splitters and grid-search routine. I'm open to discuss improvements.

Hi @mloning , Thanks for the clarification. I have been diving deeper into the repo to understand this better. Its still early, but if I understand this correctly, I think one potential pitfall would be the part of the validation window might overlap with the training since initial_window is decoupled from window_length in the SlidingWindowSplitter.
Let's take a simple example (similar to what you have in your forecasting notebook). If the training data has 108 observations, initial_window is 50% of that as in your examples folder (54 observations), window_length is the default of 10, fh and step_length are set to default of 1, then

The training happens on indices 0 to 53.
But validation starts from using data from the beginning.

So first temporal fold will use data from index 0 to 9 to make the next prediction (index 10). But indices 0 to 9 have already been used for training, so the same should not be used for validation as it will lead to a biased score.
Similarly, the next fold will use data from index 1 to 10 to predict index 11. Again, index 1 to 10 have been used in training so should not be used for validation.
This process repeats until you make a prediction for index 64 using data from index 54 to 63. That is the first truly unbiased fold.

Would it be better to have the temporal validation start from after the training index?

Yes that's what is intended and how it is used inside ForecastingGridSearchCV as far as I can see: the training and validation are split first, then we use temporal CV on the validation data.
I understand that having this initial window though overlapping with the validation windows is confusing. Any idea how to improve this?

More info here: https://github.com/sktime/enhancement-proposals/blob/master/steps/01_forecasting_api/model-evaluation-tuning.md


Request

can you plz add Thaleia alliance raid thank you. If you can or not

Outdated. Available for a long time now.


Think about to fix the issues found by adapter checker

I am an automatic service that looks for possible errors in ioBroker and creates an issue for it. The link below leads directly to the test:
https://adapter-check.iobroker.in/?q=https://raw.githubusercontent.com/excal-foley/ioBroker.blockly-plus

[ ] [E021] "licenses" in package.json are depricated. Please use only "license": "NAME" field.
[ ] [E115] No license found in io-package.json
[ ] [E150] No common.connectionType found in io-package.json
[ ] [E152] No common.dataSource found in io-package.json
[ ] [E200] Not found on npm. Please publish
[ ] [E300] Not found on travis. Please setup travis
[ ] [E802] No topics found in the repository. Please go to "https://github.com/excal-foley/ioBroker.blockly-plus", press the settings button beside the about title and add some topics.
[ ] [E603] NO "## Changelog" found in README.md

I have also found warnings that may be fixed if possible.

[ ] [W400] Cannot find "blockly-plus" in latest repository

Thanks,
your automatic adapter checker.
P.S.: There is a community in Github, which supports the maintenance and further development of adapters. There you will find many experienced developers who are always ready to assist anyone. New developers are always welcome there. For more informations visit: https://github.com/iobroker-community-adapters/info

Do you need help fixing the bugs?


Allow node_modules to be mocked as described in the Jest documentation

This PR fixes #7539.
The Jest documentation says:

If the module you are mocking is a Node module (e.g.: lodash), the mock should be placed in the mocks directory adjacent to node_modules (unless you configured roots to point to a folder other than the project root) and will be automatically mocked.

We have to check if the directory exists before we add it because the watcher used by Jest (jest-haste-map > './lib/FSEventsWatcher.js' > walker) will throw an error if '<rootDir>/__mocks__' doesn't exist.

Hi there!  Is the only thing left here for this change to be reviewed?

If this fix is ready, my team and I would be very grateful to have this merged. This has caused us some pain and effort working through alternative mocking solutions while module mocks have been broken.
Thank you for all of the great work and we hope to see this fix released soon!

Hello, isn’t this PR ready to be merged? I have been waiting for this fix in CRA for cleaner jest config in my project

I cannot automatically mock node_modules in my react native project either! Waiting for this PR!

Can this be merged please?

@bugzpodder @ianschmitz Looking at the PR that caused this bug, #7480 and the related issue #7458. The time from raising the issue (August 1st 2019) to merging the PR (August 6th 2019) was a mere five days. From the time the PR got open (August 5th 2019) to closing was only one day! Reading through both threads, it looks a lot like there was a slowdown for ONE person, and this was immediately rubber-stamped and merged without questioning the breaking changes to documented jest usage.
Compare this to #7539. Opened just ten days later! Cosigned by nearly a dozen people. Reverting the change from #7480 got blown off, so here we are with a fix, and it's been languishing for nearly a year. Over a year, if you count from the moment the issue was opened.
Nobody had to line up and say please to get the breaking change in... and a year later you haven't even documented that jest's defaults have been radically changed!


Doc files cannot be saved

Environment
Windows version: Win 10 (MS Word 2013)
Processor architecture: x64
Dokany version: 1.0.0 RC4
Library type (Dokany/FUSE): Dokany
Description
Create *.doc file
Put some content in it
Open *.doc file
Edit it
Save it and error appears a. in UI (The save failed due to out of memory or disk space ( )
C implementation works, .NET implementation does NOT !
Doc_files_cannot_be_saved.txt

Make sure that SetFileAttributes & SetFileTime return Success result.
MS Word will call these functions when saving files. It is work for my file system.

Hello,
I will try this and will provide feedback.
Thank you.


Improve Calculate's accuracy

Fixes #79. It is time to make Calculate as accurate as the best C++ parsers out there.

Calculate has achieved 100% in all of math-parser-benchmark-project's tests. Merging...


Decouple dragging events from Select action.

Overview
This enables Select to be performed with one button (Thumb stick/Touchpad) and dragging with another (e.g. Trigger).


Add p_keep_state to AnimationPlayer::stop()

Follow up #33733.
Add an option p_keep_state to AnimationPlayer::stop() to avoid state updates for 3.x compatibility and for versatility.

updated docs

Seems fine to me, but does that mean that we practically invert the semantics for the stop() boolean flag between 3.x and 4.0? If so many users might get issues porting their projects and having their stop() and stop(true) calls misbehaving.
It's not blocking (and the breakage already happened in the previous PR), but I wonder what we could do to ease the transition.

No, the stop(true) in this PR is the same as stop(true) in 3.x

Thanks!


updated lib/models/index.d.ts

@amarzavery,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Support Cluster Autoscaler --max-nodes-total parameter in shoot configuration

How to categorize this issue?

/area auto-scaling
/kind enhancement
What would you like to be added:

We add an additional parameter maxNodesTotal in the CA section of the shoot YAML
While computing the CA command for the CA deployment, we set the --max-nodes parameter.  This represents the Maximum number of nodes in all node groups. Cluster autoscaler will not grow the cluster beyond this number.

Why is this needed:
There is currently a very strict shoot static validation ValidateTotalNodeCountWithPodCIDR that validates if the podCIDRs in the Pod Network can support the maximum number of nodes configured in the worker pools of the shoot This check can easily fail in clusters with large number of worker groups with large max which are mostly inactive.
We propose moving this from a static check during shoot validation to a runtime check that is supported by the CA parameters.

/assign


Add Redlines & Annotations to the allowlist

Duplicates ❌

[X] I have searched the existing Figma plugins requests.

Figma plugin/widget name
Redlines & Annotations
Figma plugin/widget URL
https://www.figma.com/community/plugin/1228826129267290034
Why do you need this Figma plugin/widget?
To annotate Figma file

Done ✅


New Version Bug: user nodes have wrong z-index

is this another firefox only bug?

also, when zooming in, it seems perfectly fine

then we need more margin to get rid of this illusion.

there is margin, atleast on chromium


Logo for dunner

Dunner would love a logo for it!

Hey, anyone up for the logo?. I was thinking to add this feature.

please go ahead, you can send us your designs! We would love to see.

What about this?

Good work!
Can you give us a description of the thoughts behind this logo? How does it relate to Containers/Task runner etc?

I mainly focused on the runner keyword(so R), blue color kinda represents docker.

@apoorvam  Is logo fine? or i should give another try?

@hv7214 Definitely it is some good work and good reasoning. But I personally not convinced that it can relate to Dunner very much in first glance because it highlights R. If possible you can give another try. However, we'll keep this logo also as an option until we finalize.
Would be great if logo has flavours of some/all of these: Containers/Docker/Golang/Dunner in it.

Okay, i will another shot. Infact, now i'm also not much convinced with this logo.

Here is a logo !

Here is a logo !

Here is a logo !

Here is a logo !

nice design .... just something similar to it :
https://hackernoon.com/building-a-development-environment-for-golang-with-docker-3ccc620c4920
👍 💯

nice design .... just something similar to it :
https://hackernoon.com/building-a-development-environment-for-golang-with-docker-3ccc620c4920

Thnk you very much. Is there a problem with the logo ? (cuz it's also used by hackernoon ? )

nice design .... just something similar to it :
https://hackernoon.com/building-a-development-environment-for-golang-with-docker-3ccc620c4920

Thnk you very much. Is there a problem with the logo ? (cuz it's also used by hackernoon ? )

nooo.... just found something similar ....i am also a participant ... sometime hit me up!... ;)....
also do tell me how is mine looking?... will love to hear a review from u dude!

It's good, but I think It is more complex. Come up with a minimilistic logo ! ;-)

Here is an one !

Great work @cjprogamer!

how about this?

How about this?

@Mohtashim1210 Can you give a brief justification of how your logo is suitable for Dunner? That can help us understand and give feedback.
Would recommend to include ideas of Docker, Task runner, Golang in the logo since they depict what dunner is related to.

Dunner logo

This is my logo

Hello,
I just got to know Dunner and Hasura got the same logo.
We might need to update it. As Google code-in is done, with many logo submissions for Dunner we might choose one and make it official ;)
Or Someone can have their designs here, I guess :)

Hello,
@apoorvam
I just got to know Dunner and Hasura got the same logo.
We might need to update it. As Google code-in is done, with many logo submissions for Dunner we might choose one and make it official ;)
Or Someone can have their designs here, I guess :)

how about this?

Right, we should update it. They have same currently because Dunner uses their gatsby template for website.
We can shortlist some of the logos here, choose one and make some changes if required, then finalize Dunner logo!


Pylint config for dependency providers

Hi,
I've playing with nameko for the past few days and so far I'm quite impressed with it, thanks!
I have one minor problem though: currently pylint is yelling at me when I use methods from dependency providers. For example, when using an injected DatabaseSession and calling self.db.commit() I get E1101 Instance of DatabaseSession has no commit member.
Is there a pylint trick you're aware of that would allow me to not ignore those errors on a line by line basis?
Thanks.

Glad you're enjoying Nameko :)
The linting errors are an unfortunate side-effect of dependency injection.
In an ideal world you'd be able to tell pylint that the attribute is actually an instance of a different type, but I don't know how to do that.
You can ignore specific lines though -- just add # pylint: disable=no-member or # pylint: disable=E1101. You can also disable the rule globally by running run pylint with the --disable=no-member flag, or via a pylintrc file.

Ok thanks. Can't wait for this ideal world to come true ;-)


Add plugin monitoring by pinging it async

Context
Given the recent changes to XP's experiment engine plugin to refactor its entire Treatment Service logic into a plugin, it has been observed that there would be an increased likelihood of the plugin failing due to its increased complexity. While this only affects XP's plugin, it has been decided that an experiment engine plugin failure, in general, should be handled differently by the Turing Router.
As of present, a Turing Router merely receives an error message when calling the GetTreatmentForRequest method of an experiment engine that has crashed, which conflates with regular error messages returned by the experiment engine plugin even when it is running normally. Hence, a separate way needs to be introduced to determine the health of the plugin, which this PR introduces through the use of Ping() in an asynchronous manner periodically.
Upon detecting that the plugin has crashed, the Router will be made to panic(). This was a conscious decision to ensure that any Routers with a faulty plugin that keeps crashing is bound to crash, as opposed to making the Router restart the plugin manually (asynchronously or not) which would allow the Router to either continue serving requests while relying on its fallback route or cause the Router's queue proxy to continue receiving requests while the Router attempts to restart and reconnect to the plugin.
In both cases, there is reduced visibility of any actual fault of the plugin since the Router would repeatedly attempt to restart the plugin without giving any explicit alerts of a faulty plugin.
Main Modifications

api/turing/cluster/servicebuilder/router.go - Addition of a line to insert LivenessPeriodSeconds, the period at which a router should Ping() its plugin into a Router's configuration
api/turing/config/config.go - Addition of the LivenessPeriodSeconds field to an experiment's plugin configuration
engines/router/missionctl/experiment/experiment.go - Addition of a monitoring method to Ping() the experiment engine plugin repeatedly

Thanks a lot for the quick review! I'll be merging this! 🚀


DotNetCore test alias can not pass specifics parameters to the test runner

Actually the DotNetCore test aliase doesn't allow user to pass specific parameters to the test runner like -xml resultsfile.xml for xunit
The PR https://github.com/cake-build/cake/pull/962 fix that.

Just found the ArgumentCustomization, shame on me RTFM ^^'

@phenixdotnet ha ha, I was just typing a response to that effect :smile:


Enhancement: Add OpenAPI 3.0.3 support

This would enable support for interactive Swagger documentation.
The downside is that this will become redundant once Swagger UI adopts OpenAPI 3.1.0.

As far as I have experienced, the only thing standing between us supporting Swagger in Starlite is that Starlite (correctly) marks the schema as 3.1. SwaggerUI explicitly blocks this because they want to fully support the JSON schema in 3.1 first before allowing this, but if you have a 3.1 YAML schema, it already works perfectly fine with the JS bundle you can get right now.
I've implemented a controller to emulate the FastAPI behavior like this:
# -*- coding: utf-8 -*-
import orjson as json
from typing import Optional, Any
from starlite.datastructures import State
from starlite import Controller, Request, MediaType, get

class SwaggerController(Controller):
    """
    This is an internal controller that exists to provide the /docs route
    that is standard in FastAPI. Starlite only provides ReDoc by default, so
    we patch it in like this as a convenience feature.
    """

    path = "/docs"
    tags = ["docs"]

    def get_swagger_ui_html(
        self,
        openapi_url: str,
        title: str,
        swagger_js_url: str =<EMAIL_ADDRESS>        swagger_css_url: str =<EMAIL_ADDRESS>        swagger_favicon_url: str = "https://fastapi.tiangolo.com/img/favicon.png",
        oauth2_redirect_url: Optional[str] = None,
        init_oauth: Optional[dict[str, Any]] = None,
        swagger_ui_parameters: Optional[dict[str, Any]] = None,
    ) -> str:
        current_swagger_ui_parameters = {
            "dom_id": "'#swagger-ui'",
            "layout": "'BaseLayout'",
            "deepLinking": "true",
            "showExtensions": "true",
            "showCommonExtensions": "true",
        }
        if swagger_ui_parameters:
            current_swagger_ui_parameters.update(swagger_ui_parameters)

        html = f"""
        <!DOCTYPE html>

        <link type="text/css" rel="stylesheet" href="{swagger_css_url}">
        <link rel="shortcut icon" href="{swagger_favicon_url}">
        <title>{title}</title>

        """
        return html

    @get(media_type=MediaType.HTML, include_in_schema=False)
    def docs(self, request: Request, state: State) -> str:
        scheme = request.url.scheme if state.config.environment == "local" else "https" # app-specific, you would have to change this to a different detection mechanism
        if request.url.port:
            url = f"{scheme}://{request.url.hostname}:{request.url.port}/schema/openapi.yaml"
        else:
            url = f"{scheme}://{request.url.hostname}/schema/openapi.yaml"
        return self.get_swagger_ui_html(
            url,
            "API Docs",
            swagger_js_url="/static/swagger-ui-bundle.js",
        )

The above controller vendors a patched SwaggerUI bundle at /static that allows 3.1 to pass without an exception being thrown, and the rest is basically straight-up FastAPI Swagger handling.
swagger-ui-bundle.js.zip
This could be made to work right now by implementing the controller like above and monkey-patching the openapi version in the schema that is served to the bundle on the frontend to be 3.0 instead of 3.1 specifically for the Swagger route. This would allow us to not have to vendor a patched JS bundle and we could freely use the CDN just like FastAPI does.

@LonelyVikingMichael can you test what @timwedde posted above? It would certainly save a huge amount of work if its possible to patch like this in a satisfactory way.

Just looked into this a bit more so here's a working version that does not require vendoring a patched SwaggerUI bundle:
# -*- coding: utf-8 -*-
import copy
import orjson as json
from typing import Optional, Any
from starlite.datastructures import State
from starlite.enums import OpenAPIMediaType
from starlite import Controller, Request, MediaType, get
from openapi_schema_pydantic.v3.v3_1_0.open_api import OpenAPI

class SwaggerController(Controller):
    path = "/docs"
    tags = ["docs"]

    def get_swagger_ui_html(
        self,
        openapi_url: str,
        title: str,
        swagger_js_url: str =<EMAIL_ADDRESS>        swagger_css_url: str =<EMAIL_ADDRESS>        swagger_favicon_url: str = "https://starlite-api.github.io/starlite/images/starlite-favicon.ico",
        oauth2_redirect_url: Optional[str] = None,
        init_oauth: Optional[dict[str, Any]] = None,
        swagger_ui_parameters: Optional[dict[str, Any]] = None,
    ) -> str:
        current_swagger_ui_parameters = {
            "dom_id": "'#swagger-ui'",
            "layout": "'BaseLayout'",
            "deepLinking": "true",
            "showExtensions": "true",
            "showCommonExtensions": "true",
        }
        if swagger_ui_parameters:
            current_swagger_ui_parameters.update(swagger_ui_parameters)

        html = f"""
        <!DOCTYPE html>

        <link type="text/css" rel="stylesheet" href="{swagger_css_url}">
        <link rel="shortcut icon" href="{swagger_favicon_url}">
        <title>{title}</title>

        """
        return html

    @get(
        path="/openapi.yaml",
        media_type=OpenAPIMediaType.OPENAPI_YAML,
        include_in_schema=False,
    )
    def retrieve_schema_yaml(self, request: Request) -> OpenAPI:
        schema = copy.deepcopy(request.app.openapi_schema)
        schema.openapi = "3.0.3"
        return schema

    @get(media_type=MediaType.HTML, include_in_schema=False)
    def docs(self, request: Request, state: State) -> str:
        if request.url.port:
            url = f"{request.url.scheme}://{request.url.hostname}:{request.url.port}/docs/openapi.yaml"
        else:
            url = f"{request.url.scheme}://{request.url.hostname}/docs/openapi.yaml"
        return self.get_swagger_ui_html(url, request.app.openapi_schema.info.title)

You can see that I simply "trick" Swagger into believing this is an OpenAPI 3.0 spec by overriding the version specifier. With this trick, SwaggerUI works as expected, as far as I have been able to validate, and you can use the regular CDN bundles without any tweaks.

Just looked into this a bit more so here's a working version that does not require vendoring a patched SwaggerUI bundle:
# -*- coding: utf-8 -*-
import copy
import orjson as json
from typing import Optional, Any
from starlite.datastructures import State
from starlite.enums import OpenAPIMediaType
from starlite import Controller, Request, MediaType, get
from openapi_schema_pydantic.v3.v3_1_0.open_api import OpenAPI

class SwaggerController(Controller):
    path = "/docs"
    tags = ["docs"]

    def get_swagger_ui_html(
        self,
        openapi_url: str,
        title: str,
        swagger_js_url: str =<EMAIL_ADDRESS>        swagger_css_url: str =<EMAIL_ADDRESS>        swagger_favicon_url: str = "https://starlite-api.github.io/starlite/images/starlite-favicon.ico",
        oauth2_redirect_url: Optional[str] = None,
        init_oauth: Optional[dict[str, Any]] = None,
        swagger_ui_parameters: Optional[dict[str, Any]] = None,
    ) -> str:
        current_swagger_ui_parameters = {
            "dom_id": "'#swagger-ui'",
            "layout": "'BaseLayout'",
            "deepLinking": "true",
            "showExtensions": "true",
            "showCommonExtensions": "true",
        }
        if swagger_ui_parameters:
            current_swagger_ui_parameters.update(swagger_ui_parameters)

        html = f"""
        <!DOCTYPE html>

        <link type="text/css" rel="stylesheet" href="{swagger_css_url}">
        <link rel="shortcut icon" href="{swagger_favicon_url}">
        <title>{title}</title>

        """
        return html

    @get(
        path="/openapi.yaml",
        media_type=OpenAPIMediaType.OPENAPI_YAML,
        include_in_schema=False,
    )
    def retrieve_schema_yaml(self, request: Request) -> OpenAPI:
        schema = copy.deepcopy(request.app.openapi_schema)
        schema.openapi = "3.0.3"
        return schema

    @get(media_type=MediaType.HTML, include_in_schema=False)
    def docs(self, request: Request, state: State) -> str:
        if request.url.port:
            url = f"{request.url.scheme}://{request.url.hostname}:{request.url.port}/docs/openapi.yaml"
        else:
            url = f"{request.url.scheme}://{request.url.hostname}/docs/openapi.yaml"
        return self.get_swagger_ui_html(url, request.app.openapi_schema.info.title)

You can see that I simply "trick" Swagger into believing this is an OpenAPI 3.0 spec by overriding the version specifier. With this trick, SwaggerUI works as expected, as far as I have been able to validate, and you can use the regular CDN bundles without any tweaks.

Do you want to add a PR extending starlite.openapi.OpenAPIControllers? I'd suggest to simply add a swagger_ui method to it, keeping it as simple as possible (no extra code we don't support for now). We can the. Test this branch using the example project.

Can do, I might get to it this evening already.

Cheers @timwedde - im testing your PR

I verified this works @timwedde -- please see https://github.com/starlite-api/starlite/pull/303

Swagger-UI support has been released in v1.7.1, and the docs have been accordingly updated.


Dummy PR for testing

Dummy PR for testing
Resolves #446

[x] Time Conversion (GMT>UTC)
[x] Merge comments
[x] Append Comment

Looking good

Looking good

LGTM, this PR can be closed now.


vxe-table demo，页面不固定高度，可滚动时，title-prefix的tooltip显示错位

⚠ IMPORTANT ⚠ Please check the following list before proceeding. If you ignore this issue template, your issue will be directly closed.

[ ] Read the docs.
[ ] Make sure the code is up to date. (Some bugs have been fixed in the latest code)
[ ] This is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.

Describe the bug
Vxe-table，页面不固定高度，可滚动时，配置title-prefix的tooltip显示错位
Reproduction

页面滚动前

页面滚动后

System Info

Operating System:
Node version:
Package manager (npm/yarn/pnpm) and version:

已解决，


Invalid references created in bundle method

I am experiencing issues with the bundle method in a way that it creates broken references. See the following minimal example:
foo.json
{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "definitions": {
        "foodef": { "$ref": "bar.json#/definitions/bardef" }
    },
    "type": "object",
    "properties": {
        "prop": {
            "$ref": "#/definitions/foodef"
        }
    }
}

bar.json
{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "definitions": {
        "bardef": { "type": "string" }
    }
}

run.js
var $RefParser = require('json-schema-ref-parser');

$RefParser
    .bundle("foo.json")
    .then(function(schema) {
        console.log(JSON.stringify(schema, null, '    '));
    });

Running node run.js > result.json results in
result.json
{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "definitions": {
        "foodef": {
            "type": "string"
        }
    },
    "type": "object",
    "properties": {
        "prop": {
            "$ref": "#/definitions/foodef/definitions/bardef"
        }
    }
}

There #/definitions/foodef/definitions/bardef is pointing nowhere.
Am I doing something wrong or is this a bug?

I just released version 3.0.0, which includes a fix for a very similar issue.  I think it may have fixed this issue as well.  Please give it a try and let me know.
I'm going to optimistically close this issue.  But feel free to re-open it if I've been too hasty. :)

Works for me. Thank you!


CoGroupByKey snippet with concrete example

R: @aaltay
R: @melap
Having a concrete common example for the docs, Python, and Java will allow referencing the same example on every language. This is more consistent and also allows tests to validate what is described in the docs. See [BEAM-1934]
This PR creates new tags model_group_by_key_cogroupbykey_tuple_inputs and model_group_by_key_cogroupbykey_tuple_outputs, in snippets_test.py, to be used as a concrete example for CoGroupByKey snippet.
It also slightly changes the output formatting to make more evident how to use the results of the transform.

Changes Unknown when pulling 817045d4743ec9751f5cd8e6520493198691b289 on davidcavazos:cgbk_snippet into ** on apache:master**.

Coverage increased (+0.003%) to 69.693% when pulling f5def64c19c63f5e738b2d9808ece67b09dde772 on davidcavazos:cgbk_snippet into 80c86f81b40e2342bff5bec4a5a1162b5cf67b14 on apache:master.

@davidcavazos I see that you made the change. I assume this is ready for review. It LGTM.

Yes, it is ready


processing data for BERT experiment

The following steps are modified from Fairseq-Roberta. For completeness, we list some key steps here.

I would like to ask why you  modified the dataset settings? In the original fairseq, it seems we can just download the raw data.
https://github.com/sail-sg/Adan/tree/main/NLP/BERT#ii-generate-raw-data
Can you share the code for generating raw code?

@kenoharada
Thanks for your interest.
In fact, Fairseq-Roberta just the WikiText-103 dataset for showing the steps. For other data, we should do some processes to match the requirement of GPT-2 BPE.
If your data already satisfy the pattern I described in:
https://github.com/sail-sg/Adan/tree/main/NLP/BERT#ii-generate-raw-data
You can skip that step.
For generating raw data code, I may reply to you in fewer days since I just cp the data from the other project. I need to ask the author of that project to share the code. BZW, I could also provide you the data directly if you needed it.

@XingyuXie
Hi, thank you for the reply!

For other data, we should do some processes to match the requirement of GPT-2 BPE.

Thank you, I understand the necessity of the modification.

For generating raw data code, I may reply to you in fewer days since I just cp the data from the other project. I need to ask the author of that project to share the code

If it is possible, I would like to ask you to share the code.

BZW, I could also provide you the data directly if you needed it.

Thank you very much!! I really appreciate if you share the processed raw data to run the experiment.

@kenoharada  Here is the code for the data download and process.
For data sharing, I need to make a simple application, and after approval,
download_data.py.zip
I will put the link here.

@XingyuXie Thank you very much!! I will try it!


Infinite redirect loop after doing Microsoft Identity Scaffolding via documentation...

I do a standard blazor project serverside prerender and add identity scaffolding.
After that, I launch the site and an infinite loop happens because of Login.cshtml/Login.cshtml.cs in Areas\Identity\Pages\Account\
if I delete this it works but all of the forms are broke and don't cache correctly.
database works and it is migrated properly:

URL proof of infinite loop:
https://localhost:44364/Identity/Account/Login?ReturnUrl=%2FIdentity%2FAccount%2FLogin%3FReturnUrl%3D%252FIdentity%252FAccount%252FLogin%253FReturnUrl%253D%25252FIdentity%25252FAccount%25252FLogin%25253FReturnUrl%25253D%2525252FIdentity%2525252FAccount%2525252FLogin%2525253FReturnUrl%2525253D%252525252FIdentity%252525252FAccount%252525252FLogin%252525253FReturnUrl%252525253D%25252525252FIdentity%25252525252FAccount%25252525252FLogin%25252525253FReturnUrl%25252525253D%2525252525252FIdentity%2525252525252FAccount%2525252525252FLogin%2525252525253FReturnUrl%2525252525253D%252525252525252FIdentity%252525252525252FAccount%252525252525252FLogin%252525252525253FReturnUrl%252525252525253D%25252525252525252FIdentity%25252525252525252FAccount%25252525252525252FLogin%25252525252525253FReturnUrl%25252525252525253D%2525252525252525252FIdentity%2525252525252525252FAccount%2525252525252525252FLogin%2525252525252525253FReturnUrl%2525252525252525253D%252525252525252525252FIdentity%252525252525252525252FAccount%252525252525252525252FLogin%252525252525252525253FReturnUrl%252525252525252525253D%25252525252525252525252FIdentity%25252525252525252525252FAccount%25252525252525252525252FLogin%25252525252525252525253FReturnUrl%25252525252525252525253D%2525252525252525252525252FIdentity%2525252525252525252525252FAccount%2525252525252525252525252FLogin%2525252525252525252525253FReturnUrl%2525252525252525252525253D%252525252525252525252525252FIdentity%252525252525252525252525252FAccount%252525252525252525252525252FLogin%252525252525252525252525253FReturnUrl%252525252525252525252525253D%25252525252525252525252525252FIdentity%25252525252525252525252525252FAccount%25252525252525252525252525252FLogin%25252525252525252525252525253FReturnUrl%25252525252525252525252525253D%2525252525252525252525252525252FIdentity%2525252525252525252525252525252FAccount%2525252525252525252525252525252FLogin%2525252525252525252525252525253FReturnUrl%2525252525252525252525252525253D%252525252525252525252525252525252FIdentity%252525252525252525252525252525252FAccount%252525252525252525252525252525252FLogin%252525252525252525252525252525253FReturnUrl%252525252525252525252525252525253D%25252525252525252525252525252525252F
    public class Program
    {
        public static void Main(string[] args)
        {
            var builder = WebApplication.CreateBuilder(args);

            var connectionString = builder.Configuration.GetConnectionString("DefaultConnection");
            builder.Services.AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(connectionString));
            builder.Services.AddDatabaseDeveloperPageExceptionFilter();

            builder.Services.AddDefaultIdentity<ApplicationUser>(options =>
                                             options.SignIn.RequireConfirmedAccount = true)
            .AddEntityFrameworkStores<ApplicationDbContext>();

            builder.Services.AddAuthentication()
               .AddGoogle(options =>
               {
                   IConfigurationSection googleAuthNSection =
                   builder.Configuration.GetSection("Authentication:Google");
                   options.ClientId = googleAuthNSection["ClientId"];
                   options.ClientSecret = googleAuthNSection["ClientSecret"];
               })
               //.AddFacebook(options =>
               //{
               //IConfigurationSection FBAuthNSection =
               //builder.Configuration.GetSection("Authentication:FB");
               //options.ClientId = FBAuthNSection["ClientId"];
               //options.ClientSecret = FBAuthNSection["ClientSecret"];
               //})
               //.AddTwitter(twitterOptions =>
               //{
               //twitterOptions.ConsumerKey = builder.Configuration["Authentication:Twitter:ConsumerAPIKey"];
               //twitterOptions.ConsumerSecret = builder.Configuration["Authentication:Twitter:ConsumerSecret"];
               //twitterOptions.RetrieveUserDetails = true;
               //});
               .AddMicrosoftAccount(microsoftOptions =>
               {
                   microsoftOptions.ClientId = builder.Configuration["Authentication:Microsoft:ClientId"];
                   microsoftOptions.ClientSecret = builder.Configuration["Authentication:Microsoft:ClientSecret"];
               });

            builder.Services.Configure<CookiePolicyOptions>(options =>
            {
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
                options.Secure = CookieSecurePolicy.Always;
            });

            builder.Services.AddControllersWithViews(options =>
            {
                var policy = new AuthorizationPolicyBuilder()
                    .RequireAuthenticatedUser()
                    .Build();
                options.Filters.Add(new AuthorizeFilter(policy));
            });

            // Add services to the container.
            builder.Services.AddRazorPages();
            builder.Services.AddServerSideBlazor();

            builder.Services.AddTransient<IEmailSender, EmailSender>();
            builder.Services.Configure<AuthMessageSenderOptions>(builder.Configuration);

            builder.Services.AddSingleton<WeatherForecastService>();

            var app = builder.Build();

            // Configure the HTTP request pipeline.
            if (!app.Environment.IsDevelopment())
            {
                app.UseExceptionHandler("/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthentication();
            app.UseAuthorization();

            app.MapControllers();
            app.MapBlazorHub();
            app.MapFallbackToPage("/_Host");

            app.Run();
        }
    }

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 804e24dd-7e30-8cf5-2c99-1ffacb4582f6
Version Independent ID: 3e25547b-e2c9-6634-2c38-2a77207f17d4
Content: Scaffold Identity in ASP.NET Core projects
Content Source: aspnetcore/security/authentication/scaffold-identity.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

_Host.cshtml file
@page "/"
@namespace SlayersIsBack.Pages
@{
    Layout = "/Pages/Shared/_Layout.cshtml";
}

<component type="typeof(App)" render-mode="ServerPrerendered" />

Hello @wrharper ... Recommend that you close here and open for the scaffolding team at ...
https://github.com/dotnet/Scaffolding/issues

We don't work on issues split across repos like that. Best to copy-'n-paste the content from your OP here to your OP there and close this issue.


Several fixes in Dockerfile and wdl to support automation in cromwell

[x] We do not need cromwell in our docker images.

Remove:
# Get the cromwell jar file
RUN wget https://github.com/broadinstitute/cromwell/releases/download/0.19.3/cromwell-0.19.jar

[x] gatk jar should be a string instead of a file.  This is a bit of a hack, but it makes it so that we can run an arbitrary GATK protected jar from a local filesystem or in the docker image.  The only downside is that it will not get localized.  However, this does not matter for shared filesystems.

[x] target file in wdl is a string when it should be a file.

Also:

[ ] Make Bayesian het pulldown the default for the case workflow

[ ] Add docker build process to travis-ci to make sure that the unit tests can be run on a docker image (and a jar can be successfully built).  This image should not be pushed to a repo or anything like that.  It should run on the test branch codebase.

Forgot to (automatically) close this when pull request was accepted


Typo in VSIX description

Sample information

Sample type: [\VSIX] template
Sample language: [dotnetcore]
Sample name:

Describe the bug
Typo "echos" should be "echoes".
To Reproduce
Steps to reproduce the behavior:

In https://github.com/Microsoft/BotBuilder-Samples/blob/2c2630f611e26a6061f59f727c2a9883e97d8559/generators/dotnet-templates/Microsoft.BotFramework.CSharp.EchoBot/Microsoft.BotFramework.CSharp.EchoBot.nuspec#L7
There are a few places when you look at the description for the template in Visual Studio where "echos" appears.

[bug]

fix merged into samples WIP branch


Detect and ignore lights created by emulated_hue

Fixes #1251. This should do a reasonable job of ignoring lights that originated at emulated_hue. Sadly, after much testing Alexa eventually had my real Hue bulb and the emulated hue bulb identical in every way except manufacturer name.
I'll document the restriction that older Hue bulbs may be ignored if you have emulated_hue enabled.

Great thanks.


How to connect to Dynamics CE with SSO automatic login

Hello All,
I get an SSO automatic login with Windows 10 add-in of Chrome install by AD policy group of my company. It means that i get logged directly with my windows credentials to CRM.
I was getting in trouble with that to used Easy Repro so i have found a solution that you can simply used to login.
client.Browser.Driver.Navigate().GoToUrl(_xrmUri);
[TestClass]
    public class CreateAccountUCI
    {
        private readonly SecureString _username = System.Configuration.ConfigurationManager.AppSettings["OnlineUsername"].ToSecureString();
        private readonly SecureString _password = System.Configuration.ConfigurationManager.AppSettings["OnlinePassword"].ToSecureString();
        private readonly Uri _xrmUri = new Uri(System.Configuration.ConfigurationManager.AppSettings["OnlineCrmUrl"].ToString());

        [TestMethod]
        public void UCITestCreateAccount()
        {
            var client = new WebClient(TestSettings.Options);
            using (var xrmApp = new XrmApp(client))
            {
               // Direct connect without login password
                client.Browser.Driver.Navigate().GoToUrl(_xrmUri);
                //xrmApp.OnlineLogin.Login(_xrmUri, _username, _password, MSFTLoginAction);

               .....

            }

        }
    }

That is as simple as that :)
Maybe we can in future expect to have a simple xrmApp.OnlineLogin.Login(_xrmUri) method that implement that simple snipped.
Hope it will help someone else.
Have a nice day

Hi @Paca ,
we also need to use "Windows 10 Accounts" extension in our AD to login with Chrome. I tried your approach but now the automated browser sessions are directed to "portal.office.com" and not to Dynamics 365. Do you have any advice on this?
Cheers,
Johannes


Dynamic Test Bugs and Enhancements

Description
We have some active bugs on dynamic data tests. This issue is to track all of them in a single place.
Tasks

[x] #875
[x] #450
[x] #283
[x] #905
[x] #464
[x] #997
[x] #906
[x] #452
[ ] #309
[ ] #740
[ ] #908
[ ] #713
[ ] #246

AB#1353432

Closing this issue as it's only listing a group of issues.


Using a fully-qualified URL in configuration breaks

Now that pretender supports cross-origin requests, it would be nice to be able to define a configured route like this:
this.get('http://example.org/foos/:id')

However, the server is always placing a / before the path, which breaks fully qualified domains. With the example above, pretender will try to stub /http://example.org/foos/:id.

Regex if host is present so we don't break backwards compat?
On Sun, Aug 16, 2015 at 11:58 AM Ben Limmer<EMAIL_ADDRESS>wrote:

Now that pretender supports cross-origin requests, it would be nice to be
able to define a configured route like this:
this.get('http://example.org/foos/:id')
However, the server
https://github.com/samselikoff/ember-cli-mirage/blob/master/addon/server.js#L72
is always placing a / before the path, which breaks fully qualified
domains. With the example above, pretender will try to stub /
http://example.org/foos/:id.
—
Reply to this email directly or view it on GitHub
https://github.com/samselikoff/ember-cli-mirage/issues/244.

Yep, working on it now.


upgrade std.string.column to handle ranges and nelSep

String functions should handle input ranges of text. Also upgraded the unit tests for column() so the coverage is complete.

LGTM

Auto-merge toggled on


Required fields should be optional

All fields should be optional - this allows better forwards/backwards compatibility if a field needs to be deprecated later.

Lets look into this more, what is the right approach?

Hmm. I personally prefer required + people lock their code to specific versions of backing libs, compared to optional + best-effort to be version compatible.

@andrey-ib can we debate this some more?
https://stackoverflow.com/a/31814967/4061273
https://capnproto.org/faq.html#how-do-i-make-a-field-required-like-in-protocol-buffers
The standard approach here at the company has been along the lines of the optional camp

Hmm, we can discuss in our 1-1. I think a lot of this is too theoretical -- whoever owns all the integrations (currently nobody) should be the shot-caller.

Hmm, we can discuss in our 1-1. I think a lot of this is too theoretical -- whoever owns all the integrations (currently nobody) should be the shot-caller.

Closing since protos have now been removed


Range with term not working

The code below not working, because It doesnt show most of the 'is_active' products.
When I remove is_active, It works well, and shows all products has is_active=1.
I couldnt understand why.
Why It shows some of products and not showing others.
 ```

$products_ids = $product_ids
->must('range', ['quantity' => ['gte' => 1]])
->must('term', ['is_active' => 1])
->mustNot('term', ['type' => 'subscription']);

Hey @tcagkansokmen, I think you need to check the index mapping. is_active must be boolean or integer.


Replace dash in header keys with underscore

Dashes in HTTP header key should be converted to underscore.

Thanks!


How to Adjust Flux Guidance?

Hi, this is a great project and I'm able to get Flux Dev up and running! However, I was wondering, since flux has their own guidance parameter and can influence generation style/quality quite a bit, different from the usual CFG, where can I adjust that?

Hello @andyw-0612! You are looking for --cfg


stl gnustl and libc++

Hi,
I'm trying to compile ARM NN using Android toolchain (aarch64-linux-android-)
ACL recomends using "--stl gnustl" here
ARM NN recommends using "--stl=libc++" here
Currently I have two standalone toolchains. One to build ACL (with gnustl), the other to build ARM NN using libc++.
Is this the right way to do? Would there be any conflicts with the final library/exec?
Thanks,
San

Hi @santo4ul, that would probably result in errors when linking ACL in ArmNN.
I'd recommend keeping the same stl for all component builds, or the same NDK toolchain entirely.

I just noticed that you indeed have linker errors related to the stl version (#35).

Thanks MatteoArm.
The problem is, ACL recommends using gnustl with the following warning/attention. How do we go about it. We may endup with runtime errors, I'm not sure.
Attention
Due to some NDK issues make sure you use clang++ & gnustl
Thanks,
San

I just spoke with the Compute Library team and they confirmed that they already have plans to switch to libc++ over gnustl, updating also to NDK r17.
Building everything with r16b and libc++ is ok for the time being.

Thank you @MatteoArm for the confirmation.


Fix module attr error to use python __name__ instead of rust struct name

Why not just have a r/w property that gets/modifies the name struct field?

How about delete in that case? I think it is not compatible with CPython.


Apollo Client Dispatcher Use of SynchronousQueue

Question.
Why does the default dispatcher use a  SynchronousQueue as the work queue?
I'm wondering about the motivation behind choosing this type over other types such as a LinkedBlockingQueue. SynchronousQueue will block the producer thread until a consumer takes it. This behavior is likely to add latency to a server-side application that is invoking a GQL service using this Apollo Java client (and I've discovered some evidence of this in one of my projects).

Good question, maybe @sav007 will have more insight about this.
In all cases, you should be able to override the default dispatcher with a dispatcher using LinkedBlockingQueue:
    ApolloClient.builder()
        .dispatcher(ThreadPoolExecutor(0, Int.MAX_VALUE, 60, TimeUnit.SECONDS, SynchronousQueue()))
        .serverUrl("https://...")
        .build()

@glacier did specifying the dispatcher explicitly reduce latency? I'm hesitant to change the dispatcher given it's a pretty low level change so if the explicit route worked, I'll close this bug.

Closing for now as the default dispatcher seems to work well for most of the use cases and is configurable for more advanced use cases. Please leave a message if you want me to reopen.


EPIC: key refactor migration

In the storage working group we discussed how the migration of IAVL will work in the future when we do merge the node key refactor.
the paths I suggested in the call were:
1
This path includes having the old tree format and the new format and assumes the upgrade will not be handled in a coordinated way.
The state sync snapshot, using the old format, would be downloaded. Imported into the old tree because the format is in a post-order format, but the new design requires pre-order. The old tree will export in pre-order form and then import into the new tree. This will allow a node to update using state sync.
2
This approach assumes either a coordinated upgrade or ability to download a snapshot. This approach will export the old version using preorder and import it into the tree. This approach is simple, but it only applies to current state, historical state should be handled
Historical State:
historical state should be handled outside of current state upgrade. This would be up to the application and an issue will land in there to coordinate how to best handle this and potentially leave it up to the operator.

We can migrate through the following steps (assume the available version range is [fromVersion, toVersion]):

Import and Export the snapshot for the fromVersion
Get changesets and update the tree for the forwarding versions using func (t *ImmutableTree) TraverseStateChanges(startVersion, endVersion int64, fn func(version int64, changeSet *ChangeSet) error) error

closing this as it has been implemented


Change : Rename method to match new osu.framework.

Change to match osu.framework from version 2023.419.0 to 2023.614.1

Request a Verifies from Developer for success built for currently version due I got an error when run lazer up sometimes like a chance.


Hauki 226 merge open period form

Add shared opening-period form (for create and edit date-period pages)
Improve e2e-tests
Add ResourceInfoSubtitle-component (to get rid of duplicate styles)
Remove other duplicate styles

Would EditOpeningPeriodPage benefit from some unit tests? Couple corner cases it could test are:

How the page behaves when api returns status code > 200 for fetching the initial date period
The page is able to render correctly different kinds of date periods. In e2e test we only test for one kind of date periods.

Would EditOpeningPeriodPage benefit from some unit tests? Couple corner cases it could test are:

How the page behaves when api returns status code > 2xx for fetching the initial date period
The page is able to render correctly different kinds of date periods. In e2e test we only test for one kind of date period.

I would implement those in separate PR

Would EditOpeningPeriodPage benefit from some unit tests? Couple corner cases it could test are:

How the page behaves when api returns status code > 2xx for fetching the initial date period
The page is able to render correctly different kinds of date periods. In e2e test we only test for one kind of date period.

I would implement those in separate PR like we did with the create-form

Sounds a good plan!

Was there suppose to be a spinner when user clicks 'Julkaise'? I tested and it does not seem to appear:

Think the margin-up is missing here:

Was there suppose to be a spinner when user clicks 'Julkaise'? I tested and it does not seem to appear:

I'll put it back

This required a lot of effort. Good job on handling it so well! 👍


I3 workspaces on relevant screen

I'm using i3 as my Wm and have been wanting to switch from i3bar for a while, and polybar seems like the best statusbar ever in almost all aspects, but would it be possible when using multiple monitors to have one bar for each output, with only the relevant workspaces on them like with original i3bar?

I think you can use pin-workspaces = true for that: https://github.com/jaagr/polybar/wiki/Module:-i3

oh! thanks I missed that one ^^"

I made a simple for loop to spawn one bar on every output available, but only one bar have i3 workspaces on it... (not even allways on the same output)
for i in $(polybar -m | awk -F: '{print $1}'); do MONITOR=$i polybar example -c ~/.config/polybar/config & done

@obayemi is i3 running when you launch polybar or when do you launch it?

I launch it from a terminal inside a running i3 session

i3: Could not mkdir(/tmp/1000-runtime-dir/i3): File exists
i3: Check permissions of $XDG_RUNTIME_DIR = '/tmp/1000-runtime-dir'

These messages come from the i3ipc lib. Did you follow them up?

I would also like to have the bar on multiple monitors (when connected) with only the relevant  i3 workspaces on each.
What about the performance? Wouldn't launching two bars separately lead to all the commands running for each module running twice?

ok, I really don't know how and why, but it works now. After a few system upgrades and some minor configuration changes in i3/dbus/other stuff, I retried and it works perfectly. It was definitely not a polybar issue. But I still don't know why it happened which is pretty annoying...


Allow Audiences to be modified after creation to filter them by either a predicate or another audience.

The concept here is to minimize the need to for loop through targets to send a message to a subset of the server audience, where that subset is not provided by the existing methods in audienceProvider eg. all(), world(),server(),permission(String) etc
It would be ideal to take the provided audience and filter it either by a predicate, which as discussed might need to be platform-specific, or by another audience set.
audienceProvider.permission("some.permission", somePredicate)
or in the case of another audience set.
AudienceProvide.all().exclude(AudienceProvider.world("someworld").sendmessage()
Consideration would need to made, as to whether the implementation is better optimized than example like the for loop below.
This would avoid code like
//from a bukkit plugin
for(Permissible perm : targets)
        {
            if(perm == except)
                continue;

            if(perm instanceof CommandSender && (permission == null || perm.hasPermission(permission)) && (checker == null || checker.isValid((CommandSender)perm)))
                audienceProvider.audience((CommandSender) perm).sendMessage(message);
        }

Closing this based on the merge of #365.


Add State:__tostring()

State:__tostring()
This update provides a better tree output for when a state is printed.
So let's use this code as an example:
local State = BasicState.new({
	Location = "Mountain",
	Greetings = {
		Place = "Welcome to the Mountain!",
		Roblox = "Hey Roblox!",
		Me = "Hi Kevin!"
	}
})

print(State)

State:SetState({
	Location = "City",
	array = {1, 2, 34, 56},
	Greetings = {
		Place = "Welcome to the City!"
	}
})

print(State)

This will be the output without __tostring():

And this is with __tostring() added:

Great addition! That should help people visualise the state in the output very nicely.


adding account number for better logging, since the endpoint is not a…

…vailable in Lemur DB

Coverage remained the same at 59.534% when pulling db91e48395da9273b16405283bfddf20a27ca43b on hosseinsh:better-metrics-endpoints into 18f42d23494c1000fc996b41d3ad6d9b92f4383e on Netflix:master.


Self-contained Dockerfiles

One piece that will help producing the final artifacts is to remove the need to have a local packaging (off container build) with multi stage builds:
https://github.com/christophd/kn-connectors/blob/a919efe7b528594b6126f24d48a993e9c3d81432/timer-source/src/main/docker/Dockerfile.jvm#L21-L27

/close
moved to actual repo: knative-extensions/eventing-integrations


Add ability for user to choose color of individual components

Serialise the colour into the metadata so it can be restored on opening.
Default colour comes from the group as currently.
User can pick a colour in the full wheel component menu.
Use an off the shelf color picker from Tailwind (maybe https://tw-elements.com/docs/standard/extended/color-picker/ ?)
Menu icon is a circle shaded with the current color paintbrush in far right (East?) position on full wheel

Refinement notes:

The tool above may not be a vue component. We can just use it as react component under the hood, or look for something else.
Clicking icon should color only the single node (the one where menu is opened). Also, we want to add shortcut to color all selected nodes.


Improve Usage section of README.md and add '(not currently up)' to the Demo link (keeping alt text)

I added information on the .env fields required for this application and added (not currently up) to the Demo link (keeping the alt text already there). If you find any problems with this, feel free to edit it.

ye this looks good


feat: port Data.Finset.Sups

[x] depends on: https://github.com/leanprover-community/mathlib/pull/18172
[ ]  depends on: #2991

https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Data.2EFinset.2ESups.20mathlib4.231663

Things left to do:

[ ] fix disjSups_comm
[ ] fix two redundant binder annotation update error
[ ] decide if sups_singleton_left' is needed

This file is actively being worked on. Please wait for https://github.com/leanprover-community/mathlib/pull/18172

This file is actively being worked on. Please wait for leanprover-community/mathlib#18172

Sure. (I didn't know, there was nothing in the porting note, it just showed up there as a file that needed porting...)

Yeah sorry, I had no idea it was up for porting.

This PR/issue depends on:

leanprover-community/mathlib#18172
By Dependent Issues (🤖). Happy coding!

This PR/issue depends on:

leanprover-community/mathlib#18172
By Dependent Issues (🤖). Happy coding!

Sounds goodAm 18.03.2023 12:14 schrieb Yaël Dillies @.***>:
There are now enough changes to the mathlib file that I think it'll be easier if you start over.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Apparently there is a new dependency, namely Data.Set.Sups, #2991

This PR/issue depends on:

leanprover-community/mathlib#18172
leanprover-community/mathlib4#2991
By Dependent Issues (🤖). Happy coding!

I rebased and started over. Three things left, and also decide how many of the names shoudl be fooSups instead of foo_sups

TODO:

[ ] image_subset_sups_right
[ ] image_subset_infs_right
[ ] disjSups_comm
[ ] naming?

The disjSups_comm issue is the same problem as described above.
For image_subset_sups_right and image_subset_infs_right, it is not clear to me why this is not working. It wasn't an issue before...

bors merge


Splitup the Test Macro file, alternative

Alternative split by splitting out String functions

I have no objections to this solution, but could you please put the new files into sources.mk for Dos and see that the Dos build is indeed fixed. I am not sure about this, as the long long functions are prone to generate a lot of assembler code and I have no idea whether the string funcitons will outweigh them.

Needless to say that TestTestingFixture is cleaner this way :-)

It still needs to be cleaned up a bit though...

I'm kind of fond of my "hack" in the header though. I wouldn't have thought I could make the static functiosn work without a source file :P

I'd prefer moving everything to the source file anyway. It was already something that should have happened.

Can't really dispute that :D.
Are you going to make the changes needed to platforms/dos/sources.mk? Or how should we approach that? Should I submit a PR against basvodde/master?

Yes, will gradually :) Let me see the failure reasons.

For starters and obvious reasons, you need src/CppUTest/TestTestingFixture.cpp in the dos buid....

Same goes for Cmake builds.
Interesting failures for Autotools, and also interesting that Cygwin succeded :-/

Coverage decreased (-0.04%) to 99.873% when pulling 167c7f349226083435f7a669877a279677cc77d1 on basvodde:master into 9c9f3471bfc2050a0bb13a3f22e0d0f311b01f31 on cpputest:master.

The FAIL_LOCATION lines need to be commented with // LCOV_EXCL_LINE to make Coveralls happy

I'll merge this, the Vistual Studio files need fixing still though :(


Save timestamps for individual files & re-run the task on change

Sometimes when working with Git you need to checkout an earlier commit; running newer:task:target will then not regenerate the file since its timestamp is earlier than the one saved by grunt-newer.
It'd be useful if grunt-newer saved time stamps for every source file the task is run on and that it would re-run the task if the timestamp changed in any direction, not just if it got newer than the generated file.

Hm, actually, it seems Git always updates timestamps so this shouldn't be an issue. Closing.

Yeah, many things depend on git always updating mtime on changed files.


Allow concurrent same-FQDN DNS-01 challenges when using route53

Pull Request Motivation
This PR allows cert-manager to perform concurrent DNS-01 challenges for the same FQDN when using route53. This makes DNS-01 orders twice as fast when a Certificate contains both wildcard and non-wildcard dnsNames for the same domain. More details in: https://github.com/cert-manager/cert-manager/issues/5430
Note that https://github.com/cert-manager/cert-manager/pull/4793 makes concurrent challenges safe with route53 by switching to multivalue answers vs. a single record. That change makes this PR safe without any additional locking.
That said, route53 caps multivalue answers to 8 records. We could allow for more concurrency by locking over the same record (e.g., https://github.com/sclevine/cert-manager/commit/d84facb1a2876b882d85a445533b3888de09d72d), but this approach is significantly more complex.
Kind
feature
Release Note
Allow concurrent same-FQDN DNS-01 challenges when using route53

@sclevine where is the 8 record cap enforced? what happens when more than 8 records are requested?

If there are more than 8 TXT records for the same FQDN, route53 returns 8 of them randomly when the TXT records are queried. There is no limit to how many records can be set.
So if there are more than 8 simultaneous challenges for the same FQDN, letsencrypt may fail to find TXT records for some challenges until other challenges are completed.
#4793 already implements this feature for multiple instances of cert-manager performing simultaneous challenges for the same FQDN, with the same limitation.

/remove-lifecycle rotten

/ok-to-test


Range input not hide thumb when finish slide on mobile

@tomscholz I have same issue when finish slide the range, touchleave event seems not firing and the thumb remain active.
Is this resolved or not supported?


Bingo card reset with over 9 hours left

I went AFK for a short while to take care of issues and was of course eventually disconnected for being AFK for 15 minutes, but when I returned to continue working on my bingo card it was almost completely reset. I'm not sure if this is proof enough or if this is an issue that can be resolved but I thought I'd try anyway.

This is now fixed, thank you for reporting it.


Sunstone does not respect the "memcache_host" option when memcache-dalli is used

/!\ To report a security issue please follow this procedure:
[https://github.com/OpenNebula/one/wiki/Vulnerability-Management-Process]
Description
When I have config like this in sunstone-server.conf:
# Place where to store sessions, this value can be memory, memcache or memcache-dalli
# Use memcache when starting multiple server processes, for example,
# with passenger
#
# NOTE. memcache needs a separate memcached server to be configured. Refer
# to memcached documentation to configure the server.
:sessions: 'memcache-dalli'

# Memcache configuration
:memcache_host: opennebula-memcached
:memcache_port: 11211
:memcache_namespace: opennebula.sunstone

Then for some reason sunstone is trying to connect to <IP_ADDRESS> even despite the fact that openebula-memcached is resolved to <IP_ADDRESS>:
App 1322 output: opennebula-memcached:11211
App 1457 output: W, [2020-09-23T12:44:36.297812 #1457]  WARN -- : <IP_ADDRESS>:11211 failed (count: 0) Errno::ECONNREFUSED: Connection refused - connect(2) for "<IP_ADDRESS>" port 11211
App 1457 output: [ 2020-09-23 12:44:36.3085 1457/0x0000561ed883bf60(Worker 1) utils.rb ]: *** Exception Dalli::RingError in Rack application object (No server available) (process 1457, thread 0x0000561ed883bf60(Worker 1)):

With :sessions: memcache (not dalli) it works fine.
To Reproduce

Run memcache on a different host than sunstone.
Edit sunstone-server.conf to use memcache-dalli and setup memcache_host to point to the memcached server
Restart sunstone and try to connect to it

Expected behavior
Sunstone should work with a memcache_host pointing to any host different from localhost.
Details

Affected Component: Sunstone, memcache
Hypervisor: KVM
Version: opennebula-sunstone-<IP_ADDRESS>-1.ce.el8.noarch

Additional context
Add any other context about the problem here.

Progress Status

[x] Branch created
[x] Code committed to development branch
[ ] Testing - QA
[x] Documentation
[x] Release notes - resolved issues, compatibility, known issues
[x] Code committed to upstream release/hotfix branches
[x] Documentation committed to upstream release/hotfix branches

@tinova PRs to be approved:

Code: https://github.com/OpenNebula/one-ee/pull/1753
Docs:

https://github.com/OpenNebula/docs/pull/2143
https://github.com/OpenNebula/docs/pull/2144


ChainedForeignKey should also provide an option by means of which we can target a specific field

You MUST use this template when reporting issues. Please make sure you follow the checklist and fill in all of the information sections below.

All versions of django-smart-selects prior to version 1.2.8 are vulnerable to an XSS attack as detailed in issue 171. As a result, all previous versions have been removed from PyPI to prevent users from installing insecure versions. All users are urged to upgrade as soon as possible.
Checklist
Put an x in the bracket when you have completed each task, like this: [x]

[ ] This issue is not about installing previous versions of django-smart-selects older than 1.2.8. I understand that previous versions are insecure and will not receive any support whatsoever.
[x] I have verified that that issue exists against the master branch of django-smart-selects.
[x] I have searched for similar issues in both open and closed tickets and cannot find a duplicate.
[x] I have debugged the issue to the smart_selects app.
[x] I have reduced the issue to the simplest possible case.
[x] I have included all relevant sections of models.py, forms.py, and views.py with problems.
[x] I have used GitHub Flavored Markdown to style all of my posted code.

Steps to reproduce

Git clone the master to a app directory
Add the app in Installed apps
Started using the portal

Actual behavior
Inline form don't show any fields.
Expected behavior
Ideal case is that we should be able to see the options.
I'm trying to address the following:

Product variations : We are offering admins the feasibility to create dynamic options in the backend. Ex. Color and values are - Red, Blue. Where, color is the option and Red, Blue are the Option Values.

OPTION_TYPE = (
    ('select', 'Select'),
    ('radio', 'Radio'),
    ('checkbox', 'Checkbox')
)

class Option(models.Model):
    id = models.AutoField(db_index=True, primary_key=True)
    type = models.CharField(max_length=32, choices=OPTION_TYPE, default='select')
    sort_order = models.IntegerField(default=0, blank=True)
    name = models.CharField(db_index=True, max_length=128)
    show_image = models.BooleanField(default=True)

class OptionValue(models.Model):
    id = models.AutoField(db_index=True, primary_key=True)
    name = models.CharField(max_length=128)
    image = models.ImageField(null=True, blank=True, upload_to='uploads/optionValue/%Y/%m/%d',
                              validators=[FileExtensionValidator(allowed_extensions=('png', 'jpg', 'jpeg', 'svg'))])
    sort_order = models.IntegerField(default=0, blank=True)

    option_id = models.ForeignKey(
        'catalog.Option',
        db_index=True, on_delete=models.CASCADE,
    )

Post adding the options in the backend, admin can now link these to a product - we are calling ProductOption & ProductOptionValue

class ProductOption(models.Model):
    id = models.AutoField(db_index=True, primary_key=True)
    required = models.BooleanField(default=True)

    product_id = models.ForeignKey(
        'catalog.Product', null=True,
        db_index=True, on_delete=models.CASCADE,
    )
    option_id = models.ForeignKey(
        'catalog.Option', null=True,
        db_index=True, on_delete=models.CASCADE,
    )

class ProductOptionValue(models.Model):
    id = models.AutoField(db_index=True, primary_key=True)
    price = models.DecimalField(db_index=True, max_digits=19, decimal_places=4)
    price_prefix = models.CharField(max_length=1, choices=PRODUCT_OPTION_PREFIX, default="+")

    product_option_id = models.ForeignKey(
        'catalog.ProductOption',
        db_index=True, on_delete=models.CASCADE,
    )

    option_value_id = ChainedForeignKey(
        'catalog.OptionValue',
        chained_field="product_option_id",
        chained_model_field="option_id",
        show_all=False,
        auto_choose=True,
        sort=True
    )

If you notice this ChainedForeignKey field, we are referring to the model but the ideal chained_field should be option_id from the model ProductOption
option_value_id = ChainedForeignKey(
        'catalog.OptionValue',
        chained_field="product_option_id",
        chained_model_field="option_id",
        show_all=False,
        auto_choose=True,
        sort=True
    )

Is there an option where instead of just defining the entire model we can also refer to a particular field as the chained_field ?

Hi @SilverFoxA,
We had the same problem when trying to convert a Foreign Key using to_field option, which smart selects does not support.
I'm marking this as a feature request.

Hello @manelclos,
Have you found any workaround yet? I'm trying to debug but failed to see any request log on the console/network.

@SilverFoxA after looking carefully at your example, I think that what smart selects needs to implement is following relationships in the chained field, in your case that would be something like:
chained_field="product_option_id__option_id",

That would be an Option model which is a parent of OptionValue. Unfortunately I don't know how difficult this would be to implement.
As a workaround, I think you would be successful by adding a Foreign Key to Option in the ProductOptionValue model, this is untested:
class ProductOptionValue(models.Model):
    id = models.AutoField(db_index=True, primary_key=True)
    price = models.DecimalField(db_index=True, max_digits=19, decimal_places=4)
    price_prefix = models.CharField(max_length=1, choices=PRODUCT_OPTION_PREFIX, default="+")

    product_option_id = models.ForeignKey(
        'catalog.ProductOption',
        db_index=True, on_delete=models.CASCADE,
    )

    option_id = ChainedForeignKey(
        'catalog.Option',
        chained_field="product_option_id",
        chained_model_field="option_id",
        show_all=False,
        auto_choose=True,
        sort=True
    )

    option_value_id = ChainedForeignKey(
        'catalog.OptionValue',
        chained_field="option_id",
        chained_model_field="option_id",
        show_all=False,
        auto_choose=True,
        sort=True
    )

@manelclos Thank you for your prompt response. I would suggest we look at an approach similar to what you have suggested
chained_field="product_option_id__option_id",
The other workaround which you have pointed is something we want to ignore, for now we are going for a quickfix with the formset js, as I have limited time. Hoping to contribute on this issue soon.

Any update on this yet? currently having the same issue. Are there alternatives, any response will be appreciated. Thanks.

Any update here? Or alternatives


Conflict with some module related to Chris' premades

https://github.com/chrisk123999/chris-premades/issues/223

Addressed in v0.7.6.


Update credential-tsm-protocol.md

I follow the same method for this credential: applying all headings in ToIP Metamodel, then the team can fill in the missing information later. I recommend whatever field we don't have enough information, we should put "This section is not applicable for X credential." instead of deleting the section.

I'm not sure that we need to keep sections that are not required?
It keeps the document clean, easy to read and to the point.


chore: Updated dependencies breaking on M1 Macs

:tada: This PR is included in version 3.15.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feat: filter by me on CRUD list view

SUMMARY

Implement  filter with Me option for list views:

Annotation Layers (Owner)
Charts (Owner, Created By)
CSS Templates (Created By)
Dashboards (Owner, Created By)
Datasets (Owner)

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

Annotation Layers

Charts

CSS Templates

Dashboards

Datasets

TEST PLAN

add new cypress test filter by me
update unit test

ADDITIONAL INFORMATION

[ ] Has associated issue:
[x] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Codecov Report

Merging #11683 (34a1f25) into master (3ad65bc) will decrease coverage by 4.56%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #11683      +/-   ##
==========================================
- Coverage   66.46%   61.90%   -4.57%
==========================================
  Files         889      435     -454
  Lines       43049    26855   -16194
  Branches     4009        0    -4009
==========================================
- Hits        28614    16625   -11989
+ Misses      14327    10230    -4097
+ Partials      108        0     -108

Flag
Coverage Δ

cypress
?

javascript
?

python
61.90% <ø> (-0.99%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/databases/commands/create.py
32.65% <0.00%> (-59.19%)
:arrow_down:

superset/db_engine_specs/hive.py
53.90% <0.00%> (-30.08%)
:arrow_down:

superset/views/database/mixins.py
59.64% <0.00%> (-22.81%)
:arrow_down:

superset/db_engine_specs/presto.py
69.76% <0.00%> (-12.53%)
:arrow_down:

superset/db_engine_specs/mysql.py
79.59% <0.00%> (-12.25%)
:arrow_down:

superset/databases/commands/update.py
85.71% <0.00%> (-8.17%)
:arrow_down:

superset/databases/api.py
81.94% <0.00%> (-6.02%)
:arrow_down:

superset/databases/dao.py
94.11% <0.00%> (-5.89%)
:arrow_down:

superset/views/database/validators.py
78.94% <0.00%> (-5.27%)
:arrow_down:

... and 465 more

Continue to review full report at Codecov.

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


Failed to create transcoder

Hello,
I have set up stremio on my own server with yarn (stremio (master) ) and Nginx. I installed 123movies and torrentio. Movies from 123movies works (not all the time) but movies from torrentio never works.
I have always the same error (Failed to create transcoder).
It seems that I missed something during the installation of stremio but I don't know what. For example, I can't create an account either, I have to log in as a guest.
Thanks for helping !

Hi, this is not related to Torrentio addon, you should seek help from Stremio developers. But you used  stremio-web, which is still in experimental phase, and it supports only web ready formats (https links with mp4/hls), to use torrent streams with it you also need to run Stremio app or standalone stremio server (there's a community docker image https://github.com/sleeyax/stremio-streaming-server) and point to it in stremio-web (not sure sure on the details, as haven't set it up myself).


Global tests

Some tests that would be nice to run before every merge:   Could be a pre-commit hook, could be travis.

A sanity script that spins up storybook for both twig and react and makes sure that they aren't broken
A linter that verifies the file structures on styles/twig/react and makes sure they are the same
Something that runs npm test in all the repos

@hokei can you verify that this has been completed/answered? I'm not actually certain what our Travis build does currently...

@scooooooooby I think we can close this.  Our travis build currently runs test in all the repos, we don't need to verify file structure any more.  I'd love to have sanity tests for storybook but I think they should go inside npm test rather than in travis.

Closing this out then. Thanks Crystal!


For iMessage App Extensions and for iMessage Standalone apps

How to integrate CleverTap with iMessage App Extensions and iMessage Standalone apps?
I could see an example for extension but not for a standalone iMessage app

Hey @NikhilManapure
Apologies for the delay!
Below is the procedure to integrate CleverTap for a standalone iMessage App

Add CleverTap SDK to your Podfile

target 'YOUR_APP_EXTENSION_TARGET_NAME' do        pod 'CleverTap-iOS-SDK', :subspecs => ['AppEx']   end

You will need to add your CleverTap credentials in the Info.plist file in your App Extension target.

Set the CLEVERTAP_APP_EXTENSION Preprocessor Macro in your Xcode App Extension build settings.

Import CleverTapAppEx to your AppDelegate.h file. Make sure, to Import CleverTapAppEx into every class where you plan to record user events.

An example of recording a User Event called Product Viewed.

       CleverTap.sharedInstance().recordEvent("Product Viewed")
Hope this helps!

Closing it, feel free to reopen if you need further help or you can also write to<EMAIL_ADDRESS>

Thanks @Aditi3 , will try this out and let you know.


Update annotation.schema.tpl.json

Following a discussion with @lzehl (@skoehnen and @xgui3783), we decided to make bestViewPoint and visualizedIn optional properties.

@UlrikeS91 you need to resolve the conflicts first. Let me know if you need help.


Roll Flutter Engine from 847deb2089a3 to 4d8488f02cd8 (2 revisions)

https://github.com/flutter/engine/compare/847deb2089a3...4d8488f02cd8
2024-12-12<EMAIL_ADDRESS>Roll Dart SDK from 96022397c58d to 70062c353404 (1 revision) (flutter/engine#57155)
2024-12-12<EMAIL_ADDRESS>Roll Dart SDK from aa03dca5beb2 to 96022397c58d (2 revisions) (flutter/engine#57149)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jonahwilliams<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


ENH: ReorientImage interface

Ports over a new interface implemented in https://github.com/nipreps/nibabies/pull/229
No rush in getting this in, would like a review whenever vacations are over

I realized the CIFTI function was relying on the reorientation being in memory, so I separated the reorientation into file based and memory based functions.


Only show diagnostic panel when uri matches current view

In Julia server, it starts by linting all files at the current directory. It may make sense to only show the panel when the uri of notification matches the current view. Otherwise, it will popup and refresh the panel multiple times.

The panel refresh in the current implementation is quite slow and distracting. Improving this would give all users are better experience.
Are you closing the panel every time and getting new lint results immediately after?
About matching URI - I think LSP should offer a way to see that a change in file A broke file B, even if file B is not the current view.

Are you closing the panel every time and getting new lint results immediately after?

Yes, as I may be mentioned earlier, julia server may be slow sometimes (if there are packages need to be recompiled). I close the panel when I see it, then the panel pops up again a few second later when new notification arrives.

That sounds annoying, although not a fix I would suggest setting auto_show_diagnostics_panel to false and using the keyboard shortcut (super+shift+M / ctr+alt+M) to open the panel manually once the language server has started.
Besides improvement to the panel refresh logic, I am open to other suggestions on a clever panel-opening mechanism - although preferably without hiding errors from users who want to see them.

To bring this issue to some conclusion:

The diagnostics refresh logic has come up in issue #84, so let's talk about panel improvements there.
LSP displays diagnostics for all files in the workspace - we could configure this to only show diagnostics for opened files in the workspace.

@randy3k, does that sound reasonable? I would love a PR implementing a only_show_diagnostics_for_open_files (or better named) setting!

LSP displays diagnostics for all files in the workspace - we could configure this to only show diagnostics for opened files in the workspace.

Sounds good. I just struggled with the same issue. I have a project which points to Sublime Text Packages path. The diagnostics panel offers diagnostics for all files I recently opened even though I am no longer interested in them. This is really annoying having a list of 30 files with tons of "errors" but not seeing the current ones.
It is especially an issue as nearly none of the packages provides configurations the python-language-server or LSP is able to handle. Therefore tons of linting issues are raised as false positives. The packages just use different rules with longer lines (120 chars) as an example.

I too have noticed that diagnostics remain after I closed some files - the remove_diagnostics function should be clearing these but perhaps it's worth adding a "LSP - Clear Diagnostics" command.

Can't see this function being called at all, when closing a python file. Seems the event chain is broken somewhere.

Fixes to panel update rendering and diagnostic removal should have helped this issue.
PR #96 offered a setting for this which did not receive feedback, so it was closed.
Closing this issue until new interest appears.

The diagnostics are correctly removed now, if a file is closed. This is ok so far.