incorporated sggested changes in workflow

Description of changes:
- included changes from Refactored code
- fixed packages in Package.json
- added few more queries for getting replies and comment count
- added mention about GITHUB_TOKEN and Repo settings change in Readme
- workflow changes - checking replies to suggested answer and adding attention label
- updated Design document

[x] Have you followed the guidelines in our Contributing guide?

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Left some actionable comments, let me know if you have questions on them 🙂
In addition to the comments, I'm curious how you tested this. What strategies did you use to test this, and did you test all the functionalities? Looking for a pretty detailed answer here
When I tested this, I saw that the cache warning message was still throwing. I think the way to fix it is that we'll need to make sure we're fetching the id on everything returned by the graphql calls as we discussed before, so that will still need to get done.

I tested all functionalities manually by creating discussions for every scenario.

Left some actionable comments, let me know if you have questions on them 🙂
In addition to the comments, I'm curious how you tested this. What strategies did you use to test this, and did you test all the functionalities? Looking for a pretty detailed answer here
When I tested this, I saw that the cache warning message was still throwing. I think the way to fix it is that we'll need to make sure we're fetching the id on everything returned by the graphql calls as we discussed before, so that will still need to get done.

I tested all functionalities manually by creating discussions with diff scenarios.
Reg returning the id from graphql calls, there are 3 queries in which we are returning counts and id list. I would need to figure out how to get id here.

I tested all functionalities manually by creating discussions for every scenario.

Great!
Did you try testing edge cases at all? For example, what if multiple proposed answers are on the same discussion, how should we handle that?
Did you also try testing our optional inputs attention-label, days-until-stale, and try supplying the Github Token both as an input prop and as environment variable?

Reg returning the id from graphql calls, there are 3 queries in which we are returning counts and id list. I would need to figure out how to get id here.

I don't think I fully understand how to solve the warning, but I was imagining it would be adding the id to everything that has an id in all of our queries and mutations.

Left some actionable comments, let me know if you have questions on them 🙂
In addition to the comments, I'm curious how you tested this. What strategies did you use to test this, and did you test all the functionalities? Looking for a pretty detailed answer here
When I tested this, I saw that the cache warning message was still throwing. I think the way to fix it is that we'll need to make sure we're fetching the id on everything returned by the graphql calls as we discussed before, so that will still need to get done.

resolved by keeping merge:false

I tested all functionalities manually by creating discussions for every scenario.

Great! Did you try testing edge cases at all? For example, what if multiple proposed answers are on the same discussion, how should we handle that? Did you also try testing our optional inputs attention-label, days-until-stale, and try supplying the Github Token both as an input prop and as environment variable?

Reg returning the id from graphql calls, there are 3 queries in which we are returning counts and id list. I would need to figure out how to get id here.

I don't think I fully understand how to solve the warning, but I was imagining it would be adding the id to everything that has an id in all of our queries and mutations.

for multiple proposed answers, bot would comment on every reply, adding the instruction text


Make our broker to return its version

I think we could have either

special url
use root endpoint
return version via some header for all responses

Using root endpoint to provide some generic info seems the best
Having special url is too much
Providing version in headers will generate unnecessary traffic and version check is not needed for every request


✨ feat(device): updates device delete command to delete multiple devices

Description
This commit updates device delete command that enables users to conveniently delete existing devices by providing device name or regex that can delete multiple devices
Usage: rio device delete [OPTIONS] [DEVICE_NAME_OR_REGEX]

  Deletes one more devices

Options:
  -f, --force, --silent  Skip confirmation
  -a, --delete-all       Deletes all devices
  -w, --workers INTEGER  number of parallel workers while running delete device command. defaults to 10.
  --help                 Show this message and exit.

Demo

:tada: This PR is included in version 6.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Added unsupported parameter cpu_quota

Why is it unsupported? docker service seems to support it via --limit-cpu option.


Partial revert of 837181e2f60198de3701a1f87e66aaf8e69d0e07

Reasons for making this change:
Previous commit on this file (#2566) was incorrectly supported by a 10-years old Stack Overflow answer. There aren't any demonstrated extra files (apart from xcuserdata/ already listed on top) that need to be excluded from the .xcodeproj/ folder, and as such this folder shouldn't be added to .gitignore.
I'm leaving the change on /*.gcno, but updating the description about it. We could note that most Xcode users are using Clang (default compiler) instead of Gcc nowadays.

@Coeur thanks!

That was fast.

That was fast.

You caught me at the start of my work day 😉

For the record, I'd also like to share my Stack Overflow answer from a few months ago:

Regarding Xcode 9 and newer, the only line you really need in your .gitignore is:
xcuserdata/

Nothing else for Xcode 9+.


Improve config

implement Default::default or add constructor
require max_resident_credential_count

Also, max_resident_credential_count is not taken into account properly for the estimated remaining discoverable credentials in the credentials metadata response.


[SPARK-22452][SQL]Add getInt, getLong, getBoolean to DataSourceV2Options

Implemented methods getInt, getLong, getBoolean for DataSourceV2Options
Added new unit tests to exercise these methods

Can one of the admins verify this patch?

ok to test

Test build #84514 has started for PR 19902 at commit bb01ff5.

Test build #84514 has finished for PR 19902 at commit bb01ff5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/84514/
Test PASSed.

Test build #84578 has started for PR 19902 at commit 15e8ce5.

Test build #84579 has started for PR 19902 at commit 5de7962.

LGTM except three comments.

great!  Thanks @gatorsmile for your comments.
I have updated with code comments, please take a look.   Thanks.

Test build #84582 has started for PR 19902 at commit 7d87edc.

Test build #84578 has finished for PR 19902 at commit 15e8ce5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/84578/
Test PASSed.

Test build #84579 has finished for PR 19902 at commit 5de7962.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/84579/
Test PASSed.

Merged build finished. Test PASSed.

Test build #84582 has finished for PR 19902 at commit 7d87edc.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/84582/
Test PASSed.

thanks, merging to master!
@skambha would you like to open a new PR to add the rest of getXXX methods?

great!  Thanks @gatorsmile , @cloud-fan.
Yes. I would be happy to open a new PR to add the rest of them.
If I compare with the getXXX types in SparkConf, it looks like the only missing one is to add getDouble.  Do we want to add only that or any of the other datatypes or any other getXXX?  Let me know and I would be happy to open a new PR to address it.  Thank you!

ah i see, yea looks like getByte, getShort won't be very useful, let's add getDouble

cool!  I will add that and submit a new PR.

Opened a new PR to add the getDouble method.  https://github.com/apache/spark/pull/19921


Add automatic retries

Add ability to automatically retry operations based on user-provided configuration

Not able to update Assignees field, but am picking this one up!

Sorry about that. Should be fixed now.


Fixing links to be JS links, not Java

Describe the problem that is addressed by this PR
Links in the documentation are pointing to the Java documentation.
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

@microsoft-github-policy-service agree

@microsoft-github-policy-service agree [company="JWorks Ltd"]

API change check
API changes are not detected in this pull request.

@microsoft-github-policy-service agree

Thank you for the fix! CI is complaining that the links contain the en-us locale field still -- if you're able to remove those from the links this will be good to merge. If you don't get a chance, I am happy to do it.

Done. Thank you for the suggestions.


Fix sequence generation to be always increasing

[x] Fixes generation of the normal generator
[x] Fixes generation of the sync generator
[x] Replaces the two incorrect test_generate tests with test_generate_ordered tests
[x] Gets rid of MaybeUninit inside the sync generation. I've looked at the created assembly (using cargo asm) and the compiler is more than clever enough to optimize the wrapping and unwrapping into an Option away here, so there's no need for unsafe. (Extra fun as it was the only unsafe in this crate, so now it's fully no-unsafe!)

Fixes #5

Your feedback has been applied.
I'm running the loom tests locally now (I did not realize that they didn't run as part of the normal test suite before), using RUSTFLAGS="--cfg loom" cargo test --lib --all-features --release, and see that the no_duplicates_no_wrap test is failing.
I'll investigate what is going on there.

The trick was that since the sequence stores the 'next' value, at the very start we have to initialize it at 1. Otherwise, in the edge case where someone tries to generate a snowflake in the very same millisecond as the epoch, it would immediately trigger the wait condition.
In real programs this won't ever come up of course, since time will always have passed since the epoch.

This is very strange, I have no idea why cargo fmt would break formatting and then not fix it.

Hang on; I think I might be running a slightly older version of cargo fmt locally (from 2023-11). Let me see whether updating to the latest version fixes it.

That should've done it 👍

Just a few leftovers from debugging it seems.

Apologies, that was sloppy. I should stop trying to make these kinds of PRs late at night.

Released in version 1.0.3.


Your package is only working elequent not with Query builder. Is there any way for query builder?

Hi,
I am just trying your package to that, is it fullfilling my requirement. Yes, your package is working but only elequent. I have used query builder in some of place in my project to reduce the page load time as well as relationship queries.
Your package is not compatible with query builder. Is there any way to make compatible it with query builder?
Thanks

Hi @dhirender027, this package is only intended to support Eloquent. Encryption of Query builder calls is outside the scope of this project.


Added option "disableDays"

Hello,
I needed to disable only Sundays, so the option "disableWeekends" didn't work for me.
I added an option to disable the week days you need.

I also needed this functionality, thanks for adding it! Hope this gets merged soon.

Thank you for this it is exactly what we were looking for. We did attempt to do this ourselves by setting the is-locked class onRenderDay but while this locked the day from selection a user could still include it in a range of dates.

I've just been using this on while it will show the dates as locked unfortunately you can select a range included these locked dates even when disallowLockDaysInRange is true. It looks the same for the disableWeekends option too, so i am going to raise a bug on that.

I need this too.

See #157
Updated lockDays option.
Example for weekends:
...
lockDays: (day) => {
   const d = day.getDay();

   return [6, 0].includes(d);
},
...

and with disallowLockDaysInRange option enabled:
...
lockDays: (date1, date2, pickedDates) => {
        const d1 = date1.clone();
        const d2 = date2.clone();

        while (d1.getDateInstance() < d2.getDateInstance()) {
          const day = d1.getDay();
          isWeekend = [6, 0].includes(day);
          if (isWeekend) { return true; }
          d1.add(1, 'day');
        }

        return false;
},
...

v2 is currently in beta and is available on npm.
npm i<EMAIL_ADDRESS>

See #157
Updated lockDays option.
Example for weekends:
...
lockDays: (day) => {
   const d = day.getDay();

   return [6, 0].includes(d);
},
...

and with disallowLockDaysInRange option enabled:
...
lockDays: (date1, date2, pickedDates) => {
        const d1 = date1.clone();
        const d2 = date2.clone();

        while (d1.getDateInstance() < d2.getDateInstance()) {
          const day = d1.getDay();
          isWeekend = [6, 0].includes(day);
          if (isWeekend) { return true; }
          d1.add(1, 'day');
        }

        return false;
},
...

v2 is currently in beta and is available on npm.
npm i<EMAIL_ADDRESS>


incremental learning

Hey, thanks for sharing this project!
Is incremental learning supported by smartcore; something like partial_fit from sk-learn?

Hi Julian, this is a great direction to explore. I personally do not use partial_fit to train my models, but I can see where incremental learning might be useful. I know Scikit-learn provides only a handful of incremental estimators, which one are you interested in?

The reason why I'm interested in partial_fit or mini-batches is that I want to train the model on devices with very restricted memory. At the moment I'm mostly interested in naive bayes and SVM.
Another restriction I have is that I can't use floating-point numbers. I'll try to change the crate math::num::RealNumber to support rust_decimal.

The reason why I'm interested in partial_fit or mini-batches is that I want to train the model on devices with very restricted memory. At the moment I'm mostly interested in naive bayes and SVM.
Another restriction I have is that I can't use floating-point numbers. I'll try to change the crate math::num::RealNumber to support rust_decimal.

We definitely can add partial_fit to the Support Vector Classifier, since the implementation we use is designed for incremental learning.
Naive Bayes was implemented by Luis Moreno but it seems to me that we can add partial_fit to all NB variants we support, do you agree, @morenol?
@julama let me know if you want to work on this issue. In any case we can plan this story for next release (v0.3.0). Also, can I ask you to create a separate issue for rust_decimal (I want to keep these two stories separately)?

We definitely can add partial_fit to the Support Vector Classifier, since the implementation we use is designed for incremental learning.
Naive Bayes was implemented by Luis Moreno but it seems to me that we can add partial_fit to all NB variants we support, do you agree, @morenol?
@julama let me know if you want to work on this issue. In any case we can plan this story for next release (v0.3.0). Also, can I ask you to create a separate issue for rust_decimal (I want to keep these two stories separately)?

Yes, I think that we can add that support for the NB variants that we have implemented.

Yes, I think that we can add that support for the NB variants that we have implemented.

let me know if you want to work on this issue. In any case we can plan this story for next release (v0.3.0). Also, can I ask you to create a separate issue for rust_decimal (I want to keep these two stories separately)?

Yes, I'm interested to work on it. I just started learning rust but I will give it a try.

let me know if you want to work on this issue. In any case we can plan this story for next release (v0.3.0). Also, can I ask you to create a separate issue for rust_decimal (I want to keep these two stories separately)?

Yes, I'm interested to work on it. I just started learning rust but I will give it a try.


The RemoteStoreClient::executeFederatedQuery method don't work with endpoints with a password

The RemoteStoreClient::executeFederatedQuery method currently uses the FedXFactory::createSparqlFederation method to create a federated repository. This method only accepts endpoint URLs and so doesn't work with endpoints that have authentication enabled.

It looks like the solution would be to create a RepositoryManager and add the required endpoints to it along with the appropriate credentials as required. This RepositoryManager can then be used to create a DefaultRepositoryResolver which can be passed to a FedXFactory to create the federated repository.

Is this a duplicate issue? C.f. #551

Duplicate of #551.


General discussion

First and foremost: Thank you for your work, @frodeborli!
I was working on a similar library for the last days but your work is great so i'd like to contribute here.
As I am reading through your code some questions arise. Maybe you could answer them here as they come up.

Why the support for PHP 7.3 and up?

Does it work with 7.3? For me 8.1 is most important. Where did I say 7.3? It may have been a goal to align with some other serialization library, come to think of it.

I really do appreciate contributions. This is a type of library that is difficult to make, but when you need it it is really useful, so its nice with some assistance in building it.

Does it work with 7.3? For me 8.1 is most important. Where did I say 7.3? It may have been a goal to align with some other serialization library, come to think of it.

https://github.com/frodeborli/serializor/blob/6df7a36ef487a6dccecd702a0c2337d425851c1c/composer.json#L36
I think supporting ^8.1 should be enough.
A lot of tests will break on 7.3 as there is no readonly...


Added more checks preventing AcceptDialog taking over main window

Fix for #59088.
Same fix as in #58282 because of same errors.
Note: Ran into a bug once when testing where making dialog box visible caused artifacts and not being able to close scene tabs with mouse, but couldn't replicate it again afterwards.

The linked issue seems to have been fixed (though not sure by which PR). So closing.


non-local exit from iterator without return value has a false positive with #define_method.

[:method_one, :method_two].each do |method_name|
  define_method(method_name) do
    return if predicate?
  end
end

is flagged with:
Non-local exit from iterator, without return value. next, break, Array#find, Array#any?, etc. is preferred.

rubocop -V
0.34.2 (using Parser <IP_ADDRESS>, running on ruby 2.2.2 x86_64-darwin14)
(and current master)

Just opening a PR which fixes this.


DOM Event handler Typo Fix

In lib/src/dom/dom.dart Event Handlers getters and setters APIs are Small Case Identifiers, they should be converted to Camel Case Identifiers.
Code Link - https://github.com/dart-lang/web/blob/main/lib/src/dom/dom.dart
Related Issue - https://github.com/dart-lang/web/issues/220

[x] I’ve reviewed the contributor guide and applied the relevant portions to this PR.

I have fixed all the APIs in dom.dart to Camel Case according to Style Guide.

These files are generated from the IDL.


vim mode:  unexpected visual mode

Check for existing issues

[X] Completed

Describe the bug / provide steps to reproduce it
In Vim mode any actions that selects a block of text unexpectedly enters visual mode on next navigation with h, j, k, or l. Interestingly navigating via the arrow keys does not cause this issue.
Reproduction:

Select a block of text either with the mouse, or navigation commands such as gd (go to definition).
Attempt to move the cursor via h, j, k, or l. The text block will continue to expand.
Navigating with up, down, left, or right will clear the selection but on the next navigation via h, j, k, or l the selection will start again from the current cursor.
Navigate again with i, j, k, l and a new visual selection will be started.

This is unexpected particularly in the "jump to definition" case as even when closing the new window containing an external definition you're now selecting a visual range.
It is also unexpected that arrow key navigation clears any selection but i, j, k, or l navigation will start a new selected text range.
Environment
Zed: v0.78.1 (stable)
OS: macOS 13.2.0
Memory: 16 GiB
Architecture: aarch64
If applicable, add mockups / screenshots to help explain present your vision of the feature
No response
If applicable, attach your ~/Library/Logs/Zed/Zed.log file to this issue.
If you only need the most recent lines, you can run the zed: open log command palette action to see the last 1000.
No response

@Mat-Greaves Thanks for the report! I've fixed many instances of this in recent versions of zed. Please let me know if you still observe them on 0.99 or above.

Thanks @ConradIrwin I've noticed most of them seem to be fixed.
One place I still notice this issue is when opening the results of a project search.
Reproduction:

In Zed with vim mode enabled open project search with cmd + shift +f
Search for something within the opened project and hit enter to search.
The buffer opened is in visual mode.

Environment
Zed: v0.99.1 (stable)
OS: macOS 13.3.0
Memory: 32 GiB
Architecture: aarch64

Thanks @Mat-Greaves! That's strange, I did miss that in the initial round of fixes, but it should still have been fixed by 0.98.
Would you be open to screen-sharing for a few minutes to help me debug?


Add footer to embed, style and embed-test file

The embed layout needed a footer:

Add footer with link to embed and style
Create HTML to test the embed easily. You just have to run a server in that folder, try:
python -m SimpleHTTPServer 8000

This will improve with the responsive version. Although we will have to create a specific design if little heights should be used.

Ready again! Thanks for the comment!

Good embed test example!


ion-toggle not clickable in ion-buttons in ion-toolbar

When in header,  is not clickable. In ion-content, it's working without problem. It's seems it is related to ion-buttons as placing  inside a floating div works:
Not working for header placement:
<ion-header>
    <ion-toolbar>
        <ion-title>My title</ion-title>
        <ion-buttons slot="end">
            <ion-toggle [(ngModel)]="autopilot"></ion-toggle>
        </ion-buttons>
    </ion-toolbar>
</ion-header>

Working with a floating div:
<div style="float:right">
    <ion-toggle [(ngModel)]="autopilot" (ionChange)="flashMessage()"></ion-toggle>
</div>

I think 'pointer-events: none' causes this problem.
So here is another workaround without adding 'div' tag:
<ion-toggle [(ngModel)]="autopilot" (ionChange)="flashMessage()" style="pointer-events: auto"></ion-toggle>

Fixed in master by: https://github.com/ionic-team/ionic/commit/9d6169acdd4f46e001eec8f55f4f34af7bf5c3db


Roll Flutter Engine from bf7d51586704 to 414538fc6160 (1 revision)

https://github.com/flutter/engine/compare/bf7d51586704...414538fc6160
2023-02-15<EMAIL_ADDRESS>[Impeller] Ignore the mask filter when saving layer (flutter/engine#39583)
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 jacksongardner@google.com,rmistry<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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


ClassPathUtils initialization doesn't work in wildfly

ClassPathUtils don't know how to work with vfs:
Caused by: java.lang.IllegalArgumentException: Illegal url : vfs:/C:/work/smev_admin_panel.git/ear/target/controller.ear/controller-1.6-SNAPSHOT.war/WEB-INF/lib/api-1.6-SNAPSHOT.jar/entity/
I think you could borrow principles of work with vfs from https://github.com/ronmamo/reflections
https://github.com/ronmamo/reflections/tree/master/src/main/java/org/reflections/vfs
This exception is being raised in method ClassPathUtils.scanPackage() (http://www.querydsl.com/static/querydsl/3.4.0/reference/html/ch04s02.html)

Is that already fixed in Wildfly? https://issues.jboss.org/browse/ISPN-4667

I don't know why it works now, but it seems to be fixed when using the following versions:

WildFly 10.1.0.Final
QueryDSL 4.1.4

Maybe the new  com.querydsl.codegen.ClassPathUtils  does it differently than the old mysema class.

OK, guys, I'm not on wildfly for almost 2 years as of now, so I don't know…

ClassPathUtils was indeed changed to use Reflections instead, which solved this issue.

ClassPathUtils was indeed changed to use Reflections instead, which solved this issue.


Custom Elements

LC As of http://www.w3.org/TR/2013/WD-custom-elements-20131024/
Edcopy: https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/custom/index.html

Discussed in NYC; dominic following up.

Found the bug, was filed already https://www.w3.org/Bugs/Public/show_bug.cgi?id=24579 and has recently come up again on public-webapps.


Refactor authenticated checkpoint data structures

This PR makes the following refactoring around checkpoint data structures:

Use the envelope pattern for Signed and Certified Checkpoint, which allows us to share code and reuse some of the signature verification code as well.
Rename SignedCheckpoint and CertifiedCheckpoint to SignedCheckpointSummary and CertifiedCheckpointSummary
Remove SignedCheckpointProposal as it's redundant
Rename a few fields

Happy to drop any of the above commits if not appropriate. The change may seem big but since CLion did most of the heavy-lifting, it's quite trivial to make/revert.

https://github.com/MystenLabs/sui/pull/2671 added two different forms of the quorum sing info. Once that merges I will use that for f+1 instead of 2f+1


state, render and d3

Hey !
I had just a 'under the hood' question, imagine I have a state { width: 100 } that I apply to my d3 svg container to define its width. When the state width is updated, is the full svg redrawed or is just the attribute width updated ?

Just the width, that's React doing it's thing. I mean, it should just be the width because of the DOM reconciliation. If it's not there's a bug! And a big one at that.

I mean, the entire SVG is rebuilt in memory, but only the width is updated in the actual DOM. That's just how React works. It's up to you to split your application up in such a way that not everything is re-rendered on every change. That's what shouldComponentUpdate is for though.

Yep, but the width attribute is set "the d3 way". Take that example:
import React, { Component } from 'react';
import d3 from 'd3';
import ReactFauxDOM from 'react-faux-dom';

import worldMapData from '../../constants/world-110m2.js';
import topojson from 'topojson';

export default class Strategy extends Component {

    constructor(props) {

        super(props);
        this.state = {
            width: 0
        };
    }

    render() {

        var width = this.state.width,
            height = this.state.width / 2;

        var projection = d3.geo.mercator()
            .scale((width + 1) / 2 / Math.PI)
            .translate([width / 2, height / 1.6])
            .precision(.1);

        var svg = d3.select(ReactFauxDOM.createElement('div')).append("svg")
            .attr("width", width) // THERE: how is the svg here ?
            .attr("height", height);

        var path = d3.geo.path()
            .projection(projection);

        var g = svg.append("g");

        var topology = worldMapData;

        g.selectAll("path")
            .data(topojson.feature(topology, topology.objects.countries).features)
            .enter()
                .append("path")
                .attr("d", path)

        var svgToReact = svg.node().toReact();

        return(

World Map

                    { svgToReact }

        );
    }

    handleResize() {
        this.setState({ width : this.refs.mapContainer.offsetWidth });
    }

    componentDidMount() {
        this.handleResize(this);
        window.addEventListener('resize', this.handleResize.bind(this));
    }

    componentWillUnmount() {
        window.removeEventListener('resize', this.handleResize.bind(this));
    }
}

That looks fine to me, but shouldn't you be using setState in the constructor too? .attr(...) still binds through to React properties, so the DOM reconciliation should still work it out. Why, are you experiencing a complete re-render of the DOM every time?
If you have the inspector open you should see only the width attribute flash as you resize the window.

Mmmmh it looks like all the path are redrawing, I'm doing a few more test to check that.

A few things to say:

Yes it is redrawing, but it was due to the fact I change the projection with the width state.
After setting flat values for projection, the <path> are not redrawing and only the with attribute is updated when the window is resized
So everything works as expected !

thanks a lot

Ah, I see. Well I'm glad it's working as expected! :D


Update command to Remove-ServiceFabricApplication

Use Remove-ServiceFabricApplication to remove an individual application

@ORuban : Thanks for your contribution! The author, @rwike77, has been notified to review your proposed change.

@ORuban Thanks.  Unpublish-ServiceFabricApplication is part of the ServiceFabricSDK module, though, which is imported earlier in the article.  This cmdlet actually wraps the Remove-ServiceFabricApplication cmdlet that you referenced.  #please-close


fix: reject Safe creation if reverted

What it solves
Rejected Safe creation transactions.
How this PR fixes it
The transaction receipt returned by the transaction monitor is checked for receipt.status === false to determine if it is reverted. If so, it is rejected.
The deploymentTx itself will throw if it reverts and we therefore not need check it's status.
How to test it
Attempt to create a Safe with a transaction that will revert. If not successful:
The original transaction would throw an error along the lines of "EVM reverted the transaction".
The sped-up transaction would throw an error in the console: "Sped-up tx reverted".
Screenshots

Forgive the over-commits. Seems like GitHub's outage lead to some strange behaviour.

Could you post a screenshot of the creation page when a tx reverts? Thanks!

Please see the description.

I'm getting this error by setting a low value gas limit
For this one I set the default 523k gas limit to 123k in the MM popup

I'm getting this error by setting a low value gas limit For this one I set the default 523k gas limit to 123k in the MM popup

This is as intended. The error object is also logged for the user.

Ok, looks good to me.


document keeploaded (what does it exactly do for optimization) and invulnerabletosun (cuz anglerfish and planets detecting fluids)

ok did it in #942 i think


Select Metadata code needs cleanup

selectMetadata.js has a render function that does things like create the perfect scrollbars and attached the show and hide event handlers. But the render function is called more than once, resulting in multiple scrollbars in memory and (previous) duplicate event handlers. The event handler problem was "fixed" in a recent pull by removing the old handlers first, but that's not a clean fix. The whole code needs to be reorganized and cleaned up.

As part of this, the Select Metadata dialog needs to be put on hold while we are waiting for an updated menu because of a new search. Right now you can see the old menu, start mucking with it, then the new menu arrives in the middle of your work and changes everything out from under you. There should just be a blank dialog and a "loading" icon while we're waiting for the new menu to come back.


tests: add test on g_file_get_size()

See also #1987.

@matt335672 I've finished this. I will fix g_file_get_size() in another PR.

I think this is a good approach to get the basic tests in. I'll merge it.


ConvoOutputParser fails to parse a valid output which contains a code block

System Info
LangChain version: 0.0.162
Python version: 3.8.10
Who can help?
@hwchase17
Information

[ ] The official example notebooks/scripts
[x] My own modified scripts

Related Components

[ ] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[X] Output Parsers
[ ] Document Loaders
[ ] Vector Stores / Retrievers
[ ] Memory
[ ] Agents / Agent Executors
[ ] Tools / Toolkits
[ ] Chains
[ ] Callbacks/Tracing
[ ] Async

Reproduction
import os
from langchain.chat_models import ChatOpenAI
from langchain.agents import load_tools, initialize_agent, AgentType
from langchain.memory import ConversationBufferMemory

os.environ["OPENAI_API_KEY"] = ""

llm = ChatOpenAI(
    temperature = 0.9,
    max_tokens = 1024,
    model_name = 'gpt-4'
)

def create_memory():
    memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)
    memory.clear()
    return memory
tools = load_tools(
    ["human"],
    llm=llm
)
agent = initialize_agent(
            tools,
            llm,
            agent=AgentType.CHAT_CONVERSATIONAL_REACT_DESCRIPTION,
            memory=create_memory(),
            verbose=True
        )

agent.run('Write a python program to run a simple HTTP server')

Expected behavior
Agent is able to correctly parse the response from OpenAI.

+1 getting a similar error as well

I am getting this same error as well.


Source generators

Been experimenting with source generators; they do work and are very cool. The benefit of source generators is that it allows C2CS to be a "plugin" to the Rosyln compiler. It would run at build time for each project and add the generated source code to the final compilation. For this project itself, this would be beneficial for building the examples as it would make them smoke tests which can be executed via GitHub actions. It would then be immediately obvious if any the examples are broken.
Problems:

Rider has some visual hiccups with generated code not being displayed (building the project in Rider works fine, but intellisense doesn't work.) I expect JetBrains to iron out these issue over time. Rider uses a completely different engine for C# and thus always lags behind a bit on bleeding edge or fairly new features of C#. For this reason alone, source generators are in my opinion not ready for prime time.

Source generators have to target .netstandard2.0. C2CS uses bindings for libclang with some callbacks to C# from C which the UnmanagedCallersOnly attribute is used. This attribute is not available in .netstandard2.0, it was introduced in .net5.0. Callbacks to C# from C have to fallback to using Marshal.GetFunctionPointerForDelegate to which completely eliminates the benefit of using C# function pointers. This is the exact problem for https://github.com/bottlenoselabs/c2cs/issues/67 to which this is not a deal breaker for C2CS to use source generators per se from a technical perspective. However it is annoying; I rather keep C2CS on the train of .NET Core/5/6/7 because it gives me an excuse to learn and play with the latest iterations of .NET. The work around I have been doing for now is to execute C2CS from command line as a .net6.0 application from a .netstandard2.0 source generator context. Which goes into the next problem...

Source generators are ripe for opening of the possibility of malware/spyware/etc. Because source generators are essentially a plugin to the Rosyln compiler, a developer would be running some C# code at build time. When you open up a project in Rider for the first time it asks you "do you trust this project?". That message totally makes sense to me now because anyone could clone down a Git repository of some C# code and open it up with Rider to which building the project could be executing code you may or may not trust completely. Since I execute the .net6.0 version of C2CS by running a new process from the .netstandard2.0 source generator as a work around to problem 2 above, it becomes clear that if someone were to switch out the path for c2cs they would then be running their own swapped out program. This sounds risky as it opens up the door to abuse. Running C2CS once to generate the bindings may be an extra step that could be automated away with source generators but that seems rather foolish as the benefits of source generators for C2CS in my honest opinion don't seem to be worth that risk. To be clear, source generators do solve specific problems to which the benefits out weight the risks, but in the context of C2CS I don't believe this to be the case.

Decided not to pursue source generators for the reasons listed above.


Is it possible to make take_until with logical or?

Hello, I can't find information about this question.
For example:
I want to parse a string that can finish with ";" or " "\r\n".
What is the best way to do that with nom?
I found take_until for that. But I can't find how to write properly something like that:
(pseudo code)
take_until(";" || "\r\n");

I should use
alt((take_until(";"), take_until("\r\n")))(input)?;

closed

From what I can tell this doesn't necessarily work as expected with nom 6.
Code:
alt((take_until::<&[u8], &[u8], _>(&[0x00, 0x03]), take_until::<&[u8], &[u8], _>(&[0xFF, 0xFF])))(input)?
Data:
[0x01, 0x02, 0x03, 0xFF, 0xFF, 0x04, 0x05, 0x06, 0x00, 0x03]
This will match up through 0x06 instead of up through 0x03.


ArgumentException in StorageFolder.GetFilesAsync()

The document of StorageFolder.GetFilesAsync() says that it only throws UnauthorizedAccessException. But it also throws ArgumentException (while there are no arguments) without meaningful message.
Sample code:
        private async void GetFiles()
        {
            var storageItems = await Clipboard.GetContent().GetStorageItemsAsync();
            foreach(var item in storageItems)
            {
                if (item is StorageFolder folder)
                {
                    await folder.GetFilesAsync();
                }
            }
        }

Exception

System.ArgumentException:“Value does not fall within the expected range.”

OS version: Windows 10 16299.19
Target version: Windows 10 build 15063
Minimum version: Windows 10 build 15063
Microsoft.NETCore.UniversalWindowsPlatform package version: 5.4.0/5.4.1/6.0.1

Thanks @taoyouh for bringing this to our attention.
@laurenhughes can you address this?

Thanks for the feedback! I'll investigate this with the dev team and get any other common exceptions documented for the GetFilesAsync methods.


Appstudio update test-component-pac-dasv

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

Pipelines as Code CI/test-component-pac-dasv-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
12 seconds
clone-repository

✅ Succeeded
26 seconds
build-container

✅ Succeeded
57 seconds
inspect-image

✅ Succeeded
56 seconds
deprecated-base-image-check

✅ Succeeded
2 minutes
clair-scan

✅ Succeeded
42 seconds
clamav-scan

✅ Succeeded
19 seconds
sbom-json-check

✅ Succeeded
15 seconds
label-check

✅ Succeeded
8 seconds
show-summary

✅ Succeeded
8 seconds
show-sbom

Pipelines as Code CI/test-component-pac-dasv-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
8 seconds
init

✅ Succeeded
18 seconds
clone-repository

✅ Succeeded
34 seconds
build-container

✅ Succeeded
13 seconds
deprecated-base-image-check

✅ Succeeded
13 seconds
inspect-image

✅ Succeeded
13 seconds
clair-scan

✅ Succeeded
35 seconds
clamav-scan

✅ Succeeded
12 seconds
sbom-json-check

✅ Succeeded
12 seconds
label-check

✅ Succeeded
6 seconds
show-summary

✅ Succeeded
5 seconds
show-sbom

Pipelines as Code CI/test-component-pac-dasv-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
8 seconds
init

✅ Succeeded
18 seconds
clone-repository

✅ Succeeded
34 seconds
build-container

✅ Succeeded
13 seconds
deprecated-base-image-check

✅ Succeeded
13 seconds
inspect-image

✅ Succeeded
13 seconds
clair-scan

✅ Succeeded
35 seconds
clamav-scan

✅ Succeeded
12 seconds
sbom-json-check

✅ Succeeded
12 seconds
label-check

✅ Succeeded
6 seconds
show-summary

✅ Succeeded
5 seconds
show-sbom


What's the branching model/practice of this repo?

I noticed that there is a release brance forked from very begining which is merely repeating all the things in main branch, except that all the dist (i.e. build output) are added to this branch.
I know that this practice can help main branch clean. But what's the tooling/flow to maintain the release branch? Does the author need to cherry-pick each commit whenever a new commit happen in main?
Is this a common practice across github?  Just willing to learn about it, thanks.

i keep it very simple:

main branch is always kept stable and considered as latest,
there are no separate branches used to do dev work
all releases are just versioned tags (using semver versioning)
and automatically pushed to npmjs as well
major releases are additionally tagged as release and archived
at https://github.com/vladmandic/human/releases

is it common? for multi-team projects, it may be needed to have feature branches
but for smaller teams, i find it much more productive to use single dev branch as a forcing function to keep it stable
plus any dev work should happen on up-to-date local clone - dev should do a pull to sync with main before any work
that way there are no conflicts, no cherry picking on commits and no complex merges
if you have any specific questions, let me know


[Bug] Zoom VDI download link is now forbidden

Get-NevergreenApp Zoom now returns the following error
Get-Link : Get-Link: The remote server returned an error: (403) Forbidden.
At C:\Users\jonathan\Documents\WindowsPowerShell\Modules\Nevergreen\2110.1\Apps\Get-zoom.ps1:29 char:23
+ ... wnloadURL = Get-Link -Uri 'https://support.zoom.us/hc/en-us/sections/ ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Get-Link

WARNING: Unable to get results for Zoom VDI downloads: Cannot validate argument on parameter 'Uri'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.

The VDI download url is still valid trough a web browser but cannot be reached with Invoke-WebRequest for some reason.
Invoke-WebRequest -Uri "https://support.zoom.us/hc/en-us/sections/360011509631-VDI-Downloads"
Invoke-WebRequest : The remote server returned an error: (403) Forbidden.
At line:1 char:1
+ Invoke-WebRequest -Uri "https://support.zoom.us/hc/en-us/sections/360 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

Hello Jonthan I have the same problem and can not find a solution, maybe you have already found a solution ?
Thanks

No I have not, the zoom website blocks the invoke-webrequest for no
apparent reason. I've tried everything I could think of.
On Fri, Jan 14, 2022, 12:55 AM brauki @.***> wrote:

Hello Jonthan I have the same problem and can not find a solution, maybe
you have already found a solution ?
Thanks
—
Reply to this email directly, view it on GitHub
https://github.com/DanGough/Nevergreen/issues/28#issuecomment-1012797372,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADSO5QLH6QS6LIK6ZTV2E2LUV63GFANCNFSM5IIPKJDA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

Thanks Jonthan, that's really too bad if I find something share it with you.
Thanks
Thomas

@JonathanPitre @brauki Hi, could you guys please let me know if this is till an issue for you guys? It's working for me today.

@DanGough Still buggy for me.

I have contacted Zoom support about the issue
https://support.zoom.us/hc/en-us/requests/14943984

It seems to work fine with powershell 7

Confirmed. I've tried setting a few user agents (e.g. Edge, Googlebot), and also capturing the headers/cookies sent via Edge web dev tools and sending those but I still get that 403 in PowerShell 5.
Invoke-WebRequest uses System.Net.WebRequest behind the scenes in PowerShell 5, but for 6+ they switched to System.Net.Http.HttpClient. So one avenue of investigation would be to use HttpClient directly...

Resolved for the next release


Sub generators break when using michael jackson script

Sub generators expect you files to end in .js, but all Node's ES Modules implementations expect
files to end in .mjs
$ yo feathers:service
? What kind of service is it? NeDB
? What is the name of the service? organizations
? Which path should the service be registered on? /organizations
? Does the service require authentication? Yes
events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: my-server/src/services/index.js doesn't exist

As mentioned before, you can't use ES modules with the generator yet. Even if the file extensions work the code transformations will not.

My intent was to ask if we can get started on making pull requests to support it... I see no reason not to, the change is immenent. Code sharing from server to client is a real hassle without ES modules.

A pull request would definitely be welcome. The code transformations are in https://github.com/feathersjs/tools (specifically https://github.com/feathersjs/tools/blob/master/lib/transform.js) now.
Not sure I'm following on the code sharing. A lot of modules (including Feathers) are using good old require and work fine on the client. At the moment I'd be expecting the whole .mjs kerfuffle to be a much bigger problem sharing code between client and server.

We still can't copy paste require based code into an ES module during development. The ideal is to have one... there are lots of annoyingly similar differences as well that make it less than trivial. Thanks for the update

This is too ahead of it's time. I've even doubled down on require based code, doing things like conditional imports, which are illegal in esm.  The tooling such as generators and weird edge case webpack plugins also don't like mjs. This is a war, not a battle. When it's time to fight it, this generator will be an important battleground for mjs in feathers.


Finetuning Training Time

I have a few questions about performance and training time etc.
I have the Caffe SSD compiled with CUDA 9 and cuDNN 7 plus OpenBlas and pretty much every optimisation I could see except these:
https://github.com/chuanqi305/MobileNetv2-SSDLite/tree/master/src

Are those optimisations relevant for MobileNet-SSD v1? and are they worth re-compiling it with?
I am using a px2.large with a K80
[0] Tesla K80        | 53'C,  75 % |  5889 / 11441 MB | madhavajay(5876M)
madhavajay@ip-172-31-36-146:~/MobileNet-SSD/snapshot$ gpustat
ip-172-31-36-146  Fri Jun  1 01:15:39 2018
[0] Tesla K80        | 53'C,  82 % |  5889 / 11441 MB | madhavajay(5876M)
madhavajay@ip-172-31-36-146:~/MobileNet-SSD/snapshot$ gpustat
ip-172-31-36-146  Fri Jun  1 01:15:42 2018
[0] Tesla K80        | 53'C,  68 % |  5889 / 11441 MB | madhavajay(5876M)

It seems like I should be able to up the batch size.
I tried going from 24 to 32 but the time per 10 iterations went from 45 seconds to 1 minute.
Is that just because the intervals had more data and therefore its better? I thought an iteration should be the entire data set in which case why is it slower with a higher batch size even though the GPU isnt full?
Can anyone recommend optimal settings?
3) Is it really that slow, im just training on 9 categories from COCO and its taking 45 seconds to 1 minute for 10 iterations? The recommended number is 120,000 that would take 200 hours on a single GPU. How will it scale if I throw 4 of these GPUs at it?

I am using the mobilenet_iter_73000.caffemodel for fine tuning so should this be a lot faster to converge? Is there a good way to know, e.g. by looking at the loss?

I have 9 classes (including background) but have 13 in my file as i have put in Blank ones to keep the label int numbers sequential, is there a way around this? The data I have from coco is in the original label int order and I dont want to change the mappings there. But the extra unused classes add to the model size and performance.

Thanks.

MobileNet-SSD is here really slow during training, even on GPU. With basic ResNet-10 SSD network, it takes about 40 seconds per 100 iterations and 140,000 iterations just finishes over night. MobileNet-SSD takes about 6 minutes per 100 iterations and 120,000 does not finish over weekend. And final accuracy is almost the same.


Remove IAM references from storage service.

Can you remove all the environment variables? We don't need them

Done.


When I debugged, cannot find the sampleVisual.ts

when I debugged, I cannot find the sampleVisual.ts showing as example.
I only found the file:
src/Clients
--Visual/obj
----Visual.js
It is mini file of all visual in JavaScript rather than original TypeScript.
Where I can find the file and debug?
Regards,
Alex

@dmitriy-tarasov, could you look into this?  We should have source maps that allow you to debug into TS.

friendly ping @v-kazaki as Dmitry is on vacation and I know that Kamil planned to refactor this logic so should be aware of this..

@pingshuibing This problem is fixed in #441


Support ply files with normals

Currently, vv can read PLY files without normal as attributes.  Sometimes it is useful to precompute the normal of each point and store them in PLY files.  The normals can be used by a subsequent subcommand.

The sample file you gave me previously has the following header:

Since the header has
property float x
property float y
property float z

so currently vv/vvplay can read the normal files without problems.
Do you want me to add a subcommand to compute the normals?

I believe the fields nx, ny, and nz are the normals.   Currently they are not stored.  We do not have a data structure to store them, I believe.
@wweqg is working on normal computations.


Add rabbitmq exporter to otelcol-contrib release

Part of promotion of this component to alpha, i.e. https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/33331

Hi @TylerHelmuth, could you approve/merge this as well? I saw you merged the component's promotion to alpha in the contrib repo earlier. Thank you
cc @atoulme


Why are devices unsupported? Referencing issue #58280

Describe the bug
Why do some lights show unsupported now when they worked previously?
Expected behavior
I expected my lights to be recognized and work.
Screenshots
If applicable, add screenshots to help explain your problem.
Home Assistant Version

e.g. 2021.11.1

Device info (please complete the following information, which can be found in log):
like this:
I have rolled back to 2021.10.6 so the log is not helpful, but the device has been verified through the Tuya site as type dj
Device specifications (please complete the following information, which can be found in log):
Same device's id, like this:
[2021-07-01 10:18:01,351] [tuya-openapi] Request: method = GET, url = https://openapi.tuyacn.com/v1.0/devices/aaaaaaaaaaa/specifications, params = None, body = None, headers = {'client_id': 'xxxxxxxxxxxx', 'sign': 'xxxxxxxxxxxx', 'sign_method': 'HMAC-SHA256', 'access_token': 'xxxxxxxxxxxxxxxx', 't': '1625105881351', 'lang': 'en'}
2021-07-01 10:18:01 DEBUG (SyncWorker_1) [tuya iot] Response: {
"result": {
"category": "cz",
"functions": [
{
"code": "countdown_1",
"type": "Integer",
"values": "{"unit":"s","min":0,"max":86400,"scale":0,"step":1}"
},
{
"code": "switch",
"type": "Boolean",
"values": "{}"
}
],
"status": [
{
"code": "cur_voltage",
"type": "Integer",
"values": "{"unit":"V","min":0,"max":2500,"scale":0,"step":1}"
},
{
"code": "cur_current",
"type": "Integer",
"values": "{"unit":"mA","min":0,"max":30000,"scale":0,"step":1}"
},
{
"code": "switch",
"type": "Boolean",
"values": "{}"
},
{
"code": "cur_power",
"type": "Integer",
"values": "{"unit":"W","min":0,"max":50000,"scale":0,"step":1}"
},
{
"code": "countdown_1",
"type": "Integer",
"values": "{"unit":"s","min":0,"max":86400,"scale":0,"step":1}"
}
]
},
"success": true,
"t":<PHONE_NUMBER>348
}
Additional context
Add any other context or logs about the problem here.

So, digging deeper, the majority of light types don't list support in 2021.11, including my device type "dj." can we get these supported?

I have the same issue all my lights are not recognized in Home assistant (unsupported). any way to support it?

Same here was working great before then suddenly for lights with same switch gone
KS-7011 (unsupported)
by Tuya
Logger: homeassistant.helpers.service
Source: helpers/service.py:130
First occurred: November 29, 2021, 9:51:27 PM (22 occurrences)
Last logged: 10:43:58 AM
Unable to find referenced entities light.bedroom, light.family_room, light.walk_in_room
Unable to find referenced entities light.bedroom

Is anyone looking into this?  I don't want to be stuck on 2021.10.6 forever.

I just updated to 2021.12.1 and my device type dj is listed as unsupported.  It's odd because in the release notes it is mentioned as having fixed the brightness attribute for device dj.  This is a really important light in my automations.  Can we PLEASE get this fixed?


Automatic local storage question

Is there a way to add automatic browser local storage+retrieval to all prompts on formly form?

please provide more info about the use-case, thanks!

On some complex forms with lots of prompts i'd like to be able to save the data entered after each question is answered. So they don't lose the data in case of disconnections. I don't want to do a round trip to the server until the user saves the completed form, so local storage in the browser seems the best place for this to happen.
if there was some mechanism to hook into this at the form level rather that would be great.

Is there a reason why you can't listen for change detection of data and
store in local storage?
On Thu, Sep 5, 2019, 4:19 PM princepc<EMAIL_ADDRESS>wrote:

On some complex forms with lots of prompts i'd like to be able to save the
data entered after each question is answered. So they don't lose the data
in case of disconnections. I don't want to do a round trip to the server
until the user saves the completed form, so local storage in the browser
seems the best place for this to happen.
if there was some mechanism to hook into this at the form level rather
that would be great.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ngx-formly/ngx-formly/issues/1757?email_source=notifications&email_token=ADB4XNLD2ALWB7V23KQMK6TQIFZURA5CNFSM4ITZNPD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6A25QY#issuecomment-528592579,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADB4XNJADU7YGQTFLNPSKIDQIFZURANCNFSM4ITZNPDQ
.

Possibly, just wondered if there was a formly way of doing this or not?

there is a way using a custom extension but it may not be a good solution, it would be better to rely on data changes as suggested by @kenisteward.


Add fusion-compiler script generator

This PR adds basic support for Synopsys Fusion Compiler based on the older Synopsys target. The main initial difference is the use of absolute paths throughout the generated script as the Synopsys target template prefixed $ROOT to paths incorrectly. Although this could have been fixed in the Synopsys target, we anticipate additional changes needed for Fusion Compiler specific difference even if the underlying PRESTO parser remains the same.

We have also been using Fusion Compiler for some projects, and so far the synopsys target provided all we need.

I suspect that would be the case since it's the likely exactly the same front end parser. We don't use dc_shell internally so we have no way to regression test changes for it and I assume it is still much more widely used that Fusion Compiler for now. At a very basic level, splitting it means that further contributions wouldn't have the potential to break the more widely used tool.
In a broader level, we're looking at adding some mixture of generation for physical related info that's more commonly used in a RTL->GDS flow. Bender is neat for what it does, but until the world becomes more rust-like, it's also questionable if we'll have internal resources to implement the changes in bender or will do it outside even though the natural place would be in the dependency management system. Having bender spit stuff out to feed FC's reference methodology flow would be great but certainly limited in appeal at this point.

Bender is generally designed to collect source files and provide these to the various tools. I don't know if it makes sense to provide the tools with physical related information, as there is currently no representation for this in bender. Adding this could be of interest, but I fear with varying technologies and parametrization of designs, even this physical information is more ideally suited to be handled outside of bender.
Nonetheless, we can add a custom script format for fusion-compiler. I do fear this can cause divergence; if the tools are similar and use the same commands for loading files, then improvements to one script format may get lost in the other. On the other hand, custom templates should now be an option, so this would be an alternative way to combine bender with additional outside information.


More examples would be helpful

I am trying to use annotated types to encourage hypothesis to automatically generate objects, running into trouble, and realising that I'm really unsure what the intended way to use annotated-types is. Concretely, I have written:
FiniteFloat = Annotated[float, IsFinite]

Is this correct and idiomatic? How should multiple annotations be handled? Is the following acceptable?
PositiveFloat = Annotated[FiniteFloat, Gt(0)]

I don't think annotated types are allowed to be nested like this, or at least hypothesis seems to choke on them, so what is the idiomatic way to compose constraints?
There is also some code demonstrating how to create GroupedMetadata but no code indicating how it should be used, or what for.
I looked into the test suite, but (perhaps understandably) it doesn't really have any idiomatic simple examples I can draw from.

Upon further reading, the Python typing documentation (https://docs.python.org/3/library/typing.html#typing.Annotated) does not describe the format this package uses for some annotations:
_NumericType = TypeVar('_NumericType', bound=Union[SupportsFloat, SupportsIndex])
IsFinite = Annotated[_NumericType, Predicate(math.isfinite)]

Specifically, I can't find any mention of what should happen if you write
FiniteFloat = Annotated[float, IsFinite]

which expands to
FiniteFloat = Annotated[float, Annotated[_NumericType, Predicate(math.isfinite)]]

The typing documentation says that nested annotated types should be flattened, but all their examples are about nesting in the first argument, that is, multiple annotations applied to the same type.
My guess here is that some tool somewhere is supposed to evaluate whether float and _NumericType can be reconciled, and if so, flatten this down to a one-layer annotation on float. Is this correct? What should happen if the outer type cannot be reconciled with _NumericType?
The test_cases.py file suggests that one needs to write Annotated[float, IsFinite[float]]; is this correct? https://github.com/annotated-types/annotated-types/blob/main/annotated_types/test_cases.py#L129

IsFinite is meant to be a generic type, not a piece of metadata. So you can write x: IsFinite[float] = 1.0, or x: Annotated[IsFinite[float], Gt(0)] = 1.0, or, equivalently, x: IsFinite[Annotated[float, Gt(0)]] = 1.0, but it's not meaningful to write x: Annotated[float, IsFinite] = 1.0.

Aha! It would be really useful to have documentation of that.

Our README is outright wrong on this!  😱
We should fix that ASAP...

Oh indeed, the README says it's defined as IsFinite = Predicate(math.isfinite), but in the code it is IsFinite = Annotated[_NumericType, Predicate(math.isfinite)]. Same for the other Is* names.
I actually like what the README is doing better: x: Annotated[float, IsFinite] = 1.0 looks more natural than x: IsFinite[float] = 1.0.

Looking through the history, @samuelcolvin originally used that style and then @adriangb switched to generics/typevars.  I also prefer the consistency of having an explicit Annotated - IMO that makes it easier for users to transition to writing their own more complex constraints - but I'm not sure it's worth changing now.

I like the generic syntax because it lets you avoid extra boilerplate from Annotated. If also lets you type what a constraint can be applied to, e.g. type checkers will be fine with Annotated[list[float], IsFinite] but not IsFinite[list[float]].

But in any case it does seem like it's too late to change, we should update the docs.


GUI - Add price tab to GUI

We want to be able to choose "Price" in the sidemenu in the GUI. This should navigate to a page which is empty.
Add price tab to side menu shown in picture.

Tasks

[x] Add feature flag.
[x] Add "Price" tab in side menu which navigates to an empty page.

Tech Notes:
Add feature flag so there won't be pushed an empty page to main.
Ensure that the page can be translated (danish/english).
Acceptance criteria

[ ] 1 - As a GUI user, I want to see a new "Price" tab in side menu, which navigates to an empty page.

Testet on T001 and the price tab is visible:
T001

Testet on B002 and the price tab is invisible:
B002


Support images which dont require authentication (no pullSecret required)

to resolve https://github.com/IBM/portieris/issues/123

This has been tested manually.
Should be tested in e2e.
The unit test in imagePolicy_test.go connects to external registries, should create an httptest.Server which actls like a registry.

This has been tested manually.
Should be tested in e2e.
The unit test in imagePolicy_test.go connects to external registries, should create an httptest.Server which actls like a registry.

I expect unit test issues to be addressed as part the work on #238

I expect unit test issues to be addressed as part the work on #238


Remove hard resource adapter depedency between EJB and JCA, relocate …

…it to messge driven beans (the only user).

retest this please


ForeignKey.formfield(): set defaults if necessary (allow override)

Allow to override defaults used by formfield() in ForeignKey subclasses.

Closing per ticket.


Updating to 0.5 yields an jax.numpy astype error

Since the upgrade I get an error (e.g. using https://docs.kidger.site/diffrax/#quick-example):
File [~/venvs/diffrax/lib/python3.10/site-packages/diffrax/_misc.py:191](https://file+.vscode-resource.vscode-cdn.net/Users/henkkortier/Projects/diffrax_sandbox/~/venvs/diffrax/lib/python3.10/site-packages/diffrax/_misc.py:191), in upcast_or_raise(x, array_for_dtype, x_name, dtype_name)
    [189](https://file+.vscode-resource.vscode-cdn.net/Users/henkkortier/Projects/diffrax_sandbox/~/venvs/diffrax/lib/python3.10/site-packages/diffrax/_misc.py:189) elif config_value != "standard":
    [190](https://file+.vscode-resource.vscode-cdn.net/Users/henkkortier/Projects/diffrax_sandbox/~/venvs/diffrax/lib/python3.10/site-packages/diffrax/_misc.py:190)     assert False, f"Unrecognised `JAX_NUMPY_DTYPE_PROMOTION={config_value}`"
--> [191](https://file+.vscode-resource.vscode-cdn.net/Users/henkkortier/Projects/diffrax_sandbox/~/venvs/diffrax/lib/python3.10/site-packages/diffrax/_misc.py:191) return jnp.astype(x, promote_dtype)

File [~/venvs/diffrax/lib/python3.10/site-packages/jax/_src/deprecations.py:53](https://file+.vscode-resource.vscode-cdn.net/Users/henkkortier/Projects/diffrax_sandbox/~/venvs/diffrax/lib/python3.10/site-packages/jax/_src/deprecations.py:53), in deprecation_getattr.<locals>.getattr(name)
     [51](https://file+.vscode-resource.vscode-cdn.net/Users/henkkortier/Projects/diffrax_sandbox/~/venvs/diffrax/lib/python3.10/site-packages/jax/_src/deprecations.py:51)   warnings.warn(message, DeprecationWarning, stacklevel=2)
     [52](https://file+.vscode-resource.vscode-cdn.net/Users/henkkortier/Projects/diffrax_sandbox/~/venvs/diffrax/lib/python3.10/site-packages/jax/_src/deprecations.py:52)   return fn
---> [53](https://file+.vscode-resource.vscode-cdn.net/Users/henkkortier/Projects/diffrax_sandbox/~/venvs/diffrax/lib/python3.10/site-packages/jax/_src/deprecations.py:53) raise AttributeError(f"module {module!r} has no attribute {name!r}")

AttributeError: module 'jax.numpy' has no attribute 'astype'

Which version of JAX are you using?

I was using 0.4.20. Updating to 0.4.23 resolves the problem.

Ah, thank you! I've just bumped the minimum JAX version do be sure this is fixed automatically in future versions.


Resolver function inside a component not working

I used to use a global resolver which worked but it broke automatic module chunking when running npm run build (only one app.js file got generated with over than 500kb of size). So I thought to use a local resolver like this:
const resolver = (name: string) => {
    const modals = import.meta.glob('../Modals/**/*.tsx', {eager: true});

    return modals[`../Modals/${name}.tsx`];
};

export default function Authenticated({user, header, children}: PropsWithChildren<{
    user: User;
    header?: ReactNode;
}>) {
    return (
        <>
            <main className="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8 pt-4">
                {children}
            </main>

            <Modal resolver={resolver}/>
        </>
    );
}

But when I visit a route with a modal I get this JavaScript error saying that there is no resolver function defined:
react-dom.development.js:22878
 Uncaught Error: Resolver function not defined. You have to define it at Inertia's entrypoint.
    at Y (momentum-modal-react.js:654:13)
    at momentum-modal-react.js:666:5
    at commitHookEffectListMount (react-dom.development.js:23189:26)
    at commitPassiveMountOnFiber (react-dom.development.js:24965:13)
    at commitPassiveMountEffects_complete (react-dom.development.js:24930:9)
    at commitPassiveMountEffects_begin (react-dom.development.js:24917:7)
    at commitPassiveMountEffects (react-dom.development.js:24905:3)
    at flushPassiveEffectsImpl (react-dom.development.js:27078:3)
    at flushPassiveEffects (react-dom.development.js:27023:14)
    at react-dom.development.js:26808:9

I could isolate the issue. It occurs when I disable eager loading for import.meta.glob imports. But that breaks Vite's chunking and results into a single app.js file on production.

Quick update. I got it to work. The main issue was that I was using ’useModal’ inside my modal component without any resolver. But I have to use the hook to be able to get the ’show’, ’hide’ and ’redirect‘ variables. I also got it to work with ’import.meta.glob’ without setting ’eager’ to ’true’. That way a Promise is being returned and I had to adjust the ’useModal’ hook accordingly.  I will try to deliver a better solution in a pull request soon if I don't forget :D


add read_excel function

Description
It'd be nice to be able to natively read excel files
preferred usage
select * from read_excel('path/to/file.xlxs') -- Defaults to the first sheet

We'd likely need some options to specify the sheet
select * from read_excel('path/to/file.xlxs', sheet => 'Sheet2') -- Uses the specified sheet

Components

[x] https://github.com/GlareDB/glaredb/pull/1997
[ ] Excel CREATE TABLE support
[ ] Integration/Smoke Tests for Reading Excel Files

we should be able to use calamine to read the sheets.
I'm not familiar with the excel file format, but ideally we should do some level of parallelization over reading the sheets. First iteration could be as simple as just reading it in, then we could look into further optimizations like parallelization & projection pushdowns.

There's also the office crate
https://docs.rs/office/latest/office/

There's also the office crate
https://docs.rs/office/latest/office/

Any reason to switch off of calamine for this? Are there features we're missing (or bugs)?

Any reason to switch off of calamine for this?

Looks like office supports writes and calamine doesn't, but should be an implementation detail either way.

Any reason to switch off of calamine for this? Are there features we're missing (or bugs)?

I believe that they're the same thing. Office was the old name, and it was renamed.

Any reason to switch off of calamine for this? Are there features we're missing (or bugs)?

I believe that they're the same thing. Office was the old name, and it was renamed.

That checks out. If you click the Repository URL for that crate, it takes you to the Calamine Repository:

https://github.com/tafia/calamine
And that crate hasn't been updated for 7 years: https://crates.io/crates/office

Just to update the status of this:

the read_excel table function is running in the product
there are some SLT tests.

I think to close this properly we should:

support reading from object store (using GenericObjectStoreAccess as with some other files,)
add support for create external table with xslt.
add xslt to the extensions that we parse/direct on when handling paths.

I think it wouldn't be absurd if we added create external database support for an excel sheet where each sheet became a table, but maybe that's a stretch goal. Most of these tasks are pretty small and straightforward, so I'll make new issues and add the good first issue label.

Hi,
will you consider supporting Excel tables ? I think more and more data are stored in this structure, and they have many advantages over ranges (being relatively close to a database table, with column title, no merged columns). Tables are named, and AFAIK, their name is unique within a workbook (see for instance, in Apache POI : https://poi.apache.org/apidocs/dev/org/apache/poi/ss/usermodel/Table.html, ExcelJS: https://github.com/exceljs/exceljs?tab=readme-ov-file#tables, .NET importExcel :https://www.powershellgallery.com/packages/ImportExcel/6.5.0/Content/GetExcelTable.ps1 or https://learn.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.table?view=openxml-3.0.1 for giving a few example I came across). I don't know about any Rust implementation though (does Calamine support it?). It's frustrating having data in Excel tables, or data loaded into Excel through Power Query which creates Excel tables and not being able to load them by name.
Expected behaviour would :
select * from read_excel('path/to/file.xlxs', table => 'table1') -- Uses the specified table

Hope it's doable without too much effort. Thanks!


Make resource HealthStatus computed from HealthReports

Description
The purpose of this PR is to make the HealthStatus field of a resource no longer settable, and instead have it computed from the HealthReports and State fields.
HealthStatus is computed as

null, if the resource is not Running
unhealthy, if the resource is running, and has a health check that has not returned a value yet
healthy, if there are no health checks
otherwise whatever the min of the returned health check values is

Fixes # (issue)
Checklist

Is this feature complete?

[ ] Yes. Ready to ship.
[ ] No. Follow-up changes expected.

Are you including unit tests for the changes and scenario tests if relevant?

[ ] Yes
[ ] No

Did you add public API?

[ ] Yes

If yes, did you have an API Review for it?

[ ] Yes
[ ] No

Did you add <remarks /> and <code /> elements on your triple slash comments?

[ ] Yes
[ ] No

[ ] No

Does the change make any security assumptions or guarantees?

[ ] Yes

If yes, have you done a threat model and had a security review?

[ ] Yes
[ ] No

[ ] No

Does the change require an update in our Aspire docs?

[ ] Yes

Link to aspire-docs issue:

[ ] No

Microsoft Reviewers: Open in CodeFlow

I tested your branch on health checks sandbox and got this error:

Known state propertiy could be set before health reports.
Could fix by defaulting it to an empty array:
private readonly ImmutableArray<HealthReportViewModel> _healthReports = [];

Health status is inconsistently being shown in resource details:
Visible:

Not visible:

While you're making changes in this area, I noticed the Health State casing is consistent with other properties. It should be Health state

Health status is inconsistently being shown in resource details:
Visible:
Not visible:

I was just thinking about this! The property does not appear when the resource has a health report with a null value. We encode that assumption in ResourceStateViewModel but it should really be encoded in HealthStatus itself, which fixes the bug. Made this change

Looking pretty good. Needs tests.

ComputeHealthStatus should be tested but otherwise it is pretty covered

@JamesNK could you look again with the latest commit? 😄

Disambiguate have not received health reports and empty health reports

What is the scenario when this matters?

Disambiguate have not received health reports and empty health reports

What is the scenario when this matters?

HealthReports may not be set initially. If the state becomes Running before it is set, the resource will erroneously report Healthy if it thinks there are no health reports.

/azp run

HealthReports may not be set initially. If the state becomes Running before it is set in the health check service, the resource will erroneously report Healthy for a little while if it thinks there are no health reports.

What is the alternative? Won't this cause the problem in the opposite direction: erroneously show a running resource as unhealthy until it sets no health reports

ComputeHealthStatus returns null health status until health reports are set.

Are you concerned about properties being initialized and the health reports and state being set seperately?

Yes, exactly. Though they are both init-properties, HealthReports is not ever set if there are no health check annotations on a resource. (ResourceHealthCheckService#48)

They're both init properties. They must be set when resource snapshot/viewmodel are created. There isn't an opportunity to get HealthStatus inbetween setting them.

They're not required properties, so can be uninitialized. In the split second between the resource running event being posted, and health reports being set on the resource, that's when, for resources with health checks, the health status would be incorrect. Instead, we don't know the health status then so should return null. That means we also need to publish an update on resources that don't have health checks, after the running event, setting HealthReports to []. I think this handles that case

At this point we need to make sure this doesn't happen in our primary use case. Health checks on resources being updated by code we own in the apphost.

Not sure about that change. Is that supposed to be the first publish?

Not sure about that change. Is that supposed to be the first publish?

That wouldn't be the first publish. Health reports are also updated after the running event is published, for resources with health checks

Linux tests keep failing because of a timeout

Could it be a test?

Could it be a test?

Possibly but I am not finding anything in logs, and related hosting tests are passing locally. Will look into it

In my PR over here I am disabling all the resource health check tests as an experiment.:
https://github.com/dotnet/aspire/pull/6275/checks?check_run_id=31730392032
These tests are timing dependent (and use a few TCS and reset events) to control flow. Its possible that they are the cause of the hangs. I want to rule them in or out of being a factor here.

They're not required properties, so can be uninitialized. In the split second between the resource running event being posted, and health reports being set on the resource, that's when, for resources with health checks, the health status would be incorrect. It would be reported as Healthy, not null - if people listen to the resource running event, and check the health status property, it would be wrong. Since we don't know the health status, it should return null. And then an update on resources that don't have health checks needs to be published after the running event, setting HealthReports to [].

Ok, so is this the scenario? (this is what I mean when I ask what a scenario is, the impact of the change mapped to the real world)

Resource with health checks definied is in a starting state with no health reports
Resource reaches running state. Notification is pushed. HealthStatus is in a bad state.
Health checks logic waits for resource to reach running state, then adds health reports to the resource. Notification is pushed. HealthStatus is in a good state.

Maybe the solution is to have health reports set when the resource is created. We know what they are from the annotation. The health status can just be null.

There is no need to run a health check before the resource is in a running state because almost definitionally it would be unhealthy (including ancestors).

I'm curious to see if this test passes because the Resource Health Check Tests are disabled. It'll be good to narrow down which one is causing the problem in CI since we can't repro locally. So if this passes we should enable half the tests and trigger CI again.

I'm curious to see if this test passes because the Resource Health Check Tests are disabled. It'll be good to narrow down which one is causing the problem in CI since we can't repro locally. So if this passes we should enable half the tests and trigger CI again.

binary search!

OK so try the other half now :)

Fixed up the playground so that it continues to work with the API changes however the test case has a build failure. But I'm not sure whether I should be changing that @adamint.

Fixed up the playground so that it continues to work with the API changes however the test case has a build failure. But I'm not sure whether I should be changing that @adamint.

My goodness, @mitchdenny tests are passing now... I don't know what infrastructure-related thing was going on

@JamesNK @mitchdenny this is ready for re-review.

Looks good. I have some questions, nits and changes to the sandbox.

Is this now in a merge-able state?

@adamint I suggest you do a squash and a manual backport. This has 36 commits.

There was a health check scenario that has never been accounted for -

Resource has multiple health checks
Resource checks health, one report returns a new status but the overall health status has not changed (ie, before Unhealthy+Healthy=Unhealthy -> Unhealthy+Degraded=Unhealthy)
The report health is the same as the prior snapshot health status
Resource health reports are not updated, even though the status of one of them changed.

I have updated the sandbox and ResourceHealthCheckService to account for this.

Good catch @adamint !


[Refactor] The font color is not clearly visisble

File Name
index.html
Reason for Refactoring the Code

@swaraj-das Kindly assign this issue to me
Checklist

[X] I have checked the existing issues.
[X] I have read the Code Of Conduct
[X] The changes don't break the code
[X] Please attach the screenshots and video of the development work once it is done

please assign me this issue

File Name
index.html
Reason for Refactoring the Code
 @swaraj-das Kindly assign this issue to me
Checklist

[x]  I have checked the existing issues.
[x]  I have read the Code Of Conduct
[x]  The changes don't break the code
[x]  Please attach the screenshots and video of the development work once it is done

@biswa2005 File name is not index.html, it's aboutUs.html


Add srm to latest

Please add my adapter ioBroker.srm to latest.
This pull request was created by https://www.iobroker.dev c0726ff.

Please fixvisdues from adapter checker and comment when done. A detailled review will be performed afterwards.

RE-CHECK!


Extensibility: Add API for creating new connection to use with queryeditor.connect()

When opening a query in a query editor, there doesn't seem to be any way to change the target database besides having a USE statement in the query. queryeditor.connect() only takes the connection id of an existing connection, and the extension APIs don't seem to have any mechanism for creating a new connection to a different database.

Closing old tasks.  Please track this in the context of an extension under active development.


Rename spin_version to spin_manifest_version in Spin application manifest

Issue
Spin application manifests (spin.toml) must specify what application manifest version it is using. This is set by setting the spin_version in a spin.toml. This field suggests that it is declaring the version of Spin that it runs on when it is really declaring the version of the manifest TOML that it is. We should rename this field to spin_manifest_version to make this clear.
Proposed solution

non-breaking: Ideally, we could add an alias to the spin_version field of the manifest so that the name change would not be breaking. This may not be possible with serde defaults. Instead, we may need to write a custom deserializer that deserializes that field appropriately and calls to the default deserializer for the remaining fields.

Alternatively, we could make it a breaking change with a major release.

I'm weary of the custom deserializer approach for 1. My concern is that for tools not written in rust that might consume a spin.toml can no longer just deserialize the manifest however they have to implement this custom deserializing. Thinking about some theoretical plugin implemented in go that consumes a spin.toml.
I fear that any rename to spin_version may come with subtle drawbacks (which i am fine with) as long as we are cognizant of what we are giving up.

Morbid curiosity came over me and i'm not confident that using alias or rename is not a viable option either:
This does not compile:
#[derive(Deserialize)]
#[serde(tag = "spin_version", alias = "spin_manifest_version")]
enum Manifest {
    #[serde(rename = "1")]
    V1,
}

This is a runtime error:
#[derive(Deserialize)]
#[serde(tag = "spin_version", rename = "spin_manifest_version")]
enum Manifest {
    #[serde(rename = "1")]
    V1,
}

I think you can do this using an untagged enum of two tagged enums.  Similar to what I did in https://github.com/fermyon/spin/blob/813a3f4b8ff5e899b3720a7f746252d5d0d087f4/crates/manifest/src/lib.rs#L139
This post is provided AS IS and comes with no warranties express or implied

@fibonacci1729 re other languages... this would hopefully only be an issue for a brief transitional period, and given that we are not aware of other tools depending on spin.toml it would hopefully not be a big deal... I bet we have hairier things that other languages would need to grapple with too!  But definitely something we should keep in mind longer term!

@kate-goldenring There are a couple of places at the moment where we look at subsets of the manifest (to avoid going through full spin_loader processing) - just noting them so we capture them too:
https://github.com/fermyon/spin/blob/main/crates/build/src/manifest.rs
https://github.com/fermyon/spin/blob/main/crates/templates/src/app_info.rs

@itowlson I am curious about using the untagged enum approach, i haven't considered that.
Thinking out loud again, If that doesn't work we could alternatively deserialize the toml into a HashMap<String, toml::Value> and dispatch to the approriate deserializer given the presence of spin_version or spin_manifest_version but this feels janky and circumventing the entire point of versioning the manifest in the first place.

this would hopefully only be an issue for a brief transitional period

@itowlson can you clarify what the transition period here is? Essentially several months of backwards compat and then we'd switch to only supporting spin_manifest_version?

Yeah, if someone were starting a plugin once this goes in, I'd assume they'd likely target only the new syntax.  But you're right, there could be apps with the old syntax lurking around for a while!

@fibonacci1729 It's wordy and involved a bunch of dreary helpers but:
// The thing we actually want to work with
#[derive(Debug, Deserialize)]
#[serde(from = "AppSer")]  // LET THE CHEATING BEGIN
enum App {
    V1(AppV1),
}

#[derive(Debug, Deserialize)]
struct AppV1 {
    foo: String
}

#[derive(Debug, Deserialize)]
#[serde(untagged)]
enum AppSer {
    OldSkool(AppOldSkool),
    NewSkool(AppNewSkool),
}

#[derive(Debug, Deserialize)]
#[serde(tag = "version")]
enum AppOldSkool {
    #[serde(rename = "1")]
    V1(AppV1),
}

#[derive(Debug, Deserialize)]
#[serde(tag = "megaversion")]
enum AppNewSkool {
    #[serde(rename = "1")]
    V1(AppV1),
}

impl From<AppSer> for App {
    fn from(value: AppSer) -> Self {
        match value {
            AppSer::OldSkool(AppOldSkool::V1(m)) => Self::V1(m),
            AppSer::NewSkool(AppNewSkool::V1(m)) => Self::V1(m),
        }
    }
}

fn main() {{
    let text1 = r#"version = "1"
    foo = "bar""#;
    let text2 = r#"megaversion = "1"
    foo = "bar""#;
    for text in &[text1, text2] {
        let app: App = toml::from_str(text).unwrap();
        println!("--> {app:?}");
    }
}

// output
--> V1(AppV1 { foo: "bar" })
--> V1(AppV1 { foo: "bar" })

Ahh clever! skepticism melts away.
So then to transition to a v2 manifest format, we'd simply extend AppNewSkool with a V2 variant?

Yes - the presence of megaversion would cause the untagged enum to plump for the new variant, and from that point on the tag on the new "nested" enum would take effect.

@itowlson thanks for sharing the cheat! I patched it together into a working POC here: https://github.com/fermyon/spin/compare/main...kate-goldenring:spin:spin-manifest-version?
I have a few concerns, though:

It seems like the couple months of back compat may not be worth the duplicate (manifest.rs and config.rs) and cheatty code.
We still need to change internal field references of spin_version to spin_manifest_version (but this nested enum would help hide that change from people still using spin_version

Re 1, yeah, the duplication is regrettable.  We could rework the loader pipeline to allow interested consumers to hook in at an earlier point, so that build and templates don't need their subsets, but that feels out of scope for this work (I considered it at the time I was doing that duplication but couldn't face it).  And yeah, I agree it incurs quite a few paragraphs of ugliness over the transition period...  It's a pity there's no generic serde solution for this and I'm definitely not saying we have to do it my way, just sharing what I learned in earlier battles with serde.
What I propose is that we stroke our chins and muse loudly, "Hmm, I bet this could be solved by a Rust macr--" and before we finished the sentence Brian would have done all the hard work for us...  🤔 🤞

This seems to work:
#[derive(Deserialize)]
#[serde(untagged)]
enum VersionedManifest {
    V1Old {
        spin_version: spin_app::locked::FixedVersion<1>,
        #[serde(flatten)]
        manifest: ManifestV1,
    },
    V1New {
        spin_manifest_version: spin_app::locked::FixedVersion<1>,
        #[serde(flatten)]
        manifest: ManifestV1,
    },
}

#[derive(Deserialize)]
struct ManifestV1 {
    name: String,
}

FixedVersion would need to be updated/adapted to accept strings instead of numbers but that should be straightforward.

Ooooooooooooooooh!  Much nicer!

@itowlson @kate-goldenring Currently, when deploying spin 1.2.1 to aks it always throws exceptions
Error: failed to start containerd task "product-api": missing field `spin_version` at line 14 column 1: unknown

My spin.toml:
spin_manifest_version = "1"
authors = ["thangchung"]
description = ""
name = "product-api"
trigger = { type = "http", base = "/" }
version = "0.1.0"

[[component]]
id = "product-api"
source = "target/wasm32-wasi/release/product_api.wasm"
allowed_http_hosts = []
[component.trigger]
route = "/..."
[component.build]
command = "cargo build --target wasm32-wasi --release"
watch = ["src/**/*.rs", "Cargo.toml"]

I tried to change spin_manifest_version = "1" to spin_version = "1" in the spin.toml file, build again, and deploy to aks but it didn't work.
And suspect that it is related to this issue, could anyone shed light on it?

@thangchung I think there was a problem in the k8s plugin where it didn't accept the new name, and at one point the k8s runtime shim hadn't been updated either.  @chrismatteson do you know the current state of play with k8s deployment?
Re still not working after changing to spin_version, could you share please:

What command(s) did you run?
What error did you get?


Update docs to reflect installing controller on user's namespace, pri…

Update docs to reflect installing controller on user's namespace, prior to using KVC.
Since currently it's not clear for the users that controller needs to be installed per namespace.

@balajismaniam are we good with this PR?

/ok-to-test

/retest

@balajismaniam This should be good now, but I'm not sure why kubeflow-experimental-kvc-presubmit is failing!

It is failing because we have not setup prow for KVC yet.


.embed-responsive-4by3 not existing any more

In scss/_variables.scss
 $embed-responsive-aspect-ratios: join(     (21 9),     (16 9),     (3 4),
The line (3 4) should be (4 3) to keep the embed-responsive-4by3 class in the generated css.

/CC @MartijnCuppens


Inject ShipmentGatewayInterface into ServiceFactory

This will remove the coupling across the src / test boundary.

Merged via #38


Prepare for new release of Bitbucket

Workflow links: https://github.com/atlassian-labs/atlassian-slack-integration-server/actions/runs/1419844789, https://github.com/atlassian-labs/atlassian-slack-integration-server/actions/runs/1419845643.

Integration tests passed, so the current version of the plugin is marked as compatible with Bitbucket Server 7.17.1.


Reuse allocated directItems in queue

No idea if you're going accept such a change, but I have a project that runs lots of items through your queue (up to 130k/s) and I see a nice CPU usage reduction if I use sync.Pool to reuse the directItem instances.

Thanks for contributing 👍


unclear in choice

With the current transformation, if the code has a choice with unclear in it (ambiguous reading), the alternative readings get displayed with the legacy EpiDoc underdots. The underdots should be removed from the display of unclear in all circumstances. E.g. <choice><unclear>ph</unclear><unclear>p</unclear></choice>alam is rendered in transformation as (p̣ḥ/p̣)alam - but should appear as (ph/p)alam.

That's normal, I am currently redoing the code.

Thanks. Sorry about the false alarm.


Codegangsta to urfave cli

Updated the name of the cli library from codegangsta to urfave (Moved)
Upgraded the library
Changed definitions of functions that are used as app actions to reflect the library changes. Now these functions must return errors. We're still using logrus but return nils at end of the functions.

 This pr is missing the actual vendoring process (./hack/vendor.sh call) while #113 is ok, then you can squash the two commits so git bisect is fine

LGTM!

@mtrmac want to have a look at this?

Sure, tests pass, and hopefully somebody has checked that the commands still seem to actually work…
And I very much like that this version of cli actually supports unit testing without adding ugly wrappers in #16:

There is now an App.Writer and App.ErrWriter
Action handlers can return an error (turned into logrus.Fatal at the top-level main) instead of calling logrus.Fatalf immediately.

Grant, if you still have the patch which turns logrus.Fatal into return in the various places, I would love to have that.  (If not, no harm done, I can redo that when rebasing #16.)
[Oh, and now working on the integration tests, I am much more confident in thinking that #16 is desirable. The edit-compile-test cycle time for integration tests is pretty horrible, so the basic error handling and trivial local cases like dir: should run as local unit tests.]

@mtrmac great!!

@GrantSeltzer can you do the logrus.Fatal[f] to return err conversion as you did before (but we dropped that just not to change that much)?
Feel free to add another commit on top of this (instead of amending to the first one)

@runcom I'm on it

@runcom @mtrmac What are your thoughts on instances that we use logrus.Fatalf? for example:
			logrus.Fatalf("Error computing manifest digest: %s", err.Error())
Keep those? Just return the errror? or Concatenate the errors and return that?

@GrantSeltzer
Yes, or
return fmt.Errorf("Error computing manifest digest: %s", err.Error())

which would be a smaller change.  Either works fine, yours is a bit more efficient.
Just take care to preserve the ": " to keep the output readable, please.

return fmt.Errorf("Error computing manifest digest: %s", err.Error())

right just remove .Error() here and use either %s or %v for errors (I like %v for errors, we do that in docker as well)

Sorry guys, can we do this with fmt.Errorf and using either %s or %v w/o .Error() calls?

FWIW return errors.New(("Error initializing " + string(context.Args()[0])) + err.Error()) I don't like this
just
return fmt.Errorf("Error initializing %s: %v", context.Args()[0], err)

is far better to me..

Sure, will change as soon as I get home


Fix up the apt commands for install rqt in the Turtlesim tutorial.

Also try to make it a bit more clear which you should use in
which situation.
Signed-off-by: Chris Lalancette<EMAIL_ADDRESS>

This reverts #867 and #873.


Ikesus

Ikesus created by<EMAIL_ADDRESS>on 2018-05-10 16:01:48

<EMAIL_ADDRESS>replied, The word "ikesus" shows up in two songs I've found so far:Â  "Adidil eng kebesengei mak mo soiseb er a ikesus, kmlo soiseb er a ikesus el mo er a chang er a mengeremong" [Komorisang] and "Ikesus iss era desbedall ema ... " [Urung, although Bela Yukl sing different words].Â  I've learned that "i" in front of a word can add emphasis (e.g., itia) so is "ikesus" just an emphasis for "last night" (like, last night really rocked!)?

This probably can be closed since this is a somewhat common construction. @johnbent

Good suggestion @ChrisPerrette
Closing


incorrect parsing if value starts with number

if you try to parse string:
'{ key:23 value }'
you get json
{key:'23value'} instead of {key:'23 value'}
*removes space between number (23) and text (value)

you'll always need to escape strings I'm afrad


Could you provide some wikis

I am a beginner on this project, and it is true that some of third library I am not know before. The most important problem for me is that when I download this repo, open it with Android Studio (which vision is 2.3) , however it just building gradle project info. How could I continue ?
I just want to study this, but it seems that there is a steep hill for beginner.

Build tips

Sign key config

Place KeyStore file in some place, and create a TemplateKeyStore.properties, and config the KeyStore in it, include keystore, keystore.password, key.password, key.alias.

To clone all submodules, please use git clone --recursive git@github.com:Piasy/AndroidTDDBootStrap.git
use flavor to control server configuration, use build type to control log behavior

dev for development server, prod for production server
debug enable log and dev tools, disable crash and analytics, release against it