Scheduled jobs

Hi,
It looks like jobs are not running on my system:
[411]$ /var/www/411/bin/cron.php && /var/www/411/bin/worker.php
[+] Scheduler:<PHONE_NUMBER>
[+] Maintenance
[+] Search Health
[+] Rollups
[+] Searches
[+] Reports
[+] Summary
[+] Autoclose
[+] Cleanup
[+] Worker
[+] Worker:<PHONE_NUMBER>
[+] Job count: 64
PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000]: General error: 1 near "LIMIT": syntax error in /var/www/411/phplib/DB.php:78
Stack trace:
#0 /var/www/411/phplib/DB.php(78): PDO->prepare('UPDATE jobs S...')
#1 /var/www/411/phplib/Job.php(167): FOO\DB::query('UPDATE jobs S...', Array, 0)
#2 /var/www/411/phplib/Worker.php(77): FOO\JobFinder::getAndLock('1',<PHONE_NUMBER>)
#3 /var/www/411/bin/worker.php(34): FOO\Worker->processSite(Object(FOO\Site),<PHONE_NUMBER>)
#4 {main}
thrown in /var/www/411/phplib/DB.php on line 78
err [411_Worker] Worker error site:[1] ret:[65280]
And I see this in the web UI:

Any ideas on why this is happening?
Thanks!
Andrew

Some quick things to check:

Are you running the newest version of the code?
Can you try running bin/migration.php and seeing if that fixes it?

I ran bin/migration.php - no luck.
And I pull from github this morning so I assume I use the latest code.

Can you add Logger::info($query, $params, "TEST"); to DB.php:97 and paste the the log line here?

Added like this:
    Logger::info($query, $params, "TEST");
    if(!$stmt->execute()) {
        throw new DBException('Query failed: ' . $stmt->errorInfo()[2]);
    }

Where do I find the log line?

It should be in PHP's errorlog (possibly /var/log/httpd/error.log).

Looks like I am getting the same errors as on the console:
[26-Sep-2016 22:25:10 UTC] PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000]: General error: 1 near "LIMIT": syntax error in /var/www/411/phplib/DB.php:78
Stack trace:
#0 /var/www/411/phplib/DB.php(78): PDO->prepare('UPDATE jobs S...')
#1 /var/www/411/phplib/Job.php(167): FOO\DB::query('UPDATE jobs S...', Array, 0)
#2 /var/www/411/phplib/Worker.php(77): FOO\JobFinder::getAndLock('1',<PHONE_NUMBER>)
#3 /var/www/411/bin/worker.php(34): FOO\Worker->processSite(Object(FOO\Site),<PHONE_NUMBER>)
#4 {main}
thrown in /var/www/411/phplib/DB.php on line 78
[26-Sep-2016 22:25:10 UTC] err [411_Worker] Worker error site:[1] ret:[65280]

Do you see a log line with the string "TEST" in it? It should be right before the error.

No luck. I reinstalled from scratch and still the same error on the first run (I did not even create any searches). And I cannot make it to log anything but the errors I already posted.

Not sure if this is related but I see strange timestamps:

The timestamps are just because the jobs haven't run yet (Jan 1, 1970 == 0)
The log line you're looking for should have "UPDATE jobsSETstate = ? somewhere in it.

I cannot find a way to output this log line. Do I need to do something different? I rebuilt the site many times, tried different options - no luck. Same error all the time. I mentioned this during install:
Please note that,
select2-bootstrap3-css#1.4.6 depends on select2#^3.3.2 which resolved to select2#3.5.4
FourOneOne depends on select2#~4.0.0 which resolved to select2#4.0.3
Resort to using select2#^3.3.2 which resolved to select2#3.5.4
Code incompatibilities may occur.
Could that be related to the issue I see?

Ok, I got this:
earray(4) {
[0]=>
array(6) {
["file"]=>
string(26) "/var/www/411/phplib/DB.php"
["line"]=>
int(81)
["function"]=>
string(7) "prepare"
["class"]=>
string(3) "PDO"
["type"]=>
string(2) "->"
["args"]=>
array(1) {
[0]=>
string(196) "UPDATE jobs SET state = ?, update_date = ?, tries = tries + 1, completion = 0, last_execution_date = ? WHERE site_id = ? AND archived = 0 AND state = ? AND job_id = ? LIMIT 1"
}
}
[1]=>
array(6) {
["file"]=>
string(27) "/var/www/411/phplib/Job.php"
["line"]=>
int(169)
["function"]=>
string(5) "query"
["class"]=>
string(6) "FOO\DB"
["type"]=>
string(2) "::"
["args"]=>
array(3) {
[0]=>
string(196) "UPDATE jobs SET state = ?, update_date = ?, tries = tries + 1, completion = 0, last_execution_date = ? WHERE site_id = ? AND archived = 0 AND state = ? AND job_id = ? LIMIT 1"
[1]=>
array(6) {
[0]=>
int(4)
[1]=>
int(1475094709)
[2]=>
int(1475094709)
[3]=>
int(1)
[4]=>
int(0)
[5]=>
string(1) "1"
}
[2]=>
int(0)
}
}
[2]=>
array(6) {
["file"]=>
string(30) "/var/www/411/phplib/Worker.php"
["line"]=>
int(78)
["function"]=>
string(10) "getAndLock"
["class"]=>
string(13) "FOO\JobFinder"
["type"]=>
string(2) "::"
["args"]=>
array(2) {
[0]=>
string(1) "1"
[1]=>
int(1475094709)
}
}
[3]=>
array(6) {
["file"]=>
string(27) "/var/www/411/bin/worker.php"
["line"]=>
int(35)
["function"]=>
string(11) "processSite"
["class"]=>
string(10) "FOO\Worker"
["type"]=>
string(2) "->"
["args"]=>
array(2) {
[0]=>
object(FOO\Site)#8 (4) {
["obj":protected]=>
array(6) {
["site_id"]=>
int(1)
["name"]=>
string(7) "411"
["host"]=>
string(28) "Hostname"
["archived"]=>
bool(false)
["create_date"]=>
int(1475089719)
["update_date"]=>
int(1475089719)
}
["new":protected]=>
bool(false)
["dirty":protected]=>
bool(false)
["initial_update_date":protected]=>
int(1475089719)
}
[1]=>
int(1475094709)
}
}
}

Maybe it is a sqlite issue. I ran that query locally and it works fine. Could you try updating your copy of sqlite3?

What version do you run? Mine is sqlite-3.6.20-1.el6_7.2.

I'm running 3.8.2 here.

Let me try getting this one and see if this fixes the issue.

Installed sqlite-<IP_ADDRESS>; downgraded php from 7.0 to 5.6. Still the same error. Not sure what I am doing wrong.

Ran this in SQLite3 and got the same error:
sqlite> UPDATE jobs SET state = ?, update_date = ?, tries = tries + 1, completion = 0, last_execution_date = ? WHERE site_id = ? AND archived = 0 AND state = ? AND job_id = ? LIMIT 1;
Error: near "LIMIT": syntax error

That's a parameterized query, so that makes sense. Can you try this query? UPDATE jobs SET state = 0, update_date = 0, tries = tries + 1, completion = 0, last_execution_date = 0 WHERE site_id = 0 AND archived = 0 AND state = 0 AND job_id = 0 LIMIT 1;

Same error:
sqlite> UPDATE jobs SET state = 0, update_date = 0, tries = tries + 1, completion = 0, last_execution_date = 0 WHERE site_id = 0 AND archived = 0 AND state = 0 AND job_id = 0 LIMIT 1;
Error: near "LIMIT": syntax error
sqlite>

sqlite> UPDATE jobs SET state = 0, update_date = 0, tries = tries + 1,
completion = 0, last_execution_date = 0 WHERE site_id = 0 AND archived =
0 AND state = 0 AND job_id = 0 LIMIT 1;
Error: near "LIMIT": syntax error
sqlite> UPDATE jobs SET state = 0, update_date = 0, tries = tries + 1,
completion = 0, last_execution_date = 0 WHERE site_id = 0 AND archived =
0 AND state = 0 AND job_id = 0;
sqlite>
I've never tried, but can you use a limit on an update?
-Erik-
On 09/29/2016 10:41 AM, AGirin wrote:

Same error:
sqlite> UPDATE jobs SET state = 0, update_date = 0, tries = tries + 1,
completion = 0, last_execution_date = 0 WHERE site_id = 0 AND archived
= 0 AND state = 0 AND job_id = 0 LIMIT 1;
Error: near "LIMIT": syntax error
sqlite>
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/etsy/411/issues/23#issuecomment-250486442, or
mute the thread
https://github.com/notifications/unsubscribe-auth/ADVJs7F3uk8eb0FiV3-8hKsREa3D1yG3ks5qu84ugaJpZM4KHB1i.

I confirm that removing LIMIT does work but I am not sure why the code works for everybody else? I cannot find an issue on my side so far.

Looks like UPDATE should work with LIMIT:  https://www.sqlite.org/lang_update.html

I'm at a loss. Running that query on my box definitely works.

This might answer this:

Apparently it is a very complicated process to build sqlite3 with that option enabled. I tried this:
http://stackoverflow.com/questions/1824490/how-do-you-enable-limit-for-delete-in-sqlite
And it worked but... Still LIMIT does not work. I think there at ea bunch of libraires you need to recompile to make this work. Everybody suggest not to use LIMIT with UPDATE statement and use SELECT with LIMIT (UPDATE (SELECT ... LIMIT 1)).
Any suggestion on what I can try changing the query to in order to see if the code works?

Is mysql an option? We actually use 411 with that internally, but released the project with sqlite because it's usually easier to set up. db.sql will require a few tweaks and you'll need to make some changes to config.php to point to mysql instead. I can provide more details as necessary.

Thanks @kiwiz. Could you provide this info? I might be able to work with it.

I pushed a db_mysql.sql file with the schema. For config.php you'll need to change the dsn to something like "mysql:host=localhost;dbname=testdb".

Thanks. I started on a new host and now I am getting this (I am using mysql):
bin/create_site.php
Creating new site
Site name: 411
Hostname: hostname.test.com
PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'site_id' cannot be null' in /var/www/411/phplib/DB.php:97
Stack trace:
#0 /var/www/411/phplib/DB.php(97): PDOStatement->execute()
#1 /var/www/411/phplib/Model.php(140): FOO\DB::query('INSERT INTO `si...', Array, 0)
#2 /var/www/411/phplib/Model.php(116): FOO\Model->create()
#3 /var/www/411/bin/create_site.php(14): FOO\Model->store()
#4 {main}
thrown in /var/www/411/phplib/DB.php on line 97

Should be fixed via 5c259b2d040a23be81f3e5b0869c10da98900f99.

It is! Thanks! But now this (we are getting there!):
bin/create_user.php
Creating new user
Username: admin
Real name: Admin
Password: Test
Email<EMAIL_ADDRESS>Admin (y/n): y
PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'name' in 'field list'' in /var/www/411/phplib/DB.php:97
Stack trace:
#0 /var/www/411/phplib/DB.php(97): PDOStatement->execute()
#1 /var/www/411/phplib/Model.php(140): FOO\DB::query('INSERT INTO `us...', Array, 0)
#2 /var/www/411/phplib/Model.php(116): FOO\Model->create()
#3 /var/www/411/bin/create_user.php(31): FOO\Model->store()
#4 {main}
thrown in /var/www/411/phplib/DB.php on line 97

Opps, we were missing a few fields in the schema. Pull + apply one more time. 🎱

Did that and it is fixed. Thanks again! Now I am getting this error when I login to site:
except [NONE] PDOException: "SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' "unixepoch") as date, action, COUNT(*) as count FROM alert_logs INNER J' at line 1" at [/var/www/411/phplib/DB.php:97] 0:[PDOStatement->execute() called at [/var/www/411/phplib/DB.php:97]] 1:[FOO\DB::query() called at [/var/www/411/phplib/REST/Dashboard.php:59]] 2:[FOO\Dashboard_REST->GET() called at [/var/www/411/phplib/REST.php:107]] 3:[FOO\REST->route() called at [/var/www/411/htdocs/api/dashboard.php:6]], referer: http://test.test.com/

Also - tried creating new search (ping) and got this:
PDOException: "SQLSTATE[42S02]: Base table or view not found: 1146 Table '411.search_filters' doesn't exist" at [/var/www/411/phplib/DB.php:97] 0:[PDOStatement->execute() called at [/var/www/411/phplib/DB.php:97]] 1:[FOO\DB::query() called at [/var/www/411/phplib/Model.php:494]] 2:[FOO\ModelFinder::getByQuery() called at [/var/www/411/phplib/Element.php:134]] 3:[FOO\ElementFinder::getBySearch() called at [/var/www/411/phplib/Search.php:358]] 4:[FOO\Search->getFilters() called at [/var/www/411/phplib/Job/Search.php:66]] 5:[FOO\Search_Job->_run() called at [/var/www/411/phplib/REST/Searches.php:158]] 6:[FOO\Searches_REST->test() called at [/var/www/411/phplib/REST/Searches.php:58]] 7:[FOO\Searches_REST->POST() called at [/var/www/411/phplib/REST.php:108]] 8:[FOO\REST->route() called at [/var/www/411/htdocs/api/searches.php:6]], referer: http://test.test.com/searches/new?type=ping

Hmm, that's an incompatibility between MySQL and SQLite. Can you create a new ticket for just this issue? The rest of 411 should work fine otherwise.

Sorry - are you referring to the first error?

except [NONE] PDOException: "SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' "unixepoch") as date, action, COUNT(*) as count FROM alert_logs INNER J' at line 1" at [/var/www/411/phplib/DB.php:97] 0:[PDOStatement->execute() called at [/var/www/411/phplib/DB.php:97]] 1:[FOO\DB::query() called at [/var/www/411/phplib/REST/Dashboard.php:59]] 2:[FOO\Dashboard_REST->GET() called at [/var/www/411/phplib/REST.php:107]] 3:[FOO\REST->route() called at [/var/www/411/htdocs/api/dashboard.php:6]], referer: http://test.test.com/

Yup.

What about the second one?

PDOException: "SQLSTATE[42S02]: Base table or view not found: 1146 Table '411.search_filters' doesn't exist" at [/var/www/411/phplib/DB.php:97] 0:[PDOStatement->execute() called at [/var/www/411/phplib/DB.php:97]] 1:[FOO\DB::query() called at [/var/www/411/phplib/Model.php:494]] 2:[FOO\ModelFinder::getByQuery() called at [/var/www/411/phplib/Element.php:134]] 3:[FOO\ElementFinder::getBySearch() called at [/var/www/411/phplib/Search.php:358]] 4:[FOO\Search->getFilters() called at [/var/www/411/phplib/Job/Search.php:66]] 5:[FOO\Search_Job->_run() called at [/var/www/411/phplib/REST/Searches.php:158]] 6:[FOO\Searches_REST->test() called at [/var/www/411/phplib/REST/Searches.php:58]] 7:[FOO\Searches_REST->POST() called at [/var/www/411/phplib/REST.php:108]] 8:[FOO\REST->route() called at [/var/www/411/htdocs/api/searches.php:6]], referer: http://test.test.com/searches/new?type=ping

https://github.com/etsy/411/issues/37 --> for the first error.

Another schema change. (Sorry, the schema we were using for MySQL was slightly different)

Almost there I think. New error now:

Hopefully the last one.

Ok, this works! I was able to schedule new job but now this:
/var/www/411/bin/cron.php
[+] Scheduler:<PHONE_NUMBER>
[+] Maintenance
PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error' in /var/www/411/phplib/DB.php:118
Stack trace:
#0 /var/www/411/phplib/DB.php(118): PDOStatement->fetchAll(2)
#1 /var/www/411/phplib/Element.php(146): FOO\DB::query('UPDATE `search_...', Array)
#2 /var/www/411/phplib/Scheduler.php(318): FOO\ElementFinder::reap(1475528923)
#3 /var/www/411/phplib/Scheduler.php(142): FOO\Scheduler->maintenance(1475528923)
#4 /var/www/411/bin/cron.php(45): FOO\Scheduler->processSite(Object(FOO\Site),<PHONE_NUMBER>, false)
#5 {main}
thrown in /var/www/411/phplib/DB.php on line 118
err [411_Scheduler] Scheduler error site:[1] ret:[65280]

Sorry - one more (now with Logstash search):
PHP Fatal error:  Call to undefined function ESQuery\mb_regex_encoding() in /var/www/411/vendor/kiwiz/esquery/src/Parser.php on line 3796, referer: http://awslxprod063.spottrading.com/searches/new?type=logstash

Do you have mbstring enabled?

The DB error is pretty vague. Can you grab the query actually being sent to the db?

So Logstash was fixed by installing php-mbstring (missed it somehow).
As far as /var/www/411/bin/cron.php - let me try to get the full string for you.

One more error unfortunately: When I click on Feed under Alerts tab I get:
except [NONE] PDOException: "SQLSTATE[42S02]: Base table or view not found: 1146 Table '411.alert_logs' doesn't exist" at [/var/www/411/phplib/DB.php:97] 0:[PDOStatement->execute() called at [/var/www/411/phplib/DB.php:97]] 1:[FOO\DB::query() called at [/var/www/411/phplib/Model.php:494]] 2:[FOO\ModelFinder::getByQuery() called at [/var/www/411/phplib/REST/Models.php:120]] 3:[FOO\Models_REST->read() called at [/var/www/411/phplib/REST/Models.php:279]] 4:[FOO\Models_REST->GET() called at [/var/www/411/phplib/REST.php:107]] 5:[FOO\REST->route() called at [/var/www/411/htdocs/api/alertlogs.php:6]],

I fixed alert_logs error by rename table alertlogs to alert_logs. Could you fix I it in MySQL script?

Remaining ones should be fixed.

Got full output of the error when I run /var/www/411/bin/cron.php. Does this help?
array(5) {
[0]=>
array(6) {
["file"]=>
string(26) "/var/www/411/phplib/DB.php"
["line"]=>
int(118)
["function"]=>
string(8) "fetchAll"
["class"]=>
string(12) "PDOStatement"
["type"]=>
string(2) "->"
["args"]=>
array(1) {
[0]=>
int(2)
}
}
[1]=>
array(6) {
["file"]=>
string(31) "/var/www/411/phplib/Element.php"
["line"]=>
int(146)
["function"]=>
string(5) "query"
["class"]=>
string(6) "FOO\DB"
["type"]=>
string(2) "::"
["args"]=>
array(2) {
[0]=>
string(147) "UPDATE search_filters SET archived = 1 WHERE site_id = ? AND archived = 0 AND lifetime > 0 AND ? >= (create_date + lifetime * 60 - 5)"
[1]=>
array(2) {
[0]=>
int(1)
[1]=>
int(1475596920)
}
}
}
[2]=>
array(6) {
["file"]=>
string(33) "/var/www/411/phplib/Scheduler.php"
["line"]=>
int(318)
["function"]=>
string(4) "reap"
["class"]=>
string(17) "FOO\ElementFinder"
["type"]=>
string(2) "::"
["args"]=>
array(1) {
[0]=>
int(1475596920)
}
}
[3]=>
array(6) {
["file"]=>
string(33) "/var/www/411/phplib/Scheduler.php"
["line"]=>
int(142)
["function"]=>
string(11) "maintenance"
["class"]=>
string(13) "FOO\Scheduler"
["type"]=>
string(2) "->"
["args"]=>
array(1) {
[0]=>
int(1475596920)
}
}

@AGirin Might be fixed via #41.

I confirm. This is fixed! Thanks a lot for all the help. I am closing the ticket.


drivers: modem: Add support for different line endings

LGTM.  Let's get this in and I'll rebase https://github.com/zephyrproject-rtos/zephyr/pull/22149 on top.


Move test and experimental files outside of production code

Current the test and training files live inside of the production code. Move the files outside of the production folder proxyllm.

Closed


DRM protected streams won't play

Bug description:
I am having issues with DRM protected streams
When playing it gives the error "DRM: Keysystem Access Denied! -- key system access  unsupported keysystem or supportedConfigurations"
To Reproduce:
Use this url as source: https://www.npostart.nl/live/npo-1 and then click on the play icon
No parameters whatsover just the source
Expected behavior:
That the stream would simply play like it does in Chrome itself.
Environment:

OS: Android
OS version: 7.0
react-native version: 0.63.3
react-native-webview version: 7.6.0

I'm having the same issue

@mustafakameldev It should be working in the latest release from what i can see, if not check these changes that fixed it for me back in the day
https://github.com/react-native-webview/react-native-webview/pull/1862/commits/e115357d70ab900f1748671ebec78bc4c68dc30b

I'm having the same problem, it's crazy that I can't find a solution either from DRM or react-native-webview. I have tried everything both on Android and IOS.


From Help Ticket

INC0763158
Two feature requests:

Allow people API to pull all People Data: supervisor, category, etc
Create another access role for editing people. Because admin assistants often need to update people's profiles (especially after importing 300 people with no contact information), we are reluctant to give them Departmental Admin access to do so.

Ooooohhh.....PeopleMaster seems like a really bad name!

@jcubbage 1 shouldn't be a problem, Just add those fields to the model and populate them?

@jSylvestre  has 1) covered.
@jcubbage  will take 2)


'apns-expiration' header is not honoured

We have been using this client to send notifications through APNS to iPhones.
Here is the client and the send_notification function
apns_client = APNsClient(settings.APNS_CERT_PATH, use_sandbox=True, use_alternative_port=False)
results = apns_client.send_notification_batch(notifications, APPID_IOS, expiration=ttl, collapse_id=apns_collapse_id)
We have a specific requirement where we require the notification to be expired 45 seconds post sending. However, the expiration time as such is not honoured. We ran a test scenario where we sent a notification to a device while it was offline, and we brought it up online after 55 seconds. The notification still reached, even though the expiration time was set at 45 seconds.
Along with that, we have also been experimenting with notifications with apns-expiration = 0. According to Apple's documentation

If the value is 0, APNs treats the notification as if it expires immediately and does not store the notification or attempt to redeliver it.

However, when we sent out a notification to a device which we brought online 10 seconds after sending it out, the notification still reached, even though expiration was set to zero.
Is there something we are missing? Or is it something on the side of APNS? Any help would be greatly appreciated.
Thanks in advance.
Python Version - 3.5.1

I'm not sure, but maybe this header is used only if first delivery is failed (e.g. device suddenly became unavailable). But for the first delivery, there is a different rule:

If APNs attempts to deliver a notification and the destination device is offline, APNs stores the notification for a limited period of time and delivers it when the device becomes available again. This component stores only the most recent notification per device and per app.

Also, expiration header requires timestamp after which notification is no longer relevant instead of ttl


[WIP] Ansible Service Provisioning - add my_zone.

Zones are not usually specified for Service provisioning. It makes sense for Ansible Services to have the zone of the playbook manager.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1582200

Looks good.  Just needs specs.

@miq-bot remove_label wip

@gmcculloug Added specs, please review.

Marking as wip.  This change may not be needed as the root cause appears be related to trying to access Embedded Ansible on the wrong url.

@miq-bot add_label blocker


SSH daemon has debug logging

Home Assistant release with the issue:
Hassio: 0.88.0
Component/platform:
HassOS: 2.8
board: rpi3
SSH Server: 5.1
Description of problem:
In the ssh daemon configuration, debug logging is enabled:
LogLevel DEBUG

This results in this line being output every time one connects:
debug1: permanently_set_uid: 0/0

And this in turn breaks backuppc from being able to connect to make a backup and other ssh based automations.
Is it possible to set LogLevel to INFO?

Image: homeassistant/raspberrypi2-homeassistant
HassOS: 2.1
Home Assistant version: 0.91.3
Hass.io add-on: SSH server
I encountered this problem on the latest version when I tried to execute the following command from a non-hassio linux host ('hassio' is the name of the host on which I'm running hassio):
ssh hassio ls -ld /config/`

That gave me the following output:
debug1: permanently_set_uid: 0/0
drwxr-xr-x    7 root     root          4096 Apr 14 15:39 /config/

The first line ("debug1:...") appears to be extraneous debug output coming from the current installation's sshd server add-on.
I was able to somewhat work around that by redirecting stderr to /dev/null like this:
ssh hassio ls -ld /config/ 2>/dev/null

This problem still exists.


App Engine Compatibility

Google App Engine requires threads be made via the ThreadManager API.  Because geofire-java does not currently use it, geofire-java is incompatible with GAE.  This PR adds a new type of EventRaiser that uses the ThreadManager background ThreadFactory to create threads.
Because I have not yet figured out how to import a fork of a Maven module into a GAE service module, I have not been able to test this change. I invite any feedback you have, or even better, instructions on how to test this for myself.

I was able to test this by copying everything from  src/main/java/com/firebase straight across into my own project, and the AppEngineEventRaiser did work as expected.  However, the the try/catch part for choosing which EventRaiser to use didn't compile.  I wouldn't recommend merging this PR directly in, but I'll leave it open to hold the code for the AppEngineEventRaiser.

@jonahbron thanks for doing that testing and for reporting back on what happened.

@jonahbron this is a really old PR so I am going to close it (your suggestion was not to merge it).  We appreciate your taking the time to send it though!


SSL_free() breaks sessions obtained via SSL_get1_session()

There is a SSL connection active. I do
SSL_get1_session()
and use the returned session in another connection. SSL-session resumption works.
If the SSL connection does
SSL_shutdown()
SSL_free()
then the session can still be used in another connection, SSL-session resumption works.
Now, if I miss or skip SSL_shutdown() and perfm only SSL_free() then the retrieved session can no be reusued in a later SSL connection, SSL-session resumption won't work.
It seems that SSL_shutdown() before SSL_free() is required otherwise the session is somehow broken.
This wasn't like that in 1.02 seems to be new in 1.1.
Is this behavior expected? I would expect  a session with a refcounter to remain persistent untill it there is no valid reference to it.

This is the result of ssl_clear_bad_sessions() being conditionally called from SSL_free() (based on whether it has been shutdown cleanly):
int ssl_clear_bad_session(SSL *s)
{
    if ((s->session != NULL) &&
        !(s->shutdown & SSL_SENT_SHUTDOWN) &&
        !(SSL_in_init(s) || SSL_in_before(s))) {
        SSL_CTX_remove_session(s->session_ctx, s->session);
        return 1;
    } else
        return 0;
}

There is some text in the spec about sessions not being reusable if the connection is aborted by the peer that makes this behavior justifiable, but it is not entirely clear that it's actually the best behavior for us to have.

This should be at least documented.
What means aborted? Not shutdown properly like in this case, switched timeout/error on an active connection (like by switching from WIFI to mobile and the old IP is gone) or something within the SSL specification?

This wasn't like that in 1.02 seems to be new in 1.1.

The code in question is there in both 1.0.2 and 1.1.0+. My tests indicate that it gets triggered in the same way in both branches, i.e. it doesn't look to me like the behaviour has changed.
I updated the docs in PRs #6053, #6054.

On 2018-04-23 10:32:58 [+0000], mattcaswell wrote:

This wasn't like that in 1.02 seems to be new in 1.1.

The code in question is there in both 1.0.2 and 1.1.0+. My tests
indicate that it gets triggered in the same way in both branches, i.e.
it doesn't look to me like the behaviour has changed.

I debuged this in netkit-ftp-ssl [0]. So this triggered in Debian and
the openssl version, that I used for testing, should have been 1.0.2m.
So this version worked, while the 1.1 version at the time did not. So
based on this, something changed.
I didn't test 1.0.2o but I have no reason to believe that it changed but
I can double check today if you want me to.

I updated the docs in PRs #6053, #6054.
Thank you.

[0] https://bugs.debian.org/859224
Sebastian

I debuged this in netkit-ftp-ssl [0]. So this triggered in Debian and
the openssl version, that I used for testing, should have been 1.0.2m.
So this version worked, while the 1.1 version at the time did not. So
based on this, something changed.

My best guess is that something else changed between 1.0.2 and 1.1.0 that caused this behaviour to trigger in one case but not the other. I couldn't say what.


[website] Amir’s email from May 9th regarding the configuration he used to cause an internal server error.

TODO: pull the graphs from that email and stick them here

This is the config Amir used:
{
  "name": "Subprefix Hijack",
  "desc": "Subprefix hijack with custom announcements",
  "scenario": null,
  "announcements": [
    {
      "prefix": "<IP_ADDRESS>/16",
      "as_path": [
        777
      ],
      "seed_asn": 777
    },
    {
      "prefix": "<IP_ADDRESS>/24",
      "as_path": [
        666
      ],
      "seed_asn": 666
    }
  ],
  "roas": [
    {
      "prefix": "<IP_ADDRESS>/16",
      "origin": 777
    }
  ],
  "attacker_asns": [
    666
  ],
  "victim_asns": [
    1
  ],
  "graph": {
    "cp_links": [
      [
        999,
        2
      ],
      [
        2,
        1
      ],
      [
        3,
        666
      ],
      [
        4,
        999
      ],
      [
        4,
        3
      ],
      [
        2,
        666
      ],
      [
        3,
        5
      ]
    ],
    "peer_links": [
      [
        2,
        3
      ]
    ]
  },
  "asn_policy_map": {
    "1": "aspa",
    "2": "aspa",
    "3": "aspa",
    "4": "aspa",
    "5": "aspa"
  },
  "propagation_rounds": 1
}

This causes a KeyError in the SimulationEngine because there is an announcement for AS 777, which does not exist in the graph. We should catch this on the backend and return an error to the client before a simulation can be ran

Agreed, although how is the scenario null in this case? Is that expected
here?
On Mon, May 13, 2024 at 11:32 AM Arvind @.***> wrote:

This is the config Amir used:
{
"name": "Subprefix Hijack",
"desc": "Subprefix hijack with custom announcements",
"scenario": null,
"announcements": [
{
"prefix": "<IP_ADDRESS>/16",
"as_path": [
777
],
"seed_asn": 777
},
{
"prefix": "<IP_ADDRESS>/24",
"as_path": [
666
],
"seed_asn": 666
}
],
"roas": [
{
"prefix": "<IP_ADDRESS>/16",
"origin": 777
}
],
"attacker_asns": [
666
],
"victim_asns": [
1
],
"graph": {
"cp_links": [
[
999,
2
],
[
2,
1
],
[
3,
666
],
[
4,
999
],
[
4,
3
],
[
2,
666
],
[
3,
5
]
],
"peer_links": [
[
2,
3
]
]
},
"asn_policy_map": {
"1": "aspa",
"2": "aspa",
"3": "aspa",
"4": "aspa",
"5": "aspa"
},
"propagation_rounds": 1
}
This causes a KeyError in the SimulationEngine because there is an
announcement for AS 777, which does not exist in the graph. We should catch
this on the backend and return an error to the client before a simulation
can be ran
—
Reply to this email directly, view it on GitHub
https://github.com/jfuruness/bgpy_pkg/issues/130#issuecomment-2108017037,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHP5F7UCLR3WFKHFOQLNB7TZCDMHXAVCNFSM6AAAAABHTGCGB2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBYGAYTOMBTG4
.
You are receiving this because you authored the thread.Message ID:
@.***>

Yeah, that just means it's using a custom scenario (i.e., announcements and ROAs)

Agreed. Custom scenario is now "CustomScenario" in the config and the website will not let create an announcement for an AS that is not on the graph

clicking the edit announcement and then announcing AS causes the box to move for some weird reason


cant change default disposeTimeout value

ive tried passing it as a string or as a number but it disappears (from what it looks based on the documentation) from dom only after 5s, and not for example after 1 second

also not working in 1.0.0-beta.19 version. There's no disposeTimeout prop, either


SQRL [🚀]

:rocket: Feature request
Description
Allow user registration/authentication via SQRL.

See https://sqrl.grc.com/threads/websites-that-could-use-help-adopting-sqrl.1093/#post-9108

I would like to take this up

Might not be possible to implement SQRL after all, because I was told that it only works with HTTPS. Maybe there's a way to cheat that, but if the SQRL clients don't accept the server-side unencrypted, it's game over for this authentication option.

Feel free to do some research on if it might still be possible, though. The Node.js implementations are pretty scarce so far, though. I wouldn't put my hopes up too much.

What about self signed certificates?
https://github.com/erikma/passport-sqrl/


[WIP] Shared Component Library Docs

This PR:

[x] Adds an example of moving TanStack Form into your own shared component library
[ ] Adds the docs to explain what the example is doing

One thing I am running into with this branch, field.state.value seems to always be string. If you have something else as the value you run into a world of pain. What is the best course of action for field values that are not string?

One thing I am running into with this branch, field.state.value seems to always be string. If you have something else as the value you run into a world of pain. What is the best course of action for field values that are not string?

How are you defining your component?
function TextInputField<
  TFormData extends unknown,
  TName extends DeepKeyValueName<TFormData, string>,
>

Here you can change string to your data type

Ended up doing this, which is stupid, but works.
type ExpirationSelectFieldProps<
  Key extends string,
  TFormData extends { [K in Key]: ExpirationItem | null },
  TName extends DeepKeyValueName<TFormData, ExpirationItem>,
> = Omit<FieldOptions<TFormData, TName>, 'name'> & {
  name: Key
  form: ReactFormApi<TFormData, any> & {
    state: FormState<TFormData>
  }
  selectProps?: Omit<ComponentProps<typeof Select>, 'onChange' | 'value'> & {
    label?: string
    placeholder?: string
    inputWrapperClassName?: string
  }
  symbol: string
}

export function ExpirationSelectField<
  Key extends string,
  TFormData extends { [K in Key]: ExpirationItem | null },
  TName extends DeepKeyValueName<TFormData, ExpirationItem>,
>(props: ExpirationSelectFieldProps<Key, TFormData, TName>) { ... }

I was also working on integrating it more smoothly, i.e. abstracting the boiler plate and allowing to make custom components of it. This is my first POC, works for my side project now. Any feedback / suggestions / improvements are always welcome.
Usage:
// app/SomeForm.tsx
import { FieldInput, Form } from "../lib/form/Form"
export const SomeForm = () => {

    const form = useForm({
        defaultValues: {
            name: '',
            id: '',
        }
    })

    return (
        <Form onSubmit={form.handleSubmit}>

                <FieldInput formT={form} name="name" placeholder="Name" />
                <FieldInput formT={form} name="id" placeholder="ID" />
                <button type="submit">Add</button>

        </Form>
    )
}

Abstract form components created to reduce boiler plate and allow for custom custom form components  with @tanstack/form:
// lib/form/Form.tsx
import { DeepKeys, FieldApi, useForm } from '@tanstack/react-form'

export const Form: React.FC<React.FormHTMLAttributes<HTMLFormElement>> = ({
    children,
    ...props
}) => {
    return (
        <form
            {...props}
            onSubmit={(e) => {
                e.preventDefault()
                e.stopPropagation()
                if (props.onSubmit) {
                    props.onSubmit(e)
                }
            }}
        >
            {children}
        </form>
    )
}

export const FieldInfo = ({ field }: { field: FieldApi<any, any, any, any> }) => {
    return (
        <>
            {field.state.meta.isTouched && field.state.meta.errors.length ? (
                {field.state.meta.errors.join(',')}
            ) : null}
            {field.state.meta.isValidating ? 'Validating...' : null}
        </>
    )
}

export const FieldInput = <TFormData, TNames extends DeepKeys<TFormData>>({
    formT,
    name,
    ...props
}: {
    formT: ReturnType<typeof useForm<TFormData, any>>
    name: TNames
} & React.InputHTMLAttributes<HTMLInputElement>) => (
    <formT.Field<TNames, any, any> name={name}>
        {(field) => (
            <>
                <input
                    value={field.state.value}
                    onChange={(e) => field.handleChange(e.target.value)}
                    onBlur={field.handleBlur}
                    className="w-full rounded-md border border-gray-300 px-4 py-2 transition duration-200 ease-in-out focus:border-transparent focus:outline-none focus:ring-2 focus:ring-blue-500"
                    {...props}
                />
                <FieldInfo field={field} />
            </>
        )}
    </formT.Field>
)

This works so far, but I might want to look into your solution @crutchcorn, with DeepKeyValueName, what's still going wrong (as it seems it's not merged)?


PFM hook possible fixes when used along with IBC-hook?

Hello, what is planned fix for  https://github.com/SCV-Security/responsible-disclosures/blob/main/SCV - Responsible Disclosure - PFM and IBC-hooks.pdf   ?
I though of all fixes I can do in contract with all data available, the only fix CW developer can do is signed token inside packet, but without ZK this is dead end for IBCing high gas cost chains with different signature schemes.
Planned fix would help to write code the way anticipating that fix to happen.
Thank you
### Tasks

https://github.com/cosmos/ibc-apps/issues/68


colorized prettyprint of JS in PXT docs

Let's make the JS look very nice in the docs. This is what it looks like now:

Resolved as of this commit. Syntax highlighting is done with the highlight.js library and is done server side. The colouring scheme is the same as Visual Studio.


Allow bridge components to load from capi release with -b flag

This allows the CAPI pipeline to use the latest versions of the bridge components from capi release.

Thanks, @sax! Looks good, prioritized for the Diego team to pull in shortly.
Best,
Eric

Merged as https://github.com/cloudfoundry/diego-release/commit/caf41f01cbebce712893785482775599b5a8acb3.


Chunked padded batching on Python server

What does this PR do?
Pads the batch to the $2^{\lceil log_2 \rceil}$ of the maximum token length input in a batch received by the Python server. This minimizes the number of graph recompilations significantly through caching based on input size. The minimum padding amount can be adjusted using the --python-min-padding flag or setting the environment variable PYTHON_SERVER_MIN_PADDING to the desired minimum padding (default: 128).
Benchmarks
Setup:

Batches of 32 (Maximum allowed)
40 batches sent sequentially
Sentences randomized with same seed to allow for reproducibility

Sentence size (words)
Min padding
Time per batch /w padding (ms)
Total time /w padding (s)
Time per batch /wo padding (ms)
Total time /wo padding (s)

5-50
32
~ 8.6 - 11.5
9.15
~280 - 2200
101

10-510
128
~17.1 - 40
8.86
~960 - 4800
139

Note: Time per batch excludes outlier timings and warmup period (first ~10 batches).
Setup:

Single batches
40 requests sent sequentially
Sentences randomized with same seed to allow for reproducibility

Sentence size (words)
Min padding
Time per batch /w padding (ms)
Total time /w padding (s)
Time per batch /wo padding (ms)
Total time /wo padding (s)

5-50
32
1.45 - 1.9
2.04
~1.9 - 2000
56.1

10-510
128
1.9 - 2.7
0.621
~240
23.6

Note: Time per batch excludes outlier timings and warmup period (first ~10 batches).

Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[x] Did you read the contributor guideline,
Pull Request section?
[ ] Was this discussed/approved via a Github issue or the forum? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines, and
here are tips on formatting docstrings.
[ ] Did you write any new necessary tests?

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

@regisss

@regisss , Hi, please help review this PR. Thx!


bug(navigation) Ionic V3 Lazy Loading + DeepLinking with ion-tab don't work after the browser page is refreshed

Ionic version:  (check one with "x")
[ ] 1.x
[ ] 2.x
[X] 3.x
I'm submitting a ...  (check one with "x")
[X] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:

I have followed the steps suggested to set up lazy loading of pages and pipes. It works as expectedly on Google Chrome. However, when I hit the refresh button, there seems to be something wrong with deeplinking and ion-tab's cleanup function(see the error message). It cannot reload the page unless I recompile the code
Expected behavior:

Hitting the refresh button on Google Chrome should produce the same result as loading the app from the beginning
Steps to reproduce:

The landing page of the app is a tab-ion directive. All the tabs are lazy loaded. After refreshing the page on a browser, the app won't work at all.
Related code:
Other information:

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
Cordova CLI: 6.5.0
Ionic Framework Version: 3.0.0-beta.3
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.2.5-201704040558
ios-deploy version: 1.9.1
ios-sim version: 5.0.13
OS: OS X El Capitan
Node Version: v7.3.0
Xcode version: Xcode 8.2.1 Build version 8C1002

Error messages:
TypeError: Cannot read property 'indexOf' of null
    at Tab.NavControllerBase._cleanup (http://localhost:8100/build/main.js:63214:59)
    at Tab.NavControllerBase._transitionFinish (http://localhost:8100/build/main.js:63116:18)
    at t.invoke (http://localhost:8100/build/polyfills.js:3:14529)
    at Object.onInvoke (http://localhost:8100/build/main.js:4499:37)
    at t.invoke (http://localhost:8100/build/polyfills.js:3:14469)
    at n.run (http://localhost:8100/build/polyfills.js:3:9741)
    at NgZone.run (http://localhost:8100/build/main.js:4368:62)
    at Array.<anonymous> (http://localhost:8100/build/main.js:63064:25)
    at MDTransition.Animation._didFinish (http://localhost:8100/build/main.js:36299:29)
    at MDTransition.Animation._playProgress (http://localhost:8100/build/main.js:35638:18)
    at MDTransition.Animation._playDomInspect (http://localhost:8100/build/main.js:35603:14)

I posted on this thread also:

ionic forum thread

Hello, thanks for using Ionic! Do you have a repo we could use to reproduce this issue?

thank you. I will compare and see. The setup looks quite similar at the moment.
Btw, I discovered another issue for conference app. When you refresh at the map page, you will see the following issue:
ReferenceError: google is not defined
at SafeSubscriber._next (http://localhost:8100/build/main.js:45408:27)
at SafeSubscriber.__tryOrUnsub (http://localhost:8100/build/main.js:40452:16)
at SafeSubscriber.next (http://localhost:8100/build/main.js:40401:22)
at Subscriber._next (http://localhost:8100/build/main.js:40343:26)
at Subscriber.next (http://localhost:8100/build/main.js:40307:18)
at MapSubscriber._next (http://localhost:8100/build/main.js:81167:26)
at MapSubscriber.Subscriber.next (http://localhost:8100/build/main.js:40307:18)
at MapSubscriber._next (http://localhost:8100/build/main.js:81167:26)
at MapSubscriber.Subscriber.next (http://localhost:8100/build/main.js:40307:18)
at XMLHttpRequest.onLoad (http://localhost:8100/build/main.js:58552:38)
at t.invokeTask (http://localhost:8100/build/polyfills.js:3:15213)
at Object.onInvokeTask (http://localhost:8100/build/main.js:4415:37)
at t.invokeTask (http://localhost:8100/build/polyfills.js:3:15134)
at n.runTask (http://localhost:8100/build/polyfills.js:3:10390)
at XMLHttpRequest.invoke (http://localhost:8100/build/polyfills.js:3:16170)

I somehow able to reproduce it on the conference app by setting break points on some of the lines in isActive function of app.component.ts. Specifically, I set break points at line "if (childNav)" of that function. It seems to be loading the components. After resuming execution and stepping over for a while (I removed the break points in the middle of the process), I got into the error page which affects my app.
On the other hand, clicking the refresh button only causes this error once in a while less than 5% but it did happen.
However, on my app, it happens almost every time refresh button is clicked. The lazy loading part is setup is similar to what you have on the conference page.

Hi Justin, is there any update on this? Thanks!

Hello @Jun711 , sorry for the delay. We are currently working on hardening the NavController for lazy loading and you can expect some improvements in the next release. Unfortunately, because there does not seem to be a hard repro case for this issue at the moment I am going to close this issue for now.

same issue

Hi @jgw96 After updating to 3.2.0, it seems to be working.


Simple example

Create a short script (vignette) showing how a user can import a configuration file and parent-child table (both of which could be created or modified by hand), read in PTAGIS detections and generate output to prepare for DABOM. Describe how a user might create or modify those 2 files by hand.

created a "quick_prep" vignette that meets this requirement


Prevent datagram fragmentation during first registration

In case the data size of a registration exceeds the 1510 bytes, the datagram in the IPv6 stack will be fragmented. If the client device has not communicated with its destination device before (in this case the server), fragments will be dropped until the address resolution is finished. See also [https://github.com/ARMmbed/sal-stack-nanostack/issues/11#issuecomment-215640678].
The CoAP retry by re-sending the complete registration datagram will recover from the fragment drop. I would propose to avoid fragmentation and split up datagram in the multiple CoAP messages.

Hi, This needs to be checked on end-to-end level because mbed-client supports Blockwise CoAP message transfer but this is a unique case where the initial registration message is fragmented, so it can be issue from server side as well if it is not handling this use case.
We will check this and get back with fix proposal.

Off-topic from mbed-client, but I'll respond to the initial report here.
To pin down the issue a little tighter - it's not a client->destination association issue. It's more precisely:
"If any of the nodes on the path from the client to the destination have not communicated with their next-hop node before, fragments may be dropped until their address resolution for the next hop is finished."
So you shouldn't see this with every node start up on a 6LoWPAN mesh. All nodes after the first should find the path to the common server clear, as all nodes across the mesh to the border router have definitely got their links up, and the border router will have a path to the server.
Multiple nodes on Ethernet would show the issue, as each of them would need to do their own resolution.
In that case, if the server's not local, then if you could ensure the Ethernet segment's default router includes the Source Link-Layer Address option in its Router Advertisements, you could avoid the need for resolution.
DTLS would also side-step the issue, as the DTLS handshake would be small packets.

ARM Internal Ref: IOTCLT-727

Hi Ed,
We have published fixes for blockwise operation. Could you try is your use case working any better now? Fixes are in yotta so yotta up should fetch the changes.
Thanks,
Antti

Hello,
These are the versions I have used to test:
|_ mbed-client 1.12.2
| |_ mbed-client-c 2.7.1 yotta_modules\mbed-client-c
| | _ nanostack-libservice 3.5.1 yotta_modules\nanostack-libservice
| |_ mbed-trace 1.1.3 yotta_modules\mbed-trace
| |_ mbed-client-mbed-os 3.0.0 yotta_modules\mbed-client-mbed-os
But unfortunately I still see fragmentation on the Ethernet layer and not in the CoAP layer. Do I need to enable the blockwise implementation in a config file?

Hi, blockwise feature is disabled by default so you need to add following flag in config.json.
"coap_max_blockwise_payload_size": 1024
Acceptable values for the coap_max_blockwise_payload_size flag are:
0, 16, 32, 64, 128, 256, 512 and 1024. Value 0 means that the feature is not used.
https://docs.mbed.com/docs/mbed-client-guide/en/latest/Introduction/

Hi Ed,
Is this duplicate to one you created in mbed-client-c repository?
https://github.com/ARMmbed/mbed-client-c/issues/52
If so maybe we can close this one.

Indirectly yes. The mbed-client code of LWM2M is not responsible for the "invalid payload bytes #52".
I assume that if a fix is required in CoAP, this is will be done in mbed-client-c and not in the mbed-client one. That's why I created a new issue in this repository. Also to keep issue reports clean and not stacking of issues in one report. Thanks.


update rapids dependencies to 23.4

left spark rapids jar version at 23.02 as it is not yet updated to 23.04 in maven central
ran tests and benchmark ci docker image and on Databricks

build


WorldWind movement occurs when map is locked

Create a line and enter edit mode. In this mode the map locks on mouse down and over a feature.
Click on a feature point and try to "whip" the map. If done fast enough, the map will move despite it being locked. If you do it slow, the map behaves as required.

Found in the fix for Issue 221.

Still a small issue with the mouse exiting the canvas while editing
Being tracked in NASAWorldWind/WebWorldWind#107

For testing if the cursor leaves the map area while in smartMotion the dragging will still happen

Rapid motion within the map should not cause the map to start dragging
SmartMotion edting should have the control point move with the map

the icon will not show up consistently yet but a white pixel will track the location

Tested and the issue is still there.

Fixed issue by calling preventDefault for all event mouse moves . Some browser duplicate move events and the duplicated one was the one causing the issue. fixed and merged in Dev branch.


[Payment card / Subscription] Implement “Subscription size” action

Drafting cc @fabioh8010

Hi, I'm Fábio from Callstack - expert agency - and I would like to work on this issue.

I am Michał from Callstack - expert contributor group. I’d like to work on this job.

@MitchExpensify I'm not sure what to do with this issue. Are you working with Michał? If you're not, are we ready to implement this? Do we need to share some info with Michał on what we need for implementation?

@fabioh8010 What should the body of this issue be?

@sonialiap @MitchExpensify This issue is covering this section of the Subscriptions doc.
@MrMuzyk are you working on this, right? Could you provide some update? Thanks!

Yes, this got unblocked recently and I was planning on implementing this today

Assigning @allroundexperts for the review. :)

@MrMuzyk can you help me update the body of this issue by pointing to the exact part of the doc that we're covering here? Thanks

@MitchExpensify Yeah, its this part

Payment summary:

@allroundexperts C+ $250 - please request in ND

$250 approved for @allroundexperts


Return Raw Apple Pay Response

We would like to be able to capture the Apple Pay payment method's displayName, which is contained in the response from the Apple Pay sheet.
https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypaymentmethod/1916110-displayname
It is contained in the response variable at:
response.details.token.paymentMethod.displayName

This is helpful for our customers as it reflects the brand name and last 4 digits of their actual card, and not the card number associated with the device (which end users generally do not recognize).
Would you be open to returning the entire response object as proposed here? Or some other version of this? I'm happy to make changes!

Simple, yet powerful :) Thanks John!


edit item in list should happen in row not in the top

as a owner you should be able to edit basic properties in row for an item


6 option for the block placer and breaker?

Describe the feature you'd like to have added
An all-sides option would help automate blocks like Certus quarts and other modded blocks including the Goos.
Additional information
No response

I'm not sure you understand what the direction button does - it doesn't specify which blocks can be broken, it specifies which direction the breaking occurs from :).  If you want to automate certus/goos use the Advanced block breaker.


Get package's internal managed fields for a validation

Hello,
I'm developing a blog and found me with the next situation:
y: Can happen
n: Can't happen

post_id
slug
locale
result

1
hellow-world
en
y

1
hellow-world
es
y

2
hellow-world
de
n

I made a custom validator wich checks for a composite unique rule for slug+locale making posible to occur the insert of 2nd register after the 1st, but it also allows to insert the 3rd.
I noticed that I have to check that FK post_id is indeed same as previous existing registers for allowing insert.
Laravel-Translatable manages this field in background, so I can't get the value of the FK field through the Request object in validation.
How can I get package's internal managed fields like mentioned FK? or what workaround should I approach for making my validation?
Thanks.

How do you save the translations? Do you save them by putting them on the Main-Model? If yes there is your FK as PK.
The package doesn't use any magic - it's just using normal eloquent relationship.

And do you use the default unique rule?
https://laravel.com/docs/5.6/validation#rule-unique
Adding Additional Where Clauses
'email' => Rule::unique('post_translations')->where(function ($query) use ($request) {
    return $query->where('locale', $request->get('locale'))->where('post_id', $request->get('post_id'));
})

Just a fast try

I made a custom validator extending from Laravel's default one.
In it, I iterated over Request elements and stored those in an array wich is passed to the where clause, looking for that combination.
The problem that I found is that I can't get the post_id request parameter in my custom validator.
I will try that workaround declaring Rule with eloquent syntax instead of a custom validator.
Thanks for your answers.

To get access to it you will have to pass the request into your validator.
But after reading again I think my code doesn't do what you want!?
If you have the request but don't know how to get the post_id it depends on where you have it? Is it an input field or do you just have it in the URL as route parameter?

If it's just a route param you can do $request->route('post') - if you have model bindings (explicit or implicit) you will get the Post model instance and not just the ID.

The post_id is the fk wich is generated when I call the create method in PostController, wich uses Post and also PostTranslation models through the package like it is explained in docs.
I don't have it in a form field or URL when I am goint to create a new post so I have to find a way for checking if a combination of slug + locale with other post_id than the one wich it is going to be created exists.
And for updating, I think that I have to check if a combination of slug + locale with the exception of the post_id that I am going to update exists.
Maybe this is not the correct way to proceed, I am not sure, but it sounds logical in my thoughts.

During create you don't have to handle a post id. Everything will be new - so there can't be a translation with this post_id.
During update you will have the id in route or input (otherwise you can't update). So the only thing is your validaton logic where I just give ideas/hints (like above) but this isn't part of this package so you will have to find out yourself.


More than one input to a parameter socket shouldn't be allowed.

This graph no longer makes any sense:

So it should be prevented from the UI.

fixed by 5bb64b3


[META] Test failures on CI

Context
This issue is to collect currently failing CI test reports.

test_create_specification_parallel_auth
test_install_specification
test_conda_store_register_environment_workflow
test_api_cancel_build_auth
test_generate_constructor_installer[simple_specification] - See issue
test_solve_lockfile_multiple_platforms[simple_specification] - See issue

Value and/or benefit
Increasing confidence in test suite will allow us to move more quickly.
Anything else?
No response

I've added a PR that helps mitigate issues caused by flaky tests: https://github.com/conda-incubator/conda-store/pull/813

Not a fail, but I have started to notice a warning about stuff that recently changed so we might want to update https://github.com/conda-incubator/conda-store/actions/runs/9490164999/job/26153052479#step:7:78

Will go back and look at the current state of the unit tests.


Instructions a bit opaque

The instructions to install the extension include this line
Open the command palette and execute PullRequestMonitor.setToken

Seemed unclear to me how to execute that command. I tried typing Pull... but nothing appeared. Only found after a few min of trial and error.
Maybe simply write execute PR Monitor: Set Github Token?

Until seeing this issue, I was trying to use GitHub: Set Personal Access Token... because the instructions only say PullRequestMonitor.setToken.


[CleanUp] Flyteconsole cleanups task

This task is created to cover set of clean-ups which don't have bug attached and mainky needed to support our code than to fix any issues.
This Ticket number should be mentioned in code as:
TODO FC#393: what's need to be done
whenever cleanup is needed.
Current list of cleanups:

[ ] Simplify WorkflowTabs usage in NodeExecutionDetailsPanelContent

[ ] Remove inputs/outputs fields from ExecutionData interface, ensure that they are not used anymore

[ ] Unify showOnHoverClass usage - move it to commonStyles, for both parent, and child style

[ ] Move all Core. and Admin. enums to one file: src/models/enums.ts (could be found by It's an ENUM exports string)

[ ] move createWorkflowName into src/components/Project/test/ProjectWorkflows.test.tsx

[ ] Storybooks for all olf flyteconsole components should start with Legacy/ path in stories location(eg. const stories = storiesOf('Navigation/NavBar', module);) to ensure that we now that the y should be reimplemented/updated up to new standart

Check if it makes sense to keep this one:
// Shared measurement constants specified in grid units
// for use with `theme.spacing()`
export const sideNavGridWidth = 34;
export const maxContainerGridWidth = 153;
export const navbarGridHeight = 8;
export const contentMarginGridUnits = 2;

[ ] remove anything related to DeprecatedLiteralMapViewer

wont'fis: closing this: we pivoted away from this approach


[Contribution] SMB graphics with fixed spritesets

If you didn't know, some of the graphics and enemies in Mari0 use incorrect spritesets. I made fixed versions of them, they are in here.
The A in "Special Edition" on the Mari0 logo was also 1 pixel wider than normal, so I fixed that too.

Implemented


Change required input asterisks from green to red across the application

A few users have reported issues seeing which fields are required, possibly because the asterisks are green. Red is more common and will stand out more.

You sure this is what you want?

Yes sir. We should do it across all forms too.


No auto sign-in with Asus router UI

General information
Latest browserpass and extension.  The only page I have a problem with is my routers sign in page.  It's an Asus Ac87 (running merlin firmware), it autofills fine, but leaves it for me to hit sign in.

Operating system + version: Archlinux x86_64
Browser + version: Chromium 61
Browserpass extension version as reported by your browser: 1.0.15

Reminds me of #115 (though that should already be fixed).
Are you able to identify a relevant snippet of the HTML source of the page (e.g. the form that's used or the entire SIGN IN dialog? If so, it would be great if you could post it to a pastebin and link it here or something.

No problem.   https://ptpb.pw/UCuV  is the entire contents of http://router.asus.com/Main_Login.asp
Hope it helps

Yep, that's what I suspected.
In inject.browserify.js we check for an input element with type == "submit", however this page uses

Sign in

Which is apparently a custom CSS class to make a div look like a button. The downside, of course, is that this isn't picked up by browserpass.
Any ideas on how we could support this anyone?
/cc @maximbaz @qbit

Of course we could just fix this and similar cases (which no doubt exist) by curating a list of quirks that websites have and including it in our script. So, for instance, if the domain name matches router.asus.com, we would search for the class=button div.

Router sign-in pages are known to be developed without a quality in mind. Relying on a <button> is not an option, I don't want browserpass to fill in my credentials and start clicking on random buttons on the page.
Relying on a domain name is a very ugly workaround :smile: Moreover, the domain name is usually something like <IP_ADDRESS> in such cases, not router.asus.com.
In the end, I don't think we will support this case, unfortunately. Just like the browser will not submit the form on Enter without having a proper <input type='submit'> in the form, we cannot submit the form for the same reason.
If it was a normal webpage, I would suggest to report an issue with that page to fix the markup, not sure if this is even possible in case of routers.

Moreover, the domain name is usually something like <IP_ADDRESS> in such cases, not router.asus.com

That's right, I hadn't thought about that.

Just like the browser will not submit the form on Enter without having a proper  in the form

The site can work around that using a snippet like the following (from the router site):
document.form.login_username.onkeyup = function(e){
    e=e||event;
    if(e.keyCode == 13){
        document.form.login_passwd.focus();
        return false;
    }
};

The problem is that we can't do anything to detect that sort of workaround 🙂
I guess it would be possible to drop ASUS an email about that, but I think the chances of a single person winning the lottery twice in a row are higher than them actually doing something about this problem (or even as much as caring about it).

Asus might be open to it, AsusWRT is GPL'd and hence what the Merlin firmware is based
https://github.com/RMerl/asuswrt-merlin/blob/master/release/src/router/www/Main_Login.asp
If not Asus, then Merlin.  I'm fine with it working as-is.  Adds 0.1s to my login experience :)

Hey, that's actually amazing! I really wouldn't have thought that 😃 Do you want to go ahead and create an issue on their side?

Mmm I dunno.  I suck at explaining stuff and not sure I'm knowledgeable enough to converse with those guys.  Would rather someone else do it :)

heh, thanks

Thanks for following up on this 👍 I'll close this issue, as there is indeed no good way for us to fix it.

I'm actually a couple of versions behind (380.65) so that's a few months and it might be different now.  Could you check their git to see if that page has the same issue?

Nope, it's still there.


Details about training part

Hi, thanks for this great project. I have some questions about the training part.

From data_build.py, we know that there is one txt file and a bunch of json files, I wonder if you can release an example of both txt and json files.
Is the updated checkpoint model trained by current released training code? If not, would you mind to release the newest training code?
If possible, can you complement more training details in README?

1.The txt and json files can be refer to https://github.com/lllyasviel/ControlNet
2.The latest verision is trained with laion dataset, so the training code is a little bit differet, we will release it soon.
3.More training details will be added.

1.The txt and json files can be refer to https://github.com/lllyasviel/ControlNet 2.The latest verision is trained with laion dataset, so the training code is a little bit differet, we will release it soon. 3.More training details will be added.

Thanks for your reply,
Since in this project, mask image is taken as an extra source input to the model, so will that change the training part, such as the json file?
Also, if I want to add one more image as a guidance such as clothing item, is it possible to incorporate this in the training and inference framework?

@ukaukaaaa @gasvn Im also interested on this.
A training guide to train JSON COCO (with annotation and segmented masks) would be super helpful!

1.The txt and json files can be refer to https://github.com/lllyasviel/ControlNet 2.The latest verision is trained with laion dataset, so the training code is a little bit differet, we will release it soon. 3.More training details will be added.

Thanks for your reply,
Since in this project, mask image is taken as an extra source input to the model, so will that change the training part, such as the json file?
Also, if I want to add one more image as a guidance such as clothing item, is it possible to incorporate this in the training and inference framework?

Sorry I missed your comments. I am not sure about the exact form of how to use "one more image" as the guidance. Maybe the biggest problem here is the training data.  Also, you can check our latest version, where I achieve a training free drag item from one image into another based on reference scheme. But of course, there are some failure cases as no training is evolved. With training data, I think the current pipeline would be improved.

@ukaukaaaa @gasvn Im also interested on this.
A training guide to train JSON COCO (with annotation and segmented masks) would be super helpful!

The training data is the same to the basic controlnet. As long as you can construct a dataloader that produce the data with     jpg = item['jpg']
txt = item['txt']
hint = item['hint']， you can use this training code.

Thanks. Loading the data is fine, the challenge is how to do multi prompt per segmentation mask?

On 22 Jun 2023, at 05:46, Shanghua Gao @.***> wrote:
@ukaukaaaa https://github.com/ukaukaaaa @gasvn https://github.com/gasvn Im also interested on this.
A training guide to train JSON COCO (with annotation and segmented masks) would be super helpful!
The training data is the same to the basic controlnet. As long as you can construct a dataloader that produce the data with jpg = item['jpg']
txt = item['txt']
hint = item['hint']， you can use this training code.
—
Reply to this email directly, view it on GitHub https://github.com/sail-sg/EditAnything/issues/31#issuecomment-1601972191, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEHDNTYOY37SEYOLTDWLGSLXMO52LANCNFSM6AAAAAAYQYY7CA.
You are receiving this because you commented.


Extension: add dynamic metadata

Title: Simple extension to add dynamic metadata
Description:
This extension simply allows to add user-defined dynamic metadata. This is intended to be used with matchers, so that the "result" of a matching process can imply specific metadata.
I have implemented a Proof-of-Concept of this here: https://github.com/curiefense/envoy/commit/6fdd5c0bc6a6fcdf7fb121a3ec6112e376dea813
Here is a usage example: https://github.com/curiefense/envoy/commit/26f848041f4254e1b48e034cb41d1f2ed70ab889#diff-e7b7df56dda737de6cebca4a1ebe1b9d391811c12d2ff1a782409a8d6f8e9f5dR42-R79
I would like some advices before going further:

as we can see here https://github.com/curiefense/envoy/commit/26f848041f4254e1b48e034cb41d1f2ed70ab889#diff-e7b7df56dda737de6cebca4a1ebe1b9d391811c12d2ff1a782409a8d6f8e9f5dR50 , the user can describe a "key hierarchy". Said differently, we split the string with ".", and recursively lookup in the current metadata to get the actual value to modify. That might be more explicit with the code actually doing this: https://github.com/curiefense/envoy/commit/6fdd5c0bc6a6fcdf7fb121a3ec6112e376dea813#diff-00ef507aad11d8c16a5ab4dc4eb28495d8b2da99453dc476af9675fcd2db040bR37-R43 . It works, the only issue is that you can't really match a key which has a dot in it. I haven't find any other places in envoy doing such a thing. My questions are: Is there a "recommended" way to get this behavior? If no, should I write a more "serious" parser that could handle something like "a.b".c ?

for the actual value, I use a google.protobuf.Value object (https://github.com/curiefense/envoy/commit/6fdd5c0bc6a6fcdf7fb121a3ec6112e376dea813#diff-bce37684028f001c3ab5e59114840a1ce519b9b35642fe87936cdb8ce022cd5cR26), so that it can handle everything JSON would handle. headers-to-metadata is doing something more complex, with an extra field for the type (which, IMO, is already handled by google.protobuf.Value (https://github.com/envoyproxy/envoy/blob/main/api/envoy/extensions/filters/http/header_to_metadata/v3/header_to_metadata.proto#L69-L85). Should I do something similar for the sake of consistency?

Thanks for any insights!
Regards,
cc @snowp

SGTM, happy to sponsor this. High level this sounds right, we can flesh out the details in PR reviews
For your first point I think you could achieve this nesting by having the API specify the Struct to set instead of a specific Value? That way you get more flexibility in setting multiple values, and solve the hierarchy issue. This raises some questions around wanting to have multiple filters set the same fields, but I think a simple merge -> last write wins mechanism would work well initially, with other merging strategies possible via configuration down the line.

I tried merging two struct objects with Protobuf's Struct::mergeFrom function, but it seems too aggressive for what we want to do.
In our case, the example is for instance two matchers that would create unique tags. One way to describe this would something like this:
              matcher:
                matcher_list:
                  matchers:
                    - ...
          - name: mytag1
            typed_config:
              "@type": type.googleapis.com/envoy.extensions.common.matching.v3.ExtensionWithMatcher
              extension_config:
                name: envoy.filters.http.set_metadata
                typed_config:
                  "@type": type.googleapis.com/envoy.extensions.filters.http.set_metadata.v3.Config
                  metadata_namespace: curiefense
                  value:
                    tags:
                      mytag1: 1
              matcher:
                ...

In this case, MergeFrom would just replace the full content of tags with the new subobject. For instance, if the two filters are executed, we end up with:
tags:
  mytag2: 1

whereas we would have liked:
tags:
  mytag1: 1
  mytag2: 1

I was thinking instead implementing a "recursive merge" behavior, where only the last values in the object tree are replaced if they already exists, with a proper documentation explaining what is happening.
I'm afraid this would make a specific behavior for this filter, which might be different from what currently exists in Envoy. What do you think?
Thanks!


[Bug] [REST-API] Cannot get finished job status with new api /hazelcast/rest/maps/finished-jobs/:state

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
I build seatunnel pacakge with latest dev branch to test new merged rest -api-feature .
After I run the job, when I call /hazelcast/rest/maps/finished-jobs/:state only 204 returned.
SeaTunnel Version
latest dev branch
SeaTunnel Config
env {
  execution.parallelism = 1
  job.mode = "BATCH"
}

source {
  FakeSource {
    result_table_name = "fake1"
    row.num = 16
    schema = {
      fields {
        name = "string"
        age = "int"
        created_time = "timestamp"
        destroyed_time = "timestamp"
      }
    }
  }
}

transform {

    SQL {
    source_table_name = "fake1"
    result_table_name = "fake2"
    query = "SELECT name, age, created_time, destroyed_time, CURRENT_DATE() today, DATEDIFF(created_time, destroyed_time, 'SECOND') duration FROM fake1 "
  }

  SQL {
    source_table_name = "fake2"
    result_table_name = "fake3"
    query = "SELECT name, age, today, duration FROM fake2 "
  }
}

sink {
  Console {
    source_table_name = "fake3"
  }
}

Running Command
bin/seatunnel.sh -c config/demo.conf

Error Exception
no exception

Zeta or Flink or Spark Version
Zeta
Java or Scala Version
No response
Screenshots

Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

@liugddx


Add a preview link (draft and published) to each block

I have found this code to be pretty useful (added to BaseElement via DataExtension.updateCMSFields

        $liveLink =  $this->owner->PreviewLink();
        $draftLink = str_replace(
            '?',
            '?stage='.Versioned::DRAFT.'&',
            $liveLink
        );
        $fields->addFieldsToTab(
            'Root.Preview',
            [
                LiteralField::create(
                    'FrontEndLinkLive',
                    '
preview draft version
'
                ),
                LiteralField::create(
                    'FrontEndLinkDraft',
                    '
view published version
'
                ),
            ]
        );

Is this an idea?

I think this would be more appropriate as an action, but possibly better left to user code. The preview should be enough (despite the fact it has "never worked" for you) for draft, and there is usually a link to the live version of the page on the UI already. Additionally, the code should probably at least include a #anchor so you're scrolled there.

I think the reason the preview has never worked could be because we always end up with form fields that are "not react ready".  Is there a screenshot of what a preview even looks like?
I will make a module for preview.

I had a look for a preview in a Silverstripe Demo site:

I could not find any preview anywhere, am I missing anything?
I am expecting either:
a.

or b. preview pane in CMS split mode scrolls through to point on page where currently edited element is being viewed.

I have implemented this here:
https://github.com/sunnysideup/silverstripe-elemental-edit-me-button


Prime check takes a lot of time for large number n->N and 10^8 <= n <= 10^10

2979640889 is Prime. Time taken: 11608 ms
595391539 is Prime. Time taken: 901 ms
72555799 is Prime. Time taken: 109 ms

Thanks for the issue !!! Can you help to solve this !!!


Flush after printing progress

Otherwise, it's silent for ages and then dumps all the progress at the end!

thanks!


How should we use Macvlan in 1.12.0-rc2?

Macvlan seems not work.
1.Firstly create a subnet within LAN: docker network create -d macvlan --subnet <IP_ADDRESS>/24 --gateway <IP_ADDRESS> lan;
2.Run a  container: docker run --net lan --ip <IP_ADDRESS> -d nginx.
We should could access http://<IP_ADDRESS> from other node in LAN.
 Since you aren't assigning a parent we are just creating a dummy interface to attach the container to.
Check out the documentation at MacVlan Bridge Mode Example Usage. The example shows the host eth0 being used that associates to the given docker network subnet.
# Macvlan  (-o macvlan_mode= Defaults to Bridge mode if not specified)
docker network create -d macvlan \
    --subnet=<IP_ADDRESS>/24 \
    --gateway=<IP_ADDRESS>  \
    -o parent=eth0 pub_net

1.docker network create -d macvlan --subnet <IP_ADDRESS>/24 --gateway=<IP_ADDRESS> -o parent=wlp3s0 lan
2.docker run -d --net lan --ip <IP_ADDRESS> nginx
Strange, why it still doesn't work.

Hi @jmzwcn, some things to try and comments.

Is your wireless Nic going into promiscuous mode?
Are multiple mac addresses allowed from one device?
Per Macvlan design, <IP_ADDRESS>  is not allowed to ping the IP on wlp3s0. When you test connectivity do so pinging something like your gateway <IP_ADDRESS> .
Do you have a VM on your host you can run Docker on to get a feel for how the driver works and ruling out the issue as a wireless issue?

Can you paste or gist any relevant info from the following?

ip address show wlp3s0
Create the network docker network create -d macvlan --subnet <IP_ADDRESS>/24 --gateway=<IP_ADDRESS> -o parent=wlp3s0 lan.
Any relevant logs regarding wlp3s0 going into promiscuous mode from the command $ dmesg.
Start the container and make sure you are trying to ping the gateway <IP_ADDRESS> or any host that is not the one the container is running on.
Check Docker logs for any relevant messages. If you are starting dockerd from the command line, add -D to get the debug log output.

Thanks!

@nerdalert , thanks for your so many help!
My local host is a thinkpad x220, ubuntu16.04, without any VM, just having docker 1.12.0-rc2. I only use wifi connection(router is <IP_ADDRESS> having DHCP). I test it on another LAN host(thinkpad t410).
1.ip address show wlp3s0
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether a0:88:b4:98:02:3c brd ff:ff:ff:ff:ff:ff
inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global wlp3s0
valid_lft forever preferred_lft forever
inet6 fe80::a288:b4ff:fe98:23c/64 scope link
valid_lft forever preferred_lft forever
2.docker network create -d macvlan --subnet <IP_ADDRESS>/24 --gateway=<IP_ADDRESS> -o parent=wlp3s0 lan
7c266b1670d298c9a6971347ad55930300e8abc6518cf23439066479bd1bea89

Great, after I try with "-d ipvlan", all is OK as expect, I could access "http://<IP_ADDRESS>" from other host in LAN.
Maybe macvlan has bug when NIC is wireless WIFI?

Hi @jmzwcn thanks to your info the issue appears to be the wireless NIC going into promiscuous mode.  Maybe lets leave the issue open for another day or two and see if anyone can test manually adding a macvlan port using ip link that has Linux on a laptop and see what their results are.
Thanks and will close the issue in the next day or two if ok with you. Also hoping to have Ipvlan out of experimental come v1.13 so you don't have to use experimental for Ipvlan L2.

Any feedback?

Close it.

@nerdalert I got similar case, but "ip link" doesn't help: ip netns exec ns1 ping <IP_ADDRESS> stuck forever with:

PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.

Is there any alternative to Ipvlan which is still experimental


Add dublincore-xml-conduit

Travis seems to be having trouble - so I went ahead and merged this anyway


Graph API permissions for SPFx solution haven't been appeared in pending permissions in the Admin Center?

Target SharePoint environment
SharePoint Online
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Developer environment
Windows
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[X] 💥 Microsoft Edge
[X] 💥 Google Chrome
[X] 💥 FireFox
[ ] 💥 Safari
[ ] mobile (iOS/iPadOS)
[ ] mobile (Android)
[ ] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details

browser version
SPFx version 1.14.0
Node.js version  v14.17.0

Describe the bug / error
Graph API permissions for SPFx solution haven't been appeared in pending permissions in the Admin Center however it has been appeared in the development tenant.
Steps to reproduce

Developed an SPFx extension then deployed it to (DEV tenant, QA, Prod)
After that added graph API permissions then deployed it again.
Graph Permissions have been appeared as pending in Dev tenant but haven't appeared in QA or Prod.

Some Details
QA and Prod is the same tenant, but we use two different packages, One as a QA Package and another one as a Prod package.
But unfortunately, neither first nor second package Graph API permissions appeared in the central admin.
Expected behavior
Excepted behavior is to see the Graph API permissions to appear as pending permissions, but it didn't appear.

@mohammadamer - could you please check if the new permissions are listed in approved section?
The hypothesis here is the same permission scope has been requested and approved for some other SPFx solution that is installed on QA and PROD.
In that case there is no need for approval request.

@AJIXuMuK
It's not in the approved section.
Hmmm! I thought that it should be requested separately for each solution. Well, right now there are Graph API permissions that in the pending section some of them are the same onnes that I need in my package but with another package which was added by someone else.
Is that means because the same Graph API that I need are in pending for another solution my Graph API permissions didn't appear.

@mohammadamer - yes. Permissions are shared across all spfx solutions installed.


feat(controller): Add POD_IP environment variable with pod's IP address

Expose each pod's IP address as an environment variable POD_IP. This feature is really useful to us that we use python + django a lot.
We are using prometheus-operator and we are adding business metrics to our applications and fetching them with prometheus.
The main issue is that django requires you to set ALLOWED_HOSTS variable with a set of domains that Django can serve.
Prometheus uses the internal pod IP to fetch the metrics, and pod's IPs are dynamic. With this modification we can do something like this on python:
ALLOWED_HOSTS = env.list('DJANGO_ALLOWED_HOSTS', default=['some-domain.com'])

if env('POD_IP'):
    ALLOWED_HOSTS.append('POD_IP')

this way prometheus would be able to fetch the metrics and not get a 400 BAD REQUEST as a response.

Hi @n0n0x , the way I understand this PR is that the environment variable is to be injected into each pod and then you can use it in django/python applications to whitelist prometheus or am I misunderstanding how this works?
Can you also please take a look at https://docs.teamhephy.com/contributing/submitting-a-pull-request/#commit-style and fix the commit messages for our tool?

Hi @n0n0x , the way I understand this PR is that the environment variable is to be injected into each pod and then you can use it in django/python applications to whitelist prometheus or am I misunderstanding how this works?

Yes! This could be our case, but maybe someone can find this useful in another way :)

Looks good, can you fix the commit message? https://docs.teamhephy.com/contributing/submitting-a-pull-request/#commit-style

Done! Let me know if it looks good now!

@n0n0x , I like this hack, it serves a good purpose. But I can think of at least one scenario when you wouldn't want to do this for security purposes. For example, if you are hosting a 3rd-party application, you wouldn't want to expose the internal pod IP address to the application inside the k8s cluster.
The easiest fix is to allow the above POD_IP env var to be injected only if DEIS_SHOW_POD_IP env variable is set or something similar.

@n0n0x  Slight problem this way is that the variable needs to be unset, if it is set to false, the IP is still exposed:
kubectl exec -it testing-hephy-two-web-f64cd8898-4ml7d -n testing-hephy-two -- env | grep POD_IP
WORKFLOW_RELEASE_SUMMARY=admin changed DEIS_EXPOSE_POD_IP
DEIS_EXPOSE_POD_IP=false
POD_IP=<IP_ADDRESS>

Hi @n0n0x , I've added the above small fix to https://github.com/teamhephy/controller/pull/109 and reworded some of the commits. Tested and now it is time to merge! :+1:


Empty screen if no upload fix

Title (required)
Fixes #1912 Empty screen if no upload
Description (required)
Fixes #1912 Empty screen if no upload
Added text view for empty page showing welcome text in case there are no uploads. Once there are files the message is hid.
Tests performed (required)
Tested on API 25 & Galaxy J5, with {BetaDebug}
Screenshots showing what changed (optional)
Without and with uploads:

Codecov Report

Merging #1940 into master will decrease coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master   #1940      +/-   ##
=========================================
- Coverage    4.55%   4.54%   -0.01%
=========================================
  Files         199     199
  Lines       10108   10113       +5
  Branches      899     900       +1
=========================================
  Hits          460     460
- Misses       9613    9618       +5
  Partials       35      35

Impacted Files
Coverage Δ

...mmons/contributions/ContributionsListFragment.java
0% <0%> (ø)
:arrow_up:

...w/commons/contributions/ContributionsActivity.java
0% <0%> (ø)
: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 8526605...f34f7fe. Read the comment docs.

Looks good to me.
Styling can be improved later.


Add support for as-path attribute for prefix.

This adds support for defining a custom as-path for announced prefix, allowing us to create a fake transit peer. If omitted, the default value for this attribute is the local AS.
Example prefix announced from AS 21, originating from AS 1234 { 'prefix': '<IP_ADDRESS>/24', 'as-path': [21, 1234] }.

Hmm, we need to describe how this works.
Can you please add a section to the README where you show how it's used? e.g. exactly what you included in the PR description, just put the usage example in the README, since most people prefer to read READMEs and not wade through old PRs ;)
Extra points for also listing how community and med works =)


Automated cherry pick of #3271: region: capability public network count filter by host type

Cherry pick of #3271 on release/2.12.
#3271: region: capability public network count filter by host type

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.12@d5cd197). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.12   #3272   +/-   ##
==============================================
  Coverage                ?   7.05%
==============================================
  Files                   ?     482
  Lines                   ?   78463
  Branches                ?       0
==============================================
  Hits                    ?    5538
  Misses                  ?   72463
  Partials                ?     462

Flag
Coverage Δ

#aFlag
7.05% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/capabilities.go
0% <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 d5cd197...53cd722. Read the comment docs.


add backtrace

Tasks

[x] print backtrace with raw addresses
[ ] print backtrace with function names
[ ] print backtrace with lines and function names
[ ] is it possible to print parameters for backtrace (maybe tell gcc to place all parameters on the stack, so we can grab them later)

Task 3/4 won't be done in the near future, because they are not needed urgently and it is a lot of work to implement it


Authorization section: Apache ranger is misspelled as 'apache range'

Apache ranger is misspelled as range in the Authorization section.

The configurations secure Apache Hive, HBase, and Kafka with Apache Range plugins.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4cf98993-22de-6e5e-a11c-14fc78a6a0a7
Version Independent ID: 9e1dc9b5-df80-367a-9ed5-e30c6cbf964d
Content: Overview of enterprise security in Azure HDInsight
Content Source: articles/hdinsight/domain-joined/hdinsight-security-overview.md
Service: hdinsight
GitHub Login: @hrasheed-msft
Microsoft Alias: hrasheed

@akumaranchath Thanks for the feedback! We are reviewing the feedback and update the document as appropriate.

Typo fixed.
#please-close


Peer-to-peer Review

Hello @AmaduKamara,
The project seems nice so far. As per the requirement, you have followed all the follows:

[x] Use webpack to bundle JavaScript
[x] Learn how to use proper ES6 syntax
[x] Use ES6 modules to write modular JavaScript

Whereas, you need to add the follows as per the requirement of the project:

Set an array of some simple to-do tasks (array of objects). Each task object should contain three keys:
[ ] description [string]
[ ] completed [bool]
[ ] index: [number]

Sure, thanks guys, will definitely work that out ASAP.


help Fix error 10000 and 10100

Please help me to fix the error 1000 and 10100

Please provide more details on how to reproduce the errors and where you got them


Windows 7 hang up with wacs

Issue Description:
Environment:
Operating System: Windows 7 x64
Tool: wacs.exe ([win-acme.v<IP_ADDRESS>1.x64.pluggable.zip)
Problem:
When I run wacs.exe from the command prompt on Windows 7, it causes the entire system to hang, making it unresponsive. The only solution is to force a system restart.
Steps to Reproduce:
Open a command prompt.
Navigate to the directory containing wacs.exe.
Execute the command: wacs.exe .
Thanks
Diego.

I can't speak for win-acme and I don't specifically know what's wrong here, but win-acme uses dotnet 7.0, and that doesn't support Windows 7. https://github.com/dotnet/core/blob/main/release-notes/7.0/supported-os.md
Microsoft stopped supporting Windows 7 in 2020 and that makes it harder for any developer to use modern tools.

I tried with (x86) win-acme.v<IP_ADDRESS>1.x86.pluggable.zip and it works.
Diego.

I'm glad the x86 build still works for you, but I'm not going to investigate why the x64 build hangs the system. If Microsoft doesn't support the platform anymore (for 4+ years), then this little open source project can't really be expected to either.


Need more guidance

Awesome work, but how can I get started?
I've tried the dist/index.html but when I click on run, the page refreshes and nothing happens?
P.S Can you provide a command line version?

Hi,
The 'Run' button will run whatever code is in the Input tab. The 'Load File' button does the same, but injects the uploaded file in the Input tab directly.
This doesn't guarantee that every code returns useful results. Commonly there can be 4 reasons for this:

The emulator doesn't support or incorrectly supports one of the objects called in the script. In this case it would be very valuable for me to know where the problem is by analysing the malware manually
The script gets stuck in an infinite loop when emulating downloads. See issue #1 for a more detailed explanation
The file is not JScript (but VBscript or something else)
The malware is badly written and wouldn't run in a normal WScript environment either

In any of these cases, the malware will have to be reversed manually to figure out why it didn't run correctly. I don't claim every script will run because of the limitations of emulation, but if even 50% of the scripts runs, it can save a lot of time
I will add this to the README.md as well to inform other people
Regarding a commandline version, I think that's definitely possible. It already runs fine in Node (as the tests show) so I don't think it should be too much work. I have opened issue #5 for this and see if I can get it done over the weekend


Problems in vitepress

Hey,
I'm trying out this plugin in vitepress and it doesn't work out of the box.
In development, I first need to make a change to the current .md file, once HRM kicks in, it correct applies classes. Same thing has to be done on Layout.vue – which is also vitepress specific.
More problematic is production build, because no used classes end up in production build's .css file.
My question is, was/is this ever intended to work with vitepress or not really?

You will need to setup
WindiCSS({
  scan: {
    dirs ['.vitepress', 'pages', 'src'] // folders contains your code to be extract as classes
  }
})

Amazing, thanks! :)


Fixed problem with session crash

Site froze (100% CPU) when user open more than 2 pages in one moment in other tabs in browser. This happened after adding the method php5_validate_id (exactly validateId) in 3.1.9 My fix resolved this problem.

The code that you're changing has been working just fine for a long, long time. It is completely illogical to change it when the problem root cause isn't in there ... you're treating a symptom.
And @mrliptontea is correct on one of the reasons why file_get_contents() is a bad idea there, but there's more than one. It's not like we want to have a ton of code that basically does file_get_contents(), file_put_contents(), unlink(), etc. There are little details in there that you're completely ignoring.


Move Mamba demo to models/demos/wormhole

Ticket
Move Mamba code to the models/demos/wormhole folder to be more consistent with other models.
Checklist

[x] Post commit CI passes
[x] Model regression CI testing passes (if applicable)
[x] New/Existing tests provide coverage for changes

Please run single card model demos

Please run single card model demos

https://github.com/tenstorrent/tt-metal/actions/runs/9999522224

Please run single card model demos

@tt-rkim Demo pipeline is passing: https://github.com/tenstorrent/tt-metal/actions/runs/9999522224/job/27640898658
Going to wait for model/device perf pipelines as well.


Default Accepts header

New Feature Proposal
Description
Add a default Accept: text/html header to the HttpRequester created by Configuration.Default.WithDefaultLoader.
Background
I'm very new to AngleSharp so be kind if this is common sense and understood by everyone else in the community. Came across it this morning when I came to a conclusion that regex used until now was too brittle. Tried to use examples found online, such as:
var context = BrowsingContext.New(Configuration.Default.WithDefaultLoader();
var document = context.OpenAsync(url).Result;
var divs = document.QuerySelectorAll("div");
foreach (var div in divs)
{
    // do something
}

To my surprise, this code would find no divs at all. Turned out that all HTML content was wrapped in another HTML document and a pre tag, which I traced to a commit related to #331. (And sure enough execution was breakpointing in HtmlDocument.LoadTextAsync.)
Fiddler showed that indeed response was being sent with Content-Type: text/plain;charset=UTF-8 instead of the expected Content-Type: text/html;charset=UTF-8. Adding code adapted from #367:
var requester = new HttpRequester();
requester.Headers["Accept"] = "text/html";
var context = BrowsingContext.New(Configuration.Default.WithDefaultLoader(requesters: new[] { requester }));

...solved the problem. Not sure what web server is being used on the other side (trying to load this url but I suppose loading a web page and doing some manipulation might be a common scenario.
Because at least some web servers will return a text (rather than HTML) response if given no Accept header, I would like to propose either adding a default Accept header or metioning this in docs / quick guides to save newcomers an hour of figuring out what is happening and why.

To add to my previous post: life is not made any easier with the fact that the API seems to have changed, and to accomplish the above with the latest NuGet packages one has to use the following code:
var htmlRequester = new DefaultHttpRequester();
htmlRequester.Headers["Accept"] = "text/html";
var context = BrowsingContext.New(Configuration.Default.With(htmlRequester ).WithDefaultLoader());

There are multiple ways to solve this - you can also intercept the HTTP request in AngleSharp and place the header.
Going a step further I indeed think that the given proposal is super valid. And I want to bring it into 0.14.
This is what Chrome sends (among others) when opening a new site:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br

I think the encoding makes sense and part of the accept (esp. the first two entries). I would add these by default to document requests. As such they should be picked up by any requester, not only the default requester (i.e., there should be no change required for the requesters of AngleSharp.Io).

Available in devel and the latest NuGet preview.
Can you check this @davidcie ? Thanks! :beers:

@FlorianRappl thank you for looking into this and incredibly quick turnaround! Should have a few minutes this evening to test the change, will report back.

Have just checked out the devel branch and can confirm it works as expected. Was a joy to see the new user-agent thrown in the mix too. Thanks for making this happen and fingers crossed for v0.14 going into prod soon!


Update securing-fossbilling.mdx

Allow only /admin/staff/login page for country or IP using Cloudflare WAF

Hi there, thanks for the PR!
This is a good start, however the formatting of the page could be quite a bit better:

The easiest way to preview how the page looks is to follow the instructions in the readme to install the dependencies and then run a local dev server using Node.JS.
Another way is to use StackEdit which makes it pretty easy to edit markdown content and preview how it looks.
Additionally, it might be nice to list that you can configure allowed IPs for staff member logins within FOSSBilling itself by going to the staff member settings:


Fix build and update packages

Does this screw with the package support still allowing .netcore 1.1 version?

Support for 1.1 has ended. https://devblogs.microsoft.com/dotnet/net-core-1-0-and-1-1-will-reach-end-of-life-on-june-27-2019/
It's pretty easy to upgrade to 2.2, so I don't think it's that big of a deal
2.0 has also reached its EOL, but should I add 2.1?

Support for 1.1 has ended. https://devblogs.microsoft.com/dotnet/net-core-1-0-and-1-1-will-reach-end-of-life-on-june-27-2019/
It's pretty easy to upgrade to 2.2, so I don't think it's that big of a deal
2.0 has also reached its EOL, but should I add 2.1?
(accidentally commented from my work account)

2.1 would probably be a good idea since it is the LTS version.

hey @CrustyJew, I just realized that the bump from netcore 1.1 to 2.2 was just for the test project, which does not affect the resulting package. Still supporting .net 462, netstandard 1.3/2.0

Hey sorry I'm late on this! Been crazy at work.


Standalone android [help-wanted][question]

Hey! tnx for this lib.
Is there a way to run the video inside a native android app context for debugging, or the library can run only with react-native?
thanks anyway!

All of the functionality depends on React Native, so it won't work standalone. Take a look at the ExoPlayer demo player, that may have what you need.


The "family" selector query doesn't show up in the autocompletion suggestion list

Describe the bug
Recently a new selector query was added to minecraft - the "family". It lets you select entities by their families.
To Reproduce

Start typing any command that uses the selector.
See the list of suggested queries.
See that there is no "family" on the list.

Expected behavior
The "family" query should apear on the list.
Screenshots

The family attribute has been added to the list of attributes for selectors, no auto complete for any values yet as the entities have to be parsed deeper than before to retrieve possible family components.