[Bug]: Button click causes error: Runtime.callFunctionOn timed out. Increase the 'protocolTimeout'

Minimal, reproducible example
I am using the pre-build docker image. Upon clicking a button on the page, the script seems to stop and eventually throws the error:

"Runtime.callFunctionOn timed out. Increase the 'protocolTimeout' setting in launch/connect calls for a higher timeout if needed."

I have tested this with image versions 22, 21, and 20:
ghcr.io/puppeteer/puppeteer:22

Importantly, this issue only occurs when running inside the docker container. When running the exact same code on my local machine, clicking the button works fine.

It might be worth noting, I'm using Apple Silicon M3 Max chip.

I've tried clicking the button multiple ways, including:

const button = await page.$('.downloadButton');
await button.click()

I've also tried clicking the button inside of evaluate function. I can confirm in both instances the button element exists on the page and the sector finds the correct element.

   await page.evaluate(() => {
        let button = document.querySelector('.downloadButton')
        button.dispatchEvent(new MouseEvent('click', { 'bubbles': true }))
    })

   await page.evaluate(() => {
        let button = document.querySelector('.downloadButton')
        button.click()
    })

Error string
Runtime.callFunctionOn timed out. Increase the 'protocolTimeout' setting in launch/connect calls for a higher timeout if needed.
Bug behavior

[ ] Flaky
[ ] PDF

Background
No response
Expectation
I would expect the button to be clicked
Reality
The protocolTimeout error is thrown
Puppeteer configuration file (if used)
No response
Puppeteer version
22.12.1
Node version
20.9.0
Package manager
npm
Package manager version
10.8.1
Operating system
macOS

Could you please provide a complete executable script (perhaps as a Dockerfile)? including a test site/page (URL) that demonstrates the issue.

I will try to replicate it. Unfortunately the button in question is behind an authenticated page.
Worth noting, I've just discovered the issue does NOT happen when running the container on AWS ECS. It only appears to happen when running the via docker on my machine. If I had to guess it is related to the Apple Silicon chip but perhaps another apple user can verify. I'll try to put together a replicable test case.


[Android][TextInput] Remove underline option?

I was working around it by setting the underlineColorAndroid to the same color as the background, but when you focus, the underline color changes to a teal color no matter what.

Have you tried just need to underlineColorAndroid='rgba(0,0,0,0)'?

I'll give that a try when I get a chance.

Setting rgba(0,0,0,0) works for me.  I was using #fff before with the same problem as @rclai

Cool, thanks guys.

I am also observing a similar problem and setting the underlineColorAndroid to rgba(0, 0, 0, 0) doesn't seem to help me. This is what I am observing.
This is how it appears to begin with which is good. Before I added underlineColorAndroid, there was an underline in the complete width of the text box which was gone once I added the underlineColorAndroid which is good.

This is how it appears after adding some text. Notice an underline below the typed text. I want to get rid of that underline too. Do I need to set some other prop on the TextInput to get rid of that underline

@varungupta85 autoCorrect={false} might help here.

@Sommerfeld Great, using autoCorrect={false} fixed it. Thanks a lot!

It seems that the autocorrect solution does not work when the TextInput is multiline (I have v0.33).
Are you aware of this? I suppose it is a bug?

The autocorrect solution does not skip the underlineColorAndroid step. The line seen in the image of @varungupta85 is not from the textInput itself it is from the autocorrect and would not have appear for the first word if he would have started typing a second one. (my guess, not tested, not 100% familiar with Android)

this should do the trick as per react-native TextInput documentation
<TextInput underlineColorAndroid='transparent'>

Before

After

underlineColorAndroid='transparent' works for me. At first, it does not work on android 6.0 emulator. Then run code on android 7.0 emulator, underline is dismiss. So, run on 6.0 again, it works. Maybe autoFocus={true} is setted, press R twice to reload JS failed.

underlineColorAndroid='transparent' definitely did the magic for me

underlineColorAndroid='transparent' is definitely the way to go.

underlineColorAndroid='transparent' worked for me with single line text.

To give in your Text input Use this Property Remove Under Line

underlineColorAndroid="transparent" seems to disable the underline in all TextInput. How to selectively remove the underline for only a few TextInput?

i din't get u point
On Sat, Jan 28, 2017 at 1:44 PM, Vijay Thirugnanam<EMAIL_ADDRESS>
wrote:

underlineColorAndroid="transparent" seems to disable the underline in all
TextInput. How to selectively remove the underline for only a few TextInput?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/facebook/react-native/issues/5424#issuecomment-275834770,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATmTnBGelNZEuYVeiBorH8eVS8iOpaM9ks5rWvj-gaJpZM4HIWcG
.

@lavarajallu Please ignore the comment, It seems to work now.

work for me

Type underlineColorAndroid='transparent' inside textinput its work 100%

Why is this not underlineColorAndroid="transparent" by default, this make sense for easy compatibility with iOS ?

Bcz when you install nodumodules default color in text Input comparing both
Platforms
On Tue, Feb 13, 2018 at 3:44 PM, Andréas Hanss<EMAIL_ADDRESS>wrote:

Why is this not underlineColorAndroid="transparent" by default, this make
sense for easy compatibility with iOS ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/facebook/react-native/issues/5424#issuecomment-365216898,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATmTnDB8Rm-lysejiLABA1yOL_xpoHGYks5tUWCSgaJpZM4HIWcG
.

underlineColorAndroid='white' It's work for me 👯♂

Thank you guys <3

Works fine now!


[1.18.2] Iron Miner's Hammer gets 10 tool damage on use instead of 9

Forge: 40.1.20
jobsplus-0.3.0.jar
When used the miners hammer gets 10 damage instead of the 9 it should when breaking 9 blocks

Fixed in next update.


The latest version is not depended on the latest com.android.support

+--- com.jakewharton:butterknife:8.5.1
|    +--- com.jakewharton:butterknife-annotations:8.5.1
|    |    --- com.android.support:support-annotations:25.1.0 -> 25.3.1
|    +--- com.android.support:support-annotations:25.1.0 -> 25.3.1
|    --- com.android.support:support-compat:25.1.0 -> 25.3.1 (*)

This is fine. They're binary compatible and Gradle takes care of choosing the newer version as you can see. You're welcome to send a PR to update them but I'm not making a release just to track dependency updates.


Fix documentaion of installing openssl on mac

brew refuses brew link --force openssl(https://github.com/Homebrew/brew/pull/597).
So we need to set openssl path in another way.  One way is to set OPENSSL_ROOT_DIR.

@cormoran Thank you for your contribution. We have a different fix that will be applied in the upcoming release which updates the OpenSSL hints. This way the documentation can stay relatively generic for all the Mac OS flavors.
I am going to close this PR, but again thank you for bringing this to our attention so that we can get this into the next upcoming release of the driver.

@cormoran The fix has landed in v2.7.1 release of the driver.


Multiple view directories.

Since version 2.0.0 you can no longer use multiple view directories:
With the following code:
server.set('view engine', '.hbs');
server.set('views', [
  dirPath1,
  dirPath2,
  dirPath3
]);

I get:
TypeError: Arguments to path.resolve must be strings
This was ok in version 1.1.0, and it appears as though this should be supported when looking at the Express documentation (http://expressjs.com/api.html).
From option views:

A directory or an array of directories for the application's views. If an array, the views are looked up in the order they occur in the array.

Was this ever merged?

This should be looked at. According to the Express API, the views option can be an array but this causes express-handlebars to crash at the renderView method.

An array of views worked with version 1.1.2, this behavior has definitely changed, I believe as of 2.0.0.

Two years on I'm guessing this regression of behaviour hasn't been fixed anywhere. Anyone have a solution on this thread?
graceful-fs v3 will no longer work on node.js  >= v7 so the option to use 1.1.0 will be broken when node v8 becomes LTS in October.
npm WARN deprecated<EMAIL_ADDRESS>graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to<EMAIL_ADDRESS>as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.

Since we're stuck at an older version of express-handlebars until this is resolved, express-handlebars ended up being our main source of vulnerabilities coming from inherited dependencies.
I ended up writing my own lightweight view engine to replace express-handlebars, but it's very much unique to our "stack", and a bit much to expect anyone else to use.  In our case, we already had a standalone handlebars renderer, wiring that into something that supported the view engine API was not all that hard.

So it is still not supported in express-handlebars 3.0.0 to use multiple view directories?

Not since I last checked in June this year - if you come up with a solution I would be interested to see!

When I try to set two folders in the app.set('views', ['views1', 'views2']), I get the error:
TypeError: Path must be a string. Received [ 'views1', 'views1' ]
    at assertPath (path.js:7:11)
    at Object.relative (path.js:1226:5)

But it works well either by app.set('views', 'views1') or app.set('views', 'views2').
After read this issue, I'm puzzled whether have I understand it. But it seems still a lot people suffer from this such as this issue.
I'm trying to find a solution, but it doesn't look well.

Not a great long-term solution, but if all your handlebars views are in a single folder, here's a temporary solution.
const hbsViews = path.join(__dirname, '/views'); // path to your handlebars views
const hbsEngine = exphbs({
  layoutsDir: path.join(__dirname, '/views/layouts'),
  defaultLayout: 'main',
  extname: '.hbs',
});
app.engine(
  '.hbs',
  function(filePath, options, callback) {
    options.settings.views = hbsViews;
    hbsEngine(filePath, options, callback);
  }
);

This works because it fixes this line, which breaks when you set views to be an array.


CNV-21086: Display "Not migratable" only for running VMs

📝 Description
This is another PR for the feature: https://issues.redhat.com/browse/CNV-21086
Display "Not migratable" label only for the VMs that are running.
The purpose of this change is to limit the amount of labels and to display the labels only when necessary.
🎥 Demo
Before:

After:

@metalice @pcbailey @upalatucci @vojtechszocs please review

/lgtm


Publish bitcoin donation addresses for every public key (ℹ some contributors could have same name)

This is optional, as we have at least 2 addresses, this issue is to be seen as done.
Fixed with following commit: https://github.com/cevap/ion/commit/03182ba446f55224b51b4ce23902ecf08f64f07a
Follwing addresses have been added
🗺 CEVAP<EMAIL_ADDRESS>

Btc: 3DHhT6c2BN86Tx6D2w615UUSFvUwT41jY7

🗺 🔩ASPA🔩

Btc: 1DKj3yeJrMShP8MdnKpTTG8TKb7ymaFN1p

Addresses updated. This is optional and will be closed now.

My bitcoin address 14barGgijZmvXAKwMDrQLjChfKuwtnfCfW


Spinner design followup (PowerGreen only vs. changeable color)

😯 Problem to Solve
Followup from #822 for #346
The XD design for the spinner has a "Color UI Alt" version that makes the spinning bits the PowerGreen color. There's discussion/ an open question in #837 on how we should expose that variant:

Have we shipped apps using that color variant already / do we already have specific apps in mind that will use that specific color for a spinner? (Brandon to answer this)
Do we instead need a more general way for apps to provide an arbitrary/custom color for the spinner, to match their app theme/ background?

Dev note: In this case, we'd make a new token like spinner-color that can be overridden, and follow the same patterns we did for the icon colors which also allow overrides.

I'm still looking into where the power-green color scheme has been used.
I created an update to the design spec including additional sizes for the "bits-squares."
Sizes now include:
16, 32, 48, 96, 128

We'll move forward without the Powergreen version of the bits spinner.  I have not found where it's implemented.

Also, we have returned to the original sizes with 16, 32, 64.


Connection error event does not emit unless there is a parameter in the callback.

Not really sure if this is considered a bug or not,  because in a real world scenario you wouldnt handle the error without using the error messages in the callback.   But,  I was just testing and at first I thought that the error callback wasnt working, but finally figured out that it was just not working if the callback has an empty argument list.   Generally in javascript I assume that the arguments of a callback are optional and can be named however,  And that lead me to believe there was a bug in this event.  But,  it turns out that there is just an interesting conditional in connection.js that somehow requires that the function contain an argument.
// line 166 connection.jsjjj
if (self._events && self._events.error && self._events.error.length) {

/* this code does not work */
mongoose = require("mongoose")

mongoose.connection.on("error",function() {
   console.log(err)
   console.log("This statement does not execute,  but there is no mongodb server to connect to.")
})

mongoose.connect("mongodb://localhost/testbug")

/* this code will work */
mongoose = require("mongoose")

mongoose.connection.on("error",function(err) {
   console.log(err)
   console.log("Hello from error event! ")
})

mongoose.connect("mongodb://localhost/testbug")

Further tests reveal the error callback is also required,  or this error occurs.
"DEBUG: TypeError: Cannot read property 'error' of undefined"


Allow json config filename to be specify from the command line

Hi,
Feature Request
A command line option to specify the json config filename.
Summary
Right now, embark assumes that the config file is named embark.json. It would be nice to be able to specify the filename from the command line.
Thanks!

Hi @montyly
Sorry for the late reply here. Just to confirm, you're probably referring to having something like
$ embark run --config ./path/to/config/file.json

I think this is a good idea. Will add this to our internal issue tracker.
Thanks for this feature request!


Unable to view/read MIME attached forwarded emails

Today I forwarded myself an email as an attachment, but K9Mail isn't capable of reading it.
That's right, K9Mail is an email application that can't read emails.
The email itself is just a MIME attachment. I can download the file, but the only option available to open it is gmail. Yep, I have to open the attachment with gmail because I can't read it with K9Mail, which doesn't seem to register itself as a mail application with the system.
K-9 Mail version: 5.008
Android version: Cyanogenmod 12.1

K-9 definitely registers itself with the system for e-mail. It may not be registering itself for the specific attachment type.
And this actually seems to crash the application in the current code (with the eml file I tried), when it hits this line:
https://github.com/k9mail/k-9/blob/9ebf411d95a9cb1f6918016d982d8ca6467d1a8a/k9mail/src/main/java/com/fsck/k9/mailstore/LocalMessageExtractor.java#L529
But the bug is likely before this in the message parsing phase.

Could it be that the Application/Viewer is selective in that it does not allow a file/object to be opened from the application whence the request came from?
Otherwise maybe I need a reinstall.

Removed my comment about the crash.
We register to read and send emails. We don't register to receive files. When we handle an attachment we treat (correctly) as a file.
The MIME type of a EML file is (from an example I created) text/plain. So in order to handle this we'd have to look for all text/plain content, then try and convert into a MimeMessage and then display it.
This is an enhancement.
The bug I found is a separate issue and was because I'd encrypted the email with the attachment.
On a semi-related note K-9 doesn't support forwarding emails as attachments right now either,

The system recognizes the forwarded attachment file as an email, as the two possible options to open it with are gmail and the built-in Cyanogen "mail" application. It would seem reasonable for K9Mail to also be on this list, but it isn't. Could this be changed?
I imagine that the best solution would be for K9 to display, or give the option to download/display the attached forwarded mail, but just adding K9 to the list of applications which could open the file would probably be appropriate.
I agree this is an enhancement, but given how many mails I get which are forwarded as attachments these days, it's a pretty important one for me.

One final thought: Imagine my frustration as I forwarded myself an important email that I needed out in the field. Once I got to where I was going and needed to read that email, I was unable to do so using K9mail. I had to install/use another mail application to do it.

"just adding K9 to the list of applications which could open the file would probably be appropriate."
means adding Android handling intents. It also means making the display class work with a file rather than an email from the DB.
I agree it's frustrating. None of what I've put means it won't get done and depending on how many contributors and how they prioritize stuff it'll likely get done sooner or later.

Duplicate of #733


Update to latest version of wshook as old version misses events

I took the wshook.js contents from your latest branch of that and put it into the libsToInject.js here in place of the previous code. I've tried to format it as similar as possible to the way the previous version was formatted so there are a few extra new lines and semi-colons compared to the raw version in your wshook repository.

I've used Hookish to understand what a few websites are doing. I'm looking at wsHook for potentially using in a custom Google extension or maybe using it with TamperMonkey scripts (if I can get it to execute early enough)

@tturner Thanks. Appreciate you sharing that. All the best.


Multithreading

Is this support creation threads or tasks?
Does this support socket programming for listener and sending using UDP and TCP.

Can we write multiple Tasks/routines to support Http web serer and separate routing running check serial port and perform sending packet/message over UDP/TCP Socket.
Is this limited to single Task in JavaScript at a time?


CR of character parties

Adjust CR of character parties so that a mirror image of the player character party is the same CR as the party's level.

This is also sort of a customization - some people will want to play with the original rules, others with this variant.  It will have to be optional somehow to say that character parties should be generated this way.


EBSI V3 compliancve test CT Qualification through VP Exchange Failed

this test is after the 3 tests
it requires to get in teh wallet the 3 VCs from cross device flow or same device flow

I will need to get the OIDC4VP request to understand precisely what they do


kube-apiserver unable to write to etcd

In about 100 test runs overnight, 5 clusters failed with the same problem:
Nodes try to register with the apiserver, apiserver sends back a 500.
Looking at the kube-apiserver logs, I see:
E0619 20:37:50.685032       5 errors.go:62] apiserver received an error that is not an api.Status: 501: All the given peers are not reachable (failed to propose on members [http://<IP_ADDRESS>:4001] twice [last error: Unexp
ected HTTP status code]) [0]
I0619 20:37:50.685229       5 handlers.go:135] POST /api/v1/namespaces: (12.228060557s) 500
...
E0619 20:37:50.643558       5 errors.go:62] apiserver received an error that is not an api.Status: 501: All the given peers are not reachable (failed to propose on members [http://<IP_ADDRESS>:4001] twice [last error: Unexp
ected HTTP status code]) [0]
I0619 20:37:50.643762       5 handlers.go:135] POST /api/v1/nodes: (12.228247163s) 500

To me, that looks like writes to etcd are failing. Looking into the etcd container logs, I see a lot of:
2015/06/19 20:40:38 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/19 20:40:38 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/19 20:40:38 etcdserver: publish error: etcdserver: request timed out
2015/06/19 20:40:38 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/19 20:40:41 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/19 20:40:41 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/19 20:40:42 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/19 20:40:43 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/19 20:40:43 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/19 20:40:43 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/19 20:40:43 etcdserver: publish error: etcdserver: request timed out
2015/06/19 20:40:44 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/19 20:40:44 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/19 20:40:44 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/19 20:40:47 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/19 20:40:47 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/19 20:40:47 etcdhttp: unexpected error: etcdserver: request timed out

Trying to hit etcd directly:
# curl -L http://<IP_ADDRESS>:4001/v2/keys/message -XPUT -d value="Hello world"
{"message":"Internal Server Error"}

Etcd's data directory is pretty empty, other than one entry in members/wal, so I tried listing members:
# curl http://<IP_ADDRESS>:4001/v2/members
{"members":[]}

In a working cluster, that looks more like:
# curl http://<IP_ADDRESS>:4001/v2/members
{"members":[{"id":"ce2a822cea30bfca","name":"default","peerURLs":["http://localhost:2380","http://localhost:7001"],"clientURLs":["http://<IP_ADDRESS>:4001"]}]}

I'm about at the extent of my etcd knowledge, so if anybody has any idea what else to poke at, I'd love to hear it.

@davidopp @lavalamp @alex-mohr

Comparing the startup of a functioning etcd container to my non-functioning one:
Functional
2015/06/19 21:24:24 etcd: already initialized as member before, starting as etcd member...
2015/06/19 21:24:24 etcd: listening for peers on http://localhost:2380
2015/06/19 21:24:24 etcd: listening for peers on http://localhost:7001
2015/06/19 21:24:24 etcd: listening for client requests on http://<IP_ADDRESS>:4001
2015/06/19 21:24:24 etcdserver: datadir is valid for the 2.0.1 format
2015/06/19 21:24:24 etcdserver: recovered store from snapshot at index 440044
2015/06/19 21:24:24 etcdserver: name = default
2015/06/19 21:24:24 etcdserver: data dir = /var/etcd/data
2015/06/19 21:24:24 etcdserver: member dir = /var/etcd/data/member
2015/06/19 21:24:24 etcdserver: heartbeat = 100ms
2015/06/19 21:24:24 etcdserver: election = 1000ms
2015/06/19 21:24:24 etcdserver: snapshot count = 10000
2015/06/19 21:24:24 etcdserver: advertise client URLs = http://<IP_ADDRESS>:4001
2015/06/19 21:24:24 etcdserver: loaded cluster information from store: default=http://localhost:2380,default=http://localhost:7001
2015/06/19 21:24:24 etcdserver: restart member ce2a822cea30bfca in cluster 7e27652122e8b2ae at commit index 448981
2015/06/19 21:24:24 raft: ce2a822cea30bfca became follower at term 2
2015/06/19 21:24:24 raft: newRaft ce2a822cea30bfca [peers: [ce2a822cea30bfca], term: 2, commit: 448981, applied: 440044, lastindex: 448981, lastterm: 2]
2015/06/19 21:24:26 raft: ce2a822cea30bfca is starting a new election at term 2
2015/06/19 21:24:26 raft: ce2a822cea30bfca became candidate at term 3
2015/06/19 21:24:26 raft: ce2a822cea30bfca received vote from ce2a822cea30bfca at term 3
2015/06/19 21:24:26 raft: ce2a822cea30bfca became leader at term 3
2015/06/19 21:24:26 raft.node: ce2a822cea30bfca elected leader ce2a822cea30bfca at term 3
2015/06/19 21:24:26 etcdserver: published {Name:default ClientURLs:[http://<IP_ADDRESS>:4001]} to cluster 7e27652122e8b2ae

Non-functional
2015/06/19 21:21:29 etcd: already initialized as member before, starting as etcd member...
2015/06/19 21:21:29 etcd: listening for peers on http://localhost:2380
2015/06/19 21:21:29 etcd: listening for peers on http://localhost:7001
2015/06/19 21:21:29 etcd: listening for client requests on http://<IP_ADDRESS>:4001
2015/06/19 21:21:29 etcdserver: datadir is valid for the 2.0.1 format
2015/06/19 21:21:29 etcdserver: name = default
2015/06/19 21:21:29 etcdserver: data dir = /var/etcd/data
2015/06/19 21:21:29 etcdserver: member dir = /var/etcd/data/member
2015/06/19 21:21:29 etcdserver: heartbeat = 100ms
2015/06/19 21:21:29 etcdserver: election = 1000ms
2015/06/19 21:21:29 etcdserver: snapshot count = 10000
2015/06/19 21:21:29 etcdserver: advertise client URLs = http://<IP_ADDRESS>:4001
2015/06/19 21:21:29 etcdserver: restart member ce2a822cea30bfca in cluster 7e27652122e8b2ae at commit index 0
2015/06/19 21:21:29 raft: ce2a822cea30bfca became follower at term 0
2015/06/19 21:21:29 raft: newRaft ce2a822cea30bfca [peers: [], term: 0, commit: 0, applied: 0, lastindex: 1, lastterm: 1]

It looks like the lone etcd server is choosing to become a follower of nothing?

On my non-functional master, it looks like the etcd container came up and was on its way to working when it was torn down:
# docker logs 87e75f1b9276
2015/06/19 06:33:42 etcd: listening for peers on http://localhost:2380
2015/06/19 06:33:42 etcd: listening for peers on http://localhost:7001
2015/06/19 06:33:42 etcd: listening for client requests on http://<IP_ADDRESS>:4001
2015/06/19 06:33:42 etcdserver: datadir is valid for the 2.0.1 format
2015/06/19 06:33:42 etcdserver: name = default
2015/06/19 06:33:42 etcdserver: data dir = /var/etcd/data
2015/06/19 06:33:42 etcdserver: member dir = /var/etcd/data/member
2015/06/19 06:33:42 etcdserver: heartbeat = 100ms
2015/06/19 06:33:42 etcdserver: election = 1000ms
2015/06/19 06:33:42 etcdserver: snapshot count = 10000
2015/06/19 06:33:42 etcdserver: advertise client URLs = http://<IP_ADDRESS>:4001
2015/06/19 06:33:42 etcdserver: initial advertise peer URLs = http://localhost:2380,http://localhost:7001
2015/06/19 06:33:42 etcdserver: initial cluster = default=http://localhost:2380,default=http://localhost:7001
2015/06/19 06:33:42 etcdserver: start member ce2a822cea30bfca in cluster 7e27652122e8b2ae
2015/06/19 06:33:42 raft: ce2a822cea30bfca became follower at term 0
2015/06/19 06:33:42 raft: newRaft ce2a822cea30bfca [peers: [], term: 0, commit: 0, applied: 0, lastindex: 0, lastterm: 0]
2015/06/19 06:33:42 raft: ce2a822cea30bfca became follower at term 1
2015/06/19 06:33:42 etcdserver: added local member ce2a822cea30bfca [http://localhost:2380 http://localhost:7001] to cluster 7e27652122e8b2ae
2015/06/19 06:33:43 received terminated signal, shutting down...
2015/06/19 06:33:42 etcd: listening for peers on http://localhost:2380
2015/06/19 06:33:42 etcd: listening for peers on http://localhost:7001
2015/06/19 06:33:42 etcd: listening for client requests on http://<IP_ADDRESS>:4001
2015/06/19 06:33:42 etcdserver: datadir is valid for the 2.0.1 format
2015/06/19 06:33:42 etcdserver: name = default
2015/06/19 06:33:42 etcdserver: data dir = /var/etcd/data
2015/06/19 06:33:42 etcdserver: member dir = /var/etcd/data/member
2015/06/19 06:33:42 etcdserver: heartbeat = 100ms
2015/06/19 06:33:42 etcdserver: election = 1000ms
2015/06/19 06:33:42 etcdserver: snapshot count = 10000
2015/06/19 06:33:42 etcdserver: advertise client URLs = http://<IP_ADDRESS>:4001
2015/06/19 06:33:42 etcdserver: initial advertise peer URLs = http://localhost:2380,http://localhost:7001
2015/06/19 06:33:42 etcdserver: initial cluster = default=http://localhost:2380,default=http://localhost:7001
2015/06/19 06:33:42 etcdserver: start member ce2a822cea30bfca in cluster 7e27652122e8b2ae
2015/06/19 06:33:42 raft: ce2a822cea30bfca became follower at term 0
2015/06/19 06:33:42 raft: newRaft ce2a822cea30bfca [peers: [], term: 0, commit: 0, applied: 0, lastindex: 0, lastterm: 0]
2015/06/19 06:33:42 raft: ce2a822cea30bfca became follower at term 1
2015/06/19 06:33:42 etcdserver: added local member ce2a822cea30bfca [http://localhost:2380 http://localhost:7001] to cluster 7e27652122e8b2ae
2015/06/19 06:33:43 received terminated signal, shutting down...

Looks like this is a known etcd bug, fixed in 2.0.12.
The workaround is "Do not shutdown the etcd member too fast (wait for at least a second)." Now to figure out why we are killing the etcd container...

I read etcd bug, and this issue. Here is my question:

Who kill etcd at the first place? kubelet? because liveness failure?
If liveness is the case, we might misconfigure the Probe with not long enough InitialDelaySeconds?

No, it's the old kubelet restarts docker thing. :/

Ahh, another chicken-egg issue at bootstrap time.

In this case, I don't think it's kubelet killing the pod. I think it is salt bouncing docker after its initial configuration of cbr0.

Looks like updating to etcd 2.0.12 did not fix this issue. Another failure from last night:
From the kube-apiserver logs.
I0622 20:34:03.081625       5 trace.go:57] Trace "Create *api.Namespace" (started 2015-06-22 20:33:50.854808199 +0000 UTC):
[53.755µs] [53.755µs] About to create object
[12.226780329s] [12.226726574s] END
I0622 20:34:03.081625       5 trace.go:57] Trace "Create *api.Namespace" (started 2015-06-22 20:33:50.853932917 +0000 UTC):
[84.009µs] [84.009µs] About to create object
[12.227655603s] [12.227571594s] END
E0622 20:34:03.081680       5 errors.go:62] apiserver received an error that is not an api.Status: 501: All the given peers are not reachable (failed to propose on members [http://<IP_ADDRESS>:4001] twice [last error: Unexpected HTTP status code]) [0]
E0622 20:34:03.081686       5 errors.go:62] apiserver received an error that is not an api.Status: 501: All the given peers are not reachable (failed to propose on members [http://<IP_ADDRESS>:4001] twice [last error: Unexpected HTTP status code]) [0]

And in the etcd container's logs:
...
2015/06/22 16:18:48 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/22 16:18:48 etcdserver: publish error: etcdserver: request timed out
2015/06/22 16:18:51 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/22 16:18:51 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/22 16:18:51 etcdhttp: unexpected error: etcdserver: request timed out
2015/06/22 16:18:52 etcdhttp: unexpected error: etcdserver: request timed out
...

Just to confirm:
# curl "http://<IP_ADDRESS>:4001/version"
etcd 2.0.12

Ok, I have a fix based on #10153 which doesn't execute any podspecs until network configuration is done no matter it is master nodes or minion nodes, the detail can be found at  https://github.com/GoogleCloudPlatform/kubernetes/pull/10153#issuecomment-113729964. Then I start validating the fix. I never run into the issue reported here and #9822 even without the fix. So to make sure no race completely between configing cbr0 and starting static pods, there shouldn't have any master component related containers being killed by docker at booting time. But unfortunately, I still observed a lot killings which could cause etcd_server failure reported here, or #9822 or some other unknown issues for master components. Below is one of those examples:
# docker ps -a
...
4bfdec46289e        gcr.io/google_containers/kube-apiserver:d66676aac636c00aff5833d555a27e6f            "/bin/sh -c '/usr/lo   30 minutes ago      Exited (0) 30 minutes ago                       k8s_kube-apiserver.2060aa6b_kube-apiserver-kubernetes-master_default_9b28a43ce4b81f8ef3aa697738b5b009_e23fa300
...

To make sure kubelet does configure cbr0 and restart docker
# cat kubelet.log | grep "Recreated cbr0 and restarted docker"
I0623 00:23:26.802295    3536 container_bridge.go:51] Recreated cbr0 and restarted docker

CBR0 does configured properly, and docker is restarted due to it. Also syncLoop does skipped if network is not configured properly. Then why?
Then I checked the timestamps of docker container, and found it is killed before the new version of kubelet run, which means it is started by pre-installed kubelet and killed by docker later:
# docker inspect 4bfdec46289e

    "State": {
        "Dead": false,
        "Error": "",
        "ExitCode": 0,
        "FinishedAt": "2015-06-23T00:23:26.889106704Z",       <======================= Note the timestamp here is around the same time of above kubelet log.
        "OOMKilled": false,
        "Paused": false,
        "Pid": 0,
        "Restarting": false,
        "Running": false,
        "StartedAt": "2015-06-23T00:23:21.647061431Z"
    },

Kubelet log also proves this:
# cat kubelet.log | grep  4bfdec46289e
I0623 00:23:21.361813    2368 event.go:203] Event(api.ObjectReference{Kind:"Pod", Namespace:"default", Name:"kube-apiserver-kubernetes-master", UID:"9b28a43ce4b81f8ef3aa697738b5b009", APIVersion:"v1", ResourceVersion:"", FieldPath:"spec.containers{kube-apiserver}"}): reason: 'created' Created with docker id 4bfdec46289e34ede91ff8a5d87e7857586b3b6078b4e0000decaab0771aa54a
I0623 00:23:21.678145    2368 event.go:203] Event(api.ObjectReference{Kind:"Pod", Namespace:"default", Name:"kube-apiserver-kubernetes-master", UID:"9b28a43ce4b81f8ef3aa697738b5b009", APIVersion:"v1", ResourceVersion:"", FieldPath:"spec.containers{kube-apiserver}"}): reason: 'started' Started with docker id 4bfdec46289e34ede91ff8a5d87e7857586b3b6078b4e0000decaab0771aa54a

After digging into it more, I realized that we are going to have this race until re-cutting containervm image with the new fix I had or I have to make sure kube-master-addons run after newly installed kubelet and docker (only flags) run. Based on my testing of shuting down cluster and recreating, actually this race causes most the killings at the boot time. Thus, I introduced https://github.com/dchen1107/kubernetes-1/commit/eb3c8ae92c5cbd7a5ab8a097a805302465ca16c2 to handle this.


GPIO: Prefer compile-time checks over runtime checks where possible, prefer a fallible API over panics.

AnyPin operations panic when the underlying pin is incompatible.
listen_with_options panics with some parameter combinations

Hello, we tried to solve the issue.
This is what we did:
This change addresses the issue where AnyPin operations panic when the underlying pin is incompatible and listen_with_options panics with some parameter combinations. We modify the AnyPin implementation to handle incompatible pins gracefully and update listen_with_options to avoid panicking.
You can review changes in this commit: https://github.com/mnmnk43434/esp-rs-esp-hal-2710/commit/69fd8f549a51cf93bb1b2c2ad373532f083fb764.

[!CAUTION]
Disclaimer: The concept of solution was created by AI and you should never copy paste this code before you check the correctness of generated code. Solution might not be complete, you should use this code as an inspiration only.

If you no longer want Latta AI to attempt solving issues on your repository, you can block this account.


Glitch in basisAnnotate when id_type is "SYMBOL"

Hello,
When running the basisAnnotate function on a test dataset (Seurat's test dataset), I noticed that the function fails when using id_type = "SYMBOL" with the following error:
Error in names(x) <- value : 'names' attribute [2] must be the same length as the vector [1]

It seems this error occurs because in the clusterProfiler::compareCluster function, "readable" must be set to FALSE if keyType="SYMBOL". I was able to fix the issue by modifying the basisAnnotate function code to set "readable=FALSE".
Best,
Alex

Hi Alex,
Thank you for pointing this out! We will fix this issue soon.
Best,
Kexin


Support custom folder names for github-actions

Current situation:
The github-actions: "package-ecosystem" does always assume (as implemented here) that the files to be checked by Dependabot are in a folder called .github/workflows, even if you override the folder using the directory property.
I.e. for directory: "foo/bar", the GitHub Actions are assumed to be in foo/bar/.github/workflow.
Desired situation:
In our use case we have a repository that provisions other repositories. While this repository has its own .github/workflow (which is fine), it also has the GitHub Actions for the repositories to be provisioned, in: foo/bar/github/workflows. Since this is inside our source tree, we would like to avoid dotfiles (hence github over .github), but this is not supported by Dependabot.
Notes:

I don't think there is much of a real use case for having foo/bar/.github/workflow follow the .github/workflow pattern. I am not aware of .github/workflow having any special meaning to GitHub unless appearing in the root of a repository.
I appreciate that a naive solution to the above would be a breaking change, but a less-naive solution could be to check foo/bar/.github/workflow for a given directory: "foo/bar", and then to fall back to check "just" foo/bar. This would allow me to configure directory: foo/bar/github/workflows, which would then first check foo/bar/github/workflows/.github/workflows, but then fall back to foo/bar/github/workflows as desired.

Thank you for your time and consideration.

Is this behavior documented?

👋 Hey there! Sorry for the glacially slow response... we've been a bit buried.
I'm going to close this as a dupe of the following:

https://github.com/dependabot/dependabot-core/issues/5137
https://github.com/dependabot/dependabot-core/issues/5047

I realize this ticket was filed first, but those have more details/comments, so let's continue the conversation there.


Set up public distribution of executables for Mac OS, Linux, Windows

From @dturanski on January 19, 2018 22:16
Github, brew...
Copied from original issue: projectriff/riff-cli#8

From @jchesterpivotal on February 14, 2018 15:34
Github is probably the easiest, insofar as we can use the existing github release resource.
For brew I think we'd be able to do something similar, but with another step or two in the pipeline.

Current PR to get an official Homebrew recipe: https://github.com/Homebrew/homebrew-core/pull/37101.

I've got something working with Chocolatey as well. It's in a private repository for now.
Let me know if I should create a repo in projectriff org (contrary to Homebrew by default, Chocolatey package sources live anywhere).

Chocolatey sources are now in https://github.com/projectriff/chocolatey.

see also #1143


Fixes TextBlock TextProperty update handling

What does the pull request do?

What is the current behavior?

What is the updated/expected behavior with this PR?

How was the solution implemented (if it's not obvious)?

Checklist

[ ] Added unit tests (if possible)?
[x] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/Documentation with user documentation

Breaking changes

Obsoletions / Deprecations

Fixed issues

You can test this PR using the following package version. 11.0.999-cibuild0025701-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]

You can test this PR using the following package version. 11.0.999-cibuild0025719-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]


Indicator dots are not being shown

I am trying to add this to my project but the dots aren't being shown.
This is my page
<?xml version="1.0" encoding="UTF-8"?>
<ContentPage
    Title="Verify Account"
    xmlns:pin="clr-namespace:FormsPinView.PCL;assembly=FormsPinView.PCL"
    xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:behaviors="clr-namespace:Prism.Behaviors;assembly=Prism.Forms" xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms" prism:ViewModelLocator.AutowireViewModel="True" x:Class="StaffGenius.Engage.Views.VerifyAccountPage">

     <pin:PinView

            Title="🔐 Enter your PIN"
            HorizontalOptions="CenterAndExpand"
            VerticalOptions="CenterAndExpand"
            BindingContext="{Binding PinViewModel}" />
</ContentPage>

and my view model
  public class VerityAccountPageViewModel : BindableBase
    {
        public VerityAccountPageViewModel()
        {

        }

        public PinViewModel PinViewModel { get; private set; } = new PinViewModel
        {
            TargetPinLength = 4,
            ValidatorFunc = (arg) =>
            {
                //TODO Check entered pin
                return true;
            }
        };
    }
}

The view model wasn't binded properly.

hi jd-alexander, can i know how you implemented ValidationFunc based on the README file
thanks


[terra-form-select] Show the display of the active option

Summary
When the search string in the select input matches the display of an option, tabbing away would add the search string as a new option. As a result, the menu would have duplicate options with the display being the same but the value would be different. This PR is to show the display of the active option in the select input. When there is a match, the option in the menu would be selected instead of the adding a new option using the search string as the display and value.
Additional Details

Closes #2257
When navigating the options in the menu using the Up/Down arrow keys, the pre-selected option will be displayed in the select input.
Move the Add option to be the top option in the menu.

Deployment Link
https://terra-core-deployed-pr-2474.herokuapp.com/#/components/terra-form-select/form-select/select
Note: This PR currently does not include new tests or fixing existing tests. These changes will come shortly.
Thanks for contributing to Terra.
@cerner/terra

I'm seeing some strange keyboard navigation behavior with the form select control. The Enter/Return key should open the menu. Currently only spacebar and down arrow will open the menu. Also, the Dropdown icon should receive tab focus since it is clickable. Finally, on desktop Safari, the menu displays but the items are not highlighted accurately as you arrow through the options

(see screenshot)

This PR has conflicts with the changes made in #2549. Putting this PR on hold and will refactor once #2549 is merged.


haskellPackages.haskell-language-server: Fix expression

Motivation for this change
Fixes a derivation error because of new hie-bios release.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build haskellPackages.haskell-language-server
@GrahamcOfBorg build haskellPackages.hls-ghcide


[CHANGELOG] 0.9.0

This thread serves as a to-do list of new features and improvements for the upcoming 0.9 release.
Compatibility issue

[x] Support gawk 4.1.2. (close #55 )
[x] OS X argument limitation. (close #57)

Display improvement

[x] Use /slaSH/ for IPA phonemic notations, and (Marugakko) for other types of phonetic notations (Pinyin, Romaji, etc.).
[x] New (yes-or-no) options for display adjustment: -show-original, -show-original-phonetics, -show-translation, -show-translation-phonetics, -show-prompt-message, -show-languages, -show-original-dictionary, -show-dictionary, -show-alternatives.
[x] New option for indentation adjustment: -indent.
[x] New option for screen viewing using less or more: -v, -view. (-v was the shorthand for -verbose before, but this can be changed to do something else since no one actually uses the -verbose option)

[x] New option for specifying the terminal pager to use: -pager.

Functionality improvement

[x] Show dictionary entry of the original word. (close #51)
[x] New option to show dictionary entry of the original word: -d, -dictionary. (extension to #51)
[x] Add a configuration file. (because maintaining a lot of environment variables is a pain in the ass)
[x] Optional color theme. ANSI terminal can be made colorful.

Language support

[x] Language code is case-sensitive now.
[x] Support ISO 639-3 code (Google Translate does not recognize them though).
[x] New option to list more details (e.g. name, endonym, language family, ISO code, writing system, external links) of supported language(s): -L, -list.

REPL improvement

[x] New option alias for opening the REPL: -shell.
[ ] More REPL commands.

[ ] [sl]:[tl] translate from one language to another
[ ] :set set an option
[ ] :show show the value of an option

Networking

[x] New option for customizing User-Agent: -u, -user-agent. (close #44)

Self-upgrading and plugins

[ ] New option for upgrading trans itself: -U, -upgrade.
[ ] New option for installing new themes.

Misc

[x] For users who install trans from Makefile, make install puts all stuff to /usr/local/ now by default; Downstream packagers should use make PREFIX=/usr install as a convention.
[ ] Update README.md. (close #52)

Breaking change: command-line options -prompt and -prompt-color are deprecated now. (as well as related environment variablesTRANS_PS and TRANS_PS_COLOR)
Prompt style can be set via configuration variables fmt-prompt and sgr-prompt.

With regard to system limitations (#57): the embedded manual page is still implemented as an environment variable ($TRANS_MANPAGE) of length ~11626 (as of now) which counts towards the ARG_MAX space consumption.
The shell wrapper should now really work on a reasonable number of *nix systems: Hurd (unlimited), Solaris-based (at least 2096640), Modern BSD / OS X (262144), Linux (131072 for each arg/env), Cygwin (30000).
Reference: http://www.in-ulm.de/~mascheck/various/argmax/


Print a warning when branch protection is not updated because PR is draft

See: https://github.com/product-os/flowzone/pull/464
The workaround is to mark the PR as Ready for Review and re-run the tests. We should communicate this.

We no longer configure repository settings, so this can be closed.


[13.0] ISPN-13578 Workaround for Elytron not using supplied providers

https://issues.redhat.com/browse/ISPN-13578

Thanks @tristantarrant


release 1.1.0 - July 17th 2019

PR #82 is changing the way rio_cogeo.cogeo.cog_translate handle blocksize for small dataset thus this need a new minor version: 1.1.0

done in https://github.com/cogeotiff/rio-cogeo/commit/00d6ac2bb8f39011a31f7a9b88d80623af89fcf2


Codec Readme

As discussed it would be helpful to have more documentation around using content types and creating content types. This takes a first pass at that.

@nakajima if you get a moment can you read over this doc and make sure this all makes sense?


added workflow

Description
This workflow will comment when the first PR is opened and give comment on stale PR informing the contributors about it.
Fixes #92
Checklist

[x] I have tested these changes locally.
[x] My code follows the project's coding guidelines.
[x] I have updated the documentation, if necessary.
[ ] I have added tests to cover my changes.

@chandel-aman Please review the code.
Thankyou

@chandel-aman Please review the code.
Thankyou

@Ratangulati Could you please provide a working demonstration of your code?
Maybe you could add the workflow code to a dummy branch on your forked repo and make a PR from another branch. Add a video doing the same

The video was getting bigger than 10 MB so have posted images.

@chandel-aman Please review the code and merge it.

@chandel-aman Please review the code and merge it.

@chandel-aman Please review the code and merge it.


.coursier\cache\v1.structure.lock (Access is denied)

I had to comment out this line:
addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.0-RC12")
in my plugins/build.sbt, after I started getting the following error on any/all Scala projects I tried to build this morning:
coursier.ResolutionException: Exception during resolution
Caused by: java.io.FileNotFoundException: C:\Users\me\.coursier\cache\v1\.structure.lock (Access is denied)

I don't use coursier on windows too often now (but most tests of coursier are also run on a Windows CI, without any notable issue).
Maybe try to remove C:\Users\me\.coursier\cache\v1\.structure.lock? Either it can be removed, or it may print a more explicit error message.

Are any other users of Coursier on Windows?  Or maybe this is something weird with Windows + IntelliJ + Coursier?  This is a recurring headache--it prevents me from doing builds at all.  Granted, Windows is not my choice, it's what we have at work, but no matter how many times I delete the cache folder or the whole .coursier folder/tree, Coursier recreates it and then bombs out when it tries to open/create the file .structure.lock and fails.  I can no longer build any of my projects if Coursier is involved.  I recently upgraded to SBT 1.0, though IntelliJ still uses 0.13.15 (I think).  I just can't figure out why everything stopped building.  This is the error I get all the time now.

I tried this in IntelliJ and outside of it (Cygwin shell), same result.
I tried this with sbt 1.0.2 and 0.13.16, same result.
I blew away ~/{.coursier,.ivy2,.m2}, same result.

Do you have a small ~scenario, that one could try to reproduce, that triggers the error? I might give it a try some day if a can grab a Windows VM…

I'll try cooking something up.  In the meantime, the problem may not be in sbt-coursier, but in coursier or coursier-cache, because separate from my plugins/build.sbt inclusion of sbt-coursier, the project I'm working on that I no longer seem to be able to run includes these dependencies:
"io.get-coursier" %% "coursier" % "1.0.0-RC12",
"io.get-coursier" %% "coursier-cache" % "1.0.0-RC12",

because I'm using:
import coursier._
import scala.collection.mutable
import scala.io.Source
import scala.util.matching.Regex
import scalaz.\/
import scalaz.concurrent.Task

to do things like:
  def getArtifactsAndErrors(items: Set[Item]): (Seq[Artifact], Seq[ResolutionError]) = {
    val deps = mutable.Set[Dependency]()
    items foreach { x => deps += Dependency(Module(x.groupId, x.artifactId), x.version) }
    val start = Resolution(deps.toSet)
    val repositories = Seq(
      Cache.ivy2Local,
      MavenRepository("https://repo1.maven.org/maven2"),
      MavenRepository("http://alocalmachine:8081/nexus/content/repositories/releases/")
    )
    val fetch = Fetch.from(repositories, Cache.fetch())
    val resolution = start.process.run(fetch).unsafePerformSync
    val errors: Seq[ResolutionError] = resolution.metadataErrors
    //val errors: Seq[((Module, String), Seq[String])] = resolution.metadataErrors
    val localArtifacts: Seq[FileError \/ File] = Task.gatherUnordered(
      resolution.artifacts.map(Cache.file(_).run)
    ).unsafePerformSync
    val okArtifacts: Seq[\/[FileError, File]] = localArtifacts filter { f: \/[FileError,File] => f.isRight }
    val files: Seq[File] = okArtifacts flatMap {f => f.toList}
    val filepaths: Seq[String] = files map {f => f.getCanonicalPath} sortWith(_ < _)
    (Artifact.createCollection(filepaths filter {f => f.endsWith(".jar")} ), errors)
  }

I've got the same problem and I'm on windows 10. Sometimes (rarely) it works well inside SBT but most of the time it fails.

Ran the program on macOS and it worked ok.  Just not on Windows 10.

Same problem.

As a reference, I ran into the same issue before on linux/mac, and it was due to permission issue, which was fixed by specifying the cache location where coursier has access to. In the command line case, it would be --cache ...

On this page:  https://github.com/coursier/coursier
there is a line:
val resolution = start.process.run(fetch).unsafePerformSync

and it is in that code that I am having the problem.  Is there any way to break that down into small enough steps that I can see exactly where the Windows 10 permission problem with .structure.lock occurs?

I have some good news, I think, at least if you're running Windows 10 instead of an earlier version of Windows.  It turned out before, at work, I was running Windows 8.1 Pro, not Windows 10 as I thought.  The IT folks just upgraded my work laptop to Windows 10 Pro, and the issue I had with .structure.lock before has completely vanished, that is, the program I wrote using Coursier now works well on Mac, GNU/Linux and Windows (10).

I have to use Win7 at work and was faced with this issue.
I manually created the .structure.lock file each time between sbt runs and that seems to help (it gets deleted on each run).
After a few runs it worked.

I've got the same problem in Windows 10 Enterprise (at work,).  When sbt build is run, i can see the file  .structure.lock appear briefly and then get deleted(this is repeated). Finally  with the error cache\v1.structure.lock (Access is denied)
Is there any workaround for this.

Same problem on Mac. Any idea how to fix this?

Resolved on mac. Just grant folder access to the group, including all enclosed files!

I have

I've got the same problem in Windows 10 Enterprise (at work,). When sbt build is run, i can see the file .structure.lock appear briefly and then get deleted(this is repeated). Finally with the error cache\v1.structure.lock (Access is denied)
Is there any workaround for this.

I have full admin access. I can see sbt create that file in the cache momentarily and gets deleted. This seems to happen in a loop. Also my machine is behind corporate proxy. Not sure if there is any workaround. Until i get workaround, have to stick with older version of SBT(0.13.15) which works fine.

2022-11-11: I just ran into this issue with 'sbt 1.5.8' on a Windows Server.  Just in case if you run into the problem, I was able to resolve this (without knowing what has completely fixed it).
Re-installing the sbt
Cleaning .ivy2 directory (this is likely the cause)
Cleaning ~.,sbt directory
Make sure that all local dependencies are built
It appears that if we encounter an unresolved reference, then the sbt reports the lock failure.


Fix linalg.lstsq for complex types

Fix #4389.
Merge #4388 first.

pfnCI, test this please.

Jenkins CI test (for commit ab0dbf464d4099ffc5333a79e261039fadba79e8, target branch master) succeeded!

LGTM!

Waiting for #4425 merged to make backport of this PR.


[OPS-808] add option for forcing oauth chooser

Things used for reference:

https://stackoverflow.com/questions/14384354/force-google-account-chooser
https://stackoverflow.com/questions/10508557/why-does-google-oauth2-re-ask-user-for-permission-when-i-send-them-to-auth-url-a

This might have the effect of it asking for consent every time now that the approval prompt option works again. Might want to turn that off.

Wow, thanks! Yeah, I don't actually have a go development setup

Okay, I ran go format to fix it.

Please reintent? :D


non-standard import ...... in standard package

After executing the command "make" , some errors are returned, as is following:
mkdir -p build/gen
protoc -I=idl --go_out=plugins=grpc:build/gen idl/*.proto
go get ./...
/usr/local/go/src/panorama/build/gen/health.pb.go:8:2: non-standard import "github.com/golang/protobuf/proto" in standard package "panorama/build/gen"
/usr/local/go/src/panorama/types/health.go:12:2: non-standard import "github.com/golang/protobuf/ptypes" in standard package "panorama/types"
/usr/local/go/src/panorama/decision/majority.go:4:2: non-standard import "github.com/golang/protobuf/ptypes/timestamp" in standard package "panorama/decision"
/usr/local/go/src/panorama/exchange/exchange.go:7:2: non-standard import "github.com/golang/protobuf/ptypes" in standard package "panorama/exchange"
/usr/local/go/src/panorama/service/service.go:8:2: non-standard import "github.com/golang/protobuf/ptypes" in standard package "panorama/service"
/usr/local/go/src/panorama/store/raw.go:13:2: non-standard import "github.com/golang/protobuf/ptypes" in standard package "panorama/store"
make: *** [get] Error 1

Hi,
You probably mixed up your GOROOT and GOPATH setting. The project should be cloned into $GOPATH (https://github.com/golang/go/wiki/GOPATH) not $GOROOT (which contains the standard go libraries). Let me know if that resolves the error.

I have tried your suggestion and still fail. I re-install the os system and try the step you list in the README.md in a new environment. Finally, I success.


Missed file MissingEnvVarsError.js in 4.0.0 version during install

There is the error on new version. MissingEnvVarsError.js is missed in package.json file list, so we didn't publish the file.

Amateurish mistake on my end, sorry about that. I'll review the PR later today and make a new release.

Released a fix in 4.0.1. Thanks for reporting!


Added Jupyter Chapter 1.2 (Musig Introduction)

Previous chapter feedback which has been incorporated in this PR.

rebased on master

Feedback has been incorporated. Imports (updated) methods from separate musig module. Uses bitcoin (taproot) branch from here.

rebased on master

added a commit with lots of nitty changes


Split rules into individual files

Would it be beneficial to split rules into individual files? Looking at it, it looks like rules.py is going to get pretty big. Perhaps we should put them in rules/__init__.py and each rule in rules/{rule_name}.py?

:+1: to this, the reference implementation follows the same pattern

With 9 rules out of 22, rules.py is now 280 lines. I think ~700 lines when complete is not that big. Also, it seems that single huge module file is common practice in Python libs (unlike JS).

Some rule files seem to be pretty big. I think that it will end up being in the 2k loc range. Also splitting them up will avoid merge conflicts better. Seems like small trade off for large benefit. Your decision.

On Sep 17, 2015, at 7:31 PM, Taeho Kim<EMAIL_ADDRESS>wrote:
With 9 rules out of 22, rules.py is now 280 lines. I think ~700 lines when complete is not that big. Also, it seems that single huge module file is common practice in Python libs (unlike JS).
—
Reply to this email directly or view it on GitHub.

So. I was pretty far off. With all rules implemented the file is 970 lines.
I still think we should split it. It's unwieldily to work with.

we should probably close this?

Resolved in https://github.com/graphql-python/graphql-core/commit/a88c628b03d0b790dcc57230307c0dd8b78cc6fa


added pre-commit

Added pre commit and its changes

The entire reason why I asked us to create a CONTRIBUTING.md was to include instructions so developers configure pre-commit hooks on the repo locally in their machines. I didn't see that on the content of the file.

@asieira to configure locally, it just needs to run the make lint, because it will install all the dependencies automatically, based on the .pre-commit-config.yml, exactly as I wrote on the CONTRIBUTING. Do you have any suggestions for others configurations to be described there?

The entire reason why I asked us to create a CONTRIBUTING.md was to include instructions so developers configure pre-commit hooks on the repo locally in their machines. I didn't see that on the content of the file.

@asieira to configure locally, it just needs to run the make lint, because it will install all the dependencies automatically, based on the .pre-commit-config.yml, exactly as I wrote on the CONTRIBUTING. Do you have any suggestions for others configurations to be described there?

My bad, I read past that make lint comment. Approving the PR, thank you.


Some config move to runtime level

Error
Log
Session

With https://github.com/windwalker-io/core/issues/1273


Add filtering to Meltano UI

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/759
Originally created by @iroussos on 2019-07-02 15:05:04

Problem to solve
With our current feature offerings, a user can add a model in Meltano UI and analyze the data brought in through the ELT pipeline.
Meltano Analyze allows users to quickly define designs and dashboards, select the analytics tables that will be available, the columns that can be used for grouping and the aggregates to be generated.
We generate ad-hoc queries as users select the various columns and aggregates, take care of joining tables that are required, add missing tables and generate the expressions for calculating the proper aggregates.
We are missing a key feature in this report generation process: Allowing users to filter the data.
This is a key requirement for any explorative or ad-hoc data analysis. If I can not filter the data I want to see, the resulting report is not very useful to me. Most probably it is not even the report I want to see.
Target audience
Anyone using Meltano Analyze that wants to generate a realistically meaningful analytical report.
Further details
Using tap-gitlab as an example:
I have fetched all data for gitlab-ce for the past 5 years. I want to run an analysis of how many bugs my team has addressed per user and milestone for the last 30 days.
Without filtering to only keep issues updated during the past 30 days, only select my team contributions and labels with a bug in them, the super nice Issues per Label design is pretty useless: it brings tens of thousands of issues since the creation of the gitlab-ce project and not the ~100 records I want to check.
Proposal
This issue should cover the bare minimum v1 support for features without all the bells and whistles that we can add in future iterations.
While generating the options for any design, two types of attributes are available per included table:

columns (with a type property. e.g. string)
aggregates (always numeric)

I think that the functional requirements for an MVC for supporting this are as follows:

[x]  All the available columns and aggregates in a design should be filterable. No need to update our current m5o definitions. Any column or aggregate available (not hidden) for a table in a design, will be also filterable. i.e. all attributes that show on the left pane of Meltano Analyze will be also available as filters.
[x]  When a user selects a column or an aggregate and filters it, the attribute is also selected. (i.e. it is part of the report columns)
[x]  A filter(s) pane should allow users to add the filter for the selected attribute, review applied filters, edit them and/or remove filters.
[x]  Let's start by treating all attributes the same: {attribute_name} [OPERATION] {value}
[x]  We should support the most common operations: {'less than', 'less or equal than', 'equal to', 'greater or equal than', 'greater than'}, together with {'like', 'is NULL', is NOT NULL}. We can add more as we go and also more specific operations per data type (e.g. dates).
[x]  Let's start with all filters combined with AND and we can add more complicated clauses afterwards.
[x]  Filters over columns result to WHERE clauses, while filters over aggregates result to HAVING clauses.

Once the filters are selected, they are sent by Meltano UI back to the api as part of the JSON payload sent.
We can use the filters parameter that is currently sent empty by Meltano Analyze.
Meltano UI should differentiate between columns and aggregates, as we are also doing for the selection criteria.
JSON payload sent by Meltano Analyze to /get/<topic_name>/<design_name>
{
 ...
 "filters":{
   "columns":[
    {column_filter},
    {another_column_filter},
    ... ... ...
   ],

   "aggregates":[
    {aggregate_filter},
    {another_aggregate_filter},
    ... ... ...
   ]
 }
 ...
}

As the filters are not tied to a specific table, but to the query as a whole, the table_name should be also sent for each column or aggregate, so that the back-end knows which attribute it refers to.
JSON payload
{
 ...

 "filters":{
   "columns":[
    {"table_name":"TABLE_NAME", "name":"COLUMN_NAME", "expression":"equal_to", "value":"VALUE"},
    {"table_name":"TABLE_NAME", "name":"COLUMN_NAME", "expression":"equal_to", "value":"VALUE"},
    ... ...
   ],

   "aggregates":[
    {"table_name":"TABLE_NAME", "name":"AGGREGATE_NAME", "expression":"greater_than", "value":VALUE}
   ]
 }

 ...

}

In the example above:

TABLE_NAME is the name of a m5o Table, in the same way as we send it in the table or the joins->name parameters of the payload. This is a table defined and available in the design.

COLUMN_NAME is the name of a column of one of the tables defined and available in the design. It should be also selected for its table in the columns or the joins->columns parameters of the payload.

AGGREGATE_NAME is the name of an aggregate of one of the tables defined and available in the design. It should be also selected for its respective table in the aggregates or the joins->aggregates parameters of the payload.

expression is one of the valid expressions that we are going to use. We should find a way to provide those expressions to Meltano UI and not hardcode them.
Let's start with: {'less_than', 'less_or_equal_than', 'equal_to', 'greater_or_equal_than', 'greater_than', 'like'}
We should also include the {'is_null', is_not_null} ones, which will require the UI to not ask a value from the user and send an empty value.

VALUE is a value provided by the user. We can start by sending everything as a string and then send numerical values as they are (all aggregates and columns with a numerical data type). It would be nice if we can add this in the first iteration.

A full example with how filters could be sent when using the gitlab_issues_per_label design defined for gitlab.topic.m5o:
JSON payload
{
 "run":false,
 "table":"gitlab_issues_per_label",
 "columns":["label_name"],
 "aggregates":["total_issues","total_issue_merge_requests"],
 "timeframes":[],

 "joins":[
  {"name":"gitlab_projects","columns":[],"aggregates":[]},
  {"name":"gitlab_group_milestones","columns":["title"],"aggregates":[]}
 ],

 "order":null,

 "limit":"5000",

 "filters":{
   "columns":[
    {"table_name":"gitlab_issues_per_label", "name":"label_name", "expression":"equal_to", "value":"Bug"},
    {"table_name":"gitlab_group_milestones", "name":"title", "expression":"like", "value":"%ideas%"}
   ],

   "aggregates":[
    {"table_name":"gitlab_issues_per_label", "name":"total_issues", "expression":"greater_than", "value":250}
   ]
 }
}

This issue will require updates on both the front-end (Meltano UI / Analyze) and the back-end (api controllers and Query engine). The steps that we should follow are as follows:

[x]  @derek-knox will define the UI/UIX and the user flow and add filters on Meltano Analyze.
[x]  @derek-knox will update Meltano Analyze to send the selected filters according to what has been specified above.
[x]  @iroussos will add support for filters for both HDA and single table Queries.
[x]  @iroussos will add tests for the various payloads that can be received, cover edge cases, wrong requests, etc.
[x]  @derek-knox will finalize any UI updates required to make the whole experience seamless, functional and easy to use.

Regression test
(Ensure the feature doesn't cause any regressions)

[x] Write adequate test cases and submit test results
[x] Test results should be reviewed by a person from the team

Tasks

[x] UI cleanup and prep for filters addition

[x] attributes visual hierarchy cleanup (maybe don't even use a panel?, just styled buttons?)
[x] tabs removal refactoring (table always present under the selected chart)

can talk about idea of instancing the Results box, easy to add but likely overkill

[x] BE -> FE filter options
[x] FE filter UI for adding and editing
[x] FE updated query with filters data -> BE
[x] BE -> FE filtered results

[x] table vs charts cleanup + empty state

View 44 previous comments from the original issue on GitLab


Enhance End To End Test

Refactor: Implement Robot Pattern in NavigationTest using NavigationRobot.

Test: Add unit test for AtAppState.
Style: Rename nav button "Book" to "Schedule"
Style: Replace nav button "Schedule", "Contact me" icon.


nginx: security update

Motivation for this change
Update nginx packages:

nginxStable: 1.20.0 -> 1.20.1
nginxMainline: 1.20.0 -> 1.21.0

Fixed CVE-2021-23017
cc @Mic92 @ajs124
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Added a release notes entry if the change is major or breaking
[ ] Fits CONTRIBUTING.md.

Do we need to port this to stable? There are no details on the CVE yet?

http://mailman.nginx.org/pipermail/nginx-announce/2021/000300.html

@Izorkin Will you take care of backporting this?

@Izorkin Will you take care of backporting this?

Created PR.

@Izorkin Will you take care of backporting this?

Created PR.

We will also need a fix for release-20.09.


Cannot editor move camera in block modifying modes

When any of the following modes are selected:

The camera cannot be moved.
This is a significant workflow hindrance, especially since there are no hotkeys to swap modes easily (at least none that are clearly documented as far as I could find). Maybe I'm missing something about the intended workflow, but I'm unsure why moving the camera wouldn't be allowed.

If you mean the viewport camera, you can middle click and drag to rotate the viewport or shift-middle click drag to pan side to side.  You can also mousewheel to zoom the camera.  All three of these tools are designed to do this and it works for me.  Are you unable to do this?

He meant rightclick+wsad to move around the level (wsad doesn't work with middle click).

If you mean the viewport camera, you can middle click and drag to rotate the viewport or shift-middle click drag to pan side to side. You can also mousewheel to zoom the camera. All three of these tools are designed to do this and it works for me. Are you unable to do this?

Right, sorry. @darkhog is correct. I'm referring to right clicking and WASD.

yeah working on a laptop here... no middle click makes things really difficult :(

The tools just pass the middle mouse click along to Godot for navigation.  How are you used to rotating the camera when you're using a laptop?

Right click + wasd. Sorry my comment is confusing in retrospect. I meant it was hard to navigate using these tools because I have no middle click. With right click causing the cancellation of the last operation in these tools it's cumbersome to have to exit the tool in order to move the camera, because I don't have the middle click as an option.

Sorry about that - I fixed this for the other tools but not the ones @CpazR mentioned.  I just checked in a new fix that addresses this.

Check if the paint materials tool suffer from this issue, just to be sure. Then I think it can be closed. BTW. love the hard work you're putting it to make this tool great. Cheers!

Right click fly is working with the other tools too.  I'm going to close this.  Please reopen if you're still having troubles.

This seems to be working mostly well with the new changes. In that it actually accepts this movement. The only question I have is if this is supposed to work more cleanly with the right-click to undo. Because that's still an issue for me.
If not, maybe rebind the undo to require the shift key? Or have the option be toggle-able somehow?
I've been able to make a temporary workaround by simply commenting out the cmd_xform_blocks.undo_it() call wherever the "Right click cancel" comment was left. Not a perfect solution, but it works mostly how I would expect.
Curious to know if this is an issue for anyone else or if I'm missing something?

My thinking was the you should not be trying to reposition the camera in the middle of an edit operation.  I can understand wanting to right-click fly when you're not actively editing something, but moving the camera when you are could have weird side effects.

Maybe I'm just missing something, but is there a way you're supposed to "finalize" an edit operation without de-selecting and re-selecting the tool? Because in the event I need to make multiple edits to the same mesh, I'll likely need to move the camera too.

I can understand wanting to right-click fly when you're not actively editing something, but moving the camera when you are could have weird side effects.

Also an aside to this point, so far with my very hacky workaround, it doesn't mess anything as far as I can tell.

The tool switches between various states as you use it.  When it's in the READY state, it's effectively between operations and safe to fly.  When you're in the middle of dragging something, it isn't.  So as long as you are not currently clicking and dragging a point, you should be able to move around.  The vertex move action is committed every time you release the mouse button.

Except there's still a problem with pressing the RMB undoing your hard work.

I've just checked in a change for 1.0.4 so that shouldn't happen any more.


Restubbing a workflow doesn't copy over labels

When you restub a workflow, any labels associated with the workflow should still exist.

#421


[ISSUE #1833] Support messageBuilder for message

easy use with fluent way
Closes #1833

Coverage decreased (-0.06%) to 50.879% when pulling 0b98a900170f5ffadae614936d37c55f598488df on xujianhai666:feat-msg-builder into 73bb4b402a5da02faf9feded8f4d79dd1ba88348 on apache:master.

@xujianhai666 Could you please check the review suggestions from @superleo-cn ?

@xujianhai666 Could you please check the review suggestions from @superleo-cn ?

@ShannonDing okay, I check that today

@superleo-cn How could I contact u?

@superleo-cn How could I contact u?

You can ping me from Github.

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@73bb4b4). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop    #1836   +/-   ##
==========================================
  Coverage           ?   44.98%
  Complexity         ?     4190
==========================================
  Files              ?      546
  Lines              ?    35766
  Branches           ?     4749
==========================================
  Hits               ?    16088
  Misses             ?    17637
  Partials           ?     2041

Continue to review full report at Codecov.

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


Replace Casbah with the official scala driver

I've never liked Casbah.  this looks much better both in design and documentation.

And Casbah has hit its end-of-life anyway.

I probably won't bother to mend this - I'll just re-write everything in Haskell/postgesql.


[ New Button ] : Added Submit Button { GSSOC'23 }

Fixes Issue
Closes #772

Changes proposed
Added New Submit Innovative and attractive for user Button.

Screenshots

Checklist

[x] You've linked this PR to the correct issue.
[x] You have checked that the code is working correctly.
[x] You ⭐ the repository!

Note to reviewers

@PoorviShetty @Spyware007 Could you plz check the PR and merge it ???

@PoorviShetty @Spyware007 Could you plz check the PR and merge it ???

@PoorviShetty @Spyware007 Could you plz check the PR and merge it ???


SOQL Like Operator Leading Wildcard % Fails on Integer

When the string searched for in the query starts with a number, this fails to return the correct result:
var test = await client.QueryAsync("SELECT Id, CaseNumber, TFS__c FROM Case WHERE TFS__c LIKE '%12364Test%'");
The same query from the SF developer console query panel works:
SELECT Id, CaseNumber, TFS__c, TFS_Status__c, Type__c FROM Case WHERE TFS__c LIKE '%12364Test%'
If the c# based query is slightly modified to include an underscore before a number it works:
var test = await client.QueryAsync("SELECT Id, CaseNumber, TFS__c FROM Case WHERE TFS__c LIKE '%_12364Test%'");
This leads me to think that the toolkit has a bug when passing the value %{any number} such that SF does not see it as a string, or does not see it as %{any number}. I was able to reproduce and confirm this many times.

Hi @bhardister
The problem is probably with url encoding. Some characters needs to be encoded before send in query string, otherwise, they will be miss-interpreted.
In code I can see
(string.Format("query?q={0}", Uri.EscapeDataString(query)));

The EscapeDataString changes characters like "~/^" to proper
[http://stackoverflow.com/questions/26309731/why-does-uri-escapedatastring-return-a-different-result-on-my-ci-server-compared]
But the problem is that it doesn't escape %12364Test%.
Why it's a problem?
Because %12 is not un-escaped, and interpreted as some other character.
So @bhardister, what if you try use
var encodedQuery = System.Web.HttpUtility.UrlEncode("SELECT Id, CaseNumber, TFS__c FROM Case WHERE TFS__c LIKE '%12364Test%'")

var test = await client.QueryAsync(encodedQuery)

This would be similar to query like

SELECT+Id%2C+CaseNumber%2C+TFS__c+FROM+Case+WHERE+TFS__c+LIKE+%27%2512364Test%25

I'm not sure will this work, because it will be double-encoded (by you, and by library), and even if it works, then you will have to remove your encoding, when the bug will be fixed.
I also don't state, that the System.Web.HttpUtility.UrlEncode is the best fix here, but after all, @wadewegner  needs to use best method, to properly encode url query string parameter (there is no need to encode whole url).
Does this helps?

One more thought @bhardister,
please test this:
var query = "SELECT Id, CaseNumber, TFS__c FROM Case WHERE TFS__c LIKE '%12364Test%'";

// temp hack
query = query.Replace("%","%25");

var test = await client.QueryAsync(query);

In theory, this should work in your case too, but it's very ugly, and cannot be considered as library fix.

What do you think of this solution?
Uri.EscapeUriString(Encoding.UTF8.GetString(Encoding.ASCII.GetBytes("SELECT Id, CaseNumber, TFS__c FROM Case WHERE TFS__c LIKE '%12364Test%'")))

I could update the code accordingly.

Why GetBytes, then GetString?
On Tue, Aug 25, 2015 at 2:41 PM, Wade Wegner<EMAIL_ADDRESS>wrote:

What do you think of this solution?
Uri.EscapeUriString(Encoding.UTF8.GetString(Encoding.ASCII.GetBytes("SELECT Id, CaseNumber, TFS__c FROM Case WHERE TFS__c LIKE '%12364Test%'")))
I could update the code accordingly.
—
Reply to this email directly or view it on GitHub
https://github.com/developerforce/Force.com-Toolkit-for-NET/issues/111#issuecomment-134750112
.

Incidentally, while trying to write a unit test, I used the following:
const string query = "SELECT Id, Name, Description, AccountNumber FROM Account WHERE AccountNumber LIKE '%9671111%'";

var queryResult = await _client.QueryAsync<dynamic>(query);

And it seems to work just fine. I don't have your case data to test with. @bhardister can you please review and see if there's something else at play?

Hi @wadewegner
I've no time to look at this now, but please review all your tests.. you cannot use:
var queryResult = await _client.QueryAsync<dynamic>(query);

it will never fail, because you don't wait for async result. I think that your tests are just not working.
please review all your tests and fix like this:
var queryResult = await _client.QueryAsync<dynamic>(query).Result;

just wait for the '.Result' in the tests when executing async.
:)

Your second example is not compilable. You cannot await while synchronously blocking for result.
The unit tests function just fine and definitely fail if not working.

I highly recommending reading this article: https://msdn.microsoft.com/en-us/magazine/Dn818493.aspx
A key point from it: "To test an asynchronous method’s behavior, you must observe the task it returns. The best way to do this is to await the task returned from the method under test." The functional/unit tests do in fact await the task returned.
I'd also recommend reading this response from Stephen Clearly about the difference between await and .Result: http://stackoverflow.com/a/24657079
Please let me know if I've misunderstood. I'm always looking forward ways to make the this library work better!

I'm going to close this as norepro for now. Please re-open if appropriate.


Add support for Nunjucks using PrettyDiff

Looking at the PrettyDiff beautifier, it seems that the support for nunjucks templates already exists.
But, this PR adds the required config to hook up atom-beatuify to recognize the Nunjucks grammar.

I just looked at Nunjucks.  The vocabulary and syntax appears to be identical to Twig HTML templates, which Pretty Diff supports.

Thanks, @prettydiff !

Published to v0.29.12

Thank you @rtablada for contributing!


Display Jupyter Notebook output text and images in order

Feature: Notebook Editor, Interactive Window, Python Editor cells

Sent here from https://github.com/microsoft/vscode/issues/85311
Description
Copypasted
Let me succinctly describe this with code and outputs.
Example Code:
from IPython.display import display

for name, image in images_with_name.items():
  print(name)
  display(image)

Google Colab:
Name1
[Image1]
Name2
[Image2]
Name3
[Image3]

VS Code:
Name1
Name2
Name3
---------
[Image1]
[Image2]
[Image3]

Can we make it output like Google Colab?
I moved from Google Colab to use Jupyter on my local machine and it's kinda weird to see VS Code display texts and images in 2 different views (even with scrollbar). It's still readable with a few pairs but things get out of hands when it's a long list.
Microsoft Data Science for VS Code Engineering Team: @rchiodo, @IanMatthewHuff, @DavidKutu, @DonJayamanne, @greazer

@DleanJeans Thanks for the feedback. Can confirm that JupyterLab also does the same thing Colab does.

Also missing support for printing with colors, and \r for overriding/updating previous line.
Do I open new issues or maybe one to track them all?

There seems to be a separation between print and display output.
If display is used to output both text and images then they would be in order:
for name, image in images_with_name.items():
  # print(name)
  display(name)
  display(image)

@DleanJeans please open a new issue for the other two problems you found. Thanks.

Validated. With print() and display(Image()) statements interleaved in a loop they now show up on the output in order.


Github release creation fails with "Error: Unauthorized" despite GH_TOKEN

The problem
I am trying to publish a release, as always, manually, through semantic-release -vv publish (after semantic-release -v version).
However, it is failing with:
semantic-release -vv publish
[...]
DEBUG    [semantic_release.helpers] DEBUG helpers.parse_git_url: Parsing git url 'git@github.com:Sieboldianus/TagMaps.git'                                                                                helpers.py:112
DEBUG    [urllib3.connectionpool] DEBUG connectionpool._new_conn: Starting new HTTPS connection (1): api.github.com:443                                                                                connectionpool.py:1052
DEBUG    [urllib3.connectionpool] DEBUG connectionpool._make_request: https://api.github.com:443 "GET /repos/Sieboldianus/TagMaps/releases/tags/v0.22.8 HTTP/1.1" 401 80
DEBUG    [semantic_release.hvcs.github] DEBUG helpers._wrapper: Github.get_release_id_by_tag -> None                                                                                helpers.py:56
WARNING  [semantic_release.hvcs.github] WARNING github.upload_dists: No release corresponds to tag v0.22.8, can't upload dists                                                                                github.py:252
DEBUG    [semantic_release.hvcs.github] DEBUG helpers._wrapper: Github.upload_dists -> 0                                                                                helpers.py:56

What is strange is that 401 means "unauthenticated". But I can access the tag url just fine in the browser: https://api.github.com/repos/Sieboldianus/TagMaps/releases/tags/v0.22.8
The same applies to the version command, which also fails to create the release for some unknown reason:
INFO     [semantic_release.hvcs.github] INFO github.create_or_update_release: Creating release for v0.22.10
DEBUG    [semantic_release.hvcs.github] DEBUG helpers._wrapper: create_release(<semantic_release.hvcs.github.Github object at 0x7
                    '# v0.22.10 (2024-02-06)', False, )
INFO     [semantic_release.hvcs.github] INFO github.create_release: Creating release for tag v0.22.10
DEBUG    [urllib3.connectionpool] DEBUG connectionpool._new_conn: Starting new HTTPS connection (1): api.github.com:443
DEBUG    [urllib3.connectionpool] DEBUG connectionpool._make_request: https://api.github.com:443 "POST /repos/Sieboldianus/TagMap
                    HTTP/1.1" 404 None
DEBUG    [semantic_release.hvcs.github] DEBUG github.create_or_update_release: error creating release: 404 Client Error: Not Foun
                    https://api.github.com/repos/Sieboldianus/TagMaps/releases
DEBUG    [semantic_release.hvcs.github] DEBUG github.create_or_update_release: looking for an existing release to update
DEBUG    [semantic_release.hvcs.github] DEBUG helpers._wrapper: get_release_id_by_tag(<semantic_release.hvcs.github.Github object
                    'v0.22.10', )

I checked the GH_TOKEN twice and it is correct. Below output I get when setting GH_TOKEN and running version:
INFO     [semantic_release.hvcs.github] INFO github.remote_url: requested to use token for push but no token set,   github.py:270
                    ignoring...
[...]
 INFO     [semantic_release.hvcs.github] INFO github.create_or_update_release: Creating release for v0.22.11         github.py:167
DEBUG    [semantic_release.hvcs.github] DEBUG helpers._wrapper: create_release(<semantic_release.hvcs.github.Github helpers.py:45
                    object at 0x7f397f4702d0>, 'v0.22.11', '# v0.22.11 (2024-02-06)', False, )
INFO     [semantic_release.hvcs.github] INFO github.create_release: Creating release for tag v0.22.11               github.py:107
DEBUG    [urllib3.connectionpool] DEBUG connectionpool._new_conn: Starting new HTTPS connection (1):       connectionpool.py:1052
                    api.github.com:443
DEBUG    [urllib3.connectionpool] DEBUG connectionpool._make_request: https://api.github.com:443 "POST      connectionpool.py:546
                    /repos/Sieboldianus/TagMaps/releases HTTP/1.1" 401 80
DEBUG    [semantic_release.hvcs.github] DEBUG github.create_or_update_release: error creating release: 401 Client   github.py:171
                    Error: Unauthorized for url: https://api.github.com/repos/Sieboldianus/TagMaps/releases
DEBUG    [semantic_release.hvcs.github] DEBUG github.create_or_update_release: looking for an existing release to   github.py:172
                    update

Error: Unauthorized

Why am I not authenticated?
This looks also strange:

requested to use token for push but no token set, ignoring... github.py:270

If I echo $GH_TOKEN, I can see that it is set and correct.
I have also tested using ignore_token_for_push = true, so it can use my ssh agent, but this also leads to the same error.
Expected behavior
Release gets uploaded to VCS.
Environment
Please state which OS you are using and provide the output of the following commands:
python --version
> Python 3.11.5
pip --version
> pip 23.3.1
semantic-release --version
> semantic-release, version 8.7.0
pip freeze
> annotated-types==0.6.0
build==1.0.3
certifi==2023.11.17
cffi==1.16.0
charset-normalizer==3.3.2
click==8.1.7
cryptography==41.0.7
docutils==0.20.1
dotty-dict==1.3.1
gitdb==4.0.11
GitPython==3.1.40
idna==3.6
importlib-metadata==7.0.0
importlib-resources==6.1.1
jaraco.classes==3.3.0
jeepney==0.8.0
Jinja2==3.1.2
keyring==24.3.0
markdown-it-py==3.0.0
MarkupSafe==2.1.3
mdurl==0.1.2
more-itertools==10.1.0
nh3==0.2.14
packaging==23.2
pkginfo==1.9.6
pycparser==2.21
pydantic==2.5.2
pydantic_core==2.14.5
Pygments==2.17.2
pyproject_hooks==1.0.0
python-gitlab==3.15.0
python-semantic-release==8.7.0
readme-renderer==42.0
requests==2.31.0
requests-toolbelt==1.0.0
rfc3986==2.0.0
rich==13.7.0
SecretStorage==3.3.3
shellingham==1.5.4
smmap==5.0.1
tomlkit==0.12.3
twine==4.0.2
typing_extensions==4.8.0
urllib3==2.1.0
zipp==3.17.0

Configuration
pyproject.toml
make_release.sh

Yes, the GH_TOKEN is exported. What I am doing is modifying the conda activate script to export the necessary values, and then unset on deactivation:
nano ~/miniconda3/envs/semantic-release/etc/conda/activate.d/env_vars.sh
nano ~/miniconda3/envs/semantic-release/etc/conda/deactivate.d/env_vars.sh

activate.d/env_vars.sh:
#!/bin/sh

export GH_TOKEN='...'
export GL_TOKEN='...'
export PYPI_USERNAME='Sieboldianus'
export PYPI_PASSWORD='...'

deactivate.d/env_vars.sh:
#!/bin/sh

unset GL_TOKEN
unset GH_TOKEN
unset PYPI_USERNAME
unset PYPI_PASSWORD

This has worked since eons. My workflow:
conda activate semantic-release
echo $GH_TOKEN
> # prints GH_TOKEN
semantic-release version

Do you have any idea how I can go further to debug this? I looked at the code in github.py, but I don't know where the token comes from or is handed over. I could maybe add a check to see where the token got lost (because apparently, triggering the "no token"-warning means that it is not present in semantic-release anymore. The question is, was it ever read or not noticed at all?

@codejedi365
Well, the devil is in the details. And your input highlighted the detail:
For some reason, I had both GL_TOKEN and GH_TOKEN. (I think maybe I needed GL_TOKEN somewhere else and uncommented it, but forgot to comment it out again in activate.d/env_vars.sh.
unset GL_TOKEN before semantic-release version solved the problem.
Now, this was obviously my mistake. For convenience, however, it would be great if semantic-release could warn if both tokens are set (and not simply fail with an empty GH_TOKEN; because the GH_TOKEN indeed is set). The behavior here is just a little bit unexpected.
Thank you for your help! Apologies for this issue and not seeing my obvious mistake.

The question is, was it ever read or not noticed at all?

I'm starting to think it was picked up because I didn't see the warning at the top from when it reads the config. The other token error is also odd but that comes from right before it is used in the GitHub file.  I know this is obvious but have you checked the expiration date of the token and verified it has the correct api permissions. GitHub has been making the transition to more granular token permission model and that could be happening. But we do need to make sure it is sent.

Do you have any idea how I can go further to debug this?

If you use VSCode, in your TagMaps project, create a Python launch.json configuration, and set the program to the full path to the $VIRTUAL_ENV/bin/semantic_release and set the args array accordingly. Set your ENV variables as well. In the editor open the $VIRTUAL_ENV/lib/**/semantic_release/cli/config.py, and place a breakpoint in the EnvConfigVar.getvalue() and also the RuntimeContext.from_raw_config(). This is where it loads the configuration and creates the GitHub object.
Furthermore, put a breakpoint in the $VIRTUAL_ENV/lib/**/semantic_release/cli/commands/version.py:version(), so then you can walk the execution code.
If you don't use VSCode, make a temporary edit to the files where I said to put breakpoints and use pythons debugger at those spots via:
import pdb; pdb.set_trace()

I will try asap (likely tomorrow). Will edit this post with results. Thank you very much!

No worries! It happens to all of us, literally! I'm glad you got it resolved and learned some things in the process!


Poor instructions for getting starred_at property in stargazers endpoint

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/rest/activity/starring
What part(s) of the article would you like to see updated?
Currently, it states this:

You can also find out when stars were created by passing the following custom media type via the Accept header:

But then it makes no mention of a value to use, and the page it links to doesn't provide the required header either.
The reason to use is mentioned above, in a previous section. The reality is more users are skimming through to the endpoint they need, so they may miss that and then not know what the docs are referring to.
In my opinion, it should say something more like:

You can also find out when stars were created by passing the custom media type for starring via the Accept header.

(Anchored to the section above via fragment.)

You can also find out when stars were created by passing the following custom media type via the Accept header: application/vnd.github.star+json

(Just specifies the header value they need afterwards.)
Or just underneath where the request data, the accept header should state under it:

Setting to application/vnd.github.star+json is recommended.

Additional information
I wanted to PR this myself, but the only time I see this text occur is in lib/rest/static/*.json which is machine generated. 🤔
Wasn't sure where the source is and if that's accessible or maybe that's just internal GitHub stuff?

@SethFalco Thanks so much for opening an issue! I'll triage this for the team to take a look :eyes:

@SethFalco As docubot says, we will have to make this adjustment internally. Thank you for opening an issue 💛


Use Map.has_key? to check whether init section has uri and byterange fields

If the keys don't exist, accessing them results in a KeyError:
** (KeyError) key :byterange not found in: %{uri: "muxed_header_video_track_part_0.mp4"}
    (kim_hls 0.1.0) lib/hls/playlist/tag/map.ex:23: HLS.Playlist.Tag.Map.marshal_uri_and_byterange/1
    (kim_hls 0.1.0) lib/hls/playlist/media.ex:85: anonymous fn/1 in HLS.Playlist.Marshaler.HLS.Playlist.Media.marshal/1

Thanks! Do you think we should handle that these may be nil? In that case we could write them as data[:uri].

That makes sense! I've updated the PR.


Handle issues gracefully on the frontend.

Right now, when the API errors on the front end, the exception is swallowed up.
We should show this to the user.

Error messages are now accessible with err.data.message (or response.data.message).
Here's an example of error message being passed successfully.


Prometheus only getting metrics from manager node

I'm new to using Prometheus and I would really appreciate some help. I've been looking into this issue for quite a bit. I have a swarm of machines with 1 manager and 7 workers. The manager is on a digital ocean instance and the workers are physical machines on my local network.
The problem is when I go to the Grafana dashboard only 1 node is being detected. When I visit the prometheus targets url at port 9090, I see 8 endpoints but only 1 is up. The rest have an error that says "context_deadline_exceeded".
On each machine, I have set the metrics address to <IP_ADDRESS>:9323 and experimental mode is set to true. I have also enabled port 2376 on the machines, 7946, and 4789.
Any suggestions to get metrics for the other nodes is much appreciated. Thank you!

any news on this issue?

This problem took my three days. On all nodes, you must allow the necessary ports that the applications use or "sudo ufw disable".

I have exactly the same problem.

@colehertz Have you found a solution?
I guess one reason could be, that my worker nodes need to join the swam after swarmprom initialization on the master node..
UFW is disabled.
Docker v.18+ won't be the problem?
$ docker version
Client:
 Version:           18.09.7
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        2d0083d
 Built:             Thu Jun 27 17:57:09 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.7
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       2d0083d
  Built:            Thu Jun 27 17:23:02 2019
  OS/Arch:          linux/amd64
  Experimental:     true

I found my problem: The overlay network swarmprom_net was not working correctly. This is not an issue of misconfiguration in this project, but during swarm creation: I used a floating ip for swarm advertisement. This seems to be an unsolved bug.
Using the private ip in the swarm init command solved the issue for me.

I found my problem: The overlay network swarmprom_net was not working correctly. This is not an issue of misconfiguration in this project, but during swarm creation: I used a floating ip for swarm advertisement. This seems to be an unsolved bug.
Using the private ip in the swarm init command solved the issue for me.

you saved my day, Thanks


GitHub deployment build repo push command never accounts for modified or deleted files

Motivation:
We need account for modified/deleted files on the build-repo.
Solution:
The github deployment push process is using a git reset --hard flag when reseting the repo back to it's current state. This is removing the changes from the build repo commit. Need to use git reset --soft to keep the integrity of the modified/deleted files.

Build is still broken cause we're calling checkout, which throws errors. As after a reset the next operation needs to be an add, so we can account for the new modifications/deletions prior to switching. ;)


Set up CI to update in pypi when new version is established

Something like this?
https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/
Would need to figure out how to trigger the CI to push to PyPI. It probably shouldn't happen on every commit.