Add alert actions api

Adds retrieval and creation of alert_actions as a sub resource of alerts.

Route
Body

GET /api/alerts/:id/alert_actions/
[1]

GET /api/alerts/:id/alert_actions/:id
[2]

POST /api/alerts/:id/alert_actions/
[3]

[1] :
Response:
{
    "name": "alert_actions",
    "count": 3,
    "subcount": 3,
    "resources": [
        {
            "href": "http://localhost:3000/api/alerts/6/alert_actions/8"
        },
        {
            "href": "http://localhost:3000/api/alerts/6/alert_actions/9"
        },
        {
            "href": "http://localhost:3000/api/alerts/6/alert_actions/10"
        }
    ],
    "actions": [
        {
            "name": "create",
            "method": "post",
            "href": "http://localhost:3000/api/alerts/6/alert_actions"
        }
    ]
}

[2] :
Response:
{
    "href": "http://localhost:3000/api/alerts/6/alert_actions/9",
    "id": 9,
    "action_type": "assign",
    "user_id": 1,
    "assignee_id": 1,
    "miq_alert_status_id": 6,
    "created_at": "2017-01-22T12:29:29Z",
    "updated_at": "2017-01-22T12:29:29Z"
}

[3] :
Request:
{
  "action_type": "comment",
  "user_id": 1,
  "comment": "comment text"
}

Response:
{
    "results": [
        {
            "id": 11,
            "action_type": "comment",
            "user_id": 1,
            "comment": "comment text",
            "miq_alert_status_id": 6,
            "created_at": "2017-01-22T12:36:54Z",
            "updated_at": "2017-01-22T12:36:54Z"
        }
    ]
}

@miq-bot add_label wip, enhancement, api

@miq-bot remove_label wip

@abellotti can you start reviewing 530fdbb9e46ccc7734ded66aa05e8b5afb93c8c7 even though the dependent patch hasn't been merged yet?
It's critical to have all of those patches merged by the end of the week to have the API in place for the next week for other people's work

@abellotti PTAL

Could you add a description entry showing the expected usage, i.e.
GET /api/alerts
GET /api/alerts/:id/alert_actions
POST /api/alerts/:id/alert_actions  with action names ...
...

It would help us to better review.

/cc @h-kataria need your  on above miq_product_features.yml changes. Thanks!!

@h-kataria could you please take a look at the product features for added here?
Note this is part of the API needed for "Monitor" added here does it make sense to have separate features?
@imtayadeway @abellotti addressed comments, and made some changes based on the review of #13025 can you take a look? Thanks

@imtayadeway @abellotti Please review, Feedback appriciated

@imtayadeway addressed comments

@moolitayer this looks good, just some minor nits about tests. @abellotti any thoughts?

Thanks @imtayadeway!
Addressed comments, @abellotti please review
Good night :moon: :zzz:

@abellotti addressed comments, added tests for the new functionalities
(assigne can be refrenced by either id or href, user value should be ignored and always set to the current user)
please take a look

LGTM!! Thanks @moolitayer for the API Enhancement.

Awesome @abellotti @imtayadeway Thanks for reviewing & improving my work


Work around for empty device preset output when using shared account

A system member cannot list the device schedule, that contains detailed fields for site pre-set and device shared pre-set output.
The member only receives fields from the scene info query, however this is empty for the device details.
A work around must be implemented to share the given retain load for the site down to the installed solarbanks for the site in case the device pre-set output is not filled otherwise.

The update_sites method will now pre-generate these fields for the device details, in case they cannot be obtained from the device_load query due to missing permissions.


mongo support

Mongo adapter still uses old mongo library, while Zend\Session uses the new MonoDB library. Therefore is imposible to use Zend\Session and Zend\Cache with mongo storage at once.
Is there plan to adopt the new MongoDB for Zend\Cache?

Yes it is but first there is a refactoring for v3 going on incl. rename the mongodb adapter to mongo as that what it is.
Afterward there is place for a new mongodb adapter.

If you want to start working on that please check out my zend-cache-* repositories ;)

Available on develop branch now; will release with 2.8.0. We'll be moving all adapters to their own repos soon, but only v3 will require installing them via those packages.


:bug: Remote encryption broken in 2.0.0

Kairos version:
master
CPU architecture, OS, and Version:
all
Describe the bug
remote encryption (via challenger server) is currently broken under 2.0.0.
Machine boots but immucore hasnt been able to mount COS_PERSISTENT and anything dependant on it, also no initramfs stage has been run.
To Reproduce
Create an encrypted COS_PERSISTENT that unlock via a server i.e. :
install:
  encrypted_partitions:
  - COS_PERSISTENT
  grub_options:
    extra_cmdline: "rd.neednet=1"
kcrypt:
  challenger:
    challenger_server: "http://ADDRESS"
    nv_index: ""
    c_index: ""
    tpm_device: ""

Expected behavior
Machine to boot correctly
Logs
[  OK  ] Found device /dev/disk/by-label/COS_ACTIVE.
[  OK  ] Reached target Initrd Root Device.
[    6.931109] e1000: ens3 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[    6.932521] IPv6: ADDRCONF(NETDEV_CHANGE): ens3: link becomes ready
[    6.984757] EXT4-fs (loop0): mounted filesystem without journal. Quota mode: none.
         Starting kcrypt online mount...
[    6.951277] immucore[630]: <nil> INF mount done options=["ro","suid","dev","exec","async"] type=ext4 what=/dev/disk/by-label/COS_ACTIVE where=/sysroot
[    7.994804] EXT4-fs (vda2): mounted filesystem with ordered data mode. Quota mode: none.
[    7.959826] immucore[630]: <nil> INF mount done options=["rw","suid","dev","exec","async"] type=ext4 what=/dev/disk/by-label/COS_OEM where=/sysroot/oem
[    7.960855] immucore[630]: <nil> INF Running rootfs stage
[    8.074810] I/O error, dev fd0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[    8.076024] floppy: error 10 while reading block 0
[    8.207523] immucore[630]: 2023/03/30 08:46:33 Scaleway: Could not contact metadata service: Get "http://<IP_ADDRESS>/conf": dial tcp <IP_ADDRESS>:80: connect: network is unreachable
[    8.208306] immucore[630]: 2023/03/30 08:46:33 Metaldata: Probing...
[    8.274778] I/O error, dev fd0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[    8.276049] floppy: error 10 while reading block 0
[    8.523000] I/O error, dev fd0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[    8.524281] floppy: error 10 while reading block 0
[    8.618750] I/O error, dev fd0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[    8.620075] floppy: error 10 while reading block 0
[  OK  ] Finished dracut initqueue hook.
[  OK  ] Reached target Preparation for Remote File Systems.
[  OK  ] Reached target Remote Encrypted Volumes.
[  OK  ] Reached target Remote File Systems.
         Starting dracut pre-mount hook...
[  OK  ] Finished dracut pre-mount hook.
[  OK  ] Reached target Initrd Root File System.
         Starting Reload Configuration from the Real Root...
         Starting File System Check…ev/disk/by-label/COS_ACTIVE...
[  OK  ] Finished File System Check…/dev/disk/by-label/COS_ACTIVE.
[  OK  ] Finished Reload Configuration from the Real Root.
[   14.688776] immucore[630]: <nil> INF mount done options=["ro"] type=ext4 what=/dev/disk/by-label/COS_OEM where=/sysroot/oem
[   15.730054] /dev/disk/by-label/COS_PERSISTENT: Can't open blockdev
[   15.695044] immucore[630]: <nil> ERR error="no such file or directory" options=["rw"] type=ext4 what=/dev/disk/by-label/COS_PERSISTENT where=/sysroot/usr/local
[   16.733287] /dev/disk/by-label/COS_PERSISTENT: Can't open blockdev
[   16.698225] immucore[630]: <nil> ERR error="no such file or directory" options=["rw"] type=ext4 what=/dev/disk/by-label/COS_PERSISTENT where=/sysroot/usr/local
[  OK  ] Finished kcrypt online mount.
[   17.737010] /dev/disk/by-label/COS_PERSISTENT: Can't open blockdev
[   17.701949] immucore[630]: <nil> ERR error="no such file or directory" options=["rw"] type=ext4 what=/dev/disk/by-label/COS_PERSISTENT where=/sysroot/usr/local
[   17.703091] immucore[630]: <nil> ERR Mount timeout error="timeout exhausted" options=["rw"] type=ext4 what=/dev/disk/by-label/COS_PERSISTENT where=/sysroot/usr/local
[   17.704279] immucore[630]: <nil> ERR error="1 error occurred:\n\t* timeout exhausted\n\n"
[   17.742927] overlayfs: "xino" feature enabled using 2 upper inode bits.
[   17.743691] overlayfs: "xino" feature enabled using 2 upper inode bits.
[   17.744438] overlayfs: "xino" feature enabled using 2 upper inode bits.
[   17.711332] immucore[630]: <nil> INF Running initramfs stage
[   17.814907] I/O error, dev fd0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[   17.816542] floppy: error 10 while reading block 0
[   27.942356] immucore[630]: 2023/03/30 08:46:53 Scaleway: Could not contact metadata service: Get "http://<IP_ADDRESS>/conf": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
[   31.945010] immucore[630]: 2023/03/30 08:46:57 Metaldata: Probing...
[   32.795380] immucore[630]: <nil> INF 1.
[   32.795704] immucore[630]:  <init> (background: false) (weak: false) (run: false)
[   32.796055] immucore[630]: 2.
[   32.796216] immucore[630]:  <create-sentinel> (background: false) (weak: false) (run: true)
[   32.796588] immucore[630]:  <mount-tmpfs> (background: false) (weak: false) (run: true)
[   32.796962] immucore[630]:  <mount-state> (background: false) (weak: false) (run: true)
[   32.797332] immucore[630]: 3.
[   32.797485] immucore[630]:  <discover-state> (background: false) (weak: false) (run: true)
[   32.797872] immucore[630]: 4.
[   32.798028] immucore[630]:  <mount-root> (background: false) (weak: false) (run: true)
[   32.798399] immucore[630]: 5.
[   32.798555] immucore[630]:  <mount-oem> (background: false) (weak: false) (run: true)
[   32.798918] immucore[630]: 6.
[   32.799079] immucore[630]:  <rootfs-hook> (background: false) (weak: false) (run: true)
[   32.799448] immucore[630]: 7.
[   32.799603] immucore[630]:  <load-config> (background: false) (weak: false) (run: true)
[   32.799976] immucore[630]: 8.
[   32.800129] immucore[630]:  <mount-base-overlay> (background: false) (weak: false) (run: true)
[   32.800523] immucore[630]:  <custom-mount> (error: 1 error occurred:
[   32.800825] immucore[630]: 	* timeout exhausted
[   32.801050] immucore[630]: ) (background: false) (weak: false) (run: true)
[   32.801371] immucore[630]: 9.
[   32.801524] immucore[630]:  <overlay-mount> (background: false) (weak: false) (run: true)
[   32.801902] immucore[630]: 10.
[   32.802060] immucore[630]:  <mount-bind> (error: 'mount-bind' deps custom-mount failed) (background: false) (weak: false) (run: false)
[   32.802608] immucore[630]: 11.
[   32.803054] immucore[630]:  <write-fstab> (background: false) (weak: false) (run: true)
[   32.803447] immucore[630]: 12.
[   32.803602] immucore[630]:  <initramfs-hook> (background: false) (weak: false) (run: true)
[  OK  ] Finished immucore.

Additional context

Logs are from local test, which could be misleading as network issues may prevent kcrypt from unlocking the partition.

On a local test I get this from kcrypt:
Mar 30 11:52:01 localhost systemd[1]: Starting kcrypt online mount...
Mar 30 11:52:01 localhost kcrypt[879]: Unmounted Luks found at 'vda5' LABEL ''
Mar 30 11:52:01 localhost kcrypt[879]: Unlocking failed: '1 error occurred:
Mar 30 11:52:01 localhost kcrypt[879]:         * Passphrase does not match
Mar 30 11:52:01 localhost kcrypt[879]: '
Mar 30 11:52:11 localhost systemd[1]: kcrypt.service: Deactivated successfully.
Mar 30 11:52:11 localhost systemd[1]: Finished kcrypt online mount.

This does not seem to have anything to do with /oem at least on my test as sshing in the machine, checking that /oem is unlocked and running  kcrypt unlock-all results in:
root@metal:~# kcrypt unlock-all
Unmounted Luks found at 'vda5' LABEL 'COS_PERSISTENT'
Unlocking failed: '0 errors occurred:

'

looks like a race condition between immucore and kcrypt.
kcrypt needs /oem to be mounted to load the partitions mappings, but immucore may or may not have mounted /oem at that point.

patch has been merged and images pushed to the repos, triggering https://github.com/kairos-io/kcrypt-challenger/actions/runs/4561679222 again to see if it fixes the unlocking.

This should now be fixed :D


i have 500 error when i try to make a post send a email with express.js

Issue Summary
A summary of the issue and the environment in which it occurs. If suitable, include the steps required to reproduce the bug. Please feel free to include screenshots, screencasts, code examples.
Steps to Reproduce

This is the first step
This is the second step
Further steps, etc.

Any other information you want to share that is relevant to the issue being reported. Especially, why do you consider this to be a bug? What do you expect to happen instead?
Technical details:

sendgrid-nodejs Version: master (latest commit: [commit number])
Node.js Version: 4.1.2

Can you provide more details and repro steps?  Maybe a gist?
On Tue, Oct 2, 2018 at 8:28 PM benmazouz seif eddine <
<EMAIL_ADDRESS>wrote:

Issue Summary
A summary of the issue and the environment in which it occurs. If
suitable, include the steps required to reproduce the bug. Please feel free
to include screenshots, screencasts, code examples.
Steps to Reproduce

This is the first step
This is the second step
Further steps, etc.

Any other information you want to share that is relevant to the issue
being reported. Especially, why do you consider this to be a bug? What do
you expect to happen instead?
Technical details:

sendgrid-nodejs Version: master (latest commit: [commit number])
Node.js Version: 4.1.2

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/sendgrid/sendgrid-nodejs/issues/758, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ACL-srFFzdIKOwc10T7mvE_d_AhzL90uks5uhCDOgaJpZM4XFME_
.

I have the same Issue, I just basically used the exaomple that is on sedn grid Here is my code.
Node version: 10.8.0
npm version: 6.4.1
@sendgrid/mail version: ^6.3.1
function sendClientMessageToDispatcher(clientNumber, orderId, body) {
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const msg = {
to<EMAIL_ADDRESS>from<EMAIL_ADDRESS>subject: 'Client Message -- '+ clientNumber +' -- '+ orderId,
text: '',
html: body + '  ------------ ',
};
sgMail.send(msg);
console.log("Email send!!!");
};
And I get this error:
(node:17070) UnhandledPromiseRejectionWarning: Error: Bad Request
at Request.http [as _callback] (node_modules/@sendgrid/client/src/classes/client.js:124:25)
at Request.self.callback (node_modules/request/request.js:186:22)
at Request.emit (events.js:182:13)
at Request. (node_modules/request/request.js:1163:10)
at Request.emit (events.js:182:13)
at IncomingMessage. (node_modules/request/request.js:1085:12)
at Object.onceWrapper (events.js:273:13)
at IncomingMessage.emit (events.js:187:15)
at endReadableNT (_stream_readable.js:1081:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
(node:17070) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:17070) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Hello @leovazquezz1, @seif1000,
Could you please try to obtain the error message like so? Thanks!
With Best Regards,
Elmer

We just rolled back to the first version and is all working now
On Thu, Oct 4, 2018 at 4:35 PM Elmer Thomas<EMAIL_ADDRESS>wrote:

Hello @leovazquezz1 https://github.com/leovazquezz1, @seif1000
https://github.com/seif1000,
Could you please try to obtain the error message like so
https://github.com/sendgrid/sendgrid-nodejs/blob/master/packages/mail/USE_CASES.md#success-failure-errors?
Thanks!
With Best Regards,
Elmer
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/sendgrid/sendgrid-nodejs/issues/758#issuecomment-427160118,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AbR4j0Su_KEozelco9-DA0t8vPgdY5Vkks5uhnEggaJpZM4XFME_
.

HI @leovazquezz1,
I'm not sure what you mean by rolled back to the first version? Do you mean that you are using a different version of the SDK? If so, which one?
@seif1000,
Were you able to figure out the issue?


Cherry-picks for the 4.2 branch (future 4.2.3) - 1st batch

Very early, I'll add more commits. But making a draft PR already so I don't forget the ones already cherry-picked.
Edit: Will merge this small batch already to fix CI.

Thanks!


FR: add more strings

This PR adds missing settings strings.

In your changes this new key has an additional space at the start, and that causes the check to fail:
" Settings.TrackerSettings.Trackers.CustomName.Description":

Whoops, let me fix that really quick.

Thanks for the translations!


Error: 'Hashtable' was not declared in this scope Unable to use the lbrary

Describe the Issue
The library not working with the latest version of Arduino and ESP32
Library Name and Version:
Name: Hashtable
Version: 1.0.0
Environment:

Platform/OS: Windows 11
Arduino IDE version (2.3.2):

Library Source:

[ Ardiono Lib Manager]

Expected Behavior
Compile the examples
Actual Behavior
Examples report error during compilation:
C:\Users\virco\AppData\Local\Temp.arduinoIDE-unsaved2024616-25348-1iian4e.3zv\Example\Example.ino: In function 'int main()':
C:\Users\virco\AppData\Local\Temp.arduinoIDE-unsaved2024616-25348-1iian4e.3zv\Example\Example.ino:22:5: error: 'Hashtable' was not declared in this scope
22 |     Hashtable<String, int> myHashtable; // Create a Hashtable with keys of type String and values of type int. You can declare Hashtable with any combination...<AnyType, AnyType>
|     ^~~~~~~~~
C:\Users\virco\AppData\Local\Temp.arduinoIDE-unsaved2024616-25348-1iian4e.3zv\Example\Example.ino:22:21: error: expected primary-expression before ',' token
22 |     Hashtable<String, int> myHashtable; // Create a Hashtable with keys of type String and values of type int. You can declare Hashtable with any combination...<AnyType, AnyType>
|                     ^
C:\Users\virco\AppData\Local\Temp.arduinoIDE-unsaved2024616-25348-1iian4e.3zv\Example\Example.ino:22:23: error: expected primary-expression before 'int'
22 |     Hashtable<String, int> myHashtable; // Create a Hashtable with keys of type String and values of type int. You can declare Hashtable with any combination...<AnyType, AnyType>
|                       ^~~
C:\Users\virco\AppData\Local\Temp.arduinoIDE-unsaved2024616-25348-1iian4e.3zv\Example\Example.ino:25:5: error: 'myHashtable' was not declared in this scope
25 |     myHashtable.put("apple", 5);
|     ^~~~~~~~~~~
C:\Users\virco\AppData\Local\Temp.arduinoIDE-unsaved2024616-25348-1iian4e.3zv\Example\Example.ino:47:5: error: 'SimpleVector' was not declared in this scope
47 |     SimpleVector keys = myHashtable.keys(); // Get a vector of all the keys in the hashtable
|     ^~~~~~~~~~~~
C:\Users\virco\AppData\Local\Temp.arduinoIDE-unsaved2024616-25348-1iian4e.3zv\Example\Example.ino:47:24: error: expected primary-expression before '>' token
47 |     SimpleVector keys = myHashtable.keys(); // Get a vector of all the keys in the hashtable
|                        ^
C:\Users\virco\AppData\Local\Temp.arduinoIDE-unsaved2024616-25348-1iian4e.3zv\Example\Example.ino:47:26: error: 'keys' was not declared in this scope
47 |     SimpleVector keys = myHashtable.keys(); // Get a vector of all the keys in the hashtable
|                          ^~~~
exit status 1
Compilation error: 'Hashtable' was not declared in this scope
To Reproduce
Steps to reproduce the behavior:

Include library '...'
Initialize the library '...'
See error

Error Message & Code Snippet
If applicable, add the error message and the piece of code that causes the issue.
// Your code that triggers the error
Screenshots
If applicable, add screenshots to help explain your problem.

Additional Context
Add any other context about the problem here.

<!-- End of the issue report template. -->

/*
Example Name: Example For Hashtable Library
Basic example for the Hashtable library. This example demonstrates the basic functionality of the Hashtable library.

The circuit:
This Library does not Require any Circuits to run.

Created  month day year   // 02/18/2024
By author's name braydenanderson2014 (Brayden Anderson)
Modified day month year  // 02/18/2024
By author's name  braydenanderson2014 (Brayden Anderson)

https://github.com/braydenanderson2014/C-Arduino-Libraries/tree/Release/README.md

*/
#include <Arduino.h>
#include <Hashtable.h>
int main() {
Hashtable<String, int> myHashtable; // Create a Hashtable with keys of type String and values of type int. You can declare Hashtable with any combination...<AnyType, AnyType>
// Adding key-value pairs to the hashtable
myHashtable.put("apple", 5);
myHashtable.put("banana", 3);
myHashtable.put("cherry", 8);

// Retrieving values by key
int appleCount = myHashtable.getElement("apple");
int bananaCount = myHashtable.getElement("banana");

Serial.println("Apple count: " + appleCount);
Serial.println("Banana count: " + bananaCount);

// Removing a key-value pair
myHashtable.remove("cherry");

// Checking if a key exists
if (myHashtable.containsKey("cherry")) {
    Serial.println("Cherry exists in the hashtable.");
} else {
    Serial.println("Cherry does not exist in the hashtable.");
}

// Iterating through keys
SimpleVector<String> keys = myHashtable.keys(); // Get a vector of all the keys in the hashtable
for (const String& key : keys) { // Iterate through the keys, using a range-based for loop... String& is used to avoid copying the key
    Serial.print("Key: ");
    Serial.print(key.c_str()); // c_str() returns a pointer to the underlying char array of the String
    Serial.print(", Value: ");
    Serial.println(myHashtable.getElement(key)); // Get the value associated with the key
    Serial.println(*myHashtable.get(key)); // Get the value associated with the key using a pointer
}

return 0;

}

I apologize for not getting back to you sooner. I am aware of version 1.0 having issues with the arduino library manager. There should be version 1.0.1 that is a beta but it should have solved the issue. (Check the GitHub for it)
https://github.com/braydenanderson2014/ArduinoHashtable
I tested myself and it was working just fine with no problems (1.0.0). Make sure you notice that the examples are in .cpp format and not .ino format which means that could cause problems.

I did notice when using the giga board arduino will not compile, so it's possible the issue occurs as well when you use an esp board. I would suggest using platformio as I have not encountered this problem with that at all with any board I have used. Unfortunately this appears to be an issue with arduino and not the library itself .


add support for Amazon Music

Is it possible to add suport for Amoazon Music?
or is there any addon for this?
Tanks
Dominik

Hi, I don't believe there is a Mopidy extension for playing music from Amazon prime, last time I looked they didn't provide an API that allowed streaming. There might be more up to date info at https://discourse.mopidy.com/search?q=Amazon


pdftk no longer maintained, consider using something else?

Hello, this looks like a really useful tool. However, it depends on pdftk, which is no longer maintained. For example, Fedora retired this package six years ago: https://src.fedoraproject.org/rpms/pdftk.
Would you consider using pdf-stapler (Python-based) or qpdf (C++ with Python bindings) instead?

Thank you for the information, I had no idea that pdftk was problematic. I'll try out the alternatives you suggested.

Note: pdf-stapler uses pypdf under the hood -- you'd probably want to use that instead.

@rocketraman If you want to help with testing, see branch issue-5

@svenssonaxel  Tried out the issue-5 branch but doesn't see to be working very well for me. The window that opens first shrinks down to a very small size, then the signature is shown in the middle of the first page. None of the controls to move the signature or navigate through pages work.
I'm using KDE on Fedora 38.

@rocketraman Could you please try branch issue-5 again?

@rocketraman Could you please try branch issue-5 again?

Hi @svenssonaxel ! Pretty much the same as before. I see this error on startup:
/home/raman/opt/bin/pdf-sign:437: SyntaxWarning: invalid escape sequence '\('
[ignored, w, h, *ignored2]=fromCmdOutput(['pdfinfo', filePath], '^.*\nPage size: +([0-9.]+) x ([0-9.]+) pts( \([A-Za-z0-9]+\))?\n.*$')

After startup the window is quite small. The signature is in the middle and cannot be moved as far as I can tell. I also cannot navigate through the pages.
If I actually try to save the signature, it writes out a file, but page 3 of my 3 page PDF has been replaced by page 1 with my signature in the middle of the page.

@svenssonaxel :

@rocketraman I'd like some version information to try to reproduce this.
python3 --version

Python 3.12.3

which -a python3 gs qpdf pdftk pdfinfo

which: no pdftk in (...)
/usr/bin/python3
/bin/python3
/home/raman/.linuxbrew/bin/python3
/home/raman/.linuxbrew/bin/python3
/usr/bin/gs
/bin/gs
/usr/bin/qpdf
/bin/qpdf
/usr/bin/pdfinfo
/bin/pdfinfo

gs --version

10.02.1

qpdf --version

qpdf version 11.6.4
Run qpdf --copyright to see copyright and license information.

pdftk --version

fish: Unknown command: pdftk

pdfinfo --help 2>&1|head -n 1

pdfinfo version 23.08.0

python3 -m tkinter

@rocketraman
And your window manager and desktop environment?

@rocketraman And your window manager and desktop environment?

KDE Plasma 5.27.11 on X11.

@rocketraman I've tried with kwin 5.27.5, python 3.12.3, tkinter 8.6.13. I wasn't able to reproduce all of the issues, but I'd still like you to pull branch issue-5 and try again.

The window that opens first shrinks down to a very small size: I wasn't able to reproduce with the current code, but I have replaced the relevant logic to something I believe should be more stable.
None of the controls to move the signature or navigate through pages work.: I was able to reproduce and fix the page navigation problem. I was not able to reproduce any problem moving the signature, except that it can take a moment, depending on how complex the page is.
If I actually try to save the signature, it writes out a file, but page 3 of my 3 page PDF has been replaced by page 1 with my signature in the middle of the page.: Should be fixed.

Thanks for the new drop. I'm on KDE Plasma 6.1.1 on Wayland now (after many years of trying Wayland every year and then giving up, I'm finally staying on Wayland this year!).
Other updated versions (if not listed here, its the same version as before):

qpdf is now 11.9.1
pdfinfo is now 24.02.0
Tcl/Tk 8.6.13

I've given the latest issue-5 branch a try.

The window size that opens is still quite small, but it is now at least usable. I see its running through XWayland, so the "Legacy applications (X11): Apply scaling themselves" setting in KDE might be relevant. My displays are 3840x2160 and scaled at 130%.
I can now navigate through pages. Its very slow but works. It takes about 2s to switch between pages.
I cannot move the signature at all, either by clicking or using the arrow keys. Enlarging and shrinking works.
Saving the signed PDF does now work.

The window is hard-coded to open with 800x600 geometry, intended to be small enough to fit on pretty much all screens. It should be possible to resize it though. Does resizing work for you?
I'm glad page navigation works. The 2s to switch between pages is due to the hacky way a page is shown; it is extracted from the source pdf using qpdf, then converted to an image and lastly loaded. If the pdf or page is complex/large, or the temporary file system is slow, this will take some time. I don't think I'll improve this much in the foreseeable future.
I do want to fix the key presses and clicks, though. I've now pushed a debug version. Could you try some key presses and clicks, and send me the output? Thanks!

The window is hard-coded to open with 800x600 geometry, intended to be small enough to fit on pretty much all screens. It should be possible to resize it though. Does resizing work for you?

That's really small for modern screens, especially high-DPI ones. But yes, it is resizable.

I'm glad page navigation works. The 2s to switch between pages is due to the hacky way a page is shown; it is extracted from the source pdf using qpdf, then converted to an image and lastly loaded. If the pdf or page is complex/large, or the temporary file system is slow, this will take some time. I don't think I'll improve this much in the foreseeable future.

My test PDF is 3 pages, 580kb. Large, but not huge. The temp filesystem is tmpfs backed by NVMe SSDs (and I have plenty of memory so it should never even see the SSD), so it should be pretty quick. For inspiration, maybe you could look at the way pdfarranger does it.

I do want to fix the key presses and clicks, though. I've now pushed a debug version. Could you try some key presses and clicks, and send me the output? Thanks!

Here is the output:
Debug: in dbg(event) for root <KeyPress>: char=, delta=0, height=??, keycode=64, keysym=Alt_L, keysym_num=65513, num=??, send_event=False, serial=676, state=16, time=122153149, type=2, widget=., width=??, x=261, x_root=5619, y=72, y_root=851
Debug: in onclick(event): char=??, delta=0, height=??, keycode=??, keysym=??, keysym_num=??, num=1, send_event=False, serial=4643, state=16, time=122163360, type=4, widget=.!canvas, width=??, x=991, x_root=6003, y=1268, y_root=1417
Debug: in dbg(event) for root <Button>: char=??, delta=0, height=??, keycode=??, keysym=??, keysym_num=??, num=1, send_event=False, serial=4643, state=16, time=122163360, type=4, widget=.!canvas, width=??, x=991, x_root=6003, y=1268, y_root=1417
Debug: in onclick(event): char=??, delta=0, height=??, keycode=??, keysym=??, keysym_num=??, num=1, send_event=False, serial=5038, state=16, time=122165356, type=4, widget=.!canvas, width=??, x=393, x_root=5405, y=1427, y_root=1576
Debug: in dbg(event) for root <Button>: char=??, delta=0, height=??, keycode=??, keysym=??, keysym_num=??, num=1, send_event=False, serial=5038, state=16, time=122165356, type=4, widget=.!canvas, width=??, x=393, x_root=5405, y=1427, y_root=1576
Debug: in onclick(event): char=??, delta=0, height=??, keycode=??, keysym=??, keysym_num=??, num=1, send_event=False, serial=5471, state=16, time=122169100, type=4, widget=.!canvas, width=??, x=237, x_root=5249, y=473, y_root=622
Debug: in dbg(event) for root <Button>: char=??, delta=0, height=??, keycode=??, keysym=??, keysym_num=??, num=1, send_event=False, serial=5471, state=16, time=122169100, type=4, widget=.!canvas, width=??, x=237, x_root=5249, y=473, y_root=622
Debug: in onkey(event): char=, delta=0, height=??, keycode=116, keysym=Down, keysym_num=65364, num=??, send_event=False, serial=5472, state=16, time=122170656, type=2, widget=., width=??, x=652, x_root=5659, y=903, y_root=1047
Debug: in onkey(event): char=, delta=0, height=??, keycode=116, keysym=Down, keysym_num=65364, num=??, send_event=False, serial=5854, state=16, time=122171426, type=2, widget=., width=??, x=652, x_root=5659, y=903, y_root=1047
Debug: in onkey(event): char=, delta=0, height=??, keycode=116, keysym=Down, keysym_num=65364, num=??, send_event=False, serial=5854, state=16, time=122171896, type=2, widget=., width=??, x=652, x_root=5659, y=903, y_root=1047
Debug: in onkey(event): char=, delta=0, height=??, keycode=114, keysym=Right, keysym_num=65363, num=??, send_event=False, serial=6570, state=16, time=122175756, type=2, widget=., width=??, x=652, x_root=5659, y=903, y_root=1047
Debug: in onkey(event): char=, delta=0, height=??, keycode=114, keysym=Right, keysym_num=65363, num=??, send_event=False, serial=6904, state=16, time=122176618, type=2, widget=., width=??, x=652, x_root=5659, y=903, y_root=1047
Debug: in onkey(event): char=, delta=0, height=??, keycode=114, keysym=Right, keysym_num=65363, num=??, send_event=False, serial=6904, state=16, time=122177203, type=2, widget=., width=??, x=652, x_root=5659, y=903, y_root=1047
Aborted

That's really small for modern screens, especially high-DPI ones. But yes, it is resizable.

Made it adaptive, does that feel better?

it should be pretty quick.

I've sped up the startup, at least on my side, and also added debug prints to find out what is taking so long on your side.

Could you try some key presses and clicks

Here is the output:

This is a little mysterious; I see nothing wrong in this output. I've pushed a heavier load of debug prints. Could you please

Try it out as it is, with clicking and arrow keys. Make sure to wait a good while, up to 10s, in case it's just very slow.
If the signature really does not change position, look through the debug output for the latest mention of temporary files ...signature-positioned.pdf and ...display.png. Open them and see in which ones the signature is correct.
Send me the output for a similar session as your last one. It's going to be more output this time, so you might want to pipe it.

Made it adaptive, does that feel better?

Yes!

it should be pretty quick.

I've sped up the startup, at least on my side, and also added debug prints to find out what is taking so long on your side.

Could you try some key presses and clicks

Here is the output:

This is a little mysterious; I see nothing wrong in this output. I've pushed a heavier load of debug prints. Could you please

Try it out as it is, with clicking and arrow keys. Make sure to wait a good while, up to 10s, in case it's just very slow.
If the signature really does not change position, look through the debug output for the latest mention of temporary files ...signature-positioned.pdf and ...display.png. Open them and see in which ones the signature is correct.

I'm not sure what I'm looking for here... ...signature-positioned.pdf is just a 60x40mm blank PDF with my signature positioned exactly in the middle. And ...display.png is the entire page with the signature in the original location (the center).

Send me the output for a similar session as your last one. It's going to be more output this time, so you might want to pipe it.

output.txt

Thank you, I might've found the issue, but not yet solved it.
Some pdf signatures work but not others. I have attached good-signature.pdf and bad-signature.pdf. On my machine,

They look identical when opened in a PDF reader
When used as a signature with pdf-sign, good-signature.pdf works as expected. It is possible to position it with both pointer clicks and arrow keys. When pressing S, the signature is located in the correct position in the resulting pdf.
When used as a signature with pdf-sign, bad-signature.pdf exhibits the behavior you describe. It is positioned in the middle and cannot be moved. Pressing S produces a pdf looking as what was shown, with the signature in the middle.

Can you confirm that all of the abive is the case for you as well?
bad-signature.pdf
good-signature.pdf

@svenssonaxel Yes, I can confirm the same behavior on my machine for bad-signature.pdf and good-signature.pdf.

Fixed on my side, can you confirm that everything is working for you now?

Yes it works!

@rocketraman Thanks for all your help. Feel free to open new issues for any remaining concerns.


Add some unit tests for PyPiClient.

Also fixed a typo in the class name.

@lucyzhang929 Right now this test is doing actual HTTP calls to get the package info. Since you were already planning on looking at these tests, do you want to look into stubbing out the http calls with sinon?


Make clientlib tests faster, simpler, and more robust.

Turns out I was a little off re: where the slowdown was coming from; every request made in the populate_server() fixture was triggering a call to sha512_crypt.verify, which is (intentionally) very slow.
This patch mocks that out during the client tests, since we aren't actually testing that bit, but do need that backend loaded for some of the tests.
I also still went ahead with ripping out the HTTP server; some of the other benefits are described in the commit message.

On my laptop, the client tests took a total of about 2 minutes, vs 50 minutes before the change.

Whoa!  Seeing Travis only run for like 10 minutes feels weird now haha.

Quoting Ian Ballou (2017-07-17 10:00:52)

Why do we need the dummy function?

It's used to replace verify() for the duration of the test -- which is
where all of the time had been going. See the assignment statements
immediately below. (the test gets run where yield is executed).

Quoting Naved Ansari (2017-07-17 10:40:23)

MOCK_SWITCH_TYPE = 'http://schema.massopencloud.org/haas/v0/switches/mock'
OBM_TYPE_MOCK = 'http://schema.massopencloud.org/haas/v0/obm/mock'
OBM_TYPE_IPMI = 'http://schema.massopencloud.org/haas/v0/obm/ipmi'
We aren't using these constants anywhere in the tests. Might as well
remove it (or use it) while we are cleaning up the tests.

Will do.

<EMAIL_ADDRESS>+def dummy_verify():

"""replace sha512_crypt.verify with something faster (albeit broken).

I don't really understand how this works.
1. What was calling it (db-auth?)
2. How are we over-riding/mocking the original ?
3. Why do we keep sha512_crypt.verify in old and then restore it after
yield? It still works if I don't do this.

It works, but it's slow. This is where most of the time was going.
Since both of you had questions, I'm going to take that as a sign that
the docs need to be better; I'll update it.

@Izhmash, @naved001, does the new docstring make things more clear?
Also, @naved001, I got rid of those constants.

2 sign offs, so merging.


pin directory/files to ipfs from go program

input is (directory path) aka put folder
input is (file path) aka put file
output is cid as str

go run main.go --app diffdock --input-dir /path/to/pdbs (mode, network and other flags in future)
print CID


Add warp-drive and wasm-components as dependencies

Signed-off-by: Will Johnson<EMAIL_ADDRESS>

Landed as: 64460ff933237cfdd61a66027795d0626f408204


[BUG] Images Missing

Description of the bug
profile images missing in Team page
Please add screenshots (if applicable)

Add any other context about the problem here
No response
Checklist

[X] I have read the Contributing Guidelines
[X] I have checked the existing issues
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

Thanks, but similar to #436. Closing this now!


ukernels: add bf16 * bf16 -> bf16 optimized tile functions for x86 and arm64.

This should fix the "50x slowdown" performance issue #15504.

PTAL @benvanik


Improve the way to compute distance in cylindrical model

Prerequisites

[x] I have read the Contributing Guidelines.
[x] I have read the Code of Conduct.
[x] If this is a non-trivial change, I have already opened an accompanying Issue.
[x] If applicable, I have included documentation updates alongside my code changes.

Description

Use more generic format to compute 3d distance from line to line and point to line
If obstruction is behind site, los zone is clear

Test Plan

Unittests
Performance comparison on some benchmarks. The runtime of LOS was reduced.

Added a .coveragerc file so that test files, init.py and external libraries are excluded.

Fix a bug: The intersection point should be checked in two cases (line to line or point to line), rather than only once.
Validation:

I generated 10 M set of 3 random points (two site points and the grid top point) to compute the distance. Given the 1e-6 tolerance, which is tolerance on abs(new_res / old_res) / new_res, all the results are the same.
The new method is 2x faster than the old one, when starting with the three points as the input.
The new method does not impact much (accelerate by 5% ~ 10% on our benchmarks) on the total LOS time , because
a. the heaviest computation of the old method is only done once for each pair of sites
b. LOS does not only has the obstruction check.

Thanks to @dbeylkin for proposing this decent, concise and generic method.

Since it's been a while, maybe run through the big 10M point check again. But it looks good to me :)

Ran checks gain. The result is still identical and the statistics does not change much. The new method is about 2x faster.


refactor(nextjs-template): componetize the parts of DendronLayout.tsx

In addition to cleaning up DendronLayout, this also optimizes Mermaid so that it only loads the mermaid library once and only once, when a note page that has a mermaid chart is encountered.
Cleanup some of the frontend code

Track if isMobile and whether or not the sidebar is open using a useDendronContext hook.  Can add more to that state in the future.
Split the DendronLayout component to make it easier to grok in the future.

Dendron Extended PR Checklist

NOTE: the links don't work. you'll need to go into the wiki and use lookup to find the note until we fix some issues in the markdown export

Code
Basics

[x] code should follow Code Conventions
[x] circular dependency check: make sure your code is not introducing new circular dependencies in plugin-core.  See Avoiding Circular Dependencies.
[x] sticking to existing conventions instead of creating new ones

eg: if configuration for utilities are already in one module or package, add future utilities there as well

Extended

General

[ ] check whether code be simplified
[ ] check if similar function already exist in the codebase. if so, can it be re-used?
[ ] check if this change adversely impact performance

Operations

[ ] when shipping this change, will it just work or will it introduce additional operational overhead due to complicated interface or known bugs?

Architecture

[ ] check if code is introducing changes on a foundational class or interface. if so, call for design review if needed

eg: making changes to DNode

Instrumentation
Basics

[ ] if you are adding analytics related changes, make sure the Telemetry docs are updated

Extended

[ ] can we track the performance of this change to know if it is successful?

eg: see usage for export pod

Tests
Basics

[ ] Write Tests
[ ] Confirm existing tests pass
[ ] Confirm manual testing
[ ] Common cases tested
[ ] 1-2 Edge cases tested
[ ] If your tests changes an existing snapshot, snapshots have been updated

Extended

[ ] If you are adding a new language feature (graphically visible in VS Code/preview/publishing), an example is included in the test workspace
CSS

[x] display is correct for following dimensions

[x] sm: screen ≥ 576px, eg. iphonex, (375x812)
[x] lg: screen ≥ 992px
[ ] xxl: screen ≥ 1600px eg. mac (1600x900)

[ ] display is correct for following browsers (across the various dimensions)

[ ] safari
[x] firefox
[x] chrome

Docs

[ ] if your change reflects documentation changes, also submit a PR to dendron-site and mention the doc PR link in your current PR
[ ] does this change introduce a new or better way of doing things that others need to be aware of? if so, an async should be created and a process added in Development or Packages

Close the Loop
Extended

[ ]  is this a developer BREAKING change? if another person cloning from this branch will need to adjust their dependencies or mental model of the architecture, then it is. if this is the case, make sure this is communicated according to Close Loop

eg: breaking dev change due to new dependency

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: hkievet:x: hkievet<EMAIL_ADDRESS>seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.✅ hkievet❌<EMAIL_ADDRESS><EMAIL_ADDRESS>seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

looks like you need to add your gmail to github to sign the CLA

@kevinslin When I press "recheck" it just brings me to the homepage of github.  I updated my email so now it's "public", which I'm not a huge fan of, but I guess it's not that big of a secret anyways haha.  I'm not sure how to move forward with the CLA agreement issues.


ShutDown

What is the use of "Shut down the machine before beginning failover"?

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

ID: 9814de5d-d6e2-463d-f4b9-dffa577daec3
Version Independent ID: 577fe16b-ce8a-8a73-b040-a9ba9abfe35b
Content: Fail over and reprotect Azure VMs replicated to a secondary Azure region for disaster recovery with the Azure Site Recovery service.
Content Source: articles/site-recovery/azure-to-azure-tutorial-failover-failback.md
Service: site-recovery
GitHub Login: @rayne-wiselman
Microsoft Alias: raynew

Thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

thanks for your feedback.

We will now close this issue. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.


Fix Assertion Bug

Codecov Report
Attention: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Files with missing lines
Patch %
Lines

...in/java/seedu/address/storage/ThemePreference.java
0.00%
1 Missing :warning:

Files with missing lines
Coverage Δ
Complexity Δ

...in/java/seedu/address/storage/ThemePreference.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)


Unpack content pack with correct option

Summary
Using the --foreground option prevents database
access, which is an error if setup has not been
run (which is the case at install time).

Seems no one is the habit of reviewing my PRs for the Windows installer, so I'll go ahead and merge.


update node engine support to 12 or greater

stop node-10 support.

to be clear ... stop supporting node-10 as a target ie.--kind nodejs:10
additionally, 12 should be removed as it is eol in April.
https://nodejs.org/en/about/releases/


Emails with pictures not sent with not very informative error message

Checklist

[X] I have used the search function to see if someone else has already submitted the same bug report.
[X] I will describe the problem with as much detail as possible.

App version
6.801
Where did you get the app from?
F-Droid
Android version
13
Device model
Realme
Steps to reproduce
Compose Email with some images, even moderate size like 2x130kb. Images usually compressed with imagepipe or similar.
Sender and receiver both Gmail.
After a while I see the notification "Failed to send some messages/unable to send message" and the message is stuck in outbox.
Trying to resend it many times will never fix the problem. Network is better than enough.  Sometimes moving to drafts, re-editing and re-sending helps. Most of the time I have to remove the attachments and then it works immediately.
Error message is not informative but best guess the Gmail server considers the email malformed or illegal?
Expected behavior
Send message or provide detailed error message.
Actual behavior
Doesn't send with poor error message.
Logs
Have enabled debug logging but was not asked where to save the logs and don't see export logs option ... willing to retry of course

I ran across this recently.  When I was attempting to send it (and resend it), I saw no network traffic with tcpdump from my phone to my mail server.  However, the workaround to move the E-mail to draft then resend worked.

App version
6.803

Where did you get the app from?
F-Droid

Android version
14

Device model
Google Pixel


Multi vault support

🚀 The feature, motivation and pitch
I have multiple Obsidian vaults (directories). Is it possible to add support for multiple vaults?
Alternatives
No response
Additional context
No response

Hey @mertnuhoglu we have a PR right now that would support this: #155

Very nice to see that more people are interested in this. Please critique this alternative approach:
Each buffer knows what vault it belongs to automatically by checking the path hierarchy for .obsidian folders, these lookups can also be cached. Basically something like what I did here but returning the vault path: is_obsidian_vault.
Two benefits:

No need to explicitly set a vault dir or workspaces in the configuration.
Each buffer knows its context so commands can be applied in the right context automatically.

@oflisback, I like the simplicity of that. But I also like how #155 gives users more control. That said, I think this functionality could be built on top of #155 easily. Once that merges we can explore this more.

I'll follow up on the templates question in the PR.

Closing as this is now fully supported through the config.workspaces option. As of #277 you can also override certain settings for each workspace.


Module '"path/Header.astro"' has no default export

What version of astro are you using?
1.6.13
Are you using an SSR adapter? If so, which one?
None
What package manager are you using?
npm
What operating system are you using?
Mac
Describe the Bug

I'm facing this error. I have tried looking if TS is responsible by uninstalling it and deleting it manually. But, it didn't work.
Link to Minimal Reproducible Example
https://stackblitz.com/edit/withastro-astro-9zqwmw?file=src%2Fcomponents%2FHeader.astro,src%2Fcomponents%2FMobileNav.astro,src%2Flayouts%2FBaseLayout.astro,astro.config.mjs
Participation

[ ] I am willing to submit a pull request for this issue.

The underlying issue causing this particular instance of the problem has been fixed with the new TSX output (currently in pre-release)
Thank you for this issue!


figure out how to delineate different resourcespace types

We were talking about setting permissions per resource type, but the current API calls don't have a way of figuring out which type a given ingested asset would belong to.
The simplest idea would be to allow users to declare a type in the ingest screen, but this leaves room for user error. Need to discuss whether this is acceptable.

Just add this as a dropdown in the ingest form. Default to BAMPFA item (general asset permissions).

Confirming that it will be determined by a users home department. It's going to be used more for restrictions on asset types, so doesn't need to be super granular (film scan vs video xfer vs audio recording)


Set user language from browser header if no cookie is available

The language selection is an additional screen between navigating to irail.be and performing a search. Selecting a language takes almost as long as taking a train, the language selection is intrusive and does not feel really user-friendly
Current situation:

Visit irail.be for the first time, or with cleared cookies.
Language selection is shown. The user needs to select a language before he can search for trains.
User selects language and continues.

Proposed improvement:

Visit irail.be for the first time, or with cleared cookies.
Language is deducted from Accept-Language header. If Dutch or French is not found in the header, English is used as fall-back.
User can instantly search for trains
(optional) a notification bar is shown asking the user if he wants to change his language. This does not hinder searching for trains

When the user has already visited irail.be, the previous language is used. (This is already the case)

There's also the navigator.language(s) that can be used (https://developer.mozilla.org/en-US/docs/Web/API/NavigatorLanguage/language)

Also, we should move away from this laravel session thing. It's really awkward... We should be able to just use a cookie for this imo.
Can we fix this?

https://github.com/iRail/hyperRail/blob/master/app/Http/Middleware/Language.php#L32 should be appended with $request->server('HTTP_ACCEPT_LANGUAGE'); (and then be parsed)

This functionality was implemented using locale_lookup. This means the php_intl module is required. This function was chosen as it implements the search protocol for languages and keeps the weights in mind.
http://php.net/manual/en/locale.lookup.php
Note:
Users can change between languages using the "Language" link on the bottom of the page. This link was already there. However, this link is always shown in the current language, meaning an Englishman looking at the site won't recognize it if it's in Dutch for some reason. Since there are only 3 languages, maybe this could be changed to "Nederlands - Francais - English". Or maybe it could be in a more visible place? (e.g. flags in the header)


Transition and probability in Update belief of Multi Object Search

I am currently using the Multi-object search example. While going through the code of update_histogram_belief ... I came across this issue :
https://github.com/h2r/pomdp-py/blob/85d9a3182e6a883e44315617c9fdfde484d05c01/pomdp_py/representations/belief/histogram.py#L64
If the transitions are not deterministic, the probability function of the current object will be called with the "ObjectState" .
But in the line https://github.com/h2r/pomdp-py/blob/85d9a3182e6a883e44315617c9fdfde484d05c01/pomdp_problems/multi_object_search/models/transition_model.py#L57, it expects the full "MosOOState". Is there any way to resolve this?

In MOS, the belief state over objects are individually updated and collected together via OOBelief. To address the issue, you can call update_histogram_belief on every object belief state, and pass in the set of object states as the next_state_space argument to  update_histogram_belief.

In MOS, the belief state over objects are individually updated and collected together via OOBelief. To address the issue, you can call update_histogram_belief on every object belief state, and pass in the set of object states as the next_state_space argument to update_histogram_belief.

I believe the update_histogram_belief is already being called on every object belief state in the current code. It is the next_state_space construction that was causing the issue - each state in the next state space must be of the type MOSOOState because the probability function is defined on that.
I just realized I can update the probability function to accept both types of states (similar to how the observation_model.probability can work with both types of objects).
Thank you.


NOTE: in JS, you have to call start() method to execute invokeScriptAsync()

don't know why MS didn't told us this.
when using js, you have to use invokeScriptAsync() in the following way.
//html
<x-ms-webview src="URL" id="frm"></x-ms-webview>
//JS
var webV = document.getElementById("frm");
webV.invokeScriptAsync("functionName","parameters").start();

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

ID: 15b50e95-d8c9-71f5-2f3c-d2e3d5504000
Version Independent ID: 90579498-c001-9031-4362-d5ce7dc1a911
Content: WebView.InvokeScriptAsync(String, IIterable<String>) Method (Windows.UI.Xaml.Controls) - Windows UWP applications
Content Source: https://cpubwin.visualstudio.com/DefaultCollection/windows-uwp/_git/winrt-api-build?path=%2fwinrt-api-build%2fwindows.ui.xaml.controls.webview.yml&version=GBlive&_a=contents
Product: uwp
Technology: winrt-reference
Git Login: jwmsft
Microsoft Alias: jimwalk

@jevansaks could you assign this to @adambarlow who is driving WebView right now?

@shaikh-amaan-fm
How do you call this method within an event like a click or DOMContentLoaded event?  When I added start to the end of invokescriptasync I got an error message stating "Cannot await void".

maybe change the signature of your handler method to "async void"?


Feature/event markers

The UI part worked for me at least. Took me a minute to realize I needed to click on the waypoint to add the marker. I assume this'll be addressed by docs later.


Feature Request: Direct Access to Related Entries from Single Relation Fields for Easier Management

Dear maintainer,
I hope this message finds you well. Thanks for your awesome project. I am writing to request a feature enhancement for the Admin UI of Pocketbase that I believe would greatly improve the user experience and efficiency for administrators working with database collections.
Currently, when managing entries with single relations between collections, the Admin UI only displays the related entry's ID. As a result, I have to manually navigate to another table and search for the entry using its ID, which can be time-consuming and cumbersome.
To streamline this process, I would like to propose the following feature:
Direct Access to Related Entries from Single Relation Fields:
When clicking on a single relation field, the system should automatically redirect users to the specific related entry for quick and easy management. This feature would eliminate the need to manually search for related entries and would significantly increase efficiency when working with interconnected data.
Benefits of this feature include:

Improved user experience: Users can navigate through related entries more seamlessly, resulting in a smoother workflow.
Time savings: Administrators will save time by not having to search for related entries manually, allowing them to focus on other tasks.
Enhanced data management: By enabling direct access to related entries, users can more effectively manage and update interconnected data.

I believe this feature would be a valuable addition to the Pocketbase Admin UI and enhance the overall functionality of the platform. Thank you for considering my request, and I look forward to hearing your thoughts on this proposed enhancement.
Best regards,
John

I've added it in my todo to consider enabling opening the edit panel from the relation picker, but I'm not sure if it will be a good idea to have the same behavior from the listing since it could result in accidental record edit.
For now this remains out of the roadmap as there are already plenty of other more major tasks to work on, but if anyone wants to pick it feel free to file a PR and I'll review it.

Side notes:

the Admin UI only displays the related entry's ID.

You have the option to choose the displayable relation fields from the relation field options.

I have to manually navigate to another table and search for the entry using its ID, which can be time-consuming and cumbersome.

When you click on the main record > "Open picker" you'll find a separate search and edit btn on hover over the related record (as mentioned previously I'll consider also adding the edit btn in the relation picker overview/selections list).


Initial import

Import my ad hoc scripts to somewhere I can do CI on them.

I'm not sure why that test run failed, I've never seen the LXC containers fail to create before. Let's try again...

Hmmm, that time the swift proxy container never got it one of its IPs, which is also a failure I've never seen before.


dnscollector crashed

Sorry, it's difficult to find any good output, just got from collector logs:
`INFO: 2021/12/04 22:00:47.482078 processor dnstap parser - running... waiting incoming dns message
INFO: 2021/12/04 22:00:47.483445 collector dnstap - receiver framestream initialized
INFO: 2021/12/04 22:00:47.582560 collector dnstap - <IP_ADDRESS>:51020 - connection closed
INFO: 2021/12/04 22:00:47.974034 collector dnstap - <IP_ADDRESS>:51024 - new connection
INFO: 2021/12/04 22:00:47.974083 dnstap processor - initialization...
INFO: 2021/12/04 22:00:47.974499 processor dnstap parser - geoip is enabled
INFO: 2021/12/04 22:00:47.974519 processor dnstap parser - running... waiting incoming dns message
INFO: 2021/12/04 22:00:47.976095 collector dnstap - receiver framestream initialized
panic: runtime error: slice bounds out of range [:26] with capacity 24
goroutine 33916470 [running]:
github.com/dmachard/go-dnscollector/subprocessors.DecodeAnswer(0x8767, 0xc0000315f0, {0xc005b2a5d0, 0x16, 0x18})
/build/subprocessors/dnsparser.go:436 +0x451
github.com/dmachard/go-dnscollector/subprocessors.(*DnstapProcessor).Run(0xc0003a7de0, {0xc0001fe6f0, 0x2, 0x2})
/build/subprocessors/dnstapparser.go:212 +0xed9
created by github.com/dmachard/go-dnscollector/collectors.(*Dnstap).HandleConn
/build/collectors/dnstap.go:69 +0x265
INFO: 2021/12/05 17:50:08.043053 main - config loaded...
INFO: 2021/12/05 17:50:08.043162 main - starting dnslogger...
INFO: 2021/12/05 17:50:08.043179 webserver - enabled
INFO: 2021/12/05 17:50:08.043261 logger logfile - enabled
INFO: 2021/12/05 17:50:08.043465 collector dnstap - enabled
INFO: 2021/12/05 17:50:08.044879 main - running all collectors and loggers...
INFO: 2021/12/05 17:50:08.044924 collector dnstap - starting collector...
INFO: 2021/12/05 17:50:08.045052 webserver - running in background...`

Can you just confirm the version of the collector v0.12.0 ?

yes, looks like it's latest version: v0.12.0
INFO: 2021/12/07 06:02:31.297356 processor dnstap parser - geoip is enabled
INFO: 2021/12/07 06:02:31.297366 processor dnstap parser - running... waiting incoming dns message
INFO: 2021/12/07 06:02:31.298836 collector dnstap - receiver framestream initialized
runtime: goroutine stack exceeds<PHONE_NUMBER>-byte limit
runtime: sp=0xc0208c0370 stack=[0xc0208c0000, 0xc0408c0000]
fatal error: stack overflow

runtime stack:
runtime.throw({0x9cb67f, 0xdfc220})
        /usr/local/go/src/runtime/panic.go:1198 +0x71
runtime.newstack()
        /usr/local/go/src/runtime/stack.go:1088 +0x5ac
runtime.morestack()
        /usr/local/go/src/runtime/asm_amd64.s:461 +0x8b

goroutine 37 [running]:
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x13, {0xc000377ba7, 0x41, 0x59})
        /build/subprocessors/dnsparser.go:464 +0x34f fp=0xc0208c0380 sp=0xc0208c0378 pc=0x7920cf
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x0, {0xc000377ba7, 0x0, 0x0})
        /build/subprocessors/dnsparser.go:479 +0x1fe fp=0xc0208c0420 sp=0xc0208c0380 pc=0x791f7e
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x0, {0xc000377ba7, 0x0, 0x0})

Thank to report this crash. I succeed to reproduce on my side.
I will improve the decoding part to make it more robust with invalid/malformed dns packets

Could you try the new beta release with the docker tag v0.13.0-b1 ?

Hi @dmachard
I redeployed my environment and got next:
docker logs -f dnscollector_ext
INFO: 2021/12/08 10:31:09.366935 main - version v0.13.0-b1
INFO: 2021/12/08 10:31:09.367040 main - config loaded...
INFO: 2021/12/08 10:31:09.367045 main - starting dnslogger...
INFO: 2021/12/08 10:31:09.367061 webserver - enabled
INFO: 2021/12/08 10:31:09.367125 logger logfile - enabled
INFO: 2021/12/08 10:31:09.367221 collector dnstap - enabled
INFO: 2021/12/08 10:31:09.368429 main - running all collectors and loggers...
INFO: 2021/12/08 10:31:09.368471 collector dnstap - starting collector...
INFO: 2021/12/08 10:31:09.368534 collector dnstap - running in background...
INFO: 2021/12/08 10:31:09.368742 webserver - running in background...
INFO: 2021/12/08 10:31:09.368829 logger to file - running in background...
INFO: 2021/12/08 10:31:09.368907 webserver - starting http api...
INFO: 2021/12/08 10:31:09.369137 collector dnstap - is listening on [::]:6000
INFO: 2021/12/08 10:31:09.369176 webserver - is listening on [::]:8080
INFO: 2021/12/08 10:31:10.779497 collector dnstap - <IP_ADDRESS>:38268 - new connection
INFO: 2021/12/08 10:31:10.779536 dnstap processor - initialization...
INFO: 2021/12/08 10:31:10.780063 processor dnstap parser - geoip is enabled
INFO: 2021/12/08 10:31:10.780091 processor dnstap parser - running... waiting incoming dns message
INFO: 2021/12/08 10:31:10.780119 collector dnstap - receiver framestream initialized
INFO: 2021/12/08 10:31:11.423069 collector dnstap - <IP_ADDRESS>:34330 - new connection
INFO: 2021/12/08 10:31:11.423114 dnstap processor - initialization...
INFO: 2021/12/08 10:31:11.423499 processor dnstap parser - geoip is enabled
INFO: 2021/12/08 10:31:11.423521 processor dnstap parser - running... waiting incoming dns message
INFO: 2021/12/08 10:31:11.454439 collector dnstap - receiver framestream initialized
runtime: goroutine stack exceeds<PHONE_NUMBER>-byte limit
runtime: sp=0xc020ae0358 stack=[0xc020ae0000, 0xc040ae0000]
fatal error: stack overflow

runtime stack:
runtime.throw({0x9cb69f, 0xdfc220})
        /usr/local/go/src/runtime/panic.go:1198 +0x71
runtime.newstack()
        /usr/local/go/src/runtime/stack.go:1088 +0x5ac
runtime.morestack()
        /usr/local/go/src/runtime/asm_amd64.s:461 +0x8b

goroutine 40 [running]:
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x13, {0xc00026eba7, 0x41, 0x59})
        /build/subprocessors/dnsparser.go:482 +0x32f fp=0xc020ae0368 sp=0xc020ae0360 pc=0x79212f
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x0, {0xc00026eba7, 0x0, 0x0})
        /build/subprocessors/dnsparser.go:497 +0x1ed fp=0xc020ae0408 sp=0xc020ae0368 pc=0x791fed
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x0, {0xc00026eba7, 0x0, 0x0})
        /build/subprocessors/dnsparser.go:497 +0x1ed fp=0xc020ae04a8 sp=0xc020ae0408 pc=0x791fed
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x0, {0xc00026eba7, 0x0, 0x0})
        /build/subprocessors/dnsparser.go:497 +0x1ed fp=0xc020ae0548 sp=0xc020ae04a8 pc=0x791fed
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x0, {0xc00026eba7, 0x0, 0x0})
        /build/subprocessors/dnsparser.go:497 +0x1ed fp=0xc020ae05e8 sp=0xc020ae0548 pc=0x791fed
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x0, {0xc00026eba7, 0x0, 0x0})
        /build/subprocessors/dnsparser.go:497 +0x1ed fp=0xc020ae0688 sp=0xc020ae05e8 pc=0x791fed
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x0, {0xc00026eba7, 0x0, 0x0})
        /build/subprocessors/dnsparser.go:497 +0x1ed fp=0xc020ae0728 sp=0xc020ae0688 pc=0x791fed
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x0, {0xc00026eba7, 0x0, 0x0})
        /build/subprocessors/dnsparser.go:497 +0x1ed fp=0xc020ae07c8 sp=0xc020ae0728 pc=0x791fed
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x0, {0xc00026eba7, 0x0, 0x0})
        /build/subprocessors/dnsparser.go:497 +0x1ed fp=0xc020ae0868 sp=0xc020ae07c8 pc=0x791fed
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x0, {0xc00026eba7, 0x0, 0x0})
        /build/subprocessors/dnsparser.go:497 +0x1ed fp=0xc020ae0908 sp=0xc020ae0868 pc=0x791fed
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x0, {0xc00026eba7, 0x0, 0x0})
        /build/subprocessors/dnsparser.go:497 +0x1ed fp=0xc020ae09a8 sp=0xc020ae0908 pc=0x791fed
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x0, {0xc00026eba7, 0x0, 0x0})
        /build/subprocessors/dnsparser.go:497 +0x1ed fp=0xc020ae0a48 sp=0xc020ae09a8 pc=0x791fed
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x0, {0xc00026eba7, 0x0, 0x0})
        /build/subprocessors/dnsparser.go:497 +0x1ed fp=0xc020ae0ae8 sp=0xc020ae0a48 pc=0x791fed
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x0, {0xc00026eba7, 0x0, 0x0})
        /build/subprocessors/dnsparser.go:497 +0x1ed fp=0xc020ae0b88 sp=0xc020ae0ae8 pc=0x791fed

I fixed the first one but not the second.
Is it possible for you to share a network dump (with dns queries and replies) or not ?

Crash reproduced on my side with a bad dns answer (invalid pointer in qname minimization)
I will try to fix that.
=== RUN   TestDecodeDnsAnswer_InvalidPtr
runtime: goroutine stack exceeds<PHONE_NUMBER>-byte limit
runtime: sp=0xc020178360 stack=[0xc020178000, 0xc040178000]
fatal error: stack overflow

runtime stack:
runtime.throw({0x7b304d, 0xa45ba0})
        /usr/lib/go-1.17/src/runtime/panic.go:1198 +0x71
runtime.newstack()
        /usr/lib/go-1.17/src/runtime/stack.go:1088 +0x5ac
runtime.morestack()
        /usr/lib/go-1.17/src/runtime/asm_amd64.s:461 +0x8b

goroutine 6 [running]:
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x1f, {0xc040177f11, 0x2f, 0x2f})
        /home/denis/Lab/github.com/go-dnscollector/subprocessors/dnsparser.go:482 +0x38f fp=0xc020178370 sp=0xc020178368 pc=0x71668f
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x0, {0xc040177f11, 0x0, 0x0})
        /home/denis/Lab/github.com/go-dnscollector/subprocessors/dnsparser.go:497 +0x238 fp=0xc020178410 sp=0xc020178370 pc=0x716538
github.com/dmachard/go-dnscollector/subprocessors.ParseLabels(0x0, {0xc040177f11, 0x0, 0x0})

Can you retry with the docker tag v0.13.0-b2 ?

it works
but now, I see:

ERROR: 2021/12/08 15:15:46.103392 procesor dnstap parser - dns parser answer error: invalid pkt, invalid offset to decode label
ERROR: 2021/12/08 15:15:49.141756 procesor dnstap parser - dns parser answer error: invalid pkt, invalid offset to decode label
ERROR: 2021/12/08 15:15:53.173656 procesor dnstap parser - dns parser answer error: invalid pkt, dns payload too short to get label
ERROR: 2021/12/08 15:15:55.105934 procesor dnstap parser - dns parser answer error: invalid pkt, invalid offset to decode label
ERROR: 2021/12/08 15:15:59.138370 procesor dnstap parser - dns parser answer error: invalid pkt, dns payload too short to get label
ERROR: 2021/12/08 15:16:02.108654 procesor dnstap parser - dns parser answer error: invalid pkt, dns payload too short to get label

is it possible to get more information about error message?
like client ip who generated this packet?

Not yet, but I have in mind to add a new metrics to follow this type of malformed packet (instead to log error) and to add a list of associated client ip

Is it based on metrics from the dnscollector ?

yes
the most strange metric is:  hyphen
I can't understand why it's come as metric

really nice, are you using grafana ? if yes it's possible to share your dashboard ?
For the hyphen, I have an explanation. It's because of the dnscollector
The following rdataype is supported:
0:     "NONE",
1:     "A",
2:     "NS",
3:     "MD",
4:     "MF",
5:     "CNAME",
6:     "SOA",
7:     "MB",
8:     "MG",
9:     "MR",
10:    "NULL",
11:    "WKS",
12:    "PTR",
13:    "HINFO",
14:    "MINFO",
15:    "MX",
16:    "TXT",
17:    "RP",
18:    "AFSDB",
19:    "X25",
20:    "ISDN",
21:    "RT",
22:    "NSAP",
23:    "NSAP_PTR",
24:    "SIG",
25:    "KEY",
26:    "PX",
27:    "GPOS",
28:    "AAAA",
29:    "LOC",
30:    "NXT",
33:    "SRV",
35:    "NAPTR",
36:    "KX",
37:    "CERT",
38:    "A6",
39:    "DNAME",
41:    "OPT",
42:    "APL",
43:    "DS",
44:    "SSHFP",
45:    "IPSECKEY",
46:    "RRSIG",
47:    "NSEC",
48:    "DNSKEY",
49:    "DHCID",
50:    "NSEC3",
51:    "NSEC3PARAM",
52:    "TSLA",
53:    "SMIMEA",
55:    "HIP",
56:    "NINFO",
59:    "CDS",
60:    "CDNSKEY",
61:    "OPENPGPKEY",
62:    "CSYNC",
64:    "SVCB",
65:    "HTTPS",
99:    "SPF",
103:   "UNSPEC",
108:   "EUI48",
109:   "EUI64",
249:   "TKEY",
250:   "TSIG",
251:   "IXFR",
252:   "AXFR",
253:   "MAILB",
254:   "MAILA",
255:   "ANY",
256:   "URI",
257:   "CAA",
258:   "AVC",
259:   "AMTRELAY",
32768: "TA",
32769: "DLV",

And bellow the function to get the associated string to the rdatatype
As you can see, by default this function return "-" when the rdatatype is unknown.
func RdatatypeToString(rrtype int) string {
	if value, ok := Rdatatypes[rrtype]; ok {
		return value
	}
	return "-"
}

is it possible to rename hyphen to "unrecognized" or "unknown"?
from my point of view, it will be more useful
https://tmpfiles.org/dl/171795/dnscollectornewtopstats-1638992646039.json

Can you open a issue to rename hyphen ?
thank for the dashboard


Create and automate tests

We need to create tests to ease the refactoring and eventually future developments of mros_reasoner
How should we do it @gavanderhoorn @marioney ?
Do we start with code-level Python unit tests and then node level testing?

See #84 and #58

[ ] later, unit tests can be created for the reasoner library.

Addressed by #84
If we need further tests we can create a separate issue.


PLAT-870: clarified polling mode interface

Details:

gives more meaningful names to the polling mode enum
MIN_CPU_POLLING mode handling sleeps with a timeout of 1 second rather than indefinitely
added load measurements, similarly to MIN_CONTEXT_SWITCH_POLLING mode

+1!


Align Vertex Buffer to 4 Bytes

With the octahedral compression, we had attributes of a size of 2 bytes
which potentially caused performance regressions on iOS/Mac
Now add padding to the normal/tangent buffer
For octahedral, normal will always be oct32 encoded
UNLESS tangent exists and is also compressed
then both will be oct16 encoded and packed into a vec4<GL_BYTE>
attribute

CC @clayjohn @RevoluPowered made some updates to make sure the bytes we have are used as efficiently as possible and created the PR!
just wondering if the logic might be confusing for those who want to vertex data to the buffers directly?

Sweet I will check this out tonight

Checking the PR out now :) sorry work was keeping me busy

Performance is great, no reported issues!

Thanks!


Add "bisect" tool for finding where oasis-node and db diverge

Debug tool in support of https://app.clickup.com/t/8692rq7ev (wherein the indexer dead-reckoned a negative number of escrow shares). But the tool is also intended for future debugging of any badly dead-reckoned values.
Sample output:
----------------------------------
 GOOD height 3027601:   node 0                 db 0
 GOOD height 3885517:   node 0                 db 0
 GOOD height 4314476:   node 0                 db 0
 GOOD height 4528955:   node 0                 db 0
 GOOD height 4636195:   node 0                 db 0
 GOOD height 4663005:   node 0                 db 0
 GOOD height 4676410:   node 0                 db 0
 GOOD height 4683113:   node 0                 db 0
 GOOD height 4686464:   node 0                 db 0
 GOOD height 4687302:   node 0                 db 0
 GOOD height 4687512:   node 0                 db 0
 GOOD height 4687617:   node 0                 db 0
*GOOD height 4687618:   node 0                 db 0
 BAD  height 4687619:   node<PHONE_NUMBER>53242   db 0
 BAD  height 4687621:   node<PHONE_NUMBER>53242   db 0
 BAD  height 4687624:   node<PHONE_NUMBER>53242   db 0
 BAD  height 4687630:   node<PHONE_NUMBER>53242   db 0
 BAD  height 4687643:   node<PHONE_NUMBER>53242   db 0
 BAD  height 4687669:   node<PHONE_NUMBER>53242   db 0
 BAD  height 4687721:   node<PHONE_NUMBER>53242   db 0
 BAD  height 4688140:   node<PHONE_NUMBER>53242   db 0
 BAD  height 4689815:   node<PHONE_NUMBER>53242   db 0
 BAD  height 4743434:   node<PHONE_NUMBER>53242   db 0

Thanks, Warren.
Yes, this is not fully integrated into CI and has potential to rot. But I think that's the right tradeoff given its very occasional utility.


Enhancement - Use annotations to bypass bind method

Using the bind method is a good way of saying this class implements this interface for this scope.
My suggestion though is to allow developers to use an annotation on the concrete class instead of the bind method if they like, e.g.:
@Implements(scope="scope_name")
public class SomeClass {}

Advantages is that it is easier to find, as bind can be anywhere in the code, but with the annotation you know exactly where to find it.
Disadvantage is that it is very static (compile time), might be hard to read if it implements for multiple different scopes

There are multiple concerns with this approach:

the implements annotation is not part of JSR 330, we try to stick to it
the scope = scope_name can only work for staticly named scopes whereas most of the scopes in TP have dynamic names (usually an object with a life cycle)
how would TP decide if multiple implementations are provided ?
scanning annotations is costly, it would require generating code to issue the binding statement indeed, which would add to the complexity of TP

Thanks for the feedback, twas only a suggestion and it sounds like it's not going to gel well with the current status of the library. I'll close :)


Taking into account the block size limit in inherents

Is there an existing issue?

[X] I have searched the existing issues

Experiencing problems? Have you tried our Stack Exchange first?

[X] This is not a support question.

Description of bug
We track weight during block creation/block import, but weight only cares about execution time and with 2D weights also about storage proof size.
We do keep track of size in propose here but only for extrinsics. As far as I understand the code, we don't care about the size limits for inherents - we just assume they fit.
Now at least for parachain inherent data this is not necessarily the case. Candidates can be quite heavy, if there are lots of disputes those can also be quite some amount of data.
If it is indeed the case that all other inherents have negligible size, then some size limiting within the parachains inherent could work. Still a bit fuzzy: What is the size limit, how much of it can we actually use (as other stuff will still have some size) ...
In any case this feels a bit unsatisfying, if we for example assume we can use 70% of the block size for parachain consensus and then another inherent assumes the same, we are already at 140%.
Ideally we would have something like this:

Inherents are ordered by priority
When asked for the inherent data, we get passed how much size is left to use.
We can use that size to determine what data to include and what to leave out.

Should we introduce a mechanism like this? Other thoughts or have I overlooked something?
Steps to reproduce
No response

One downside is, that this is on the node side already. Things like passing in more data than needed and let it be filtered by the runtime would no longer work with this approach. We used to do this for disputes - not a great pattern, but necessary if you are lacking data on the node side. Yet probably a non-issue, in such cases you should probably just add a runtime API to get the necessary information on the node side, as we did for disputes as well.

I'm not sure if you are mixing here weight with the block size. With weights V2 the block size is actually part of the weight, hidden inside the storage proof (not sure if that is really the case, but I would do it that way). The block size is the size of all extrinsics + the block header.
So, do you mean the block size or the weight?

Anyhow, in the benchmarks I indeed got a quite large second component ... large assuming this is bytes. So this would account for ~1.4MB, which would be in the right ballpark, but has the same issue as the time component: It is static, while it should be dependent on the input parameters.

But this should be the amount of data that is read from the state? Which isn't important at all for the relay chain, as we don't record any storage proof.
https://github.com/paritytech/substrate/blob/2bf16d831b777d3c44445d869689a66f0c0e64c6/frame/system/src/extensions/check_weight.rs#L73-L86 we are also already ensuring that the block length stays in its boundaries in the runtime.

Given that the proof size weight is meant to prevent oversized PoVs, it should at also account for block size ... but the very least, the naming is very misleading.

Yeah the name is misleading, but we currently also don't include the block size. This is the reason for this issue, which you already have seen :D

Actually no - #13810 would not resolve this issue at least not by itself. We would need to adjust benchmarks to ignore the storage proof part for standalone chains like the relay chain, so it only tracks actual block size. Otherwise we would heavily underutilize the available size.


useRootNavigator is not working with Navigator 2.0

useRootNavigator is not working with Navigator 2.0
For example:
 OpenContainer(
              useRootNavigator: true,
              routeSettings: const RouteSettings(
                name: Routes.SecondPage,
              ),
        .....

the URL is not changing on open the container
also it's not working with anything has useRootNavigator property
Flutter Doctor:

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel unknown, 2.2.3, on Microsoft Windows [Version 10.0.19043.1151], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[√] Chrome - develop for the web
[√] Android Studio (version 4.1.0)
[√] VS Code (version 1.59.1)
[√] Connected device (3 available)
• No issues found!

Hi @AbdallahR99 Thanks for filing the issue, Please share a minimal and complete reproducible code to better address the issue
Thanks

@maheshmnj
Here:
https://github.com/AbdallahR99/nav2issue
as simple example with openContainer and dialog
is using the useRootNavigator  but it's not working the url is not changing

@AbdallahR99 I see that you are using a third-party plugin get for routing could you please try removing the third-party plugin and see if that fixes the issue and the issue persists, feel free to write back with the updated code sample.
Thanks.

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


⚠ GitLab Server has degraded performance

In bb8c365, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 11049 ms

Resolved: GitLab Server performance has improved in 7b4b588.


Issue after installation

Provisioning went fine.  But then when I attempt to navigate to the CustomLearningAdmin.aspx page I get this:
Something went wrong
If the problem persists, contact the site administrator and give them the information in Technical Details.
[SPLoaderError.loadComponentError]:
Failed to load component "c6062b6a-f22c-4475-897b-25081673c54a" (CustomLearningAdminWebPart). Original error: Failed to load URL 'https://publiccdn.sharepointonline.com/uif.sharepoint.com/sites/UIFAPPS/ClientSideAssets/26c9cd9f-db62-49b1-b102-7f0dad281ea0/webpart-m365lpstrings_en-us_5ebf05c87596e5efe5e691d313907759.js' for resource 'M365LPStrings' in component 'c6062b6a-f22c-4475-897b-25081673c54a' (CustomLearningAdminWebPart). There was a network problem. This may be a problem with a HTTPS certificate. Make sure you have the right certificate.
INNERERROR:
Failed to load URL 'https://publiccdn.sharepointonline.com/mysite/sites/UIFAPPS/ClientSideAssets/26c9cd9f-db62-49b1-b102-7f0dad281ea0/webpart-m365lpstrings_en-us_5ebf05c87596e5efe5e691d313907759.js' for resource 'M365LPStrings' in component 'c6062b6a-f22c-4475-897b-25081673c54a' (CustomLearningAdminWebPart). There was a network problem. This may be a problem with a HTTPS certificate. Make sure you have the right certificate.
CALLSTACK:
t@https://modern.akamai.odsp.cdn.office.net/files/sp-client/sp-pages-assembly_en-us_6aa2fc520591708ec0b2ff861ee40b72.js:1:870055
t@https://modern.akamai.odsp.cdn.office.net/files/sp-client/sp-pages-assembly_en-us_6aa2fc520591708ec0b2ff861ee40b72.js:1:1013808
ff4n/c</e.buildErrorWithVerboseLog@https://modern.akamai.odsp.cdn.office.net/files/sp-client/sp-pages-assembly_en-us_6aa2fc520591708ec0b2ff861ee40b72.js:1:1036982
ff4n/c</e.buildLoadComponentError@https://modern.akamai.odsp.cdn.office.net/files/sp-client/sp-pages-assembly_en-us_6aa2fc520591708ec0b2ff861ee40b72.js:1:1033027
t/</<@https://modern.akamai.odsp.cdn.office.net/files/sp-client/chunk.systemjs-component-loader_en-us_06fb90fbb103ba8a0bb1.js:1:66114

This is a network or CDN problem with your tenant... there isn't really anything I can do to help.  I will say that others that have experienced it report that it normally clears itself up.

This is a network or CDN problem with your tenant... there isn't really anything I can do to help.  I will say that others that have experienced it report that it normally clears itself up.

Thanks for the quick response.
The issue wasn't network or CDN, but although the solution appeared to
provision correctly without error, I found that in the App Catalog the
solution was not deployed as the Deployed column was a value of "No."  So,
I selected the solution and clicked "Deploy" in the ribbon and then the
pages started working without error on the site.
Thank you.
On Thu, Jan 28, 2021 at 7:06 PM Julie Turner<EMAIL_ADDRESS>wrote:

This is a network or CDN problem with your tenant... there isn't really
anything I can do to help. I will say that others that have experienced it
report that it normally clears itself up.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pnp/custom-learning-office-365/issues/444#issuecomment-769502329,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALTXVXI2YRYYSDCF4RFU263S4IC3DANCNFSM4WX4UMAQ
.

Thanks for the quick response.
The issue wasn't network or CDN, but although the solution appeared to
provision correctly without error, I found that in the App Catalog the
solution was not deployed as the Deployed column was a value of "No."  So,
I selected the solution and clicked "Deploy" in the ribbon and then the
pages started working without error on the site.
Thank you.
On Thu, Jan 28, 2021 at 7:06 PM Julie Turner<EMAIL_ADDRESS>wrote:

This is a network or CDN problem with your tenant... there isn't really
anything I can do to help. I will say that others that have experienced it
report that it normally clears itself up.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pnp/custom-learning-office-365/issues/444#issuecomment-769502329,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALTXVXI2YRYYSDCF4RFU263S4IC3DANCNFSM4WX4UMAQ
.

excellent!

excellent!


[Mac OSX] Atom crashes since update to 1.9.4

When open Atom, or drag a folder onto atom or open a folder via the file menu (somehow I can open atom and my projects via the cli) I get the following:

This has not changed, even though I am on 1.9.6 now.
Deleting the Application Support/Atom folder did not help either. What else can I try?

That works, just like opening folders via cli (as mentioned above).

@mnquintana any ideas?

@lukasoppermann Can you paste the output of atom --version here?  Just want to make sure of something.

Sure:
Atom    : 1.9.6
Electron: 0.37.8
Chrome  : 49.0.2623.75
Node    : 5.10.0

Does ~/.atom exist, and if so, does ~/.atom/config.cson (or .json) exist as well?

Hey ~/.atom and ~/.atom/config.cson exist. (However ~/.atom/config.json does NOT)

This may be related to #12196.

Atom    : 1.9.8
Electron: 0.37.8
Chrome  : 49.0.2623.75
Node    : 5.10.0

This is different I think, mine was solved with the solution for #12196

Opening from the terminal with "atom ." seemed to resolve this.
The above screen was caused (repeatably) by double clicking atom from the Applications folder...with all atom files deleted.


Understanding Blockchains Interoperability via Cosmos Network

Article checklist
Attention
Our Peer Reviewer and Content Moderator teams do NOT provide any revisions services. All revisions and edits should be completed on your own forked repo (as to not take up room in the queue) in order for our team to review them all in a timely manner.
ANY ARTICLE SUBMITTED WITH GLARING ERRORS WILL BE IMMEDIATELY CLOSED.

As a rule of thumb - please be sure to only submit articles (pull requests) that are fully polished and ready to be published. Be sure to go through our resources documents for extra and 3rd party (vetted) resources to help improve overall technical writing.

Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels, under 300KB in size, and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

`This closes #6312

Finally, delete the article checklist notes in blockquotes and submit your PR. We look forward to reviewing your article.

plagiarism check done ✔

@lewe01 Some minor edits before we can move on for final review.

Hello @wilkistermumbi. The minor changes requested have been made. You can proceed with the review.
Thank you

@lewe01 Great job highlighting the key points about the Cosmos network! This PR will now proceed for final review.

Great job on the article @lewe01
cc: @wilkistermumbi

Great job on the article @lewe01
cc: @wilkistermumbi

@LinusMuema Thank you. cc @wilkistermumbi


Steam In-home-streaming has broken hardware decoding

Issue description
Steam ships with ffmpeg libraries (in .local/share/Steam/ubuntu12_32/libav*) that depend on libva.so.1. libva.so.1 does not work on NixOS in its current form because when combined with /run/opengl-driver-32/lib/dri, the following happens:
ffmpeg verbose: Opened VA display via X11 display :0.
ffmpeg error: Failed to initialise VAAPI connectilibva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: Trying to open /run/opengl-driver-32/lib/dri/radeonsi_drv_video.so
libva error: /run/opengl-driver-32/lib/dri/radeonsi_drv_video.so has no function __vaDriverInit_0_32
libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
libva info: Trying to open /usr/lib32/dri/radeonsi_drv_video.so
libva info: va_openDriver() returns -1
libva info: VA-API version 0.39.4

libva.so.1 tries to find the __vaDriverInit_0_32 symbol in the driver.so and fails, as the mesa compilation that produced radeonsi_drv_video.so was compiled when libva with MAJOR=1 and MINOR=1 was in scope, resulting in a __vaDriverInit_1_1 instead of the needed __vaDriverInit_0_32. The reason for this is libva-minimal being a build input to Mesa compilation instead of libva1-minimal. The logic for this madness is found within Mesa and the VA_DRIVER_INIT_FUNC definition that steals the function name from the VA lib used for compilation.
Steps to reproduce
Run steam and use in-home streaming. Turn on the in-home streaming diagnostics in the client steam settings and see that in the diagnostic you see the decoder library be "libavcodec software decoding". Also in the console of the steam invocation you will see the snippet above when starting to stream.
Suggested fixes:
Instead pushing libva1 into the steam runtime, we should push an updated version of libav*.so in there that links against libva.so.2 not libva.so.1. In the overridePackages of runtime-wrapped.nix, including ffmpeg+libva instead of libva1 kind of works, when after starting Steam, you delete $HOME/.local/share/Steam/ubuntu12_32/libav*. Then starting streaming, and the streaming client picks up the updated libav*.so. However, on the next Steam restart, Steam detects missing files and reinstalls them. I have yet to find a way to make this permanent. And I have no idea how this affects other programs run in the context of the steam runtime.

Known issue: https://github.com/ValveSoftware/steam-for-linux/issues/5339
Failed attempts so far:
Set LD_LIBRARY_PATH to something with updated ffmpegs libs fails because steam.sh prepends .local/share/Steam/ubuntu12_32 to LD_LIBRARY_PATH giving the broken ffmpeg precedent. However, there is a steam debugger hook later than that in the steam.sh script. With a bit of trickery, I was able to do:
DEBUGGER=${writeScript "ld-setter.sh" ''
#!shell
export LD_LIBRARY_PATH=/path-with-ffmpeg-libs:$LD_LIBRARY_PATH
# this executes the steam binary
exec $*
''}

However, when I go and inspect /proc/$steambinarypid/environ, I see that /path-with-ffmpeg-libs is gone from LD_LIBRARY_PATH. I don't know how and when this gets reset.

I also noticed this issue.

There is no way to replace or install libva1 or libva-x11 into latest Linux distros

NixOS should make this easy. Or is a global install needed not just for steam?

@clefru I'm trying to get hardware decoding in steam streaming working, so I applied this patch to runtime-wrapped.nix as you suggected:
--- a/pkgs/games/steam/runtime-wrapped.nix
+++ b/pkgs/games/steam/runtime-wrapped.nix
@@ -8,7 +8,8 @@ let
     libpulseaudio
     alsaLib
     openalSoft
-    libva1
+    libva
+    ffmpeg
     libvdpau
     vulkan-loader
     gcc.cc.lib

Then I run nix-build -A steam && ./result/bin/steam, remove steam libraries rm ~/.local/share/Steam/ubuntu12_32/libav*, but I'm still getting this error in stdout:
ffmpeg verbose: Opened VA display via X11 display :0.
ffmpeg verbose: libva: VA-API version 1.4.0
ffmpeg verbose: libva: va_getDriverName() returns 0
ffmpeg verbose: libva: Trying to open /run/opengl-driver-32/lib/dri/i965_drv_video.so
ffmpeg verbose: libva: Trying to open /usr/lib/dri/i965_drv_video.so
ffmpeg verbose: libva: Trying to open /usr/lib32/dri/i965_drv_video.so
ffmpeg verbose: libva: va_openDriver() returns -1
ffmpeg error: Failed to initialise VAAPI connection: -1 (unknown libva error).
CVAAPIAccel: av_hwdevice_ctx_create() failed
libavcodec software decoding with 4 threads

Am I missing something?

@uvNikita: A bit more than that is required unfortunately. You have to launch steam and before you start streaming manually overwrite files in the steam-runtime directory (ubuntu12_32) with updated so files. Then launch steam streaming from the UI and this should work. Here is list of files that you need to replace with update versions:
+    ln -s /lib32/steam-runtime/lib/libavcodec*.so* /foo
+    ln -s /lib32/steam-runtime/lib/libavutil*.so* /foo
+    ln -s /lib32/steam-runtime/lib/libavresample*.so* /foo
+    ln -s /lib32/steam-runtime/lib/libavformat*.so* /foo
+    ln -s /lib32/steam-runtime/lib/libgpm*.so* /foo
+    ln -s /lib32/steam-runtime/lib/libswscale*.so* /foo
+    ln -s /lib32/steam-runtime/lib/libgmp*.so* /foo
+    ln -s /lib32/steam-runtime/lib/libp11-kit*.so* /foo
+    ln -s /lib32/steam-runtime/lib/libvideo*.so* /foo

The fix will only be temporary and might screw up launching other games during that steam session. steam will also detect the changes on next launch and revert the modifications.
I do think the best strategy is to build a libva1 compatible compile of mesa.
Alternatively switch to parsec. I found it to work much better than steam streaming (no RX480 AMD encoding artefacts anymore, wohoo) and is available from my overlay here:
https://github.com/clefru/nur-packages/tree/master/pkgs/parsecgaming

Seems like the issue is finally fixed upstream: https://github.com/ValveSoftware/steam-for-linux/issues/5339#issuecomment-551350935.

This got fixed upstream.