Cannot read property 'controllerType' of undefined

Im getting the following error:  I removed uniqueID's and IP's
[9/11/2020, 10:13:05 PM] [homebridge-magichome-dynamic-platform]
Registering cached accessory 'LED Kitchen'
Model: 'AK001-ZJ210'
Unique ID: 'xxxxxxxxxxxx'
IP-Address: 'xxx.xx.x.xxx'
Version 6
Version Modifier: 51
[9/11/2020, 10:13:05 PM] [homebridge-magichome-dynamic-platform] TypeError: Cannot read property 'controllerType' of undefined
at HomebridgeMagichomeDynamicPlatform.discoverDevices (/homebridge/node_modules/homebridge-magichome-dynamic-platform/src/platform.ts:308:94)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
[9/11/2020, 10:13:05 PM] [homebridge-magichome-dynamic-platform]
Warning! Continuing to register cached accessory 'LED Bedroom' despite not being seen for 2 restarts.
Model: 'AK001-ZJ210'
Unique ID: 'xxxxxxxxxxxx'
IP-Address: 'xxx.xx.x.xxx'
Version 6
Version Modifier: 51
[9/11/2020, 10:13:05 PM] [homebridge-magichome-dynamic-platform]
Warning! Continuing to register cached accessory 'LED Living Room' despite not being seen for 5 restarts.
Model: 'AK001-ZJ210'
Unique ID: 'xxxxxxxxxxxx'
IP-Address: 'xxx.xx.x.xxx'
Version 6
Version Modifier: 51
[9/11/2020, 10:13:05 PM] [homebridge-magichome-dynamic-platform]
Registered 0 Magichome device(s).
New devices: 0
Cached devices that were seen this restart: 0
Cached devices that were not seen this restart: 0

Hi, the most recent update has mostly likely caused your issue. Unfortunately it comes with the cost of some incompatible changes but with the benefit of more accurate status retrieval. So lights should more accurately display their color, brightness, and on/off status.

Just to be sure please check if the plugin needs an update in config ui x > plugins > homebridge-magichome-dynamic-platform > update.

(!Important!)
2. Next, purge all magic-home accessories by going to config ui x > plugins > homebridge-magichome-dynamic-platform > settings > checkmark "Prune All Accessories Next Restart (Warning Dangerous!)" > restart homebridge at least twice

Lastly un-checkmark "Prune All Accessories Next Restart (Warning Dangerous!)" > restart homebridge.

That should solve your issue. Please let me know.
I wish I had a means of announcing potential plugin breaking changes that require a complete accessory purge. I have just released a patreon page, I think I can post free status updates there even for non subscribers. I will look into it.

That allowed the devices to be added again. They are no name brand lights so the message today may be related to that.. However in homebridge the LED lights to function now.   Thanks as always for your support of the community and your coding skills.
Here is the logs after setting the purge, reboot x2, uncheck purge, reboot.
[9/12/2020, 2:03:14 PM] [homebridge-magichome-dynamic-platform] ( Scan: 1 ) Discovered zero devices... rescanning...
[9/12/2020, 2:03:16 PM] [homebridge-magichome-dynamic-platform] ( Scan: 2 ) Discovered zero devices... rescanning...
[9/12/2020, 2:03:18 PM] [homebridge-magichome-dynamic-platform]
Discovered 3 devices.
[9/12/2020, 2:03:19 PM] [homebridge-magichome-dynamic-platform] Uknown light version: 6... type probably cannot be set. Trying anyway...
[9/12/2020, 2:03:19 PM] [homebridge-magichome-dynamic-platform] Please create an issue at https://github.com/Zacknetic/HomebridgeMagicHome-DynamicPlatform/issues and post your homebridge.log
HAP Warning: Characteristic 000000E3-0000-1000-8000-0026BB765291 not in required or optional characteristics for service 00000043-0000-1000-8000-0026BB765291. Adding anyway.
[9/12/2020, 2:03:19 PM] [homebridge-magichome-dynamic-platform]
Registering new accessory 'Simple RGB'
Model: 'AK001-ZJ210'
Unique ID: 'xxxxxxx'
IP-Address: 'xxxxx'
Version 6
Version Modifier: 51
[9/12/2020, 2:03:19 PM] [homebridge-magichome-dynamic-platform] Uknown light version: 6... type probably cannot be set. Trying anyway...
[9/12/2020, 2:03:19 PM] [homebridge-magichome-dynamic-platform] Please create an issue at https://github.com/Zacknetic/HomebridgeMagicHome-DynamicPlatform/issues and post your homebridge.log
HAP Warning: Characteristic 000000E3-0000-1000-8000-0026BB765291 not in required or optional characteristics for service 00000043-0000-1000-8000-0026BB765291. Adding anyway.
[9/12/2020, 2:03:19 PM] [homebridge-magichome-dynamic-platform]
Registering new accessory 'Simple RGB'
Model: 'AK001-ZJ210'
Unique ID: 'xxxxxxx'
IP-Address: 'xxxxxx'
Version 6
Version Modifier: 51
[9/12/2020, 2:03:19 PM] [homebridge-magichome-dynamic-platform] Uknown light version: 6... type probably cannot be set. Trying anyway...
[9/12/2020, 2:03:19 PM] [homebridge-magichome-dynamic-platform] Please create an issue at https://github.com/Zacknetic/HomebridgeMagicHome-DynamicPlatform/issues and post your homebridge.log
HAP Warning: Characteristic 000000E3-0000-1000-8000-0026BB765291 not in required or optional characteristics for service 00000043-0000-1000-8000-0026BB765291. Adding anyway.
[9/12/2020, 2:03:19 PM] [homebridge-magichome-dynamic-platform]
Registering new accessory 'Simple RGB'
Model: 'AK001-ZJ210'
Unique ID: 'xxxxxx'
IP-Address: 'xxxxx'
Version 6
Version Modifier: 51
[9/12/2020, 2:03:19 PM] [homebridge-magichome-dynamic-platform]
Registered 3 Magichome device(s).
New devices: 3
Cached devices that were seen this restart: 0
Cached devices that were not seen this restart: 0

Seems to be working fine even with the message.

Hi, just to confirm, the devices are RGB strip controllers (4 pins: Red, Green, Blue, Ground)? I'll add it to the next update to remove that pesky message.
The colors are correctly working? i.e. setting to red doesn't make the light green?

I have the same issue. The colours do change correctly.
Incidentally, it's "simultaneous" in the plugin, sorry for the carp!

@macadamer Those settings have no effect on controllers which have no white settings. Could you please post a homebridge log and a link to your controllers?

The update I installed today has cleared the extraneous log entries, many thanks!
For the record, the bulbs I have are these: https://www.banggood.com/ZJ-WFBJ-RGBWW-E27-WiFi-Smart-LED-Bulb-9W-RGBCW-App-Control-Work-With-Alexa-Google-Assistant-AC100-240V-p-1600820.html

I spoke too soon. I had to restore Homebridge from a backup, updated MagicHome to the latest version and got the below. I followed the steps given above which didn't clear the errors. There are two of the RGBWW bulbs, the one titled "Left Light" seems to be OK.
[10/4/2020, 14:21:45] Homebridge v1.2.3 is running on port 51420.
[10/4/2020, 14:21:47] [homebridge-magichome-dynamic-platform]
Discovered 2 devices.
[10/4/2020, 14:21:47] [homebridge-magichome-dynamic-platform]
Registering cached accessory 'Left Light'
Model: 'AK001-ZJ2101'
Unique ID: '2CF432CEA47A'
IP-Address: '<IP_ADDRESS>'
Version 7
Version Modifier: 53
[10/4/2020, 14:21:47] [homebridge-magichome-dynamic-platform] TypeError: Cannot read property 'controllerType' of undefined
at HomebridgeMagichomeDynamicPlatform.discoverDevices (/usr/local/lib/node_modules/homebridge-magichome-dynamic-platform/src/platform.ts:308:94)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
[10/4/2020, 14:21:47] [homebridge-magichome-dynamic-platform]
Warning! Continuing to register cached accessory 'Right Light' despite not being seen for 5 restarts.
Model: 'AK001-ZJ2101'
Unique ID: '2CF432CEA3F8'
IP-Address: '<IP_ADDRESS>'
Version 7
Version Modifier: 53

@macadamer @CAuguston
I have come up with a new version of the plugin that should solve this issue.
Please update your plugin to version 1.5.1 . Note: if you are updating from version 1.4.x you'll need to purge all your magichome devices after updating. Then restart homebridge to rescan.
With help, I found a bug in the code that caused duplicate device to register if the user had multiple subnets. Thus the crash. I was trying to scan on more than one subnet but didn't account for devices showing up on more than one.
Let me know how it goes. Thank you.

Fingers firmly crossed, updated as requested and all seems good :-)
Thank you for working on this!
--
Cheers
Derryck

On 29 Oct 2020, at 23:48, Zacknetic<EMAIL_ADDRESS>wrote:
@macadamer @CAuguston
I have come up with a new version of the plugin that should solve this issue.
Please update your plugin to version 1.5.1 . Note: if you are updating from version 1.4.x you'll need to purge all your magichome devices after updating. Then restart homebridge to rescan.
With help, I found a bug in the code that caused duplicate device to register if the user had multiple subnets. Thus the crash. I was trying to scan on more than one subnet but didn't account for devices showing up on more than one.
Let me know how it goes. Thank you.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

@macadamer very glad to hear it.
@CAuguston closing this for now, please reopen if you are still finding issues.


Feature add params

I've added some code to include the 'host' and 'mode' parameters for the dash app launch. I needed this to get jbrowse-jupyter to play nice with a hosted jupyterlab environment behind a nginx/jupyterhub instance.
I've also updated the imports in the example in README.md to reflect the recommendations given by dash as I tried to run them in a notebook

@vdejager thank you for the contributions. Will go over the PR shortly and review it.

Should be good to merge now.

Will try to push another release in the coming days.


Calc() Fix notes

IE 11 has note 3 referring to Known Issues. The 5th bullet in Known Issues specifically mentions Edge not supporting calc() inside flex
Suggest adding 3 note to Edge 12 - 18.

The note is there to explain why IE's support is "partial". In general having some bugs is not enough to change support to partial but in IE's case it's pretty excessive. I don't think it's as serious for older Edge so I don't think this is necessary.


Decryption errors should return error code.

Decryption errors should return error code like this:
bash-4.4# eyaml decrypt -f asdf; echo $?
[hiera-eyaml-core] No such file or directory @ rb_sysopen - asdf
1

Bad behavior:
bash-4.4# eyaml decrypt -f test.yaml.enc ; echo $?
[hiera-eyaml-core] Could not parse the PKCS7: nested asn1 error
0

@bastelfreak is there any chance to get merged fix for this issue? Could you please have a look on it?


Adding DisallowedConfiguragion property to VirtualMachineImageProperties

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

/azp run automation - sdk

Can one of the admins verify this patch?

including @jerryc3

Adding new properties to a stable api-version is a breaking change. This change must go in a new api-version. @sirajudeens - FYI.

/azp run automation - sdk

@ravbhatnagar   This PR is targeted to the branch for new compute API version.  We will gather all changes to this branch and then send a PR to master.


Correct CoPersonRole for approval notifications (CO-2382)

Is this for an additional role enrollment? If so, are there other cases where $pt['EnrolleeCoPerson']['CoPersonRole'][0] would potentially refer to the wrong CoPersonRole?

Is this for an additional role enrollment?

NEW_COU is most commonly needed during an additional role enrollment, yes.

If so, are there other cases where $pt['EnrolleeCoPerson']['CoPersonRole'][0] would potentially refer to the wrong CoPersonRole?

I don't understand the question. Are you asking if there are other places in the code that should be investigated to see if $pt['EnrolleeCoPerson']['CoPersonRole'][0] is not correct?

I don't understand the question. Are you asking if there are other places in the code that should be investigated to see if $pt['EnrolleeCoPerson']['CoPersonRole'][0] is not correct?

Specifically in the enrollment context (Model/CoPetition.php or related code).

I manually merged this as d14bfcd1be on develop in order to fold in another change.


Chat Overlay Missing Feature

I have a problem with chat overlays. And again. It's probably due to me, not being able to find a setting.

Chat Timeout. A feature that removes chat messages some time after it's being shown.

this would be a good feature. I will add it.

I have added this feature https://github.com/tuxfoo/simple-chat/commit/5e64b807ded8153f8568f4352b29926f7e901350
I will include it in the next portable release.
If you would like to try it before the next portable release then you can download the latest simple-chat bundle.
https://github.com/tuxfoo/simple-chat/archive/refs/heads/main.zip
Stop nodecg
Delete the old simple-chat bundle folder from nodecg-portable/bundles/
Extract the contents of main.zip into nodecg-portable/bundles/
Rename simple-chat-main to just simple-chat

Added this feature to the 0.0.7 release
https://github.com/tuxfoo/odysee-simple-alerts-connector/releases/tag/0.0.7-alpha


Parsing fails if filename contains UTF-8 characters

Steps to reproduce:

Install and start the server

mkdir test
cd test
npm install busboy
vim server.js <= paste the example from the readme.md
node server.js

Perform an upload using a file with ASCII characters

curl -v -F 'id=123' -F "file=@test.mp4;type=video/mp4" http://localhost:8000

In console, you get this:

File [file]: filename: test.mp4, encoding: 7bit
File [file] got 65305 bytes
Field [id]: value: '123'
File [file] got 65536 bytes
[...]
File [file] Finished
Done parsing form!

Curl call finishes correctly:

< HTTP/1.1 100 Continue
< HTTP/1.1 303 See Other
< Connection: close
< Location: /
< Date: Tue, 10 Dec 2013 09:21:15 GMT
< Transfer-Encoding: chunked

Perform an upload using a file with UTF-8 characters

cp test.mp4 お疲れ様です.mp4
curl -v -F 'id=123' -F "file=@お疲れ様です.mp4;type=video/mp4" http://localhost:8000

In console, you get this:

Field [id]: value: '123'

Curl call will eventually timeout:

< HTTP/1.1 100 Continue

Recv failure: Connection reset by peer
Closing connection 0

Parsing fails if filename contains UTF-8 characters
Content-Disposition: form-data; name="file"; filename="ทดสอบภาษาไทย.xlsx"
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
const bb = busboy({ headers: req.headers ,defCharset:'utf8'});
info {
filename: 'à¸\x97à¸\x94à¸ªà¸à¸\x9Aà¸ à¸²à¸©à¸²à¹\x84à¸\x97à¸¢.xlsx',
encoding: '7bit',
mimeType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
}
filename Parsing fail.
how to fix.
Thank you.

Parsing fails if filename contains UTF-8 characters
Content-Disposition: form-data; name="file"; filename="ทดสอบภาษาไทย.xlsx"
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
const bb = busboy({ headers: req.headers ,defCharset:'utf8'});
info {
filename: 'à¸\x97à¸\x94à¸ªà¸à¸\x9Aà¸ à¸²à¸©à¸²à¹\x84à¸\x97à¸¢.xlsx',
encoding: '7bit',
mimeType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
}
filename Parsing fail.
how to fix.
Thank you.

@bug249286 Clients should be sending non-latin1 header parameter values using the format (encoded words) defined by RFC5987. If they don't send that, then the values are assumed to be encoded as latin1.
You can safely convert the filename to utf-8 since latin1 preserves individual bytes. For example: Buffer.from(filename, 'latin1').toString('utf8') or using TextDecoder, node supports both.

@bug249286 Clients should be sending non-latin1 header parameter values using the format (encoded words) defined by RFC5987. If they don't send that, then the values are assumed to be encoded as latin1.
You can safely convert the filename to utf-8 since latin1 preserves individual bytes. For example: Buffer.from(filename, 'latin1').toString('utf8') or using TextDecoder, node supports both.

@mscdex Thank you very much.

I am confused on how we are supposed to send UTF-8 (or other) strings. While RFC5987 do mention extended parameters, RFC7578 discourage their use, and some actual browser do not send the extra filename* (including Chrome, Edge and Firefox), instead putting the utf-8 name in filename.
As it is, we can to the aforementioned conversion by hand outside of busboy (or in my case multer), but is that really something that fall outside the scope of this library, seeing that the "supported" method of using filename* is not used much in the wild?

@CleyFaye Writing a library like this that works for everyone everywhere is basically impossible. IMO it's safer to err on the side of history for compatibility purposes until all clients overwhelmingly assume UTF-8 values for filenames. The workaround I provided earlier in this issue is a valid solution if you are in control of the client and want to assume UTF-8.

I agree that it is a valid solution (and I am using it already), but my question was more about how we are supposed to do this if we wanted to do it "properly". My use cases are limited to common browsers (and react-native to some extent) and no client send UTF-8 data the way described in RFC5987 (using extended parameters).
This, in addition to the comment in RFC7578 regarding not using extended parameters for filename in form data leaves me confused as to what's the proper way to handle this. In that sense, starting to add filename* into formdata client side would seem to go the opposite direction as everyone else (in addition to being tedious).
Anyway, I just now see that this is a quite old issue, so it's probably not the correct place to discuss this. I only found out recently through an update of the multer library. Sorry for the noise.

@CleyFaye If you're using HTML forms, I would say either set the page's encoding to utf-8 or set the form's accept-charset attribute to utf-8 (it defaults to the page encoding if not set). If nothing else, another potential solution that would work for HTML and non-HTML would be to send the encoding as the first field in the form.


css loaders fail to parse relative paths

Note: for support questions, please use one of these channels: Chat: AngularClass.slack or Twitter: @AngularClass

I'm submitting a ...
[x ] bug report
[ ] feature request
[ ] question about the decisions made in the repository
Do you want to request a feature or report a bug?
Report a bug
What is the current behavior?
requiring css in the styles Component attribute fails to concatenate base url to a relative url within that css file, instead concatenating './' and interrupting build process if the file isn't found.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via
https://plnkr.co or similar (you can use this template as a starting point: http://plnkr.co/edit/tpl:AvJOMERrnz94ekVua0u5).

Current project,  Commit a4019da :
home.component.ts 24:3, change to:
styles: [ require('./home.style.css') ],
home.style.css, add:
:host {
background: url('assets/img/angular-logo.png');
}
run npm run start:hmr

What is the expected behavior?
base url should be concatenated to the relative url.
build process should not be interrupted if the url isn't found
What is the motivation / use case for changing the behavior?
This behavior is not expected to break when all past versions of this repo supported it, and Angular's docs encourage it in the Webpack section.
Please tell us about your environment:
Angular version: 2.0.0-beta.rc.3
Browser: [all ]
Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

Switching back to raw-loader to handle css files solves this issue.

You can use https://github.com/smithad15/css-to-string-loader
{                 test: /\.css$/,                 loader: 'css-to-string-loader!css-loader' }
css-loader will take care about url() in css, and css-to-string-loader will return all back to string.

Sames issue as https://github.com/AngularClass/angular2-webpack-starter/issues/759
I confirm that Urls in backgrounds urls doesn't works.

I tried @Settler solution to use css-to-string-loader. It works!

^^ same, tried @Settler method. Worked


Am I not allowed to claim because I use a ecdsa?!

Hey!
I went through all the trouble of verifying that this project is legit yada yada only to find out that I'm not eligible because my key isn't an RSA or Ed25519? 😅 Am I missing something?

Turns out I was missing something! I hadn't actually checked the metadata.json, I just assumed it'd be the key in my github as I had no recollection of every having an RSA on there in the past few years. Duh. Dumb.


add an option to make the database port configurable

Hello!
This adds an option to make the database port configurable.
Best regards,
Stefan

Thanks for the PR! Would you be able to add tests for this particular feature?
I've made sure develop passes the Rubocop tests again so be sure to rebase your feature on this branch.

@makandra-stefan-langenmaier sorry I never noticed you updated this PR. Thanks!

No worries, thanks for maintaining!


Make TIFFs bigger, and internally tiled.

The terrarium output used to handle both PNG and TIFF outputs, but they are now different sizes, so the common code has been factored out into a separate mercator.py (and some of the same stuff from normal output as well), and now there are separate TIFF and PNG outputs. The latter retains the terrarium name, as that's what will most likely use the PNGs.
Connects to #58.
@kevinkreiser could you review, please?

:rocket:


Is it possible to build the libtensorflow first?

System information

TensorFlow version (you are using):  tf2.0+
Are you willing to contribute it (Yes/No): yes.. but my code is bad

Describe the feature and the current behavior/state.
It's so said i have been told that "There is no libtensorflow support for TensorFlow 2 yet"
https://github.com/tensorflow/tensorflow/issues/36950#issuecomment-592238340
tf2 changes a lot, we could not use the new model build on tf2 due to no new version of libtensorflow available.
Will this change the current api? How?
To build the whole tf2 on java is huge project, is it possible to build the libtensorflow first?
Who will benefit with this feature?
all developer useing tf java api

Yes, that's what the snapshots are for. Make sure you're building with mvn -Pdev ...

@saudet
Can you provide .jar for download?

Sure, they are all available here: https://oss.sonatype.org/content/repositories/snapshots/org/tensorflow/

Sure, they are all available here: https://oss.sonatype.org/content/repositories/snapshots/org/tensorflow/

some queustion:

i check the jars and find codes like Session and Graph. It seems session and graph is deprecated in tf2, so i wonder if these snapshot is working for tf2... Mainly because there is no documentation
Is any plan for keras lib?
I’m sorry to have put forward so many demands, but there are really urgent needs for these functions

For questions, please use the mailing list or the Gitter channel, if possible. Thanks!
/cc @karllessard

try mailing


Correct way to shuffle, batch and shard WebDataset

📚 The doc issue
Hi, the docs on the WebDataset decoder give the following example:
>>> from torchdata.datapipes.iter import FileLister, FileOpener
>>>
>>> def decode(item):
>>>     key, value = item
>>>     if key.endswith(".txt"):
>>>         return key, value.read().decode("utf-8")
>>>     if key.endswith(".bin"):
>>>         return key, value.read().decode("utf-8")
>>>
>>> datapipe1 = FileLister("test/_fakedata", "wds*.tar")
>>> datapipe2 = FileOpener(datapipe1, mode="b")
>>> dataset = datapipe2.load_from_tar().map(decode).webdataset()
>>> for obj in dataset:
>>>     print(obj)

However this doesn't include demonstrating the proper location for shuffling, sharding and batching the dataset.
Suggest a potential alternative/fix
Could you please let me know where to place .shuffle, .batch and .sharding_filter in this pipeline?

Thanks for reporting the documentation issue.
The following should be the recommended way:
>>> datapipe1 = FileLister("test/_fakedata", "wds*.tar")
>>> datapipe1 = datapipe1.shuffle().sharding_filter()
>>> datapipe2 = FileOpener(datapipe1, mode="b")
>>> dataset = datapipe2.load_from_tar().map(decode).webdataset().batch(batch_size)
>>> for obj in dataset:
>>>     print(obj)

Thanks for your quick response! One more question if you don't mind, does DataLoader2 and PrototypeMultiProcessingReadingService function with webdataset? I didn't notice any speed improvements between these two versions:
%%time

for batch in datapipe:
    pass

versus
%%time

reading_service = PrototypeMultiProcessingReadingService(num_workers=8)
dl = DataLoader2(datapipe=dataset, reading_service=reading_service)

for batch in dl:
    pass

The speed improvement might not be significant if your pipeline is relatively simple, because Multiprocessing also has overhead.

I see, thanks!


Implement journal field

Implement the field journal considering its nested attributes:

journal.pages
journal.title
journal.volume
journal.year
journal.issn

Take into account the following requirements when implementing this field:

It is needed in zenodo-rdm.
It must be a custom field.
It must be searchable. Search must be compatible with the current Zenodo search guide
If needed, update DataCite serializer taking into account Datacite Schema 4.4 docs.

A recommended field RelatedItem  can be used to serialize journal's information.

The upload form should be similar to zenodo (e.g. Journal has its own section)

Currently, nested fields are not supported natively if we want to re-use UI widgets, even though the backend seems to be working for now.
After irl discussion, we decided to move forward with creating a custom field (e.g. JournalCF) for each field and implement the react component + jinja template for every field (journal. meeting, etc). For now it seems to be the less risky option and it unblocks the issue

The serializer to Datacite is not yet implemented.
@slint should it be implemented in this issue or we tackle it afterwards?

Let's split into a separate issue, since there's also other work being done at this moment on the serializers. Also I don't remember exactly how we decided back in the day to allow serializing custom fields into the different export formats (there was some "plugin/extension" interface but I don't recall specifics). CC @ppanero @zzacharo can also chip-in

Let's split into a separate issue, since there's also other work being done at this moment on the serializers. Also I don't remember exactly how we decided back in the day to allow serializing custom fields into the different export formats (there was some "plugin/extension" interface but I don't recall specifics). CC @ppanero @zzacharo can also chip-in

Moreover, in terms of ES search we should guarantee that this custom field maps to journal.*, as it was in zenodo.

Moreover, in terms of ES search we should guarantee that this custom field maps to journal.*, as it was in zenodo. Perhaps using the search redirector is enough.
In case we want this straightaway I can implement it in this issue.

I think we should do this on the ZenodoRDM instance config directly. Although I could also see a "contrib" set of search redirects/transforms... In any case, since we need them you could start testing it out, and afterwards we figure out what makes sense.

@slint export formats have not been implemented for custom fields. There were a few approaches but it was cut of due to time constraints. See here in the RFC.


Give good error message at startup when platform is unsupported

CC @clairernovotny

Q:  Can we narrow Sign CLI's TFM to Windows to prevent installation of the global tool on Linux and macOS?
A:  No.  The net6.0-windows TFM exists; however, attempting to use it results in a build error:
E:\git\sign\.dotnet\sdk\7.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.PackTool.targets(101,5): error NETSDK1146:
PackAsTool does not support TargetPlatformIdentifier being set. For example, TargetFramework cannot be net5.0-windows,
only net5.0. PackAsTool also does not support UseWPF or UseWindowsForms when targeting .NET 5 and higher. [E:\git\sign
\src\Sign.CLI\Sign.Cli.csproj]

See https://github.com/dotnet/sign/issues/576#issuecomment-1416503295


Make our various CSS subsystem files obviously constrained to that component

We should make sure all of our supplementary CSS files (e.g. overlay.css) are setup and linted to only have a few top-level CSS rules (to avoid accidentally modifying other parts of the app).
I'm not sure exactly what the best mechanism would be, but a simple design would be to have a fixed structure of this form tracking the list of valid rules overlay.css: ['#overlay', ...] and then verify that every CSS rule is contained within one of the patterns defined there.

This has more or less been achieved via the structure of SCSS nesting.


Docs: Breaking change in 0.8.0 re: UploadedFile.new

[ci skip]

Based on the discussion in https://github.com/rack-test/rack-test/issues/207, it looks like this should be listed in the changelog under "Known Issue" rather than "Breaking Change". I will edit this PR accordingly.

Could you update the text in line with this, so that this error is also listed there? Thanks a lot!

Updated, thanks. Hope it helps changelog-readers like myself :)

Thanks @jaredbeck! I did a small tweak before mergin, hope that was OK. Pathname is technically not an IO object, it just "walks like one"...
2.4.1 :004 > Pathname.new(Dir.pwd).is_a?(IO)
 => false


Combination of intersection type, mapped type and generic type seem to break type checks for nested properties

Bug Report

🔎 Search Terms
mapped types, generic bound, nested objects
🕗 Version & Regression Information
We've detected this on 4.7.4. Checking previous versions on playgrounds, last one where it worked correctly is 3.5.1.
It is also reproducible on current nightly build.

This changed between versions 3.5.1 and 3.6.3

⏯ Playground Link
Playground link with relevant code
💻 Code
type BaseType = {
  select?: { id?: boolean} ,

  where: {},
}

type FullType = BaseType & {
  anything?: boolean
}

type MappedType<T> = {
  [key in keyof T]:  T[key]
}

declare function genericFunction<T extends FullType>(args: MappedType<T>): void

genericFunction({
  where: {},
  select: {
    id: true,
    // this should not pass
    shouldErrorHere: 'lalalala'
  }
})

🙁 Actual behavior
The code passes typechecks
🙂 Expected behavior
shouldErrorHere property should not be allowed in that position, since it's not defined on typeof BaseType['select'].  Doing any  of the following causes expected error to appear:

Removing intersection type and making FullType a plain alias for BaseType
Making where property optional in BaseType definition
Removing anything property from FullType
Adding any non-optional property to the intersection
Omitting where property in genericFunction call
Passing incorrect anything value during the call
Changing FullType to interface FullType extends BaseType

@ahejlsberg Thank you for the explanation!
However, if that's the case, wouldn't the same also hold true for all of the other case I listed at the end of my post? For example, this one.  The only difference with the original one is that here, where property of BaseType is not required. In my understanding, inferred type for T should not change in this case, however, excess property error now appears.

Hmm, yeah, something is definitely suspicious there.


Very strong base airdrop

I have participated base airdrop thanks for sharing this airdrop

@aman420886
Hello, we do not plan to issue a token. Any tokens or airdrops claiming to be from Base are not related or legitimate, and are not coming from the Base team.


multiple core support

Would be nice if this supported or documented how to setup a configuration with multiple cores.

Thanks, hope you can pioneer this. It's not different from any other solr environment.
Also note that ddev/ddev-solr is the preferred add-on for Drupal folks per the maintainer of search_api_solr.

gotcha, i was following the docs which doesn't mention that.
https://ddev.readthedocs.io/en/latest/users/extend/additional-services/#additional-services-in-ddev-contrib

There's a fair bit of confusion between those. ddev-drupal9-solr (this repo), soon to become ddev-drupal-solr is the traditional setup. ddev-solr is the "modern" approach championed by the maintainer of search_api_solr. I wish there weren't so much confusion.  There's also a TYPO3 variant in the works :(

Thanks @nicrodgers - A PR would be welcome explaining that on the README.


remove testing coverage as it's breaking build

mysterious upstream change breaking build when dependent on pytest_cov - remove for time being; bring back once resolved.

wrong - deleting.


how can apply coupons to shopping cart

how can apply coupons to shopping cart during checkou

I don't think this package supports coupons.

That will be part of your checkout process, and isn't a feature of this package.


⚠ GitLab Server has degraded performance

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

HTTP code: 200
Response time: 7463 ms

Resolved: GitLab Server performance has improved in 8a83d19.


[HOLD for payment 2023-09-06] [$250] Migrate OnfidoPrivacy.js to function component

Class Component Migration
Filenames

[ ] src/pages/EnablePayments/OnfidoPrivacy.js

type: React.Component
has state values: false
has refs: true
has context: false
lifecycle methods: none

Task

We currently have some class components in our codebase that we would like to refactor to a function component.
Here's a link with some general advice on how to refactor a class component to a function component: https://react.dev/reference/react/Component#alternatives
If you need additional guidance, please ask in #expensify-open-source
Test for any regressions and verify that there are no breaking changes

Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0192fbde0c3af746a3
Upwork Job ID:<PHONE_NUMBER>652472320
Last Price Increase: 2023-08-17

Heads up! The pricing for this issue has been adjusted based on the scope of the work and the fact that no complex bug investigations or proposal are required.

I'd love to work on this.

I am ready to work on this ticket. :)

I would like to work on this.

I can work on this issue.

I'd like to work on this

I am able to work on this task.

I would love to work on this

I would like to work on this

Hey! I’m from Software Mansion, an expert agency, and I’d like to work on this issue.

dibs

I would love to work it if this is for individual contributors

I'd like to work on this.

dibs

Hi! I would love to work on this.

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~013cbd95957c12cf1c

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: www.upwork.com/freelancers/teslaruroland

Proposal
Please re-state the problem that we are trying to solve in this issue.
The issue at hand is centered around the need to migrate OnfidoPrivacy.js from its current state to a function component. This migration aims to align the codebase with modern best practices and improve the maintainability of the code.
What is the root cause of that problem?
The root cause of this problem lies in the current implementation of OnfidoPrivacy.js, which might be using an older approach that is not in line with the latest development standards. Migrating to a function component is essential to ensure compatibility with the evolving React ecosystem.
What changes do you think we should make in order to solve the problem?
To address this issue, I propose migrating OnfidoPrivacy.js to a function component. This involves rewriting the existing code to follow the functional component pattern, utilizing hooks and other modern practices. By doing so, we can enhance the performance, readability, and maintainability of the component.
What alternative solutions did you explore? (Optional)
While considering alternatives, I explored the possibility of keeping OnfidoPrivacy.js as it is. However, this approach would hinder codebase modernization and could lead to potential compatibility issues in the future as React continues to evolve. Migrating to a function component is the recommended solution to ensure the code remains up-to-date and aligned with industry standards.
Thank you for considering this proposal. I am open to discussing further details and addressing any questions or concerns you may have regarding the migration process.
Best regards,
Hanzalah

Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~019b0a755f7bda1754

##Proposal
###Please re-state the problem that we are trying to solve in this issue.
Migrate OnfidoPrivacy.js to function component
###What is the root cause of that problem?
The root cause of the issue is to refactor the class component to a functional component.
###What changes do you think we should make in order to solve the problem?
We should refactor the current class component to a functional component.
In functional component, we don't need the constructor and should pass the props as the parameter of the functional component.
We should refactor all event handlers to the general functions.
I can not see any states or references in the code.
I think this is all and can finish in a day.

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: www.upwork.com/freelancers/~013cbd95957c12cf1c

I'd like to work on this.

It's assigned now. Thanks. No more proposals please.

anything left here?

I'd like to work on this

Reviewing today!

Ah, waiting on Marc's reply!

In progress

@BartoszGrajdek mind giving us an update when you have a moment? 🙇♂

Hi, sorry for the delay - I was OOO due to bank holiday in Poland. I've migrated the component into a functional one, now I'm just testing everything to make sure there are no bugs because of it :) I will keep you updated!

Amazing, ty @BartoszGrajdek!!

we're moving!

Nice! Waiting for 7-day period to pass then payment!

Hey! I’m from Software Mansion, an expert agency, and I’d like to work on this issue.

@dylanexpensify no payment in this case ;)

Perfect! @thesahindia payment owed: $250 - is this via ND or Upwork?

Perfect!

Are we good to close this one out?

yes!

$250 payment for @thesahindia approved based on BZ summary.


refactor: build_graph and add_edge!

Codecov Report

Merging #61 (48ee9bc) into dev (d9b16f4) will decrease coverage by 5.56%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##              dev      #61      +/-   ##
==========================================
- Coverage   51.81%   46.24%   -5.57%
==========================================
  Files          39       40       +1
  Lines        2538     2476      -62
==========================================
- Hits         1315     1145     -170
- Misses       1223     1331     +108

Impacted Files
Coverage Δ

src/FeynmanDiagram.jl
41.66% <ø> (ø)

src/computational_graph/ComputationalGraph.jl
0.00% <ø> (ø)

src/computational_graph/common.jl
0.00% <0.00%> (-33.34%)
:arrow_down:

src/computational_graph/diagram.jl
0.00% <0.00%> (-56.97%)
:arrow_down:

src/computational_graph/diagram_v0.jl
0.00% <0.00%> (ø)

src/diagram_tree/common.jl
50.00% <0.00%> (-5.56%)
:arrow_down:

src/expression_tree/eval.jl
60.00% <0.00%> (-3.89%)
:arrow_down:

src/common.jl
60.95% <0.00%> (-2.12%)
:arrow_down:

... and 30 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


[5.5] Add range collection method

This PR adds a static collection method range, which mirrors the native PHP array function of the same name.
The existing method Collection::times(n) works for an integer range of 1..n, but the full functionality of PHP's range includes a start, end, and optional step parameter, and works with number or character sequences. Range also accepts integer or float step values.
Using this new method:
Collection::range(0, 100, 25); // [0, 25, 50, 75, 100]
Collection::range(5, 0); // [5, 4, 3, 2, 1, 0]
Collection::range('A', 'C'); // ['A', 'B', 'C']

Thanks, and let me know if you have any questions or suggestions.

No plans to add this. I'm not sure of the use case.


Homebridge.log file size

Current Situation
I am trying to understand what governs the size of the homebridge log file, found on my RPi system at /var/lib/homebridge/homebridge.log.
Currently, the log is holding a fairly small amount of information. Less than one week of data, and less than 1 MB. This is not allowing me to debug problems that span longer than this time.
I am familiar with linux logrotate, and see no such configuration that would cause an external agent to trim the homebridge log.
Is homebridge itself limiting its log file size, and can I adjust that size with a configuration parameter somehow?
NB: in years past, I've certainly had homebridge installations with log files greatly exceeding this length, so I'm not sure what has changed.
Logs
[n/a]

Configuration
{
    "bridge": {
        "name": "Homebridge 12AB",
        "username": "0A:5B:4E:12:23:34",
        "port": 54321,
        "pin": "123-45-678",
        "bind": [
            "eth0"
        ]
    },
    "accessories": [

Environment

OS: Raspbian buster
Software: 1.8.2
Node: 18.19.0
npm: 10.2.3

Process Supervisor
systemd
Additional Context
No response

+1
I also think that! The log is definitely too short. Especially if a plugin has failures and fills the log with errors, it can much shorten the log.
I think there should be a log from each day separately, not one log that is overwritten.

I opened a PR to make the log size configurable here: https://github.com/homebridge/homebridge-config-ui-x/pull/2161


How to debug "no definition found" for copybooks?

Most copybooks are found (so I can use "show definition" on the copy statement and I think its contents are known to the editor, too. But for some copybooks I get a "no definition found" message.
Things I've checked:

copybook is in workspace
opening the file via quick open works fine
after metadata cleanup + recreating I see it in the metadata dump
the same (set of) copybook(s) seems to not be recognized in all files (just did a quick check though)

You can start by giving collating the actual COPY statement used, as not all forms of the COPY verb are understood.   For example copy replacing is beyond the scope of the scanner/extension.

I should have added this to the info above - the ones I inspect are plain copies:
       WORKING-STORAGE SECTION.
       01  W-PRGM-ID.
           05 W-PRGM            PIC  X(08)    VALUE "prog".
           05 W-VERS            PIC  9(03)    VALUE 001.
      *
           COPY  CWSTD.
           COPY CWSPEC.
       LINKAGE SECTION.
           COPY CWINOUT.
           COPY CDSTD.

All copybooks but CWINOUT are "found", some are in the same folder as the source, some aren't, If I swap CDSTD and CWINOUT I still get the same result - CWINOUT not found.

Cool INout :-)

There is another copybook that is never found:
           COPY CWSPEC.
       LINKAGE SECTION.
           COPY CWINOUT.
           COPY CDSTD.
           COPY CDWPS.
           COPY CDSTD2.

The CDWPS copybook (which consists only of comments, 670 lines of those in its header and 175 COPY statements + a FILLER) is never found. All copybooks I've tested that are contained in there (starting with the same prefix) are also not found, so maybe it is something about the name here, too?
All of those copybooks with the prefix are placed in the same directory of he program they are used in.

The way you describe the copybook, it won't have any symbols in it (because the filler is not a symbol).
Just the same name, as above with cut-paste... the source definition provider finds the copybook:

and when you open it.. parsed it as COBOL and show the single "COPY" in the outline view (my cutdown)

There's one difference in my setup to yours: he copybook extension is .lib which is configured via "files.associations: {"*.lib": "COBOL"}" and "coboleditor.copybookexts": ["lib"] `but this works in general so I don't think that's an issue either
In the outline of CDWPS all 175 copybooks (each starting with CDWPS) are shown here, too, but again their definitions aren't found.
Hm, I'm updating to 1.49.3 and see if that makes any difference - I guess it won't. In that case you'd likely need test bed, don't you?

It looke like the copybook CDWPS has no definitions, it has copy statements and a filler.  The filler is not a symbol, so can't be included in the definitions... So you need to be clear what you are expecting to work because it sounds like it is working.

I'm expecting to see the "* Comment Line" as definition like in your screenshot, but instead get nothing (no hover) and when manually executing "go to definition (F12)" on the COPY line, which normally opens the copybook in a preview tab I get

no definition found for "CDWPS".

Was this a better description of my issue?

Changing the extension to .lib and amending the file.associations, as follows:
		"coboleditor.copybookexts": [
			"cpy",
			"scr",
			"CPY",
			"SCR",
			"cbl",
			"CBL",
			"ccp",
			"dds",
			"ss",
			"wks",
			"lib"
		],
		"files.associations": {
			"*.lib" : "COBOL"
		}

It still works:

We already know:

the problem is not related to the copybook name (as with the INout.lib) - because it works on your side
it happens with the recent extension version 6.8.5
the problem occurs on both vscode 1.49.0 and 1.49.3 (I've tested that in the meantime and guess you are on this version, too)

I guess it is related to the place the copybook is - in a sub-folder.
I've created a self-contained testbed (= workspace) for this, here we go: 218_reproducer.zip

The mod1 directory is unknown to the extension, so it is never searched.
TIP: If you look at the COBOL output panel, you can see the exact search paths used.
		"coboleditor.copybookdirs": [
			"mod1"
		],

Thanks for checking that.

The mod1 directory is unknown to the extension, so it is never searched.

Didn't we previously came to the conclusion that all folders in the workspace should be searched by default?
It is already done for the metadata parsing (and of course by vscode itself, for example via quick open).
I think there are 2 scenarios:
1 use bitlang.cobol just for looking at some files, in this case it is likely one places standard directories (all other than ".", which should be "relative to the file") into coboleditor.copybookdirs
2 use bitlang.cobol to  actually work with it, in this case one would very likely define a workspace, which then also includes all copybook folders in the workspace itself (direct or "below" the folders. like in this case); one may additionally use coboleditor.copybookdirs in this case to point to "common copybooks", for example copies shipped with the COBOL compiler
Concerning 1 - I see the issue that the copybook in "mod1" is not found, even when "PROG.cob" actually is in "mod1", so it is available relative to the source (I guess currently only "relative to the workspace" is checked).
Concerning 2 - Obviously sub-folders are included in many areas, also concerning this extension, but not yet in resolving copy.
One may say "only defined folders should looked in", but then I'd vote for a boolean setting ``coboleditor.copybooksInWorkspace` to be able to define "search the complete workspace, too".
What do you think about those two points?

1 use bitlang.cobol just for looking at some files, in this case it is likely one places standard directories (all other than ".", which should be "relative to the file") into coboleditor.copybookdirs

The "mod1" is part of the workspace but is not a workspace folder, it is under the "src" workspace folder.
If "mod1" was a workspace folder then it would be found, however, because you have a tree structure with nested folders then you have rightly decided not to include it.
If the source code used "COPY xx in 'mod1'" then it works both in the editor and when compiled too.

One may say "only defined folders should looked in", but then I'd vote for a boolean setting
``coboleditor.copybooksInWorkspace` to be able to define "search the complete workspace, too".

To do this I would have to traverse the filesystem and this would be a massive performance issue.
The extension tries to avoid doing any filesystem "stat" or filesystem traversal because it is horribly slow.
By using the copybookdirs it does it in a controlled way and setups up the paths once, so the performance issue is slightly mitigated.
One of my long term aims is to get rid of any filesystem related APIs, so the extension can then be used from a browser environment, where I can only use the vscode file system apis.   At this point, the use of copybookdirs will not be possible

I see. But what about the metadata?
1 if contained in metadata -> use this as reference (no stat necessary at all)
2 if not: fallback to stat
Shouldn't this improve the overall performance as it reduces the stat (as long as metadata is available/up-to-date)?

Accessing the metadata requires the use of stat/file access (needs to know if it is out of date), so it does at least two 'stat's, the filesystem file (which is not part of the workspace)

I've added all module names to coboleditor.copybookdirs now, result:
Invalid CopyBook directories (35)
=> Z:\home\me\src\mod1
=> Z:\home\me\src\mod2
=> Z:\home\me\src\mod3
=> Z:\home\me\src\mod4
=> Z:\home\me\src\mod5
=> Z:\home\me\src\mod6
=> Z:\home\me\src\mod7
=> Z:\home\me\src\mod8
=> X:\src\mod1
=> X:\src\mod2
=> X:\src\mod3
=> X:\src\mod4
=> X:\src\mod5
=> X:\src\mod6
=> X:\src\mod7
=> X:\src\mod8
=> Z:\project1\cfg\mod1
=> Z:\project1\cfg\mod2
=> Z:\project1\cfg\mod3
=> Z:\project1\cfg\mod4
=> Z:\project1\cfg\mod5
=> Z:\project1\cfg\mod6
=> Z:\project1\cfg\mod7
=> Z:\project1\cfg\mod8
...

(sorry my lunch time is nearly over.. so I'll need to be quick)

coboleditor.assume_current_metadata
Doing this on save, is a non-starter because it would require a complete parse (which might not have been done) and would stall the "save" process.   I investigated this and it is very problematic, so I dropped this as an idea.

It looks like coboleditor.copybookdirs is not really made for workspace folders :-(
No, I disagree.. you are saying the "mod1"directory  may be below this workspace folder and if you have a lot of workspace folders.. then only one will be valid and many may not be.

You are focusing on the verbosity of the diagnostic information as a negative rather than looking at the reason, which is the sturcture of the project.
The ideal project structure is one that has the following characteristics:

no remote drives
no hardcode path
independant folders (not one inside the other etc..)
does not use copybookdirs setting and make everything self-contained. At this point it may be possible to work in other file systems such as git/ssh etc..
extensions should have consistent cases (avoiding duplicate extension searches)
do not use metadata caching and either live without it or use parse copybooks

For my understanding: What is the metadata caching then used for? What would one miss if it is deactivated?
And should parse copybooks have an effect on metadata processing (if those are not stored) at all?

For my understanding: What is the metadata caching then used for? What would one miss if it is deactivated?

When parse_copybooks_for_references is off and metadata caching is on.
The metadata processing provides "goto/peek definition":

for sections/paragraphs in known copybooks in the current source file
for CALL with known program-id's/entry-points

And should parse copybooks have an effect on metadata processing (if those are not stored) at all?
No, it is used for navigation in the current document (and copybooks), which might not have been saved


tridentctl install faild with auth provider

Describe the bug
Install failed.
$ tridentctl install -n trident
INFO Starting Trident installation.                namespace=trident
INFO Created namespace.                            namespace=trident
INFO Created service account.
INFO Created cluster role.
INFO Created cluster role binding.
INFO Created custom resource definitions.          namespace=trident
ERRO Could not create CRD client; no Auth Provider found for name "oidc"
ERRO Could not delete CRDs; no Auth Provider found for name "oidc"
FATA Install failed; no Auth Provider found for name "oidc".  Resolve the issue; use 'tridentctl uninstall' to clean up; and try again.

We set kube-apiserver Authentication method to OIDC.(https://kubernetes.io/docs/reference/access-authn-authz/authentication/#configuring-the-api-server)
Environment

Trident version: 20.01.0
Trident installation flags used: trident install -n trident
Container runtime:
Kubernetes version: 1.17.2
Kubernetes orchestrator: original
Kubernetes enabled feature gates: -
OS: ContainerLinux
NetApp backend types: none

To Reproduce
Exec trident install -n trident to the kube-apiserver which use OIDC.
Expected behavior
Install trident successflly.
Additional context
The workaround of this issue is "install twice".
I can install trident successfully in second time trident install -n trident.
# 2nd try!
$ tridentctl install -n trident
INFO Starting Trident installation.                namespace=trident
INFO Created service account.
INFO Created cluster role.
INFO Created cluster role binding.
INFO Added finalizers to custom resource definitions.
INFO Created Trident pod security policy.
INFO Created Trident service.
INFO Created Trident secret.
INFO Created Trident deployment.
INFO Created Trident daemonset.
INFO Waiting for Trident pod to start.

The enhancement to provide additional auth providers was added in the Trident 20.04 release.


[Suggestion] add deb link for arm

https://www.influxdata.com/downloads/
influxdb
I would find handy to have reference for arm .deb package on the download page (they already are on https://dl.influxdata.com/influxdb/releases/ ...). This also holds for Telegraph.
I didn't check for Kapacitor, but since influxdata provides them on the debian repo, I guess this could be included too.

@gunnaraasen -- let's update the downloads page to include the ARM releases such as:
influxdb_1.3.6-1_arm64.deb
influxdb_1.3.6-1_armel.deb
influxdb_1.3.6-1_armhf.deb

ARM binaries appear in downloads -- closing.


Nested scrollers

Hi, I'm trying to use Baron to replace the stock scrollbars in my website and I'm enjoying its simplicity. However I need nested scrollable elements, e.g. a textarea inside a large scrollable div. I couldn't make both scrollers work no matter what.
Is there any way this can be achieved? Would you please post some sample HTML?
Hope you can help. Thanks in advance!

Hi there. Sorry for late answer.
Baron do support nested scrollers. You just need to set proper options, particularly scroller and clipper.
If you still have problems, please, post you code (html and js).


Not Installing on ARM64 Arch - Ubuntu 20.04

Getting Error & Not Installing on ARM64 Arch - Ubuntu 20.04
Steps to Reproduce
sudo apt update
sudo apt-get install --no-install-recommends curl apt-transport-https ca-certificates dirmngr gnupg
curl https://couchdb.apache.org/repo/keys.asc | gpg --dearmor | sudo tee /usr/share/keyrings/couchdb-archive-keyring.gpg >/dev/null 2>&1 source /etc/os-release
echo "deb [signed-by=/usr/share/keyrings/couchdb-archive-keyring.gpg] https://apache.jfrog.io/artifactory/couchdb-deb/ focal main" | sudo tee /etc/apt/sources.list.d/couchdb.list >/dev/null
sudo apt update
sudo apt install couchdb
I'm getting this below error & Please find screenshort.
N: Skipping acquire of configured file 'main/binary-arm64/Packages' as repository 'https://apache.jfrog.io/artifactory/couchdb-deb focal InRelease' doesn't support architecture 'arm64'
E: Package 'couchdb' has no installation candidate

Expected Behaviour
It should install on ARM64 Arch & Ubuntu 20.04 OS.

Thanks for your report. Unfortunately we have built the packages for arm64 for Ubuntu. Currently the only deb packages with arm64 support is Debian bullseye couchdb_3.3.1~bullseye_arm64.deb
The whole list can be seen here https://apache.jfrog.io/ui/native/couchdb-deb/pool/C/CouchDB/

I would also like to see a package for arm64 ubuntu :)

@aricooperdavis @mikdanjey ubuntu focal arm64 deb packages should be available now


Update docs for installation Guide

I had some troubles, so I documented my journey. (esp. the "don't use .xcodeproj" part)
Not going to fork and PR this, you may use this text if you want :)
=== Installation ===

To install this app on your iPhone, you will need to build it yourself. For this you will need to have Xcode and [Cocoapods](https://cocoapods.org/) installed.

1. Clone this repo and, in the terminal, go to the folder you cloned it into. Run `pod install`
2. Open `GPSLogger.xcworkspace` (not `.xcodeproj`!) in Xcode. Change the bundle identifier (domain name in reverse order is the convention). Under team, choose 'Add account', and log in with an AppleID. If bundle identifier was not accepted, change it and click button 'try again'.
   ![xcode](https://user-images.githubusercontent.com/16517999/27596978-5da21e14-5b61-11e7-8e35-49612ed872ce.jpg)
3. Hook up your iPhone, select it from the list (next to the play, stop and 'GPSLogger' buttons) and click the play button to build it.
4. You may need to confirm you trust your AppleID as a developer on your iPhone. For this, go to Settings > General > **Apparaatbeheer** _what's that in English?_ on your iPhone.

=== Installation ===
To install this app on your iPhone, you will need to build it yourself. For this you will need to have Xcode and Cocoapods installed.

Clone this repo and, in the terminal, go to the folder you cloned it into. Run pod install
Open GPSLogger.xcworkspace (not .xcodeproj!) in Xcode. Change the bundle identifier (domain name in reverse order is the convention). Under team, choose 'Add account', and log in with an AppleID. If bundle identifier was not accepted, change it and click button 'try again'.

Hook up your iPhone, select it from the list (next to the play, stop and 'GPSLogger' buttons) and click the play button to build it.
You may need to confirm you trust your AppleID as a developer on your iPhone. For this, go to Settings > General > Apparaatbeheer what's that in English? on your iPhone.

It's "Profiles & Device Management" and that's a nice write-up!

I would like to note that if you have a non-paid Apple developer account, the app lasts for about a week. After that, it stops working, and you need to build it again by hooking up your iPhone and hitting the play/build button. Building it on day 6 does not seem to prevent this from happening: you just need to rebuild it after it broke.
Using a paid Apple developer account would probably fix this.


FIX:7067 - None meas_date roundtrip

Fixes #7067
always writing meas_date seems like the most straight forward fix. Hopefully it doesn't break anything.
As a fix it does have the downside that if a fiff file exists on disk without a meas_date tag and a meas_id that isn't equal to DATE_NONE then on reading in the file the meas_date will be guessed.

You have something to try then ?

Posted this to the issue by mistack...
Potential Fixes

During Reading don't guess meas_date from meas_id. This is here.
https://github.com/mne-tools/mne-python/blob/ef7d7c1899911b821312cc5be1558cc2d6ae4816/mne/io/meas_info.py#L1229-L1230
I don't really know why this behavior was desirable but I'm sure it was/is for something.

Stop writing the meas_id directly in the meas_info tree of the fiff. This would revert to pre #5255 behavior. we'd also have to remove some of the testing that was added to #5255. This would work because somewhere in here:
https://github.com/mne-tools/mne-python/blob/ef7d7c1899911b821312cc5be1558cc2d6ae4816/mne/io/meas_info.py#L1211-L1224
the meas_id gets found and set to  to DATE_NONE

When writing the meas_id to the meas_info fiff tree, I could set the meas_id = DATA_NONE if meas_date is None.

Do nothing. This issue indicates that meas_date and meas_id are out of sync (ie anonymized not through anonymise_info) and maybe its not surprising to get strange results?

Finally, I think that only case 1 would preserve round trip IO of both meas_date and meas_id in a situation where meas_date = NONE and meas_id != DATE_NONE. The other options will all guess one from the other in some way.
;----
I should note that removing
https://github.com/mne-tools/mne-python/blob/ef7d7c1899911b821312cc5be1558cc2d6ae4816/mne/io/meas_info.py#L1229-L1230
pass IO tests.
So whatever it's original need was it isn't explicitly tested for :)

arfff so the bug is more that setting meas_date to None is not enough to
remove recording date ... yet another example of duplication of
information. What @larsoner suggested last week with a inst.set_meas_date()
is necessary and one should document not to set meas_date manually.
thoughts @jasmainak @larsoner?
basically having meas_date != meas_id should not happen.

I think the issue is that you can erase meas_date but there is no way to erase meas_id from the fif tree. So if meas_date is None it can be removed from the fif tree but when reading it is guessed again from the meas_id. So it's an inconsistency we have to live with that is imposed on us by virtue of the fif file format. What @larsoner did was to come up with a magic number so that we can get around this issue for MNE-Python

@larsoner https://github.com/larsoner what's your call on this?

My preference would be to (in rough PR order):

Restore writing our special "meas date". It's backward compatible with what we used to do (i.e., merge this). We can have a separate issue about phasing it out if need be.
Use datetime objects for info['meas_date'].
Add code for set_meas_date that takes care of annotations and such. The anonymization code can use this / be refactored to use it. It only takes datetime | None as an argument.
Extend set_meas_date and/or anonymize functions to kill some of these other dates (such as meas_id) that are probably causing our anonymization to be incomplete.

great plan !

@bloyl okay for you?

I'm +1 on steps 2, 3 and 4.
I'm -1 on step 1. I don't see the purpose in reengineering #5255. to support the ability of setting meas_date to None without adjusting the meas_id. Particularly since steps 2, 3, and 4 will make doing that impossible anyway. the BIDs PR should call anonymize if the purpose is to remove the date/time info.

Your opposition to 1 sounds like it's related to BIDS anonymization. I don't see the relationship between BIDS anonymization and None/special date writing. BIDS anon will never use it, so what problems will it cause there?
Basically people in my proposal people can continue to use the old None style of anonymization (and work with files they've already processed this way!), or use the new date shift method.
Steps 2/3/4 to me would allow datetime or None as options, sorry for not listing that.

anonymize code would just call raw.set_meas_date(None) if no days back is
provided. For BIDS
mne-bids would force the daysback

Agreed @agramfort. The question for @bloyl is why no (1) in the proposal above? I think we want 1/this PR if and only if we allow info['meas_date'] = None. We allowed this previously so for backward compat at least it seems like the round-trip should pass.

There seems to be some confusion.
I am fine with supporting info['meas_date'] = None and with info['meas_id'] using DATE_NONE.
I think Steps 2/3/4 should work to ensure that those two don't get out of sync or maybe even get rid of info['meas_id'] all together.
That is all great.
The original issue (#7067)
calls
raw.info['meas_date'] = None
This sets up a situation where raw.info['meas_date'] and raw.info['meas_id'] are out of sync. In the current codebase  raw.info['meas_id'] gets written to one place in the fiff tree (DATA_NONE gets written to other nodes) and  raw.info['meas_date'] doesn't get written to disk. Then on reading raw.info['meas_date] gets set from what had been in raw.info['meas_id'].
We all agree (I think) that following steps 2/3/4 this situation shouldn't occur, because  raw.info['meas_date'] and raw.info['meas_id'] will be kept in sync. So hopefully the whole issue is moot by the next release.
My issue with step 1 is what is meant by

backward compatible with what we used to do

What is the backward compatible thing to do in the out of sync case?
Assuming its pre #5255 behaviour, then that would be that after reading back from disk you'd get raw.info['meas_date'] == None with info['meas_id'] using DATE_NONE
To do that I think you'd have to do either option 2 or 3 from my comment above.

When writing don't write the actual meas_id anywhere. This is fine in principal but I feel like they will be more work then we think. For instance the current state of the PR is the beginning of this approach and has failing tests in the CTF reader from the other parts of PR ( #5255 ). I think the effort to make this work would be better used doing Steps 2/3/4,

Option 3 from my comment seems like it might work but is also hacky and I think will be confusing to future support. Although maybe we could tag it for removal re writing in the steps 2/3/4.

I guess I'm willing to give option 3 (the Hacky one) a shot and if it works then great. But I don't have time to redo PR #5255, particularly to support an edge case that will be eliminated before the next release.

Does following 2/3/4 actually guarantee info['meas_date'] = None gets set correctly in IO? What would be the logic if there is no special date? You cannot remove meas_id from FIF tree as far as I remember.

info['meas_date'] = None should be an alias for DATE_NONE and as meas_id
must stay meas_id will be set to DATE_NONE if and only if info['meas_date']
= None. So readers will set info['meas_date'] = None when they see that
meas_id == DATE_NONE

But DATE_NONE is our special date so what you propose amounts to 1. in @larsoner 's proposal, no?

yes I agree with @larsoner . We elaborated the plan together actually :)

Okay I think I have a bit better handle on the problem. From 9 years ago Alex did in read_meas_info:
    if meas_date is None:
        meas_date = (info['meas_id']['secs'], info['meas_id']['usecs'])

This is reasonable if, e.g., some old files don't have a meas_date in the info struct.
But then on write we do:
    if info.get('meas_date') is not None:
        write_int(fid, FIFF.FIFF_MEAS_DATE, info['meas_date'])

So we only write if not None.
I propose a variant of (1) we change it so that this is always written, like:
    if 'meas_date' in info:
        meas_date = info['meas_date']
        meas_date = DATE_NONE if meas_date is None else meas_date
        write_int(fid, FIFF.FIFF_MEAS_DATE, meas_date)

This will not be totally backward compatible, as those old files were not written this way. But it is at least forward compatible with allowing info['meas_date'] = None to I/O round-trip properly. Then we can continue with steps 2/3/4. This passes the test added here about I/O round-trip as well as all existing mne/io tests locally. In case people want to look in diff form (and to get CIs going) it's up at #7090.

The reason not to write DATE_NONE to the fiff file is that other readers (mne-c, mne-cpp, fieldtrip, brainstorm etc) don't know that DATE_NONE is special and will interpret it as an actual date.

so you want to prevent the ability to remove any date?

Looking back at 0.17, what we used to do is not write meas_date when meas_date is None, but then we also set meas_id and file_id fields to DATE_NONE. And then on read we did:
    if meas_date is None:
        meas_date = (info['meas_id']['secs'], info['meas_id']['usecs'])
    if np.array_equal(meas_date, DATE_NONE):
        meas_date = None

So we could continue not writing meas_date (since we never did), but make sure that whatever gets used as a surrogate meas_date in that case gets set to the magical DATE_NONE values (point 4). It seems like these probably need to be done as part of anonymization anyway.
So maybe move point (4) up, add the np.array_equal(meas_date, DATE_NONE) conditional back, and then we don't need (1) anymore.

The reason not to write DATE_NONE to the fiff file is that other readers (mne-c, mne-cpp, fieldtrip, brainstorm etc) don't know that DATE_NONE is special and will interpret it as an actual date.

Regarding this point, I'm not sure what these other readers do when they encountered missing meas_date before, but if they looked elsewhere in the tree, they already have this problem (and have had it for a while) so we probably need to fix that separately in MNE-MATLAB anyway.

Is there any information on the FIFF file format? Specifically as to what meas_date'and meas_ids are supposed to encode? Are they supposed to be the same?

if we aren't concerned about other packages/platforms supporting DATE_NONE as a date, then I'm fine with the proposed fix currently sitting on #7090

meas_date
file_id. In our code this comes in start_file(fname) -> write_id(fid, FIFF.FIFF_FILE_ID, id_) and if id_ is None it generates one that uses DATE_NONE.

As for the motivations, I can only infer them from these files. But it does look like DATE_NONE is something that we've been writing for a couple of years, as it's in _generate_meas_id.

Okay now all #7090 does is ensure that doing this works:
info['meas_date'] = None
anonymize_info(info)

It round-trips properly. Basically what we did before with info['meas_date'] = None was always incomplete anonymization, so people should do anonymize_info(info) afterward to ensure things work.
So I think we should merge #7090, then proceed with steps 2-4 above. @bloyl this sounds like it's compatible with what you're thinking (right?) and I think it stays true to what @agramfort and I talked about regarding info['meas_date'] = None round-tripping and so forth.

This seems fine to me although I'm pretty sure that

info['meas_date'] = None
anonymize_info(info)

Already works. its even tested:
https://github.com/mne-tools/mne-python/blob/6861595ea11e30db2a4cb1262d90518f1a01bfcf/mne/io/tests/test_meas_info.py#L520-L535
That being said the additional test in this PR seems fine.
My only suggestion would be to change the api of anonymize_info to take something like a remove_dates flag (default=False). Essentially this would set info['meas_date'] to None and then proceed through the rest of anonymize_info
That way user code would look like this.
raw.anonymize(remove_dates=True)
which I think is cleaner and less prone to error (ie only doing the info['meas_date'] = None part)

My only suggestion would be to change the api of anonymize_info to take something like a remove_dates flag (default=False). Essentially this would set info['meas_date'] to None and then proceed through the rest of anonymize_info

Let's get #7090 in, and then do steps 2-4, then see if it's necessary. I don't think it will be since people will be able to do the following if they really want info['meas_date'] = None:
raw.set_meas_date(None)
raw.anonymize()


Views extension point should add views in bulk

run with --prof-startup
inspect renderer profile
the views extension point fires events for each contributed views (despite registerViews accepting an array)

prof-2619.renderer.cpuprofile.txt

(despite registerViews accepting an array)

I think I now understand that - its views per container. Anyways, it seems that there will be very large savings if there is another loaders for many (view, container)-paris


fix(eof-test): also parse and run Osaka tests

Fix CI: https://github.com/bluealloy/revm/actions/runs/11661887031/job/32467096293

I will pause this after this lands: https://github.com/bluealloy/revm/pull/1865


angularJS 2 implemention

Hey , i'm tries  for weeks to create a token inside angularJS 2 but i get only 400 or 401 .Can you give me some help how to use your module in AngularJS 2? Thanks

Hi!
Unfortunately, I never used the library with AngularJS 2.
Can you have a look at magento2 logs to get more details why magento rejects your requests?
Greetings
Marko

i try to send the Authorization header but i think i can do it only with OAuth 1a . when i try to get the token from POSTMAN i can get it but when i try to put with with header only i get 400.
Do i must use OAuth 1a to enable the access for code? A lot of programmers getting stack with the token part when the try to get full access

Hi, guys!
I have the same problem but i'm using it with node.js.
Maybe you have some solutions?

Hi Vladimir!
Unfortunately, I'm not actively developing that REST client.
Therefore I really cannot tell what the issue could be...
On Thu, Mar 15, 2018 at 9:58 AM, Vladimir<EMAIL_ADDRESS>wrote:

Hi, guys!
I have the same problem but i'm using it with node.js.
Maybe you have some solutions?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/nouvak/magento2-rest-client/issues/2#issuecomment-373305169,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABkihRBUxIOfKuqOt9zjYZu1mLfLfEOZks5tei0YgaJpZM4Nb_Yq
.

--
Marko Novak
Twitter: @MarkoNouvak
LinkedIn: https://www.linkedin.com/profile/view?id=15369898
blogger.com: http://novakmarko.blogspot.com/

it's a pity, but in any case, thanks, Marko.

mine is working fine
Can you get your token? if you can correctly obtain your token, it means you set up your Magento oAuth correctly. If not, the problem is most likely in your Magento oAuth setup.
`var request = require("request");
var options = { method: 'POST',
url: 'http://your_url/rest/V1/integration/customer/token',
headers:
{ 'Postman-Token': 'adee7740-8a2d-40f2-b239-b2b16d020843',
'Cache-Control': 'no-cache',
'Content-Type': 'application/json' },
body: { username: 'xxxxx@xxxxxx', password: 'xxxxxx' },
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
`


Support $slice projection query operator

Closes #362.

I've commented out some tests because there is an issue with printing types and values the same way as MongoDB. For example, Ferret prints a string "someString" as someString, while Mongo prints it as "someString"; a similar issue with types.Array and types.Document (I've implemented String() for types.Array, we should probably make the same for types.Document), but doing a String() for string type would require introducing a type alias, and I'm not sure how you feel about that 😄
After it's resolved, these tests can be uncommented

@GinGin3203 May you please resolve merge conflicts?

@AlekSi done

Please note that I've only added basic support of JSONSyntax
I though at first of also including types.Document, but I've decided to stay away for now because of possible complications with key ordering

Please note that I've only added basic support of JSONSyntax I though at first of also including types.Document, but I've decided to stay away for now because of possible complications with key ordering

So it will fail if a Document will be in data. Maybe let's describe the complications and find a way to resolve them?

@seeforschauer to be honest, I feel a bit overwhelmed by the scope of this PR, I'm afraid it may never end 😅
WDYT about calling it a day and addressing the work that needs to be done on JSONSyntax in a separate issue?
For now I've added placeholders for unsupported types and sorted everything in the correct order

@GinGin3203 let it be a day  :-)  I fully understand this :) Some of my own PRs are also very big.

@AlekSi as I understand, this PR can be merged?


Prepare image error from egs/iam

Hi,
I am using ImageMagick6 and at the step of preparing image by running ./steps/prepare_images.sh, I got the following error. Do you have any idea? Thanks.

Failed image processing:
imgtxtenh: enhancing by Sauvola: width=80pixels, mfct=0.2, sfct=0.5
imgtxtenh: removed 1 small components from a total of 18 (min. area: 6 pixels^2)
convert: magick/cache.c:306: AddOpenCLEvent: Assertion `cache_info->opencl != (OpenCLCacheInfo *) ((void *)0)' failed.
./steps/prepare_images.sh: line 40:  1669 Done                    imgtxtenh -d 118.110 "$1" png:-
1670 Aborted                 (core dumped) | convert png:- -deskew 40% -bordercolor white -border 5 -trim -bordercolor white -border 20x0 +repage -strip "data/imgs/$partition/$bn.jpg"
ERROR: Processing image data/original/lines/a01-000u-00.png

Can you give more details about your environment? Like what OS, how image magick was installed, etc.

I have never tested installing ImageMagick from source. Anyway from what you say it is not possible for me to reproduce the error. Could you isolate the problem (exact command and image that fails) and maybe create a docker file that performs the exact installation that you did and that reproduces the error?

After reinstalling ImageMagick using apt-get install, the error went away. Thanks.


Add GraphQL API CR generation to config deployer

Purpose

Fixes #1978
PR #1977 needs to be merged first

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (1380166) 26.39% compared to head (082db96) 24.42%.
Report is 10 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1986      +/-   ##
==========================================
- Coverage   26.39%   24.42%   -1.98%
==========================================
  Files         124       43      -81
  Lines       14512     8744    -5768
  Branches     2575        0    -2575
==========================================
- Hits         3831     2136    -1695
+ Misses      10558     6485    -4073
  Partials      123      123

Flag
Coverage Δ

adapter
24.42% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


CHORE: Prep for datalayer tickets DF-74 + UN-141

The aim of this PR is to lay the groundwork for individual datalayer enhancement tickets by providing a more convenient way for page classes (and record/result classes) to make type-specific additions/changes.
In the process, I also:

Simplified the way datalayer code is rendered (a simple tag that renders to a template)
Introduced a base_page.html template where page-specific template code can live - Allowing us to remove a large amount of repeating code from individual page templates
Used the {% wagtail_site %} tag in base.html to derive the 'current site' from the request (which is then cached and used for other things)

Thanks for this!
Moving dataLayer configuration to the models and out of content-specific template tags feels much cleaner and extensible going forwards.
Also, huge thanks also for beginning the process of re-organising the templates.


v17.05 failed to build CL examples

In v17.05 changlog, "Library does not link against OpenCL anymore (It uses dlopen / dlsym at runtime instead to determine whether or not OpenCL is available)." As I understand, we didn't need libOpenCL.so to build the arm compute library any more, but when I built the library and examples with the command below:
"CXX=clang++ CC=clang scons Werror=1 -j8 debug=0 neon=0 opencl=1 embed_kernel=1 os=android arch=armv7a examples=1", I met errors that cannot find "-lOpenCL".
Did we still need the libOpenCL to build the examples or the examples code need to update for v17.05?
Thanks.

You don't need libOpenCL.so to build the library, however you need it to build the examples.
So either build with examples=0 or link against the stub OpenCL library provided in the repo.

Oh, I see, thanks.


Allow user's max_layer attribute to be configured in app_config.yml

Currently, it's hardcoded: https://github.com/CartoDB/cartodb/blob/master/app/models/user.rb#L162

Hey @danicarrion, max_layers is set by plan, it is a limit attribute, so it is not possible to be changed via app_config, IMHO it should be available under app_config.

There has been no activity on this issue for more several months. We are closing it. If you think this still needs to be addressed please open a new issue.


refactor: introduce protocol to use outofband

closes #1568
This PR refactors the introduce implementations to use out-of-band instead of did-exchange.
It includes these additional fixes:

outofband.Client.Event not assigned a value by constructor (added an extra assertion to the TestNew test case)
DIDCommAction properties not set by outofband.Service (added additional assertions to the "fires off an action event" test)
outofband.Service: inability to handle inbound outofband.Requests over DIDComm b/c the 'OOBMessage' property is unmarshalled as a map[string]interface{} type (added a TestChooseTarget set of tests)

And also:

temporarily disabled generic DID syntax validation in outofband.Client.CreateRequest() because our sidetree implementation is outputting non-compliant DID IDs (TODO: #1642 )

Signed-off-by: George Aristy<EMAIL_ADDRESS>

I need to fix the coverage.


SPDT Stats Performance Improvement

For big data, performance for SPDT stats step is not good. For 100MM records, some times it cost  several hours to finish.

done in develop 0.2.5.
For new solution with binning method 'SPDTI', with 100 MM records, run time is decreased to 30 minutes


New-pull

Pipelines as Code CI/simple has successfully validated your commit.
Namespace: ocp-devops-demo
PipelineRun: simple-fvzzs

Task Statuses:

StatusDurationName

✅ Succeeded
25 seconds
fetch-repository

✅ Succeeded
6 seconds
noop-task


CosineStrategy is not working

@unclecode
CosineStrategy seems to be not working; the result.md when using CosineStrategy is exactly the same as when extracting content from a single URL. Why is that? I also encounter network connection issues with Hugging Face when running locally, so I'm trying to load the model directly from the local files.
Looking forward to your reply!

Hi, thank you for using our library. Here, I'd like to share with you the code that you need to use. The result will always be the same, which is just Markdown. However, when you use the cosine strategy, you'll notice another parameter - extracted content. This is a dumped JSON that contains the structures you're looking for. Please pay attention to the following code and then try it out. You should get what you want. Thank you.
async def main():
    extraction_strategy = CosineStrategy()
    async with AsyncWebCrawler() as crawler:
        url = "https://paulgraham.com/love.html"
        result = await crawler.arun(
            url=url,
            bypass_cache=True,
            extraction_strategy=extraction_strategy,
        )
        segments = json.loads(result.extracted_content)
        print(segments)

    print("Done")

if __name__ == "__main__":
    asyncio.run(main())

@unclecode Why is it that when I set the parameter 'bypass_cache' to 'True', both 'md' and 'extracted_content' return None

import asyncio
from crawl4ai import AsyncWebCrawler
from crawl4ai.extraction_strategy import CosineStrategy
import json
async def main():
async with AsyncWebCrawler(verbose=True) as crawler:
# Define extraction strategy
strategy = CosineStrategy(
semantic_filter="中国式现代化",
word_count_threshold=10,
max_dist=0.2,
linkage_method='ward',
top_k=3,
model_name='BAAI/bge-small-zh-v1.5'
)
# Sample URL
url = "http://www.people.com.cn/"
    # Run the crawler with the extraction strategy
    result = await crawler.arun(url=url, extraction_strategy=strategy)
    print(result.model_dump().keys())
    print(result.extracted_content)
    # with open('001.txt', 'w') as f:
    #     f.write(result.extracted_content)

    # segments = json.loads(result.extracted_content)
    # print(segments)

asyncio.run(main())
The 'BAAI/ burge-small-zh-v1.5 'model is located locally and loads without problems, I modified the source code

import asyncio
from crawl4ai import AsyncWebCrawler
from crawl4ai.extraction_strategy import CosineStrategy
import json
async def main():
async with AsyncWebCrawler(verbose=True) as crawler:
# Define extraction strategy
strategy = CosineStrategy(
semantic_filter="中国式现代化",
word_count_threshold=10,
max_dist=0.2,
linkage_method='ward',
top_k=3,
model_name='BAAI/bge-small-zh-v1.5'
)
url = "http://www.people.com.cn/"
    result = await crawler.arun(url=url, extraction_strategy=strategy)
    print(result.model_dump().keys())
    print(result.extracted_content)
    # with open('001.txt', 'w') as f:
    #     f.write(result.extracted_content)

    # segments = json.loads(result.extracted_content)
    # print(segments)

asyncio.run(main())
The 'BAAI/ burge-small-zh-v1.5 'model is located locally and loads without problems, I modified the source code

Okay, I see the problem. It's a bug in the way I'm loading the model. Actually, I'm not passing model name to the loader properly. I will update it, and then in the next version, I'll fix this one, which I'll release in a few days. In the meantime, you can check it from this branch 0.3.72. So, I hope this will be a solution for you.
async def main():
    extraction_strategy = CosineStrategy(
        model_name='sentence-transformers/all-MiniLM-L6-v2'
    )
    async with AsyncWebCrawler() as crawler:
        url = "https://paulgraham.com/love.html"
        result = await crawler.arun(
            url=url,
            bypass_cache=True,
            extraction_strategy=extraction_strategy,
            # magic=True
        )
        segments = json.loads(result.extracted_content)
        print(segments)

    print("Done")

@unclecode Okay, I got it. Thank you very much for your timely reply. Your project has benefited me a lot!

@1933211129 Really I feel empower hearing this library helps you, happy crawling


Incorrect dev port

Laravel Vite Plugin Version: 0.7.1
Laravel Version: 9.41.0
Node Version: 18.12.1
NPM Version: 8.19.2
Host operating system: Windows 10
Web Browser & Version: Chrome 107.0.5304.122
Running in Sail / Docker: No (WSL2)

Description:
When i use in vite.config.ts
    server: {
        port: 3001,
    },

@vite('resources/scripts/main.ts') echo http://localhost:3000/resources/scripts/main.ts
how can i use 3001 instead of 3000 ?
Steps To Reproduce:
Change the server port in vite.config.ts

Was an issue with the package innocenzi/laravel-vite overwriting @vite


Fixing awslabs links.

Summary
Fix ODBC failing links.
Description
Update ODBC links for aws to awslabs.
Related Issue
N/A
Additional Reviewers
@alexey-temnikov

Merging, since confirming changes are only in the documentation. Tests are failing due to permissions to run from external contributions.


Update demo.py; load() is broken

for the Colab demo, reinstall pyyaml with !pip install pyyaml==5.4.1
this will fix the error below
TypeError: load() missing 1 required positional argument: 'Loader' in Google Colab

for the Colab demo, reinstall pyyaml with !pip install pyyaml==5.4.1 this will fix the error below
TypeError: load() missing 1 required positional argument: 'Loader' in Google Colab

solved the problem,thank you!

Hello, I am the author of demo.ipynb.
Don't forget to modify requirements.txt:
- PyYAML==5.1
+ pyyaml==6.0

Hello, I am the author of demo.ipynb.
Don't forget to modify requirements.txt:
- PyYAML==5.1
+ PyYAML==6.0


Use HTTPS to download executables in provision.sh

git.io supports HTTPS, and provision.sh should use it. Otherwise, it would be trivial for an attacker to launch a man-in-the-middle (MITM) attack against the machine running the script. Since the files being downloaded are executed by the same script promptly thereafter, this is a very easy way for an attacker to achieve remote code execution on the machine running the script.
Fixes #130.

I signed it!

LGTM

Thank you!


Improve Print Outputs

Initial Checks

[X] The code compiles successfully without any errors or warnings.
[X] I have personally tested these changes on my local environment.
[X] I have ensured that relevant documentation has been added or updated.
[X] I adhere to the project structure and code standards defined in the documentation.
[X] My code follows the established coding style guidelines.
[X] I have added tests for the new code (if applicable).
[X] All existing tests have passed successfully.

Description
This PR enhances the print outputs of the Model and Term classes, improves the visibility of badges, and updates the configuration of the git-committers plugin for consistency.

The print_info and print_solution methods in the Model class have been enhanced to improve visibility and provide deeper insights.
The get_pretty_string method in the Term class has been refactored as an @abstractmethod for subclass customization.
Badges on the main page of the documentation and the readme file have been updated to improve visibility and align with the package's color palette.
The git-committers plugin in the mkdocs.yml file has been updated to exclude the index.md, examples/index.md, and api/index.md files for consistency in the current configuration with the git-revision-date-localized plugin.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

3 of 3 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2611

Relevant Lines:
2611

💛  - Coveralls


[FALSE-POSITIVE]

Domains or links
Please list any domains and links listed here which you believe are a false positive.
gkimy.or.id
More Information
How did you discover your web site or domain was listed here?
www.imunify360.com in Reputation Management
Have you requested removal from other sources?
Please include all relevant links to your existing removals / whitelistings.
Additional context
Add any other context about the problem here.
:exclamation:
We understand being listed on a Phishing Database like this can be frustrating and embarrassing for many web site owners. The first step is to remain calm. The second step is to rest assured one of our maintainers will address your issue as soon as possible. Please make sure you have provided as much information as possible to help speed up the process.
Send a Pull Request for faster removal
Users who understand github and creating Pull Requests can assist us with faster removals by sending a PR to mitchellkrogza/phishing repository, on the falsepositive.list file

https://github.com/mitchellkrogza/phishing/blob/main/falsepositive.list
Please include the same above information to help speed up the whitelisting process.

seems to me you still have malware on the server

Website still contains malware and redirects


feat: allow zapping out of vaults directly

As suggested by @dudesahn
tokens supported are eth, wbtc, dai, usdc, usdt

Just tested it and it works great @patcito, although there does seem to be an issue zapping out of yvCurve-IronBank. However, I got the same issue on zapper’s site as well so it seems to be on their end; I've already reached out to them about fixing that.
A few requests/questions, though:

For simple withdraws, instead of using the zapOut method, we should have users still call the normal withdraw method from the vault contract, which will save them gas. For an example, check out our Zap In method, where we still use the normal vault.deposit when the user has the want token.
Additionally, for any of the vaults for tokens we can zap to (ETH, DAI, USDC, WBTC, USDT) we shouldn't display the option to zap to that token because, again, it's just a waste of gas.
Finally, please update the token displayed for the want (3Crv, crvIB, etc) to be the image for the underlying token, not for the vault token. So, for instance, for yvYFI you would still display the YFI logo, instead of the yvYFI logo with the blue arrow.

Great work!

Think this has messed up the layout on mobile. If we want to fix things for mobile 🤷♂


Update deprecated code in github actions

Codecov Report

Merging #72 (86480fd) into master (9ed9bec) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 86480fd differs from pull request most recent head 7117a29. Consider uploading reports for the commit 7117a29 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff           @@
##           master      #72   +/-   ##
=======================================
  Coverage   89.13%   89.13%
=======================================
  Files           9        9
  Lines         451      451
=======================================
  Hits          402      402
  Misses         49       49

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Add automatic documentation with Read the Docs

To avoid reinventing the wheel, might be worth looking into how I bludgeoned my way through Sphinx in @hawkins/howl/docs

Completed in ab0133c889e7af068880a1770d703ff149304b9e


Rustup

@oli-obk trying your instructions for the first time. This seems to work fine (docker actually makes it quite convenient :D ), but it does create a copy of each merge commit, which over time will take a lot of room in our history I think.

Hm, actually the history of this branch is strange. It seems entirely disconnected from master?

I don't think we can avoid the merge commits with josh. I wonder if things break if we just rebase this PR and let josh figure it out during the other direction (though I have screwed up things enough for that to get even more confusing. We're hitting a josh bug now due to our multiple "unrelated" histories).

I rebased and updated this PR accordingly. The history indeed looks much better now.
But that old history is something where josh could do better I think, so it might make sense to bring this up with the josh devs? https://github.com/josh-project/josh/issues/952

Can we try what future syncs will look like before merging this, somehow?

Can we try what future syncs will look like before merging this, somehow?

wait for a rustc PR to get merged and sync again?
Or just sync again right now 😆

Hm, I guess what that will do is that josh/master constructs parallel history and then git has increasing amounts of work to do in the rebase to deduplicate all that stuff...

Yeah that does not look good
$ git merge josh/master
Auto-merging tests/fail/invalid_bool.rs
CONFLICT (content): Merge conflict in tests/fail/invalid_bool.rs
Automatic merge failed; fix conflicts and then commit the result.

does it work cleanly with a rebase instead of a merge? Like we need to rebase on every sync, not just this one

For this sync I did
git merge josh/master
git rebase origin/master

The first step already fails now the simulating the next sync.
josh/master has completely separate history, I don't even know how to do a rebase without first merging...

So I moved this PR back to just git merge josh/master. But unfortunately, then doing git merge josh-ralf/master also leads to conflicts...

Ah, this updates proc-macro2 which switched from unicode-xid to unicode-ident.

We could consider adding the :linear filter to our josh remote, that makes for a much smaller history -- basically one commit per rustc PR that changed Miri. Slightly sub-optimal for rustc PRs that do heavy Miri work though, but that is rare, and it keeps the history here much less noisy.
Of course that will duplicate some stuff since we already merged the other josh branch. We should probably first figure out what we want and then merge more things. ;)

Given that this matches https://github.com/rust-lang/miri/pull/2568, I'm going to land this now so that our CI cron job stays green.  We already have josh history in this repo so if we want to change that we need a force-push anyway.
@bors r+

:pushpin: Commit 5dc209f48268bcb9709b8f0925710ddfb4ef8d64 has been approved by RalfJung
It is now in the queue for this repository.

:hourglass: Testing commit 5dc209f48268bcb9709b8f0925710ddfb4ef8d64 with merge 8e7293cfd2682273e38e3d1bce84b5e18f4f108a...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing 8e7293cfd2682273e38e3d1bce84b5e18f4f108a to master...


Where should be the fixtures located?

Initiate discussion.

Suggestions:

Tests/app/fixtures/Foo/{data.xml,DummyLoader.php}
Tests/Fixtures/Foo/{data.xml,DummyLoader.php}
Tests/{Unit,Functional}/Fixtures/Foo/{data.xml,DummyLoader.php}
Tests/Unit/Fixtures/Foo/{data.xml,DummyLoader.php}
Tests/Functional/Fixtures/Foo/{data.xml,DummyLoader.php}
Tests/Functional/Foo/Fixture/{data.xml,DummyLoader.php}

There are advantages and disadvantages in each of them. Since practically there are always Functional tests, fixtures can be placed there under the same path as a Functional test. Unit tests can reuse those fixtures when needed. Therefore, I suggest variant 6.

Did we come to an agreement to use variant #3?

It seems that number 3 is a very natural, flexible and simple choice.


Export entire library of workflows

Need a way to synk my workflows between devices
Is there a way or is the only way to do it is to export all workflows ?

Hi I’m planning to enable cloud sync in future so you can have your entire workspace backed up and synced to cloud and access from any device.  you can also share it with other people via links. Like google docs or Figma. Make it easy to collaborate with your team. 🙂
but this will take some time…


Hardcode mrm@2 in the documentation

Due to some changed in mrm@3 the entire installation task fails without easily searchable solution. This fixes the problem by hard locking mrm to @2 for as long as it's not solved properly.

@okonet seems like a fix is waiting in the merge queue for a while now: https://github.com/sapegin/mrm/pull/163


Migrate golangci-lint from Drone to GitHub Actions

@vascoguita can you create a new PR and close this one so CI hopefully runs?