Remove support of default value on the schema level

Supporting of default value in schema was a big technical challenge but now it becomes apparent that it was actually a bad choice. Initially I wanted to have default value as mean of creating data shapes based on schema but this usecase is hard to explain and also the default schema property leads to various complications.
End user confusion
The concept of schema subject type inference branching depending on handling default value is hard to convey to the end user. I would prefer to see one generic for subject type inference from the schema, something like SubjectType instead of XParsed/XValidated pair.
It's also not obvious when the default values is set. Currently we replace optional schema subject undefined and null value with the default one at the parser. But when we introduce nullable support (#2) this would be even less trivial question.
Typings complexity
The subject type inference split into two generics instead of one. So we have Con_Schema_SubjT_P for the parser and Con_Schema_SubjT_V for the validator. The complete list of generics affected by this:

XParsed
XValidated
Con_Schema_SubjT_P
Con_Schema_SubjT_V
Con_ObjectSchema_SubjT_P
Con_ObjectSchema_SubjT_V
Con_ArraySchema_SubjT_P
Con_ArraySchema_SubjT_V
Con_BaseSchema_SubjT_P
Con_BaseSchema_SubjT_V

Considering we are going to support Record (#3) and Union (#8) we will have 4 extra generics which is in total 14. We can drop the half of it by rejecting the concept of default value on schema level.
Runtime code complexity
Currently we have two functions for base schema value verification:

parseBaseSchemaSubject from the src/base-schema-parser.ts
validateBaseSchemaSubject from the src/base-schema-validator.ts

Both could be replaced by the singular verifyBaseSchemaSubject function.
We also would simplify the logic behind base schema programmatic definition functions.
Default value could be set programmatically
I like the concept of coercion from the superstruct library. But we can't implement it in the same manner because our schemas must be JSON compatible. We can implement coercion on the parser function level though.
Example:
import { x } from 'schematox'

const parsedString = x.string().optional().parse(
 undefined,
 subject => typeof subject === 'string' ? subject : 'defaultValue'
)

const parsedArray = x.array(x.string()).optional().parse(
  undefined,
  subject => Array.isArray(subject) ? subject.map(x => `${x}_suffix`) : undefined
)

const parsedObject = x.object({
  key: x.string()
}).parse(
 { key: undefined },
 { key: subject => typeof subject === 'string' ? subject : 'defaultValue' }
)

The only question here is should we enforce the return type based on defined schema or change result subject type based on the coercion callback. I'm leaning towards the first option but maybe the right way of doing it is to allow both coercion types. Anyway this the case for another feature issue.

closed by #18


Python SDK source code repository

Hello!
I'm trying to use the VRT robotframework's implementation available there https://github.com/NiceProjectPoland/robotframework-VRTLibrary
I see the project has a dependency to the Pypi package visual-regression-tracker (https://pypi.org/project/visual-regression-tracker/), which references this repository as Homepage.
I've looked around but could not find the source code for the Python binding, so I was wondering if it is really related to this project? safe to use ? If so, is there a separate repository hosting the source code ?
Many thanks for this software that seems to fulfill my needs !

Found the repo, sorry for the noise.


add how to specify a tenant by URL

Learn Build status updates of commit acb154e:
:warning: Validation status: warnings

File
Status
Preview URL
Details

articles/active-directory/authentication/concept-certificate-based-authentication-technical-deep-dive.md
:warning:Warning

Details

articles/active-directory/authentication/troubleshoot-certificate-based-authentication.md
:warning:Warning

Details

articles/active-directory/authentication/concept-registration-mfa-sspr-combined.md
:white_check_mark:Succeeded

articles/active-directory/authentication/concept-certificate-based-authentication-technical-deep-dive.md

Line 73, Column 168: [Warning: bookmark-not-found] Cannot find bookmark '#step-3-configure-username-binding-policy' in 'articles/active-directory/authentication/how-to-certificate-based-authentication.md', did you mean '#step-4-configure-username-binding-policy'?
Line 74, Column 126: [Warning: bookmark-not-found] Cannot find bookmark '#step-2-configure-authentication-binding-policy' in 'articles/active-directory/authentication/how-to-certificate-based-authentication.md', did you mean '#step-3-configure-authentication-binding-policy'?

articles/active-directory/authentication/troubleshoot-certificate-based-authentication.md

Line 28, Column 144: [Warning: bookmark-not-found] Cannot find bookmark '#step-2-configure-authentication-binding-policy' in 'articles/active-directory/authentication/how-to-certificate-based-authentication.md', did you mean '#step-3-configure-authentication-binding-policy'?
Line 50, Column 131: [Warning: bookmark-not-found] Cannot find bookmark '#step-3-configure-username-binding-policy' in 'articles/active-directory/authentication/how-to-certificate-based-authentication.md', did you mean '#step-4-configure-username-binding-policy'?
Line 55, Column 27: [Warning: bookmark-not-found] Cannot find bookmark '#step-3-configure-username-binding-policy' in 'articles/active-directory/authentication/how-to-certificate-based-authentication.md', did you mean '#step-4-configure-username-binding-policy'?
Line 73, Column 122: [Warning: bookmark-not-found] Cannot find bookmark '#step-4-enable-cba-on-the-tenant' in 'articles/active-directory/authentication/how-to-certificate-based-authentication.md', did you mean '#step-2-enable-cba-on-the-tenant'?

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Learn Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Where can i create the password?

Where can i create the password?

In the plugin settings.
And please be aware that github issues are related bugs or improvements, not questions. You can ask any question in the support server.

In the plugin settings.
And please be aware that github issues are related bugs or improvements, not questions. You can ask any question in the support server.

thanks


Connection Doubts

I am following all the steps to make the rc car work, but I have a couple of doubts.

I have to connect the arduino to the raspberry, but when I run the computer script, it does not recognize the port '/ dev / ttyACM0'. But, if I connect the arduino to the cable computer, and I run the script on the computer (changing the port to COM3) and the script on the raspberry, I get it to work (my scheduler is w10)
My question is how can I run the program with the arduino connected to the raspsberry pi?

I have an ultrasonic sensor HC-SR04, connected to the arduino. I do not have a breadboard to connect it to the raspberry, so can I use the sensor connected to the arduino instead of the raspberry?

Thank you

Hi @kaskagorry,
For your 1st question, if you want to get the same result of @hamuchiwa project, you should connect the arduino "after you upload the code to it" to the computer and control the car from the computer's keys. If you want to connect the arduino to the raspberry pi you should do your own new configuration, it can be couple more steps to get it working.
for your 2nd question, you should connect the HC-SR04 to the raspberry pi and run the ultrasonic_client.py on the raspberry pi after you modify it with your computer IP and port.
I hope that help you to make it clear. Best wishes.

Hi @Moha-alfridi
If I have not understood you wrong, the arduino has to connect to the computer to be able to handle it.
The only thing that I do not understand, is that in the video of @hamuchiwa it is not appreciated that the arduino is connected by cable to the computer.
I'm not very clear about that step
Thanks

Ok, but if the arduino is connected by cable to the pc, the robot can not walk much.
In the video it is seen that the robot walks independently without being connected to any computer via usb


Background geo-location

hi,
Firstly thanks a ton for this useful plugin. I think I can put this to good use in one of the Apps. But me being new to Android / Java, have this quick question. I may also be needing to do a background geolocation update. So I was thinking that instead of having another service or plugin do a background geolocation update, can I use this plugin to update a remote server with it's location co-ordinates? If yes where exactly do you think I should fit in the code to post the latitude / longitude data.
And also does this run as as service? I mean even after a reboot will it start up automatically?
Thanks a ton,
M&M

Hey @m-menon . I am afraid this plugin is only for monitor geofences. If you want to send some data to remote server on geofence transition, you could write some native code and place it somewhere here. Answering your last question: Yes it is working after device reboot.

hi tsubik,
Oke thanks a ton for the information. I'll add some code at the location you mentioned and try pushing the location information to the server.
Cheers,
M&M


Error 404 at login when visiting my VarFish website following docker-compose installation

Hi there,
I'm trying to set up a VarFish Server using Docker Compose (OS Centos 7.5, Docker version 1.13.1, docker-compose version 1.29.2).
   2 hours ago         Up 8 seconds        8080/tcp                                   varfish-docker-compose_varfish-celeryd-export_1
fa3b6443ab17        bihealth/varfish-server:0.23.7-0                            "docker-entrypoint..."   2 hours ago         Up 7 seconds        8080/tcp                                   varfish-docker-compose_varfish-celerybeat_1
af430089c2d4        bihealth/varfish-server:0.23.7-0                            "docker-entrypoint..."   2 hours ago         Up 8 seconds        8080/tcp                                   varfish-docker-compose_varfish-celeryd-query_1
358501f44436        bihealth/varfish-server:0.23.7-0                            "docker-entrypoint..."   2 hours ago         Up 7 seconds        8080/tcp                                   varfish-docker-compose_varfish-celeryd-default_1
acb21dd295e2        bihealth/varfish-server:0.23.7-0                            "docker-entrypoint..."   2 hours ago         Up 7 seconds        8080/tcp                                   varfish-docker-compose_varfish-celeryd-maintenance_1
3963a1562efe        bihealth/varfish-server:0.23.7-0                            "docker-entrypoint..."   2 hours ago         Up 8 seconds        8080/tcp                                   varfish-docker-compose_varfish-celeryd-import_1
ad22e6dadc49        bihealth/varfish-server:0.23.7-0                            "docker-entrypoint..."   2 hours ago         Up 6 seconds        8080/tcp                                   varfish-docker-compose_varfish-web_1
1bfb860537b4        traefik:v2.3.1                                              "/entrypoint.sh --..."   2 hours ago         Up 7 seconds        <IP_ADDRESS>:80->80/tcp, <IP_ADDRESS>:443->443/tcp   varfish-docker-compose_traefik_1
bd058417b9c0        quay.io/biocontainers/jannovar-cli:0.33--0                  "jannovar -Xmx6G -..."   2 hours ago         Up 8 seconds                                                   varfish-docker-compose_jannovar_1
37dde927feca        quay.io/biocontainers/exomiser-rest-prioritiser:12.1.0--1   "exomiser-rest-pri..."   2 hours ago         Up 8 seconds                                                   varfish-docker-compose_exomiser-rest-prioritiser_1
982c28a7d1e8        postgres:12                                                 "docker-entrypoint..."   2 hours ago         Up 7 seconds        5432/tcp                                   varfish-docker-compose_postgres_1
35029bce2eeb        minio/minio                                                 "/usr/bin/docker-e..."   2 hours ago         Up 6 seconds        9000/tcp                                   varfish-docker-compose_minio_1
2a389bdc5f6b        redis:6                                                     "docker-entrypoint..."   2 hours ago         Up 7 seconds        6379/tcp                                   varfish-docker-compose_redis_1

I cannot find any obvious issues there, but if I try to connect to my server I always get the same 404 error, instead of the login page.
If I run wget -O /tmp/test.html -S https://<myServerIP>/ --no-check-certificate, I get:
--2021-09-30 16:49:09--  https://<myServerIP>/
Connecting to <myServerIP>:443... connected.
WARNING: cannot verify <myServerIP>'s certificate, issued by '/CN=TRAEFIK DEFAULT CERT':
  Unable to locally verify the issuer's authority.
    WARNING: certificate common name 'TRAEFIK DEFAULT CERT' doesn't match requested host name '<myServerIP>'.
HTTP request sent, awaiting response...
  HTTP/1.1 404 Not Found
  Content-Type: text/plain; charset=utf-8
  X-Content-Type-Options: nosniff
  Date: Thu, 30 Sep 2021 14:49:09 GMT
  Content-Length: 19
2021-09-30 16:49:09 ERROR 404: Not Found.

Do you have any idea what's going on?
Thanks in advance for your help,
Andrea

Hi, thanks for your interest in VarFish.
That's a new one.

What do you see in docker logs varfish-docker-compose_varfish-web_1?
What happens if you put DJANG_DEBUG=1 into .env in the varfish-docker-compose folder and try that again?

Cheers,

Hi Manuel,
thank you for your reply.
Regarding the point 1, you'll find attached the log output...not very comprehensible for me.
Regarding the point 2, adding that line in .env seems to have no effect.
varfish-docker-compose_varfish-web_1.log
Cheers,
Andrea

Oh, I see now. I think you are hitting a bug in 0.23.7 that is resolved in 0.23.9. I did not think that I had pushed that to main. Could you please try the following:

Ensure that you have the main branch with git branch.
Do a git pull origin --rebase to get the latest version of varfish-docker-compose.
Restart everything with docker-compose down && docker-compose up -d.

OK, I've tried but no way to make it work.

$git branch  -> * main

$git pull origin master --rebase results in error: unknown option rebase

So I've tried $git rebase origin, and I've got:
Cannot rebase: You have unstaged changes.
Please commit or stash them.

The problem is that I cannot commit or stash anything...
Thans

What about?
git stash
git pull --rebase
git stash apply

Unfortunately, I get always the same error using git stash...and the option --rebase for my git is unknown...so I've manually removed the old .env, and then running $git rebase origin seems to work it out, pulling the updated varfish-web (ghcr.io/bihealth/varfish-server:0.23.9-0).
But...This is what I get now, running wget -O /tmp/test.html -S https://<myServerIP>/ --no-check-certificate
--2021-10-01 13:06:36--  https://<myServerIP>/
Connecting to <myServerIP>:443... connected.
WARNING: cannot verify <myServerIP>'s certificate, issued by '/CN=TRAEFIK DEFAULT CERT':
  Unable to locally verify the issuer's authority.
    WARNING: certificate common name 'TRAEFIK DEFAULT CERT' doesn't match requested host name '<myServerIP>'.
HTTP request sent, awaiting response...
  HTTP/1.1 502 Bad Gateway
  Date: Fri, 01 Oct 2021 11:06:36 GMT
  Content-Length: 11
  Content-Type: text/plain; charset=utf-8
2021-10-01 13:06:36 ERROR 502: Bad Gateway.

So, probably I've messed up something...Do you suggest to restart from scratch?
varfish-docker-compose_varfish-web_1.log

It looks like you did not create a .env file based on the env.example. I just realized that the manual does not describe this step... Could you copy env.example to .env and edit the values that say so?

I just extended the documentation here:

https://github.com/bihealth/varfish-docker-compose#3-bring-up-the-site

OK, now it works!
Thank you,
Andrea

Thanks for the feedback, I'm glad that we could resolve this.


Fan speed increments are incorrect in my air conditioner model

These are the params coming in the API:
"ModelSupportsFanSpeed": true,
"HasAutomaticFanSpeed": true,
"NumberOfFanSpeeds": 3,
and  the current HK fan speed steps:

0: OFF
1: Min
2: Med
3: Max
4: — Does not exist in my AA model, should not be there
5: — Does not exist in my AA model, should not be there
6: Auto

Are you sure 6 Is Auto, can you post the debug log if fan is in Auto mode?

Please try 0.2.9-Betätigen and let me know

I will test it when I’m back home. No, I was mentioning 6 just to list all the steps in the slides (not the actual value for fan in auto). As of yesterday, when I set the fan at full speed, it set it to auto, so your logic is ok in that front. I think the only fix in here is the amount of fan speed the device supports .

Ok, then I think the auto from your union will report 0

Yes, it's 0 for auto.
Speed 1
"FanSpeed": 1,
Speed 2
"FanSpeed": 2,
Speed 3
"FanSpeed": 3,
AUTO
"FanSpeed": 0,
I tested your beta, and AUTO (maximum position in HK slider) doesn't seem to work (see error below). As per the speeds, the invalid slider speed options (4 and 5) are gone now and looks ok.
[7/4/2022, 6:51:17 PM] [melcloudcontrol] Air Conditioner: Aire, Set fan speed mode: AUTO
[7/4/2022, 6:51:17 PM] [homebridge-melcloud-control] Error:
at RotationSpeed.Characteristic.characteristicWarning (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2142:105)
at RotationSpeed.Characteristic.validateUserInput (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2030:14)
at RotationSpeed.Characteristic.updateValue (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1457:20)
at HeaterCooler.Service.updateCharacteristic (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Service.ts:481:35)
at MELCLOUDCLIENTDEVICE. (/usr/local/lib/node_modules/homebridge-melcloud-control/index.js:301:81)
at MELCLOUDCLIENTDEVICE.emit (node:events:527:28)
at MELCLOUDCLIENTDEVICE. (/usr/local/lib/node_modules/homebridge-melcloud-control/src/melcloudclientdevice.js:201:22)
at MELCLOUDCLIENTDEVICE.emit (node:events:527:28)
at MELCLOUDCLIENTDEVICE. (/usr/local/lib/node_modules/homebridge-melcloud-control/src/melcloudclientdevice.js:150:22)
at MELCLOUDCLIENTDEVICE.emit (node:events:527:28)

Try beta.15 please

beta.15 works like a charm. Thanks!

Thanks for testing, 0.2.9 released


Add syswin.com to powered-by page

Please answer these questions before submitting pull request

Why submit this pull request?
增加新的公司使用，引入名称和图标

Related issues

New feature or improvement
powered-by.md 引入新的公司图标，北京思源集团

ref #443

Coverage remained the same at 16.821% when pulling cffd0dfef8f51f0a2578206f1a1498839957432d on tbdpmi:patch-2 into beb807df81174f7416464345c977a5e01d05382c on apache:master.


Add powershell coding guidelines

Resolves #3473

Added some final updates in response to the outstanding discussions. I'm going to merge this in to get something in main and we can iterate from there if anyone has updates (feel free to submit a new PR).


Coub doesn't work properly

Description for coub:
https://coub.com/dev/docs/Coub+API%2FAuthentication
If you need test credentials:
ID:
60b88af1e39803f5f68716bc364a498f9d4e733a7f76735dc48729e697de3bd6
Secret:
6f62d7366a58b07377a3046922d49c4f5ab882eebe322f50467856bb7b86e049
Redirect URL:
http://gargo.of.by
Permissions:
like+recoub
I used your example and added OAuthCoub (looks like your OAuthDribble and OAuthInstagram) and called it. It seems everything ok with authorization - successfully logged in, and redirected to "Redirect URL". The only main trouble is application:openURL:options: is not called at all and so I don't have a token in my app.
Could you please resolve this strange issue?

Hi, did you follow the instructions about the URL scheme? It should be the callback url provided in Coub. What URL scheme did you used?

The redirect URL needs to be something that points to your app yourapp:// for example. In the readme file are the instructions. Or in the example project


Add author xuan

add xuan profile

Hi thanks for the PR!
Please make the image squared by cropping the image so the head is in the center.


Allow book to input fluid into modded tanks

This would be helpful in conjunction with mob grinding utils. When right clicking on a tank, it would empty the contents of the book into the tank. I don't know how possible this is. but thermal's insightful crystal did the same thing, and this functionality was very useful.

Sounds like a nice addition, I'll look into it.

to this. i wish i could place the book into a mekanism tank and let it fill up with the liquid experience in the tank.


[tosa] fix legalization of mul op for unequal ranks

This patch adds EqualizeRanks of muliply inputs in case their ranks are different. A lit test is added to test for this case.
Change-Id: Icef0a591126c42d7bb269eab630725440fd69643

Hi @rsuderman, Can you please review this PR ? Thank you!

Hi @jpienaar, Can you please review this PR ? Thank you!

Hi @jpienaar, Can you please review this PR ? Thank you!

Hi @jpienaar, Can you please review this PR ? Thank you!

@NatashaKnk would you review this please?
this is another patch that tries to head off issues when TOSA upstreams changes that require operands have equal ranks.

Hi @NatashaKnk, Can you please review this PR ? Thank you!

Hi @NatashaKnk, Can you please review this PR ? Thank you!

Hi @NatashaKnk, Can you please review this PR ? Thank you!

Hi @NatashaKnk, Can you please review this PR ? Thank you!

Hi @NatashaKnk, Can you please review this PR ? Thank you!

refactored. will upload a new PR


Add missing port, make compatible with gcc-4.x

Hi Ivan,
This project doesn't compile on my machine unless I make the referenced changes.
Regards,
Jonathan

Hi Jonathan,
Thanks for bringing this up. I've made the required changes and cleaned up the avalon wrapper slightly.
Thanks,
Ivan


feat(payment): STRIPE-25 create a custom guest form to render customer stripe email instead BC email when Stripe link is on

What? STRIPE-25
create a custom guest form to render customer stripe email instead BC email when Stripe link is on
Why?
Stripe wants to create the ability to use the Stripe Link experience, the experience includes using Stripe Iframe on Customer instead of BC component when the user is a Guest and the StripeLink toggle is activated on the StripeUpe payments setup.
Testing / Proof

PLEASE CHECK THE VIDEO TO UNDERSTAND MORE ABOUT THE APPROACH
VIDEO
Dependency of
https://github.com/bigcommerce/checkout-sdk-js/pull/1452
https://github.com/bigcommerce/bigpay-client-php/pull/253
https://github.com/bigcommerce/bigcommerce/pull/46265
https://github.com/bigcommerce/bigpay/pull/5359
Ping  @bigcommerce/checkout  @bigcommerce/apex-integrations

We are going to close this ticket and SDK dependency because the next Prs includes these changes:
https://github.com/bigcommerce/checkout-js/pull/945
https://github.com/bigcommerce/checkout-sdk-js/pull/1518


[Feature] Add setting for brightness

Would it be possible for hyprsunset to have the ability to set a "fake" screen brightness?
something [wl-gammarelay](like what https://github.com/jeremija/wl-gammarelay) does where it just "darkens" everything so people in desktop monitors can have software controlled brightness.

it's quite dumb of an idea all things considered...

how else would one turn the brightness down on a desktop monitor (from software)

most monitors should work just fine with stuff like light or brightnessctl...?

i've got 3 and none of them support it :sob:

kinda L. in this case I guess last resort, but it still sucks

yea :( that's why i'd like it for hyprsunset to support that, rn i am using wl-gammarelay for "fake brightness" and hyprsunset for red light, i'd like to use hyprsunset only

@vaxerski tbh I also have never seen external monitors that allow the os to set their brightness either.

@M4rti21 I'm not 100% sure this will solve your issue, but I also have a monitor that doesn't directly support utilities like brightnessctl. You might want to look into the Backlight ArchWiki article. You might be able to just write a script to run ddcutil at specified times throughout the day, unless I'm misunderstanding what you mean by "fake" brightness.

it seems like ddcutil IS able to change the brightness of my monitor, thanks!!


👷 hatch build tool

Description
Implements Hatch!

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


Fixed RegEx search_all for zero length matches/lookahead

Fixes  #85605
'search_all' in RegEx function wasn't handling zero length matches well. When one was found, it would stop and not search for any more matches. My fix simply increments the position in the string after a zero length match and proceeds as normal otherwise.
This fixes the lookahead problem in the linked issue, as lookaheads are one way of having zero lenght matches that still return a value.
Of note, I've also attached a few extra RegEx tests that check for lookahead functions, include the specific example in the linked issue.

Damn, just experimented and noticed that this doesn't handle zero length lookbehinds very well. To be fair, the previous code also breaks at zero length lookbehinds, my code just breaks it in a different (and better?) way.
I'll see if I can amend this PR to take that into account, along with some more unit tests.

And pushed. Managed to find a solution that worked for zero length results, whether lookahead or lookbehind. Added lookbehind tests too.
While the original bug report didn't explicitly state lookbehind as an issue, it still falls under the same root issue that this PR is trying to fix (ie. Zero length results not being handled gracefully by 'search_all')

Came across another bug that this PR fixes already. Gonna add another test case to this PR the covers the circumstance that the bug lists.

Should the documentation for RegEx be amended to clarify the change in behavior?

Should the documentation for RegEx be amended to clarify the change in behavior?

No? From what I read, the documentation is OK, it's just that it was bugged for some usecases, which this PR fixes.
I'll take a look if it's possible to cherry-pick this PR for 4.1 and 4.0.

Thanks!

hey thanks for the fix!


BLEClient, Setting CONFIG_NIMBLE_CPP_ATT_VALUE_INIT_LENGTH does not work

Setting CONFIG_NIMBLE_CPP_ATT_VALUE_INIT_LENGTH=100 does not work
Neither Setting in platformio.ini as:
build_flags =
-D CONFIG_NIMBLE_CPP_ATT_VALUE_INIT_LENGTH=100
nor uncommenting in nimconfig.h as:
#define CONFIG_NIMBLE_CPP_ATT_VALUE_INIT_LENGTH 100
Notification data are still coming in chunks of 20 bytes.

That macro only sets the size of the characteristic data buffer, not the data transmitted. The max size of a notification is determined by the MTU of the connection, so you would need to have a larger MTU on both devices.

MTU is reported as 256
NimBLEClient*  pClient  = NimBLEDevice::createClient();
...
Serial.printf("Got MTU: %d\n", pClient->getMTU());
Docu says:
Set the default allocation size (bytes) for each attribute.
If not specified when the constructor is called. This is also the size used when a remote
characteristic or descriptor is constructed before a value is read/notifed.
Increasing this will reduce reallocations but increase memory footprint.
Default value is 20. Range: 1 : 512 (BLE_ATT_ATTR_MAX_LEN)
Why the length of data received from notifyCallback() is limited to 20 bytes?

I cannot reproduce this. The max size of a notification is always MTU-3 as per the BLE specifications. The initial size of the characteristic data buffer is all that macro defines as it says in the documentation you've pasted.
There is ether only 20 bytes in your data or there is an MTU issue.

Thank you. I'll ask the manufacturer of the device whether they send data in this small portions.


German translation crashes kanboard

Actual behaviour
On a fresh kanboard installation (only one admin user, no application settings other than language, no other plugins and without content) with german translation activated in application settings, kanboard crashes with HTTP Error 500 after installing telegram plugin. After removing telegram plugin directory manually kanboard works as expected. All other languages are working fine.
Expected behaviour
Kanboard works with german language setting.
Steps to reproduce

install latest master branch of kanboard
install telegram plugin
set language to german in global application settings or user profile

OR

install latest master branch of kanboard
set language to german in global application settings or user profile
install telegram plugin

Configuration
Application version: master (1.2.7)
PHP version: 7.2.13
PHP SAPI: cgi-fcgi
OS version: Linux 2.6.32-754.3.5.el6.x86_64
Database driver: sqlite
Database version: 3.20.1
Browser: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/73.0.3664.3 Chrome/73.0.3664.3 Safari/537.36

You could easily fix it: just add "," (comma) at the end of the line 8 in the file "...\Locale\de_DE\translations.php"

Pushed the fix to upstream.
https://github.com/kanboard/website/pull/145


greenkeeper ignore may not be working

Here is the PR https://github.com/ember-cli/ember-cli/pull/6411#issuecomment-258362478 to update an ignored package.
Here is the commit https://github.com/ember-cli/ember-cli/commit/9e423b24ee26e6a62aff1fea0d4a5e18dcb5f786#diff-b9cfc7f2cdf78a7f4b91a753d10865a2 to ignore it three days prior.
Unless there is a couple day propagation period, it may be not working correctly.

@kellyselden Thank you for reporting this. We didn't add the ignore option to the new integration yet. However we will add that soonish. I will let you know here.

Fixed?

Hey @kellyselden, yes this is fixed now. Thanks again :)

No, thank you!


icons: Fix the 'Unmute' topic icon.

As reported in CZO
Earlier, the icon had an unwanted line visible in a few browsers.

Replaced it with a new SVG.

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Put this through different zoom levels on Firefox Developer Edition, Chrome, and Safari, all on Mac. No visible line, so this is a solid LGTM.

@zulipbot add "integration review"

Merged, thanks @prakhar1144 and @karlstolley!


Disk space setting

As a user, particularly a mobile user, I want to be able to allocate a maximum amount of disk space used by the daemon.
The daemon should automatically manage my files and blobs to not exceed using this much space.
#1311 is related.

[ ] abstract blob and stream types

[ ] hooks for writing files and check to delete
available space available, setting max size,

https://github.com/lbryio/lbry/issues/1171 is also related.

@kauffj, the way I understand this task, the simplest working solution for now would be:

add max space usage config setting
check disk space usage in get API request handler, returning API error if requested file download will exceed the space allowed

I'm planning on working off lbryum-refactor branch, as per @eukreign suggestion.
Please let me know if this works for you or if anything can be improved.

@eukreign should set specification here.
However, the intention of this setting is not to error if there is not enough space, but instead to keep space usage below this figure and only error if it cannot figure out how to do so.
I suspect the code for handling this will end up in the blob and/or file manager.

@kauffj I discussed this with @jackrobison at the standup today; there isn't an obvious way to determine which files/blobs can be deleted (too many edge cases to consider). Sounds like the ultimate solution is to generate blobs on the fly, this alone will cut storage in half across the board for everyone (but I'm not sure it's fair to assign something like this as first trial task for @sayplastic, although it would definitely make for some very extra bonus points if he could do it).
I think a more straightforward solution would be to at least delete blobs when the corresponding file is no longer in Downloads directory (either it was deleted, moved or renamed). This should still be behind a configuration flag because some people just want to seed and don't necessarily care to have a copy of the combined file in their Downloads directory.

@eukreign then I would suggest not pursuing this and instead focusing on fixing whatever underlying architecture issues prevent this from being a reality. Please open those and mark this as blocked.
I don't really see much of the point in pursuing alternatives that only offer a small portion of the benefit compared to this, especially when this feature will clearly be required eventually anyway.

When it downloads you can just have it keep track of the amount of memory taken up in total and when you're downloading something new you can just write the data to a file buffer in chunks of a certain size (the size can be variable based on a user preference, written file size, etc.)  and before writing it to the file, simply check if the chunk along with used memory will exceed a set preference. If so then handle the error accordingly by cleaning the file up and letting the app know that the content exceeds the user's memory setting.

@osilkin98

The daemon doesn't know when a file is being watched or if user is done with the file. As for streaming, we are already working on a streaming solution specifically for videos (streaming doesn't solve the issue for all other file types though).
Something along those lines of deleting files that haven't been accessed is what we're considering but this needs a lot more thought to cover various edge cases. We haven't settled on a good general solution for this yet.

If you want to start on this general problem I think the most useful feature to start with is a new daemon command which returns the total space used by files and blobs. Please see the last comment in this issue: https://github.com/lbryio/lbry/issues/1171#issuecomment-437423320

@osilkin98 The daemon and the desktop app are running in different processes and communicating via HTTP, how would you do a callback function in that context?
Also, why is it the responsibility of the desktop app to figure out available disk space instead of the daemon? I believe the desktop app should be primarily concerned with UI and not with calculating available disk space.

@eukreign If the desktop app is just a user interface for the daemon, then the file tracking can be done by the daemon.
We can avoid the problem of needing to know if the user is watching the content or not by keeping track of all the files downloaded by the daemon, and simply deleting the oldest content files when more space is needed. If the user is using an application and they're trying to download a piece of content, the assumption that they aren't currently using the oldest file downloaded is very reasonable.

@osilkin98 it gets more complicated because:

we want popular files to stay so that the DHT/P2P network is healthy and performant
users may want to keep certain files to watch again (without internet connection) and would be upset if we delete any/all old content
users likely want to keep content they themselves published
how do you determine what "old" means in terms of deleting old files?
once you have definition for "old", do you delete all "old" content or just some of it to make sure there is space, and if you only delete some percentage of it, do you delete blobs first or files first until reaching that percent of available limit?
what should be configurable by the user in terms of space management strategies and what default space management strategies are best and most user friendly?

@eukreign  You bring up valid points but here's the thing. What I'm talking about only applies if the user specifies that they want files to be treated as temporary.

The files would stay on the user's computer until they get deleted if they have the temporary setting enabled. The user also may not want to act as a host for whatever reason, and it should really be up to them as to whether or not they want to be doing that. Ideally, people who are hosting shouldn't have this setting on, but it's not a big issue if they do.
If a user has the temporary setting enabled, then they're already anticipating that files will be getting deleted, therefore this is irrelevant.
User published content isn't considered a temporary downloaded file.
We use a priority queue that uses the file downloaded/last-accessed date as the key, I explained this above. If the file is accessed either by the user viewing it again, or by the DHT accessing it, then we update its date and its key in the priority queue.
You delete only the amount you need. I explained this earlier.
Whether or not files are treated as temporary, and the maximum size files can take up. That's it. The space management strategies I already discussed above. You can also prompt the user to compress the files, however that would cause a lot of overhead if the DHT needs to access them, and so compression should only be accessible to people who aren't hosting data; which is completely fine to assume because if someone already needs to conserve space, they likely aren't going to be wanting to host to begin with.

related #586

this only has one issue in it. i'm closing it

Reopening - will attach related issues.

As commented in https://github.com/lbryio/lbry-desktop/issues/4634
This issue is partially taken care of by my library, lbrytools.
It basically inspects the top level directory of the subdirectories that hold the media files and blobfiles. If it crosses a limit in gigabytes, it will start cleaning up older files. It can delete media files (mp4, mkv, etc.), blobs, or both.
lbrytools.cleanup_space(main_dir="/home/user", size=1000, percent=90, what="media")

users likely want to keep content they themselves published

Use a list of channels to never delete content from.
never_delete = [
    "@lbry",
    "@Odysee",
    "@samtime",
    "@RobBraxmanTech"
]
lbrytools.cleanup_space(main_dir="/home/user", never_delete=never_delete)

how do you determine what "old" means in terms of deleting old files?

Chronological order, by release_time or timestamp if the first is unavailable, as it happens in older streams.

once you have definition for "old", do you delete all "old" content or just some of it to make sure there is space, and if you only delete some percentage of it, do you delete blobs first or files first until reaching that percent of available limit?

Since the media files can be recreated from the blobs, we should delete the media files first; if it fails to clear enough space, then the blobs should be deleted. To clear the most space, both should be deleted.
lbrytools.cleanup_space(..., what="media")
lbrytools.cleanup_space(..., what="blobs")
lbrytools.cleanup_space(..., what="both")

what should be configurable by the user in terms of space management strategies and what default space management strategies are best and most user friendly?

As much configuration as possible. At the moment I consider location of parent directory or partition, size in gigabytes, and percentage of use (90%). The cleanup will be done if the content goes above the percentage, and it should never cross the disk size, as we assume this is a physical limitation.
lbrytools.measure_usage(main_dir="/opt", size=1000, percent=90)
lbrytools.cleanup_space(main_dir="/opt", size=1000, percent=90, what="both")

By using different values of size and percentage we can test how this function works in many situations.
It seems to work okay, but probably more tests need to be done, if many claims are downloaded and the disk suddenly becomes full.

Something like this would be a Component. Take a look at https://github.com/lbryio/lbry-sdk/blob/master/lbry/extras/daemon/components.py for some components we already have. These are started when the daemon starts up (see daemon.py).
The conf setting itself would go into https://github.com/lbryio/lbry-sdk/blob/master/lbry/conf.py. Then the app could expose that somewhere on the Settings page.
Some of your other code might be useful as scripts (in the scripts/ dir) but that's outside the scope of this particular issue.


Create a new user in Konga DB

there is any way to create a user of konga from the DB, querying?

I created a new db for konga


Question about the RandomChoice in pipeline.

In 'sj+lpd+minkunet_semantickitti.py' I have noticed the dict of RandomChoice, I am unclear about the processing logic inside RandomChoice, and I would like to check its code, but I am unable to find where the RandomChoice module is defined.

As I remeber, RandomChoice is part of the mmcv package. I just found it and decided to use it.


Fix Sandre url

This link is used in osmose to access to Sandre database, but these link doesn't work.
New url : https://id.eaufrance.fr/SysTraitementEauxUsees/028846802594
Is it necessary to update taginfo file?

As noted in the README, the data comes from two different places; wikidata, and OSM wiki data items.
In this case, you want to go to https://wikidata.org, do a search for Key:ref:sandre, and then edit that wikidata item.
If I were to accept your PR, it would be overwritten on the next automatic or manual update.


RT-294: Include config for dependabot with ignore webpack-dev-server

Codecov Report

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

@@           Coverage Diff           @@
##             main      #73   +/-   ##
=======================================
  Coverage        ?   97.49%
=======================================
  Files           ?       53
  Lines           ?     3474
  Branches        ?        0
=======================================
  Hits            ?     3387
  Misses          ?       87
  Partials        ?        0

Continue to review full report at Codecov.

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


On Windows, use of pdfminer results in "WindowsError: [Error 193] %1 is not a valid Win32 application"

textract.process(path_to_pdf, method='pdfminer')
Issue can be resolved by adding shell=True to the subprocess.Popen() call (circa line 82 in utils.py), but this is probably not an ideal workaround.

I'm having the same issue, but adding shell=True on line 82 of utils.py didn't fix it for me.
sys.version = 3.6.0 |Anaconda 4.3.0 (64-bit)| (default, Dec 23 2016, 11:57:41) [MSC v.1900 64 bit (AMD64)]
textract.VERSION = 1.5.0
Full debug message:
OSError                                   Traceback (most recent call last)
<ipython-input-80-aca88a5f0591> in <module>()
      1 import textract
----> 2 textract.process('test.pdf', method='pdfminer')

C:\ProgramData\Anaconda3\lib\site-packages\textract\parsers\__init__.py in process(filename, encoding, **kwargs)
     56     filetype_module = importlib.import_module(rel_module, 'textract.parsers')
     57     parser = filetype_module.Parser()
---> 58     return parser.process(filename, encoding, **kwargs)

C:\ProgramData\Anaconda3\lib\site-packages\textract\parsers\utils.py in process(self, filename, encoding, **kwargs)
     43         # output encoding
     44         # http://nedbatchelder.com/text/unipain/unipain.html#35
---> 45         byte_string = self.extract(filename, **kwargs)
     46         unicode_string = self.decode(byte_string)
     47         return self.encode(unicode_string, encoding)

C:\ProgramData\Anaconda3\lib\site-packages\textract\parsers\pdf_parser.py in extract(self, filename, method, **kwargs)
     29
     30         elif method == 'pdfminer':
---> 31             return self.extract_pdfminer(filename, **kwargs)
     32         elif method == 'tesseract':
     33             return self.extract_tesseract(filename, **kwargs)

C:\ProgramData\Anaconda3\lib\site-packages\textract\parsers\pdf_parser.py in extract_pdfminer(self, filename, **kwargs)
     46     def extract_pdfminer(self, filename, **kwargs):
     47         """Extract text from pdfs using pdfminer."""
---> 48         stdout, _ = self.run(['pdf2txt.py', filename])
     49         return stdout
     50

C:\ProgramData\Anaconda3\lib\site-packages\textract\parsers\utils.py in run(self, args)
     81         pipe = subprocess.Popen(
     82             args, shell=True,
---> 83             stdout=subprocess.PIPE, stderr=subprocess.PIPE,
     84         )
     85

C:\ProgramData\Anaconda3\lib\subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors)
    705                                 c2pread, c2pwrite,
    706                                 errread, errwrite,
--> 707                                 restore_signals, start_new_session)
    708         except:
    709             # Cleanup if the child failed starting.

C:\ProgramData\Anaconda3\lib\subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, unused_restore_signals, unused_start_new_session)
    988                                          env,
    989                                          cwd,
--> 990                                          startupinfo)
    991             finally:
    992                 # Child is launched. Close the parent's copy of those pipe

OSError: [WinError 193] %1 is not a valid Win32 application

I usually work in Python 2.7 but I do have a Py3 environment set up.
Both environments have textract 1.5 installed via pip.
The issue occurred as reported, however I could get it working using the shell=True workaround.
My only guess at the moment is that the module was not fully reloaded after you modified utils.py. Could you confirm that you restarted your IPython kernel after the utils.py file was changed?

shell=True creates a security vulnerability that was fixed in #114. I do not recommend using shell=True, particularly if you have textract connected to a web application that others can use.
I'm not sure how you're trying to use this within a jupyter notebook, but its entirely the case that jupyter might not allow other executables to run on your system. The pdf parser runs shell commands outside of python. I don't know enough about jupyter notebooks, but my guess is that this is probably the source of the issue.

Can you confirm that this is still an issue with textract 1.6.1?
If so, can you also try to diagnose what the args variable is in the subprocess.Popen call here? It is odd to me that it is describing %1 as a command that doesn't exist and I want to confirm that there isn't something bizarre happening before the subprocess call. Thanks!
Another good test would be to see if you can run the shell command directly on the filename from within your jupyter notebook. It will be the equivalent of something like pdf2txt.py FILENAME. If that works, then it seems like something strange must be happening with subprocess + jupyter. If it doesn't work, then perhaps your jupyter shell doesn't have access to the pdf2txt.py executable.

The error perhaps only appear on Windows if using subprocess module. The first arg can't be pdf2txt.py (any script) on Windows platform. The following is wrong
pipe = subprocess.Popen(['pdf2txt.py', filename], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
It must be an application. Here is the right way:
pipe = subprocess.Popen(['python', 'pdf2txt.py', filename], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
pipe = subprocess.Popen(['perl', 'pdf2txt.pl', filename], stdout=subprocess.PIPE, stderr=subprocess.PIPE)

Hi Dean,
Still an issue here using v1.6.1, python 2.7, using a conda environment. Output below were identical between the command line and through jupyter notebook.
Using the provided process method I get a UnboundLocalError: local variable 'pipe' referenced before assignment.
Delving in:
import subprocess

args = ['pdf2txt.py', path_to_pdf]

pipe = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print(pipe.wait())
stdout, stderr = pipe.communicate()
print(stdout, stderr)

Results in a WindowsError: [Error 193] %1 is not a valid Win32 application
Adding python to the list of args:
import subprocess

args = ['python', 'pdf2txt.py', path_to_pdf]

pipe = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print(pipe.wait())
stdout, stderr = pipe.communicate()
print(stdout, stderr)

Result:
2
('', "python: can't open file 'pdf2txt.py': [Errno 2] No such file or directory\r\n")

Specifying location of pdf2txt.py works
import subprocess

args = ['python', path_to_pdf2txt, path_to_pdf]

pipe = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = pipe.communicate()
print(stdout, stderr)

Path to pdf2txt.py was not found in sys.path. Adding it to sys.path did not work.

This seems like it is connected to not having PDF Miner (the pdf2txt.py script) available from sys.path. pip install textract should install pdf2txt.py via the requirements in /usr/local/bin or equivalent on your windows system. From the command line, try typing which pdf2txt.py and make sure that the directory that contains pdf2txt.py is on your PYTHONPATH and/or sys.path.
How are you installing textract in your conda environment?
To the best of my knowledge, this does not appear to be a bug with textract, per se. Instead this appears to be an issue of the required dependencies not being available in Windows / conda / jupyter notebooks for some reason.

I installed it in the conda environment using pip.
I did install pdfminer.six myself after I realised it wasn't installed after pip install textract.
Just tested a straight pdf2txt.py through the command prompt and it worked.
where pdf2txt.py
displays the correct path - in my case "d:\windows_utils\miniconda3\envs\textract\Scripts\pdf2txt.py"
Typing in echo %PATH% also lists the above path.
I then opened up the notebook and did the following:
import sys
print(sys.path)

and while the path to the environment appears, the Scripts directory does not...
Adding the path with sys.path.append does not make textract work however.
So I surmise that you are correct, and it is an issue with jupyter notebook

It happens also to me, in the console, didn't try jupyter. I am trying to make pdfminer works as a backup when the user does not have pdftotext installed on the system.

Indeed I can confirm the problem is that the path to "Scripts" folder is not in the Windows system path. The user must do that manually.
I can't ask my users to do that, so unfortunately I will have to package a copy of pdf2txt.py within my own package, as there is no reliable way to know where the "Scripts" is and add it dynamically to the path that is both crossplatform and also works when frozen using PyInstaller or Py2exe :-/

Here is my wrapper when you copy pdf2txt.py as a local submodule:
class MyPdfMinerParser(ShellParser):
    """Extract text from pdf files using the native python PdfMiner libraries"""

    def extract(self, filename, **kwargs):
        """Extract text from pdfs using pdfminer and pdf2txt.py wrapper."""
        # Create a temporary output file
        tempfilefh, tempfilepath = mkstemp(suffix='.txt')  # tesseract < 3.03 do not support "stdout" argument, so need to save into a file
        os.close(tempfilefh)  # close to allow writing to tesseract
        # Extract text from pdf using the entry script pdf2txt (part of PdfMiner)
        pdf2txt.main(['', '-o', tempfilepath, filename])
        #stdout, _ = self.run(['pdf2txt.py', filename])
        # Read the results of extraction
        with open(tempfilepath, 'rb') as f:
            res = f.read()
        # Remove temporary output file
        os.remove(tempfilepath)
        return res

pdfminerparser = MyPdfMinerParser()
result = pdfminerparser.process('path/to/file.pdf', 'utf8')

The following works on the Windows 10 system I can test on.
import subprocess
import sys

args = [sys.executable(), full_path_to_pdf2txt, path_to_pdf]

pipe = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = pipe.communicate()
print(stdout, stderr)

The full path to pdf2txt.py can be found with something like
args = ["where", "pdf2txt.py"]
pipe = subprocess.Popen(args, stdout=subprocess.PIPE)
full_path_to_pdf2txt = pipe.communicate()

I need to do some further testing, but should be included in the next release of textract.

The following works on the Windows 10 system I can test on.
import subprocess
import sys

args = [sys.executable(), full_path_to_pdf2txt, path_to_pdf]

pipe = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = pipe.communicate()
print(stdout, stderr)

The full path to pdf2txt.py can be found with something like
args = ["where", "pdf2txt.py"]
pipe = subprocess.Popen(args, stdout=subprocess.PIPE)
full_path_to_pdf2txt = pipe.communicate()

I need to do some further testing, but should be included in the next release of textract.

args = [sys.executable(), full_path_to_pdf2txt, path_to_pdf]

Thanks, works on Windows, but I had to use sys.executable


Running R from html

Not an issue, more of a question.
On the first set of readings for week 1, the page allows you to run R code on the page itself. Is this written into the markdown file? Or, is this a separate language that is being called by the page?

It's a plugin for RMD available through DataCamp:
http://ds4ps.org/datacamp-light-demo-for-rmd/
Really nice for simple demos. A little more tricky if you need to use specific packages or import data. The widget basically sends code to a DataCamp server, which executes it and sends back results. So there are some limits.

Oh ok. Cool.
I have seen this on a lot of sites and didn’t realize it is just in the markdown. Can you get any more awesome R?
Jacob Younghttp://www.jacobtnyoung.com/, PhD
Associate Professor | School of Criminology and Criminal Justice
Associate Director | Center for Correctional Solutions
Curriculum Coordinator | Institute for Social Science Research
Watts College of Public Service & Community Solutions
Arizona State University
411 N. Central Ave., Ste. 600
Phoenix, AZ 85004
From: Jesse Lecy<EMAIL_ADDRESS>Reply-To: DS4PS/cpp-526-fall-2020<EMAIL_ADDRESS>Date: Sunday, August 23, 2020 at 4:11 PM
To: DS4PS/cpp-526-fall-2020<EMAIL_ADDRESS>Cc: Jacob Young<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [DS4PS/cpp-526-fall-2020] Running R from html (#2)
It's a plugin for RMD available through DataCamp:
http://ds4ps.org/datacamp-light-demo-for-rmd/https://urldefense.proofpoint.com/v2/url?u=http-3A__ds4ps.org_datacamp-2Dlight-2Ddemo-2Dfor-2Drmd_&d=DwMCaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=WoPe-hbbNmvZR0ljmSL4V44lIIcpE6MueMOuFgT2L7E&m=v-KFyBpzO9SZ-ELWq2Ze37Vna62LAV4Vrvi0SMc1Igk&s=w77gops1wDcoFxmrf0OFvL2BWuVKFQ7l2cXCErYQy90&e=
Really nice for simple demos. A little more tricky if you need to use specific packages or import data. The widget basically sends code to a DataCamp server, which executes it and sends back results. So there are some limits.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_DS4PS_cpp-2D526-2Dfall-2D2020_issues_2-23issuecomment-2D678836997&d=DwMCaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=WoPe-hbbNmvZR0ljmSL4V44lIIcpE6MueMOuFgT2L7E&m=v-KFyBpzO9SZ-ELWq2Ze37Vna62LAV4Vrvi0SMc1Igk&s=liNHvbYyDfkw3e_xu2lrNcBzCXRiK68DglJpMs2IZto&e=, or unsubscribehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AJOL5YBPWBAJAA6P6H3XLJ3SCGOX7ANCNFSM4QI4TFLA&d=DwMCaQ&c=l45AxH-kUV29SRQusp9vYR0n1GycN4_2jInuKy6zbqQ&r=WoPe-hbbNmvZR0ljmSL4V44lIIcpE6MueMOuFgT2L7E&m=v-KFyBpzO9SZ-ELWq2Ze37Vna62LAV4Vrvi0SMc1Igk&s=sPThsqaw_BJtNKae05UYp3BPkaOty-5LkXcMxXyTCD0&e=.

Agreed!
They have been working hard to integrate a lot of tools into a coherent development environment.
You can do a LOT in the R ecosystem now without having to learn a dozen more programming languages and frameworks.
It has completely changed the calculus of the question, "should I learn R or some other language" since there are so many things you can do with R now other than just run regressions.


torbrowser: add missing shebang to wrapper script

I wondered why I would get Exec format error trying to launch torbrowser from fish..turns out the wrapper was never a valid script.

@peti Fixed.


Can openadms-server run under Windows system?

I installed the postgresql database under the Windows system, and created the  and  using timeseries.sql according to the README.md requirements of openadms-server. At the same time, configure the nginx.conf file in Windows, but it always fails.
2020-09-01T16:21:57 -     INFO -              cloudExporter - Sending observation "getValues" of target "Mosaic-X5" from port "com1" to API "https://<IP_ADDRESS>/api/v1/observations/" ...
2020-09-01T16:22:56 -  WARNING -              cloudExporter - Connection to API "https://<IP_ADDRESS>/" failed
I have noticed that README.md describes the operation under FreeBSD or Linux system, but my server is installed with Windows system.

In order to store obsersation data inside your PostgreSQL database you first have to set-up OpenResty as a web-based service. The CloudExporter module sends observations only to this HTTP service, which handles the PostgreSQL access. Make sure to compile all required 3rd party nginx modules into OpenResty, specifically:

form-input
headers-more
http-realip
lua
postgres
set-misc

If you really want to connect to Postgres directly you will have to write your own OpenADMS Node module, probably based on Psycopg. You don’t have to write the SQL queries yourself, just call the PLpgSQL stored procedures. For example, to store an observation data object in JSON format, run the SQL query SELECT openadms.store_observation(<json>). See also the documentation.

Thank you for your answer;
I've learned that it's not easy to compile nginx or openresty under windows.
Maybe I should choose Linux as the server.

Yeah, it’s probably easier if you set up a virtual machine with Linux. Feel free to open this issue again.


Make "show indent guide on wrapped lines" configurable

Contributing guidelines

[X] I have read CONTRIBUTING.md
[X] I have read CODE_OF_CONDUCT.md

Module(s)
mini.indentscope
Description
I noticed that we got a new feature in a recent commit on mini.indentscope.
93a515fe0f38165a0d3c0f8fcae459294608851f
"feat(indentscope): show indent guide on wrapped lines"
I personally would prefer that this behavior be configurable as I would like to disable it in my config.
I have already modified a copy of this module to incorporate this as an opt passed to setup.
I propose that we add it inside config.draw
   -- If using neovim > 0.10 and this property = true
   -- then display indentscope line on wrapped lines
    indent_guide_on_wrapped_lines = true

I think that we should make this default to yes to be consistent with the current behavior.
I can make a pr with my changes if this is something that ya'll would consider

Thanks for the suggestion!
After some testing, I've noticed that it overlaps wrapped lines if 'breakindent' option is disabled. This should now be fixed on latest main to a reasonable extent.
If it was not the main issue you had with it, would you mind elaborating why you'd like to disable it?

Thanks for looking into this!
Its true; I had breakindent set to false and thus had the "indent line" overlapping characters on the wrapped line.
With this change I am no longer seeing this behavior.
Also thanks for bringing the breakindent option to my attention as that is a nice feature in combination with mini.indentscope.
We can close this issue as the behavior I was unhappy with has been fixed.


Application store for mocaccinoOS

Some people came into the newly created group Portuguese to ask about discover and gnome software
Are these software being adapted to work with luet or are you building a new interface for luet?

Discover and gnome software have nothing to do with Luet. If you are asking if we are going to make Discover and gnome software available so it can be used with flatpak, then the answer would be yes.

I wondered if Gnome software and Discover would also be able to use luet


Multiple instances of dev server doesnt work

If you have another dev server running on 9009 the instance won't serve.
Would be good to run it on a different port if that port is already taken.
Example:
I was running a fork of the govuk-react i made when i left the project in April 2018 and was running it. Then tried to run the UKHomeOffice govuk-react project and it failed because the port was already in use.

This is something for Storybook I think? We simply kick that off when developing the component library (check package.json for start).
If it is an issue and you need to have two projects running and you cannot/do not want to change the port of the other project you can probably set the port manually under the start script in package.json for that use case following documentation from Storybook.

From here: https://storybook.js.org/configurations/cli-options/
And then looking at this: https://github.com/UKHomeOffice/govuk-react/blob/master/packages/storybook/package.json#L61
If you need to use a different port, adjust the port numbers used in that package.json and you are good to go! <3


Fix taint being assigned as labels

Fixes #661

Codecov Report

Merging #662 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #662   +/-   ##
=======================================
  Coverage   37.42%   37.42%
=======================================
  Files          50       50
  Lines        3177     3177
=======================================
  Hits         1189     1189
  Misses       1812     1812
  Partials      176      176

Continue to review full report at Codecov.

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

@redbaron Thanks for the fix. Great job 👍


How to get control bounds in WINUI desktop application.

Hi Team,
I need to get control bounds in WINUI desktop application. For Example, suppose if I have a button in WINUI desktop application need to get its X and Y position.
Code snippets:
<Window>        <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">             <Button x:Name="myButton">Click Me</Button>         </StackPanel> </Window>
Screenshot:

Can you please suggest any solution at earliest.

This should do the trick when null is passed as the parameter: https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.uielement.transformtovisual?view=winrt-20348


Release notes for <IP_ADDRESS>

Signed-off-by: Dave Lago<EMAIL_ADDRESS>Description
Adding release notes for version <IP_ADDRESS>

Category: Maintenance

Issues Resolved
N/A
Testing
N/A
Check List

[x] New functionality includes testing
[x] New functionality has been documented
[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #1569 (a46ae20) into main (bebe0bd) will decrease coverage by 0.03%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main    #1569      +/-   ##
============================================
- Coverage     64.54%   64.51%   -0.04%
  Complexity     3215     3215
============================================
  Files           247      247
  Lines         17350    17350
  Branches       3073     3073
============================================
- Hits          11199    11193       -6
- Misses         4595     4601       +6
  Partials       1556     1556

Impacted Files
Coverage Δ

...ecurity/configuration/StaticResourceException.java
0.00% <0.00%> (-25.00%)
:arrow_down:

...nsearch/security/dlic/rest/api/AuditApiAction.java
63.82% <0.00%> (-4.26%)
:arrow_down:

...security/configuration/DlsFlsFilterLeafReader.java
59.76% <0.00%> (-0.71%)
:arrow_down:

.../dlic/auth/ldap2/LDAPConnectionFactoryFactory.java
57.25% <0.00%> (+0.76%)
:arrow_up:

Continue to review full report at Codecov.

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


Kafka creating more partitions than hardcoded in the properties file

Services migrated to Spring cloud function
Spring boot version:  2.5.5
Dependencies : 2020.0.4
After migrating to Spring cloud function , our service no longer honors the partition count of the producers.
Configuration :
#Binder configuration
spring.cloud.stream.kafka.binder.auto-add-partitions=false
spring.cloud.stream.kafka.binder.requiredAcks=1
spring.cloud.stream.kafka.binder.configuration.max.poll.records=10
spring.cloud.stream.kafka.binder.replication-factor=4

spring.cloud.stream.bindings.priceAbc-out-0.content-type=application/json
spring.cloud.stream.bindings.priceAbc-out-0.destination=pc-abc-price
spring.cloud.stream.bindings.priceAbc-out-0.producer.header-mode=none
spring.cloud.stream.bindings.priceAbc-out-0.producer.partition-count=10
spring.cloud.stream.bindings.priceAbc-out-0.producer.partitionKeyExpression=payload.key
spring.cloud.stream.kafka.bindings.priceAbc-out-0.producer.sync=true

Error:
o.s.kafka.support.LoggingProducerListener - Exception thrown when sending a message with key='byte[14]' and payload='byte[385]' to topic pc-abc-price and partition 19: org.apache.kafka.common.errors.TimeoutException: Topic pc-abc-price not present in metadata after 60000 ms.
and similar errors  all with partition count greater than 10.
Does it mean the Partition algorithm is somehow failing here?
P.S. In our organization topics and partitions are already created and are not created as and when the services are created.
One more thing I would like to mention here:
Earlier I had added the property
spring.cloud.stream.kafka.binder.auto-add-partitions=true
But reverted it back later because of the organizational policy.
Could it have added more partitions and kafka is now looking for data in these partitions. If yes, then while describing the topic I should see those partitions , but when I describe the topic I see only partitions from count 0-4.

@rshm-rewe What is the binding destination? It seems like you are sending the records to a topic named pc-abc-price, but it complains about another topic called pc-aggregated-price-v1. Is there a chance you can create a minimal sample and share it with us? That way, we can triage the issue further.

HI @sobychacko  , thank you for your response , I was trying to replace all occurrence of pc-aggregated-price-v1 with pc-abc-price , missed that one.

The issue was with the following properties:
spring.cloud.stream.bindings.priceAbc-out-0.producer.partitionKeyExpression=payload.key
spring.cloud.stream.kafka.bindings.priceAbc-out-0.producer.sync=true
Somehow the payload.key was calculating the partitions with a number greater than mentioned partition count.
I am not sure if you all would like to investigate further on it, so closing it.


[david] add support for path

This PR adds support for David's path query parameter (used to specify in which folder the package.json file is located).
The diff is a bit messy because the indentation had to be changed, but all it really does is adding the path query param declaration and an if block to append ?path=x when sending the HTTP request.
Note: this closes #637

Messages

:book:

:sparkles: Thanks for your contribution to Shields, @rraziel!

:book:

Thanks for contributing to our documentation. We :heart: our documentarians!

  Generated by :no_entry_sign: dangerJS

Side note you can see a cleaner diff by hiding the whitespace changes:

Thanks for the changes, just noticed 1 more thing.
Could you update the title to include [david] as this allows the service test to be run on this PR.
eg: [david] add support for path

Hm just to make sure: you meant change the PR title or the commit message?

Ok then the way I changed it should be fine (I think?)

Yeah looks good, I think closing and reopening the PR will re run the test.

Would you be able to make some sort of minor change to the path not found test or something please?
Seems it needs another commit for the services-PR tests to run correctly.

Was failing due to something unrelated to this PR, have rerun test and passing now.
Approved!
👍


Make it a Clojure CLI tool

Would be nice if I could install lein2deps as a Clojure CLI tool.
Maybe it's as simple as adding :tools/usage {:ns-default lein2deps.api} to deps.edn?

PR welcome

I tested it locally and it works by simply adding the :tools/usage.
The ergonomics are not too great with the double lein2deps but don't thing there is anything we can do about it.
I also wrapped the write-file in str because cli tools passes it in as a symbol if you only write
... :write-file "deps.edn". For a string you would have to write ... :write-file '"deps.edn"' otherwise.

@dakra

For a string you would have to write ... :write-file '"deps.edn"'

This is exactly why this tool also exposes a -M main function and arguments are parsed with babashka.cli.
But it's good to have more options.


Add a check for intersection between nodes and pods CIDRs

How to categorize this issue?

/area networking
/kind bug
What happened:
Currently it is possible the create a shoot cluster with the same IP ranges for nodes and pods, but this is not a correct configuration and the creation of the cluster will fail: ref
7m51s       Warning   FailedToCreateRoute       node/shoot--foo--podnodecidr-worker-nyvbm-z1-54d97-s5fkw   Could not create route 629b5c95-5070-4420-9d16-4369cc95cf9a <IP_ADDRESS>/24 for node shoot--foo--podnodecidr-worker-nyvbm-z1-54d97-s5fkw after 3.477036508s: googleapi: Error 400: UNSUPPORTED_OPERATION - <IP_ADDRESS>/24 hides the address space of the network (<IP_ADDRESS>/16). Cannot change the routing of packets destined for the network.

Also there will be pods and nodes with the same IP addresses:
$ k get node -o wide; k -n kube-system get pod vpn-shoot-6cb79d779d-vf64p -o wide
NAME                                                      STATUS   ROLES    AGE     VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION         CONTAINER-RUNTIME
shoot--foo--podnodecidr-worker-nyvbm-z1-54d97-s5fkw   Ready    <none>   9m16s   v1.22.3   <IP_ADDRESS>    <none>        Garden Linux 576.1   5.10.0-9-cloud-amd64   containerd://1.5.7
NAME                         READY   STATUS    RESTARTS   AGE   IP           NODE                                                      NOMINATED NODE   READINESS GATES
vpn-shoot-6cb79d779d-vf64p   1/1     Running   0          10m   <IP_ADDRESS>   shoot--foo--podnodecidr-worker-nyvbm-z1-54d97-s5fkw   <none>           <none>

What you expected to happen:
Gardener should have a check for that and should inform the user that such a configuration is not a possible.
How to reproduce it (as minimally and precisely as possible):
Create a shoot cluster with the following configuration:
  networking:
    type: calico
    pods: <IP_ADDRESS>/11
    nodes: <IP_ADDRESS>/11
...
    infrastructureConfig:
      apiVersion: gcp.provider.extensions.gardener.cloud/v1alpha1
      kind: InfrastructureConfig
      networks:
        workers: <IP_ADDRESS>/11

/assign


[bug]: Disabled state styles in Command

Describe the bug
I think there is a problem with the disabled styles in Command component, probably because Radix and cmdk uses different ways to use the data-disabled HTML attribute.
In CommandPrimitive.Item the default styles for this attribute is:
data-[disabled]:pointer-events-none data-[disabled]:opacity-50
That only works if the component either uses the attribute or not, but not for data-disabled="true" or data-disabled="false".
2 solutions:

Change default styles to
data-[disabled="true"]:pointer-events-none data-[disabled="true"]:opacity-50

Change tw config

config = {
theme: {
extend: {
data: {
disabled: 'disabled~="true"',
},
}
}
}
It's just a minor issue but the disabled pointer renders the component useless for me until I changed it.
Great job on the library by the way 😀
Affected component/components
Command
How to reproduce

Use Command component.
Try to click on the dropdown and see that the cursor is disabled.

Codesandbox/StackBlitz link
No response
Logs
No response
System Info
Versions:
  "cmdk": "^1.0.0"

Before submitting

[X] I've made research efforts and searched the documentation
[X] I've searched for existing issues

I decided to use  "cmdk": "^0.2.0" to get around this issue. Using the previous version fixes the disabled item issue.

Hi there,
got the same issue after upgrading cmdk to v1.0.0.
Fixed it with @romoguill first solution. Thanks !

I think its just a matter of updating the disabled selector from:
data-[disabled]:...
to:
data-[disabled='true']:...

same issue, @p7gg 's solution works well to me

I spent a lot of time until I found this.
A find/replace of data-[disabled] to data-[disabled='true'] got the job done


How to Hide popup in iOS devices

I'm using React Native version 0.62.2 and Xcode 11.2.1.
After select image for share, showing this popup

When you click on 'Cancel' does that not remove the share screen?
Is this what you meant?

NO, When I select images for sharing, this popup should not come and open the app directly

same here, how can I disable this popup?

Same, haven't been able to bypass this either

If you move the logic in ShareViewController.swift to viewDidLoad instead of didSelectPost, you will be redirected directly to the app.

If you move the logic in ShareViewController.swift to viewDidLoad instead of didSelectPost, you will be redirected directly to the app.

This doesn't work on iOS 13, that's what I have to test

Thanks

@jaiprakashPal  What's the solutions please ?

Still not works.
Facebook faces this issue too, so is this a bug of iOS?

@jaiprakashPal What's the solutions please ?

https://github.com/ajith-ab/react-native-receive-sharing-intent/issues/18#issuecomment-653507106

Still not works.
Facebook faces this issue too, so is this a bug of iOS?

https://github.com/ajith-ab/react-native-receive-sharing-intent/issues/18#issuecomment-653507106

Still not works.
Facebook faces this issue too, so is this a bug of iOS?

#18 (comment)

I mean the solution stills not works.

same issue
is there a solution for this one ?

@fukemy could you please show the code?

@fukemy yeah, I tried like that. But then there is many errors


Radio Input visual unification and updates

This task was agreed with @onvisions . It involves updating the Input Radio component ant the label styles. The changes affects 3 pages: Language Settings, Currency Settings and Networks Settings.

@onvisions this is ready to be reviewed.

@peronczyk looks good


baud rate support per application in greentea test

Description
mbed-os-ci tests example applications specified in examples.json Though each of the applicationconfiguration accepts "baud_rate" parameter, if different baud rates are specified for different applications, greentea is not able to pass the baudrate correctly to mbedhtrun.

Steps to reproduce
Given in, https://jira.arm.com/browse/IOTOSM-3122
Pull request type

[X] Fix
[ ] Refactor
[ ] Target update
[ ] Functionality change
[ ] Docs update
[ ] Test update
[ ] Breaking change

Reviewers

I tested greentea locally (mbed test) and with grm option. It works fine with this fix.


Fix E2E test login for ACR on Windows.

Signed-off-by: Artur Souza<EMAIL_ADDRESS>Description
Fixing the az acr login issue due to change on Windows image on GH Actions: https://github.com/actions/runner-images/releases/tag/win19%2F20220918.1
My test on the fork: https://github.com/artursouza/test-github/actions/runs/3101868340/jobs/5023635543
Issue reference

Please reference the issue this PR will close: N/A
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Unit tests passing
[ ] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

https://github.com/artursouza/test-github/actions/runs/3101868340/jobs/5023635543


Improvement for k8s.io/docs/tasks/configure-pod-container/assign-memory-resource/

update memory to include M  G vs Mi Gi (Gibibyte versus Gigabyte)

Link to the page: https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/

In the Memory units section, there exists a paragraph:

The memory resource is measured in bytes. You can express memory as a plain integer or a fixed-point integer with one of these suffixes: E, P, T, G, M, K, Ei, Pi, Ti, Gi, Mi, Ki. For example, the following represent approximately the same value:

@systems1 Could you elaborate what you are suggesting exactly? (Including your example would be a good idea) 😊

could you add few  lines of below to make it easy to understand
Base 2 versus base 10 calculation of data
GiB stands for Gibibyte and GB stands for Gigabyte.
GiB: unit symbol of Gibibyte
GB: unit symbol of Gigabyte

We could add a glossary entry for “Quantity” and include some of these details in that entry.
(That's what I'd do).
Also see the API reference for quantity. This is directly generated from upstream code.

/remove-lifecycle stale

/remove-lifecycle stale

Hi @sftim is it ok to document this in https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/

could you add few lines of below to make it easy to understand as both are allowed and some people new Base 2 versus base 10 calculation of data GiB stands for Gibibyte and GB stands for Gigabyte. GiB: unit symbol of Gibibyte GB: unit symbol of Gigabyte

Hi @sftim is it ok to document this in https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/

Yes, I think so. However, I recommend adding a glossary entry for Quantity and putting at least an outline of the details there instead.

@sftim Sure i will give a try on this.

/remove-lifecycle rotten

/triage accepted

@Kartik494 : Just checking in, are you still working on this? We'd otherwise be able to publish this as an issue for contributors to work on.

@divya-mohan0209  sorry for delaying , i have been busy working on other issues , please feel free to assign this issue if someone want to work on it.

Thank you for confirming @Kartik494 . Please don't be sorry, we understand!

/help

/good-first-issue

/retitle Add glossary entry for Quantity

To those picking up the issue:
This comment will need to be fleshed out a bit more for the Glossary entry. You can also refer  The new Glossary entry page will need to be added here. Please ask questions if you have any doubts!

So we have to create a new file for quantity in glossary and add the above mentioned comment's data in it?@divya-mohan0209

Not word-for-word, but yes. You need to elaborate on the content in the comment a bit more and create a new file for Quantity in the glossary section.

Not word-for-word, but yes. You need to elaborate on the content in the comment a bit more and create a new file for Quantity in the glossary section.

One last question, where can I search for the content , like is there any document i could take help from?

Please refer to this comment above. I'd also request you to read through the above discussion entirely to gain context of the issue at hand and then ask questions.

I can work on this right away, has it been assigned to anyone? @divya-mohan0209

@FavourDaniel :
SIG Docs' no cookie-licking policy applies: it's always OK for anyone to open a pull to work on any issue, including this one. When starting work, liaising with anyone who has already opened a PR or otherwise expressed an intention to work on the issue is polite.

alright thank you @divya-mohan0209

I want to work on this issue. Can I get this assigned?

Please see comment above @Sajiyah-Salat . You can assign yourself the issue by using the /assign command FYI.

/assign

Turns out we've had one since https://github.com/kubernetes/website/pull/9780

/retitle Update glossary entry for Quantity
Oops.

I would like to work on this issue. This is my first contribution, so please help me if I get stuck.

/assign

Based on the understanding from the past conversation, I made these changes made sort of draft. Can you please check if everything is correct so I can make a PR with final changes.

/assign

/assign

This is done now - https://kubernetes.io/docs/reference/glossary/?all=true#term-quantity has the details needed.
/close


Adding #ifdef LV_CONF_INCLUDE_SIMPLE

Hi,
lv_drv_conf.h should be included before #if USE_.... because the header file contains #define USE_....
So instead of:
#if USE_R61581

#ifdef LV_CONF_INCLUDE_SIMPLE
#include "lv_drv_conf.h"
#else
#include "../../lv_drv_conf.h"
#endif

this:
#ifdef LV_CONF_INCLUDE_SIMPLE
#include "lv_drv_conf.h"
#else
#include "../../lv_drv_conf.h"
#endif

#if USE_R61581

Do you agree?


Link Button?

I tried adding a new device today (have HA bridge running since years) and nothing was recognized. Still I see a lot of UPNP requests in the logs while updating devices (started from Alexa Web UI). Now, how to proceed? Updated to 5.4.0, no changes... There are 5 3.Gen Echos and 2 2.Gen Dots here...
What I have not found: How do I activate a "Link" Button? I have not seen such option, though the Devices Tab shows me a "Manage Links" Button. I am rather frightened to delete all devices inside Alexa or renumber them in HA Bridge, as we are so used to control everything via voice ::-)

@steviehs HA-Bridge by default is always in the state of "link button pressed.  So there is no need to actually press a button to make the devices discoverable.  To turn on the requirement to press the link button go to the Bridge Control page, and click the orange "Update Security Settings" button.  A popup menu will appear, you can toggle the "Use Link Button" option from False to True by checking the checkbox and clicking "Update".  A "Link" button will appear on the "Bridge Devices" page when the Use Link Button is checked True.  I never use the link button option.
Do one thing for me, go to the "Bridge Control" page and click the Test button to open your device JSON.  Find your new device and look for it's "uniqueid" and post the actual ID, it should be something along the lines of this: "00:11:22:33:44:55:66:6E".  I want to see if your device has a dash with two digits after or not.  The Alexa discovery recently changed and will not work with IDs that have the appended dash and two digits.  Let me know...

Find your new device and look for it's "uniqueid" and post the actual ID, it should be something along the lines of this: "00:11:22:33:44:55:66:6E". I want to see if your device has a dash with two digits after or not.

In fact all my devices have unique ids in this format, e.g. 00:17:88:5E:D3:6E-00.
Is there something I can do to change this? My first idea would be to edit the backup :-)

Uh, you were right, I just stopped habridge, edited the ID I wanted to detect from 00:17:88:5E:D3:6E-00 to 00:17:88:5E:D3:6E:00 and voilá!
Now, I could perhaps try to find the point in the code, where the uniq ids are generated and change this to the above form, but may be it had a reason, so I should better leave this to the more enlightened people here?
Thanks a lot @audiofreak9 !

Same for me #1270  id with - at the end how you change it ?
Thanks

Quite easy: make a backup first :-) stop habridge, edit device.db with a text editor and change the - in the uniqueid value to a :
Then start habridge and discover...

Linking to thread #1243 so users can get the whole uniqueid history.
Also @steviehs and @Jean-Mercier  to future proof your existing devices you may want to do the following from this post to update all uniqueids for every device, in short it makes a copy of your device.db file, then removes all "dash,digit,digit" combinations.
# systemctl stop ha-bridge.service
# cp device.db device.copy
# sed -i 's/-[0-9][0-9]"/"/g' device.db
# systemctl start ha-bridge.service

FYI...https://github.com/bwssytems/ha-bridge/issues/1270#issuecomment-749247749

So I just found out on another thread https://github.com/bwssytems/ha-bridge/issues/1270#issuecomment-749815765 that changing the ID SEED number and renumbering your devices also fixes device discovery.  Very interesting, leads me to think the cache of id and uniqueid are tied together in device discovery and the return of deleted devices during discovery.

and yet today after two days of trying to get discovery working again ...and losing all devices, recovering from backup, deleting data directory habridge.config etc...I also tried the trick of editing the ID to remove the - and replace with :
It worked for some the first time I did it ..second time..creating new devices....it did not work...


In Iphone the video plays as external video

I am using a background video. In the iphones when someone by clicks the background. the video starts playing in an external player.
Any idea how to stop this from happening?

As pointed out in the docs:

iOS plays video from a browser only in the native player. So video for iOS is disabled, only fullscreen poster will be used.

Also updated here as well: https://github.com/VodkaBears/Vide/issues/141


Type-safe raw data, transformers, and key constants

Part of #85

Codecov Report

Merging #88 (e2784f2) into main (8f05e49) will decrease coverage by 2.45%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #88      +/-   ##
==========================================
- Coverage   35.08%   32.62%   -2.46%
==========================================
  Files          51       47       -4
  Lines         496      472      -24
  Branches      110      105       -5
==========================================
- Hits          174      154      -20
+ Misses        315      311       -4
  Partials        7        7

Impacted Files
Coverage Δ

src/pages/activity.jsx
21.42% <ø> (ø)

src/pages/average-metrics.jsx
21.42% <ø> (ø)

src/pages/instructors.jsx
14.28% <ø> (ø)

src/pages/outputs.jsx
14.28% <ø> (ø)

src/pages/totals.jsx
2.63% <ø> (ø)

src/transforms/average-metrics.js
100.00% <100.00%> (ø)

src/transforms/cycling-outputs.js
100.00% <100.00%> (ø)

src/transforms/top-instructors.js
100.00% <100.00%> (ø)

src/transforms/total-workouts.js
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


DebeziumMongodbTest skipped tests #3213

fixes https://github.com/apache/camel-quarkus/issues/3213
Problem was caused by https://github.com/quarkusio/quarkus/pull/16748/files, which made some of the test disabled forever. I refactored the way how tests are disabled, using ConfigProvider.getConfig().

@JiriOndrusek Not sure I get it. Shouldn't we fail when the mySql driver is not there or the Ms SQL EULA has not accepted ?
I see it like they are part of the valid test setup, but maybe I'm missing something there ?

@aldettinger Original behavior was, that if driver is missing or EULA is not accepted, those tests will be skipped. It makes sense, because on CI we won't have driver or acceptance of EULA. This PR doesn't change the behavior, only fixes issues. (because without this fix, mysql, mssql and mongo will be skipped always).

Ups, it looks like this PR got forgotten for some reason. Could you please rebase @JiriOndrusek ?

@ppalaga rebased

@JiriOndrusek could you please have a look at the failure and assess whether they may be caused by this change?

This PR modifies only 3 test files inside inegration-tests/debezium Failure is caused by JmsArtemisTest.
 JmsArtemisTest>AbstractMessagingTest.testResequence:140 1 expectation failed.

I don't see a possible connection to the changed files.


[TASK] Integrate v2 volume backing image feature with Harvester

What's the task? Please describe

Integrate v2 volume backing image feature with Harvester and make sure the functionalities work as expected.
Describe the sub-tasks

Additional context

cc @bk201 @innobead

As suggested by @innobead, the issue should be created in harvester repo.
I will create a new ticket for this topic after v1.8.0 rc1 is released.
cc @bk201 @innobead


fixed multiuser option/ added argument length limit

I was trying to change permissions on a large number of files (CCLE2 samples), and the gsutil command failed (due to a very large length of the command in bash). I set a limit on command length and put it in a loop.
Also it seemed like the 'gsutil acl ch' requires '-u' for every user separately. I added this as well.

thanks Javad!

thanks Javad!

@jkobject actually missed a piece of it. Here it is:
https://github.com/jkobject/JKBio/pull/4

@jkobject actually missed a piece of it. Here it is:
https://github.com/jkobject/JKBio/pull/4


PLEASE update and republish the JavaScript package on NPM

gtfs-realtime-bindings is severely out of date (4 years) and the old, old version of protobuf.js is causing a lot of headaches since the current documentation doesn't reflect pbjs 2.0.5 (the package dependency published on npm)

Please republish the newer version of the package with the updated protobuf dependency, thank you!

Hey @bdferris can you re-publish the Node.js package?

@bdferris does not work on realtime anymore.
Hi @anatolip-rt ! Please could you help us here?

Adding @barbeau
Hi Sean! Please could you help us here?

Nevermind, I forked the source and created gtfs-rb instead. Really nice that protobuf.js also supports creating type definitions. Works flawlessly now
I'll be maintaining it on my own, thanks

@ciolt Thanks for the heads up!  Yes, we're aware of the issue and are working on a new release of this library that will be published shortly.

@ciolt this keeps saying it cant call decode on undefined. Is there a change that needs to be made now?

@ciolt this keeps saying it cant call decode on undefined

@michaelgosling That's because gtfs-realtime-bindings on npm is severely out of date and uses an extremely obsolete version of protobuf.js (4+ years old)
I'm using gtfs-rb which uses a current version of protobuf.js. Try using that instead, and open an issue on the repo if something doesn't work right

@ciolt this keeps saying it cant call decode on undefined

@michaelgosling That's because gtfs-realtime-bindings on npm is severely out of date and uses an extremely obsolete version of protobuf.js (4+ years old)
I'm using gtfs-rb which uses a current version of protobuf.js. Try using that instead, and open an issue on the repo if something doesn't work right

I was actually talking about gtfs-rb. I couldn't find the repo before, thanks for the link :)

@ciolt and @michaelgosling I just published v0.0.5 to NPM - could you please give this a try and see if it resolves the issue?


The connection was closed by the host | { bad_header, _}

Hi,
I am not able to use the library because of an error.
➜  rqm_demo iex -S mix

01:04:59.263 [debug] Connecting to server: localhost:5672

01:04:59.287 [debug] Connection stablished. Initiating properties exchange.
Erlang/OTP 26 [erts-14.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit:ns]

01:04:59.339 [warning] The connection was closed by the host, after the socket was already open, while running the authentication sequence. This could be caused by the server not having Stream Plugin active
Interactive Elixir (1.16.2) - press Ctrl+C to exit (type h() ENTER for help)

01:04:59.285 [error] GenServer RqmDemo.MyConsumer terminating
** (stop) exited in: GenServer.call(RqmDemo.MyConnection, {:query_offset, [stream_name: "my_stream", offset_reference: "Elixir.RqmDemo.MyConsumer"]}, 5000)
    ** (EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its application isn't started
    (elixir 1.16.2) lib/gen_server.ex:1103: GenServer.call/3
    (rabbitmq_stream 0.4.1) lib/consumer/lifecycle.ex:55: RabbitMQStream.Consumer.LifeCycle.handle_continue/2
    (stdlib 5.2) gen_server.erl:1085: :gen_server.try_handle_continue/3
    (stdlib 5.2) gen_server.erl:995: :gen_server.loop/7
    (stdlib 5.2) proc_lib.erl:241: :proc_lib.init_p_do_apply/3
Last message: {:continue, {:init, [credits: 50000, flow_control: {RabbitMQStream.Consumer.FlowControl.MessageCount, {:count, 1}}, offset_tracking: [{RabbitMQStream.Consumer.OffsetTracking.CountStrategy, {0, 50}}], properties: [], offset_reference: "Elixir.RqmDemo.MyConsumer", initial_credit: 50000, name: RqmDemo.MyConsumer, consumer_module: RqmDemo.MyConsumer, connection: RqmDemo.MyConnection, stream_name: "my_stream", initial_offset: :first]}}
State: %RabbitMQStream.Consumer{offset_reference: "Elixir.RqmDemo.MyConsumer", connection: RqmDemo.MyConnection, stream_name: "my_stream", offset_tracking: [{RabbitMQStream.Consumer.OffsetTracking.CountStrategy, {0, 50}}], flow_control: {RabbitMQStream.Consumer.FlowControl.MessageCount, {:count, 1}}, id: nil, credits: 50000, initial_credit: 50000, private: nil, consumer_module: RqmDemo.MyConsumer, initial_offset: :first, last_offset: 0, properties: []}

I am using the following rabbitmq server setup
$ docker run -d --hostname my-rabbit --name some-rabbit -p 8081:15672 -p 5672:5672 rabbitmq:3-management
Stream plugins are enabled
$ rabbitmq-plugins list
...
[  ] rabbitmq_stomp                     (pending upgrade to 3.13.1)
[E*] rabbitmq_stream                   3.13.1
[E*] rabbitmq_stream_management        3.13.1
[  ] rabbitmq_top                       (pending upgrade to 3.13.1)
...

Portion of rabbitmq server log
$ docker logs -f ...
2024-04-16 00:04:59.333488+00:00 [info] <0.1099.0> accepting AMQP connection <0.1099.0> (<IP_ADDRESS>:33756 -> <IP_ADDRESS>:5672)
2024-04-16 00:04:59.334011+00:00 [error] <0.1099.0> closing AMQP connection <0.1099.0> (<IP_ADDRESS>:33756 -> <IP_ADDRESS>:5672):
2024-04-16 00:04:59.334011+00:00 [error] <0.1099.0> {bad_header,<<0,0,0,105,0,17,0,1>>}

The correct port for RabbitMQ Stream is 5552. Port 5672 is for the AMQP Protocol. Could you please try to change it on the Connection Configuration and try again?

@VictorGaiva
Oh! my bad
sorry about that.

No worries. Feel free to open other issues with any other questions.
:)


Crash in reciever when sending enums by mistake

I setup an enum for managing the state and put the raw enum in the extra bundle rather than calling state.ordinal() (my bad) and this caused SLFS to crash. Looking at the report it could have protection against this sort of mistate at https://github.com/tgwizard/sls/blob/master/src/com/adam/aslfms/receiver/SLSAPIReceiver.java#L55

Could you explain this in more detail?

You just need a try catch block?

Ok. I will patch it.


Addition of missing Codédexes standard header to solution files

Hello team,
The solution file of lesson 01 is the only one with the standard Codédex header, all other solution files do not have it.
I would like to propose a fix to that.
P.S.: The solution file 02_language_models.py has indentation that changes the file's readability for no reason, I proposed a fix to that as well in order to make it more aligned.
Let's go.

LGTM!