Download document pdfs is opening with error.

We are trying to download pdfs, I am sending binary data to frontend, however as soon as we open downloaded pdf, it pops up with error "We cant open this file. Something went wrong".
Attaching the screenshots for reference. Kindly provide some suggestions on the _same.
Have already looked in backend example citation and API documentation viz.
https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/envelopeGetDoc.js
https://github.com/docusign/docusign-esign-node-client/issues/255
https://developers.docusign.com/docs/esign-rest-api/how-to/download-envelope-documents/

sample-documents (13).pdf

what do you pass for documentId?

I have tried with the documentId, "combined" value.
This is the current implementation with multiple documents and their documentIds:
let documentsList = await envelopesApi.listDocuments(
accountId,
envelopeId,
null
);
const downloadedDocuments = await Promise.all(
documentsList.envelopeDocuments.map(async (document: any) => {
return await envelopesApi.getDocument(
accountId,
envelopeId,
document.documentId,
{}
);
})
);
return downloadedDocuments;
Here is the response in frontend..

@InbarGazit looking for your valuable inputs.

@InbarGazit Would like to chime in that we're also getting this error, although we retrieve our documents slightly differently.
async getDocument(envelopeId: string, documentId?: string) {
        const envelopesApi = await this.getEnvelopesApi();
        const options = {};
        // options.certificate = 'false';
        return await envelopesApi.getDocument(
            this.accountId,
            envelopeId,
            documentId ? documentId : 'combined',
            options
        );
    }

Quick follow-on, the example using curl at https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopedocuments/get/ works completely fine. I get a valid PDF when I save the output to a file, so the endpoint itself doesn't appear to be the issue.
Example:
curl --request GET 'https://demo.docusign.net/restapi/v2/accounts/0cdb3ff3-xxxx-xxxx-xxxx-e43af011006d/envelopes/ea4cc25b-xxxx-xxxx-xxxx-a67a0a2a4f6c/documents/1/' \
       --header 'Authorization: Bearer eyJ...bqg' --output test_file.pdf

Yet another thought, it looks like the logic for this SDK to run callApi and handle the application/pdf response type was written on February 18, 2016.
This looks to predate y'all's superagent dependency's implementation of an appropriate application/pdf response type handler, which didn't occur until October 2, 2017.
My guess is that at least some, if not all of the odd behavior is originating from the usage of a string to store the byte chunks rather than an array like in the most modern official implementation from superagent.
https://github.com/visionmedia/superagent/blob/master/src/node/parsers/image.js
compared to the following from this library's ApiClient.js
if (request.header['Accept'] === 'application/pdf') {
      request.parse( function (res, fn) {
        res.data = '';
        res.setEncoding('binary');
        res.on( 'data', function (chunk) { res.data += chunk; } );
        res.on( 'end', function () {
          try {
            fn( null, res.data );
          } catch ( err ) {
            fn( err );
          }
        });
      })
    }

Since I'm guessing upgrading from v3.8.2 of SuperAgent to the most recent of v8.0.0 would be an endeavor, I'd yoink their function from image.js above and drop in a thank you comment in the code for it, presuming it fixes this issue.

Because I don't leave well enough alone, yeah my above suggestion fixes it. There's 35 bytes different between using curl and using the SDK with my suggested fix, but I can't visually distinguish it and both PDF files open.

See code in https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/envelopeGetDoc.js which work ok for me.

  let mimetype;
  if (pdfFile) {
    mimetype = "application/pdf";
  } else if (docItem.type === "zip") {
    mimetype = "application/zip";
  } else {
    mimetype = "application/octet-stream";
  }

@InbarGazit the only part of that example we care about is the fileBytes / results object that gets returned at the very end. We do the
let dsApiClient = new docusign.ApiClient();
  dsApiClient.setBasePath(args.basePath);
  dsApiClient.addDefaultHeader("Authorization", "Bearer " + args.accessToken);
  let envelopesApi = new docusign.EnvelopesApi(dsApiClient),
    results = null;

  // Step 1. EnvelopeDocuments::get.
  // Exceptions will be caught by the calling function
  results = await envelopesApi.getDocument(
    args.accountId,
    args.envelopeDocuments.envelopeId,
    args.documentId,
    null
  );

without issue. The problem is when you write those result bytes to a "PDF" file, no PDF reader can open them. The file is corrupt.

Also opened a support Case in the DocuSign Support site to get more visibility into the issue because it's going to be a major blocker for us that I'd rather not have to come up with a workaround for.
Case #: 10013266

Thanks andercs.  We are also having the same exact problem. The response return by getDocument looks like PDF, but it won't open.  Also recently, the API seems to act up when I set documentId to be certificate it doesn't download certificate, but a invalid PDF.  When download portfolio then it downloads the certificate.  This just happened right before I post this.
Docusign do you guys have a fix for this.  Not being able to get the PDF properly via API is huge issue for using your service.

@zero245 yeah so they blew me off completely. The support case has been closed and they refused to leave it open until it was actually fixed. In addition, I was informed they only do twice yearly releases on the SDKs, so there's no intention of doing anything until at least the next one (whenever that happens to be).
With all that being said, they straight up told me to implement a workaround and query their API directly instead of using their SDK (which we did), but all-in-all it was a terrible experience and we plan to move to a competitor in the near future.

Have you tried added the following 2 header values:

Accept: application/pdf
Content-Transfer-Encoding: base64

Adding the above header values should look similar to something like this:
dsApi.addDefaultHeader('Accept', 'application/pdf') dsApi.addDefaultHeader('Content-Transfer-Encoding', 'base64')

@ahmed-shorim-DS looking at the code from this SDK (specifically EnvelopeApi.js) it would appear that application/pdf is included already when you make the getDocument call, so that should be already done by default. No reason to add it again unless there's a separate bug in this SDK's code.
For our workaround that calls the DocuSign API directly (bypassing the SDK) we don't have to specify base64 and it works fine. Same if you do a simple curl request from your terminal. No base64 encoding specification is necessary.
Doing the Content-Transfer-Encoding as base64 should either be done by default in the same EnvelopesApi method if there's some hidden requirement to use it for that method alone, or it shouldn't be necessary at all.
As I pointed out in my MR, https://github.com/docusign/docusign-esign-node-client/pull/306, the primary problem lies with the handler code for putting the application/pdf as a header on the request.
My MR can't work here apparently because you all support as far back as Node v4, which doesn't have Buffer support, but Buffer is a wrapper around yet other code that you all could pull from and implement to actually fix the underlying PDF parsing issue.

@andercs Yes, you can ignore the application/pdf part but if you add the base64 part you should have a valid PDF document downloaded.
Kindly try it and tell me if it works for you.
Regarding having it by default in the EnvelopesApi, I am in touch with the engineering team for that specific topic.
Thank you.

@andercs Another way to do it without setting the base64 header would be as follow:
const env = await envelopesApi.getDocument(accountId, envelopeId, "combined");

let writeStream = fs.createWriteStream('test.pdf');
writeStream.write(env, 'binary');
writeStream.on('finish', () => {
    console.log('file saved');
});
writeStream.end();

Since the endpoint gives you back the file in binary format not in base64

@ahmed-shorim-DS at this point, your suggestions are appreciated for the benefit of others, but as we did not receive this more helpful level of support for about two months, we implemented the workaround (as suggested by the technical support staff), deleted any reference to envelopesApi.getDocument from our code (although we did keep both paths for the first month), and have had to move on to more pressing issues.

@abhim1509 @zero245 Does the above code snippet that I provided help you?

I'm having the same issue. Using Content-Transfer-Encoding: base64 fixes it:
// Setting the header
this.docusignApiClient.addDefaultHeader(
  'Content-Transfer-Encoding',
  'base64'
);

// Performing the request
const results = await envelopesAPI.getDocument(
  account_id,
  envelopeId,
  'combined'
);
const buff = Buffer.from(results, 'base64');
await fs.writeFileSync('test_7.pdf', buff);

Thanks @andercs for flagging it, definitely saved me, and @ahmed-shorim-DS for the workaround.


In watch mode, play an audio cue when there is an error.

This adds a feature I like from the CoffeeScript compiler - when in watch mode, make an audible noise if there is an error processing a watched file.

[Current coverage][cc-pull] is 100%

Merging [#31][cc-pull] into [master][cc-base-branch] will not change coverage

@@           master   #31   diff @@
===================================
  Files           1     1
  Lines         143   143
  Methods         0     0
  Messages        0     0
  Branches        0     0
===================================
  Hits          143   143
  Misses          0     0
  Partials        0     0

Powered by Codecov. Last updated by [7d4cec4...8ced59e][cc-compare]
[cc-base-branch]: https://codecov.io/gh/pugjs/pug-cli/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/pugjs/pug-cli/compare/7d4cec4806f530fa4ae31e76e0d6ba0dacf2b7a9...8ced59e4c6164e84f9a1ddcfba32abd9f114d464
[cc-pull]: https://codecov.io/gh/pugjs/pug-cli/pull/31?src=pr

Oh really, didn't notice that.


build_swift: Drop support for Python 2

This converts the build_swift module to support Python 3 (only). It removes all from __future__ imports, conditional python2 imports, and any use of the six module.
It also removes the subprocess workaround for getting output as a string, instead using the encoding parameter to decode the output as UTF-8.

@swift-ci please python lint

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - 9afdf6f6c45a3c5dc1af4ddf53a198263453bb58

@swift-ci Please Build Toolchain

@swift-ci Please Build Toolchain Linux

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test macOS

@swift-ci please smoke test macOS

@swift-ci please smoke test macOS

@swift-ci please smoke test macOS

Looks like this has been taken care of by other PRs at this point.


[Newtonsoft] Publish version of SQL for preview branch

Description

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] Please add REST spec PR link to the SDK PR
[ ] I have read the contribution guidelines.
[ ] The pull request does not introduce breaking changes.

General Guidelines

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

SDK Generation Guidelines

[ ] If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
[ ] The generate.cmd file for the SDK has been updated with the version of AutoRest, as well as the commitid of your swagger spec or link to the swagger spec, used to generate the code.
[ ] The *.csproj and AssemblyInfo.cs files have been updated with the new version of the SDK.

Need to fix a test, will be ready for merge in an hour

ready for merge.

https://azuresdkci.westus2.cloudapp.azure.com/view/TEST-NetSdkJobs/job/MaddiePS-Sign/80/


Dependency on LittlevGL v6.0

Hi,
First and foremost, I'm really happy to see a GUI designer for the LittlevGL. This is the most awaited feature from many of us.
I have see the below line in the README:
lv_gui_designer is very dependent on LittlevGL v6.0:
Hence, I would like to know whether it will work only on the LittlevGL v6.0 or backward and/or forward compatibility is planned for the designer :thinking:

It's very likely to not support any version before 6.0. However, versions after 6.0 should be supported.

Hello. Because lv_gui_designer use the event(Only after v6.0 version support). Well, if we don't use the v6.0 feature, maybe lv_gui_designer can work on v5.x. For v5.x also supports drag and btn signal.

lv_micropython was significantly improved in v6.0. I wouldn't suggest going back to the older version - I think it had some limitations that could only be addressed in LittlevGL 6.0.

Thank you @embeddedt , @kaiakz for the valuable feedback :+1:


Stuck on Finding feed..

Get this whenever I add any feed now. For example trying to add https://nnw.ranchero.com/feed.xml feed and get:

App becomes non responsive and is like this for 20+ min.
Not sure what to do, everything worked before.
macOS 13.0.1
NetNewsWire 6.1

What kind of account are you using?

iCloud.

Okay it started working again.
If this happens again. Is there anything I can send you to understand why it freezes the app? @brentsimmons


Give metrics and logging a verdict dimension

Playing around with testing and wanted have a little more info on packets per verdict

/ok-to-test
Thanks

This seems to be working as intended when I toss it on a cluster
TYPE packet_count counter
packet_count{family="IPv4",protocol="TCP",verdict="accept"} 627
packet_count{family="IPv4",protocol="TCP",verdict="drop"} 13

one typo to fix and ready to merge

/lgtm
/approve
Thanks


Digikam 5.4.0 can't thumbnail/play videos

Issue description
Following https://bugs.kde.org/show_bug.cgi?id=366387 it seems that QtAv is required for Digikam to thumbnail/play videos. Unfortunately, https://github.com/wang-bin/QtAV isn't yet packaged.
Steps to reproduce
Add a video to an album and view it with digikam. You'll get something like this:
digikam.dimg: "/z/media/Event|Ägyptenreise Feb 2014-2/GOPR3239.MP4"  : QIMAGE file identified
digikam.dimg.qimage: Can not load " "/z/media/Event|Ägyptenreise Feb 2014-2/GOPR3239.MP4" " using DImg::QImageLoader!
digikam.general: mimetype =  ""  ext =  "MP4"
digikam.general: Cannot create thumbnail for  "/z/media/Event|Ägyptenreise Feb 2014-2/GOPR3239.MP4"
digikam.general: Thumbnail is null for  "/z/media/Event|Ägyptenreise Feb 2014-2/GOPR3239.MP4"
digikam.metaengine: Cannot load metadata from file   (Error # 11 :  /z/media/Event|Ägyptenreise Feb 2014-2/GOPR3240.MP4: The file contains data of an unknown image type
Technical details

System: 17.03beta773.38b2e27 (Gorilla)
Nix version: nix-env (Nix) 1.11.8
Nixpkgs version: 17.03beta773.38b2e27

@clefru : did you start package qtav yet?

I may already have something for the packaging of libqtav. Still need some testing.

@jraygauthier: Sorry, I failed to see your message. I started packaging and noticed that I have very little clue on the cmake/qmake build process. Thanks for taking that of my hands.
May I offer you a small tip in Bitcoin for saving me a couple of hours? If yes, leave your address here :)

@clefru: my pleasure. Here's the address: 1v3UXrPFPSy1cPq5xgJnxswd7pfKgwufh.

Thanks again. Works for me (video play & thumbnails). Enjoy your BTC :)


isUserSignedIn caches the userSession from shared preferences

The default implementation of BlockstackSession uses SessionStore backed by the default shared preferences.
If two BlockstackSession exists backed by the same preferences and the user is logged out in one session then the second does not reflect that.

A workaround is to use a single instance of SessionStore that is used in both BlockstackSessions.
This needs to be documented or the default SessionStore should not cache the state of the preferences.


Google Datastore backend

We support GAE for quite some time now, but it was not updated since v0.5 and lacks most new features.
Since #652 is nearly done it makes sense to port GAE to it. This should will minimize maintenance effort in the future.

@wsh — any progress on the Datastore backend? Also, is the current GAE Datastore backend production-capable? Datastore is not listed in the backend section of https://github.com/cayleygraph/cayley#features, hence the question.

Finally got a chance to work on this. :) https://github.com/cayleygraph/cayley/compare/master...wsh:add-cloud-datastore. I don't want to spam you all with a pull request until it's a bit further along, but am happy to open one if you'd like (and would welcome feedback). (FYI, in case it's not obvious, I'm not very experienced with Go.)

@wsh Great news! Thanks for taking a time to work on it :)
Can you please open a PR against this tree?

This looks like a stale PR, @wsh would you like help merging this?

Backend support was moved to a separate project.

This issue is now tracked here


ESP_ERROR_CHECK fails during user connection

Hi, I found a bug in the connection process where sometimes the event ORDER_START_WIFI_SCAN occurs during the execution of ORDER_CONNECT_STA which causes the esp to reset due to an assert failure for the scan because the sta is attempting to connect.
I fixed this by adding a boolean that gets set to true in ORDER_CONNECT_STA if msg.param == CONNECTION_REQUEST_USER, and only performing the wifi scan when the flag is false. this flag needs to be reset to false if the password is wrong under EVENT_STA_DISCONNECTED.
Here's the serial output:
I (13123) wifi_manager: SYSTEM_EVENT_AP_STACONNECTED
I (13433) dns_server: Replying to DNS request for captive.apple.com from <IP_ADDRESS>
I (14273) tcpip_adapter: softAP assign IP to station,IP is: <IP_ADDRESS>
I (34383) wifi_manager: MESSAGE: ORDER_CONNECT_STA
W (35903) wifi: sta_scan: STA is connecting, scan are not allowed!
ESP_ERROR_CHECK failed: esp_err_t 0xffffffff (ESP_FAIL) at 0x4008c7a0
0x4008c7a0: _esp_error_check_failed at /Users/neo/esp/esp-idf/components/esp32/panic.c:731
file: "/Users/neo/esp/NeoFW/main/wifi_manager.c" line 766
func: wifi_manager
expression: esp_wifi_scan_start(&scan_config, false)
ELF file SHA256: 6f3485e5d5133654cca74dfc79b19dfeb7d2ed440c7003b076ace0c65b2e027f
Backtrace: 0x4008c21d:0x3ffc0460 0x4008c7a3:0x3ffc0480 0x400d6c21:0x3ffc04a0 0x4008e79d:0x3ffc0620
0x4008c21d: invoke_abort at /Users/neo/esp/esp-idf/components/esp32/panic.c:157
0x4008c7a3: _esp_error_check_failed at /Users/neo/esp/esp-idf/components/esp32/panic.c:732
0x400d6c21: wifi_manager at /Users/neo/esp/NeoFW/main/wifi_manager.c:751 (discriminator 2)
0x4008e79d: vPortTaskWrapper at /Users/neo/esp/esp-idf/components/freertos/port.c:143

What about using ESP_ERROR_CHECK_WITHOUT_ABORT instead of ESP_ERROR_CHECK?
https://github.com/tonyp7/esp32-wifi-manager/blob/master/src/wifi_manager.c#L776
Or is it advantageous to restart the device?

@akhilv1 a boolean is not an acceptable thread synchronization. However I think this can easily be fixed by checking for the event group bits CONNECTION_REQUEST_USER or CONNECTION_REQUEST_RESTORE_CONNECTION.
I mark this as bug and include in milestone 3.2


Existing organizations are not displayed from My Profile-> Create Post->Organization

Issue : Existing organizations are not displayed from My Profile-> Create Post->Organization

Very quick. Thank you @nr431207 and @idjevm !

Verified the defect and is working fine Thanks!


fix: removeOne(-1) from the end

mcve
const b = new Denque([1, 2, 3, 4, 5, 6, 7, 8]);
console.log(b.removeOne(-1));
console.log(b.toArray());

expected result
8
[1, 2, 3, 4, 5, 6, 7]

actual result
8
[2, 3, 4, 5, 6, 7, undefined]

 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.


feat(config): allow custom options in custom transformers

Summary

Continue #1946
Closes #1942
Test plan

Green CI
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information
N.A.

Pull Request Test Coverage Report for Build 5939

11 of 11 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.2%) to 93.211%

Totals

Change from base Build 5936:
-0.2%

Covered Lines:
1136

Relevant Lines:
1170

💛  - Coveralls

Thanks for taking this over. When can I expect a release? 😄

Expect to be in a few days :)


Can Continue Property

If you press back button and then next again can continue is turned into false, and if you have keep alive true then there is no hook where this property can be updated, its alot of workaround for only to get next button available.

Modify backStep() function in HorizontalStepper.vue
backStep(){
this.canContinue = true;
...
}

@gsaimon why this.canContinue in HorizontalStepper not working for me ?


Make it possible to group fields of different types

Or, in other words, fully preserve the order of register and fields, so they appear in the RegisterList object exactly the way the appeared in the data file (TOML/JSON/YAML).
Motivation
Grouping things that are related is very important for readability and understandability. Both in data file, HDL, SW and documentation.
Our current data file format and parser will preserve the order of fields, but only within each type. Bits will always be placed first, then all bit vectors, then all integers, and then all enumerations. No matter how they appeared in the data file. Meaning, it is impossible to group, e.g., a bit with a bit vector.
Same on the top level, all registers are placed first then all register arrays. No matter how they appeared in the data file.
Example
Say that a register has the following fields:

tuser_enable (bit)
tuser_value[3:0] (bit vector)
tdest_enable
tdest_value[3:0]
tid_enable
tid_value[3:0]

It would be really nice if all the TUSER fields were close together, and same for the TDEST and TID fields. This is currently not possible.
Current problem description
The current data file format organizes data e.g. like this:
register.register_name.mode
register.register_name.bit.field_name_1.description
register.register_name.bit.field_name_1.default_value
register.register_name.integer.field_name_2.description
register.register_name.integer.field_name_2.default_value
register.register_name.bit.field_name_3.description
register.register_name.bit.field_name_3.default_value
The result from reading a TOML/JSON/YAML file in Python is a dictionary. To append a field to a register, we must parse name, description, etc. from the dictionary. In order to access these properties, we must first enter and iterate the third level of the dictionary (bit/integer/etc). This is were the ordering of fields is lost, since we must decide which one to enter first, and then parse all fields in that type. There is no way to know that the first bit shall be placed first, then the first integer field, and then the second bit.
Proposed solution
Given the current problem description above, it seems the data file format must be updated. This is a highly breaking change, and will be a hassle for many users. However, we will be able to convert old data files to the new format automatically. The hassle will be that any manual formatting of the old file will be lost. As well as any comments.
I will suggest two new formats here. First in pseudo-code as above, and then after that with some real TOML code, using some different TOML formatting.
New format A: Type from structure
Simply flip the order compared to the current format. Allows us to iterate all members of the register in order, no matter their type.
register_name.register.mode
register_name.register.field_name_1.bit.description
register_name.register.field_name_1.bit.default_value
register_name.register.field_name_2.integer.description
register_name.register.field_name_2.integer.default_value
register_name.register.field_name_3.bit.description
register_name.register.field_name_3.bit.default_value
New format B: Type from property
Add a type property to top-level objects (register, register array, constant), and to register fields.
register_name.type = "register"
register_name.mode
register_name.field_name_1.type = "bit"
register_name.field_name_1.description
register_name.field_name_1.default_value
register_name.field_name_2.type = "integer"
register_name.field_name_2.description
register_name.field_name_2.default_value
register_name.field_name_3.type = "bit"
register_name.field_name_3.description
register_name.field_name_3.default_value
Sample data files from unit test
New format A
################################################################################
[data.register]

mode = "w"

################################################################################
[status.register]

mode = "r_w"
description = "Status register"

bad.bit.description = "Bad things happen"

not_good.bit.description = ""
not_good.bit.default_value = "1"

direction.enumeration.description = "The direction mode"
direction.enumeration.default_value = "input"
direction.enumeration.element.passthrough = ""
direction.enumeration.element.input = ""
direction.enumeration.element.output = "use in output mode"

interrupts.bit_vector.width = 4
interrupts.bit_vector.description = "Many interrupts"
interrupts.bit_vector.default_value = "0110"

count.integer.description = "The number of things"
count.integer.min_value = -5
count.integer.max_value = 15

################################################################################
[config.register_array]

array_length = 3
description = "A register array"

# ------------------------------------------------------------------------------
[config.register_array.input_settings.register]

description = "Input configuration"
mode = "r_w"

[config.register_array.input_settings.register.enable.bit]

description = "Enable things"
default_value = "1"

[config.register_array.input_settings.register.disable.bit]

description = ""
default_value = "0"

[config.register_array.input_settings.register.number.integer]

description = "Configure number"
max_value = 3
default_value = 1

[config.register_array.input_settings.register.size.enumeration]

default_value = "large"
element.small = ""
element.medium = ""
element.large = ""

# ------------------------------------------------------------------------------
[config.register_array.output_settings.register]

mode = "w"

[config.register_array.output_settings.register.data.bit_vector]

width = 16
description = "Some data"
default_value = "0000000000000011"

New format B
################################################################################
[data]

type = "register"
mode = "w"

################################################################################
[status]

type = "register"
mode = "r_w"
description = "Status register"

bad.type = "bit"
bad.description = "Bad things happen"

not_good.type = "bit"
not_good.description = ""
not_good.default_value = "1"

direction.type = "enumeration"
direction.description = "The direction mode"
direction.default_value = "input"
direction.element.passthrough = ""
direction.element.input = ""
direction.element.output = "use in output mode"

interrupts.type = "bit vector"
interrupts.width = 4
interrupts.description = "Many interrupts"
interrupts.default_value = "0110"

count.type = "integer"
count.description = "The number of things"
count.min_value = -5
count.max_value = 15

################################################################################
[config]

type = "register array"
array_length = 3
description = "A register array"

# ------------------------------------------------------------------------------
[config.input_settings]

type = "register"
description = "Input configuration"
mode = "r_w"

[config.input_settings.enable]

type = "bit"
description = "Enable things"
default_value = "1"

[config.input_settings.disable]

type = "bit"
description = ""
default_value = "0"

[config.input_settings.number]

type = "integer"
description = "Configure number"
max_value = 3
default_value = 1

[config.input_settings.size]

type = "enumeration"
default_value = "large"
element.small = ""
element.medium = ""
element.large = ""

# ------------------------------------------------------------------------------
[config.output_settings]

type = "register"
mode = "w"

Questions for the community
This is a large change that will impact almost all users. So I would appreciate some feedback and help on this one. This is hopefully the last change of data file format we ever make.

Do you prefer format A (type from structure) or format B (type from property) above, or anything else?
If B, do you prefer type names written with space (bit vector, register array) or underscore (bit_vector, register_array)?
Any other wishes for the data file format? Anything that is missing? Anything that is strange/wrong?

I have implemented and tested option A and B in #115. They both work fine.

Pining some people that might be interested: @LarsAsplund @elhasab @codecache-fpga @joafr-ice.
Is also discussed in #95.

@theo-scott @woloven70 @hansfbaier @pidgeon777 @rkaletka @OldTomCrazyCode  @basberg @eddiell @wlupo @sduport @pcayuela  @mustafatayf @mariuselv @prasadp4009 @robindust-ce @tms4517 @akashlevy @svenka3 @pintert3 @lgrativol @nicdes
Sorry for the mass ping of everyone who has either starred or forked this project. But if you are interested in the future of this project, this is the time to make your voice heard!

I haven't yet used this tool much, but from what I see, format B seems the better option. It's clearer and easier to write. For the names, I prefer the underscore.

To be honest I hadn't a chance to test this tool yet, but I plan to do it as soon as possible 👍.

for me format B with underscore, so far no wishes, gotta work more with it

I've been pondering this issue and wondered if it's feasible to maintain the file format unchanged while enforcing field creation by their order in the TOML file. However, I don't mind any of the proposed solutions.
As for my preference, I lean towards format B with underscore.

B because it makes a clear distinction between the named objects that we talk about and properties of those objects.
Ideally, properties like types should be identifiers rather than strings but it when that doesn't work strings with underscores makes it more identifierish.

Great, thank you all, it seems that option B with underscore is winning.
I think I have some time in the beginning of next week to implement this. Although it is mostly implemented #115, a lot of polishing, error checking, and unit testing remains. Once done I will make a release.

This is now done and merged to main. I have some other changes I want to make before making a breaking release, so a proper release is probably a while away. But if anyone wants to try it from main in the meantime, feel free.

@LukasVik I tested the updated format in my client's project and it works as intended! When do you think the next release will be? My client prefers waiting until it's available on PyPi. If the final release is far in the future, would you consider a pre-release which only gets installed when doing pip install --pre?
I use that for VUnit. For example, the latest pre-release on PyPi is 5.0.0.dev3. The only "problem" is that this format doesn't follow semver which we normally use (some open source project ranking tools give extra points for following semver). For that reason the git tag is still v5.0.0-dev.3

Hello @LarsAsplund , thank you for trying it out, nice to hear that it’s
working well.
I am ready to make a new release asap actually. I’ve done all the breaking
changes that I wanted to include with 6.0.0. I’m on the road now but I’ll
be back in Vienna on the 26th. I’ll make the release within a day or two
after that.
On Wed, 21 Aug 2024 at 14:00, Lars Asplund @.***> wrote:

@LukasVik https://github.com/LukasVik I tested the updated format in my
client's project and it works as intended! When do you think the next
release will be? My client prefers waiting until it's available on PyPi. If
the final release is far in the future, would you consider a pre-release
https://packaging.python.org/en/latest/discussions/versioning which
only gets installed when doing pip install --pre?
I use that for VUnit. For example, the latest pre-release on PyPi is
5.0.0.dev3. The only "problem" is that this format doesn't follow semver
which we normally use (some open source project ranking tools give extra
points for following semver). For that reason the git tag is still
v5.0.0-dev.3
—
Reply to this email directly, view it on GitHub
https://github.com/hdl-registers/hdl-registers/issues/116#issuecomment-2301879705,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACOEO6YUXCNA42F2PBI2STTZSR6PLAVCNFSM6AAAAABHQJXS5GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBRHA3TSNZQGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

This is now released in version 6.0.0!

@LarsAsplund Thanks again for beta testing. Did the automatic upgrade of the data file work fine for you?


Notification in Iphone, even when using riot-web

Hi. I am not sure if it is a bug or just a settings/config problem:
When i am using Riot-Web and have the chat window in foreground, i receive iOs Notification on my Iphone. They disappear after 1-3 seconds, but the Iphone receive them with Display-On.
But i think this will be the better behaviour:
When i am using riot web and the browser is in foreground and a message is actively read by me, than i woll not receive a Iphone notification.
Only when the browser is in background or i am like idling, then i want to receive notifications.
I am using the latest Version of Riot-Web, riot-ios, Matrix Synapse.
Everything is self-hosted without federation.

Was going to file a new issue to use this API https://developer.apple.com/documentation/usernotifications/unusernotificationcenter/1649500-removedeliverednotifications but this issue is essentially the same.
Notifications should get removed once they are read. Even a first version of this that just gets rid of notifications read on the same device would be really useful. Right now I read a bunch of messages in the iOS client and then I have to go through and clear all of those notifications. This should be done automatically as they are read.

Steps to reproduce:

receive multiple messages in an E2E encrypted room
Read the message on Riot web

Expected results: Notifications disappear on phone
Actual results: Notifications don't disapear
More steps:

tap one of the notifications on your iOS device

Expected results: Rest of the notifications disappear on phone
Actual results: Only the notification you opened disappeared


Implement JWT Provider

Description
This task involves creating a JWT (JSON Web Token) Provider within the ExpressoTS framework. The provider will be responsible for generating, verifying, and managing JWTs, which are critical for secure authentication and authorization processes. While jsonwebtoken is suggested, the developer is encouraged to evaluate and propose any superior alternatives.
Goals

Secure Token Management: The JWT provider should ensure tokens are generated and managed securely, incorporating best practices to prevent common security vulnerabilities.
Ease of Use: It should offer a simple and straightforward interface for other components within the framework to generate and verify tokens.
Flexibility: The provider must be configurable to accommodate different use cases and security requirements.

Requirements
Provider Setup:

Evaluate the jsonwebtoken library and any other potential libraries for JWT management. Select the most suitable option based on features, security, performance, and community support.
Create a new provider class that adheres to the IProvider interface from the ExpressoTS core.

Token Generation:

Implement a method for generating JWTs with support for custom claims and expiration settings.
Ensure the generation process is compliant with the latest security standards for token-based authentication.

Token Verification:

Provide a method for verifying JWTs, including signature validation and claim checks.
Handle common JWT verification issues gracefully, providing meaningful error messages.

Configuration:

Allow for easy configuration of token secret keys, algorithm selection, and other JWT settings through environment variables or configuration files.

Testing:

Develop a comprehensive test suite to verify token generation, expiration, signature validation, and error handling.
Include tests for different configuration scenarios to ensure flexibility and robustness.

Documentation:

Document the provider’s methods, configurations, and usage within the ExpressoTS framework.
Provide sample code and use-case scenarios to guide developers on how to utilize the JWT provider for authentication and authorization.

Integration:

Ensure the provider integrates seamlessly with the ExpressoTS authentication and authorization mechanisms.
The JWT provider should be easy to plug into existing applications built on the ExpressoTS framework with minimal configuration.

Deliverables

[ ] A fully implemented JWT provider compatible with the ExpressoTS framework.
[ ] A detailed report comparing jsonwebtoken with any other evaluated libraries, justifying the selection.
[ ] A test suite covering all aspects of the JWT provider.
[ ] Comprehensive documentation and usage examples.

Code example

Hey @rsaz is this issue still up for grasp? I am willing to implement this

Hey @rsaz is this issue still up for grasp? I am willing to implement this

Hi @devsargam thanks for reaching out. Currently JWT Provider is being developed by @projectjimcs, in fact he is almost finishing the implementation.
However, here is the roadmap of the ExpressoTS and has tons of areas that needs implementation. Please take a look in a area that you would like to study, learn and implement that I can define a precise task for you in the field that you are more inclined to work on. Looking forward in hearing from you.


Parent ID is not provided in type extension when it is not part of the query

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
I am not sure, if it is a bug per se, but when using [Parent] in a type extension, then the ID is default, if it is not part of the query. Maybe it is also to be expected behavior, at least for me it was not expected and about an hour of google searches did not bring up the problem (also I did not find anything in the slack channel).
For example:
query myQuery {
  user(id: 2) {
    id # remove this and the type extension will not receive the id.
    firstName
    lastName
    userTransactionCounts(itemIds: [1, 2, 3]) {
      item {
        name
      }
      count
    }
  }
}

The resolver on the type extension of user:
public async Task<TransactionCountResult[]> GetUserTransactionCounts(
        [Parent] User user,
        [Service] ITransactionService transactionService,
        int[] itemIds,
        DateTime? until)
    {
        if (user.Id == 0)
            throw new ArgumentException("ID is not set. Put the ID in the query, so it can be resolved");
            // This will throw, if the id is left out on the parent

Maybe I misunderstood something here and it is possible. At least I cannot find anything in the documentation.
Steps to reproduce

Create a query which does not contain the ID of the type
Use the ID in a type extension using the parent
Check the id for default and throw

Expected result

The query gets resolved
The resolver on the extension method gets called
No exception is thrown

Actual result

The query gets resolved
The resolver on the extension method gets called
The exception is thrown

Relevant log output
No response
Additional Context?
No response
Product
Hot Chocolate
Version
12.16.0

I'm assuming you are projecting in your user field resolver, so the Id will not be retrieved from the database, if not queried. If it's essential information you should mark it to always be retrieved: https://chillicream.com/docs/hotchocolate/v12/fetching-data/projections/#always-project-fields

Yes, you are right. I know about that (now) :) - after being confused at first. I did not find anything, so I thought I'll ask. So thanks for the quick answer and I hope it will help someone else stumbling over that problem.
Is it somehow possible to tell HC that it should always project the ID (or any specific property) when the resolver of an extended type is called?
Because now I just can opt-in to always resolve the specific property and causing overfetching on my DB, or the user of the API has to have the knowledge about what to specify to be resolved in order to get the correct response from the server. Thus, the API user needs to have internal knowledge about the API.
Or maybe it is not the right approach and I should use stitching or something in this case?
So maybe it would be a viable solution to tell what to autoproject on the parent:
public async Task<TransactionCountResult[]> GetUserTransactionCounts(
       [Parent(nameof(User.Id), nameof(User.UserGroupId))] User user,
// ...


[Bug]: Missing map completion suggestion

Description
For low-code-editor's statement-editor, we have a requirement to prioritise the complete map suggestion in statement-editor suggestions. Current ballerina version does not provide map completion suggestions.
Steps to Reproduce
Please use the following code
import ballerina/io;

import ballerina/http;

configurable string restCountriesURL = "https://restcountries.com/v3.1";

map<string> m = {
    "1": "All",
    "2": "Africa",
    "3": "Americas",
    "4": "Asia",
    "5": "Europe",
    "6": "Oceania"
};

type Country record {
    string[] capital?;
    CountryName name;
    boolean independent?;
    boolean landlocked;

    decimal area;

    boolean unMember;

    int population;

    string startOfWeek;

    string[] timezones;

    string region;

};

type CountryName record {

    string common;

    string official;

};

type CountryResponse record {

    string name;

    string[] capital;

    int population;
    decimal area;
    string region;
};

public function main() returns error? {

    string choice = io:readln("Select reigon -> " + m.toString() + " : ");

    string|error region = getRegion(choice);

    if region is error {
        return region;
    }

    http:Client country = check new (restCountriesURL);

    Country[] payload = check country->get("/all");
    CountryResponse[] countryResponse = from Country item in payload
        where item.population > 50000000
        where (item.region == region) || region == "All"
        order by item.population descending
        select {};

    foreach CountryResponse cr in countryResponse {
        io:println(cr);
    }
}

function getRegion(string id) returns string|error {

    return m.hasKey(id) ? m.get(id) : error("region not found");

}

Check suggestions in line 72 select {}
Affected Version(s)
Ballerina 2201.2.0
OS, DB, other environment details and versions
No response
Labels
VSCode
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

Minimal version of the example is:
type Data record {|
    string id;
    json payload;
|};

public function main() {
    int[] arr = [];
    Data[] d = from var i in arr
        select {}
}

This has been introduced as a side effect of https://github.com/ballerina-platform/ballerina-lang/pull/37063


Sending Sol error

**Describe the sending sol to sol address error
To Reproduce
Steps to reproduce the behavior:

Send sol
Amount
Send
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
App Version [e.g. 3.3.0]

Additional context
Add any other context about the problem here.

What version of the Helium Wallet App are you on? If you haven't done so already, please try updating to the latest version on Android (e.g., 2.0.6) to see if that addresses the issue.

Latest now works
On Sat, 22 Apr 2023, 18:24 Darwin Rinderer, @.***>
wrote:

What version of the Helium Wallet App are you on? If you haven't done so
already, please try updating to the latest version on Android (e.g., 2.0.6)
to see if that addresses the issue.
—
Reply to this email directly, view it on GitHub
https://github.com/helium/wallet-app/issues/204#issuecomment-1518711762,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A7LMMLMGK2DIXETI3ODSXGDXCQH5DANCNFSM6AAAAAAXHU4VRE
.
You are receiving this because you authored the thread.Message ID:
@.***>


Suspend promise batch?

I've encountered a use case where it might be useful to read from a resource from map callback
const arr2 = arr1.map( val => {
  resource.read(val.prop);
})

If I understand suspense correctly, each invocation to .read will throw and resolve one by one. Could we  have a mechanism to throw an array of promises for parallelization?
const parallelMap = (arr, fn) => {
  const promises = [];
  const newArray = [];
  for ( let i = 0; i < arr.length; arr++) {
    try {
      newArray.push(fn(arr[i]))
    } catch (err) {
      if(typeof err.then === 'function') {
        promises.push(err);
       continue;
      }
      throw err
    }
  }
  if (promises.length > 0) {
    throw promises // can we have this plz?
  }
  return newArr;
}

...
let arr2 = parallelMap(arr1,  val => {
  resource.read(val.prop)
})

throw Promise.all(promises)?

I think that work for my use case. thanks!

Hi, thanks for your suggestion. RFCs should be submitted as pull requests, not issues. I will close this issue but feel free to resubmit in the PR format.


[v1.0 DENAS] return correct best structure for sigopt search

sigopt search for VIT and ASR returns latest cdds and best structure, this PR is to fix this bug to return correct best structure.

It might be a repo sync issue about DeNas original code. It was fixed several month ago about the public repo code was the unfixed one.
I have checked with MOSigoptSearchEngine.py and it is the one that return correct strcuture.
I have checked with previous DeNas run logs about ViT, and it the one that return correct structure.
ViT best structure in previous run,
(12, 3.0, 3.5, 4.0, 3.0, 3.0, 3.0, 4.0, 3.0, 4.0, 3.0, 4.0, 3.5, 9, 3, 3, 7, 3, 5, 3, 5, 6, 4, 3, 4, 320)
Corresponding SigOpt link: https://app.sigopt.com/experiment/532868

The PR looks good with me.

Having checked with Tao, it was typo bug when adding MOSigoptSearchEngine in https://github.com/intel-innersource/frameworks.bigdata.AIDK/commit/e92a9793db540e9c6e1fe0dc467dfea922f86a14#diff-89b0bb4c7fbd0f96e37453c52d43f2f4548dea71d657c2039e7d3a54a866607a


Proprietary codec availability needs to be detected at runtime

Currently, the build instructions recommend setting use_proprietary_codecs=1, which always reports those codecs as available. But on Fedora, those codecs are not available out of the box, but only if the plugins are installed from third-party repositories. So there needs to be a runtime check for at least media::MimeUtil::allow_proprietary_codecs_. But ideally, availability needs to be checked for each individual codec.

(For an example of what can happen if the codecs are incorrectly reported, see: https://bugzilla.redhat.com/show_bug.cgi?id=1248801 – current QtWebKit does not work on YouTube on a stock Fedora installation, because it hardcodes the codec list.)

You are right, currently if upstream Chromium is built with use_proprietary_codecs=1 and ffmpeg_branding=Chromium then it fails to play Youtube video that wants to use proprietary codec in priority. Indeed Chromium statically reports it can play then fails to decode but does not fallback to non-proprietary codecs.
So it should be dynamic in the first place as you suggested.
Chromium should be able to ask at the runtime the media backend if it is supports the requested proprietary codec.

As @kkofler said in the RH bug linked above, this issue is also present in WebKit since SVN r117207 since WebKit does not use a static list of mimetypes, and does not consider querying the GStreamer registry for that. This issue currently affects Fedora, and is being currently tracked as WK bug 135972.
This, while it makes sense in environments where the GStreamer codecs installation infrastructure is available to be used (which is enabled in WebKit since SVN r147279), might not be an option in other environments such as chromium, which is heavily based in bundled-in libraries.
So, while I doubt upstream chromium will ever accept a change like this one, I'm sharing here a link to the solution we have implemented downstream in Endless, which might be helpful here too:
https://bugs.webkit.org/show_bug.cgi?id=135972#c13

FYI, the WebKit equivalent of this issue has been addressed (http://trac.webkit.org/changeset/201163), but be warned that licensing probably prevents copying&pasting their code (the media/base/mime_util.cc file is BSD-licensed, the WebKit code is LGPL, which is more restrictive).


Combined PR to Trigger CI

Contains the following pull requests: -
https://github.com/wildfly/wildfly-core/pull/4024
https://github.com/wildfly/wildfly-core/pull/4200
https://github.com/wildfly/wildfly-core/pull/4201
https://github.com/wildfly/wildfly-core/pull/4202

Dependency Tree Analyzer Output:
New Dependencies:

org.wildfly.openssl:wildfly-openssl-linux-s390x:jar:1.1.0.Final:compile

CC @wildfly/prod

Core - Full Integration Build 9655 outcome was UNKNOWN using a merge of 546395bf1663705287953b04a28878414d89ebfb
Summary: Canceled (Tests passed: 1902, ignored: 39; exit code 143 (Step: Build & test full (Maven)) (new)) Build time: 00:41:21

Core - Full Integration Build 9632 outcome was UNKNOWN using a merge of 546395bf1663705287953b04a28878414d89ebfb
Summary: Canceled (Tests passed: 1562, ignored: 14; exit code 143 (Step: Build & test full (Maven)) (new)) Build time: 00:41:27

All PRs now merged except https://github.com/wildfly/wildfly-core/pull/4201 which I am double checking.


Keybase folders are showing up in Explorer, contra message.

After the latest Keybase upgrade (Windows client), the Folders page displays a message "Your Keybase folders are currently not showing up in your explorer", even though the K: drive is as present and accessible as it's always been, per enclosed screenshot.

(It does appear to have disabled click-to-open-folder functionality in the client, however, even though manual navigation works fine.)

@cerebrate thanks for the report
cc: @zanderz

the update on win 10 works for me, however on a new clean win 7 install I get the same as above or just a continuous disconnected

@cerebrate @unlocKing Please do a keybase log send so we can see why this might have happened on your systems.

@zanderz Is done. My log id is 0ac1c4316e37ff4a121ea51c .

I had the same issues My log id bb8a5a6e4cff66a21722db1c

Checking in for same issue, 0f281ea4a4333e489d26d81c

Sorry for the delay. This week's upcoming release should improve these issues - I'll update here when it is available.

Has this been resolved? Getting it on a fresh reset Windows 10. Log ID: e72ccda667a9a9abb8d87a1c

I managed to solve my issue above by following the comment in issue #8968 to reinstall Dokan.


Configurable access logger with JSON support

This is a new access logger derived from (and replacing) the old one. It exists in its own accesslog package under middlewares and has similar-ish net/http filters to the existing solution. Its first concern is to implement the existing extended Common Log Format behaviour, to provide a clean upgrade path for existing users.
But it's now split into pluggable parts, the important part being its formatter (the CLF formatter being the default). A new JSON formatter exists.
The file writing part is termed the log appender and is slightly enhanced: it allows buffered writing, or gzipped writing, and/or asynchronous writing via a channel/goroutine.
The final area of change is to the configuration: new settings are needed to control the new features. This is done with a new AccessLog type in types.go.
Notice that there are now three middlewares:
the first is the 'main' logger that tracks each request, builds log events, and despatches these to the log appender;
the second inserts knowledge about the frontend into the log-data context;
the third inserts knowledge about the backend into the log-data context.
There had previously been an error in tracking the frontend data: it operated on the incorrect assumption that there is a 1:N mapping from frontends to backends.

This PR supersedes #1230.

Retest

retest

In order to progress this new access logger I am going to submit a series of smaller PRs.  Hopefully these will be easier to review :-)
I have created PR #1408 as the first set of changes.

@rjshep shall we close this one in favor of #1408 and other PRs which are yet to come?

@timoreimann Yes, please close this PR.  I'll follow up with additional PRs with the rest of the functionality once #1408 is accepted.

Thanks for the update.


Patch libxml2 to resolve CVE-2024-25062

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[ ] Ready to merge

Summary
Add patch to resolve CVE-2024-25062
Reference: https://gitlab.gnome.org/GNOME/libxml2/-/compare/v2.11.6...v2.11.7?from_project_id=1665&straight=false
Change Log

Add patch file
Update toolchain manifest entries

Does this affect the toolchain?
YES
Associated issues

#xxxx

Links to CVEs

https://nvd.nist.gov/vuln/detail/CVE-2024-25062

Test Methodology

Pipeline build id:
PrepareBuild: https://dev.azure.com/mariner-org/mariner/_build/results?buildId=641717&view=results
AMD64 Toolchain: https://dev.azure.com/mariner-org/mariner/_build/results?buildId=641724&view=results
ARM64 Toolchain: https://dev.azure.com/mariner-org/mariner/_build/results?buildId=641725&view=results

Auto cherry-pick results:

main :white_check_mark: -> https://github.com/microsoft/azurelinux/pull/10490

Auto cherry-pick pipeline run -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=642559&view=results


rebuild again

Signed-off-by: Zhiwei Yin<EMAIL_ADDRESS>issue: https://github.com/open-cluster-management/backlog/issues/14539
https://github.com/open-cluster-management/backlog/issues/14528
https://github.com/open-cluster-management/backlog/issues/14524

/lgtm


breaking: Dropped support for python 3.7

Pull Request Checklist

[X] Make sure to read the contributor guide here.
[X] Make sure you are making a pull request against the main branch.
[X] Make sure your pull request title matches the requested format.
[X] Make sure to lint, type-check, and run unit and API tests.

Description
Dropping support for python 3.7

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


Newtonsoft.Json causes dependency warnings in UWP projects

Adding Newtonsoft.Json to a fresh UWP project causes dependency warnings:

runtime.native.System.IO.Compression 4.1.0 depends on runtime.win10-arm64.runtime.native.System.IO.Compression (>= 4.3.0) but runtime.win10-arm64.runtime.native.System.IO.Compression 4.3.0 was not found. An approximate best match of runtime.win10-arm64.runtime.native.System.IO.Compression 4.3.1 was resolved.

and

runtime.native.System.IO.Compression 4.3.0 depends on runtime.win10-arm64.runtime.native.System.IO.Compression (>= 4.3.0) but runtime.win10-arm64.runtime.native.System.IO.Compression 4.3.0 was not found. An approximate best match of runtime.win10-arm64.runtime.native.System.IO.Compression 4.3.1 was resolved.

Steps to reproduce

create a new UWP project (I chose target w10 1803, min version w10 CU, Microsoft.NETCore.UniversalWindowsPlatform 6.1.4)
install Newtonsoft.Json 11.0.2

Not sure I understand why and how Newtonsoft.Json depends on two versions of the same library. Maybe some transitive deps are running wild?

Newtonsoft.Json 11 has a netstandard2.0 target. If you setup your UWP project to be able to use netstandard2.0 targets then either you shouldn't get any warnings about different package version.
If you do get warnings then it is a bug in UWP and you'll need to raise an issue with the UWP team.

Targeting netstandard2.0 is impossible because W10 mobile does not support anything beyond 1.4.

@JamesNK could you reopen this? As I said, there is no way for uwp devs to target netstandard2.0 if they want to ship their app to w10 mobile.

You'll have to live with warnings.

This is a .net library, not for UWP.

The problem is in UWP apps targeting MinVersion 10.0.15063 or older SDK version.
For some reason starting with Newtonsoft.Json 10 Visual Studio/Nuget uses the ".NETStandard1.3" package in those apps instead of the previously used "portable-net45+wp80+win8+wpa81" package.
The .NETStandard1.3 target loads lots of Nuget dependencies from the NETStandard.Library 1.6.1 Nuget - this Nuget is completely unnecessary in UWP apps with MinVersion 10.0.15063 or older, see my previous issue #1291.
It might be a good idea to add new target ".NETCore5.0" to Newtonsoft.Json for UWP apps targeting older SDKs, without need to load full NETStandard.Library 1.6.1.


tested best editor should be VScode

👷 Deploy Preview for zelinwang processing.

Name
Link

🔨 Latest commit
65c9234dd4a7b8e5eeb545f1ffdd5f71b3d651c2

🔍 Latest deploy log
https://app.netlify.com/sites/zelinwang/deploys/626a87299da1260008e2c9c2


Add missing deps to publish release script.

@max-radin I don't understand why, but it works now (see this action) :)

@max-radin no, this PR changes the behavior, so that it runs using the versions specified in setup.cfg:
See this code:
run_tests_before_release:
	python3 -m venv ${VENV_NAME} && \
		${VENV_NAME}/bin/python3 -m pip install --upgrade pip && \
		${VENV_NAME}/bin/python3 -m pip install -e '.[dev]'
		${VENV_NAME}/bin/python3 -m pytest tests/

It doesn't install anything from the cloned repos, it installs it all from the correct versions.
I think what confuses you is that I added all those checkout actions back – for some reason it didn't work without them, but I don't remember why. Perhaps it was needed at some iteration of this code, but eventually it's actually not necessary.
I'll try removing them once again and seeing if it fails – when I look at the code right now I think they're actually unnecessary, it might have been some

@max-radin Ok, please take a look again, it works (see here) and I think it's cleaner now.
Good catch!


'Namespace 'vscode' has no exported member 'Task'

VSCode Version: 1.11.2
OS Version: Ubuntu 16.04 64bit

Steps to Reproduce:

I want to try new (proposed) Tasks API mentioned in the version 1.11, so I follow the typescript example of how to use the API in VS Code's gulp extension copying the code to my extension
After running debugger I get a message: 'Namespace 'vscode' has no exported member 'Task'' in the following code:

let gulpPromise: Thenable<vscode.Task[]> | undefined = undefined;

Did you set "enableProposedApi": true in your package.json and include vscode.proposed.d.ts like the gulp extension does?

Do you think I can use the file here ?

Yes, I'm not sure if there is a better story for consuming the proposed apis.
We had this documented: https://github.com/Microsoft/vscode-docs/blob/fc65a55f93b773a287b5d2de2e51f35685500008/docs/extensions/proposed-api.md at one point but that documentation seems to have been removed

@mjbvz Thank you!

Great! Closing since it sounds like this issue is resolved. @dbaeumer should be able to help out if you run into any issues with the new task API

@starlinq you need to copy the vscode.proposed.d.ts from our source tree. We have no automatic tooling to fetch it.


Install tzdata to piped-base image

What this PR does:
as title
Why we need it:
Users want to use tzdata package to set timezone while using script in SCRIPT_RUN stage
Which issue(s) this PR fixes:
Part of #5438
Does this PR introduce a user-facing change?:

How are users affected by this change:
Is this breaking change:
How to migrate (if breaking change):

We considered to stop this this time 👍


Remove connecting and closing

Include connect() and close() in query()
Remove autoconnect=False

@sibayanjasper I cannot merge this yet. We need to see first what codes uses the .connect() in our projects.
Need to inform the maintainer of those projects about this change as well.
@pandafox, thoughts?

:star:


Allow custom elsint config file path, .config/eslint.config.js for example

Environment

Operating System: Darwin
Node Version:     v22.3.0
Nuxt Version:     3.13.1
CLI Version:      3.13.1
Nitro Version:    2.9.7
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      experimental, devtools, typescript, modules, css, postcss, eslint, formkit, components, app, compatibilityDate
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Package
None
Reproduction
don't have one
Describe the bug
Could there please be a option added to set a custom config file path, currently only the generated path can be customized.
See feature request motivation:
https://github.com/pi0/config-dir
Additional context
No response
Logs
No response

Could there please be a option added to set a custom config file path, currently only the generated path can be customized.

I am not sure if I follow, what do you mean? What's the difference between them?

I would like to have my eslint.config.js file be lokated inside a dir named .config, Where i put all my config files.
Right now there is no option to point to a location where the rules are defined, the only path that i can change is where the generated file will be put

But this module does not actually control the eslint.config.js, it's more on the eslint side. You can just move that file and change your config usage with --config https://eslint.org/docs/latest/use/configure/configuration-files#configuration-file-resolution


link to dpi.lv

When trying to figure out what my dpi was, I came across this site. Ideally alacritty would figure out your dpi automatically at bootup somehow, but for now, linking to the site saves a user a google search.

I'd rather not link to random websites from the config.


Documentation examples improvements

Hello. First, I'd like to say that your documentation is one of the best and easiest documentation of a CakePHP Plugin I've ever seen.

I was facing a problem and took me a while until I realised that you use photo as table column on Behaviour and Built-in validation examples but you use image for the inputs and Basic Validation examples. I think they should all be the same (photo)

Also, it could be a good addition to mention that bake command adds basic validation like:
$validator
    ->scalar('photo')
    ->maxLength('photo', 255)
    ->allowEmptyString('photo');

That validation takes place before the plugin logic so Cake throws this error to the user: "The provided value is invalid" since it is a file and not a string.
Other than that, I haven't faced any problem  following the documentation

Thank you for your kind comments. I will get some documentation updates done


Allow sending custom message

knockknock can be a great general purpose library to send messages to different messaging clients. Why restrict it to just sending messages about training completion.

I am creating a PR for the same.

I came looking for a generic notifier library, and KnockKnock is so close!  I also wish it could take the notification message as a parameter.
One imagines it wouldn't be that difficult to add a parameter....


⚠ Bofrost.es has degraded performance

In eae1503, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1494 ms

Resolved: Bofrost.es performance has improved in 0b943b0 after 9 minutes.


Jest Dependancy Issue

Jest has a dependency on Handlebars, this appears to have a version that has the Arbitrary Code Execution vulnerability.
Error details:-
High Arbitrary Code Execution
Package handlebars
Dependency of jest [dev]
Path jest > jest-cli > @jest/core > @jest/reporters >
istanbul-reports > handlebars

raised in NPM jest


Too long default Gluster cluster name

What is used as cluster name for gluster trusted pool is too long and it brings a really awful results on UI pages, especially on Hosts page.

BTW: My resolution was 1280x800, but even with 1680x1050 it was not fine
Used packages:
tendrl-api-doc-1.2.1-04_05_2017_01_51_04.noarch
tendrl-commons-1.2.2-04_05_2017_04_42_03.noarch
tendrl-dashboard-1.2.1-04_05_2017_11_03_12.noarch
tendrl-performance-monitoring-1.2.1-04_05_2017_11_26_14.noarch
tendrl-api-1.2.1-04_05_2017_01_51_04.noarch
tendrl-api-httpd-1.2.1-04_05_2017_01_51_04.noarch
tendrl-node-agent-1.2.2-04_05_2017_00_01_04.noarch
tendrl-node-monitoring-1.2.1-04_05_2017_11_26_13.noarch

@gnehapk - do we need to go back to the UX designs for arriving at a good way to handle this?

@ltrilety The bug is fixed from our side. Please verify on the new build[1] available.
[1]. tendrl-dashboard-1.2.1-04_09_2017_18_25_13.noarch

Not the whole cluster name is displayed, it is displayed when mouse cursor hover over the name.
Checked with:
tendrl-dashboard-1.2.1-04_10_2017_04_11_04.noarch


Bugfix/node10 min version

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Hack build conformance tests

Run conformance tests against the hack/single-node and hack/multi-node installs:
make conformance-single
make conformance-multi

/cc @derekparker @dghubble

Nice, lgtm.


Added Singletons Classes

This is the version of the singleton pattern that I use, and I thought it would be a great addition, considering the implentations I see elsewhere.
If you feel this is inappropriate for this repo, then please just reject.

Thanks for the addition!


Add test coverage and prepare for hex.pm publish

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


About separable 4d convolution

Hello, thank you for introducing nice work and code!
I have a question about separable 4d convolution.
Is the WTA operation explicitly applied to the 4d separable convolution? In the code, I can't see the part of WTA in the conv4d.py.
or is the WTA kernel in sec3.2 the same as the other kernel(e.g., spatial kernel)?
Plus, can you explain (or derive) more in details about the way to decompose 4d convolution into the wta and spatial convolution (sec3.2, [4d-convolution -> factorization]? Actually, it was hard to understand how the original 4d convolution be equal to the factorized one by equation.
It would be very appreciated if these questions are answered. Thank you!

Hi, there is no explicit WTA operation in the separable 4D convolution. The 2D convolutions along the (u,v) displacement dimension was referred to as "WTA convolution", which can be specialized to a WTA kernel by learning from data.
The 4D kernel is assumed to be separable (rank-2), and therefore equivalent to the convolution of two 2D kernels. To test how much this assumption holds, there is an experiments in Tab.4 (Full-4D vs Sep-4D).
Let me know if more explanations are needed.

Thanks for your quick reply. I still want to clarify whether you denote the kernels having the same form and implementation differently as "spatial" and "wta" kernels.
And can you explain why the separable kernels should be rank-2? Is the rank used for tensor not the matrix?
Thank you!

The WTA and sptial conv are implemented here: https://github.com/gengshan-y/VCN/blob/eb816cbc7887fd81fd80f36311e95eaddcb16f62/models/conv4d.py#L209
The self.conv2 is the WTA conv and the self.conv1 is the spatial conv.
Yes, it's the rank for the 4D tensor. Say if you want a 2D kernel to be separable, its rank has to be one.

Though the notion of the rank for the tensor is hard to understand, conceptually I understand what you mean.
Thank you so much! I close this issue.


Macro support in the status line?

It would be nice if the status bar could change it's current color and icon when the user is recording a macro, however, I don't know if this is possible as I haven't seen any other vim/neovim plugin implement this.

That would be really cool. Did some research, nothing came up.
Will try again. Dont know if this is even possible haha

I don't think this it's possible to detect when the user is recording a macro, however, wouldn't it make sense to just change the color and icon of the status line when "q" is pressed and then revert the status line back to it's original state once "q" is pressed again?

I've given it a thought before.... and as u know, I'm not very much experienced haha.
Some other ways i thought of includes:

Using the -w switch when opening vim.
Capturing output with nvim_exec() and checking if contains "recording" keyword.
Checking if there exists an autocmd for this kinda purpose from this page

And everything in this list is not very much usable. It would be better to keep staline plain and simple. But this macro feature would be cool tho.
I didnt have any luck till now. Let me know if you find anything interesting.

Closing due to inactivity.

(Note for myself:)
neovim 0.7 has new 2 autocommands: RecordingEnter and RecordingLeave
maybe we could use these autocmds to emulate a macro mode for staline along with v:event.

I'll be opening this as a new issue later 👍🏻


Some showcase videos maybe ?

It would be great if there were any videos of an actual drone flying using this flight controller.
I like to see how stable the flight is in your own tests!

Hi @liamplm, challenge accepted ;) https://www.youtube.com/@esp-fc

It would be great if anyone share video with their self-made flying multirotor in the comments :)


DEV: preparing for full integration of new_type classes

[CHANGED] don't explicitly import old alignment, moltype, genetic code
etc.. Use the cogent3 top-level functions make_(un)aligned_seqs etc...
[CHANGED] modify some tests outside the old class tests specific modules
to facilitate using the COGENT3_NEW_TYPE environment variable
[CHANGED] use of isinstance(obj, ArrayAlignment) etc.. changed to check
the class name for compatability with new class names. These should be
reverted when new_type is the default.
Summary by Sourcery
Refactor codebase to utilize cogent3 top-level functions for sequence creation, enhancing compatibility with new class names and preparing for full integration of new_type classes. Update tests accordingly to ensure they align with the refactored code.
Enhancements:

Refactor code to use cogent3 top-level functions for sequence creation, improving compatibility with new class names.

Tests:

Update tests to use cogent3.make_aligned_seqs and cogent3.make_unaligned_seqs functions, ensuring compatibility with new class names.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>0
Details

79 of 83 (95.18%)  changed or added relevant lines in 12 files are covered.
7 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.02%) to 92.286%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/cogent3/app/translate.py
15
16
93.75%

src/cogent3/parse/cigar.py
5
6
83.33%

src/cogent3/app/data_store.py
9
11
81.82%

Files with Coverage Reduction
New Missed Lines
%

src/cogent3/app/translate.py
2
94.53%

src/cogent3/app/sample.py
5
95.55%

Totals

Change from base Build<PHONE_NUMBER>6:
-0.02%

Covered Lines:
34098

Relevant Lines:
36948

💛  - Coveralls


Installing problem

I got this problem while I am installing allennlp  as I went throw all your steps
`
Collecting spacy<2.2,>=2.1.0 (from allennlp)
Using cached spacy-2.1.9.tar.gz (30.7 MB)
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
Installing build dependencies ... error
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
`

Duplicate of nusnlp/LIF#2


doc: re-add comment

It was removed in 728548e483, but it worth keeping - given that it still
applies, which I have not checked.
/cc @aaugustin

No opinion — I don't understand the sentence but that probably says more about my English than about the comment.

buildbot

Merged in 6d37c089ae1dd9a47a70fca461f903663b067a16.


Hyper Key hack in MacOS 10.12 Sierra using Karabiner-Elements and Keyboard Maestro

The Hyper Key and all of the many things I use it for is the reason I am not upgrading just yet.
Brett Terpstra posted a link to a solution using Keyboard Maestro
http://imgur.com/a/Pz0hk
Works quite well

I think Hammerspoon can do it better.

Thanks, just reading about that now
https://github.com/lodestone/hyper-hacks


Android TV - Using D-pad right one press it resets my player to 0:00 time

I am having issue with D-pad right click buttons
When I use D-pad right just once (not long press) then it resets my player to 0:00 time
This is my code to +10/-10 on my player
       defaultTimeBar = findViewById(R.id.exo_progress);
        if (defaultTimeBar != null) {
            defaultTimeBar.setKeyTimeIncrement(10_000);
        }

it should do +10 only instead it just takes me back to beginning of the video
This happens after playing content for 2-3 minutes
Any suggestion or help would be really helpful
Thank You.

Please narrow down your question to something not working with the library. We can't debug you app code and it's unclear what the context of the code snippet above is.


fix isOGGRunning to avoid conflict with tailReport ../ServiceManager.log

In exec_microservices function I commented startReverseProxy line and tailReport command is executed in parallel with isOGGRunning.
Because tailReport is listening to ServiceManager.log isOGGRunning thinks that ServiceManager is already running and doesn't start it.
function exec_microservices {
export OGG_ETC_HOME="${OGG_DEPLOY_BASE}/ServiceManager/etc"
export OGG_VAR_HOME="${OGG_DEPLOY_BASE}/ServiceManager/var"
isOGGRunning || ${runAsUser} ${OGG_HOME}/bin/ServiceManager &
# startReverseProxy
tailReport "${OGG_VAR_HOME}/log/ServiceManager.log"
}

Closing request due to lack of response.
@sscobici - Please create a new issue describing the problem you are trying to solve here.


[WIP] Cursor movement in tty

Hi, I really like this awesome fuzzy finder!
I added cursor member to tty_interface_t struct to implement cursor movement.
Like this:

Support keybindings: Ctrl-A,Ctrl-E,←,→
TODO:

[ ] append search (in string)
[ ] delete char (in string)

How do you feel about this feature and implementation?

:+1: I really like this and this seems like a good start

@jhawthorn Thank you for your reply! Although it may take time, I want to improve it little by little.

Ah I just noticed this PR after writing another implementation of this. Mine seems to be fully functional and can be found here https://github.com/jhawthorn/fzy/pull/46

Closing for #46. Thanks!


Python SDK 2.2.0 release

support for rupm
support for ConsistentPrefix

@moderakh,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Compatibility with upcoming update of InteratomicPotentials.jl

Changes required to make PotentialLearning.jl compatible with the upcoming update of InteratomicPotentials (see PR).
Other minor modifications were introduced, such as replacing copyto! with .=.

Codecov Report
Attention: 27 lines in your changes are missing coverage. Please review.

Comparison is base (9e27c3b) 44.67% compared to head (9396123) 44.07%.

:exclamation: Current head 9396123 differs from pull request most recent head aca727a. Consider uploading reports for the commit aca727a to get more accurate results

Files
Patch %
Lines

src/Data/utils.jl
21.73%
18 Missing :warning:

src/Learning/linear-learn.jl
65.00%
7 Missing :warning:

src/Learning/linear-learning-problem.jl
77.77%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #58      +/-   ##
==========================================
- Coverage   44.67%   44.07%   -0.61%
==========================================
  Files          24       23       -1
  Lines         761      776      +15
==========================================
+ Hits          340      342       +2
- Misses        421      434      +13

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


docs(agent): RBK-223 replace kubesvc w/ armory-agent

Resolves Jira: RBK-223
Outstanding questions:

Will the Grafana dashboards be moved? Currently it's https://armory.jfrog.io/artifactory/manifests/kubesvc/armory-agent-dashboard.json
Are the Agent plugin config options changing? They currently use kubesvc. I'm guessing no but would like to confirm.

We'll need to change the grafana dashboards referencing kubesvc, but the config options will not change for now.

@german-muzquiz I think this PR is good to go pending the following:

The Docker Hub location moving to armory/agent-kube-spinplug
The Grafana Dashboards moving

I can revert the hub location to the old armory/kubesvc-plugin location and have follow up PRs for that and the Grafana change if we want to get this one out the door.

@brian-armory rebranding was just released in 0.6.0 with these final changes:

Docker images for agent service are published to armory/agent-k8s
Docker images for agent clouddriver plugin are published to armory/agent-k8s-spinplug
Agent config file is renamed from kubesvc.yml to armory-agent.yml, and its location moved from /opt/spinnaker/config to /opt/armory/config
Github repo armory-io/kubesvc is moved to armory-io/agent-k8s
Github repo armory-io/kubesvc-plugin is moved to armory-io/agent-k8s-spinplug
Released installation manifests for the agent service use armory-agent instead of kubesvc or spin. For example in deployment name, configmaps, metadata labels, namespace, etc. These manifests live in https://armory.jfrog.io/artifactory/manifests/agent-k8s
Names in grafana dashboards were also changed to armory agent, but names of the actual metrics remain the same (prefixed by kubesvc)

Thanks @german-muzquiz! I'll get these changes added.


Add methods for finding a font with the right size

Needs to be checked with the mentioned Linux distribution if this solves the issue #10.

I have read your changes.

Instead of a tuple conversion in teek/_font.py, it should return to_tcl(self._font_description), where to_tcl is imported from _tcl_calls.py. This was a bug. It should have always called to_tcl on the font description before returning it from to_tcl, as is documented here:

If the value has a to_tcl() method, it’s called with no arguments. It should return a string that will be passed to Tcl.

Aren't _check_font, _create_font and _create_named_font a bit necessary? I think using teek.Font.families()[0] instead of 'Helvetica' might be enough, because the size should behave nicely for a font that is actually installed on my system. This is true for at least every font on this system, as I have shown here.

I changed the tuple conversion to to_tcl
I checked the size property for each font family installed on my system and discovered that the actual size can also vary if the font is available. Therefore, I replaced 'Helvetica' with a function call which returns a font family whose size is equal to the given one.

Awesome :D


Could not instantiate  org.graalvm.nativeimage.Platform$DARWIN_AMD64

Hi I am not sure this the plugin or graalvm
MacOs Monterey, Intel Corei5

[Sat Jul 01 21:08:17 ICT 2023][INFO] We will now compile your code for x86_64-apple-darwin. This may take some time.
[Sat Jul 01 21:08:20 ICT 2023][INFO] [SUB] Warning: Ignoring server-mode native-image argument --no-server.
[Sat Jul 01 21:08:21 ICT 2023][INFO] [SUB] WARNING: package com.oracle.truffle.api.impl.asm.tree.analysis not in org.graalvm.truffle
[Sat Jul 01 21:08:21 ICT 2023][INFO] [SUB] Error: Could not instantiate platform class org.graalvm.nativeimage.Platform$DARWIN_AMD64. Ensure the class is not abstract and has a no-argument constructor.

This can be fix by explicitly org.graalvm.nativeimage.Platform$target DARWIN_MACOS

@jperedadnr I am facing the same issue while building native executable for a JavaFX app on macOS platform.
The GitHub Actions Workflow file can be found here and the Actions logs are here.
Please fix this error as soon as possible.

This can be fix by explicitly targeting org.graalvm.nativeimage.Platform$DARWIN_MACOS

@RealThanhpv It did not work for me. Am I making any mistake?
Please check the pom.xml file of my project and let me know if you can help me fix the error.

I do not like my solution, it is a kind of hard-code, and that is for my specific machine (arch). However you may miss the dependency of org.graalvm.sdk. You my need to choose the right one for you machine from org.graalvm.nativeimage.Platform.*

I do not like my solution, it is a kind of hard-code, and that is for my specific machine (arch). However you may miss the dependency of org.graalvm.sdk. You my need to choose the right one for you machine from org.graalvm.nativeimage.Platform.*

@RealThanhpv Okay, so, I am using GitHub actions to perform the build process and it has x86_64 architecture and runs macOS 12 with XCode 14. but, how do I specify the right one for this runner from org.graalvm.nativeimage.Platform.*?

I meant the target machine is my local machine so the arch is specific so I can hard-code. You are building with GitHub action on remote machine, I do not know how to know the arch there but only os.

I meant the target machine is my local machine so the arch is specific so I can hard-code. You are building with GitHub action on remote machine, I do not know how to know the arch there but only os.

@RealThanhpv I mentioned that the macOS runner is having x86_64 architecture. So, isn't there any solution for that kind of machine?
Also, I am not having a mac with that same architecture. So, I can't even predict what might be the solution.
Even the documentation does not specify about this error :weary: .

You may put these deps  and try again with the hard-code of org.graalvm.nativeimage.Platform$DARWIN_MACOS
I not currently building on Mac, I got it built a few months ago.
<!-- https://mvnrepository.com/artifact/org.graalvm.nativeimage/library-support -->
<dependency>
    <groupId>org.graalvm.nativeimage</groupId>
    <artifactId>library-support</artifactId>
    <version>23.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.graalvm.sdk/graal-sdk -->
<dependency>
    <groupId>org.graalvm.sdk</groupId>
    <artifactId>graal-sdk</artifactId>
    <version>23.0.1</version>
</dependency>

I followed the error to find this info, may be helpful for you:
module org.graalvm.sdk {
    requires java.logging;
    exports com.oracle.svm.core.annotate;
    exports org.graalvm.collections;
    exports org.graalvm.home;
    exports org.graalvm.home.impl;
    exports org.graalvm.nativeimage;
    exports org.graalvm.nativeimage.c;
    exports org.graalvm.nativeimage.c.constant;
    exports org.graalvm.nativeimage.c.function;
    exports org.graalvm.nativeimage.c.struct;
    exports org.graalvm.nativeimage.c.type;
    exports org.graalvm.nativeimage.hosted;
    exports org.graalvm.nativeimage.impl to com.oracle.svm.svm_enterprise, org.graalvm.extraimage.builder, org.graalvm.nativeimage.base, org.graalvm.nativeimage.builder, org.graalvm.nativeimage.configure, org.graalvm.nativeimage.pointsto;
    exports org.graalvm.nativeimage.impl.clinit to org.graalvm.nativeimage.builder;
    exports org.graalvm.options;
    exports org.graalvm.polyglot;
    exports org.graalvm.polyglot.impl to com.oracle.graal.graal_enterprise, org.graalvm.truffle;
    exports org.graalvm.polyglot.io;
    exports org.graalvm.polyglot.management;
    exports org.graalvm.polyglot.proxy;
    exports org.graalvm.word;
    exports org.graalvm.word.impl to jdk.internal.vm.compiler;
    uses org.graalvm.home.HomeFinder;
    uses org.graalvm.nativeimage.Platform;
    uses org.graalvm.polyglot.impl.AbstractPolyglotImpl;
    opens org.graalvm.polyglot to org.graalvm.truffle;
    provides org.graalvm.home.HomeFinder with org.graalvm.home.impl.DefaultHomeFinder;
    provides org.graalvm.nativeimage.Platform with org.graalvm.nativeimage.Platform.MACOS_AMD64, org.graalvm.nativeimage.Platform.IOS_AMD64, org.graalvm.nativeimage.Platform.ANDROID_AARCH64, org.graalvm.nativeimage.Platform.LINUX_RISCV64, org.graalvm.nativeimage.Platform.IOS_AARCH64, org.graalvm.nativeimage.Platform.WINDOWS_AARCH64, org.graalvm.nativeimage.Platform.MACOS_AARCH64, org.graalvm.nativeimage.Platform.WINDOWS_AMD64, org.graalvm.nativeimage.Platform.LINUX_AARCH64, org.graalvm.nativeimage.Platform.LINUX_AMD64;
}

You may put these deps and try again with the hard-code of org.graalvm.nativeimage.Platform$DARWIN_MACOS
I not currently building on Mac, I got it built a few months ago.
<!-- https://mvnrepository.com/artifact/org.graalvm.nativeimage/library-support -->
<dependency>
    <groupId>org.graalvm.nativeimage</groupId>
    <artifactId>library-support</artifactId>
    <version>23.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.graalvm.sdk/graal-sdk -->
<dependency>
    <groupId>org.graalvm.sdk</groupId>
    <artifactId>graal-sdk</artifactId>
    <version>23.0.1</version>
</dependency>

@RealThanhpv I tried with these dependencies just now, but, the build failed with the same error message. I think that there is some problem in the org.graalvm.nativeimage.Platform$DARWIN_AMD64 java interface. GluonFX is failing to make an instance of that class. So, problem might lie with GluonFX SDK.

It could not initiate org.graalvm.nativeimage.Platform$DARWIN_AMD64. DARWIN_AMD64 is not provided. So target MACOS_AMD64 with this
<nativeImageArg>-Dsvm.platform=org.graalvm.nativeimage.Platform$MACOS_AMD64</nativeImageArg> in your pom.xml
look at this module org.graalvm.sdk you can see org.graalvm.nativeimage.Platform is provided as below:
    provides org.graalvm.nativeimage.Platform with org.graalvm.nativeimage.Platform.MACOS_AMD64, org.graalvm.nativeimage.Platform.IOS_AMD64, org.graalvm.nativeimage.Platform.ANDROID_AARCH64, org.graalvm.nativeimage.Platform.LINUX_RISCV64, org.graalvm.nativeimage.Platform.IOS_AARCH64, org.graalvm.nativeimage.Platform.WINDOWS_AARCH64, org.graalvm.nativeimage.Platform.MACOS_AARCH64, org.graalvm.nativeimage.Platform.WINDOWS_AMD64, org.graalvm.nativeimage.Platform.LINUX_AARCH64, org.graalvm.nativeimage.Platform.LINUX_AMD64;

@RealThanhpv It worked for macOS but, in the link task, it failed for windows.
The below is the error for link task on windows.
[Mon Aug 14 15:04:50 UTC 2023][INFO] [SUB]    Creating library D:\a\Drifty\Drifty\target\gluonfx\x86_64-windows\Drifty.lib and object D:\a\Drifty\Drifty\target\gluonfx\x86_64-windows\Drifty.exp
[Mon Aug 14 15:04:50 UTC 2023][INFO] [SUB] gui.launcher.obj : error LNK2001: unresolved external symbol Java_jdk_net_WindowsSocketOptions_getIpDontFragment0
[Mon Aug 14 15:04:50 UTC 2023][INFO] [SUB] gui.launcher.obj : error LNK2001: unresolved external symbol Java_jdk_net_WindowsSocketOptions_setIpDontFragment0
[Mon Aug 14 15:04:50 UTC 2023][INFO] [SUB] nio.lib(FileDispatcherImpl.obj) : error LNK2019: unresolved external symbol TransmitFile referenced in function Java_sun_nio_ch_FileDispatcherImpl_transferTo0
[Mon Aug 14 15:04:50 UTC 2023][INFO] [SUB] D:\a\Drifty\Drifty\target\gluonfx\x86_64-windows\Drifty.exe : fatal error LNK1120: 3 unresolved externals
[Mon Aug 14 15:04:50 UTC 2023][SEVERE] Process link failed with result: 1120

Can you please help me in this?
I would appreciate your help.

Follow this: https://github.com/gluonhq/gluonfx-maven-plugin/issues/456#issuecomment-1524896369
You may need create profiles for Windows, MacOs, Linux accordingly for the link tasks.

Follow this: #456 (comment) You may need create profiles for Windows, MacOs, Linux accordingly for the link tasks.

Yes @RealThanhpv, I have read that. But, I could not understand how to implement the fix. How would I add the linker arg? Can you show me a configuration example?
I have found that the WindowsSocketOptions class is under jdk.net.ExtendedSocketOptions which creates an instance of that private/protected WindowsSocketOptions class.

My pom.xml file is here. You can see I have created separate profiles for each OS-specific GUI build task.

add this to properties section in pom
        <dump.link>missing_symbols_win64.o</dump.link>

add this to gluonfx-maven-plugin configuration section

                    <linkerArgs>
                        <arg>${dumb.link}</arg>
                    </linkerArgs>

Use your gcc to compile this c code to get missing_symbols_win64.o and place it in project dir.

#include <stdlib.h>

void Java_jdk_net_WindowsSocketOptions_getIpDontFragment0(){}
void Java_jdk_net_WindowsSocketOptions_setIpDontFragment0(){}
void TransmitFile(){}
void Java_com_sun_management_internal_OperatingSystemImpl_initialize0(){}
void _Java_com_sun_management_internal_OperatingSystemImpl_initialize0(){}

Compile it on mac, linux as well and define dumb.link for each platform, in the profiles . It is not allowed to attach .o files here so I can't share my builds.

@RealThanhpv Should I place the missing_symbols_win64.o file in src directory or project root?
Also, is it necessary to make this files for the other two OS?

@RealThanhpv When I run the gcc missing_symbols_win64.c command, it gave me the following error -
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':
(.text+0x1b): undefined reference to `main'
collect2: error: ld returned 1 exit status

How can I solve this?
I think a main method is required, right?

@RealThanhpv Should I place the missing_symbols_win64.o file in src directory or project root? Also, is it necessary to make this files for the other two OS?
Yes. You compile a c code file to object files for platforms, accordingly. Those are platform dependent. So you should rename it.  Google for compiling a C file to object files for platforms.

You put it where ever you want as long as the linker can find for the link task. I made my simple choice.

@RealThanhpv When I run the gcc missing_symbols_win64.c command, it gave me the following error -
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':
(.text+0x1b): undefined reference to `main'
collect2: error: ld returned 1 exit status

How can I solve this? I think a main method is required, right?

No. It is not an executable file, It is an object file.

@RealThanhpv Okay, so, let me try it. Thank you for the help :smile: !

@RealThanhpv It worked! Thank you for your immense help :slightly_smiling_face: !

Welcome to JavaFX native image :)


Build for ppc64le

Is your feature request related to a problem? Please describe.
I built according to the directions prescribed here, which was simply to clone the repo, cd into it, and issue:
mvn package
The build completed successfully, but in checking under product/community/target/products/org.jkiss.dbeaver.core.product/linux/gtk/ the only architecture listed is x86_64, while I need to build for ppc64le.
Describe the solution you'd like
I would like some advice on steps required to build for ppc64le.
Describe alternatives you've considered
I've considered using packaged binaries for my distribution (voidlinux-ppc), but they don't exist.  DBeaver is packaged for the official void linux (which does not yet officially have a build for ppc arch), but following the build template from there doesn't offer any insights to how I can build for this different architecture.

With the help of someone on the voidlinux-ppc IRC channel, I got it built.  It just needed another environment added in pom.xml.  I'd like to get this change reviewed and incorporated, but I've never made a pull request before, and after checking GitHub's docs about it, I'm still not sure how to proceed.  I made a new local branch and applied the change, but I don't know where to go from here, and would appreciate some direction.

Thanks for the idea! Unfortunately, this requires more effort than just a small Pull Request. We will work on it later.


Code refactor - removed duplication

Removed code duplication in comprehend-service worker.

Why did not I get a notification for this o.O


Is there a way to invalidate CDN programmatically ?

I can't find any reference in the docs and as we plan to integrate it with a PHP application would be useful to make the application self-capable to invalidate its own contents.

Hey @paolomainardi! Is this in reference to Cloud CDN?  If so, unfortunately it looks like the only support available at the moment is through the console or command line tool. If you're feeling adventurous it might be worth taking a look at the CLI tool's source (it is written mostly in python, I believe) to see how they manage network requests and see if it is something you could emulate in PHP.
If this is something you'd like to see official support for, I would recommend checking out our issue trackers and filling an issue there. There is a section for Cloud CDN. :)

Ok thanks


FRQ 3 Review Ticket - Bria Gilliam

[ ] Finish rpnToResult for Calculator
[ ] Add unbalanced parenthesis check and in original FRQ, or other error checks. FYI, usually when structuring code with error checking it can greatly impact code structure.
[ ] Build in Power of operator ^:2 ^ 1 = 2, 2 ^ 2 = 4, 2 ^ 3 = 83. Build an API to receive an expression and respond with a result. This is a good opportunity to respond with an error if you built in parenthesis or other error checking.

Graded by Andrew Meng
2.7


MNT: Re-rendered with conda-smithy 2.4.0

Also should fix the AppVeyor build.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

cc @dougalsutherland @jjhelmus


update release configuration

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


Fibonacci algorithm ♾ in C# programming language

Code fibonacci algorithm :infinity: in the C# language folder :file_folder: in the main branch.
Give star :star: to this repository.

Please assign this to me.......

Hey I would like to contribute. Please assign me this issue with hacktoberfest-accepted label :)


Don't require git to download external projects

Issue #, if available: N/A
Description of changes:
Building aws-sdk-cpp with the default BUILD_DEPS=ON fails if git is not found on the system:
-- Configuring incomplete, errors occurred!

-- stderr output is:
CMake Error at /tmp/RtmpqRJAdR/file1835205980df/cmake-3.18.1-Linux-x86_64/share/cmake-3.18/Modules/ExternalProject.cmake:2350 (message):
  error: could not find git for clone of AwsCCommon
Call Stack (most recent call first):
  /tmp/RtmpqRJAdR/file1835205980df/cmake-3.18.1-Linux-x86_64/share/cmake-3.18/Modules/ExternalProject.cmake:3228 (_ep_add_download_command)
  cmake/BuildAwsCCommon.cmake:39 (ExternalProject_Add)
  CMakeLists.txt:19 (include)

CMake Error at CMakeLists.txt:218 (message):
  Failed to configure third-party libraries.

These third-party cmake files specify a git repository and tag for the source for each library, but we can download the source without git by constructing a URL.
On https://github.com/apache/arrow/pull/8304 I've tested that this works as expected by applying it in a PATCH_COMMAND.
Check all that applies:

[ ] Did a review by yourself.
[x] Added proper tests to cover this PR. (If tests are not applicable, explain.) Any CI you have that tests these cmake files will cover the changes; there are no behavior changes
[x] Checked if this PR is a breaking (APIs have been changed) change.
[x] Checked if this PR will not introduce cross-platform inconsistent behavior.
[ ] Checked if this PR would require a ReadMe/Wiki update.

Check which platforms you have built SDK on to verify the correctness of this PR.

[x] Linux
[ ] Windows
[ ] Android
[ ] MacOS
[ ] IOS
[ ] Other Platforms

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hi there, we are using git submodule instead of CMake external project now.
If you don't have git on your system, you could run this script to download all submodules: https://github.com/aws/aws-sdk-cpp/blob/main/prefetch_crt_dependency.sh
Does that meet your requests?

I think we worked around this by building the dependencies ourselves rather than relying on BUILD_DEPS=ON


DbsDefault.java:77-81: Implement this method. Need that...

Close #64

@rultor merge

@rultor merge

@smallcreep OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@smallcreep Done! FYI, the full log is here (took me 14min)