Unable to create Image from Git project

This is what i did

checkout the git repo (from master)
run the command: docker build -t rc/graphite-grafana .

once the image is done, i changed the docker-compose.json to refer to my new image. Now i run the command: make up. The containers are up, but there is no UI
if i use the kamon/graphite-grafana things work very smooth. Any help?
when i do make tail --> i dont see any errors.
infact when i take kamon/xxx image and rename it and use this renamed image the grafana ui comes up but i see a lot of errors in make tail
2018-06-06 14:01:08,313 INFO success: export-datasources-and-dashboards entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2018-06-06 14:01:19,604 INFO exited: export-datasources-and-dashboards (exit status 1; not expected)
2018-06-06 14:01:20,606 INFO spawned: 'export-datasources-and-dashboards' with pid 9662
2018-06-06 14:01:21,608 INFO success: export-datasources-and-dashboards entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2018-06-06 14:01:32,884 INFO exited: export-datasources-and-dashboards (exit status 1; not expected)
2018-06-06 14:01:33,886 INFO spawned: 'export-datasources-and-dashboards' with pid 9724

Try adding this:
    location /static {
      alias /opt/graphite/webapp/content;
    }

to nginx.conf at server listening port 81. Basically nginx is not serving the static content (js,css,img) from the proper folder.
Need to create a pr for this but short of time now.

Same issue, comment above doesn't help

Hi, This is working for us with the master version and the docker-compose.yml set to:
version: '2'
services:
  grafana_graphite:
    build: .
    container_name: kamon-grafana-dashboard
    ports:
      - '80:80'
      - '81:81'
      - '8125:8125/udp'
      - '8126:8126'
      - '2003:2003'
      - '8000:8000'
    volumes:
      - ./data/whisper:/opt/graphite/storage/whisper
      - ./data/grafana:/opt/grafana/data
      - ./log/graphite:/opt/graphite/storage/log
      - ./log/supervisor:/var/log/supervisor

You can also use docker-compose directly to build the service after this change: docker-compose build grafana_graphite then make up. Have you tried this way?

Yep, i was trying to do docker-compose build grafana_graphit then make up.
In nginx_error.log i'm see many errors like this:
2018/10/26 09:08:21 [crit] 24#24: *123 open() "/var/tmp/nginx/proxy/1/02/0000000021" failed (13: Permission denied) while reading upstream, client: <IP_ADDRESS>, server: _, request: "GET /public/build/vendor.4f5454f867a0cc2fe8dd.js HTTP/1.1", upstream: "http://<IP_ADDRESS>:3000/public/build/vendor.4f5454f867a0cc2fe8dd.js", host: "<IP_ADDRESS>:3000", referrer: "http://<IP_ADDRESS>:3000/"

Looks like the use and group of /var/tmp/nginx/proxy is wrong. The parent directory has nginx:nginx and subdirectories have www:www. Changed to nginx:nginx and grafana up and working correctly.

I too am having this problem.  I clone the repo, checkout master, do docker-compose build and the build fails on the wizzy install.  I modify the Dockerfile to install wizzy via git clone wizzy repo; npm install' npm link and now the build succeeds.  And docker-compose up -d appears to work.  But now the webpage fails to load.  I get two errors net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK) from login:18 and login:248.
I tried the chown above, but it had no effect.
Any ideas?  This is a great docker container.  But I need to modify grafana/custom.ini slightly.


2.12.0: Android client fails to display any popovers, like emoji selectors, channel context menu, maybe more

Summary
After 2.12.0 update, emoji icon wouldn't react on any message. Downgrading back to 2.11.0 immediately restored functionality.
Environment Information

Device Name: Xperia 10 III
OS Version: Android 11 AOSP
Mattermost App Version: 2.12.0
Mattermost Server Version: 8.1.6 self-hosted

Steps to reproduce
I think just installing 2.12.0 should kill all ability to emoji any messages.
In channel view, vertical "..." context menu also fails to appear.
Expected behavior
Popovers are able to appear.
Observed behavior (that appears unintentional)
See above.
Possible fixes
N/A

Hi @lkraav,

Do you see this issue also on our community server https://community.mattermost.com/?
Does uninstalling and re-installing the app help at all?

Hi @lkraav,
1. Do you see this issue also on our community server https://community.mattermost.com/?

N/A, but I now signed up on 2.11.0 so I can be ready to test an alternative server in the future.

2. Does uninstalling and re-installing the app help at all?

I had to uninstall 2.12.0, and re-installed 2.11.0 fresh. Is there a way to juggle between versions without uninstalls wiping my sign-in info? It's a real pain to sign back into everything.

Opened https://mattermost.atlassian.net/browse/MM-56582.

Do you see this issue also on our community server https://community.mattermost.com/? Does uninstalling and re-installing the app help at all?

@lkraav If you're open to testing these scenarios on the Mobile v2.12 version, it would be helpful data.

I ate the :frog: and did the up/down installation + sign-in dance again.

2.12.0: Community server 9.5.0 exactly the same result, no popovers appear.
2.11.0: Everything works everywhere. (Has worked regression-free through updates for at least a few years straight. :raised_hands: :tada:)

Additionally

2.12.0: iOS client popovers seem to work fine.

So this looks like an Android-specific regression :thinking:

Thank you!

Dear @larkox
I also has this problem.
Can I send you my logs in community server?
Here is message that I originally posted in another issue (#7771)
Thanks.

Me too. In my case, I also couldn't open reaction list (Long press reactions) and message menu (Long press messages).
My Environment:

Device: Xperia 5 IV (Japan docomo Edition)
Android: 13
App version: 2.12.0 (Build 6000499) and 2.12.0 (Build 6000501, Beta Edition)
Server version: 9.3.0 (Team Edition), 9.4.1 (Enterprise Edition Free) and 9.5.0 (Enterprice Edition, Mattermost Community Server)

@mkaraki Sure, feel free to contact me in the community server :smile:

Additionally

2.12.0: iOS client popovers seem to work fine.

So this looks like an Android-specific regression 🤔

Nope! I'm on iOS 17.2.1, App Version: 2.12.0, Mattermost Server Version: 9.2.2 (community) and have the same issues - no popovers, a lot of buttons does not work

Nope! I'm on iOS 17.2.1, App Version: 2.12.0, Mattermost Server Version: 9.2.2 (community) and have the same issues - no popovers, a lot of buttons does not work

Very interesting, we have the same iOS phone here where everything works. What could be the environment difference?

@larkox
In my case:

I tried clear storage and re-install stable edition of app from Google Play Store. But not works
I also tried Mattermost Beta App from Google Play Store. But it not works.
I tried 3 server. Docker's community version, Ubuntu Repo's Enterprise version, and Community Server. all of them are not working
From Google Play Store.

In my case:

All same here.
I also inspected 2.12.0..2.11.0 commit log and literally nothing stood out as a change that could have this effect, but I'm not super familiar with this codebase or packaging pipelines.

For me (iOS 17.2.1, App Version: 2.12.0:
1 .
The issue appeared with the last update App Version: 2.12.0 on the Apple iOS App Store
Installation and reinstallation did not help. Since I'm looking more or less daily for updates I'm sure the issue appears only with the last update.
My original installation was configured for accessing two servers
a)
Mattermost Version: 9.2.2
Database Schema Version: 113
Build Number:<PHONE_NUMBER>
b)
Enterprise
Mattermost-Version: 8.1.7
Database Schema Version: 113
Build-Nummer:<PHONE_NUMBER>
After uninstalling and installing again it's not longer possible to configure a second server so that I'm using currently only server a)

Not sure what you mean

From the Apple iOS App Store

In my Android, I set Window animation scale and Transition animation scale in developer option to x1 (it must be default) and resolve this issue.

me:
By default I“m using the setting reduced animations in iOS Accessibility. Setting this to the default -> full animations is removing the issue after restarting the app.
Cheers
Steffen

Am 23.01.2024 um 09:43 schrieb Daniel Espino García @.***>:
Is there any chance anyone else suffering of this problem has some accessibility animation setting different from the default? I was able to reproduce in both iOS and Android by "removing the animations" options, but I want to verify this is the root cause for everyone.

Disabling Reduce Motion and relaunching the app fixed the symptoms on iPhone 17.2.1. Re-enabling the setting brought the symptoms back. iPhone is unusable to me in this state however, reduced animation is an important feature to me.
As an experiment, I tested 2.12.0 fresh install, it works perfectly fine on an iPad Pro with iOS 17.2 and Reduce Motion enabled. Unlike my iPhone, the iPad never had MM app installed, which may or may not make any difference.

I confirm the workaround (disabling reduce motion) works on iOS 15.8 / app 2.12.0 (tested with servers on 9.3.0 and 8.1.6).

I also confirm the workaround on iOS 17.3 with MM 2.12.0
After the MM update, I could only access the last server I had been using - I wasn't able to switch between them using the filebox icon top left as usual (I don't know if it's a filebox - it's what my ancient eyes perceive it as, but it might be a rack of servers?).
If I clicked on either that 'switch servers' icon or the "+" symbol, nothing happened other than a sort of screen flick that went nowhere (as if the app was trying to give me access to something, but failing).
When I logged out of that one server I could access, MM took me into the logged-in chat in one of the other two.  Logging out of that one took me to the third.  Logging out of that one took me to a screen where I had to set up a new server from scratch (I logged into the one I use the most often).  Still the same symptoms however - just not possible to switch servers.
I tried the workaround - disabled reduce motion - restart MM app.
Now it all works again - and also had 'remembered' my three servers.  I've logged into all three and all is good - although I really would like to reenable reduce motion!

I pushed a PR that I expect will make it to 2.13.
This PR makes so the bottom sheet still shows animations. I know that is not the best, and I hope we can spend time addressing this in a proper way.
Also, I would appreciate that if you see any other weirdness around animations when using these settings you create a ticket. We will look into it :smile:


should we have the locations and/or subjects on off options?

This is for both gh and the skins:
Having an on/off for the locations field just messed me up for awhile. I feel like we should just expect the user to edit the config-nav to determine which pages show up and which don't.
I guess there might be some need to limit the build time this way?
If that is the case, let's have the default theme.yml always have them turned on.
Also, you still have to delete the about from the nav so maybe remove that on/off as well?

Evan and I just tested this and switching it to "off" does reduce the build time... slightly. It is confusing that the user has to edit both the theme and config-nav, but documentation explains this, and our tutorial videos show both steps in one video. What if we make the comments clearer in the theme to explain this extra step?
I think subjects should be on and locations off, but it seems worth removing the on/off for the about page for gh because we've already taken it out of the skin too.

with subjects/locations, would we still even have them as separate pages when its updated to "cloud" page? Then the on/offs become irrelevant since the config of the cloud will drive what gets built.
the about page on/off just removes the button on the info-graphic layout with link to the about page (comes from collectionbuilder-cdm-template where @dcnb insisted it was necessary!)

I think we could change the logic to remove the button to be based on the
nav-config. My reasoning behind this and many other of these decisions is
to make sure the sites that are auto generated are as problem free as
possible. Taking unnecessary options away from the user and anticipating
problems when deploying will help the sites look better and prevent users
from abandoning the tool because they can't get certain options fixed.
I think locations should be left on. and that we should indicate in a
trouble shooting doc and the documentation that turning it off will reduce
build time. That's an advanced user issue -- I think we should be designing
for the less advanced -- one who will be more and more encouraged to use
the tool if everything just works.
On Tue, Feb 11, 2020 at 10:22 PM EvanWill<EMAIL_ADDRESS>wrote:

with subjects/locations, would we still even have them as separate
pages when its updated to "cloud" page? Then the on/offs become irrelevant
since the config of the cloud will drive what gets built.
the about page on/off just removes the button on the info-graphic
layout with link to the about page (comes from
collectionbuilder-cdm-template where @dcnb https://github.com/dcnb
insisted it was necessary!)

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/CollectionBuilder/collectionbuilder-gh/issues/20?email_source=notifications&email_token=ACTM4GOI67PYU2NYADG64K3RCOISJA5CNFSM4KTSRVYKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELPSNXI#issuecomment-585049821,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACTM4GPXPTVTNRAMO4P4EATRCOISJANCNFSM4KTSRVYA
.

For about on/off, yeah, probably better to use config-nav--i just a bit nervous about relying on config-nav (currently used for the data markup and downloads too), since it hides away configuration which is a bit difficult to figure out--if you just changed your about page or map page name it breaks things, and it wouldn't be very obvious why. we can document it, but obviously... anyway, not sure the best solution, just trying to think how to balance the hiding and exposing options.

I see the issue ...
Let's get a development meeting for CB on the books to discuss this and
other issues. I've got the two murkutu skins (one based on cdm and one on
gh) going -- and a new collection of images to incorporate. So we can
discuss skin building too.
On Wed, Feb 12, 2020 at 11:02 AM EvanWill<EMAIL_ADDRESS>wrote:

For about on/off, yeah, probably better to use config-nav--i just a bit
nervous about relying on config-nav (currently used for the data markup and
downloads too), since it hides away configuration which is a bit difficult
to figure out--if you just changed your about page or map page name it
breaks things, and it wouldn't be very obvious why. we can document it, but
obviously... anyway, not sure the best solution, just trying to think how
to balance the hiding and exposing options.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/CollectionBuilder/collectionbuilder-gh/issues/20?email_source=notifications&email_token=ACTM4GJMIKC4IUEQKNYRQP3RCRBSRA5CNFSM4KTSRVYKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELR7MVA#issuecomment-585365076,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACTM4GIRW57YXVEMHTV2PJDRCRBSRANCNFSM4KTSRVYA
.


Engine placement usability improvements

 yarden.zamir on Discord says

Currently placing an engine out of alignment breaks it and it's hard to place them correctly, we want auto alignment at least, and maybe more to improve user experience. Either implemented on the mod side or on our side through script

 yarden.zamir on Discord says

Even if it is through the mod I expect it will take a bit so we should make a temp script solution

 yarden.zamir on Discord says

listen to block place event for engine

check space in front and behind (Note that it's not always the player front and behind directions as it already auto connects to shafts)
check orientation of first neibor engine found and change self orentation to match

 yarden.zamir on Discord says

contributors/code pending/contributors/code

 yarden.zamir on Discord says

The shaft alignment likley happens after the block place event so the best aproach might be to use schedule in ticks to check a tick after

 deepacat on Discord says

Probably similar to A&B's dynamo script??

 yarden.zamir on Discord says

Did not know they have one, lets steal it then

 deepacat on Discord says

Ehhhh not sure it's exactly what your looking for

 deepacat on Discord says

Engines work a different without snapping but it'd be good to look at to get an idea of how to rotate stuff according to directions with kjs

 deepacat on Discord says

 deepacat on Discord says

// Block Placement
function opposite(face) {
if (face.equals('down'))
return 'up'
if (face.equals('east'))
return 'west'
if (face.equals('west'))
return 'east'
if (face.equals('north'))
return 'south'
if (face.equals('south'))
return 'north'
return 'down'
}
BlockEvents.placed(event => {
let block = event.getBlock()
// Reverse placed Dynamos on Sneak
if (event.getEntity() == null)
return
if (block.getId().startsWith('thermal:dynamo')) {
    let properties = block.getProperties()
    if (!(event.getEntity().isCrouching()))
        properties['facing'] = opposite(properties['facing'].toString())
        block.set(block.getId(), properties)
    Direction.ALL.values().forEach(face => {
        if (face.toString().toLowerCase() != opposite(properties['facing'].toString()))
            return
    });
}

})```

 yarden.zamir on Discord says

Ah no th ta the easy part. We need to align to shafts and shaft related devices

 yarden.zamir on Discord says

Which I expect will be easiest with a scheduled delay then check the orientation as I wrote

 yarden.zamir on Discord says

But that does save us some writing

 deepacat on Discord says

Yeah for sure

 deepacat on Discord says

Also I just realized this is my version of the script I changed a little and ported to 1.19 for my pack lol

 kikis2111 on Discord says

hey can you explain the second bullet point here a bit more

 kikis2111 on Discord says

you mean like if there is a shaft in front or behind then match the engine's spin to the shafts spin either clockwise or anti

 kikis2111 on Discord says

and then the third bullet point means if there is an engine adjacent instead of a shaft then match too that spin too?

 yarden.zamir on Discord says

at block place should do schedule in ticks for one tick later, at that point the engine will auto align to the shaft. then figure out what is front and what is back and check for neighbor engines and. their spin


React 0.14 + react-dnd 2.0

This is awesome! Thanks a ton @izziaraffaele. I'd been wanting to bump up dep versions but couldn't find the time. :beers:
I see you've removed the babel transform and instead added  <script type="text/babel" src="main.js"></script>. How does text/babel work? I probably might have missed news on that one.

@prakhar1989 the JSX transformer was deprecated in favor of babel. Babel has an in-browser transformer that I included in the html as well that acts more or less as the old JSX transformer.
For more info https://github.com/facebook/react/blob/master/CHANGELOG.md#react-tools--babel

Great! Thanks for the clarification! I'll test this branch over the weekend, and release a new version on NPM. Thanks for putting this together again. Much appreciated :+1:

awesome! :beers:


Pjax support

(I know, you probably want to kill me for being so annoying, I understand it :stuck_out_tongue_winking_eye:  )
I'm trying to add Pjax support to the system, but the insert code in CommentFormWidget, even after changing the code to:
        if ($CommentCreateForm->load(\Yii::$app->getRequest()->post())) {
            if ($CommentCreateForm->validate()) {
                if ($CommentCreateForm->save()) {

                    if (\Yii::$app->getModule(Comments\Module::NAME)->Pjax != TRUE)
                    {
                        \Yii::$app->getResponse()
                            ->refresh(sprintf($this->anchorAfterUpdate, $CommentCreateForm->Comment->id))
                            ->send();

                        exit;
                    }
                }
            }
        }

Because it is executed with each comment already created, the only solution I've been able to find it's to move this code into the commentListWidget, where it's only executed one time AND also before loading the entire list (one more complication, because this code inserts the comment after loading all the comments).
Does come to your mind some other solution?

There is a great solution. Do not use pjax.
This extension is an implementation of a bad pattern. I do not recommend using it.

If an extension is required to alter the code for yourself - it's a bad extension. If tomorrow I want to add some dynamics? I will again adjust to pjax.

Indeed I see things that I dont like in pjax, this is the first time I have ever used it and was curious about it, I'll check different approaches.

The best option - use the framework (eg angular). But a very small percentage of developers are able to use js frameworks. Therefore, for the realization of ajax should use jquery. For forms processing has excellent ext jquery form.


Support SQLite3 Repos

Is your feature request related to a problem? Please describe.
Selecting sqlite3 as database adaptor fails during migration. The first error in lib/beacon/migrations/v001.ex is at line 89, due to the exsqlite3 library's lack of support for alter table - in turn probably related to sqlite3 DDL quirks, but probably not necessary to use 'alter table' for the very first migration anyway.
More concerning are the unsupported constraint checks, which may or may not be supported by sqlite3.
Describe the solution you'd like
It would be nice if sqlite3 was supported without any ceremony since it is a solid few-moving-parts database solution for a dynamic website.
Additional context
To get sqlite3 support working in my project, I copied the v001 and v002 migration steps into my own migration, moved the alter table add statements into the create table blocks immediately above them, commented out two sets of erroring constraints. As a proof of concept that sqlite3 support could be made to work by refactoring the SQL and perhaps moving constraints into ecto, this seems reasonably compelling.

Hey @aquap we'd like to support sqlite. One project that has a similar setup is https://github.com/oban-bg/oban/tree/main/lib/oban/migrations, which was the initial inspiration for our migrations.
Were you able to execute tests or use beacon sites or admin at all?

Nice to hear @leandrocp.
I was able to get the migrations up when I pushed the field definitions into the create table stanzas, and as I mentioned I've not investigated the constraints situation yet.
I ran into a further blocker mentioning an unsupported distinct across two

Hey @aquap sorry for the late response. The first one ** (Ecto.QueryError) DISTINCT with multiple columns is not supported by SQLite3 in query: I'd expect some issues since that query is a bit more complex, but the other one is a bit of a surprise for me because that's a relatively simple query.
Here's the first query for reference:
SELECT
    b0."id",
    b0."site",
    b0."schema_version",
    b0."page",
    b0."page_id",
    b0."path",
    b0."title",
    b0."format",
    b0."extra",
    b0."event_id",
    b0."inserted_at"
FROM
    "beacon_page_snapshots" AS b0
    INNER JOIN (
        SELECT
            DISTINCT ON (sb0."page_id") sb0."id" AS "id",
            sb0."site" AS "site",
            sb0."event" AS "event",
            sb0."page_id" AS "page_id",
            sb0."inserted_at" AS "inserted_at"
        FROM
            "beacon_page_events" AS sb0
        WHERE
            (sb0."site" = 'dev')
        ORDER BY
            sb0."page_id",
            inserted_at DESC,
            CASE
                WHEN event = 'published' THEN 0
                ELSE 1
            END
    ) AS s1 ON b0."event_id" = s1."id"
WHERE
    (b0."site" = 'dev')
ORDER BY
    b0."title" OFFSET 0

I believe it doesn't work due to DISTINCT ON, but that statement is necessary to return the "latest published snapshot", ie: the latest page data that was published. I'm not sure we can replicate the same query on sqlite but we can create variants of list_published_pages that does the job on the Elixir side whenever an adapter is not capable of querying the data, for eg:
def list_published_pages(site, opts \\ []) do
  case repo(site).__adapter__() do
    Ecto.Adapters.Postgres -> # pg compatible query
    _ -> # a simple query that returns the data to Elixir and then use Enum/whatever to filter the data as the query would
  end
end


Is there a helper for 'display'?

I have this equivalent CSS:
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -moz-flex;
display: -webkit-flex;
display: flex;

I was hoping there was a helper 'display' that would work like this:
display('flex')

@joetidee We don't provide this (or most other prefix only helpers) because most of the JS-in-CSS libraries take care of vendor prefixing on their side.

ok, thanks.


Data load dialog responds too soon.

after you select a data set to load in the Data Management Dialogue, the system starts to load and bang the end of the loading dialogue is up.
This should only happen at the very end. FInd out why.

Moved dialog execution to the message complete response
fixed


Unable to DBCluster "aurora-mysql" and assign instances

What happened?
Hi,
i'm currently trying to setup an aurora cluster with "aurora-mysql" engine and add some instances to it.
The creation of the db cluster seems to work  as expected but when i try to assign a rdsinstance to it i'm getting errors.
The error shown for the rds instance is the following
create failed: cannot create RDS instance: InvalidParameterCombination: The requested DB Instance will be a member of a DB Cluster. Set master user password for the DB Cluster.

The interesting part is that i have set the masterUserPasswordSecretRef in the db cluster but still see this error.
I have also tried to set the masterPasswordSecretRef in the instance but this leads also to the same error.
So currently it seems that its not possible to create a DBCluster with instances.
How can we reproduce it?
dbcluster.yaml
apiVersion: rds.aws.crossplane.io/v1alpha1
kind: DBCluster
metadata:
  name: example-rdsmysql-aurora
spec:
  forProvider:
    region: eu-central-1
    engine: aurora-mysql
    masterUsername: admin
    masterUserPasswordSecretRef:
      name: dbcluster-pwd
      namespace: crossplane-system
      key: password
    databaseName: auroradb
  writeConnectionSecretToRef:
    name: aurora-secrets
    namespace: default
  providerConfigRef:
    name: aws-provider-config

---
apiVersion: v1
kind: Secret
metadata:
  name: dbcluster-pwd
  namespace: crossplane-system
type: Opaque
data:
  password: dGVzdFBhc3N3b3JkITEyMw== # testPassword!123

instance.yaml
apiVersion: database.aws.crossplane.io/v1beta1
kind: RDSInstance
metadata:
  name: example-rdsmysql
spec:
  forProvider:
    region: eu-central-1
    dbInstanceClass: db.t3.small
    engine: aurora-mysql
    skipFinalSnapshotBeforeDeletion: true
    dbClusterIdentifier: example-rdsmysql-aurora
  providerConfigRef:
    name: aws-provider-config

What environment did it happen in?
Crossplane version: 1.3.1
Cloud provider or hardware configuration - aws-provider v0.19.0
Kubernetes version (use kubectl version) - v1.21.2-eks-0389ca3
Kubernetes distribution (e.g. Tectonic, GKE, OpenShift) - EKS
OS (e.g. from /etc/os-release) - Amazon Linux

Just tested if i can add a instance using the aws cli.
Seems to work with this command. So it seems that this is a bug in the controller
 aws rds  \
create-db-instance \
--db-cluster-identifier example-rdsmysql-aurora \
--db-instance-class db.t3.small \
--db-instance-identifier example-rdsmysql-aurora-instance-1 \
--engine aurora-mysql

This issue should be a priority in my opinion.  The ability to provision an Aurora resource is completely broken

it might be that this part should be skipped for aurora DBClusters:
https://github.com/crossplane/provider-aws/blob/f7e4da1360b0440614401705346b3852dfd7f4d3/pkg/controller/database/rdsinstance.go#L161-L170
There's a new DBInstance type, which might not have the same issue:
https://github.com/crossplane/provider-aws/blob/master/pkg/controller/rds/dbinstance/setup.go#L89-L103
could you try this resource instead?
https://github.com/crossplane/provider-aws/blob/master/examples/rds/dbinstance.yaml
If it works, we should update the examples/rds/ to have a aurora cluster w/ a matching db instance.

please check: https://github.com/crossplane/provider-aws/pull/852

@haarchri
seems like this is still not yet released. so i'm unable to test it.
But at least the example looks promising. Maybe you can add some kind of grouping to example so its clear what it related to the cluster and what is a single instance or something else.

@robertgates55  it is in master merged via #852

Sure - I saw the merge to master, but when will that be available in a release?
V0.19.1 doesn't contain this, for example

please raise this question in Slack - thanks
@eloo  can we close the issue ?


Ability to auto assign permissions based on selected role

Suggestion/Feature request

Is your feature request related to a problem? Please describe:
No it's not related to a problem. Would just be nice to be able to have permissions assigned based on the role selected when joining the mission so they don't have to manually be changed if someone changes roles.
Describe the solution you'd like:
Maybe an option like the ones in mission_params.hpp. Not a coder at all, just copying what I see there:
class ManuallySetPermissions {
title = $MANUALLY_SET_PERMS;
values[] = {1, 0};
texts[] = {$STR_PARAMS_ENABLED, $STR_PARAMS_DISABLED};
default = 1;
};
So in that case it would be true and the permission system would function like it does now. If you set it to 0 it would hide the in-game Permissions menu and you would have to edit values somewhere in the mission files to define which role has which permissions. For example:
Role=CAS Pilot // Light Vehicles=false // Heavy Vehicles=false // Air Vehicles=true // Construction=false // Recycle=false // Others=true
Additional context:
Our Liberation server has the revive settings so that any player can revive a downed teammate with a first aid kit. It kind of made the Medevac roles irrelevant. We renamed the roles in mission.sqm to Transport Pilot / Transport Pilot / Transport Engineer / Transport Engineer & changed the former medic traits to engineers so they could use toolkits to repair and defuse. We decided to have dedicated transport and disabled HALO and Mobile Respawns. Sometimes we will have players do Logistics with a chopper and go pick up supplies from factories. Eventually they get bored and switch to a ground team role and go attack sectors with others. They die and then build and fly a chopper out to the sector by themselves and just leave it there instead of needing one of the transport pilots or engineers to fly or drive them out. If I see that happen I pull their permissions for build and flight. Eventually they get back on again to do logistics and need those permissions back. It takes a lot of moderation on our end. Would be nice if all they had to do was a quick abort to role selection to automatically get the permissions for the role they are trying to play.

Will be considered for 0.96.8, but not for 0.96.7a anymore.

No worries, I know you have your hands full. Thanks for providing this mission, I'm a big fan. Beyond ecstatic you're even considering it, thanks again!

Thinking about extending the permissions parameter with another option, so you've

Enabled
Slot based
Disabled

Would just make it necessary to "keep" the current recommendation of the troop organization concerning 2 squads, medevac, logistic, etc. if someone wants to use a slot based system. Or has more to tweak for individual changes, of course.

Makes sense. Well I leave it to the professional. Looking forward to these updates, they look awesome!


Handle boundaries when matching in substrings

Some of our existing matching routines use the start/endIndex of the input, which is basically never the right thing to do.
This change revises those checks to use the search bounds, by either moving the boundary check out of the matching method, or if the boundary is a part of what needs to be matched (e.g. word boundaries have different behavior at the start/end than in the middle of a string) the search bounds are passed into the matching method.
Testing is currently handled by piggy-backing on the existing match tests; we should add more tests to handle substring- specific edge cases.

@swift-ci Please test

@swift-ci Please test

Benchmarks show mostly mild churn with some increases, as we might expect from additional bounds checking. Something seems off with the EmojiRegex_All benchmark, however, which is showing a nearly 100% increase in execution time.
=== Regressions ======================================================================
- EmojiRegex_All                          126ms	63.9ms	62.2ms		97.3%
- EmailRFCNoMatches_All                   166ms	140ms	26.6ms		19.0%
- symDiffCCC_All_Scalar                   58.3ms	47.5ms	10.8ms		22.7%
- symDiffCCC_All                          58.4ms	47.7ms	10.8ms		22.6%
- EmailRFC_All                            70.6ms	65.6ms	4.99ms		7.6%
- IntersectionCCC_All_Scalar              22.3ms	20.6ms	1.68ms		8.1%
- IntersectionCCC_All                     22.1ms	20.6ms	1.48ms		7.2%
- EmailLookaheadNoMatches_All             40.6ms	39.3ms	1.32ms		3.4%
- BasicRangeCCC_All                       10.7ms	9.66ms	1.08ms		11.2%
- BasicRangeCCC_All_Scalar                10.7ms	9.69ms	1.03ms		10.7%
- CaseInsensitiveCCC_All                  11.4ms	10.4ms	1.01ms		9.7%
- BasicCCC_All                            10.2ms	9.22ms	1e+03µs		10.8%
- CaseInsensitiveCCC_All_Scalar           11.5ms	10.5ms	997µs		9.5%
- BasicCCC_All_Scalar                     10.1ms	9.15ms	983µs		10.7%
- DiceRollsInText_All_Scalar              43.4ms	42.6ms	783µs		1.8%
- SubtractionCCC_All_Scalar               20.9ms	20.3ms	667µs		3.3%
- SubtractionCCC_All                      20.9ms	20.3ms	600µs		3.0%
- EmailLookahead_All                      41.5ms	41.1ms	322µs		0.8%
- EmailLookaheadNoMatches_All_Scalar      24.9ms	24.7ms	194µs		0.8%
- EmailBuiltinCharacterClass_All          10.9ms	10.8ms	150µs		1.4%
- NotFound_All                            5.97ms	5.82ms	148µs		2.5%
- BasicBuiltinCharacterClass_All_Scalar   6.29ms	6.19ms	102µs		1.6%
- IPv4Address                             2.62ms	2.52ms	93.7µs		3.7%
- IPv4Address_Scalar                      2.3ms	2.22ms	79.3µs		3.6%
- LiteralSearch_All_Scalar                4.5ms	4.43ms	70.9µs		1.6%
- DiceNotation                            5.21ms	5.15ms	58.4µs		1.1%
- EmailLookaheadList_Scalar               5.18ms	5.13ms	49.6µs		1.0%
- HangulSyllable_First                    2.72ms	2.69ms	30.7µs		1.1%
- HangulSyllable_First_Scalar             2.27ms	2.24ms	27.3µs		1.2%
=== Improvements =====================================================================
- CompilerMessages_All                    93.6ms	99.6ms	-6.01ms		-6.0%
- CompilerMessages_All_Scalar             76.4ms	81.9ms	-5.47ms		-6.7%
- EmailRFCNoMatches_All_Scalar            125ms	127ms	-2.51ms		-2.0%
- EagarQuantWithTerminal_Whole_Scalar     835µs	1.4ms	-564µs		-40.3%
- EagarQuantWithTerminal_Whole            837µs	1.39ms	-552µs		-39.7%
- EmailRFC_All_Scalar                     47.1ms	47.5ms	-405µs		-0.9%
- GraphemeBreakNoCap_All_Scalar           3.51ms	3.83ms	-326µs		-8.5%
- ReluctantQuantWithTerminal_Whole_Scalar 5.33ms	5.6ms	-263µs		-4.7%
- GraphemeBreakNoCap_All                  4.22ms	4.39ms	-167µs		-3.8%
- LiteralSearchNotFound_All               5.15ms	5.29ms	-137µs		-2.6%
- AnchoredNotFound_First                  9.3ms	9.41ms	-118µs		-1.2%
- HangulSyllable_All_Scalar               5.15ms	5.26ms	-114µs		-2.2%
- Words_All                               14.2ms	14.3ms	-95.9µs		-0.7%
- MACAddress_Scalar                       2.63ms	2.67ms	-46.7µs		-1.7%
- Lines_All                               1.89ms	1.93ms	-38.8µs		-2.0%

@swift-ci please test


Missing a parenthesis

I think this is the right place for the missing closing parenthesis.

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@tonysmit PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


CMSApp.get_urls can not return URL patterns

Summary
One would expect that it should also be possible to create an apphook using the get_urls() method such as:
class MyApp(CMSApp):
    name = _("My App")

    def get_urls(self, page=None, language=None, **kwargs):
        return [
            url(r'^$', MyListView.as_view()),
            url(r'^(?P<slug>[\w-]+)/?$', MyDetailView.as_view()),
        ]

instead of returning a list of urlpatterns in a file.
Looking at function cms.appresolver.get_app_urls() this behavior apparently was intended, but not yet documented. Also, the first yield statement returns a list, while the second returns a single URL pattern.
Fixes #
Now both yield statements return a list, as intended.

Coverage remained the same at 82.604% when pulling aa1b2347679baeb70b9564a7753355f272dc0167 on jrief:fixes/CMSApp.get_url-return-patterns into b252f53d1ab38cf2d5947ec9a703982464c306bf on divio:release/3.4.x.

@yakky If you use the legacy pattern, for instance
class MyApp(CMSApp):
    name = _("My App")
    url = ['myapp.urls.my_view']

with myapp/urls/my_view.py containing the url patterns from above, then in the patched function get_app_urls() only the first yield is ever executed. Hence that patch in my opinion is safe.
If you agree to merge, I'll add a note to the docs and inform about that alternative possibility.

Coverage remained the same at 82.604% when pulling 5bc8846949cfbef9db38b65d7243c011ee9da76d on jrief:fixes/CMSApp.get_url-return-patterns into b252f53d1ab38cf2d5947ec9a703982464c306bf on divio:release/3.4.x.

Please ignore the one failed unit test, there was a timeout.
For details look here: https://travis-ci.org/divio/django-cms/jobs/212422539

@yakky while running some tests, the database died, so it's not a matter of failing unit tests:
_mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')

could you please restart the build or just ignore the failing tests.

@yakky added another test, but imho that yield statement will never be reached anyway

Coverage remained the same at 82.604% when pulling f8686d961c0d479a08ab6e38a462bd9606959709 on jrief:fixes/CMSApp.get_url-return-patterns into b252f53d1ab38cf2d5947ec9a703982464c306bf on divio:release/3.4.x.

Coverage remained the same at 82.604% when pulling ce52e571d0517d234362e336b4d06ff9674aa55d on jrief:fixes/CMSApp.get_url-return-patterns into c9fd903c8849f174ba8ccff7d89896e51a5b5cef on divio:release/3.4.x.

Hello @jrief,
Thanks for the contribution.
Please add some unit tests to the test_apphooks.py file.

Docs look good, however tests are required. Thanks!

Coverage increased (+0.08%) to 82.688% when pulling 6b205f443e2fd9e46c9c9d1eb885132ee6809b88 on jrief:fixes/CMSApp.get_url-return-patterns into c9fd903c8849f174ba8ccff7d89896e51a5b5cef on divio:release/3.4.x.

This feature now has its own unit test.
So hopefully it can be merged soon.

@czpython since tests have been added, label needs tests can be removed.

Thanks @jrief !

Merged manually in c986ee7f6e782a84efdc55cec0333a9b4ebbe688


Control Number of Records in Collection

User story.
As a CLI or HTTP user, I can do request a particular number of records be returned from the mock server, so that I can test how my frontend application looks with multiple records, odd numbers of records, and a few different values.
Is your feature request related to a problem?
Users need more than just a single item in a collection.

I am +1 on having more dynamic data generated and having that controlled by configuration and/or command line switches. I use the mock server when working on our SDKs and I'm alarmingly confident at how well they work with one record returned! -- @lornajane

Let's let users pick, regardless of if they're using hosted mocking or CLI.
Describe the solution you'd like
Default behavior continues to function exactly as it does now.
If Prefer: records=X appears, the first time an items: {} is found it will repeat the number of records in that array to match the number provided.
There may well be multiple items: {}, but we pick the "first", which in JSON would be closest to the root, and also in top to bottom order.
{
  "links": {
    "self": "http://example.com/articles/1"
  },
  "data": [ ... ],
  "related": [ ... ],
}

With a schema covering this, it's the data that would be used.
This isn't going to work for everyone, but it will help a lot of people until a more comprehensive idea can be thought up.
#20 was outstanding for a year, so let's do the quick and dirty approach now to serve those who need it sooner rather than later.
Additional context
A few ideas were discussed over in https://github.com/stoplightio/prism/issues/20 but this issue is to track the chosen implementation.(related to Zendesk ticket #5164)gz#5164

Heads up, HAL puts some of _links into an array:
{
    "_links": {
        "self": { "href": "/orders" },
        "curies": [{ "name": "ea", "href": "http://example.com/docs/rels/{rel}", "templated": true }],
        "next": { "href": "/orders?page=2" },
        "ea:find": {
            "href": "/orders{?id}",
            "templated": true
        },
        "ea:admin": [{
            "href": "/admins/2",
            "title": "Fred"
        }, {
            "href": "/admins/5",
            "title": "Kate"
        }]
    },
    "currentlyProcessing": 14,
    "shippedToday": 20,
    "_embedded": {
        "ea:order": [{
            "_links": {
                "self": { "href": "/orders/123" },
                "ea:basket": { "href": "/baskets/98712" },
                "ea:customer": { "href": "/customers/7809" }
            },
            "total": 30.00,
            "currency": "USD",
            "status": "shipped"
        }, {
            "_links": {
                "self": { "href": "/orders/124" },
                "ea:basket": { "href": "/baskets/97213" },
                "ea:customer": { "href": "/customers/12369" }
            },
            "total": 20.00,
            "currency": "USD",
            "status": "processing"
        }]
    }
}

With just HAL being effected so far I'd say lets carry on with this approach.
Solutions can be made to add support for HAL records or more custom work later.

This will be useful to us to allow us to test an array with 0 items, 1 item (current) and 2+ items which greatly increases our testing coverage.
Adding 'Prefer: records=X ' works for us and at the moment we aren't using HAL so I can't provide too much feedback on requirements here but can see it getting quite complex so I would imagine the best approach is to add the ability to control the count first and then add HAL support in a later release.

Ok, the switch is sorted, but for the actual implementation do we think "Look for the first+top array in the schema and assume that's where the records live" is comprehensive enough to proceed?

If you are asking how to handle models that have multiple arrays then I would say that the number governs them all, if there are three arrays in the model then you would generate x number of items (where x is the number specified in the switch) within each array.

I was wondering how we could find the array which is supposed to be considered the array of records. As I mentioned, it could be
[ { ... } ]

or
{
  "data": [ { ... } ]
}

or
{
  "links": [ { ... } ],
  "data" [ { ... } ]
}

Clearly from these examples it gets pretty tricky to say "make any array suddenly have 100 things." because 100 links is probably not what you're looking for.
Also there's more complex examples like JSON Schema supporting tuples.
{
  "type": "array",
  "items": [
    {
      "type": "number"
    },
    {
      "type": "string"
    },
    {
      "type": "string",
      "enum": ["Street", "Avenue", "Boulevard"]
    },
    {
      "type": "string",
      "enum": ["NW", "NE", "SW", "SE"]
    }
  ]
}

We'd want [1600, "Pennsylvania", "Avenue", "NW"] not 100 random strings.
So, we simply cannot do every array in the response, but we can try and pick one.
I mentioned first/top which would pick "links" over "data" in that one example, but we could easily put this in documentation to say "it's going to pick the first/top array" so you can switch the order of "links, data" to "data, links" and you're all set.
How's that sound folks? @XVincentX @axicorp-scottedwards?

I would do it for arrays of objects only, this is the usecase that works for me and given you already have logic for generation of these objects creating a sensible list of randomised data would work e.g. for your second example i would have defined an address object and then defined the array as an array of addresses, and would then expect that the system would generate 100 random address using your existing generation logic (respects enums, regex formating and faker).

Hi @philsturgeon @XVincentX  @axicorp-scottedwards
do we have any ETA on this one? we need the ability to specify/limit the maxEntries for random responses since some of our mocks give 10s of MBs of response and way too much time.

@axicorp-scottedwards the difficult tightrope we have to walk with prism is not creating any functionality that imposes “the right way” to design an API. We lean on the HTTP Standard for a reasonable default when something is unclear, but we’re not going to pick and choose how people should form their JSON requests or responses, even if one approach seems superior to us. So, trying to keep supporting the examples JSON Schema provide in their documentation working would be an important thing for us.
So far we have:

first+top array
all arrays of objects
Look for a default envelope like “data” and let users configure it

Do we have any other options for consideration?

Could you have a header that allows the specification of a JSON path plus the number to allow the request to define and have it as a delimited list or some form of an array to support doing this for multiple arrays?
For example, you could define each of your examples as follows:
.:10
[ { ... } ]
data:10
{   "data": [ { ... } ] }
links:2,data:10
{   "links": [ { ... } ],   "data" [ { ... } ] }
Another option could be to define an x- tag in the spec that specifies the upper and low bounds for the generation and it would pick a random number between this for each call? For example lower=1 and upper=10 then it would randomly return between 1 to 10 records in the array, or you could set it to lower=5 and upper=5 and you would always get 5.

Another option could be to define an x- tag in the spec that specifies the upper and low bounds for the generation and it would pick a random number between this for each call? For example lower=1 and upper=10 then it would randomly return between 1 to 10 records in the array, or you could set it to lower=5 and upper=5 and you would always get 5.

This is being done in #1889. If setting this globally in the API description works for you then you're all set.

Closing this ticket as resolved.
We've added x-json-schema-faker support in https://github.com/stoplightio/prism/pull/1899 which allows you to specify min-items and max-items.
For more information, see https://meta.stoplight.io/docs/prism/ZG9jOjk1-http-mocking#dynamic-response-generation.


[Feature Request] use variable name for anonymous functions assigned to a variable/const

Problem description
Having for example the following code:
// complexity.ts
const iAmAnArrowFunction = (a: number, b: number): number => {
    return a + b;
};

function iAmAFunction(a: number, b: number): number {
    return a + b;
}

(() => {
    const a = 1;
    const b = 2;
    console.log(iAmAnArrowFunction(a, b));
    console.log(iAmAFunction(a, b));
})();

then npx cyclomatic-complexity complexity.ts will output:
complexity.ts: 4 (OK)
  anonymous: 2 (OK)
  anonymous: 1 (OK)
  iAmAFunction: 1 (OK)
  global: 0 (OK)
No issues found

Technically this is correct, as the functions are indeed anonymous functions, however it is difficult to determine which of the complexities applies to which function, especially if your file consists of many anonymous functions.
Feature Request / Idea for solving above mentioned problem
This feature requests asks to name anonymous functions assigned to variables/consts (such as iAmAnArrowFunction) by the name of this variable.
The output of npx cyclomatic-complexity complexity.ts would then look like this:
complexity.ts: 4 (OK)
  anonymous: 2 (OK)
  iAmAnArrowFunction: 1 (OK)
  iAmAFunction: 1 (OK)
  global: 0 (OK)
No issues found

One could argue to add a note that this function is anonymous, for example by adding a (anonymous) to the function name. However I don't think, this is quite necessary:
complexity.ts: 4 (OK)
  anonymous: 2 (OK)
  iAmAnArrowFunction (anonymous): 1 (OK)
  iAmAFunction: 1 (OK)
  global: 0 (OK)
No issues found

Possible difficulties
I am not into Esprima, so I am not sure, if one could easily adjust the following line or if a more complex logic would have to be introduced (such as remembering if this is a variable/const assignment and if yes, remember the variable/const name): https://github.com/pilotpirxie/cyclomatic-complexity/blob/0d51251d84bb4c7d2161776fdf2867d3d34e3993/src/complexity.ts#L41

Closing as https://github.com/pilotpirxie/cyclomatic-complexity/pull/6 by @gafreax solves this problem.
For your example, the output would be:
complexity.ts: 3 (OK)
  [line: 2] anonymous: iAmAnArrowFunction: 1 (OK)
  [line: 5] iAmAFunction: 1 (OK)
  [line: 8] anonymous: b: 1 (OK)
  [line: 0] global: 0 (OK)
No issues found


feat: support sm75 with FlashInfer v0.1.6

Motivation
support T4
Await https://github.com/flashinfer-ai/flashinfer/releases/tag/v0.1.6

Modifications

Checklist

[ ] Format your code according to the Contributor Guide.
[ ] Add unit tests as outlined in the Contributor Guide.
[ ] Update documentation as needed, including docstrings or example tutorials.

python3 -m sglang.launch_server --model Qwen/Qwen2-1.5B-Instruct --mem-fraction-static 0.7

Hi @horiacristescu May you try the latest main on T4? Thanks.
# Use the last release branch
git clone https://github.com/sgl-project/sglang.git
cd sglang

pip install --upgrade pip
pip install -e "python[all]"

# Install FlashInfer CUDA kernels
pip install flashinfer -i https://flashinfer.ai/whl/cu121/torch2.4/

python3 -m sglang.launch_server --model Qwen/Qwen2-1.5B-Instruct --mem-fraction-static 0.7

It works for me on GCP T4.


Generate builders for config api?

(Some of) the config api classes have hand-written builder classes. We should look at generating these using something like sundrio. We might want to factor the config api into a separate module to do this.

What about using an annotation to match config classes (sth like @Builder) and then filter those classes with annotation processor javadoc, and generate .java code with apache velocity template?

That's exactly what sundrio does (except without the Velocity part). It's nicer than using something like lombok because it operates purely as an annotation processor without downcasting into the compiler's internal AST representation.

Triaged 1 Nov 2023 - not a priority, closing this.


Image iOS render wrong origin

Image rendering on iOS seems to be not quite right.
Following code
<Svg width="100" height="100">
  <Image
    x="0"
    y="0"
    width="200"
    height="200"
    href={this.props.image}
  />
</Svg>

produces

while following is expected:

Setting the y property to -50, however, makes it render correctly:
<Svg width="100" height="100">
  <Image
    x="0"
    y="-50"
    width="200"
    height="200"
    href={this.props.image}
  />
</Svg>

I did not quite understand yet what is the rational of the number -50 here.
The issue seems to be with the origin, the image is rendere, somehow.
On Android, everything seems to be correct.

@lschmierer Is this still in issue with the latest version?

@msand I have no idea... switched to Flutter long time ago...

@LRNZ09 Can you try with the latest v7? Or even better, this branch: https://github.com/react-native-community/react-native-svg/compare/SVGLength

v8 has been released, this issue has like been fixed in https://github.com/react-native-community/react-native-svg/pull/763 which is available since v7 up.


Add missing validation (#26627)

Co-authored-by: Nancy Mejia Juarez<EMAIL_ADDRESS>Description
Cherry pick of this PR: https://github.com/Azure/azure-sdk-for-python/pull/26627
All SDK Contribution checklist:

[X] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[X] I have read the contribution guidelines.

General Guidelines and Best Practices

[X] Title of the pull request is clear and informative.
[X] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-ai-ml


Backport RKE cluster cert rotation to 2.1.x

We have to address RKE cluster certificate expiration in 2.1.x release line. Need to explore the best way to approach it: either via 2.2 cert rotation feature backport, or by providing a scriptable workaround.

➤<EMAIL_ADDRESS>commented:
Proposed solution:

Adding the ability to rotate 2.1.x and 2.0.x clusters to system-tools, the code will do the following:

Use kubeconfig to connect to rancher
Fetch the cluster object and rkeconfig of the target cluster
run rke cert rotate with the fetched rkeconfig

Example:
./system-tools cert rotate --kubeconfig kube_config_cluster.yml --cluster c-fgltwRKE already handles legacy cluster by recreating rke state file from the current certificates, this will require the system-tools code to update the cert secrets including:
kube-system     kube-admin                                       Opaque                                9         3h7m
kube-system     kube-apiserver                                   Opaque                                6         3h7m
kube-system     kube-apiserver-proxy-client                      Opaque                                9         3h7m
kube-system     kube-controller-manager                          Opaque                                9         3h7m
kube-system     kube-etcd-x.x.x.x                                Opaque                                6         42m
kube-system     kube-node                                        Opaque                                9         3h7m
kube-system     kube-proxy                                       Opaque                                9         3h7m
kube-system     kube-scheduler                                   Opaque                                9         3h7m

➤<EMAIL_ADDRESS>commented:
https://github.com/rancher/system-tools/pull/21 ( https://github.com/rancher/system-tools/pull/21|smart-link )

The first pass on the tool can be done with https://github.com/rancher/system-tools/releases/tag/v0.1.1-rc6

verified with system tool from - https://github.com/rancher/system-tools/releases/tag/v0.1.1-rc6. Verified on cluster in  rancher:v2.1.8. Get the below error.
sowmyaviswanathan$ ./system-tools_darwin-amd64 cert info --url https://x.x.x.x/v3 --token "token-xxx:xxxxxxxx" --cluster c-wk8k2
INFO[0000] Check certificates Info for cluster [c-wk8k2]
INFO[0000] Setup rkeconfig for cluster [c-wk8k2]
FATA[0000] http: read on closed response body

Can be tested with https://github.com/rancher/system-tools/releases/tag/v0.1.1-rc7

Reopening this issue , Since have made a decision to go with rancher API support for cert rotation and not go with standalone system tool approach.

Instead of system-tools, cert rotation was backported to rancher rke/rancher. The feature can be tested with rancher v2.1.9-rc2.

verified following scenarios on:

On a fresh install of v2.1.9-rc3
Upgrade from custom image to v2.1.9-rc3
upgrade from v2.1.8 to v2.1.9-rc3

On rotating certificates, expiration date of the certs was 10 years from the time of performing the action. Verified pods - kube-proxy, kubelet, nginx-proxy, kube-scheduler, kube-controller-manager and kube-apiserver restarted after rotating the certs. Verified certs changed on all the nodes except for kube-apiserver-key.pem


build: fix build error with ANDROID_API < 21

Fix the following undefined symbols error with ANDROID_API < 21:

epoll_create1
epoll_pwait
futimens

Here is a CI run with this PR rebased on top of v1.x HEAD: https://ci.nodejs.org/job/libuv-test-commit/1565/
@disigma You show up as disigma in the Author field of the commits. Is that how you want to be known or do you prefer e.g. Yang Yu?

Here is a CI run with this PR rebased on top of v1.x HEAD: https://ci.nodejs.org/job/libuv-test-commit/1565/
@disigma You show up as disigma in the Author field of the commits. Is that how you want to be known or do you prefer e.g. Yang Yu?

I prefer Yang Yu, thanks.

Thanks Yang, landed in 549f52c4...e2c0f60c.


Missing jq package

JQ is needed for objective 5, however it is not installed.

Fixed in revision 4 of the accompanying UDF BP


New .broadcast_like() incorrect

Unfortunately, more robust tests show there is some logic problem in the @dcherian solution to #2885.  I was merging my work in #3127 with his more-principled refactoring in #3086, and my tests showed an error in the refactoring.

In https://github.com/DavidMertz/xarray/tree/feature/2885-broadcast_like-merge-branch I have created a temporary method .broadcast_like_naive() and have created a test against the naive implementation that is identical to the test against the refactored code.
We actually get the failure in the call to .broadcast_like() itself, i.e. not in the assertion about the result:
___________________________________________ TestDataArray.test_broadcast_like ____________________________________________

self = <xarray.tests.test_dataarray.TestDataArray object at 0x7f2287e3a828>

    def test_broadcast_like(self):
        arr1 = DataArray(np.ones((2, 3)), dims=['x', 'y'],
                         coords={'x': ['a', 'b'], 'y': ['a', 'b', 'c']})
        arr2 = DataArray(np.ones((3, 2)), dims=['x', 'y'],
                         coords={'x': ['a', 'b', 'c'], 'y': ['a', 'b']})
        orig1, orig2 = broadcast(arr1, arr2)
>       new1 = arr2.broadcast_like(arr1)

xarray/tests/test_dataarray.py:1276:
[...]
E                   ValueError: conflicting sizes for dimension 'y': length 2 on the data but length 3 on coordinate 'y'

With the following method instead, the identical test succeeds (modulo using the temporary method for tests, of course):
    def broadcast_like_naive(self,
                       other: Union['DataArray', Dataset],
                       exclude=None) -> 'DataArray':
        return broadcast(self, other)[1]


Handle empty responses correctly in grpc_http1_reverse_bridge.

Previously, when an http 1 server returned a header-only response, the grpc_http1_reverse_bridge bridge would fail to prepend a frame header, because end_stream was ignored in encodeHeader, and encodeData is not called for header-only responses.
That meant grpc clients were missing the expected frame header, resulting in the request failing when it should succeed.
This commit ensures that empty responses have the grpc frame header added. It fixes the following issues:
https://github.com/envoyproxy/envoy/issues/29989
Testing: Updated unit tests and tested grpcurl against an Envoy side car next to an upgraded Ruby server.

@zuercher I have addressed your comments.


[Feature]: mysql and ob mysql mode support gis datatype

Is your feature request related to a problem?
no
Describe the solution you'd like
mysql support gis datatype, Supports creating, viewing, and managing tables containing gis field types.
And supports processing result sets containing gis field types：

GEOMETRY

POINT

LINESTRING

POLYGON

MULTIPOINT

MULTILINESTRING

MULTIPOLYGON

GEOMETRYCOLLECTION

Additional context
No response

duplicate:https://github.com/oceanbase/odc/issues/851


[release 0.8] Update helm-install.md

There is a mismatch between the release tag and documentation.
This PR fixes the documentation.
related to https://github.com/istio/istio.github.io/pull/1534
cc @geeknoid @gyliu513

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: veggiemonk
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: geeknoid
Assign the PR to them by writing /assign @geeknoid in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @veggiemonk. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Deploy preview for preliminary-istio failed.
Built with commit c9d1248fd263f8239edf4b6676d098a205c7f0fe
https://app.netlify.com/sites/preliminary-istio/deploys/5b27ec211f12b74c63071d51

@geeknoid This is the error message
7:30:31 PM: Error: Error building site: Failed to read data from releases.yml/releases.yml: yaml: unmarshal errors:
7:30:32 PM:   line 1: cannot unmarshal !!seq into map[string]interface {}
7:30:32 PM: make: *** [netlify] Error 255

And here there are double quote that seems out of place: https://github.com/istio/istio.github.io/blob/release-0.8/data/releases.yml#L1


Add Vagrant support

Description
This PR adds support to show Vagrant version and the symbol V.
Currently, this is shown only in directories that have a Vagrantfile or the $VAGRANT_VAGRANTFILE file.
Screenshot

Awesome @guilhermeleobas. But lets put this on hold until we decide something on #341.

@guilhermeleobas actually, Vagrant version is a useless information. I don't actually care what version of Vagrant I'm using. I care about the current status of the machine: is it running? is it suspended? is it shut down?

Ok, makes sense :)
I changed the code to show the status of the box.

What about using Vagrant-style colors? Maybe some shade of blue, violet or purple? Yellow is not quite obvious.

Ok. Which one do you prefer? I think blue is better since it's the color HashiCorp uses for Vagrant.

The first one is better 👍

Done!
Currently, I am calling vagrant status to get the VM status and this call takes a considerable amount of time (~2 secs).

this call takes a considerable amount of time (~2 secs).

This is too much. We need to find another faster method.

Ok. I think I got it as long as vagrant uses VirtualBox as Provider
cat .vagrant/machines/default/virtualbox/id | xargs VboxManage showvminfo | grep State | awk {'print $2'}

@guilhermeleobas please, try to find faster and reliable solution. We hope such problems will go away with async rendering (#315), but it will come not earlier that 4.0.

@guilhermeleobas any updates on it?

@guilhermeleobas try to consider this implementation as an example: https://github.com/monochromegane/vagrant-global-status

Hey, sorry!
I got caught with other assignments and forgot about this one. I will work on this topic this weekend.
Regards

Done! The solution is not beautiful at all but works. In order to get the machine status, I had to parse a JSON file and the most viable solution I've found was using python.

Hi all, any more requests on this?
Should I move the JSON part from python to jq? Or maybe check if the user has jq installed and only use python as a fallback option?

Hi all,
It's been a while since there is no update in this PR. Is there anything else you guys want me to add/modify?
Regards

Excuse us for the delay @guilhermeleobas and thank you for following up on this.

check if the user has jq installed and only use python as a fallback option?

This sounds good. Similar change to utilize jq when available was proposed with #441. Hope we can take advantage of it here also.

Hi @salmanulfarzy, thanks for the feedback. I've changed the code to add jq as an option to parse json.
Regards

Hi @salmanulfarzy, thanks for the feedback. I've changed the code to add jq as an option to parse json.
Regards

The parsing speed using jq seems to be acceptable.
❯ time jq -r --arg dir "$PWD" '.machines[] | select(.vagrantfile_path == $dir).state' "$VAGRANT_HOME/data/machine-index/index"
running
0.03s user 0.00s system 95% cpu 0.031 total

The vagrant home dir may be changed by the users. We'd better use ${VAGRANT_HOME:-$HOME/.vagrant.d} instead.
  # Show Vagrant status only for Vagrant-specific folders
  local project_root=$(spaceship::upsearch "${VAGRANT_VAGRANTFILE:-Vagrantfile}")
  [[ -n $project_root ]] || return

  local vagrant_index="${VAGRANT_HOME:-$HOME/.vagrant.d}/data/machine-index/index"

  if (( $+commands[jq] )); then
    local vagrant_status=$(jq -r --arg dir "$project_root" '.machines[] | select(.vagrantfile_path == $dir).state' "$vagrant_index")
  else
    local vagrant_status=$(<"$vagrant_index" python -c 'import sys, os, json;
json_file = json.load(sys.stdin)["machines"]
for box in json_file:
  if (json_file[box]["vagrantfile_path"] == os.getcwd()):
    print (json_file[box]["state"])
    break;
')
  fi

Besides, we also need to search up to parent folders to find the Vagrantfile.
# define a helper in lib/utils.zsh
# if the number of helper keeps increasing, we may need to load
# them using `autoload`
spaceship::upsearch() {
  local root="$PWD"

  while [[ -n "$root" ]] && [[ ! -f "$root/$1" ]]; do
    root="${root%/*}"
  done

  if [[ -n "$root" ]]; then
    echo "$root"
    return 0
  else
    return 1
  fi
}

  # Show Vagrant status only for Vagrant-specific folders
  local project_root=$(spaceship::upsearch "${VAGRANT_VAGRANTFILE:-Vagrantfile}")
  [[ -n $project_root ]] || return

Hi @denysdovhan. Sorry, I can't reopen the PR as the fork was deleted two years ago.


fixed issues

Current coverage is 47.21% (diff: 33.33%)

Merging #419 into deploy will increase coverage by 0.33%

@@             deploy       #419   diff @@
==========================================
  Files           182        182
  Lines         17942      17945     +3
  Methods           0          0
  Messages          0          0
  Branches       2513       2513
==========================================
+ Hits           8411       8473    +62
+ Misses         9100       9054    -46
+ Partials        431        418    -13

Powered by Codecov. Last update be64045...52d7785


IPython console kills the project of Spyder

Hello,
Spyder is a great IDE. ...Well, it was, before the internal console had been removed. Since then it has been a constant fight with the IPython console and a continuous hope it will be solved. This issue I have on all my computers, in Python 2 and 3, and in WinPython and (especially) in Anaconda.

The kernel is constantly dying. After a few, frequently just one, restarts of a script the kernel is hanged. I spend a few long seconds until I realize it is hanging and a few long seconds for closing the tab. The start of a new kernel is also not fast. Having it repeated a few tens times a day makes me quite angry. I saw the comments about this issue and the answers that this was not Spyder's problem. Fine, but you know that the problem exists. Why the simple console was removed while being a perfect tool for many?

The Spyder's IPython console is not a friend of multiprocessing. Try this simple example.

**********************
from multiprocessing import Pool

def f(x):
    return x*x

if __name__ == '__main__':
    print("aaa")
#    __spec__ = None
    with Pool(5) as p:
        print(p.map(f, [1, 2, 3]))
**********************
It perfectly runs in an external console and doesn't in Spyder's IPython. The problem sits in sitecustomize.
Uncomment that line before Pool to make it work. To cure a big project is much harder -- and this is not a problem of that project, actually.

I liked and used the elapsed time clock in the old console; it has gone.

Is there way to return the old console or to opt for a smaller subset of the IPython console that would simply work?
Thanks!
Konstantin

My answers:

The kernel is constantly dying

Please give us a clear way to reproduce this problem. Simply saying is not useful.

The start of a new kernel is also not fast.

Quite true. We do a lot of stuff when starting a new kernel, that's why it takes so much time:
https://github.com/spyder-ide/spyder/blob/3.x/spyder/utils/ipython/start_kernel.py
Instead of restarting consoles, you should simply reset their namespaces. It's basically equivalent.

Why the simple console was removed while being a perfect tool for many?

It wasn't. Please see issue #4524 for our reasons to do it.

The Spyder's IPython console is not a friend of multiprocessing

Also true. Sorry, but this is a problem between multiprocessing and the Jupyter architecture, not really a Spyder problem, so we can't do anything about it.

I liked and used the elapsed time clock in the old console; it has gone.

You're welcome to send us a pull request to implement that feature for the IPython console. It consumed a lot of CPU though, so you would need to fix that.

Is there way to return the old console

No, and it's not going to come back, sorry.

or to opt for a smaller subset of the IPython console that would simply work?

The IPython console is working for most people.

The IPython console is working for most people.
I've now extensively played with Spyder on Ubuntu and must say it works nicely. Respect!

But I also conclude that you, developer(s), don't go to touch Windows very often. And here is the contradiction: you've turned your development towards newbies in Python (otherwise I can't explain all this love to IPython), but most of newbies sit in Windows, I believe, and I doubt you've tested the Spyder's IPython console in Windows for a whole single day. And you may disbelieve me but it is much much worse there.
I wish you good luck in making Spyder in Windows great again.
 I'm developing one of my papers on Windows, and I haven't found any serious problem while doing it. Most probably the issues you're seeing are generated by your firewall/antivirus, which is forbidding sockets communication in your PC.
Besides, please read carefully the reasons I posted on issue #4524: we had to remove the Python console because it was broken on Windows and we didn't know how to fix it.
Finally, we didn't remove the Python console because we love IPython, but because the IPython/Jupyter architecture is far more robust, well documented and widely used than the Python console one. That architecture was quite similar but not developed by us, but by Spyder's original author, which (unfortunately) abandoned the project several years ago.

Closing because of lack of response.

An error ocurred while starting the kernel
The error is:
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site‑packages\spyder\plugins\ipythonconsole.py", line 1572, in create_kernel_manager_and_kernel_client
kernel_manager.start_kernel(stderr=stderr_handle)
File "C:\ProgramData\Anaconda3\lib\site‑packages\jupyter_client\manager.py", line 240, in start_kernel
self.write_connection_file()
File "C:\ProgramData\Anaconda3\lib\site‑packages\jupyter_client\connect.py", line 547, in write_connection_file
kernel_name=self.kernel_name
File "C:\ProgramData\Anaconda3\lib\site‑packages\jupyter_client\connect.py", line 212, in write_connection_file
with secure_write(fname) as f:
File "C:\ProgramData\Anaconda3\lib\contextlib.py", line 112, in enter
return next(self.gen)
File "C:\ProgramData\Anaconda3\lib\site‑packages\jupyter_client\connect.py", line 102, in secure_write
with os.fdopen(os.open(fname, open_flag, 0o600), mode) as f:
PermissionError: [Errno 13] Permission denied: 'C:\Users\KRISANU\AppData\Roaming\jupyter\runtime\kernel�a74baec9e.json'
please help me to resolve this issue


Debug console: Better format for trees in 'Copy all'

Testing #26736

debug a program, stop at a breakpoint
Enter an expression at the debug console, expand some of the nodes
Use copy all
Note that what was a tree is now a flat list. Would be cool if indentation could be added

To keep the number of issues in our inbox on a manageable level, we're closing issues that have been on the backlog for a long time but haven't gained traction: We look at the number of votes the issue has received and the number of duplicates issues filed.
If you disagree and feel that this issue is crucial: We're happy to listen and to reconsider.
Maybe you want to give it a try yourself and provide the feature through an extension or a PR: We're happy to give advise and get you started.
Thanks for your understanding. Thanks for helping and happy coding!


PanResponder > onPanResponderMove doesn't work with Animated.event() if called inside a function

I have the following examples:
WORKS
// moving
onPanResponderMove: Animated.event([null, {
  dx: this.state.pan.x, // x,y are Animated.Value
  dy: this.state.pan.y,
}]),

DOESN'T WORK
// moving
onPanResponderMove: (evt, gestureState) => {
  this.props.updatePanPosition(gestureState.moveX, gestureState.moveY)

  return Animated.event([null, {
    dx: this.state.pan.x,
    dy: this.state.pan.y,
  }])
},

The pan state is an Animated.ValueXY()
I need to use the onPanResponderMove function to get latest coordinates on the screen and use it in another component
This looks like an issue!
I'm using react-native: 0.47.2

Never mind, fixed it
Reason was because Animation.event() only generates the function which is used from onPanResponderMove, it also needs the default arguments evt, gestureState
WORKING CODE
// moving
onPanResponderMove: (evt, gestureState) => {
  this.props.updatePanPosition(gestureState.moveX, gestureState.moveY)

  return Animated.event([null, {
    dx: this.state.pan.x,
    dy: this.state.pan.y,
  }])(evt, gestureState)
},


ONYX BOOX Tab10 C Request Keys

Tab10C in China ,please add keys.
libota_jni.so.zip

Thanks!
Added Tab10C to BooxKeys.csv


[ GRU ] Add drop out mask

This commit includes:
. Implementation of drop out mask
Resolves:
Self evaluation:

Build test:	 [X]Passed [ ]Failed [ ]Skipped
Run test:	 [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #1429. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnstreamer.mooo.com/.


Rename => token to FatArrow

The current name of its type is Rocket which I think came from #146. The rustc name for it is FatArrow which I like better.

Fixed in<PHONE_NUMBER>97c36bbcc5b9447ac8cb17d95e90e7.


[Hacktoberfest 2018] Remove the White border around the image

Remove the white border that appears when the image is clicked!

@ParthKetanDoshi Thank you!


code still runs even when cors complains

Am I missing something?
I have this code below:
const microCors = require('micro-cors')
const { send } = require('micro')

const cors = microCors({ origin: 'https://google.com' })

const handler = (req, res) => {
  console.log('> RUN')
  send(res, 200, 'OK')
}

module.exports = cors(handler)

If I make a request in the client-side I receive a cors warning in my console, but still the code inside handler runs, it's not blocked. If I'm not making a request from https://google.com, the code shouldn't run and I should receive a warning in the client-side, right?

Do we have any update on this?

This middleware doesn't block any request. It just adds response headers for browser, so it could handle cross-origin request.
And for now correct usage should be like this.
const handler = (req, res) => {
if (req.method === 'OPTIONS') {
send(res, 204)
} else {
console.log('> RUN')
send(res, 200, 'OK')
}
}
So browsers sends OPTIONS request first and expects response with correct headers (It ignore body of response). And after that browser do real request.
But as I see express has option preflightContinue (false by default). So it sends empty response for OPTIONS request by default. Maybe we should do the same

I can prepare PR. @tim-phillips what do you think about that?

That's correct, we should return an empty response for an OPTIONS request by default.
Let's return an empty 200 on a preflight request, that seems to be what people are doing even though I don't think it's mentioned in the spec (I know expressjs/cors returns 204 but it seems to be redundant since we know we should get an empty response and that is OK).

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Preflighted_requests (scroll down)
https://docs.microsoft.com/en-us/rest/api/storageservices/preflight-table-request#status-code
https://stackoverflow.com/questions/46026409/what-are-proper-status-codes-for-cors-preflight-requests
https://www.html5rocks.com/en/tutorials/cors/
https://www.html5rocks.com/static/images/cors_server_flowchart.png

Let's not yet do preflightContinue, I'm not convinced it's necessary.
Thanks for reviving this. A PR would be most welcome :)

Thanks for update and explanation!

This is merged in the v1 branch.
Happy holidays and new year!


Re-usable connection manager closes connection with keystore.

;; Having a connection manage like this
(def cm (conn-mgr/make-reusable-conn-manager {:timeout           100
                                              :threads           10
                                              :default-per-route 10
                                              :keystore          "keystore.jks"
                                              :keystore-pass     "pass"}))

(defn make-req []
  (for [_ (range 100)]
    (http/post url {:connection-manager cm})))

;; and a test function to make 100 requests, I observed that after each HTTP call connection is being
;; closed by the connection manager.

On digging the logs I found that initially, it says connection can be kept alive indefinitely after each call but when a new request is made or on Connection request: older connection is closed http-outgoing-54: Close connection
Further, even if they are not closed they are not used instead new connections are established.

I tried this on the embedded test server and have also reproduced this.
I suspect that we're seeing the behaviour described in this upstream ticket:  https://issues.apache.org/jira/browse/HTTPCLIENT-1977.


Support inline comments in parent.config

The ATC project would like for ATS to support inline comments in parent.config. For debugging and troubleshooting, it would be helpful to be able to include an inline comment on a parent.config line like the following:
dest_domain=foo.example.org port=10080 parent="bar.example.org:10080|1.0" secondary_parent="baz.example.ort:10081|1.0" round_robin=false go_direct=false qstring=ignore parent_is_proxy=false parent_retry=both unavailable_server_retry_responses="500,502,503"  max_simple_retries=2 max_unavailable_server_retries=1 # this line brought to you by the topology 'foo'

Additionally, it appears that remap.config supports inline comments like this just fine, but I'm not sure about other config files.
Tested on ATS version 8.1.0.

@ezelkow1 and @jrushford : since the current plan is to replace this with strategies.yaml which supports comments, do you think we can close this issue?

As the issue opener, I'm ok with closing this issue. The ATC project has resorted to using full-line comments in parent.config, so there's no need for this feature anymore from ATC's perspective.

Closing since the opener is good without it, and may be fixed in strategies anyway

I'm good with closing it too.


Custom cluster icons

Please tell me how to change the icon picture for a cluster?

To customize that aspect, provide a different render function. https://googlemaps.github.io/js-markerclusterer/public/renderers/ You can use all options for markers such as using an image icon, https://developers.google.com/maps/documentation/javascript/examples/icon-simple.


Cleanup yes

Mostly avoid copying where not needed. In general, would you like cleanups like this?

Yes, that would be great. :)

I've actually already done a few, but haven't had time to push them.


Unrecognized settings show errors when in language blocks

Add an unrecognized setting to settings.json
See that it is correctly dimmed with no warning underline
Add it to a language-specific settings block
There is a warning, "This setting does not support per-language configuration which is misleading"

Yeah, this feature is not supported for language specific settings.

Are there any plans to support extension settings in language specific settings? It would be very helpful in some cases.

To verify:

Open settings.json and have following snippet

"[jsonc]": {
        "abc": "off",
        "files.simpleDialog.enable": true,
        "editor.fontSize": 16
    }

Make sure first two settings abc and files.simpleDialog.enable are shown dimmed with proper message.

This bug has been fixed in the latest release of VS Code Insiders!
@roblourens, you can help us out by commenting /verified if things are now working as expected.
If things still don't seem right, please ensure you're on version f1b09237cd400d92987cf7a9681995e8011ef54c of Insiders (today's or later - you can use Help: About in the command palette to check), and leave a comment letting us know what isn't working as expected.
Happy Coding!


ICC-1 breadboard friendly breakout board

This patch adds a new ICC-1 module, which is the real name as can be obtained from the FCC registration documents, Trådfri being the whole 'system' name. It uses the dimensions from the data-sheet which corrects some dimensional errors in the previous module. Further more it converts the supplied cad file into a KiCAD 3D part.
Secondly this patch introduces a carrier board for the ICC-1 poly module in a breadboard friendly manor. It addresses most comments from issue number #12.

I had a look at your TRÅDRI dev board, and I had a few comments and suggestions that I think would allow the board to be more versatile and more generally useful:

[x]     Redesign the board in such a way that allows it to be plugged into a breadboard if the headers are soldered facing down instead of facing upward.
[ ]     Remove the reset button. If you need a reset button for a project, it is easy to add on a breadboard. Removing the button should allow you to shrink the size of the board considerably, allowing it to more easily fit on a breadboard.
One can always decide to not populate the button, the board won't get any smaller anyhow.
[ ]     Remove the power LED. It is easy to add a power LED on a breadboard, and having a LED on this board will throw off power measurements.
One can always decide to not populate the LED.
[x]     Remove the bypass caps. All of the capacitors that are required by the EFR32 datasheet are already integrated into the module.
[x]     In order to be as conservative as possible, remove all of the copper fill directly under the module. Copper fill on the other side of the PCB might be fine as long as it is kept far away from the antenna, but many modules like this explicitly forbid copper fill anywhere under them.
[x]     Leave the antenna hanging off the end of the board
[x]     Keep the debug headers. Those are often useful, and having to always hook them up manually on a breadboard would be a pain.
also, one can decide not to populate those either
[x]     Shrink the board to be as small as possible, to help make usage with a breadboard more easy.

Further more, I used the area available as breakout area and made the board so that it is 'breakable' into sections. The debug headers can go by cutting along the via's. The breadboard section can go by cutting along the via's.

Closes issue #11 and #12
Signed-off-by: Olliver Schinagl<EMAIL_ADDRESS>

Any thoughts on this so far? @darconeous how do you like it so far? Does it address your issues?

Neat!
Not exactly what I had in mind, but it fits the bill! It sure does allow for more breadboard space.
I personally would have made the board rectangular (with the module in-between the breadboard pins) to improve the production yield during manufacturing, but I think your design is great if that isn't a concern.
The image you posted makes it unclear to me if the antenna has PCB behind it or not.

@darconeous I've added a picture of the backside, which allows you to see the mouse bites more clearly.
I did it for two reasons. It allows pick-and place assembly (not sure for what :p) but it adds fiducials. More importantly, it adds room for the PCB fab to print their production data, without getting in the way.
Oh and it helps with panelization :)
That said, I don't think there's much point to optimize mass production as to the size. If we produce these at all, i'd be supprised if more then 20 get distributed. 20 being the magical number as we can fit 2 boards in a 10x10 space easily. MAYBE even 3 boards.
As for the dimension of the board, there was not much width to go with. The bare ICC-1 module takes up a lot of the breadboard. My guesstimate was that it would leave 3 holes max. So 1 row at one side, 2 at the other, which made it far less usefull. Finally I wanted to be able to power it with the power rails on the side of the breadboard.
With those constraints a T-Shaped board seems quite obvious. Put it on a breadboard, put a breadboard PSU on one end, this board on the other and go.
The proto typing area was a bonus, as that room was unused, so I just filled it up with 2.54 mm spaced proto bits.

@basilfx any other feedback you want to add or any rework you need for this to get merged?

@basilfx ping?

Hi Oliv3r
I am now using your KiCAD footprint of the ZigBee module for my project. First i design my own, which was a little wrong. Then I used basilfx's, which i also a little wrong. You version look fine. Not tested my me yet.
My project: https://www.thingiverse.com/thing:3655354
Do you need to be credited for using the footprint?

I'm still waiting for basilfx to merge it :) I have not ordered the pcb yet myself (too busy) and so I haven't verified it's validity. I took the measurements from the datasheets from the FCC database. I first tried to manually measure it and already noticed discrepancies with basilfx's module, which is why I re-drew it.
Having said all that, I'm not sure what the license of the repository is, but credit is usually appreciated ;)

The footprint basilfx has made is about 1.1mm too long, and was almost usable. I made a correction, which is only 0.1-0.2 mm too long.  So expect it to fit perfectly. I have ordered PCBs with it now.
Did you make the footprint from scratch? or did you reuse some of basilfx work?

I started initially with basilfx's version, but when measuring the ICC-1 module with a caliper, I found a lot of things to not align well. The pins and the package. As I was very into it back then, I by chance found the FCC documentation, which lists the exact dimensions, so I started from scratch, as there where a few other details off.
While I haven't tested it on a PCB, i did check it on paper by printing it, and it looked fine there.

I have now tested your footprint by making 30 of them. The height of the pads fits exactly. But you need to move the pads 0.5 mm to the center. That is, the left side need to move 0.5 mm to the right, and the right side 0.5mm to the left. Your mistake makes it easy to handsoder, but not good for pick-and-place mass production.

Not sure if it is a mistake, or if this intended as the purpose is to handsolder for this issue's project :)
If we extend it 0.5 mm to the center, will both use-cases be helped? Also, it could be that indeed, that this was a mistake; it's been quite a while ;)
So I'll extend them, allowing both work flows. Maybe have 2 variants, icc-1 and icc-1w (wide) which is useful for hand-soldering ...

Extending the pads sounds fine. You should summit you work to the general KiCAD library, or what is called. I am new to KiCAD.

So I'll extend them, allowing both work flows. Maybe have 2 variants, icc-1 and icc-1w (wide) which is useful for hand-soldering

@oliv3r it would be great if you could push a final design. I'd love to get some PCBs made for testing…

I only last week looked at the foto's from @CableCatDK and saw exactly what he meant. So I am in a better place to extend the pads. I'll try to get this sorted in the next few days.

I only last week looked at the foto's from @CableCatDK

Which photo are you referring to?

I only last week looked at the foto's from @CableCatDK

@oliv3r Which photo are you referring to?

https://thingiverse-production-new.s3.amazonaws.com/assets/ea/e7/4d/06/f3/E2D6EAA4-0377-4F91-B6E0-32FBA3AE5063.jpeg

@oliv3r that is photo of my own footprint. Which was my first try.

Ah right, but from the 'width' point of view, are the pads now as your picture, too wide, or contrary, too narrow and they need to be elongated?
You mentioned moving the pads 0.5 towards the center, e.g. the pads are 'too short'. Your image would suggest the same, that the pads where too short. Maybe you should update the picture in your thingieverse repo with v2 :D

@oliv3r In the link below you see a picture of the current version. Which is based on your footprint, but the pads are moved 0,5 mm to the center.
https://thingiverse-production-new.s3.amazonaws.com/assets/93/59/e3/54/96/70AEB275-758A-43BE-B18D-1381F4E5B709.jpeg

did you move the pads in the picture already? If so, that explains my confusion :)

@oliv3r Yes, I have moved the pads in the last picture.


January 18 -22 - Intro to Machine Learning Models

Event Information

Category
Details

Reactor Topic
Data Science and Machine Learning

Monthly Topic (if applicable)
<Topic taken from Azure Dev Marketing>

Weekly Topic (if applicable)

Workshop Topic
Machine Learning Models

Workshop Duration
60 minutes

Title
Intro to Machine Learning Models

Description

Workshop(s) details

Date
Local Start Time
Location
Speaker
SharePoint ID
Platform

Jan 19, 2021
6:30 PM
Bangalore
----------
12479
----------

Jan 19, 2021
4:00 PM
US/CA/AU
----------
12478
----------

Jan 20, 2021
7:30 PM
Sao Paulo
----------
12482
----------

Jan 20, 2021
7:30 PM
Shanghai
----------
12481
----------

Jan 20, 2021
12:00 PM
EMEA
----------
12480
----------

Event Checklist
10 Weeks Prior

[ ] Reactor Content Team (RCT) opens a new issue for an upcoming local workshop filling in the Event Information and Workshop details tables. RCT member who owns content (content owner) this week will be the assignee.
[ ] RCT and content owner discuss details of the event in the comments of this issue. RCT adds a confirmed-event label and local-digital-event tag to the issue and adds event to the Local Digital Events project. Issue will appear in the Upcoming Streams column
[ ] RCT adds a ready-for-marketing-edit label so the RCT can review title and description

8 Weeks Prior

[ ] RCT does a review of title and description and removes the ready-for-marketing-edit label
[ ] RCT moves the issue to the Ready for SharePoint column
[ ] RCT informs the Reactor Marketing Team of the new event information
[ ] RCT confirms the speaker
[ ] RCT provides speaker with assets (e.g. slides, overlays) and the survey data for the event
[ ] RCT moves the issue to the Content Preparation In Progress column

5 weeks Prior

[ ] Content owner opens a PR with the new content for the workshop on the customer-facing Reactor repository and adds the content-development and local-digital-event tag to the PR.
[ ] RCT reviews, approves, and merges the changes
[ ] RCT shares content with the vendor/instructor
[ ] RCT provides vendor/instructor with assets (e.g. slides, overlays) and the survey data for the event
[ ] RCT ensures that instructors have received an invite to the workshops and that PM team works with instructors to get setup in the platform (e.g. Teams, Teams Live Event)

1 Week Prior

[ ] Connect vendor/instructor with the PM(s) for the locations where this event has been marketed
[ ] Check-in with vendor/instructor that they are prepared for the workshop
[ ] RCT moves the issue to the Ready to Stream column

During and After Stream

[ ] Instructor (and optional moderator) run the stream
[ ] _(Optional)_RCT submits recording to be uploaded to the Reactor YouTube and to be made available on LearnTV
[ ] RCT moves issue to the Stream Complete column

@meaghanlewis - here is the original description I found:
"Every day new data is created. New parts are made and shipped from factories, people continuously tweet, and companies grow and fluctuate causing major changes in the market. With the addition of more data comes the   difficulty of being able to process that data. As humans, we can understand   complex scenarios, but computers are much better at being able to analyze   large datasets. In this workshop, you will get a glimpse into how we can   teach machines to analyze complex scenarios at a much larger scale than we're   able to. After you've cleaned and organized your data, you will have an   opportunity to train and test machine learning models, and even publish your   predictor online for others to explore."
Here is my attempt to expand/move it into the new template, please let me know what you think:
What is the session about?
Every day new data is created. New parts are made and shipped from factories, people continuously tweet, and companies grow and fluctuate causing major changes in the market. With the addition of more data comes the difficulty of being able to process that data. As humans, we can understand complex scenarios, but computers are much better at being able to analyze large datasets. In this workshop, you will get a glimpse into how we can teach machines to analyze complex scenarios at a much larger scale than we're able to. We'll use a cleaned data set to train and test machine learning models and publish your predictor online for others to explore.
Who is it aimed at?
This session is aimed at learners who are interested in learning about how to train and test Machine Learning Models. While you don't need to have any previous data science experience, you should have about 1 year of experience coding, preferably in Python.
Why should you attend?
This session is a great intro to Data Science and Machine Learning. We'll show you the basics of Machine Learning Models and how to build a foundational understanding of these principles.

This looks great to me @mebaumb!

This has been published without speaker data!


Logger interface extracted from yii\log\Logger

Q
A

Is bugfix?
no

New feature?
yes

Breaks BC?
no

Tests pass?
no

Fixed issues
#14997

Good otherwise.

Such changeset is absolutely redundant since #14611


Usage of If Conditional rather than Circuit.If

I'm curious how snarky is able to use an if branch statement from javascript in the snarky.js code. I was under the assumption that since this compiles to a circuit, that wouldn't be possible. Code here.
    let keyStream = sponge.squeeze();
    let encryptedChunk = message[i].add(keyStream);
    cipherText.push(encryptedChunk);

    // Here you can see the use of if statments.
    if (i % 2 === 1) sponge.absorb(cipherText[i - 1]);
    if (i % 2 === 1 || i === message.length - 1) sponge.absorb(cipherText[i]);
  }

The answer is that JS is not compiled. It is just executed to add constraints to a circuit. You can see the if conditions as a sort of metaprogramming, which determine what constraints to add to the circuit.
@ckartik I'd be interested what part of our docs/material gave you the assumptions that JS compiles to a circuit, and that you can't use if statements like we use them here. I'd like to fix this since it's a misconception that I've seen very often.

I don't think I follow, so if I import the encrypt function from snarky, it doesn't actually import the branching logic the encrypt function consists of. I'm guessing this all compiles down to a circuit.
To reply to your second point I think having a mental model of the compilation process (like the one I currently have for traditional sequential programs or interpreted languages) is important. I noticed you've got extensive details in the O(1) Labs notebook, and I'll take a look at it. Having a mid-level description in the Mina docs would be helpful. I find the high-level description to be too high-level to yield value and the O(1) Labs notebook details to be too low-level for me to quickly iterate with the technology and learn along the way. Hope this helps! You guys are doing an amazing job! 😄

I'm guessing this all compiles down to a circuit, so I don't quite understand why the imported logic wouldn't as well?

No - zkApp code (both user-written and the code in our lib) doesn't "compile down to a circuit", in the sense that JS is transformed into something else. Instead, the way snarkyjs works, is that the JS code (for example, the SmartContract method) is executed, and the different functions (like Field.add, Poseidon.hash,..) add constraints to a current circuit while they run.
So the code you write can be any Javascript, that, when executed, creates the constraints that you want. As such, there's no limitation on what JS language constructs you can use.

Having a mid-level description in the Mina docs would be helpful.

This is good feedback. We were discussing internally about adding a "snarkyjs under the hood" section that would explain stuff like this.