text:
Assign mix to matrix issue

Helllo @maxks. Think I may have another issue. Using SQ-5 'Assign mix to matrix function' and can get each AUX send on matrix routing screen to switch on/off (active tick/untick) no problem. However, cannot get same on/off on matrix routing screen for Main L/R. I'm using MATRIX 2 for clarity. Thank you if you can take a look and see if you have same behaviour.

Hello @maxks Just wondering if you managed to get a chance to replicate this issue or whether you need some more information from me? Thank you.

Hi @bensmm I will try to replicate and fix issue in next days.

Any updates on this? I'm having the same issue as well. The "Fader mix level to matrix" isn't working for me either; specifically trying to assign/adjust fader for LR to Matrix 2.

I'm also having the same issue - has anyone been able to resolve this yet?

I am in the process of converting this module to the v3 API, when that's done, I'd like for you to test it with that version and then we can go from there.

The way setRouting currently works is to accept two pairs of MIDI NRPN MSB/LSB values -- one pair for if the sink is LR (which is internally encoded as 99), the other pair for if the sink is whatever the type of sinks being targeted is (0 to one less than the count of those sinks, e.g. [0, 12) for mixes).  In my heavily-refactored-in-various-ways tree:
			const buffers = self.setRouting(
				opt.inputMix,
				opt.mtxAssign,
				opt.mtxActive,
				model.count.matrix,
				[0x6e, 0x6e],
				[0x24, 0x27],
			)
			mixer.midi.sendBuffers(buffers)

Here, the MSB/LSB if the sink is LR is [0x6e, 0x24], and the MSB/LSB if the sink isn't LR is [0x6e, 0x27].

But this is nonsense.  :wink:  The sink is not a "mix" (meaning either what on my mixer surface is labeled a "Mix", or that plus LR), it's a matrix.  So it's never LR.  So those first elements of the two arrays are meaningless (and in all the rest of the module are encoded as 0x00).  And when you do the module's math to determine the actual MSB/LSB basing off of a mix in [0, 12) -- namely splitting (0x6e << 7) + 0x27 + mix * MATRIX_COUNT + matrix into two seven-bit halves -- it will work correctly when mix is in [0, 12) for actual mixes but will go wildly out of bounds of the MSB/LSB in that table when mix is 99 as the internal encoding of the LR mix.
(When it goes wildly out of bounds, what MSB/LSB does it actually turn into?  And do those MSB/LSB refer to anything else?  I dunno, and I'm too lazy to compute and see.  If someone wants to do so -- or just packet-sniff the TCP traffic -- I'm idly curious to know.)
I think if, in this narrow case, mix for LR were encoded as -1, this would start working again.  But that would be a grotesque hack, in code that cries out for the refactoring I'm neck-deep in, so there's no chance I'm fixing it before that refactoring is finished enough to land.
So there's a light at the end of this tunnel -- but I don't have anything to say about exactly when we'll emerge from the tunnel.  :slightly_smiling_face:

This is fixed in 02aad4fa3e608a3da9e679791fae1c6ddfcc7757.
The code on tip for setting pan/balance and fader levels is very snarled (and doesn't work), so it's not possible to simply make a release that contains this fix.  I don't know when things will be cleaned up enough to actually do that.

authors: DavidPujals bensmm daukema josephdadams jswalden maxks

repo: bitfocus/companion-module-allenheath-sq


text:
CTA "Add recipients" does not respond

Done.
Uploading Screen Recording 2023-12-27 at 12.45.37 PM.mov…

Resolved

source: gharchive/issue

repo: bithyve/bitcointribe

license: MIT

license_type: permissive

license_source: github-api


text:
Text if a particular RK is not accessible

-When a Level has been setup. I.e. Setup = true. Then later if a particular RK becomes inaccessible, the text should be :

For contacts: “Your backup stored with xyz is inaccessible, pls confirm/ manage the Recovery Key”
For devices “Your backup stored on xyz is inaccessible, pls confirm/ manage the Recovery Key”
For pdf: “Your backup stored as Personal Copy (pdf) is inaccessible, pls confirm/ manage the Recovery Key”......... Again this text is when inaccessible after setup was completed in the past

@cakesoft-nikhita Staging app v1.6.0(277): For contacts and devices, xyz text is missing in the text

-Verified this issue on Dev app v1.7.0 (285)

authors: cakesoft-devika cakesoft-swati

repo: bithyve/hexa


text:
Transaction Population: receivers integration

Receiver/SentTo entity can be picked up in the following ways
At successful end of the send flow, we can either

take the recipients and store them against the txid in a txid to recipients mapping
store the recipients against one of the input UTXO addresses for this transaction in the AAL

Txn not showing the Sender name in received transaction.
Txn showing "Undefined" tag for address in multi send.

Verified this issue on dev app v1.9.5(338)

authors: Parsh cakesoft-swati


text:
Convert all files to ES2015

Elements of this commit come from #140 by @gwicke.

Coverage decreased (-0.7%) to 99.293% when pulling 97a11182e5c3b62713bfa40bef308d85859f2093 on v2-es2015 into 993d4cdea1b63db4ec41a994873e6044f26cde85 on v2.

Unfortunately the test suite fails on 0.12, but for some reason passes on 0.10. I'm able to reproduce this locally, but unable to discover a reason for it. Maybe someone else could take a look?

Coverage decreased (-0.7%) to 99.291% when pulling d50dce084580cb1b146201ece3cc2af0e9a6920b on v2-es2015 into 993d4cdea1b63db4ec41a994873e6044f26cde85 on v2.

Coverage decreased (-0.7%) to 99.291% when pulling d50dce084580cb1b146201ece3cc2af0e9a6920b on v2-es2015 into 993d4cdea1b63db4ec41a994873e6044f26cde85 on v2.

Coverage decreased (-0.7%) to 99.291% when pulling d50dce084580cb1b146201ece3cc2af0e9a6920b on v2-es2015 into 993d4cdea1b63db4ec41a994873e6044f26cde85 on v2.

source: gharchive/pull-request

authors: TimothyGu coveralls

repo: bitinn/node-fetch

license: mit

license_source: bigquery


text:
Enable shell expansion.

We're changing from scratch to busybox as a base image, after discussion
in #543. This gives us some free shell expansion.
I also added a step at the end of dist.sh that would take care of
tagging the image as the "latest" build, as long as there's not a hyphen
in the version number (so our "latest" build will never be an alpha or
beta, as I assume we want stability by default).
I also listed the ports used in the Dockerfile, so we can take advantage
of container linking.

thanks @paddyforan

Good stuff @paddyforan

authors: mreiferson paddyforan saidimu

repo: bitly/nsq


text:
Unsupported protocol scheme "file"

Hi, I am trying to use oauth2_proxy as an auth server + static server.
I can get it to auth, but it doesn't seem to server the static files properly. With this conf:
$ cat oauth2_proxy.cfg
upstreams = [
    "file:///Users/alex/Desktop/oauth2_proxy-2.0.1.darwin-amd64.go1.4.2/static/#/static/"
]

pass_basic_auth = true
pass_host_header = true

email_domains = [
     "xxx.com"
]

cookie_secure = false

I can access to http://127.0.0.1:4180/Users/alex/Desktop/oauth2_proxy-2.0.1.darwin-amd64.go1.4.2/static/index.html without getting a 404, but the console shows the following:
2015/12/28 18:57:36 reverseproxy.go:184: http: proxy error: unsupported protocol scheme "file"
127.0.0.1 - xxx@yyy.com [28/Dec/2015:18:57:36 +0100] 127.0.0.1:4180 GET - "/Users/alex/Desktop/oauth2_proxy-2.0.1.darwin-amd64.go1.4.2/static/index.html" HTTP/1.1 "Mozilla/5.0 (Macintosh; Inte
l Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36" 500 0 0.000

Solved using the current master instead the release file.


text:
Kube 1.16 error in kube-state-metrics pod

Due to the same API deprecations/changes reported in #22 , the current ClusterRole defined here doesn't work anymore in recent Kubernetes versions (e.g 1.16) because pod kube-state-metrics pod doesn't get the needed authorizations to poll metrics.

Sorry issue opened in the wrong repo by mistake

repo: bitnami-labs/kube-libsonnet


text:
Dynamic iframes are considered not loaded

If I create an <iframe>, populate it dynamically, and set it as the context for FuncUnit like this:
var iframe = $(document.createElement('iframe'));
iframe.contents().find('body').append(frag);
F.open(win);

All tests will fail because FuncUnit.documentLoaded() will return false here: https://github.com/bitovi/funcunit/blob/01f767b1e95737a7dfcae1f67a75b4d72408ba37/browser/getters.js#L509
Due to the fact that FuncUnit.win.location.href === 'about:blank' here: https://github.com/bitovi/funcunit/blob/92fd4b283388576922506fb76096902c8f9183bf/browser/open.js#L258-L260
To get around this I had to overwrite FuncUnit.documentLoaded` to always return true like this:
F.documentLoaded = function () { return true; };

Thanks! This a good bug, probably easy to write a test for.

authors: akagomez matthewp

repo: bitovi/funcunit


text:
Post how to setup https in installation.md

I have a trusted root CA certificate, and no matter what I do I still can't get an https connection running.
A step by step, including maybe any specific methods you may have used to convert popular formats into the format you use for bws.
This will at least help me figure out if I'm going crazy or not.

Hey,
This is the setup we have at bitpay's servers, at config.js
  https: true,
  privateKeyFile: '/etc/ssl/bws.bitpay.com.key',
  certificateFile: '/etc/ssl/bws.bitpay.com.crt',

# cat /etc/ssl/bws.bitpay.com.key
-----BEGIN RSA PRIVATE KEY-----
[...]
-----END RSA PRIVATE KEY-----

# cat /etc/ssl/bws.bitpay.com.crt
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----

hope it helps.

The example in the config.js says PEM...
Should the file be in PEM format with key and crt extensions?
I currently have PEM format with .pem extensions for both of them.

Yes, PEM is the right format.
We are using node's https module. See the detailed documentation here:
https://nodejs.org/api/https.html
On Mon, Jun 8, 2015 at 12:47 PM, dabura667 notifications@github.com wrote:

The example in the config.js says PEM...
Should the file be in PEM format with key and crt extensions?
I currently have PEM format with .pem extensions for both of them.
—
Reply to this email directly or view it on GitHub
https://github.com/bitpay/bitcore-wallet-service/issues/237#issuecomment-110050144
.

--
Matías Alejo Garcia
@ematiu
Roads? Where we're going, we don't need roads!

OK, still not working.
Here's what I did, maybe someone with more experience in SSL than me can advise:

openssl genrsa -out /etc/ssl/bws.key 2048
openssl req -new -sha256 -key /etc/ssl/bws.key -out /etc/ssl/bws.csr
Set up CSR using my country JP. my common name = domain name. etc etc.
On namecheap, I go to reissue SSL and paste in my csr
I get verification e-mails etc. and eventually I get a zip file with 4 crt files.

AddTrustExternalCARoot.crt
COMODORSAAddTrustCA.crt
COMODORSADomainValidationSecureServerCA.crt
www_mydomain_com.crt

I copy the contents of www_mydomain_com.crt and use sudo vi bws.crt to write it into a new file in /etc/ssl along with the others.
Once I have the crt and key file, I change config.js in the bws directory to say this:

https: true,
privateKeyFile: '/etc/ssl/bws.key',
certificateFile: '/etc/ssl/bws.crt',

I run everything as normal. (as when I run http, which works fine)
Copay doesn't connect.

Bonus: curl -vk https://<myip>:3232/bws/api/ returns a {"BAD SIGNATURE"} response and adding the proper headers from a successful request returns the wallet data. (-k being "insecure mode" where it doesn't verify CAs)
My Copay version is v1.0.1 Android. But I have tried with all my clients. Windows, iPhone, Android and they are fine.
I used to get a CORS error, but now I don't. I just get {"CONNERR"} in my Copay logs.
BWS logs show no log of my attempts at connecting.
A couple things I am wondering:

Do I need to do something with the other 3 crt files?
Does Copay view my CA as a trust worthy CA? (PositiveSSL by Comodo Security Services)
Does Copay disallow https connections not routed to port 443? (I can't use 443 right now)

I think the problem is you are not using 443. IIRC we run into this before.
There could be a bug in bws that it not using the correct port.
Could you check telnet to 3232 an see if you get a response?
On Tue, Jun 9, 2015 at 11:42 AM, dabura667 notifications@github.com wrote:

OK, still not working.
Here's what I did, maybe someone with more experience in SSL than me can
advise:

openssl genrsa -out /etc/ssl/bws.key 2048
openssl req -new -sha256 -key /etc/ssl/bws.key -out /etc/ssl/bws.csr
Set up CSR using my country JP. my common name = domain name. etc
etc.
On namecheap, I go to reissue SSL and paste in my csr
I get verification e-mails etc. and eventually I get a zip file
with 4 crt files.

AddTrustExternalCARoot.crt
COMODORSAAddTrustCA.crt
COMODORSADomainValidationSecureServerCA.crt
www_mydomain_com.crt

6. I copy the contents of www_mydomain_com.crt and use sudo vi bws.crt

to write it into a new file in /etc/ssl along with the others.
7. Once I have the crt and key file, I change config.js in the bws
directory to say this:
https: true,
privateKeyFile: '/etc/ssl/bws.key',
certificateFile: '/etc/ssl/bws.crt',

I run everything as normal. (as when I run http, which works fine)
Copay doesn't connect.

Bonus: curl -vk https://:3232/bws/api/ returns a {"BAD SIGNATURE"}
response and adding the proper headers from a successful request returns
the wallet data. (-k being "insecure mode" where it doesn't verify CAs)
My Copay version is v1.0.1 Android. But I have tried with all my clients.
Windows, iPhone, Android and they are fine.
I used to get a CORS error, but now I don't. I just get {"CONNERR"} in my
Copay logs.
BWS logs show no log of my attempts at connecting.
A couple things I am wondering:

Do I need to do something with the other 3 crt files?
Does Copay view my CA as a trust worthy CA? (PositiveSSL by Comodo
Security Services)
Does Copay disallow https connections not routed to port 443? (I can't
use 443 right now)

—
Reply to this email directly or view it on GitHub
https://github.com/bitpay/bitcore-wallet-service/issues/237#issuecomment-110385992
.

--
Matías Alejo Garcia
@ematiu
Roads? Where we're going, we don't need roads!

oh, sorry, you said you hace used curl successfully.
On Tue, Jun 9, 2015 at 11:49 AM, Matias Alejo Garcia ematiu@gmail.com
wrote:

I think the problem is you are not using 443. IIRC we run into this
before. There could be a bug in bws that it not using the correct port.
Could you check telnet to 3232 an see if you get a response?
On Tue, Jun 9, 2015 at 11:42 AM, dabura667 notifications@github.com
wrote:

OK, still not working.
Here's what I did, maybe someone with more experience in SSL than me can
advise:

openssl genrsa -out /etc/ssl/bws.key 2048
openssl req -new -sha256 -key /etc/ssl/bws.key -out
/etc/ssl/bws.csr
Set up CSR using my country JP. my common name = domain name. etc
etc.
On namecheap, I go to reissue SSL and paste in my csr
I get verification e-mails etc. and eventually I get a zip file
with 4 crt files.

AddTrustExternalCARoot.crt
COMODORSAAddTrustCA.crt
COMODORSADomainValidationSecureServerCA.crt
www_mydomain_com.crt

6. I copy the contents of www_mydomain_com.crt and use sudo vi

bws.crt to write it into a new file in /etc/ssl along with the others.
7. Once I have the crt and key file, I change config.js in the bws
directory to say this:
https: true,
privateKeyFile: '/etc/ssl/bws.key',
certificateFile: '/etc/ssl/bws.crt',

I run everything as normal. (as when I run http, which works fine)
Copay doesn't connect.

Bonus: curl -vk https://:3232/bws/api/ returns a {"BAD SIGNATURE"}
response and adding the proper headers from a successful request returns
the wallet data. (-k being "insecure mode" where it doesn't verify CAs)
My Copay version is v1.0.1 Android. But I have tried with all my clients.
Windows, iPhone, Android and they are fine.
I used to get a CORS error, but now I don't. I just get {"CONNERR"} in my
Copay logs.
BWS logs show no log of my attempts at connecting.
A couple things I am wondering:

Do I need to do something with the other 3 crt files?
Does Copay view my CA as a trust worthy CA? (PositiveSSL by Comodo
Security Services)
Does Copay disallow https connections not routed to port 443? (I can't
use 443 right now)

—
Reply to this email directly or view it on GitHub
https://github.com/bitpay/bitcore-wallet-service/issues/237#issuecomment-110385992
.

--
Matías Alejo Garcia
@ematiu
Roads? Where we're going, we don't need roads!

--
Matías Alejo Garcia
@ematiu
Roads? Where we're going, we don't need roads!

can I change BWS to 443 in config.js?
Should I try to reroute 443 to 3232 in Apache via Virtual Network?

Changing BWS port to 443 says I can't start because of conflicting port.
I think it's because of my apache server...
Let me look up how to re-route 443 incoming connections to 3232 internally... I hope this works.
Keep me updated if anyone figures out what my problem is.

> bitcore-wallet-service@0.0.33 start /home/dabs/bitcore-wallet-service
> node bws.js

info Using locker server:localhost:3231
info Using message broker server at http://localhost:3380
Connection established to  mongodb://localhost:27017/bws
info Using message broker server at http://localhost:3380

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: listen EACCES
    at errnoException (net.js:905:11)
    at Server._listen2 (net.js:1024:19)
    at listen (net.js:1065:10)
    at Server.listen (net.js:1139:5)
    at /home/dabs/bitcore-wallet-service/bws.js:79:10
    at /home/dabs/bitcore-wallet-service/bws.js:63:14
    at /home/dabs/bitcore-wallet-service/bws.js:50:22
    at /home/dabs/bitcore-wallet-service/node_modules/async/lib/async.js:251:17
    at done (/home/dabs/bitcore-wallet-service/node_modules/async/lib/async.js:132:19)
    at /home/dabs/bitcore-wallet-service/node_modules/async/lib/async.js:32:16
npm ERR! weird error 8
npm ERR! not ok code 0
info Connected to insight (livenet) @ https://insight.bitpay.com:443

This is what I get when I try to run BWS on port 443

http://www.benjiegillam.com/2012/06/node-dot-js-ssl-certificate-chain/
looks like nodejs https module doesn't store COMODO as a trusted root cert.
I will try adding the certs later

I figured out the problem:

I needed to set up the ca parameter in httpsOptions for https.

// config.js
  https: true,
  privateKeyFile: './ssl/bwsreal.key',
  certificateFile: './ssl/bwsreal.crt',
  CAsecserver: './ssl/SecureServer.crt',
  CAtrust: './ssl/AddTrustCA.crt',
  CAroot: './ssl/CAroot.crt',

// bws.js
if (config.https) {
  serverOpts.key = fs.readFileSync(config.privateKeyFile || './ssl/privatekey.pem');
  serverOpts.cert = fs.readFileSync(config.certificateFile || './ssl/certificate.pem');

  if (config.CAsecserver && config.CAtrust && config.CAroot) {
    serverOpts.ca = [fs.readFileSync(config.CAsecserver),
                     fs.readFileSync(config.CAtrust),
                     fs.readFileSync(config.CAroot)
                    ];};
}

my cert has domain control enabled, so I must access it through www.mydomain.com and I was accessing through a subdomain bws.mydomain.com.

By fixing the two issues above, I was able to set up https connection to my bws...
Perhaps writing something similar to what I did above, and by default commenting out the 3 CA configs with a comment saying "If your root certificate is not showing as trusted, uncomment these and plug in your intermediate and root CA certs."
In fact, by using this, I believe we could do default to self-signed ssl. #217

Great to hear. Thanks a lot for sharing.
Could you send a PR to the config.js with your comments? (adding CA*
commented).
On Wed, Jun 10, 2015 at 9:06 AM, dabura667 notifications@github.com wrote:

I figured out the problem:

I needed to set up the ca parameter in httpsOptions for https.

// config.js
https: true,
privateKeyFile: './ssl/bwsreal.key',
certificateFile: './ssl/bwsreal.crt',
CAsecserver: './ssl/SecureServer.crt',
CAtrust: './ssl/AddTrustCA.crt',
CAroot: './ssl/CAroot.crt',
// bws.jsif (config.https) {
serverOpts.key = fs.readFileSync(config.privateKeyFile || './ssl/privatekey.pem');
serverOpts.cert = fs.readFileSync(config.certificateFile || './ssl/certificate.pem');
if (config.CAsecserver && config.CAtrust && config.CAroot) {
serverOpts.ca = [fs.readFileSync(config.CAsecserver),
fs.readFileSync(config.CAtrust),
fs.readFileSync(config.CAroot)
];};
}

my cert has domain control enabled, so I must access it through
www.mydomain.com and I was accessing through a subdomain
bws.mydomain.com.

By fixing the two issues above, I was able to set up https connection to
my bws...
Perhaps writing something similar to what I did above, and by default
commenting out the 3 CA configs with a comment saying "If your root
certificate is not showing as trusted, uncomment these and plug in your
intermediate and root CA certs."
In fact, by using this, I believe we could do default to self-signed ssl.
#217 https://github.com/bitpay/bitcore-wallet-service/issues/217
—
Reply to this email directly or view it on GitHub
https://github.com/bitpay/bitcore-wallet-service/issues/237#issuecomment-110721163
.

--
Matías Alejo Garcia
@ematiu
Roads? Where we're going, we don't need roads!

#243 added

great!
On Wed, Jun 10, 2015 at 10:34 AM, dabura667 notifications@github.com
wrote:

#243 https://github.com/bitpay/bitcore-wallet-service/pull/243 added
—
Reply to this email directly or view it on GitHub
https://github.com/bitpay/bitcore-wallet-service/issues/237#issuecomment-110754631
.

--
Matías Alejo Garcia
@ematiu
Roads? Where we're going, we don't need roads!

repo: bitpay/bitcore-wallet-service


text:
[NOJIRA] adding step-info.yml for beat-android-code-stats

What to do if the build fails?
At the moment contributors do not have access to the CI workflow triggered by StepLib PRs. In case of a failed build, we ask for your patience. Maintainers of Bitrise Steplib will sort it out for you or inform you if any further action is needed.
New Pull Request Checklist
Please mark the points which you did / accept.

[ ] I will not move an already shared step version's tag to another commit
[ ] I read the Step Development Guideline
[ ] I have a test for my Step, which can be run with bitrise run test (in the step's repository)
[ ] I did run bitrise run audit-this-step (in the step's repository - note, if you don't have this workflow in your bitrise.yml, you can copy it from the step template.)
[ ] I read and accept the Abandoned Step policy

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

adding step-info yaml file for #2914 PR to pass

repo: bitrise-io/bitrise-steplib


text:
Update kafka-avro-serializer, ... to 5.4.9

Updates

io.confluent:kafka-avro-serializer
io.confluent:monitoring-interceptors

from 5.4.6 to 5.4.9.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.confluent" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "io.confluent" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #373.

repo: bitrockteam/kafka-dvs-api


text:
🛑 Luogu Ti is down

In b96b884, Luogu Ti (https://ti.luogu.com.cn/problemset) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Luogu Ti is back up in abf15db after 15 minutes.

repo: bitsstdcheee/luogu-status


text:
assets restructure

Restructure the top-level data into the following assets:
-- assets
   |-- natural_earth
   |   `-- physical
   |-- pantry
   |   |-- data
   |   |   |-- c768
   |   |   |-- lams
   |   |   `-- ww3
   |   |-- meshes
   |   `-- textures
   `-- tests
       `-- images

i.e., the following changes have been made:

rebrand data -> assets
the original contents of data/pantry is now assets/pantry/data
data/raster -> assets/pantry/textures
data/mesh -> assets/pantry/meshes

Reference: https://github.com/bjlittle/geovista/pull/645

Thanks @bjlittle!

authors: bjlittle trexfeathers

repo: bjlittle/geovista-data


text:
Android Studio 3.3. Canary 7 - Plugin is broken

It works great on Android Studio 3.2 Beta (any rev.) but doesn't work at all on Android Studio 3.3 Canary (any rev.).
I know it's still canary but maybe it'll help you to get rid of this issue in advance:
java.lang.NoClassDefFoundError: com/android/tools/idea/monitor/AndroidToolWindowFactory
	at de.mobilej.plugin.adc.ToolWindowFactory.createToolWindowContent(ToolWindowFactory.java:166)
	at com.intellij.openapi.wm.impl.ToolWindowImpl.ensureContentInitialized(ToolWindowImpl.java:512)
	at com.intellij.openapi.wm.impl.ToolWindowImpl.getContentManager(ToolWindowImpl.java:345)
	at com.intellij.openapi.wm.impl.content.ContentTabLabel.contentManager(ContentTabLabel.java:374)
	at com.intellij.openapi.wm.impl.content.ContentTabLabel.canBeClosed(ContentTabLabel.java:228)
	at com.intellij.openapi.wm.impl.content.ContentTabLabel$1.getAvailable(ContentTabLabel.java:63)
	at com.intellij.openapi.wm.impl.content.ContentTabLabel.lambda$getPreferredSize$2(ContentTabLabel.java:253)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1376)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
	at com.intellij.openapi.wm.impl.content.ContentTabLabel.getPreferredSize(ContentTabLabel.java:253)
	at java.awt.FlowLayout.preferredLayoutSize(FlowLayout.java:414)
	at java.awt.Container.preferredSize(Container.java:1797)
	at java.awt.Container.getPreferredSize(Container.java:1781)
	at javax.swing.JComponent.getPreferredSize(JComponent.java:1665)
	at com.intellij.openapi.wm.impl.content.ToolWindowContentUi.getPreferredSize(ToolWindowContentUi.java:258)
	at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:719)
	at java.awt.Container.preferredSize(Container.java:1797)
	at java.awt.Container.getPreferredSize(Container.java:1781)
	at javax.swing.JComponent.getPreferredSize(JComponent.java:1665)
	at com.intellij.ui.components.panels.Wrapper.getPreferredSize(Wrapper.java:134)
	at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:719)
	at java.awt.Container.preferredSize(Container.java:1797)
	at java.awt.Container.getPreferredSize(Container.java:1781)
	at javax.swing.JComponent.getPreferredSize(JComponent.java:1665)
	at com.intellij.openapi.wm.impl.ToolWindowHeader.getPreferredSize(ToolWindowHeader.java:262)
	at java.awt.BorderLayout.layoutContainer(BorderLayout.java:815)
	at java.awt.Container.layout(Container.java:1511)
	at java.awt.Container.doLayout(Container.java:1500)
	at java.awt.Container.validateTree(Container.java:1696)
	at java.awt.Container.validateTree(Container.java:1705)
	at java.awt.Container.validateTree(Container.java:1705)
	at java.awt.Container.validateTree(Container.java:1705)
	at java.awt.Container.validateTree(Container.java:1705)
	at java.awt.Container.validate(Container.java:1631)
	at com.intellij.openapi.wm.impl.ToolWindowsPane$AddDockedComponentCmd.run(ToolWindowsPane.java:738)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.commands.FinalizableCommand.finish(FinalizableCommand.java:36)
	at com.intellij.openapi.wm.impl.commands.ApplyWindowInfoCmd.run(ApplyWindowInfoCmd.java:50)
	at com.intellij.openapi.wm.impl.CommandProcessor.runNext(CommandProcessor.java:78)
	at com.intellij.openapi.wm.impl.CommandProcessor.run(CommandProcessor.java:59)
	at com.intellij.openapi.wm.impl.CommandProcessor.execute(CommandProcessor.java:50)
	at com.intellij.openapi.wm.impl.ToolWindowManagerImpl.execute(ToolWindowManagerImpl.java:605)
	at com.intellij.openapi.wm.impl.ToolWindowManagerImpl.execute(ToolWindowManagerImpl.java:585)
	at com.intellij.openapi.wm.impl.ToolWindowManagerImpl.activateToolWindow(ToolWindowManagerImpl.java:676)
	at com.intellij.openapi.wm.impl.ToolWindowManagerImpl$MyInternalDecoratorListener.activated(ToolWindowManagerImpl.java:2205)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.util.EventDispatcher.dispatch(EventDispatcher.java:99)
	at com.intellij.util.EventDispatcher.access$200(EventDispatcher.java:35)
	at com.intellij.util.EventDispatcher$2.invoke(EventDispatcher.java:79)
	at com.intellij.openapi.wm.impl.$Proxy116.activated(Unknown Source)
	at com.intellij.openapi.wm.impl.InternalDecorator.fireActivated(InternalDecorator.java:237)
	at com.intellij.openapi.wm.impl.StripeButton.actionPerformed(StripeButton.java:291)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:308)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6548)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3325)
	at com.intellij.openapi.wm.impl.StripeButton.processMouseEvent(StripeButton.java:282)
	at java.awt.Component.processEvent(Component.java:6313)
	at java.awt.Container.processEvent(Container.java:2237)
	at java.awt.Component.dispatchEventImpl(Component.java:4903)
	at java.awt.Container.dispatchEventImpl(Container.java:2295)
	at java.awt.Component.dispatchEvent(Component.java:4725)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467)
	at java.awt.Container.dispatchEventImpl(Container.java:2281)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4725)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
	at java.awt.EventQueue.access$500(EventQueue.java:98)
	at java.awt.EventQueue$3.run(EventQueue.java:715)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
	at java.awt.EventQueue$4.run(EventQueue.java:737)
	at java.awt.EventQueue$4.run(EventQueue.java:735)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:817)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:754)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:394)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.ClassNotFoundException: com.android.tools.idea.monitor.AndroidToolWindowFactory PluginClassLoader[de.mobilej.adc.plugin.id, 1.0.6] com.intellij.ide.plugins.cl.PluginClassLoader@1d8b1617
	at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:63)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 198 more

Thanks anyway.

Thanks for letting me know about this problem.
I can reproduce it but it currently seems I won't be able to get it working in 3.3 and 3.2 / 3.1 at the same time. Seems like there are larger changes in 3.3  - I will need to have a deeper look into this

Thanks again! I managed to make it work and just uploaded the update to 1.0.7 - it should be available within a few days after review.

authors: bjoernQ brainail

repo: bjoernQ/adc


text:
Use stack_store instead of stack_addr+store when building structs

👋 Hey,
When building structs for calling functions we currently emit a stack_addr and a store, this is a little bit verbose and it annoyed me a little bit when looking at the generated clif code.
This changes the ABI building code to use a stack_store instead.
The previous code looks something like this:
    v10 = iconst.i8 1
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(13) }, None): bool <- ByVal(v10): bool
    v30 = stack_addr.i64 ss0+13
    store notrap aligned v10, v30

And now we generate this:
     v10 = iconst.i8 1
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(13) }, None): bool <- ByVal(v10): bool
    stack_store v10, ss0+13

Which is slightly nicer to read.
It doesn't make a lot of difference, since after optimizations it goes back to the stack_addr + store format anyway

If I recall correctly I did this because stack_store/stack_load would legalize into multiple stack_addr usages, which was at least back then slower.

I think that's whats happening anyway, here's what i pulled out of a testcase:

bool_11_perturbed_big

function u0:8() windows_fastcall {
; symbol _ZN21bool_11_perturbed_big4main17h1d0542c81fd5f88dE
; instance Instance { def: Item(WithOptConstParam { did: DefId(0:23 ~ bool_11_perturbed_big[c589]::main), const_param_did: None }), substs: [] }
; abi FnAbi { args: [], ret: ArgAbi { layout: TyAndLayout { ty: (), layout: Layout { size: Size(0 bytes), align: AbiAndPrefAlign { abi: Align(1 bytes), pref: Align(8 bytes) }, abi: Aggregate { sized: true }, fields: Arbitrary { offsets: [], memory_index: [] }, largest_niche: None, variants: Single { index: 0 } } }, pad: None, mode: Ignore }, c_variadic: false, fixed_count: 0, conv: Rust, can_unwind: false }

; kind  loc.idx   param    pass mode                            ty
; zst   _0    ()                                0b 1, 8              align=8,offset=
; ret   _0      -          Ignore                               ()

; kind  local ty                              size align (abi,pref)
; stack _1    bool_11_perturbed_big            20b 4, 8              storage=ss0
; zst   _2    ()                                0b 1, 8              align=8,offset=
; stack _3    bool_11_perturbed_big            20b 4, 8              storage=ss1

  ss0 = explicit_slot 32
  ss1 = explicit_slot 32
  sig0 = (i64, i64, i64) windows_fastcall
  sig1 = (i64) windows_fastcall
  fn0 = %Memcpy sig0
  fn1 = u0:10 sig1 ; Instance { def: Item(WithOptConstParam { did: DefId(0:21 ~ bool_11_perturbed_big[c589]::{extern#0}::bool_struct_in_11_perturbed_big), const_param_did: None }), substs: [] }

block0:
                                  jump block1

block1:
  v0 = iconst.i8 1
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(0) }, None): bool <- ByVal(v0): bool
  v20 = stack_addr.i64 ss0
  store notrap aligned v0, v20
  v1 = iconst.i8 1
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(1) }, None): bool <- ByVal(v1): bool
  v21 = stack_addr.i64 ss0+1
  store notrap aligned v1, v21
  v2 = iconst.i8 1
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(2) }, None): bool <- ByVal(v2): bool
  v22 = stack_addr.i64 ss0+2
  store notrap aligned v2, v22
  v3 = iconst.i8 1
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(3) }, None): bool <- ByVal(v3): bool
  v23 = stack_addr.i64 ss0+3
  store notrap aligned v3, v23
  v4 = f32const 0x1.848280p7
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(4) }, None): f32 <- ByVal(v4): f32
  v24 = stack_addr.i64 ss0+4
  store notrap aligned v4, v24
  v5 = iconst.i8 1
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(8) }, None): bool <- ByVal(v5): bool
  v25 = stack_addr.i64 ss0+8
  store notrap aligned v5, v25
  v6 = iconst.i8 1
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(9) }, None): bool <- ByVal(v6): bool
  v26 = stack_addr.i64 ss0+9
  store notrap aligned v6, v26
  v7 = iconst.i8 1
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(10) }, None): bool <- ByVal(v7): bool
  v27 = stack_addr.i64 ss0+10
  store notrap aligned v7, v27
  v8 = iconst.i8 1
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(11) }, None): bool <- ByVal(v8): bool
  v28 = stack_addr.i64 ss0+11
  store notrap aligned v8, v28
  v9 = iconst.i8 1
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(12) }, None): bool <- ByVal(v9): bool
  v29 = stack_addr.i64 ss0+12
  store notrap aligned v9, v29
  v10 = iconst.i8 1
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(13) }, None): bool <- ByVal(v10): bool
  v30 = stack_addr.i64 ss0+13
  store notrap aligned v10, v30
  v11 = iconst.i8 176
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(14) }, None): u8 <- ByVal(v11): u8
  v31 = stack_addr.i64 ss0+14
  store notrap aligned v11, v31
  v12 = iconst.i8 1
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(15) }, None): bool <- ByVal(v12): bool
  v32 = stack_addr.i64 ss0+15
  store notrap aligned v12, v32
  v13 = iconst.i8 1
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(16) }, None): bool <- ByVal(v13): bool
  v33 = stack_addr.i64 ss0+16
  store notrap aligned v13, v33
  v14 = iconst.i8 1
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(17) }, None): bool <- ByVal(v14): bool
  v34 = stack_addr.i64 ss0+17
  store notrap aligned v14, v34
  v15 = iconst.i8 1
; write_cvalue: Addr(Pointer { base: Stack(ss0), offset: Offset32(18) }, None): bool <- ByVal(v15): bool
  v35 = stack_addr.i64 ss0+18
  store notrap aligned v15, v35
; write_cvalue: Addr(Pointer { base: Stack(ss1), offset: Offset32(0) }, None): bool_11_perturbed_big <- ByRef(Pointer { base: Stack(ss0), offset: Offset32(0) }, None): bool_11_perturbed_big
  v16 = stack_addr.i64 ss0
  v17 = stack_addr.i64 ss1
  v18 = iconst.i64 20
  call fn0(v17, v16, v18)
;
; _2 = bool_struct_in_11_perturbed_big(move _3)
  v19 = stack_addr.i64 ss1
  call fn1(v19)
  jump block2

block2:
  return
}

Ok, I think I originally looked at the opt version of the clif output and then fixed it here, and after fixing looked at the unopt version of the files.
If I go back to master, we already use stack_store pretty much everywhere (except here, but I wasn't even triggering this part of the code).
Up to you if you want to merge this or close it, it looks like my problem was looking at the opt files by accident 😅

This seems to be a slight improvement for simple-raytracer:
Benchmark 1: ./cg_clif_master
  Time (mean ± σ):      4.968 s ±  0.396 s    [User: 4.960 s, System: 0.006 s]
  Range (min … max):    4.785 s …  6.620 s    100 runs

  Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet PC without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.

Benchmark 2: ./cg_clif_stack_store
  Time (mean ± σ):      4.827 s ±  0.028 s    [User: 4.822 s, System: 0.005 s]
  Range (min … max):    4.774 s …  4.990 s    100 runs

  Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet PC without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.

Summary
  './cg_clif_stack_store' ran
    1.03 ± 0.08 times faster than './cg_clif_master'

Nice!


text:
Issue launching AppImage

Howdy!
When I launch lovr.AppImage it returns this:
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  149 ()
  Minor opcode of failed request:  4
  Serial number of failed request:  265
  Current serial number in output stream:  276

I have no clue why it does that, I even reinstalled it.

This looks very similar to this problem: https://github.com/bjornbytes/lovr/discussions/792
I have no idea what is causing it.  Our GLFW is kind of old, I'll try upgrading it out of desperation.

The weird thing is the program worked on this same driver version a few weeks ago, so I don't get what is going wrong here. I did update to a new, untested nvidia driver and it still doesn't work.

I just pushed the GLFW upgrade if you wanna see if that helps.  Also if you can post any system details like the driver version, distro, etc. it might help others that get the same issue or help with a potential fix.

For your info, here are my system specs:
OS: Ubuntu 24.04 LTS x86_64
Host: ASUS TUF Gaming F15 FX506HE_FX506HE 1.0
Kernel: 6.8.0-39-generic
Uptime: 3 hours, 22 mins
Packages: 2351 (dpkg), 16 (flatpak), 28 (snap)
Shell: bash 5.2.21
Resolution: 1080x1920, 1920x1080, 1920x1080
DE: GNOME 46.0
CPU: 11th Gen Intel i5-11400H (12) @ 4.500GHz
GPU: NVIDIA GeForce RTX 3050 Ti Mobile
GPU: Intel TigerLake-H GT1 [UHD Graphics]
Memory: 7224MiB / 15730MiB
Also, when I tried recompiling it gave me this error:
[  0%] Built target xr_global_generated_files
[  0%] Built target generate_openxr_header
[  0%] Building CXX object openxr/src/loader/CMakeFiles/openxr_loader.dir/api_layer_interface.cpp.o
In file included from /home/gungu/lovr/deps/openxr/src/loader/loader_platform.hpp:16,
                 from /home/gungu/lovr/deps/openxr/src/loader/api_layer_interface.hpp:19,
                 from /home/gungu/lovr/deps/openxr/src/loader/api_layer_interface.cpp:10:
/home/gungu/lovr/deps/openxr/src/common/xr_dependencies.h:60:10: fatal error: xcb/glx.h: No such file or directory
   60 | #include <xcb/glx.h>
      |          ^~~~~~~~~~~
compilation terminated.
gmake[2]: *** [openxr/src/loader/CMakeFiles/openxr_loader.dir/build.make:90: openxr/src/loader/CMakeFiles/openxr_loader.dir/api_layer_interface.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:1960: openxr/src/loader/CMakeFiles/openxr_loader.dir/all] Error 2

Luckily it isn't this version, since I also got this error a few hours ago when I compiled it for the second time.

To fix that compile error you can install libxcb-glx0-dev, full list of required packages is here.  The AppImage from CI is also available if that's easier

Thanks! I compiled the whole thing but sadly it still gives the same error.

Both people experiencing this issue are on dual iGPU/dGPU setups.  Apparently disabling the iGPU in BIOS fixes it.  Hopefully we can find a better workaround though.

Yeah, I'm hoping for a better workaround, because I have an Asus tuf 15 laptop, and they don't allow disabling the iGPU in the bios, since they got rid of the MUX switch.

Hi!
Got another update on this issue. The app works perfectly fine with noveau drivers, my only issue is that I've got a usb-c display which doesn't work with noveau drivers, but I'm gonna get that figured out. Maybe it also works on older driver version, I'm also gonna try that.

Another crazy discorvery, I downgraded drivers and I even tried with current driver versions, and it worked completely fine, up until I used the command
sudo prime-select nvidia
which ended up stopping the application from working. I'm just gonna leave out that function because I don't play games on linux anymore, and I guess it'll work. I'll still not close this issue though, since it isn't technically fixed

To prevent duplicate issues, I decided to come here. I tried both latest release, AppImage and manual build of manual development version, but it all leads to similar error:
X Error of failed request:  136   Major opcode of failed request:  148 ()   Minor opcode of failed request:  1   Serial number of failed request:  270   Current serial number in output stream:  270
The error was taken with manually initiated window(under lovr.load), so it may have some part different.
GLFW version on the development version is 3.50.(found in CMakeLists)

Thank you for the info.  If you're building from source you could try building with -DLOVR_USE_GLFW=OFF, I'm curious if this would change anything (this uses raw xcb instead of GLFW).

Weirdly, I got a blank window with this on "no game" display.
Text looks normal on my project, but it is just a black screen, and the log(my logging system) is stopping from certain place.
I enabled debug log, this is the output:
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntimes - unknown error
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntimes - failed to load a runtime
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Failed to find default runtime with RuntimeInterface::LoadRuntime()
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Failed querying extension properties
Warning: GPU debugging is enabled, but validation layer is not installed```
This happened with "no game". For my project, it only shows the last warning(Due to lovr.headset being disabled?).

Note: The weird text issue did not occur on 0.17.1 with GLFW, where the software crashes.

Has anyone tried the __NV_PRIME_RENDER_OFFLOAD environment variable?
__NV_PRIME_RENDER_OFFLOAD=1 lovr

Nothing changed, with both GLFW and XCB.

authors: EggToaster bjornbytes gungugugungu

repo: bjornbytes/lovr


text:
Fix delete seed button

The Delete button in the seed table doesn't work at the moment.

Fixed.


text:
Updated license text.

@dougbinks, @cloudwu
Please review...

That seems fine to me, but @melax is the original author.

authors: bkaradzic dougbinks

repo: bkaradzic/bgfx


text:
Bug in the meeting form - Date and Time in the past

not to accept passed date, (Date should be from now to later)
Latest Start Time should be bigger than Earliest Start Time

Tested 02/11: historic meeting time fails badly on main

Confirmed fixed.  Ignoring date=today but latestStart before now.

authors: OracPrime bkarimii

repo: bkarimii/AppOintment-projet

license: ISC


text:
simple generator

@bkeepers
I'm not sure what the expected $ expansion is supposed to be ... default should be safe I guess so escaping all the $ signs ... leaving unsafe option in to allow usecases that need them, can be avoided by using \\$ ...
I tried shellwords too, but was unable to parse them back in ... which the whole point of this generation logic is ...

@bkeepers

@bkeepers

:cool:
How do you see people using this method? Is it to save a snapshot of the current ENV? Would they defined a rake task or application logic to do it? Just curious to see what the usage will look like.

I'm using it to read-modify-write a .env file here

So only needs an ruby api, nothing else afaik

Ah, that's cool, but I don't imagine it's something that many others would need. I think I'm going to pass on this for now, but I'm happy to reconsider if others need it.

I think it's pretty common/important the a library that reads a certain data format can also write it.
This PR does not add any runtime overhead, so I think it's safe to add.
How about leaving it open with a "Needs testers" tag or something like that ?

just copy-pasted that to the second project .... this time generating .env from config hash to start docker containers ... would be great to get this merged :)

... and copied it to a new project again 😞

authors: bkeepers grosser

repo: bkeepers/dotenv


text:
Custom error messages

I would like to be able to customize the error message. For example to be able to linking to a documentation in your project where it is explained how to write proper commits, or to give more details about what the whitelist/blacklist represent.

Are you wanting to wanting to bake that into the error messages displayed/printed in the build? You might want to take a look at the severity branch that I'm working on where I extract out the ability to leave issue (previously known as error) hints. The severity branch, BTW, is related to the severity issue.

This issue has been resolved by this pull request.

@bkuhlmann I think you misunderstood me, I didn't mean the error warning thing, but to allow to have custom error messages. For example, to add a link to documentation and to clarify the errors with regular expressions. In my case I have this error message:
Commit Subject Prefix Error. Use: /\A(?!\s)(\[api\])?(\[backend\])?(\[ci\])?(\[dist\])?(\[doc\])?(\[webui\])? [a-zA-Z]/.
and I would prefer having something like:
Commit Subject Prefix Error. Tag your commit properly. See link_to_documentation.
This could be configured with something like this (a message param):
:commit_subject_prefix:
  :enabled: true
  :severity: :error
  :message: "Tag your commit properly. See link_to_documentation"
  :whitelist:
    - \A(?!\s)(\[api\])?(\[backend\])?(\[ci\])?(\[dist\])?(\[doc\])?(\[webui\])? [a-zA-Z]

The :message (or :hint as it's known internally) would replace the default text then? It would also probably need a string placeholder (i.e. %s) so regular expression output could be displayed in the feedback as it does currently (or not, in the case where you wouldn't want the regular expressions in the output at all).
What you're suggesting feels a lot like i18n support where, in this case, could be used as alternate/custom output.
The link to documentation, while I understand would be handy, worries me a bit since it could get out of date rather quickly. Would need to think about how that could be generated or updated in an automated fashion so this gem isn't hard to maintain.

@bkuhlmann

The link to documentation, while I understand would be handy, worries me a bit since it could get out of date rather quickly. Would need to think about how that could be generated or updated in an automated fashion so this gem isn't hard to maintain.

well, my idea is just to allow the user to have his own error messages, so he could write whatever he want, documentation, explanation of what regular expression mean or any other thing that he think about. This was just an example of why this would be really useful.

The :message (or :hint as it's known internally) would replace the default text then? It would also probably need a string placeholder (i.e. %s) so regular expression output could be displayed in the feedback as it does currently (or not, in the case where you wouldn't want the regular expressions in the output at all).

I would leave the name of the cop that is failing and replacing the rest of the current error message with the one provided by the user, if any.

What you're suggesting feels a lot like i18n support where, in this case, could be used as alternate/custom output.

Not sure if I get what you exactly mean. What I suggest is just replace the current error message with the one provided by the user, without doing anything else. Just whatever the user introduced is what is rendered.

Yeah, that makes sense. I think that level of customization becomes more interesting if this gem needed i18n support (i.e. Internationalization). With i18n, one could provide translations in English, Spanish, German, etc. ...or even different versions of a specific language. With support like that, you could then customize any of the text output however you liked.
That said, not sure I want to support this yet. It's good that this gem is customizable as is but would like to wait and see if others have this issue before proceeding.

@bkuhlmann

Yeah, that makes sense. I think that level of customization becomes more interesting if this gem needed i18n support (i.e. Internationalization). With i18n, one could provide translations in English, Spanish, German, etc. ...or even different versions of a specific language. With support like that, you could then customize any of the text output however you liked.

:+1:

That said, not sure I want to support this yet. It's good that this gem is customizable as is but would like to wait and see if others have this issue before proceeding.

Maybe leaving the issue open then?
What is the problem of supporting it? It is not something complicate to implement/support, right?

Let's leave the issue closed for now to maintain Inbox Zero and keep the cognitive load low as possible. We can always search for this later if need be.
Adding i18n support would complicate the implementation and add more maintenance complexity. It'd be some effort to support so let's wait and see if the pain point grows in intensity before proceeding.

repo: bkuhlmann/git-cop


text:
Error 403 with make prep_lite

Hi there!
I'm trying to run the first steps but when running make prep_lite -j10 on my Ubuntu 22.04 I get a HTTP 403 somewhere:
Cloning into '/home/user/gits/blackparrot/black-parrot-sim/sdk/yocto/meta-linux-mainline'...
fatal: unable to access 'https://git.sr.ht/~pbarker/meta-linux-mainline/': The requested URL returned error: 403
fatal: clone of 'https://git.sr.ht/~pbarker/meta-linux-mainline' into submodule path '/home/user/gits/blackparrot/black-parrot-sim/sdk/yocto/meta-linux-mainline' failed
Failed to clone 'meta-linux-mainline'. Retry scheduled
Cloning into '/home/user/gits/blackparrot/black-parrot-sim/sdk/yocto/meta-linux-mainline'...
fatal: unable to access 'https://git.sr.ht/~pbarker/meta-linux-mainline/': The requested URL returned error: 403
fatal: clone of 'https://git.sr.ht/~pbarker/meta-linux-mainline' into submodule path '/home/user/gits/blackparrot/black-parrot-sim/sdk/yocto/meta-linux-mainline' failed
Failed to clone 'meta-linux-mainline' a second time, aborting
fatal: Failed to recurse into submodule path 'sdk/yocto'
fatal: Failed to recurse into submodule path 'sdk'
make: *** [Makefile:12: checkout] Error 1

Is this a known error / do you know a workaround?
Thank you very much!
Flavien

Hi Flavien, thanks for the issue.
Yes, this is a known issue. There was an external repo we relied on that was moved, breaking the submodule. If you update the remote of the bp-yocto submodule to the one from this PR, it should resolve:
https://github.com/black-parrot-sdk/bp-yocto/pull/1
I'll make a PR when I get to a computer so no one else runs into this...

Cool thanks! Then I'll retry when it's merged!

Give this a shot: https://github.com/black-parrot/black-parrot-sim/pull/12

That works! I'm getting the same segmentation fault as #10 but it seems benign from my understanding.
Thank you for your fast help!
Flavien

authors: dpetrisko flaviens

repo: black-parrot/black-parrot-sim


text:
BP Burst DRAM controller

We current serialize / deserialize messages to / from the DRAM controller (bp_mem). Instead, this interface should be BP burst and work on 64-bits at a time (for example, should be parameterizable).

@dpetrisko Should we match the data width of the DRAM controller and the processor's burst width? Because if not we still need ser/deser logic for different DRAM bus sizes.

@dpetrisko Should we match the data width of the DRAM controller and the processor's burst width? Because if not we still need ser/deser logic for different DRAM bus sizes.

Yeah I think matching is fine

Yeah I think matching is fine

authors: dpetrisko farzamgl

repo: black-parrot/black-parrot


text:
[Gally]: master <- dev

Automatically created by Git-Ally

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

repo: blackflux/lambda-example


text:
[Gally]: master <- dev

Automatically created by Git-Ally

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

repo: blackflux/lambda-monitor


text:
[Gally]: master <- dev

Automatically created by Git-Ally

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

repo: blackflux/node-tdd


text:
go build fails due to undefined references

Go build fails with the following errors.

../sweetiebot/sweetiebot.go:499: undefined: discordgo.ChannelType
../sweetiebot/sweetiebot.go:500: undefined: discordgo.ChannelTypeGuildText
../sweetiebot/sweetiebot.go:500: undefined: discordgo.ChannelTypeGuildCategory
../sweetiebot/sweetiebot.go:500: undefined: discordgo.ChannelTypeGuildVoice

From the readme:

Note that sweetiebot requires the develop branch of discordgo. To switch, you will need to find where
Golang downloaded the discordgo library, open a terminal in that directory, and use the command git
checkout develop. Failure to do so will cause random compilation errors due to missing features. If
you're having any additional issues getting sweetiebot working, check INSTALLATION.md for more information.

I didn't see that in the readme.md. I was following INSTALLATION.md which makes no mention of switching/downloading the development branch.

Install the required libraries with the commands go get github.com/go-sql-driver/mysql and go get github.com/blackhole12/discordgo.

I deleted INSTALLATION.md, which was out of date.


text:
[paramountnetwork.es] site support

[x] I'm reporting a new site support request
[x] I've verified that I'm running youtube-dlcc version 2020.09.14
[x] I've checked that all provided URLs are alive and playable in a browser
[] I've checked that none of provided URLs violate any copyrights
[ ] I've searched the bugtracker for similar site support requests including closed ones
Not sure about copyright.
https://www.paramountnetwork.es/peliculas/emusau/yo-soy-paul-walker-2018

use Video DownloadHelper To get m3u8 manifest and downloa it with youtube-dl/youtube-dlc

use Video DownloadHelper To get m3u8 manifest and download it with youtube-dl/youtube-dlc

Manually its easy with firefox, thw goal is automate.

use batch script? until developer agress to do it

use batch script? until developer agress to do it

how can you use bartch script? i try to find a way to extract network information from firefox but i could'nt a waty to automate it.

This site uses the MTV network. I just recently updated the MTV extractor so a fix should be quite easy to do.

This site uses the MTV network. I just recently updated the MTV extractor so a fix should be quite easy to do.

thanks

license: Unlicense


text:
Add pre-commit hooks

closes #67
I don't know which ones you wanted, so I just added a few I like (disclaimer: I'm the author of one of them, nbQA)

Nice ! This is basically to replace the use of the Makefile for developers. I didn't see mypy and flake8 in the config file, did I miss them?

Nice ! This is basically to replace the use of the Makefile for developers. I didn't see mypy and flake8 in the config file, did I miss them?

I've just added flake8.
mypy works a bit differently when run in pre-commit, it might require some extra tinkering to get it to work

I also wonder if the pre-commit and Check formatting GH worflows aren't redundant? How is that managed on PyMC3?

Yes, indeed - I've removed the duplicated checks, except for mypy for now.
PyMC3 doesn't check mypy (unfortunately), linting/formatting is all done via pre-commit

You can check the configuration file in aesara/aehmc as we use mypy there.

Thanks for the request remi. Ill review tomorrow although my prior is this will be good since @MarcoGorelli does great work :)

You can check the configuration file in aesara/aehmc as we use mypy there

Thanks - I was hesitant to do that because it would've required some heavy additional dependencies for the hook (jax and numpy) but it looks like you're ignoring their types anyway - I've added it now

There seems to be duplicate workflows below, "Check code formatting" and "pre-commit", would it be possible to remove one of those and keep the name "Check code style" ?

Sure, done

I just added -e ./ in requirements-dev.txt as well so developers do not have to do it when working on the library. I'll rebase and merge when the tests pass, great work !

Hey @MarcoGorelli - Any idea why this error happens?

Hey @rlouf !
Yeah, I've occasionally seen it before, if you run it again it'll almost certainly go away

You could also use pre-commit-ci instead of GHActions for this - it has the option to autofix PRs for you, but you can disable it by adding
ci:
    autofix_prs: false

to the top of .pre-commit-config.yaml

authors: MarcoGorelli canyon289 rlouf

repo: blackjax-devs/blackjax


text:
[BUG] Contains doesn't work when the field is a wikilink only

What happened?
When I use the contains function in the WHERE and the field is only a wikilink, it provides no result.
Simply adding something else to the field, even a blank space, make it work.
In the below example:
Monster-Group: "[[Monster#Undead|Undead]]" does not work
Monster-Group: "[[Monster#Undead|Undead]] " (final space after the wikilink) does work.
DQL

LIST Pack
FROM "MunchkinWorld"
WHERE !NotShow AND Category = "Monster" AND contains(Monster-Group, "Undead")
SORT file.name

JS
No response
Dataview Version
0.5.56
Obsidian Version
1.4.8
OS
Windows

Maybe this is related with 2029

I have the same problem but with a list of wikilinks. And putting a space behind a link of that list doesn't help here

Maybe this is related with 2029

Or probably not, because it has NOT been fixed in 0.5.57

This is a separate issue. Using contains() on a link is not doing what you probably think it is doing - links are essentially treated as full page objects, so contains(link, "value") is checking if value is present as a field on the page being linked to by link.
Try contains(string(link), "value") instead.

This is a separate issue. Using contains() on a link is not doing what you probably think it is doing - links are essentially treated as full page objects, so contains(link, "value") is checking if value is present as a field on the page being linked to by link.
Try contains(string(link), "value") instead.

Thanks for your answer!
I'm not using contains() directly on a link, I'm using it on a field, whose value is a wikilink: contains(field, "[[Value]]"), but now I understand that in this case, Dataview treats it as if I'm using it directly on a link (and so, if I add a space in the field value after the wikilink contains(field, "[[Value]] "), it doesn't it anymore and consider the field value as a string, as expected).
Using contains(string(field), "[[Value]]") works, thanks! :)

Using contains on a link and using contains on a field that IS a link is the same thing :)

authors: Cammagno Leo310 blacksmithgu

repo: blacksmithgu/obsidian-dataview


text:
Headers are not foldable

What happened?
Headers should be folderable but it looks like headers that are created using dataviewjs are not.
DQL
dv.el("h1", "H1");
dv.el("h2", "H2 - This should be foldable but is not");

JS
No response
Dataview Version
0.4.20
Obsidian Version
0.12.19
OS
MacOS

I'm not sure I can fix this (easily at least) - this is built in Obsidian functionality that is added to headers before Dataview gets around to rendering them. This issue is also why embeds and some other things don't currently work in Dataview, by the way.
This may be possible with some future Obsidian API improvements.

@blacksmithgu don't suppose this is any closer to being possible? Even if only in preview mode?

@blacksmithgu I'd also be keen to know what it would take to get this implemented (for similar functionality in the Tasks plugin) - what are your thoughts on using the <details> tag as a work-around?

authors: blacksmithgu cdloh charleshan st--


text:
Proxy addon issue - when trying to open frigate menu you get 404

I am running frigate 14.0-beta1 via docker-compose.
On a separate container I am running home assistant with frigate proxy addon - version 1.5.
when trying to open frigate from the homeassistant side menu on the left I get frigate new UI loaded but showing 404 error:

If I try to navigate by using new frigate menu all works fine and I can access all the functions. it is just when you navigate between home assistant menus it opens this page with 404 initially.
browser hard reload and empty cache cleanup done, home assistant restarted after installation of beta version.
nginx: log entries when navigating:

proxy addon config:
server: http://192.168.0.181:5000
proxy_pass_host: true
proxy_pass_real_ip: true

p.s. new version is really amazing I am thriled how nice that is!!!!!!!!!!!!!!!!!!!!!!!!! super amazing job guys!!

Same here. Wait for fix

Confirm with 14.beta2 fixed.

authors: DieMetRik MaBeniu

repo: blakeblackshear/frigate-hass-addons


text:
[1.11]Cookbooks and Cooking Table ignore Minetweaker entirely

Any recipe changes made through Minetweaker are not respected by the Cook Books and the Cooking Table. The Cooking Table will even allow you to make items even if you disabled their recipe in Minetweaker.
Example: I disabled Abyssalcraft's "Chicken on a Plate" recipe because I think it's a bit boring.

However, it still shows up in the Cooking Table and remains craftable there.

Mods used:
Minecraft Forge 13.20.1.2368 (Also tested with 2454, but this changes nothing)
CookingForBlockheads_1.11.2-5.3.24
CraftTweaker-1.11.2-3.0.26
MTLib-2.0.3
AbyssalCraft-1.11.2-1.9.4-pre-4 was used in the sample above, but the issue still occurs if it is not installed.

That was fast.


text:
client crash when opening chest

trashslot 10.4.4 on forge 28.0.24 crashes client when opening chest
---- Minecraft Crash Report ----
// You should try our sister game, Minceraft!
Time: 7/30/19 8:46 PM
Description: Exception in server tick loop
java.lang.NoSuchMethodError: net.minecraft.network.play.ServerPlayNetHandler.func_147362_b()Lnet/minecraft/network/NetworkManager;
at net.blay09.mods.trashslot.TrashSlot.onPlayerOpenContainer(TrashSlot.java:90) ~[?:10.4.4] {}
at net.minecraftforge.eventbus.ASMEventHandler_0_TrashSlot_onPlayerOpenContainer_Open.invoke(.dynamic) ~[?:?] {}
at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:80) ~[eventbus-0.10.6-service.jar:?] {}
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:258) ~[eventbus-0.10.6-service.jar:?] {}
at net.minecraft.entity.player.ServerPlayerEntity.func_213829_a(ServerPlayerEntity.java:824) ~[?:?] {pl:accesstransformer:B}
at net.minecraft.block.ChestBlock.func_220051_a(SourceFile:191) ~[?:?] {}
at net.minecraft.block.BlockState.func_215687_a(BlockState.java:274) ~[?:?] {}
at net.minecraft.server.management.PlayerInteractionManager.func_219441_a(PlayerInteractionManager.java:306) ~[?:?] {}
at net.minecraft.network.play.ServerPlayNetHandler.func_184337_a(ServerPlayNetHandler.java:848) ~[?:?] {}
at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.func_148833_a(SourceFile:36) ~[?:?] {}
at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.func_148833_a(SourceFile:10) ~[?:?] {}
at net.minecraft.network.PacketThreadUtil.func_225383_a(SourceFile:21) ~[?:?] {}
at net.minecraft.network.PacketThreadUtil$$Lambda$3939/383480.run(Unknown Source) ~[?:?] {}
at net.minecraft.util.concurrent.TickDelayedTask.run(SourceFile:18) ~[?:?] {}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(SourceFile:144) ~[?:?] {pl:accesstransformer:B}
at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) ~[?:?] {}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(SourceFile:118) ~[?:?] {pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:698) ~[?:?] {pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.func_213168_p(MinecraftServer.java:692) ~[?:?] {pl:accesstransformer:B}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213160_bf(SourceFile:103) ~[?:?] {pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.func_213202_o(MinecraftServer.java:677) ~[?:?] {pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:625) [?:?] {pl:accesstransformer:B}
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51] {}
A detailed walkthrough of the error, its code path and all known details is as follows:
-- System Details --
Details:
Minecraft Version: 1.14.4
Minecraft Version ID: 1.14.4
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_51, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 1072245824 bytes (1022 MB) / 2147483648 bytes (2048 MB) up to 2147483648 bytes (2048 MB)
CPUs: 8
JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
ModLauncher: 3.1.0+58+1395384
ModLauncher launch target: fmlclient
ModLauncher naming: srg
ModLauncher services:
/eventbus-0.10.6-service.jar eventbus PLUGINSERVICE
/forge-1.14.4-28.0.24.jar object_holder_definalize PLUGINSERVICE
/forge-1.14.4-28.0.24.jar runtime_enum_extender PLUGINSERVICE
/accesstransformers-0.16.0-shadowed.jar accesstransformer PLUGINSERVICE
/forge-1.14.4-28.0.24.jar capability_inject_definalize PLUGINSERVICE
/forge-1.14.4-28.0.24.jar runtimedistcleaner PLUGINSERVICE
/forge-1.14.4-28.0.24.jar fml TRANSFORMATIONSERVICE
FML: 28.0
Forge: net.minecraftforge:28.0.24
FML Language Providers:
javafml@28.0
Mod List:
TrashSlot_1.14.3-10.4.4.jar TrashSlot {trashslot@10.4.4 DONE}
forge-1.14.4-28.0.24-universal.jar Forge {forge@28.0.24 DONE}
Player Count: 1 / 8; [ServerPlayerEntity['cpm9'/203, l='test', x=81.46, y=80.00, z=103.97]]
Data Packs: vanilla, mod:trashslot, mod:forge
Type: Integrated Server (map_client.txt)
Is Modded: Definitely; Client brand changed to 'forge'

It causes crashes with blocks that opens the inventory(or has it's own?), Furnaces, chests, anvils, enchanting tables, ect.
I just went through the painstaking task of checking all those inventory blocks with only Trash Slot installed. I'm gonna forego the logs since they'll probably look the same as yours.

TrashSlot for 1.14.3 is not compatible with Minecraft 1.14.4. See #54


text:
merge doesn't work on csv uri

While, trying a reduction operation with merge bz.merge(**{'a': data['petal_width'].sum(), 'b': data['petal_length'].sum()}).
Works with sql uri, fails for csv
In [498]: datasql = bz.Data('sqlite:///iris.db::iris')

In [499]: datacsv = bz.Data('iris.csv')

In [500]: bz.merge(**{'a': datasql['petal_width'].sum(), 'b': datasql['petal_length'].sum()})
Out[500]:
       a      b
0  179.9  563.7

In [501]: bz.merge(**{'a': datacsv['petal_width'].sum(), 'b': datacsv['petal_length'].sum()})
Out[501]: ---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
d:\apps\anaconda2\lib\site-packages\IPython\core\formatters.pyc in __call__(self, obj)
    697                 type_pprinters=self.type_printers,
    698                 deferred_pprinters=self.deferred_printers)
--> 699             printer.pretty(obj)
    700             printer.flush()
    701             return stream.getvalue()

d:\apps\anaconda2\lib\site-packages\IPython\lib\pretty.pyc in pretty(self, obj)
    381                             if callable(meth):
    382                                 return meth(obj, self, cycle)
--> 383             return _default_pprint(obj, self, cycle)
    384         finally:
    385             self.end_group()

d:\apps\anaconda2\lib\site-packages\IPython\lib\pretty.pyc in _default_pprint(obj, p, cycle)
    501     if _safe_getattr(klass, '__repr__', None) not in _baseclass_reprs:
    502         # A user-provided repr. Find newlines and replace them with p.break_()
--> 503         _repr_pprint(obj, p, cycle)
    504         return
    505     p.begin_group(1, '<')

d:\apps\anaconda2\lib\site-packages\IPython\lib\pretty.pyc in _repr_pprint(obj, p, cycle)
    692     """A pprint that just redirects to the normal repr function."""
    693     # Find newlines and replace them with p.break_()
--> 694     output = repr(obj)
    695     for idx,output_line in enumerate(output.splitlines()):
    696         if idx:

d:\apps\anaconda2\lib\site-packages\blaze\interactive.pyc in expr_repr(expr, n)
    266                              isscalar(expr.dshape.measure) or
    267                              isinstance(expr.dshape.measure, Map))):
--> 268         return repr_tables(expr, 10)
    269
    270     # Smallish arrays

d:\apps\anaconda2\lib\site-packages\blaze\interactive.pyc in repr_tables(expr, n)
    199
    200 def repr_tables(expr, n=10):
--> 201     result = concrete_head(expr, n).rename(columns={None: ''})
    202
    203     if isinstance(result, (DataFrame, Series)):

d:\apps\anaconda2\lib\site-packages\blaze\interactive.pyc in concrete_head(expr, n)
    181         return odo(head, object)
    182     elif isrecord(expr.dshape.measure):
--> 183         return odo(head, DataFrame)
    184     else:
    185         df = odo(head, DataFrame)

d:\apps\anaconda2\lib\site-packages\odo\odo.pyc in odo(source, target, **kwargs)
     89     odo.append.append      - Add things onto existing things
     90     """
---> 91     return into(target, source, **kwargs)

d:\apps\anaconda2\lib\site-packages\multipledispatch\dispatcher.pyc in __call__(self, *args, **kwargs)
    162             self._cache[types] = func
    163         try:
--> 164             return func(*args, **kwargs)
    165
    166         except MDNotImplementedError:

d:\apps\anaconda2\lib\site-packages\blaze\interactive.pyc in into(a, b, **kwargs)
    310 @dispatch((object, type, str, unicode), Expr)
    311 def into(a, b, **kwargs):
--> 312     result = compute(b, **kwargs)
    313     kwargs['dshape'] = b.dshape
    314     return into(a, result, **kwargs)

d:\apps\anaconda2\lib\site-packages\multipledispatch\dispatcher.pyc in __call__(self, *args, **kwargs)
    162             self._cache[types] = func
    163         try:
--> 164             return func(*args, **kwargs)
    165
    166         except MDNotImplementedError:

d:\apps\anaconda2\lib\site-packages\blaze\interactive.pyc in compute(expr, **kwargs)
    166         raise ValueError("No data resources found")
    167     else:
--> 168         return compute(expr, resources, **kwargs)
    169
    170

d:\apps\anaconda2\lib\site-packages\multipledispatch\dispatcher.pyc in __call__(self, *args, **kwargs)
    162             self._cache[types] = func
    163         try:
--> 164             return func(*args, **kwargs)
    165
    166         except MDNotImplementedError:

d:\apps\anaconda2\lib\site-packages\blaze\compute\core.pyc in compute(expr, d, **kwargs)
    404         d4 = d3
    405
--> 406     result = top_then_bottom_then_top_again_etc(expr3, d4, **kwargs)
    407     if post_compute_:
    408         result = post_compute_(expr3, result, scope=d4)

d:\apps\anaconda2\lib\site-packages\blaze\compute\core.pyc in top_then_bottom_then_top_again_etc(expr, scope, **kwargs)
    166
    167     # 2. Compute from the bottom until there is a data type change
--> 168     expr2, scope2 = bottom_up_until_type_break(expr, scope, **kwargs)
    169
    170     # 3. Re-optimize data and expressions

d:\apps\anaconda2\lib\site-packages\blaze\compute\core.pyc in bottom_up_until_type_break(expr, scope, **kwargs)
    308     #    (this is the bottom part of bottom up)
    309     exprs, new_scopes = zip(*[bottom_up_until_type_break(i, scope, **kwargs)
--> 310                               for i in inputs])
    311
    312     # 2. Form new (much shallower) expression and new (more computed) scope

d:\apps\anaconda2\lib\site-packages\blaze\compute\core.pyc in bottom_up_until_type_break(expr, scope, **kwargs)
    332     try:
    333         return leaf, {leaf: compute_up(new_expr, *_data, scope=new_scope,
--> 334                                        **kwargs)}
    335     except NotImplementedError:
    336         return new_expr, new_scope

d:\apps\anaconda2\lib\site-packages\multipledispatch\dispatcher.pyc in __call__(self, *args, **kwargs)
    162             self._cache[types] = func
    163         try:
--> 164             return func(*args, **kwargs)
    165
    166         except MDNotImplementedError:

d:\apps\anaconda2\lib\site-packages\blaze\compute\pandas.pyc in compute_up(t, df, scope, **kwargs)
    576     scope = merge_dicts(scope or {}, {subexpression: df})
    577     children = [compute(_child, scope) for _child in t.children]
--> 578     return pd.concat(children, axis=1)
    579
    580

d:\apps\anaconda2\lib\site-packages\pandas\tools\merge.pyc in concat(objs, axis, join, join_axes, ignore_index, keys, levels, names, verify_integrity, copy)
    832                        keys=keys, levels=levels, names=names,
    833                        verify_integrity=verify_integrity,
--> 834                        copy=copy)
    835     return op.get_result()
    836

d:\apps\anaconda2\lib\site-packages\pandas\tools\merge.pyc in __init__(self, objs, axis, join, join_axes, keys, levels, names, ignore_index, verify_integrity, copy)
    888         for obj in objs:
    889             if not isinstance(obj, NDFrame):
--> 890                 raise TypeError("cannot concatenate a non-NDFrame object")
    891
    892             # consolidate

TypeError: cannot concatenate a non-NDFrame object

This was tested on blaze 0.9.1 and pandas 0.18.0
In [502]: bz.__version__
Out[502]: u'0.9.1'

In [503]: bz.pd.__version__
Out[503]: u'0.18.0'

Issue persists on master 0.10.0rc.xx.x too.
In [8]: bz.__version__
Out[8]: '0.10.0rc4+0.g6961844.dirty'

Hi, thanks for the report.
I agree that this should work with csv backend, and will look into it.
That said, the summary() expression is better suited for what you're trying to do here:
In [8]: import blaze as bz

In [9]: iris = bz.Data('./blaze/examples/data/iris.csv')

In [10]: bz.compute(bz.summary(a=iris.petal_width.sum(), b=iris.petal_length.sum()))
Out[10]:
a    179.9
b    563.7
dtype: float64

@kwmsmith -- thanks for bz.summary
Couple of issues/clarifications.

Compute on csv gives pd.series, on sql gives sqlalchemy.sql.selectable.Select, which is probably fixed in 0.10.0 with bz.compute(..., return_type=np.ndarray) perhaps? But, need to check if sql.Select can be converted to pd.Series

odo conversion to list of both expressions gives different outputs. bz.odo(sqlexpr, list) gives list with a single value - tuple of two values. bz.odo(csvexpr, list) gives list of two tuples, with each tuple duplicating values. Is this more of a odo issue?

In [12]: bz.compute(bz.summary(**{'a': datacsv['petal_width'].sum(), 'b': datacsv['petal_length'].sum()}))
Out[12]:
a    179.9
b    563.7
dtype: float64

In [13]: bz.compute(bz.summary(**{'a': datasql['petal_width'].sum(), 'b': datasql['petal_lengthOut[13]: <sqlalchemy.sql.selectable.Select at 0xbb55550; Select object>

In [14]: bz.odo(bz.summary(**{'a': datacsv['petal_width'].sum(), 'b': datacsv['petal_length'].sum()}), list)
Out[14]:
[(179.90000000000012, 179.90000000000012),
 (563.7000000000004, 563.7000000000004)]

In [15]: bz.odo(bz.summary(**{'a': datasql['petal_width'].sum(), 'b': datasql['petal_length'].sOut[15]: [(179.90000000000012, 563.7000000000004)]

@kwmsmith  -- Just checked on blaze 0.10.0rc6, and summary result for csv, and sql seem to have different output orientations. That probably seems to be causing the bz.compute/odo conversion error.
See, below, for return_type=pd.DataFrame - sqluri gives 2-column dataframe, where as for csvuri, it gives 1-column dataframe with (a,b) as index!
And, like-wise inconsistencies can be found with conversions to list, tuple. Also, sqluri fails for return_type=pd.Series
In [46]: exprcsv = bz.summary(**{'a': datacsv['petal_width'].sum(), 'b': datacsv['petal_length'].sum()})

In [47]: exprsql = bz.summary(**{'a': datasql['petal_width'].sum(), 'b': datasql['petal_length'].sum()})

In [48]: exprcsv
Out[48]:
Data:       <odo.backends.csv.CSV object at 0x0000000003A9D748>
Expr:       summary(a=sum(_1.petal_width), b=sum(_1.petal_length))
DataShape:  {a: float64, b: float64}

In [49]: exprsql
Out[49]:
Data:       iris
Expr:       summary(a=sum(_2.petal_width), b=sum(_2.petal_length))
DataShape:  {a: ?float64, b: ?float64}

In [50]: bz.compute(exprcsv, return_type=pd.DataFrame)
Out[50]:
       0
a  179.9
b  563.7

In [51]: bz.compute(exprsql, return_type=pd.DataFrame)
Out[51]:
       a      b
0  179.9  563.7

In [52]: bz.compute(exprcsv, return_type=list)
Out[52]: [179.90000000000012, 563.7000000000004]

In [53]: bz.compute(exprsql, return_type=list)
Out[53]: [(179.90000000000012, 563.7000000000004)]

In [54]: bz.compute(exprcsv, return_type=pd.Series)
Out[54]:
a    179.9
b    563.7
dtype: float64

In [55]: bz.__version__
Out[55]: '0.10.0rc6'

@pratapvardhan the documentation needs to be improved here -- try setting the keepdims=True argument:
In [9]: iris = bz.data('./blaze/examples/data/iris.csv')

In [10]: bz.compute(bz.summary(a=iris.petal_length.sum(), b=iris.petal_width.sum(), keepdims=False))
Out[10]:
a    563.7
b    179.9
dtype: float64

In [11]: bz.compute(bz.summary(a=iris.petal_length.sum(), b=iris.petal_width.sum(), keepdims=True))
Out[11]:
       a      b
0  563.7  179.9

@pratapvardhan Thanks for looking into this, I agree that the sql and csv expressions should be consistent here; when they're not, it's a bug.
If you're willing to look into it, I'm happy to give you pointers on how to address and fix.

@kwmsmith -- sure will do, would be good to have starting pointers.

authors: kwmsmith pratapvardhan

repo: blaze/blaze


text:
A Non-Active user logging in throws an uncaught exception.

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

As the admin account, go to Users tab and click the ACTIONS drop down to edit the John Doe user.  Pick EDIT
In the Administrators Settings tab click the Active? toggle, turning off the toggle.
Log out of the Admin account.
Click the 'FILL BASIC USER CREDENTIALS'
Go to 'Developer Tools' in Chrome and see the error

Expected behavior
An error in the snackbar saying the 'User is not active, please contact an Admin'.
Desktop (please complete the following information):

OS: Windows 10
Browser: chrome
Version 2.1

It seems that two conditions (active and email confirm) are equal to "true" for login

As the popular saying goes, "It's not a bug, It's a feature " 😆

What's the error you got?
I recreated the same steps you had mentioned. Here is what I see.

I checked the console log too. No unhandled exceptions were showing up.

This:

Maybe I have an older version?  ¯_(ツ)_/¯
If yours works then just close this, I'm good.
Thanks
Craig

Yes, I think your code is a much older version. Closing for now.
Regards

authors: MomboMan iammukeshm neozhu

repo: blazorhero/CleanArchitecture


text:
Use PGP and avoid encryption key knowledge

Make a receiver user side key generation browser widget to generate a private/public keypair on his system.  Allow receiver to send the public key as encoded in the link to the sender. Sender side widget encodes the file using that link/key locally on sender system.
The private key is stored in a write-only cookie or downloaded to the receiver system. The Blindsend Server thus never gets to see it. Decryption happens entirely on the receiver side using the information stored in the cookie.

Thanks for your suggestion.
Private keys of both receiver and sender never leave their browsers. In order to generate a key pair, receiver provides a password which is used as a seed for the key pair generating algorithm. Server gets only the data needed for password stretching (salt etc.), various nonces and the public key of file sender.
Receiver's public key is already encoded in a URI fragment in form of {domain}/{link_uuid}#{public_key}. A key pair is then randomly generated on the sender's side and together with the public key retrieved from the URI, a shared symmetric secret key can be computed and used to encrypt a file.
We just published the docs describing the protocol.
If we were to implement a design with the widgets, need for password would be removed since the receiver's private key is available (file system or cookie). That also makes the protocol safer since it becomes resistant to weak passwords.
Disadvantage is - secret key must be manually transferred if a receiver want's to decrypt the file on another system.
Do you think there are any security advantages if widgets are used?
Also, this design can be achieved without the widgets but they are surely useful to avoid going to the web page to initiate a session.

The essence of the service for the Receiver is to receive a file from the Sender and save it on his local file system. It seems logical to assume saving a private key file on the Receiver’s file system is a lower burden than generating and storing a (strong) password elsewhere.
As a separate note it wasn’t clear to me from your project description that you employed a sophisticated encryption and key generation protocol already. It may or may not be a more secure solution overall compared to the simple keypair approach proposed in this ticket.
So given you already have a strong encryption scheme the ultimate judgement criterion might be a marketing study of two user scenarios:

saving and managing a private key or
generating and managing a password
by the Receiver.

For the web app, I prefer the password scenario. It's more intuitive and easier to use for non-technical users.
I like the idea of storing the private keys locally for non-web APIs and will consider adding it as one of the options.

repo: blindnet-io/blindsend


text:
关于标题中包含小括号加英语渲染成数学公式的问题

目标：

实际：

markdown：
title: 算法概论(DPV)习题解答
该问题也会出现在标题部分，例如
(a)
会显示成
$a$

同问：请问解决了吗？

我这边还没解决，暂时搁置了。

你们 Hexo 里面装了什么插件嘛？我这边试了没啥问题。你们可以找找 Hexo 里面有没有什么方法可以防止被转义的方式，或者把英文括号换成中文括号呗。

我也是这个问题，用斜杠 \ 做转义也不可以
还有个问题是在代码块风格是java或者python使用大括号会出现这种情况

使用大括号的地方会变成 ‘&#123’ 这种符号

authors: Dennis174698 Doraemonzzz Zwyywz blinkfox

repo: blinkfox/hexo-theme-matery


text:
Update Makefile to use more compatible syntax

Some versions of make do not support the -t option in Makefiles. As a result, make install fails on Chimera Linux, using their GNU Make package. The install SOURCE DESTINATION syntax is more widely supported, as far as I am aware. With this change, make install runs without issue and application works as expected on Chimera Linux. I was also able to confirm that there is no regression on Ubuntu 24.04.1 LTS.

Cool addition. Thanks.

repo: blmayer/ereandel


text:
Added LinearRegression_RobustScaler. Removed memory optimisation code.

Linear Regression with RobustScaler.

Add a small description about RobustScaler in the model section

RobustScaler description added.

Remove parameter details about RobustScale. Instead just provide a URL to API.

repo: blobcity/ds-seed