attached images cannot be displayed (but can be saved)

Expected behavior
After receiving a message with an attached image, I see a line for the attached part (jpg) with two buttons: "Open" and "Save".   Whether or not the image has been downloaded, I expect that pushing "Open" leads to seeing the picture full screen.
Actual behavior
I see a black screen with "No thumbnail" in really really small white type in the middle.  The menu shows "Set picture as" and "Print".
After doing this, or maybe just after downloading, I see a preview in the message.  I have done "save" and verified that I can then use gallery to see the image from the sd card.
Steps to reproduce

Set up openkeychain and generate a key
get frustrated with clicking on approve for messages signed  by weak keys (but not unsigned messages) and set provider to none  (I have no idea if 1/2 are necessary; still fails with it turned back on)
Get an email with an attached image in INBOX.   So far  any sending MUA works, and in call cases other clients view the image fine.
Click "open"

Environment
K-9 Mail version: 5.111 (git master 5.111-15-gf388fe4
f388fe41b8992d8f80548e6c8124189895ae81f5)
Android version: CM 13
Account type (IMAP, POP3, WebDAV/Exchange):  IMAP
adb logcat
09-27 19:16:55.377 6264-7884/com.fsck.k9.debug E/OpenPgp API: IOException when writing to out
    java.io.IOException: write failed: EPIPE (Broken pipe)
    at libcore.io.IoBridge.write(IoBridge.java:498)
    at java.io.FileOutputStream.write(FileOutputStream.java:186)
    at org.openintents.openpgp.util.ParcelFileDescriptorUtil$TransferThread.run(ParcelFileDescriptorUtil.java:78)
    Caused by: android.system.ErrnoException: write failed: EPIPE (Broken pipe)
    at libcore.io.Posix.writeBytes(Native Method)
    at libcore.io.Posix.write(Posix.java:271)
    at libcore.io.BlockGuardOs.write(BlockGuardOs.java:313)
    at libcore.io.IoBridge.write(IoBridge.java:493)
    at java.io.FileOutputStream.write(FileOutputStream.java:186)
    at org.openintents.openpgp.util.ParcelFileDescriptorUtil$TransferThread.run(ParcelFileDescriptorUtil.java:78)
p

After uninstalling openkeychain and force-close and restart k-9, I still get the black/no-thumbnail display.

I experience the same, however it has nothing to do with openkeychain (I have never used it). It worked as expected with version 5.010 from f-droid, the bug is there since 5.113 f-droid. Well, if I remember correctly there also was 5.111 on f-droid, which showed the bug, too, but was replaced some days later due to the dark theme fix.

Same thing here. Android 7 on Nexus 6. Cannot open an attached image.

Works for me. What app is used to open the image?

It is cyanogenmods standard gallery-app 'com.android.gallery3d'.
Because of your question I just installed 'leafpic' from the f-droid
store -- now android asks which app to use in order to display the
attached image. After chosing leafpic, no picture is displayed. I have
to use the save/download workaround when using leafpic, too.

@cketti : I've been running a custom modified com.android.gallery3d that I forked from AOSP. Turns out that it does work with google photos...

I have been using the cyanogenmod gallery app, stock from CM 13.

So there's two options here:

There's a bug in how we are dispatching content to image viewers that Google Photos is able to work-around
There's a bug in the AOSP/CM gallery app. It sounds like they use much of the same underlying code base

I'm not sure which is more likely right now.

Well, what I can say, is that it used to work.
It also continues to work from other applications. For instance, if I use Amaze file manager, and select an image, open with gallery3d, then it loads the image as expected. Of course, it is probably dispatching the data in a different manner -- URI to filesystem vs. ???.

I want to repeat my statement in a somewhat clearer fashion: my system
(cyanogenmod 12.1) has NOT changed; I have NOT changed the app
used to view images. Opening attached images from k9mail worked when
using 5.010 from f-droid, but not with 5.111 and 5.113 from f-droid.
It seems like k9mail makes the difference.

+1 i have the same issue
i do not use CM and i use quickpic as gallery app

Thanks to both of you. I'll try and reproduce this with the quickpic app and look at what's changed.

Here's the debug trace for QuickPic
10-20 01:40:05.510 892-29388/? I/PackageManager: Setting last chosen activity com.alensw.PicFolder/.GalleryActivity for user 0:
10-20 01:40:05.511 892-29388/? I/PackageManager:   Action: "android.intent.action.VIEW"
10-20 01:40:05.511 892-29388/? I/PackageManager:   Category: "android.intent.category.DEFAULT"
10-20 01:40:05.511 892-29388/? I/PackageManager:   Type: "image/jpeg"
10-20 01:40:05.511 892-29388/? I/PackageManager:   AutoVerify=false
10-20 01:40:05.515 892-4637/? I/ActivityManager: START u0 {act=android.intent.action.VIEW dat=content://com.fsck.k9.debug.attachmentprovider/e4cc752c-2b4c-4efb-bd57-4adb84e7340e/40208/image/jpeg typ=image/jpeg flg=0x13080001 cmp=com.alensw.PicFolder/.GalleryActivity} from uid 10119 on display 0

vs (working) for Google Photos.
10-20 01:41:33.186 892-2892/? I/PackageManager: Setting last chosen activity com.google.android.apps.photos/.pager.HostPhotoPagerActivity for user 0:
10-20 01:41:33.186 892-2892/? I/PackageManager:   Action: "android.intent.action.VIEW"
10-20 01:41:33.186 892-2892/? I/PackageManager:   Category: "android.intent.category.DEFAULT"
10-20 01:41:33.186 892-2892/? I/PackageManager:   Type: "image/jpeg"
10-20 01:41:33.186 892-2892/? I/PackageManager:   AutoVerify=false
10-20 01:41:33.187 892-5724/? I/ActivityManager: START u0 {act=android.intent.action.VIEW dat=content://com.fsck.k9.debug.attachmentprovider/e4cc752c-2b4c-4efb-bd57-4adb84e7340e/40208/image/jpeg typ=image/jpeg flg=0x13080001 cmp=com.google.android.apps.photos/.pager.HostPhotoPagerActivity} from uid 10119 on display 0

As you can see we are using a perfectly normal ACTION_VIEW_INTENT with a content URI.
The behaviour of Google Photos is to display the file. The behaviour of QuickPic is to close the activity immediately.
After leaving it idle for a bit QuickPic crashed with an NPE:
Process: com.alensw.PicFolder, PID: 9595
java.lang.NullPointerException: Attempt to read from field 'com.alensw.b.v com.alensw.b.x.c' on a null object reference
at com.alensw.b.w.b(Unknown Source)
at com.alensw.c.k.h.run(Unknown Source)

I've uninstalled it again (I'm not a fan of Cheetah Mobile) because I'm not likely to learn more from a closed source app.
So I tried another one: Image Viewer by Byte Mobile.
10-20 02:06:54.399 892-3738/? I/ActivityManager: START u0 {act=android.intent.action.VIEW dat=content://com.fsck.k9.debug.attachmentprovider/e4cc752c-2b4c-4efb-bd57-4adb84e7340e/40208/image/jpeg typ=image/jpeg flg=0x13080001 cmp=com.pcvirt.ImageViewer/.PreviewActivity} from uid 10119 on display 0
...
10-20 02:06:54.735 12086-12086/? E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: content:/com.fsck.k9.debug.attachmentprovider/e4cc752c-2b4c-4efb-bd57-4adb84e7340e/40208/image%2Fjpeg (No such file or directory)
10-20 02:06:54.865 12086-12398/? W/System.err: java.io.FileNotFoundException: /content:/com.fsck.k9.debug.attachmentprovider/e4cc752c-2b4c-4efb-bd57-4adb84e7340e/40208/image%2Fjpeg (No such file or directory)
10-20 02:06:54.865 12086-12398/? W/System.err:     at java.io.FileInputStream.open(Native Method)
10-20 02:06:54.865 12086-12398/? W/System.err:     at java.io.FileInputStream.<init>(FileInputStream.java:146)
10-20 02:06:54.865 12086-12398/? W/System.err:     at java.io.FileInputStream.<init>(FileInputStream.java:99)
10-20 02:06:54.865 12086-12398/? W/System.err:     at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
10-20 02:06:54.865 12086-12398/? W/System.err:     at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
10-20 02:06:54.865 12086-12398/? W/System.err:     at com.pcvirt.ImageSearchActivity.search.providers.AbstractPagedImageSearch$Result.getFile(AbstractPagedImageSearch.java:411)
10-20 02:06:54.866 12086-12398/? W/System.err:     at com.pcvirt.ImageSearchActivity.search.providers.AbstractPagedImageSearch$Result.getImageFile(AbstractPagedImageSearch.java:457)
10-20 02:06:54.866 12086-12398/? W/System.err:     at com.pcvirt.ImageSearchActivity.helpers.SearchHelper.getItemShareUri(SearchHelper.java:180)
10-20 02:06:54.866 12086-12398/? W/System.err:     at com.pcvirt.ImageSearchActivity.helpers.SearchHelper.setIntentItems(SearchHelper.java:158)
10-20 02:06:54.866 12086-12398/? W/System.err:     at com.pcvirt.ImageSearchActivity.helpers.SearchHelper.getItemsShareIntent(SearchHelper.java:146)
10-20 02:06:54.866 12086-12398/? W/System.err:     at com.oajoo.bitmapviewer.BVPreviewFragment$17.run(BVPreviewFragment.java:762)
10-20 02:06:54.866 12086-12398/? W/System.err:     at java.lang.Thread.run(Thread.java:761)

Thank you Byte Mobile.
But why can Google Photos find the file....
Regression testing time...

The same is true for wav attachments. Before joining beta test I was able to

open images with QuickPic and
wav files with FX media player.

Now with 5.114 (and previous version) this doesn't work anymore.

QuickPic (4.5.2 neutered before cheetah kicked in)  stays empty,
FX media player says it can't open the file. VLC on the opposite is able to open it.

The Byte Mobile thing doesn't support content uris, so that's not relevant for our case.
Spent pretty much all day chasing this, here's what I think is happening in the gallery app:
First, a file descriptor is obtained in openOrDownloadInner from the contentresolver, nothing magic there. This FD is passed in createBitmapRegionDecoder to BitmapRegionDecoder and from there into a native interface that ends up in nativeNewInstanceFromFileDescriptor. My guess is that the SkFDStream used in there makes calls to lseek, which are unsupported by the FD we pass because it's not backed by a file.
From what I can tell, there might not be a way around file-backed filedescriptors :(

I created a PoC fix for this, which does solve the problem 4aceb251491832e7900a9fc987fa9e26d446b9c7
There are a couple of options here, the easiest way seems to be integrating a simple caching layer into either AttachmentController or AttachmentProvider

A popular bug on the side of attachment viewer apps seems to be calling InputStream.available()
in order to get the content size. For MuPDF  I sent a corresponding patch:
http://bugs.ghostscript.com/show_bug.cgi?id=696662
which is merged by now. For my personal MuPDF I also added some intent filters so that I can also view jpg, png, tiff, ....

I built from the attachment-ninjabranch fix.   Now I can click open on images and it works normally, like it used to.   With git master from a few days ago (d0b3caf9768bc6710d9e0702de260a6b73b72995), I still had the bug.


RES file not detected if there are multiple profiles

https://www.reddit.com/r/Enhancement/comments/2kly10/i_made_a_cross_platform_application_for_backing/cm3zual

Closed during rewrite


Bricked remarkable 2 after attempting to uninstall toltec

Hey, i followed his instructions in the link and after i rebooted it is stuck on remarkable is starting. Please help youre my only hope
https://github.com/toltec-dev/toltec/issues/295
Thank you in advance

Were you installing or uninstalling?
Can you still ssh into the rm2?
Do you have any launchers installed?

I was uninstalling, i had downloaded remux but removed it with opkg before following his instructions. I cant ssh into it anymore so i couldnt follow the after reboot instructios. Im currently banging my head against the wall trying to understand how i managed to brick my beloved 400$ device

It probably has to do with the line about the systemctl. Either xotctl or however it is called is not booting up or i messed up something with the /opt

I managed to ssh into it

I FIXED IT
so the problem was with the line systemctl disable opt.mount. All i had to do was ssh into it using a cable and then just enabling it and rebooting it. Thanks for the quick response and have a great day

That was going to be the next question; HOW are you sshing in the device?  Glad you figured it out.

Glad you managed to fix your issue @AntBoss. If other users stumble upon this, please just run toltecctl uninstall to uninstall Toltec, the instructions you followed on the linked issue were outdated. I updated the linked issue to make this clear.


Fix for Windows hooks

See issue #380

plugins/hooks/hooks.go:70 wasn't producing any output because b is empty and the error message is in err instead in this case. Idk what the correct way to handle this is, but it would be nice to print err instead of b when it has something useful to say.

And maybe we should do powershell -Command instead of cmd /c. Powershell is basically everywhere and has aliases for most nix commands, mv, rm, ls`, etc…

sounds reasonable to me!


add ability to turn off S3 public access block

In some cases where a customer has enabled Account wide S3 Bucket Public Access Block, there is no need to deploy bucket specific settings since all buckets will inherit from the account. This change should be completely optional and low impact.

closing this as its been tackled in #164
thanks @jameslarrea


add azure storage resources management script

[!warning]
This is public repository, ensure not to disclose:

[x] personal data beyond what is necessary for interacting with this pull request
[x] business confidential information, such as customer names

What kind of PR is this?
Required: Mark one of the following that is applicable:

[x] kind/feature
[ ] kind/improvement
[ ] kind/deprecation
[ ] kind/documentation
[ ] kind/clean-up
[ ] kind/bug
[ ] kind/other

Optional: Mark one or more of the following that are applicable:

[!important]
Breaking changes should be marked kind/admin-change or kind/dev-change depending on type
Critical security fixes should be marked with kind/security

[ ] kind/admin-change
[ ] kind/dev-change
[ ] kind/security
[ ] kind/adr

What does this PR do / why do we need this PR?

Adds script to create storage resources on Azure (resource group, storage account and storage containers) for ck8s-apps.

Fixes https://github.com/elastisys/mse-internal-docs/issues/189

Additional information to reviewers
Screenshots
Checklist

[ ] Proper commit message prefix on all commits

Change checks:

[x] The change is transparent
[ ] The change is disruptive
[ ] The change requires no migration steps
[ ] The change requires migration steps

Metrics checks:

[ ] The metrics are still exposed and present in Grafana after the change
[ ] The metrics names didn't change (Grafana dashboards and Prometheus alerts are not affected)
[ ] The metrics names did change (Grafana dashboards and Prometheus alerts were fixed)

Logs checks:

[ ] The logs do not show any errors after the change

Network Policy checks:

[ ] Any changed pod is covered by Network Policies
[ ] The change does not cause any dropped packages in the NetworkPolicy Dashboard

Pod Security Policy checks:

[ ] Any changed pod is covered by Pod Security Admission
[ ] Any changed pod is covered by Gatekeeper Pod Security Policies
[ ] The change does not cause any pods to be blocked by Pod Security Admission or Policies

Falco checks:

[ ] The change does not cause any alerts to be generated by Falco

Audit checks:

[ ] The change does not cause any unnecessary Kubernetes audit events
[ ] The change requires changes to Kubernetes audit policy

Bug checks:

[ ] The bug fix is covered by regression tests

We probably need to either have some documentation on how to get the storage account key or this script could patch the secrets configuration

We probably need to either have some documentation on how to get the storage account key or this script could patch the secrets configuration

Will look into it.


Blank screen on the second page that shows first 5 rows

Whenever I click continue after selecting a CSV file, I get a flash of the "Your Data" page with the first 5 rows displayed, then 1-2 seconds after the screen goes blank. No errors in the console, the inspector just shows <!-- --> in the body. View page source shows all the proper (as expected, anyway) HTML.
I tried updating all composer dependencies, no change.
Statamic v4.20.0
Data Import v1.3.0

Found the culprit: Antler tags in one of the content bodies I was trying to import. I stripped the tags and the import worked as expected.


Documentation v4

Describe the bug
Where can I find the documentation for v4?
When I visit the link in the README, I get redirected to the v3 page.
I cannot see the v4 version in the dropdown menu on the left.
Also, when I change the v3 in the URL to v4, I also get redirected.
I hope you can look into this. :wink:
Screenshots

Just checked, it now works!


ssl related issue on Dr Elephant

Hi,
My hadoop cluster is SSL enabled, I have added arguments for my truststore,
I have added these argument to configure SSL
jvm_args="-Devolutionplugin=enabled`` -DapplyEvolutions.default=true -Djavax.net.ssl.trustStore=......../jre/lib/security/jssecacerts
But it is still finding my Yarn on Yarn's HTTP and throwing an error:
Checking RM URL: http://jiten-XXX.XXX.jiten:8088/ws/v1/cluster/info
ERROR [Thread-12] com.linkedin.drelephant.ElephantRunner : java.lang.RuntimeException: Cannot get YARN resource manager address from Hadoop Configuration property: [yarn.resourcemanager.webapp.address].
Am I missing something to add? Please suggest.

Dr Elephant does not support SSL by default, you can reference pull request #475
I made changes on my own branch, it worked very well

Dr.Elephant changes for SSL enablement: #656

Hi,
My hadoop cluster is SSL enabled, I have added arguments for my truststore,
I have added these argument to configure SSL
jvm_args="-Devolutionplugin=enabled`` -DapplyEvolutions.default=true -Djavax.net.ssl.trustStore=......../jre/lib/security/jssecacerts
But it is still finding my Yarn on Yarn's HTTP and throwing an error:
Checking RM URL: http://jiten-XXX.XXX.jiten:8088/ws/v1/cluster/info
ERROR [Thread-12] com.linkedin.drelephant.ElephantRunner : java.lang.RuntimeException: Cannot get YARN resource manager address from Hadoop Configuration property: [yarn.resourcemanager.webapp.address].
Am I missing something to add? Please suggest.

@baggianand seems like you don't have property yarn.resourcemanager.webapp.address in your hadoop-conf.
To resolve the issue add
<property>      <name>yarn.resourcemanager.webapp.address</name>      <value>localhost(your_yarn_webaddress):8088(your yarn's configured port)</value>    </property>
to yarn-site.xml


not able to fetch epg from xml file

my XML file (see attachment, only zipped for uploading to github) does not seem to be recognized. it works very well with kodi-iptv but in iptvnator it seems to be stuck at "fetching". apparently it does not matter wether i host it on an http server or just point the configurator to the file by using "file:///path/to/xml".
any idea what could be wrong, is it maybe the structure auf the xml-file2?
guide.xml.zip

Thank you for the feedback. I will check the issue, probably it's related to the epg-parser library that is used in IPTVnator.

perfect! the xml is based on telerising.

can confirm it works with the latest version. congrats and thank you 🙏


Session.get() shouldn't call authenticate in the SSR environment

Update this if statement in can-connect-feathers to check for !window.doneSsr.  This will prevent unnecessary requests, speeding up page response times.  It will also keep sockets from being authenticated on the server when Session.get is called.

Closed in https://github.com/canjs/can-connect-feathers/pull/39


WIP: Add Azure DevOps build pipeline

Should we test on Node 12 too?

@petetnt Do the tests actually pass on Node 12?
We should start working on getting everything working on Node 12 because people are already using it. It won't be LTS until October but we definitely want to have it working before then. That's going to add something like 11 more checks though. 😬

@iansu haven't tested yet myself, but I did see that there were some issues with CRA / its dependencies on Node@12 at some point IIRC


SQL Server Date Format incorrect

Laravel Version: 5.4.X
PHP Version: 7.1.4, 7.0.18, 5.6.30
Database Driver & Version: sqlsrv(freetds)

Description:
Similar to #653 but I think this might be a newish bug maybe caused by this change: https://github.com/php/php-src/commit/53c036b30bdabedf841fb8716a7cd722bbab09a3.
My guess is that the releases in ubuntu 14.04 and maybe 16.04 don't include this patch since its newish and changes and is not entirely BC as we see here. Its possible though this is some other arcane combination of configurations, its hard to bisect.
Example trace:
in Carbon.php line 582
at Carbon::createFromFormat('Y-m-d H:i:s.000', '2017-04-28 17:23:08') in HasAttributes.php line 709
at Model->asDateTime('2017-04-28 17:23:08') in HasAttributes.php line 122
at Model->addDateAttributesToArray(array('id' => 1, 'name' => 'ab', 'email' =><EMAIL_ADDRESS>'created_at' => '2017-04-28 17:23:08', 'updated_at' => '2017-04-28 17:23:08')) in HasAttributes.php line 84
at Model->attributesToArray() in Model.php line 887
at Model->toArray() in Model.php line 916
at Model->jsonSerialize() in Model.php line 900
at Model->toJson() in Response.php line 67

Steps To Reproduce:
Convert a timestamp field from the database to a string. Any interaction with the timestamps that trigger toString() throws a fatal error and trigger this bug so a simple print $user->created_at or probably even trying to save back to the database would do the trick too.
Getting sqlserver setup can be tricky but luckily we've got a sqlserver docker image now. Even then getting php configured with it isn't easy so I've created a repo with a docker-compose script to easily demonstrate the error.
https://github.com/neclimdul/laravel_sqlserver
Its mostly some a Dockerfile, docker-compose.yml, and some entrypoint scripts to setup a functional site with data so you don't have to fiddle with running commands in docker images.
Additionally there is a controller that returns a user object obviously which is the worst site design ever but its a concise example of the bug. This return triggers the the error as soon as the created_at timestamp is converted to a string to be serialized.

Thinking about it more, the old issue and the non-standard format is almost certainly caused by the PHP bug. The previous reporter was getting that format not because of the SQL Server edition but because the client's locale was triggering http://www.freetds.org/userguide/locales.htm to use a different format. They could have just as easily modified that file to have it return the format Laravel expected.
I'm guessing the non-standard format in the grammar is there to work around this exact same bug and have it match the default or common locale format.
Unfortunately, now that PHP fixed the bug and there is hard coded value inside of PHP there is no way on current versions of PHP to get the format Laravel expects.

Any updates on this?

I use cweagans/composer-patches to deploy this patch into our app today. Past that I think we're waiting on the laravel team to review/approve the change. :(

propose change from datetime to datetime2. this type is indipendent from default language et dateformat.Majority language have format dmy,
Visit https://docs.microsoft.com/en-us/sql/t-sql/data-types/datetime-transact-sql

changes in sqlserver class

in  schema grammars  return 'datetime2' substitute 'datetime'
in query grammars
public function getDateFormat()
{
return 'Y-m-d H:i:s.0000000';
}

I should provide an update I guess since this is filed against 5.4. I still patch 5.6 and basically roll back the "fix" with .v and remove the getDateFormat() method entirely so it correctly respects my locale settings.

@neclimdul - with your update, are you saying this is fixed or not?
And is this a bug with PHP or Laravel? Your original post implies it is a problem with PHP?

Closing this issue because it's already solved, old or not relevant anymore. Feel free to reply if you're still experiencing this issue.

Yeah, I still patch to fix this issue.

Hello there, I just came across this problem on my laravel (passport) - sqlserver configuration and I noticed the problem was that when running "php artisan migrate:refresh --seed" or "php artisan passport:install" the error "SQLSTATE[22007]:" appeared for the reason that laravel sends this date format "Y-m-d H:m:s.v" but sqlserver recevies "Y-d-m H:m:s.v" so I change the order of the format from 'Y-m-d H:m:s.v' to 'Y-d-m H:m:s.v' on SqlServerGrammar.php file
public function getDateFormat()
{
return 'Y-d-m H:m:s.v';
}
Worked from me!
greetings!

I expect there is some sort of customization or localization on the date format SqlServer expects. I've not found any documentation on this and its only based on the fact that I and handful of others don't seem to match laravel's support and I was never able to get any CI using MS's SqlServer containers to work the same as our production systems.
I don't manage these database servers and I'm not familiar with the subtleties of managing SqlServer instances so if someone does land here and has pointers it would be great to some documentation links people can use to get their systems setup consistently.


suggestion: add tagging to the edit screen

I thought it would be nice to return to some of my old benches and do some tagging, but that's not an option in edit screen, could it be added?

I've got a working implementation of this on a local instance of OpenBenches. Current tags are shown between inscription and first photo, like on and using the same dialogue as on the page for adding a bench.

I need to figure out why sendmail on the machine I've got the instance running on seems unhappy and get sending mail to a local inbox to work so I can test changes to tags being included in the email that gets sent when a bench is edited. Also pending finding out what the deal is with #290


set max concurrent reconciles=10 for import-controller

Issue: https://github.com/open-cluster-management/backlog/issues/12399

/lgtm

/lgtm


Schema enhancements "Frameworks"

The DB schema needs to be enhanced to support frameworks which can be understood as different types of objectives, which will allow merging the SDG targets into the recommendations table and also include other types of recommendations (ie national implementation targets). The recommendations table will now store not only recommendations in the strict sense but any type of targets or objectives (that are all all aspirational). Later we could consider changing the name but suggest to keep for now.
The schema changes, endpoints and permissions are documented here
https://github.com/nmrf/sadata/issues/41#issuecomment-705146834
The tasks are

[x] update db schema as specified above, creating new and updating existing tables, as well as including indices on foreign keys
[x] create models for the new tables
[ ] set up serializers for the new tables/models, also add new fields/remove obsolete fields for updated tables/models
[ ] set up controllers for new tables/models.
[ ] set up and update policies for new and updated tables/models
[ ] set up and update tests for new and updated tables/models

Again see the https://github.com/nmrf/sadata/issues/41#issuecomment-705146834 for endpoints
In summary the new tables frameworks and the join tables framework_frameworks and taxonomy_frameworks are only to be changed during set up and not by the front-end. Therefore the only endpoint required is READ. They are similar to the existing taxonomies table.
All other new tables are simple join tables to allow many-to-many relationships between different concepts. For the join tables best use the existing sdgtarget_recommendations table/model as an example

tables

[ ] CREATE table frameworks

endpoints/permissions

[ ] frameworks, read: public (no authentication or role required for reading the frameworks)

@tmfrnz  the tables frameworks_frameworks and recommendations_recommendations are not needed because the relationships can be achieved in the same table.

@tmfrnz I found more complexity regarding the indicators and recommendations relationship. They seem to be tied via the measures table. I will remove that and tie them directly, but that will probably require extra testing.

@tmfrnz the tables frameworks_frameworks and recommendations_recommendations are not needed because the relationships can be achieved in the same table.

@oventi well we want to enable many-to-many relationships so not sure how you would want to achieve this?

@tmfrnz I found more complexity regarding the indicators and recommendations relationship. They seem to be tied via the measures table. I will remove that and tie them directly, but that will probably require extra testing.

@oventi could the recommendations have both, direct indicators and indicators through measures?
This relationship is used only for generating email reminders for "category managers" (manager of a category tagging a recommendation linked to an indicator (through a measure) will get an email if a scheduled progress report is missing for that indicator).

@tmfrnz I found more complexity regarding the indicators and recommendations relationship. They seem to be tied via the measures table. I will remove that and tie them directly, but that will probably require extra testing.

@oventi could the recommendations have both, direct indicators and indicators through measures?
This relationship is used only for generating email reminders for "category managers" (manager of a category tagging a recommendation linked to an indicator (through a measure) will get an email if a scheduled progress report is missing for that indicator).
Here the category indicator link:
https://github.com/impactoss/impactoss-server/blob/a9227873092b68e78b5ce10bd95024723a826b83/app/models/category.rb#L11

OK, so I will revert the removed association and add another one. From what I read, Rails supports these multiple associations.

@tmfrnz on Indicators, recommendations via measures will be available via recommendations property, and recommendations via Indicators Recommendations (the newly created joined table) will be accessed via direct_recommendations

@tmfrnz to create and delete
POST /recommendations/[id]/recommendations
{
    "other_recommendation_id": 22
}

DELETE /recommendations/[id]/recommendations/22

POST /indicators/[id]/recommendations
{
    "recommendation_id": 22
}

DELETE /indicators/[id]/recommendations/22

@tmfrnz to create and delete
POST /recommendations/[id]/recommendations
{
    "other_recommendation_id": 22
}

DELETE /recommendations/[id]/recommendations/22

POST /indicators/[id]/recommendations
{
    "recommendation_id": 22
}

DELETE /indicators/[id]/recommendations/22

Hi @oventi, I am not quite sure I understand, but I think the endpoints should be consistent with the other "join table" endpoints, so
POST /recommendation_recommendations/
{
"recommendation_id": 1,
"other_recommendation_id": 22
}
and
DELETE /recommendation_recommendations/[id]
where the id is the unique id of that relationship

@oventi
so we want specific controllers for these relationships similar to what we have for
https://github.com/impactoss/impactoss-server/blob/frameworks-schema/app/controllers/sdgtarget_recommendations_controller.rb
also we will need serializers for reading the relationship pairs, again similar to
https://github.com/impactoss/impactoss-server/blob/frameworks-schema/app/serializers/sdgtarget_recommendation_serializer.rb

RCD

Read: public (no authentication)

Create: user role manager or admin (default application record)

Delete: user role manager or admin (default application record)

[x]  frameworks | PUBLIC

[ ]  recommendations_recommendations | Read

[ ]  recommendations_recommendations | Create

[ ]  recommendations_recommendations | Delete

[ ]  indicators_recommendations | Read

[ ]  indicators_recommendations | Create

[ ]  indicators_recommendations | Delete

[ ]  frameworks_taxonomies | PUBLIC

[ ]  frameworks_frameworks | PUBLIC

@oventi: note that I have unchecked all these endpoints as I do not think they have been implemented the right way
These actually state how the paths should look:

/recommendations_recommendations | Read
/recommendations_recommendations | Create
/recommendations_recommendations | Delete
/indicators_recommendations | Read
/indicators_recommendations | Create
/indicators_recommendations | Delete
/frameworks_taxonomies | Read
/frameworks_frameworks | Read

I think this is the important bit that was missed

For the join tables best use the existing sdgtarget_recommendations table/model as an example

hey @tmfrnz I have done frameworks and framework_frameworks, can you take a look, particularly as the spec/requests/framework_frameworks_spec.rb  and tell me if this is what you were expecting before I go and replicate that pattern all over :)

These actually state how the paths should look:
...
...

/frameworks_frameworks | Read

I have made the path framework_frameworks (for table frameworks_frameworks). I realise that you have explicitly written "frameworks_frameworks" above. However, the singular/plural pattern for the path seems consistent with the sdgtarget_recommendations path (for table sdgtargets_recommendations) and it also seems more straight forward from a rails perspective.
But I can try to change it if that isn't what you need.

@nrankin looks pretty good generally but I have left a few comments/questions for you about consistent spelling and unfortunately also found a bunch of small inconsistencies in Andres' previous changes (see e.g. https://github.com/impactoss/impactoss-server/pull/327/commits/be0c86369e2a90032c3ddc082a7fa02e242eb7b0#r532654073)
Basically it appears to go back to the first comment above (https://github.com/impactoss/impactoss-server/issues/326#issuecomment-706969330) where the inconsistent spelling for table names was introduced when they were wrongly copied from https://github.com/nmrf/sadata/issues/41.
Unfortunately this means that all these join models and tables are now inconsistent and will probably need to change? So gutted I did not notice this earlier!!

To be clear, here the corrected list of join table and endpoint names:

recommendation_recommendations
indicator_recommendations (originally I specified recommendation_indicators but not sure why Andres might have flipped this)
framework_taxonomies
framework_frameworks

@nrankin wondering how to best deal with these f*cked up migrations: remove & redo or modify?

@tmfrnz I'm gutted I didn't notice too... I was deliberately looking to the sdgtarget_recommendations as an example as you said and trying to check for where the previous changes had gone wrong, clearly I missed it on the table/model names :(
It is best to just run new migrations that change the table names, and I will remove all the self.table_name = "recommendations_recommendations" etc that Andrés put in as they won't be required as now the default rails pluralization will work fine. Then there will be some other changes but hopefully it's not too bad :) Good tests make is easier.

@nrankin, it would be great if you could make these changes to the table names and all their references (and remove where they are no longer needed. Thanks!

@tmfrnz no worries, I'm keen to get this all cleaned up. Probably wont have time till the weekend but unless I come across something unexpected I think I'll smash it all out then.

@nrankin thank you so very much =)

@tmfrnz I think I have fixed everything up and made sure all the endpoints are there and tested.
I did not manage to work out how to sign in in a request spec so only the read endpoints are tested in those. Shame as they are much more end to end and show the endpoints better for a human. But I have pretty thorough controller testing I think, so it's fine.
Let me know if this is now more like what you need or I have missed something. Please don't worry about spellings in migrations, check instead that you think the schema looks correct :)
Actually, just realised I still need to write a few model tests... need to have a last good look through but would love your feedback on the endpoints and controller, request tests so far.

thank you @nrankin - have had a quick look at your latest commits and the schema and am happy to confirm that it all looks pretty good. The only thing I notice that the taxonomies table is missing the framework_id [FK] field (see https://github.com/nmrf/sadata/issues/41#issuecomment-705146834 - I thought Andres had implemented this already)
I am not also not sure how to sign in in an request spec - are there no examples for the other endpoints?

fantastic @tmfrnz !
I will look into the taxonomy framework_id tonight.
There were no request specs before, I have created the only ones. There are plenty of controller specs, which can successfully log in with sign_in user for example, however that does not work in request specs.
I just wanted to add request specs as it's rails recommendation going forward to replace controller specs with request specs.
But, I also didn't want to spend too much time trying to figure it out since the controller specs are the status quo in this app.
Happy to have another look at it if you like tho?

I've added that single framework association to taxonomies and done a bit of refactoring.
One of the things I did was switched from the deprecated "should" syntax to the new "expect_to" syntax. I've only done that for the specs for the new tables, but it's easy enough for me to change all the model specs if you like - it's just a find/replace/runthespecs and everything seems to work... just didn't want to overstep the bounds of the task at hand without an ok from you :)

Thank you so much @nrankin for adding that additional association and also for the refactoring. Please feel free to go ahead and refactor all other model specs if it is not too much additional effort. Thanks!!

ok, all done I believe @tmfrnz :)

@nrankin thanks so much - I will have a closer look over the weekend

@nrankin thank you again for all your help.
I had a closer look and also tested all the "Read" endpoints there. As far as I can tell everything looks pretty good but except these things that I noticed (and mostly fixed):

new framework_id field was missing in some serializers and policies (see https://github.com/impactoss/impactoss-server/commit/223ab3e3ffee6259127a05016fc4ae6316d124b5)
I noticed an unspecified field "parent_id" was added to the recommendations table that should be removed. Would you be able to add the required migration to remove this? (I already removed it from the recommendations serializer). I think it may go back to this misunderstanding: https://github.com/impactoss/impactoss-server/issues/326#issuecomment-708126729. It looks like it has since been dropped from the frameworks table but not the recommendations table.

Next week I should be able to also test all the other endpoints when implementing the new schema on the client...


fix(ci): fix mqtt ci

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
Because MqttSplitEnumerator's new and list_spilt calls were too close together, resulting in the async packet return not being received.
So add wait and timeout

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

https://github.com/risingwavelabs/risingwave/pull/19017 fixs this already I think, can you help verify it?

close of https://github.com/risingwavelabs/risingwave/pull/19017#pullrequestreview-2400637281


[No QA] Add rule to recognize user @here mentions

@puneetlath @mananjadhav
Fixed Issues
$ https://github.com/Expensify/App/issues/17882
Tests

Open any chat
Send valid mention e.g. @john, @david
Send @here mention
The user mention should be replaced as mention and the @here should be @here

QA
Same as tests

Verified the code changes, compared to the old PR.

Adding No QA since the QA will happen in the PR to incorporate the new expensify-common version in App.

PR for updating the version is here: https://github.com/Expensify/App/pull/18655

Thanks @mananjadhav would you be able to do the C+ checklist for the App PR. Since it wasn't needed for this one.


Subsetting a Arabic font doesn't seem to work

Hi there!
So we're running in to a problem with subsetting arabic fonts.
Using this code:
const subsetFont = require('subset-font');
const fs = require('fs').promises;

(async function () {

    const font = await fs.readFile('./fonts/Farah.woff');
    const fontBuffer = Buffer.from(font);

    const subset = await subsetFont(fontBuffer, 'المستقبل', {
        targetFormat: 'woff',
    });

    await fs.writeFile('./fonts/Farah-Optimized.woff', subset)

})();

And here's the result

(top is unchanged font, bottom is the subset)
The bottom text, when checked in the dev inspector, shows that it is actually rendering Arial (fall back), and not Farah.
Font direction in css has also been set to 'rtl', although not sure if it matters in this case.
Is this a known issue?
Let me know if you need any more info!
Thanks

Hmm, no, that's not a known problem 😅
First off, can you get it to work if you create the subset font using pyftsubset from https://github.com/fonttools/fonttools instead?

Hi @papandreou , thanks for replying!
I've gone ahead and done a quick test with pyftsubset like you suggested, using the following code
import sys
from fontTools.subset import main as ss
sys.argv = [None, 'fonts/Farah.woff', '--text=المستقبل', '--output-file=fonts/Farah-optimized-python.woff']
ss()

Same result, unfortunately.
However I have noticed that including all characters, for example through
sys.argv = [None, 'fonts/Farah.woff', '--unicodes=*', '--output-file=fonts/Farah-optimized-python.woff']
This will result in a font that works as intended.
So it looks like we're simply missing essential characters in the subset.
Looking into Arabic fonts a bit, it looks like each glyph has multiple characters. The actual rendered character depends on its position in the word: start, middle, or end. Also, there might be special characters in Arabic fonts that serve as connectors between letters... sort of? It's fairly complex :)
This allows each word to be written in a connected flow, instead of separate characters like we see in English for example.

Interesting! As far as I'm aware, both pyftsubset and the Harfbuzz subsetter try to include all the ligatures that are related to the characters in the subset. I wonder if that heuristic isn't enough for Arabic text? Not sure if that positional thing you're describing is even based on ligatures?
Might be worth it to take a look at the output of ttx on your original font vs. the subset, and try to "tease out" which codepoints have to be explicitly added for the web browser not to fall back.

How did you obtain the font Farah? If it is the font bundled with macOS, this a font with AAT layout tables as opposed to OpenType, both FontTools and HarfBuzz don’t support subsetting AAT layout tables and they are probably dropping them. since they don’t support these tables, glyph closure will not work and you will get only the base glyphs for the characters you requested. Asking for all characters seem to work because now HarfBuzz (when laying out the text) will be doing fallback Arabic shaping based on Arabic Presentation Forms and for a simple font like this it is probably very close to the AAT shaping .

If ttx -l shows a morx or mort table and no GSUB table, then this is indeed an AAT font.

Ahh I see, thank you!! I'll check it out.

I'll close as there doesn't seem to be anything this module can do about the problem :innocent:


EG-19 fixed busy wait in endpoint.go

Signed-off-by: Tom Fleming<EMAIL_ADDRESS>EG-19, fixed for high CPU utilisation observed in core-data and core-command when consul is active. Fixed busy wait in endpoint.go

recheck


Add videojs to ocw-www theme

What are the relevant tickets?
Closes https://github.com/mitodl/hq/issues/3877.
Please look at the description below first before reading on the ticket discussion.
Description + Context
Enables videojs to ocw-www theme by adding it to base-theme.

Refactored videojs to base-theme
Now loading <theme>.css and common.css together for all themes
Fixed a breaking point for video tabs for small screens. eg. open the video tabs here on 765px width.
Sets up a basic video resource page for www theme: eg. https://ocw-hugo-themes-www-pr-1383--ocw-next.netlify.app/resources/test-video/

Originally it was decided to add videojs to www theme only, and possibly refactor (add to base-theme) at some point in the future because the changes seemed complex / large-scale. But after loading both <theme>.css and common.css together, this was no longer as complicated task.
When I tested, everything seemed to work well, so I took advantage of this opportunity and did the refactoring here.
I also created a ticket for the remaining bits for future: https://github.com/mitodl/hq/issues/4042 (if you have any more info related to this - please feel free to add to the ticket)
How can this be tested?
Make sure nothing breaks off in any of the themes, and videojs works in www just like it does in course-v2.  Make sure to get a fresh copy of www before you run yarn start www.
Here are the things I tested:

Videojs assets dynamic loading time (same as before)

For themes:

www online, www-offline, course online, course-offline, all work as before. No build errors.

For videos:

start_time and end_time works. (Video was tested having none, and having both)
Videos with and without interactive captions
Videos with multiple tabs
Video download button
Embed videos

For pages:

Video gallery pages (course online and course offline)
Embed video pages (course online)
Video resource pages (course online and course offline)
Pages with video + nanogallery2 (course online)
Pages with multiple videos (course online)

For course-offline:

videojs-youtube player works (in case we don't have video downloaded available) and videojs default player works (if we have video available)

You can also test some of the changes here:
www:

https://ocw-hugo-themes-www-pr-1383--ocw-next.netlify.app/collections/alberta-studies-test/ (Course collection page)

The first two videos are different and have different video tabs stuff. The transcripts are random, so they won't sync. But that is okay.

https://ocw-hugo-themes-www-pr-1383--ocw-next.netlify.app/pages/video-test/ (a page)
course:
https://ocw-hugo-themes-course-v2-pr-1383--ocw-next.netlify.app/video_galleries/lecture-videos/

I had to add those video resources to www rc manually using Django admin. Following the instructions here: https://github.com/mitodl/hq/issues/991#issuecomment-1669472810
Screenshots

@ibrahimjaved12 In regards to this weird breakage:

I looked into this for a while today. I finally realized this has to do with Webpack's  SplitChunksPlugin. We have the plugin configured like this:
    splitChunks: {
      minChunks:   2,
      cacheGroups: {
        common: {
          test:   /[\\/]node_modules[\\/]/,
          name:   "common",
          chunks: chunk => {
            const splitChunks = [entryNames.www, entryNames.courseV2]
            return splitChunks.includes(chunk.name)
          }
        }
      }
    }

The idea here is:

Create an output called common. If a file satisfies condition chunks, then it goes in the "common" chunk. In particular, if something is used by BOTH www and course-v2, then it goes in common, and omitted from those two outputs.
Consequently, the www theme needs to load both www + common assets, and course-v2 needs to load both course_v2 + common assets.

Which we've been doing. For javascript.
But not for CSS. And that had been OK. There wasn't any CSS in the common output.
But now BOTH www and course-v2 are requesting  "video.js/dist/video-js.css". So now that goes into the common output. So now we DO need to include the common CSS.
For example:
--- a/course-v2/layouts/partials/extrahead.html
+++ b/course-v2/layouts/partials/extrahead.html
@@ -2,6 +2,7 @@
 {{- define "extrahead" -}}
 {{- $css_urls := slice (partial "get_asset_webpack_url.html" "course_v2.css") -}}
 {{- $layout := .Params.layout -}}
+{{- $css_urls = $css_urls | append (partial "get_asset_webpack_url.html" "common.css") -}}
 {{- if eq $layout "instructor_insights" -}}
     {{- $css_urls = $css_urls | append (partial "get_asset_webpack_url.html" "instructor_insights.css") -}}
 {{- end -}}

This fixes course-v2. Probably something similar for www? You may know better than me.

I disabled the pre-commit CI check on this repo since it doesn't have a valid pre-commit config at the moment.

I disabled the pre-commit CI check on this repo since it doesn't have a valid pre-commit config at the moment.

Thanks @blarghmatey


Quality encoding detection could generate bugs in mixed files

Only 1 million reads are checked for the quality, but the SangerReaders or the normal ones assume that the encoding is the same for the rest of the file. To make sure that there is not a mixture several options could be implemented:

Check the quality after reading/conversion of each read to make sure that are correctly encoded and within the range of each quality. This approach could be very time consuming for reading, although in the conversion could be done at the same time as the conversion.
Check the quality after reading/conversion each N read, being N the default number of reads that were use to check the files (1 million). The withdraw of this approach is that if two files are merged, one with 1 million reads and the second with less than one million, it won't be detected.
Check only in tools where the quality is required (TrimFastq and conversion). The withdraw is that every tools is converting by default, and it will be the same as in the first point.
Implement a different quality detector (not the htsjdk) to randomly sample reads from the file.

Anyway, if a mixture is found, an error should be thrown.

Removed bug, because it is only a user mis-usage of the files.

New idea to check for the qualities (similar to the second point in the issue): implement something similar to GATK MisencodedBaseQualityReadTransformer  for FASTQ/BAM records.

Implemented a StandardizerAndChecker class in commit c6ccca4f4f00fd81e27414b0afd79b61dd62ed76 to address this issue. The main idea is:

Check the reads every StandardizerAndChecker.frequency times if only checking is requested.
Check all the bases that are passed to standardize() and are converted. It is less time consuming to add this step and  we assure that downstream files will be correct. If there is no conversion (because it is already in Sanger format), it only checks every StandardizerAndChecker.frequency reads.

Implemented SamReaders (2ea2d0b3bfaa7953939971b35c4fddd3b89beda2) and FastqReaders (457d2415b92f935d72775e94729bc51a6d69441b).


Pulls data for previous login, not current login?

When running syncWX as a 'logon' event, Has anyone else encountered or reported displaying information from a previous login?  I can reproduce this at will by connecting from two different locations.
Client A is in Minnesota,  Client B is in Wisconsin, Synchronet Server is in Toronto.  I will typically connect from client B, and SyncWXremix will display weather for 'wisconsin'.  If I then connect from client A in minnesota, syncWXremix displays weather for 'wisconsin'.  I will then connect from client B again, and syncWXremix displays weather for 'minnesota'.
It seems like the code is not getting the 'current IP', but a previous IP, when doing the lookup.    Is the code relying on it's own lookups or pulling the IP info from Synchronet data stores?  If pulling from Synchronet, I suspect Synchronet has not written the users current IP at this point.   If I run the syncWX from the external progs menu after the login event, it displays correct info.

Hi there! I know exactly what you are talking about. Even before I made my first commit on GitHub, I had found this problem. I log in from work sometimes, and my work's IP, while physically in RI, exits the network in our VA office. So, I would see the behavior you are talking about.
It has more to do with Synchronet than the syncWXremix script. I reported it to digital man.
--> My Post
and he responded
--> DM's Response
digital man made a fix in the CVS code. However, the fix requires you to make (linux) or grab (windows) a new build of Synchronet, or at least a build that is after Dec 16 2015 12:13 am PST.
Here is the relevant CVS info:
CVS Commit for the fix
rswindell
Wed Dec 16 2015 12:13 am PST
Modified Files:
src/sbbs3/answer.cpp 	1.89 	1.90 	diff
src/sbbs3/logon.cpp 	1.61 	1.62 	diff
Log Message:
Fix bug reported by KenDB3:
The JS-modeled user object's ip_address and host_name property values did not
reflect the current connection during logon events (JS modules executed during
logon, e.g. logon.js). Moved the initialization of the current user
(sbbs_t::useron) ipaddr and comp field to sbbs_t::logon() rather than when
control returns to sbbs_t::answer(). Removed the (now) redundant saves of these
user fields from answer().

You have reminded me, however, that an FAQ about things like this would be a good idea.
Thanks for the report!
~Kenny

I added some FAQs to help address this and a few other things. I'm going to mark this one as closed.


Hyp Smearing Merge

I followed the instructions on https://latticeqcd.github.io/SIMULATeQCD/02_contributions/git.html .  All the tests passed (prior to the merge into main), although the main branch seems to have a different script to run the tests (which I did not run).  I'm not sure how git push is supposed to create a pull request, so I am creating the pull request as I usually do (via a fork).
Hyp smearing here is only 4D, and it has been tested (by me) on only one 1 GPU.

I made all the changes requested (please let me know if I missed one), and the hyp test still passes.  I assume the other tests also still pass, but I did not run them.  Cheers.

Ok, please do let me know if you find a problem with the correctness, memory usage, or speed of the code as it is.  Otherwise, it seems like whether or not what I've written is merged hinges on some issues that do not and should not interest me.  Peace.

Fair enough. I guess since you made it clear that your are not interested in finalizing this branch I can close this pull request here.


how to compile .bun and .zip

Hi, I generated the bundle.dll and bundle.lib.  I want to use archive.bun or  archive.zip to write a file.
But, the program report link error 2019. because could not find .bun & .zip in lib and dll.
My IDE is VS2017.

You can choose two different fixes.
A) Add following line in any of your source files: #pragma comment(lib, "bundle.lib"). Then configure your IDE to search the bundle.lib file, in your project settings something like this image:

B) Add bundle.h and bundle.cpp files to your solution.
Hope it helps


Deprecate Task.didWork

The definition of when a task "did work" is a bit confusing, and is not very useful. Let's deprecate Task.didWork. See reasoning in https://github.com/gradle/gradle/issues/21856.

cc: @gradle/execution

@bdecroix-spiria Independenly from you I started having a look at this this afternoon. If you'd like, we can work together on this. I committed my changes to https://github.com/tschulte/gradle/tree/deprecate_task_didWork. My idea was to create a merge request and discuss if my assumptions how to do this where correct. E.g. whether the internal tasks should still set didWork for now. For example I added the warning only to the getDidWork method on the AbstractTask, not to TaskStateInternal.getDidWork for the internal calls to that method to not raise this warning. I first also changed TaskExecution.getStatus, but that seems to be #22120, therefore I left it as is.

@tschulte thanks for the commit, it helps understanding the issue (deprecating didWork before removing it means there is no replacement for it)
Here's my two cents:

the real question is whether internal tasks should change their behavior to avoid the deprecation or not.
your solution of an additional method (intermediateSetDidWork) to avoid triggering warnings for internal tasks still using didWork is probably OK, although it feels a bit awkward.

I'll let you work on this one if this is ok with you, I'll be happy to continue the discussion if it helps

Internal tasks will have to change their behavior when the methods are removed. There might be builds in the wild that depend on Task.didWork to still work -- I know for sure that one custom plugin in my company does. It might be OK though for TaskStateInternal.getDidWork to return getExecuted() && !getSkipped() instead, but that would still be an incompatible change. I think it would be wisest to just keep didWork to behave the same until it is removed completely in 9.0.
Yes, the method intermediateSetDidWork is a bit cumbersome. @SuppressWarnings("deprecation") must be applied to the method or whole class. I did not want to put it to the methods, since some are long. The alternative might be to copy intermediateSetDidWork as private method to each subtask that needs it. Or live with the annotation being applied to the whole method.


TypeError: 'ItemsList' object is not callable

Describe the bug
After I updated to the latest build of 4.4.2, I got following error:
sheets = doc.sheets()
TypeError: 'ItemsList' object is not callable
To Reproduce
Try to parse the attached numbers file with following code:
doc = Document(args.filePath)
sheets = doc.sheets()
Expected behavior
A clear and concise description of what you expected to happen.
Attachments
TestFile.numbers.zip
Additional information
Please provide the version number (output of cat-numbers --version
4.4.2
Add any other context about the problem here.
I'm using Python 3.10.11

You should have been seeing a deprecation warning for some time about sheets() which has been a property rather than a method since v3. I removed the method entirely in v4. You need to use doc.sheets and then sheet.tables.


Make Notes

Make Text Notes Inside The App.

Completed In Release: v1.0
Commit: https://github.com/markydoodled/Journal.it/commit/4c473c85f71fac472a4feeb805b429ca81153466


410 "Gone" Error with NLP Sample

From #1541 	@rakesh5689

Note: this issue was created to separate two issues from one thread

I created applications via LUIS.AI and then made them into a dispatch as per the https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-tutorial-dispatch?view=azure-bot-service-4.0&tabs=cs
I am getting this error locally.
In my appsettings.json the LUIS (dispatch I created) looks like this
"LuisAppId": "--4701-bfdf-***",
"LuisAPIKey": "************************",
"LuisAPIHostName": "westus", - I changed this to region only for testing and now I get an error 'Gone'
And LUIS is published for sure as when I hit my endpoint I get a legit response : https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/-7c91--a18b-?verbose=true&timezoneOffset=-360&subscription-key=**************&q=hello

My recommendation:
@rakesh5689 	Can you verify that you've published "Production" and not "Staging"?

I'm able to repro your issue. If I only publish to staging, the API works, but I also get the "Gone" error. If I publish production, both work just fine.
You may need to re-train your app, re-publish, and restart your bot's App Service:

So, I tried what you said...I have it published in both Prod and Staging. Restarted the bot's app service..all in vain

@rakesh5689 Can you verify that your appId's are correct? You obfuscated them, but at least from the un-obfuscated parts, the appId you used in the API appears different than the one in appsettings.json

I followed the steps you mentioned that you were able to reproduce but its still not working. Thanks

Well well...how naive. I have a couple of dispatch in LUIS and was using the previous oone. Thanks a ton @mdrichardson Saved me day of headscratch

:) No problem. Glad you got it working. It's amazing how easy it is to make such a simple mistake like that. You're not the first.


The link pointing to the code is not working

Thank you for your excilent work. I would love to test some of my own data, but the links to the code and to the training model are not working. Could you please restore the available links at your convenience, thanks!

@nothinglo All the links are ending up with 404 error. Could you please help?

@JerryWang22 @nothinglo @sarvghotra  Do you know how to get the code?


Getting a Black Screen

Description
Initially I created a Linux VM in Azure and used wget to download the tar.gz file of code-server and ran ./code-server <empty directory>
Everything was running fine and then I got this error
ERROR SHARED stderr {"data":"Uncaught Exception:  Error: ENOENT: no such file or directory, open '/root/.code-server/Backups/workspaces.json'\n\nError: ENOENT: no such file or directory, open '/root/.code-server/Backups/workspaces.json'\n    at Timeout.eval [as _onTimeout] (eval at exports.requireModule (/home/knd/Coder-codeServer/code-server-1.31.1-100-linux-x64/code-server:468:27371), <anonymous>:71445:31)\n    at ontimeout (timers.js:475:11)\n    at tryOnTimeout (timers.js:310:5)\n    at Timer.listOnTimeout (timers.js:270:5)\n"}
But even after encountering so I went to localhost:8443 and under Advanced accept the unsafe way which displayed password which I copied from my terminal, there is a black screen that is being rendered.

Related Issues
-> What did I do wrong??
-> Why I am getting a black screen??
-> What is the Error, and how to solve it??

That error is irrelevant... at least for now
The page render could take a while to load, so I guess just wait a while, and keep monitoring the console output to see what's going on?

Try also clearing your cache. There's a problem with the unauthed->authed screen with caching.

Duplicate of #121 ?

Seems to be the same as #121

Continue discussion in https://github.com/codercom/code-server/issues/121

I had also the black screen.  To solve it, do not use relative path for your project when loading code-server, put the absolute path to your project.
It solves the black screen, but I still have the #121 which does not prevent vscode to work.

I had also the black screen. To solve it, do not use relative path for your project when loading code-server, put the absolute path to your project.
It solves the black screen, but I still have the #121 which does not prevent vscode to work.

I cannot second that. I still get the black screen, even with an absolute project path, and: this does prevent vscode to work since the screen becomes unresponsive and eventually totally dark (and unresponsive)

I had also the black screen. To solve it, do not use relative path for your project when loading code-server, put the absolute path to your project.
It solves the black screen, but I still have the #121 which does not prevent vscode to work.

I cannot second that. I still get the black screen, even with an absolute project path, and: this does prevent vscode to work since the screen becomes unresponsive and eventually totally dark (and unresponsive)

Some more info: it actually started to work ONCE after like ten minutes -- on a box with 64GB RAM, 48 cores. It locked up after double-clicking a file to open it. After that the UI locks up, eventually it goes blank entirely. Then, 15 minutes later, it suddenly works -- UNTIL you hit reload in the browser. I am trying to reproduce but unfortunately, after opening a file it is still stuck, has been for ages now.

I had also the black screen. To solve it, do not use relative path for your project when loading code-server, put the absolute path to your project.
It solves the black screen, but I still have the #121 which does not prevent vscode to work.

I cannot second that. I still get the black screen, even with an absolute project path, and: this does prevent vscode to work since the screen becomes unresponsive and eventually totally dark (and unresponsive)

Some more info: it actually started to work ONCE after like ten minutes -- on a box with 64GB RAM, 48 cores. It locked up after double-clicking a file to open it. After that the UI locks up, eventually it goes blank entirely. Then, 15 minutes later, it suddenly works -- UNTIL you hit reload in the browser. I am trying to reproduce but unfortunately, after opening a file it is still stuck, has been for ages now.

OK, this seems to happen only in project folders with many files (thousands). In teeny-weeny src only folders this doesn't happen.

Interesting. There's actually a VS Code issue open for pegging CPU with the watcher.

Interesting. There's actually a VS Code issue open for pegging CPU with the watcher.

OK, good to know. However, this behavior does not show when running vscode locally, accessing the project directory over a samba share (or at least it doesn't hog for longer than 1-2s).


before plugin has registered the build listener and started the opent…

…elemetry object, ignore any previously running builds
Background
On first installation of the plugin to TeamCity any builds that were started, finished or interrupted before the plugin was ready to be used (i.e. BuildListener registered and opentelemetry object instantiated) triggered the following error in TeamCity server.log:
WARN - Error in event handler: Error calling method BuildServerListener.buildStarted for listener com.octopus.teamcity.opentelemetry.server.TeamCityBuildListener: java.lang.NullPointerException (enable debug to see stacktrace)
Results
A method was added pluginReady() that will be checked on buildStarted(), buildFinished() and buildInterrupted()
that will only continue those triggered methods if the plugin has been instantiated and is ready to take data.
Before
In TeamCity server.log on plugin installation:
WARN - Error in event handler: Error calling method BuildServerListener.buildStarted for listener com.octopus.teamcity.opentelemetry.server.TeamCityBuildListener: java.lang.NullPointerException (enable debug to see stacktrace)
After
No error in TeamCity server.log experienced on plugin installation or update.
How to review this PR
Please confirm sanity of code changes
Pre-requisites

[ ] I have considered informing or consulting the right people
[ ] I have considered appropriate testing for my change.

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


"{" and "}" are not detected by the screen reader.

Type: Bug
In the editor, when righting "{" or "}", these characters are visible, but the screen reader is not detecting them, as if they are hidden. When navigating to them and getting the character code, screen reader shows code 0, as if there was nothing. This problem popped up in the recent update (or one of recent updates because I didn't code these 2 weeks).
VS Code version: Code 1.86.2 (903b1e9d8990623e3d7da1df3d33db3e42d80eda, 2024-02-13T19:40:56.878Z)
OS version: Windows_NT x64 10.0.19045
Modes:

/duplicate #200956


SV Alarmessage not updated

DONT'T DELETE THIS.
Please answer all questions as good as possible.
Language: english/german
Make sure you have read the documentation at https://github.com/danielperna84/custom_homematic#custom_homematic.
Make sure you have read the release notes at https://github.com/danielperna84/custom_homematic/releases.
Make sure you are running the latest version of the custom_component (and Home Assistant) before reporting an issue.
ENSURE that your Backend (CCU/Homegear/...) is working as expected and connected devices are controllable.
custom_component version (if applicable):
1.23.0
known last working custom_component version (if applicable):
Home Assistant version (if applicable):
2022.12.2
CCU version:
Finished Boot: <IP_ADDRESS>21005 (raspmatic_oci_arm64)
Problem-relevant configuration:
Do you use tls? no
Do you use callback? no
Do you use username and password? yes
Which interfaces do you use (hmip/bidcos/wired)? hmip
Describe the bug
The intrinsic system variable "Alarmmeldungen" is 0 (main page Alarmmeldungen) but the Home Assistant "sensor.raspberrymatic_sv_alarmmeldungen" shows state 1.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Screenshots (if applicable)

CCU firewall
integrations view
device view
enity view

Relevant HA log entries (full log)

Diagnostic Information (available on every device)

Expected behavior
Would expect that they are in sync
Additional context
Add any other context about the problem here.

The intrinsic system variable "Alarmmeldungen" is 0 (main page Alarmmeldungen) but the Home Assistant "sensor.raspberrymatic_sv_alarmmeldungen" shows state 1.

Why do you think there must be a relation?
Does the alarmmeldungen sysvar change in CCU WebUI?
Do other sysvars change?

Thanks for you fast response - I checked with the homematic forum:
There seems to be a "bug" in CCU:  Homematic GUI and the intrinsic sysvar are sometimes not in sync and have to be manually synced - see this discussion
I did a reset and now the Homematic GUI, the sysvar and Home Assistant sensor are in sync and I can use the Home Assistant sysvar-sensor to trigger a notification to my smartphone in case of an alarm.
(Summary: not a bug in the integration but instead in HomematicIP - or maybe a feature :-)

Could it be that there is a typo in the sensor for the "Servicemeldungen". SV_servicemeldungen instead of Sv_servicemeldungen --> making it unavailable?


what is clientId ,clientSecret in file .env

It's for provisioning your bot: read more in the individual provisioning docs:
https://github.com/howdyai/botkit/tree/master/docs/provisioning


add 'current articles' to application properties

As a developer of AppleScript scripts, I want to iterate over the potentially multiple articles selected by the user.

Related to #387


feat(whale): migrate packages/whale-api-client

What this PR does / why we need it:
Migrate whale-api-client from whale to jellyfish repo in consolidation efforts of the whale api.
Which issue(s) does this PR fixes?:

Partially Fixes #977
Additional comments?:
This is a leading PR for whale api consolidation and is followed by:

https://github.com/DeFiCh/jellyfish/pull/1168
https://github.com/DeFiCh/jellyfish/pull/1167

just done the initial review

Thanks for the review

request: follow packages/{}-api-client.ts styles and pattern eg: i. name convention is needed to follow jellyfish naming style eg: abc.xyz.ts -> AbcXyz.ts

Will go through and update these.

ii. Api response, errors.. refers to the existing code from /ocean-api
iii. whale.api.client extends OceanApiClient

This is how its set up in whale (this is a 1:1 port) so not sure what it should be replaced with. Thoughts?

This is how it's set up in whale (this is a 1:1 port) so not sure what it should be replaced with. Thoughts?

yea.. if's that's same we just reuse it.. else extend it
eg:
https://github.com/DeFiCh/jellyfish/blob/981626d3d34a0723c7a6db5fbb3c42f5c753625e/packages/playground-api-client/src/PlaygroundApiClient.ts#L27

@canonbrother thanks for the pointer, have updated the PR to reflect your suggestions

gonna fix the package-lock.json.. there's a lot unrelated changes
https://github.com/DeFiCh/jellyfish/pull/1099#issuecomment-1050460231


Updated behavior, features, and variable names

Motivation
Cloud Posse is undertaking an effort to modernize and standardize its open source AWS Terraform modules with respect to handling AWS Security Groups, optional inputs, and certain other things. This module, terraform-aws-vpc is schedule for such modernization, and Cloud Posse is taking this opportunity to introduce breaking changes if needed. Changes that have been or would have been rejected earlier as nice but breaking are now being considered, and after this revision, this module will again go back to resisting breaking changes. This is the time to get those fixes in.
Please propose or comment on proposed breaking changes you would like to advocate for or against.
Changes
Standardized input names, part 1: provider inputs.
Cloud Posse standard is that boolean inputs have names that end with _enabled. However, Cloud Posse seeks to use the same input names as the related Terraform AWS Resource to provide consistency with the documentation. The vpc resource provides a challenge in this regard. The resource, and the current version of this module, provide inputs named:

enable_dns_hostnames

enable_dns_support

enable_classiclink

enable_classiclink_dns_support

assign_generated_ipv6_cidr_block

Should we keep these variables with these name?

Should rename these variables according to Cloud Posse naming conventions:

enable_dns_hostnames -> dns_hostnames_enabled
enable_dns_support -> dns_support_enabled
enable_classiclink -> classiclink_enabled
enable_classiclink_dns_support -> classiclink_dns_support_enabled
assign_generated_ipv6_cidr_block -> ipv6_enabled

Should we keep the old names and add the new names as aliases?

Standardized input names, part 2: other inputs.

The input enable_internet_gateway is not a standard Terraform input, but follows the naming convention of the other inputs. Should we treat it like the above inputs and either leave it, rename it to internet_gateway_enabled, or alias it?

There is a Feature Request (#93) and a PR (#94) requesting that we add to this module the ability to create an Egress-only Internet Gateway. Such a gateway provides the same general security benefit for IPv6 that a NAT gateway provides for IPv4, but does not actually do Network Address Translation. This is because there is no such thing in an AWS VPC as a "private" IPv6 subnet; all IPv6 addresses are public. Because the IPv6 address space is big enough, there is no need for Network Address Translation, but since all the addresses are public, there is still a need for a way to block initiation of inbound connections: that is what the Egress-Only Gateway does. If we implement the feature, what should we name the input, given the decisions above. Should it be egress_only_internet_gateway_enabled? Or, given that it is a mistake to provision both a bidirectional internet gateway an an egress-only gateway at the same time, should we create a flag like internet_gateway_is_egress_only and have it toggle the kind of gateway created when internet_gateway_enabled is true?

Default Security Group
The input enable_default_security_group_with_custom_rules should be replaced as part of the security group upgrade. Probably the terraform-aws-security-group module should be enhanced to take the same rule sets and apply them to the default security group, so that we have consistent input formats for security group rules and no duplication of code parsing them. However, given the Bridegcrew recommendation that the default security group should prohibit all ingress and egress, perhaps we should just enforce that and encourage people to use non-default security groups.
If we are going to allow custom configuration of the default security group, then we should do it by accepting rules in the format of terraform-aws-security-group and using that module to manage them.

Standardized input names, part 1: provider inputs.

rename these variables according to Cloud Posse naming conventions:

Standardized input names, part 2: other inputs.

rename it to internet_gateway_enabled
but use vars_deprecations.tf to alias to previous for some number of releases
internet_gateway_enabled + ipv6_internet_gateway_type where the laterr is "EgressOnly"

Standardized input names, part 1: provider inputs.

I agree with all changes.

Should we keep these variables with these name?

Lets rename, but introduce the variables-deprecated.tf pattern and proxy with locals

Should rename these variables according to Cloud Posse naming conventions:
enable_dns_hostnames -> dns_hostnames_enabled
enable_dns_support -> dns_support_enabled
enable_classiclink -> classiclink_enabled
enable_classiclink_dns_support -> classiclink_dns_support_enabled
assign_generated_ipv6_cidr_block -> ipv6_enabled

It's painful, but yes. I think this long predated any of our conventions. The reason for the suffixed _enabled flag is so we can group similar parameters lexicographically.

Should we keep the old names and add the new names as aliases?

Yes, though we should make it clear that they are deprecated.

Standardized input names, part 2: other inputs.
The input enable_internet_gateway is not a standard Terraform input, but follows the naming convention of the other inputs. > Should we treat it like the above inputs and either leave it, rename it to internet_gateway_enabled, or alias it?

I think so. Let's rename, deprecate and alias.

There is a Feature Request (Egress only internet gateway #93) and a PR (feat[#93]: Added aws_egress_only_internet_gateway #94) requesting that we add to this module the ability to create an Egress-only Internet Gateway. Such a gateway provides the same general security benefit for IPv6 that a NAT gateway provides for IPv4, but does not actually do Network Address Translation. This is because there is no such thing in an AWS VPC as a "private" IPv6 subnet; all IPv6 addresses are public. Because the IPv6 address space is big enough, there is no need for Network Address Translation, but since all the addresses are public, there is still a need for a way to block initiation of inbound connections: that is what the Egress-Only Gateway does.

If we implement the feature, what should we name the input, given the decisions above. Should it be egress_only_internet_gateway_enabled?

I think it should be internet_gateway_<something> so we logically group related parameters.
internet_gateway_egress_only_enabled with a validator that expects ipv6_enabled to be true.

Or, given that it is a mistake to provision both a bidirectional internet gateway an an egress-only gateway at the same time,

I don't have enough experience to answer this.

should we create a flag like internet_gateway_is_egress_only and have it toggle the kind of gateway created when internet_gateway_enabled is true?

 I'd prefer then we have a new variable called internet_gateway_type which can be evaluated in locals to boolean flags.

Default Security Group
The input enable_default_security_group_with_custom_rules should be replaced as part of the security group upgrade.

Agree

Probably the terraform-aws-security-group module should be enhanced to take the same rule sets and apply them to the default security group, so that we have consistent input formats for security group rules and no duplication of code parsing
them.

No, I don't think we should muck with the default security group.
However, maybe we add a feature flag that is delete_default_vpc (or I don't know what to call it) and it does this https://registry.terraform.io/providers/cloudposse/awsutils/latest/docs/resources/awsutils_default_vpc_deletion

However, given the Bridegcrew recommendation that the default security group should prohibit all ingress and egress, perhaps we should just enforce that and encourage people to use non-default security groups.

So I think this could be our defaults, for example, in the new VPC. Thus by deleting the default VPC and setting these secure defaults, we achieve the best practice.

If we are going to allow custom configuration of the default security group, then we should do it by accepting rules in the format of terraform-aws-security-group and using that module to manage them.

Can we change what security group is the "default" to one we manage?


WIP: Runtime2 liveness

Adds liveness probe support to Runtime2 code (based on the recent updates to Runtime).
NOTE: Blocked on: https://github.com/istio/istio/pull/3273 and https://github.com/istio/istio/pull/3276

waiting on https://github.com/istio/istio/pull/3276

@jmuk, can you take a look at this? Specificially, to this commit: https://github.com/istio/istio/pull/3286/commits/bebc00bb57e435418efa70605285bc3678b860ab
Other commits are part of other PRs that I'll checkin separately.

@ozevren: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
bebc00bb57e435418efa70605285bc3678b860ab
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/lgtm

@ozevren: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
a4abbcfa947b4b104f848eb0f5b7252ab8fe8e59
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-pilot-e2e

@ozevren: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
296c250a9744e0a01d9eb8a9caf95eac4caa9bcb
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-unit-tests

@jmuk can I get another /lgtm? I had to rebase with master.

/lgtm


msfs keeps crashing when i pop out of vr mode mid flight

when I want to get out of vr mode during a flight msfs crashes since most recent FS update. No blue screen it just shuts down. Ive trouble shooted it to open xr toolkitthe upgraded to latest but still happens. I literally have to stay in vr mode all the time.

ANY ISSUE FILED WITHOUT THE INFORMATION REQUIRED BELOW WILL BE CLOSED WITHOUT BEING LOOKED AT. NO EXCEPTIONS.

You did not fill out the template when creating this issue.

Sorry I'm new to all this. Be happy to fill out the template. where would I find it?


URL-esque string representation for encoded resources

problem
There is currently no uniform string representation for encoded resources. This makes it hard to predict what a string representation is without already having some context.
A good example is challenges & keys which are both strings but with different visual representations.... making it extremely hard to interpret.
// challenge
const challenge = '<nonce>::<timestamp>::<verifier>::<claimant>::<solution>`

// key
const key = `{
	type: "private-key" as any,
	crypto: {
		crv: "P-256",
		d: "Lx_mMx_xH0CLwaTBzLsd-mkJFTw1KxyYF7EekCT_Ha0", // <-- This is the private key
		ext: true,
		key_ops: ["deriveKey"],
		kty: "EC",
		x: "Mls1CN76cdFmNsUoIr6iTlwIYq8GchZb7NfriViHm8Y",
		y: "eIyB-0BoKVqW8IBsA6MO2VgwtevFXSXItO1buemiYwU",
	},
}`;

solution
Currently, there is no solution but one potential solution could be to represent resources like a URL, that outlines a resource. For example, ssasy://<resourceType>?parameter1='123'&parameter2='456'.... There are three main types of resources; keys, challenges and ciphertexts.
⚠ Since some characters like &, ? and = are special in the url, it is worth mentioning that the parameters may need to be encoded to avoid bugs caused by '&' in param values being interpreted as special characters.
keys

// ssasy://key?type=<keyType>&crypto_kty=<ktyValue>&crypto_key_ops=<keyOpsValue>&crypto_alg=<algValue>&crypto_ext=<extValue>&crypto_kid=<kidValue>&crypto_use=<useValue>&crypto_k=<kValue>&crypto_crv=<crvValue>&crypto_x=<xValue>&crypto_y=<yValue>&crypto_d=<dValue>&hash=<hashValue>&salt=<saltValue>&iterations=<iterationCount>

interface RawKey extends BaseKey {
  crypto: JsonWebKey;

  /**
   * Hash of the password used to derive the key
   * (only for PassKey)
   */
  readonly hash?: string;

  /**
   * Salt buffer used to derive the key from a password (note: base64 encoded)
   * (only for PassKey)
   */
  readonly salt?: string;

  /**
   * Number of iterations used to derive the key from a password
   * (only for PassKey)
   */
  readonly iterations?: number;
}

challenges
// ssasy://challenge?nonce=<nonceValue>&solution=<solutionValue>&timestamp=<timestampValue>&verifier=<verifierPublicKey>&claimant=<claimantPublicKey>

interface Challenge {
  /**
   * A random nonce. (note: base64 encoded)
   */
  readonly nonce: string;

  /**
   * A digest of the nonce
   *
   */
  solution?: string;

  /**
   * The timestamp of the challenge
   */
  readonly timestamp: number;

  /**
   * The public key of the user that created the challenge
   */
  readonly verifier: PublicKey;

  /**
   * The public key of the user that will solve the challenge
   * */
  readonly claimant: PublicKey;
}

ciphertexts
// ssasy://ciphertext?data=<dataValue>&iv=<ivValue>&salt=<saltValue>

interface StandardCiphertext {
  /**
   * Encrypted data
   */
  readonly data: string;

  /**
   * Initialization vector buffer used to encrypt the data. (note: base64 encoded)
   */
  readonly iv: string;

  /**
   * Salt buffer used to build passkey. (note: base64 encoded)
   */
  readonly salt?: string;
}

// ssasy://ciphertext?data=<dataValue>&iv=<ivValue>&salt=<saltValue>&sender=<senderPK>&recipient=<recipientPK>&signature=<signature>

interface AdvancedCiphertext extends StandardCiphertext {
  /**
   * Sender public key
   */
  sender?: PublicKey;

  /**
   * Recipient public key
   */
  recipient?: PublicKey;

  /**
   * Ciphertext signature
   */
  readonly signature?: StandardCiphertext;
}

This issue supports #11


Vue3 v-model not working

As title, vue 3 v-model cannot get the result

I've fixed this, use this instead
$ yarn add https://github.com/nor1c/vue-tagsinput


[FLINK-14382][yarn] Incorrect handling of FLINK_PLUGINS_DIR on Yarn

What is the purpose of the change
This PR is to fix the issue in FLINK-14382. Flink plugin mechanism could not work for yarn cluster. The plugin directory only needs to be shipped and should not be added to classpath.
After FLINK-14561, the plugins will be loaded through relative path.
Brief change log

Only ship plugin directory on yarn
Add AnotherDummyFS and WordCount example to check plugins isolation
Add e2e test to check plugins isolation for standalone cluster
Add e2e test to check plugins isolation for yarn cluster

Verifying this change
E2E tests has been added to check the plugin isolation.

./run-single-test.sh test-scripts/test_plugins_isolation.sh
./run-single-test.sh test-scripts/test_plugins_isolation_yarn.sh

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes)
The S3 file system connector: (yes)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

@AHeise Thanks a lot for your detailed review. I have addressed all your comments. And please take a look.

@tillrohrmann Could you please take a look?

@wangyang0918 thanks for opening this PR. Unfortunately, I don't have the time to review your PR since I'll be soon on vacation. Maybe @pnowojski can help out with the final verification and merging of the PR.

@pnowojski Thanks a lot for your detailed review. I have addressed all your comments.
Update:

Separate the commits
Update ParameterTool to support multiple value parameter
Remove old word count and update the existing examples
Update the e2e test to use two inputs

Please take a look again.

@pnowojski Thanks a lot for your detailed review. I have updated the PR. Please take a look again.
Update:

Re-structure commits and update the commit message.
Add MultipleParameterTool  instead of updating the public API ParameterTool
Move class isolation to dummy fs

@pnowojski I have updated the PR just as we have discussed. Only the first commit have changed. Please take a look.
Update:

Add  AbstractParameterTool and move some common method to the abstract class
Both ParameterTool and MultipleParameterTool extends the abstract class, they have some different methods.
Move some common tests to AbstractParameterToolTest

Travis is green, merging.


[SPARK-42110][SQL][TESTS] Reduce the number of repetition in ParquetDeltaEncodingSuite.random data test

What changes were proposed in this pull request?
random data test is consuming about 4 minutes in GitHub Action and worse in some other environment.
Why are the changes needed?

https://github.com/apache/spark/actions/runs/3948081724/jobs/6757667891

ParquetDeltaEncodingInt
- random data test (1 minute, 51 seconds)
...
ParquetDeltaEncodingLong
...
- random data test (1 minute, 54 seconds)

Does this PR introduce any user-facing change?
No
How was this patch tested?
Pass the CIs.

cc @sunchao and @parthchandra

Thank you, @sunchao !

I locally tested too.
BEFORE
[info] - random data test (12 seconds, 520 milliseconds)
[info] - random data test (15 seconds, 109 milliseconds)

AFTER
[info] - random data test (22 milliseconds)
[info] - random data test (10 milliseconds)

Merged to master.


compare IDN hostnames without 'Certificate Verification Error'

fixes #2230

Can you please add a testcase for this? Thanks!


Refactor pacakge structure of main module.

Refactor pacakge structure.

What is the reason for proposing this?
Rearranging the package structure is a breaking change to the API, so needs a strong justification.

@sea36 Glad to get your attention.
In my limited read,

The location of the class file inside the package is more clear
Easier to read the code
Clear class arrange layout woud be good for iterating and evolving.

but,

Will destroy the current api structure and visibility
If there is a lack of adequate test cases, potential errors will accompany

Thank you.

Thank you for the proposal, and the explanation.
We are at a point of release v4 which is a major version where the API is allowed to have breaking changes. So it's not out of the question we could merge this.
I like the change in theory but I am on the fence about if the refactor every project that uses the Disruptor will have to do is worth it.
Happy to gather more feedback from others on this, if anyone (@sea36 @grumpyjames @swarren12) wants to comment or leave a :+1: or :-1: feel free.

Here's the question I'd ask: does this change make it easier or harder to reason about what this library's public interface is, to an external user?
I think the answer is harder, because to create this package structure we've ended up making more classes public.
As such I'm a no.

My feeling is that the amount of change / impact on users isn't worth the benefits.
If it was just lesser used parts of the library I might feel differently, but this change moves some really core parts around, so pretty much everyone is going to be forced to make changes when upgrading.
Overall, I'm a no.

That's two :-1:  and I have no strong urge to disagree, so I will close this PR & close #409 too


endpoint: do not serialize JSON for EventQueue field

This field's lifecycle should be managed by the agent, and should not persist
across cilium-agent restarts.
Signed-off by: Ian Vernon<EMAIL_ADDRESS>

This change is

test-me-please

Coverage decreased (-0.05%) to 41.312% when pulling 7d7cd13f3b6cadf884d48253ffc660e463dbc76f on pr/ianvernon/do-not-serialize-endpoint-eventqueue into 16bc8409d0309afba297b83cf62581c1a8344a5d on master.


Add better prompts against lazy coding to avoid placeholder comments

like the title says...

Faced the exact same issue.
  {/* ... (other form fields remain unchanged) ... */}
Faced this multiple times today. Instead of adding new changes and merging, it tried to replace everything.
I've seen a lot of posts on r/ClaudeAI/ regarding recent Claude behavior. But I don't know if this has anything to do with it.

I also have this issue with the fact that it only changes a part and add the rest stays unchanged but then deleting everthing else 👎

I just tweaked the tool prompts a bit in v1.3.41, can you please give that a try and see if you're still dealing with this issue?

@saoudrizwan Updated the extension. Still facing this randomly.

Been adding the following to the custom instructions:

Handling Non-Relevant Code — Never Delete Code to Bypass It: Avoid removing code even if it’s temporarily irrelevant. The existing code may provide valuable context, comments, or serve as a future reference. Focus only on modifying the lines required.

For sessions with a lot of requests, when the context drifts a bit, you can brute force it... don't approve, don't reject, just reprompt with that message 3 times or so, usually does the trick.

This unfortunately has gotten so much worse. It doesn't seem to happen on Anthropic's API, but does on Bedrock and OpenRouter now and I never really had this issue before. I tried your suggested prompt @gfsysa just now and it does seem to have corrected itself. Thank you.

It doesn't seem to happen on Anthropic's API,

Well, it does for me. But I've noticed it only happens on big files. Like in my case, this happens only when it tries to modify homepage.js which is 531 lines.

I spoke too soon. It's happening there now too.

Yup... this issue was apparent before with anthropic.com with pro account only sometimes. I would ask for the whole file, and it would correct. Now it's not.
UGH.

Same issue

this works for me :
You must NEVER replace any existing code with placeholders of the type " // ... (previous code remains unchanged)" or " // ... (other functions remain unchanged)" or " // ... (rest of the code remains unchanged)" or variants.
Instead, you must only modify the specific functions that need to be updated or add new ones.

@Pgz1975 I tried this prompt instruction as well, but it doesn't seem to be working on my end. :/ It might work if I push it multiple times - but at two times so far (plus custom instructions), it's still trying to remove the whole file.

Thank you so much for continuing to update the extension. I was so excited to see that this is being addressed. Unfortunately, I still see it happening on my end. :(

v1.5.6 now let's you edit Claude's changes before accepting! When he edits or creates a file, you can modify his changes directly in the right side of the diff view. You can even hover over a 'Revert Block' arrow button in the center to undo // rest of code here shenanigans when he deletes a bunch of code.

Been adding the following to the custom instructions:

Handling Non-Relevant Code — Never Delete Code to Bypass It: Avoid removing code even if it’s temporarily irrelevant. The existing code may provide valuable context, comments, or serve as a future reference. Focus only on modifying the lines required.

For sessions with a lot of requests, when the context drifts a bit, you can brute force it... don't approve, don't reject, just reprompt with that message 3 times or so, usually does the trick.

and spend a quarter with each reply, ive specifically told it not do delete my code but it does it anyway. I have to manually copy and paste the modified code many times, when there are alot of changes it becomes frustrating

Is there a fix for this...I kind of started to like Claude Dev. Especially since it has been saving me lots of time, but when it decides to delete 300+ lines of code it does take me for a ride. =)

I've just created a wiki guide to help work around this issue, I hope this helps! https://github.com/saoudrizwan/claude-dev/wiki/Troubleshooting-‐-Claude-Deleting-Code-with-"rest-of-code-here"-Comments


chore: Enable dependabot

Dependabot does not support subdirectories and I did not want to bother with scripting the output:

https://github.com/dependabot/dependabot-core/issues/2178

Dependabot does not support YAML aliases:

https://github.com/dependabot/dependabot-core/issues/1582

@ahayworth I think the way it will manifest itself will be... if we can't get to it we can let it linger. if it sees an update it will close the existing PR and open a new one.

Totally fine by me! Just wanted to make sure we didn't make ourselves feel worse about workloads and all. 😃
🚢