Firebase Analytics not working for Android

Hello everybody,
I have currently setup an integration of Firebase within my app which is working fine. It is receiving notifications for Android and iOS and it is reporting data to Firebase Analytics on iOS.
I have also setup a pageview to be registered.
However, I am not receiving any data on the Android app. Could somebody determine whether there is something obvious missing in a starter implementation?
Thanks in advance.
Best regards,
Stefan
`this.firebase.onTokenRefresh()
.subscribe((token: string) => console.log('Got a new token '+token));
	this.firebase.onNotificationOpen()
		.subscribe((notification: string) => {
			console.log("hello");
			console.log(notification);
		})

	this.firebase.subscribe("testing")
		.then(() => console.log('subscribed')) // save the token server-side and use it to push notifications to this device
		.catch(error => console.error('not subscribed', error));

	this.firebase.logEvent("page_view", {page: "initiator"})
		.then(() => console.log('measured pageview')) // save the token server-side and use it to push notifications to this device
		.catch(error => console.error('not measured pageview', error));`

Try calling this.firebase.grantPermission().

Hello John,
Thanks for the advice! Although grantPermission isn't relevant for analytics it did give me an extra insight in integrating notifications in a correct way for iOS.
Does anybody know how to get Firebase Analytics working on Android?
Best regards,

@sleever hmm strange for me its working, i can see countries and other things, only thing thats not working is the setScreen Method.

@s3ppo Could you show me a snapshot of your configuration?

@sleever which config do you mean?

@s3ppo specifically for the setup to measure data in Firebase Analytics for Android. I would like to see whether I am missing something in the initialization.

you mean the app.module.ts ?

@s3ppo Yes and a copy of how you measure a screenview to see whether I am actually calling enough or too little functions to get it working.

any chance you could share this?

Bump.
Can anyone share information on how to get Firebase Analytics working for Android?
Thanks in advance.

Alright, today I've checked my configuration (google-services.json) which seemed quite incorrect. The configuration that was implemented in this file consisted of two configurations in one and the API key was wrong.
I fixed the issue by re-downloading the google-services.json from the Firebase console which fixed my problem.
This issue is solved.

Hi @sleever I just downloaded this plugin (version 1.0.0) . Firebase Analytics works well on iOS, but not in Android. It seems that even with the google-services.json file at the root level it does not generate the "values.xml" file in the path /platforms/android/build/generated/res/google-services/debug/values.xml
I have a few app in this firebase project. The google-services.json looks like:
{
"project_info": {
"project_number": "xxxxx",
"firebase_url": "https://xxx-xxx.firebaseio.com",
"project_id": "xxx-xxx",
"storage_bucket": "fgdev-xxx.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:xxxx:android:xxxxx",
"android_client_info": {
"package_name": "xxx.xxxx.xxx"
}
},
"oauth_client": [
{
"client_id": "xxxxx.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "xxxx"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 1,
"other_platform_oauth_client": []
},
"ads_service": {
"status": 2
}
}
},
{
"client_info": {
"mobilesdk_app_id": "xxxx",
"android_client_info": {
"package_name": "xxxx"
}
}....
],
"configuration_version": "1"
}
Could you help me to understand what I am doing wrong?
Thanks in advance
Federico


Refactored errors in kernel main, fixed grammar

The match statements in the main function looked kinda awkward, so I decided to do a little refactor

Besides from FMT, seems to work fine!

Sorry for the late review. Just came back from my vacation. I hope I can take a look tonight.

I still need to fix the checks here

Not sure if you are waiting for the review. What I understand is you will fix the checks first.

Not sure if you are waiting for the review. What I understand is you will fix the checks first.

I didn't really have time to work on this because of work, I'll check during the weekend

Don't worry. Just asking to see if you are waiting for me so I can do an appropriate action.

By the way, I would be delighted if you were willing to share some RE information so that people trying to join the project don't have to reinvent the wheel. Also, it might be useful to put this link to the Github discussion with the syscall information in the README (https://github.com/obhq/obliteration/discussions/292 ) as it's pretty crutial information and it's easy to miss.

The problem is sharing that information is hard because it is tool specific data it was not designed for collaboration.

The problem is we can't publish Ghidra data because:

It is copyrighted data.
It is not Git friendly.

The best thing we can do is something like this: https://github.com/obhq/reverse-engineering
Create an issue there if you need any information like function name at the specific offset.

@SuchAFuriousDeath are you still working on this? If not better to close this PR.

I think I'll close this and try from scratch. I tried to do too many things at once anyway


Autofocus

Can you please describe how to enable autofocus on qrscanner?

i'm doing this, but it seems to have no effect on autofocus or flash
 <QRCodeScanner
                cameraProps={{autoFocus: RNCamera.Constants.AutoFocus.on, flashMode: RNCamera.Constants.FlashMode.torch}}
                vibrate={false}
                onRead={this.onSuccess}/>


The example for stack alert sends constantly OK messages

I installed exactly the slack alert example: https://github.com/sensu/sensu-puppet/blob/master/examples/slack_alerts.pp
The configuration sends constantly the OK messages, determined by the interval, but I expect to get OK messages only once.

What is wrong?

I added the missing filter settings in this pull request: #1324


Add accessor functions for ochttp's addedTagsKey

Is your feature request related to a problem? Please describe.
The current route tagging logic only works for routers supporting http.Handler. Some routers, like the one from gin do not support this. Because of this a large part of ochttp would need to be copied to a specific gin middleware (as demonstrated by @sagikazarmark in  https://github.com/sagikazarmark/go-gin-gorm-opencensus).
Describe the solution you'd like
To allow usage of standard ochttp on the outer shell with tag.Mutator access from within gin handlers we could provide standard context accessors for the addedTags slice and make gin integration much easier with our standard plugin.

That wouldn't solve the problem as the route would only become available later:
ochttp -> custom routing strategy -> add route info to span

What if we extracted the logic for HTTP request processing, something like:

func (h *ochttp.Handler)  Start(req *http.Request) *http.Request {
...
  return req.WithContext(newCtx)
}

func (h *ochttp.Handler) End(req *http.Request, route string) {
  span := trace.FromContext(req)
  span.AddAttribute(trace.StringAttribute("http.route", route))
  // add route as tag and call stats.RecordWithTag
}

Then frameworks could construct an appropriate http.Request and call Start and End directly (rather than relying on Handle).

That could work, but it would also mean that ochttp cannot the be most outer layer of the http request, so that the amount of instrumented code would possibly be less.
What if we don't expose the whole tag adding layer, just add a method that adds the route to the tag list in the context?

Yeah, that's fine I think. We should just note that it isn't safe to call it from a separate goroutine. Can we call it ochttp.SetRoute(req, route) and have it set the http.route attribute on the associated span as well?

I think it should accept and return a context. Context propagation is not necessarily tied to an http request within the framework boundaries.
What should it do if a tag list is not available in the context? Create it?

Come to think of it, the function should probably not return a context, since it isn't adding anything to the context but rather internally mutating it.

I agree, it was only an option if we decided to add tag list to the context if it doesn't exist.
The signature looks good.


bug(input): Chrome autofill should set the form to valid

Bug, feature request, or proposal:
Probably a bug, but standard HTML input has the same issue in Chrome. Maybe anyone has an idea for a workaround.
What is the expected behavior?
Form changes state to valid if the autofill of Chrome fills input fields.
What is the current behavior?
You have to click inside the form / app to activate the autofill value and the state of the form changes to valid.
What are the steps to reproduce?
Plunker not possible, screenshot right after the start of the app:

This is only happening at the initial start of the app!
What is the use-case or motivation for changing an existing behavior?
Changing the state of the form to valid if the autofill value of Chrome is passed in.
Which versions of Angular, Material, OS, browsers are affected?
Angular 2.4.9,
Google Chrome 56
Material Beta 2
Windows 10
Is there anything else we should know?
I'm not sure if anyone else noticed this. It's not that bad but it looks confusing.

I've read this on stackoverflow and @mmalerba already mentioned something in that direction.

The problem in Chrome browser: it does not allow access to the value of the password field after autofill (before user click on the page). So, there are two ways:

remove validation of the password field;
disable password autocompletion.

If nobody else has an idea I will close this and remove the validation because I think that's the best thing atm for login pages.

@dahaupt another idea would be to add validation only after the user interacts in some way (focus or input event maybe)

@mmalerba Yes, That's how I usually take care of it.
Example: Never disable the login button based on validation, and when the login button is pressed it either redirects the user after successful login, or I show validation feedback.

I'm on Angular 4 with Material Beta 8 and still facing this issue!

Why was this closed?
Still not resolved in Angular Material 5.1.1.

I am facing same issue with Angular 5.1.2 - Would be good if you anyone has figured out this one?

Vote to reopen :)

I've added some utilities for dealing with chrome autofill, they're available in 6.0.0-beta.2 https://github.com/angular/material2/blob/6.0.0-beta-2/src/lib/input/autofill.ts I would hold off on using it just yet though, the whole thing is being moved into the CDK soon: https://github.com/angular/material2/pull/9831
The AutofillMonitor detects when a field becomes autofilled, so you should be able to listen for that and re-check the validation.

@mmalerba Is there any chance this is going into a patched minor version of 5.x or is it only going to be available when 6.0 comes out?

https://github.com/angular/material2/blob/master/src/material-examples/text-field-autofill-monitor/text-field-autofill-monitor-example.html
cannot make autofill work, ngoninit - form is not on the page yet, afterwards, it does not react on autofill event on chrome:-(, checked on angular 6, material 6

Is there any work around for this issue? to make form valid when chrome autofill the fields

I'm just here for a solution but issue is on my project too. I'll be checking some SO suggestions like emitting an event in ngAfterViewInit to trigger change detection maybe? Or simulation of click.. same idea

So I've found that the main issue here is that Angular's RequiredValidator doesn't acknowledge inputs with autofilled input before the user has interacted with the page. The proper fix would probably need to be implemented in @angular/forms.
Regardless here's the workaround I've come up with that works pretty flawlessly:
https://gist.github.com/kherock/fad4c320c5894ec68373588e338955c5

I tried the above gist, Inside ngOnInit this._elementRef.nativeElement.value  does not get the value still !
so i did tried "this._valueAccessor.onChange('dummy_trigger')" and that enabled the submit button and did not alter the input texts, so it works that way.  but i dont know what's happening.

I had the same issue. Solved it by adding a ´(change)="changeInput($event)"´ output in the form to trigger the following method:
´´´
changeInput(data) {
data.control.setValue(data.$event.target.value);
}
´´´

why this issue is closed?

This is an important issue, please re-open until fixed

A simple (and paranoid) fix which worked for me:
<input matInput
  (change)="fixAutoFill($event, pwd.value)"
  placeholder="Username"
  [formControl]="username"
  name="username"
  required>

<input matInput
  #pwd
  placeholder="Password"
  [formControl]="password"
  type="password"
  name="password"
  required>

username = new FormControl('', [Validators.required, Validators.email]);
password = new FormControl('', [Validators.required]);

fixAutoFill(usr: Event, pwd: string) {
  if (usr) { this.username.setValue((usr.target as HTMLInputElement).value) }
  if (pwd) { this.password.setValue(pwd) }
}

Please reopen this issue.

So I've found that the main issue here is that Angular's RequiredValidator doesn't acknowledge inputs with autofilled input before the user has interacted with the page. The proper fix would probably need to be implemented in @angular/forms.
Regardless here's the workaround I've come up with that works pretty flawlessly:
https://gist.github.com/kherock/fad4c320c5894ec68373588e338955c5

I tried to use with Angular 7.2 but it's not fixing the autocomplete, I still need to click on the page for input validation to be triggered.

As was mentioned earlier in this issue, it is not possible to know the autofilled values until the user interacts with the page. There is no way around this, it's a security feature of Chrome.
As @kherock demonstrated, it would be possible for the RequiredValidator to detect that something is autofilled, though again, you can't actually read those values until the user interacts with the page. However, this change would need to be made in @angular/forms since that's where RequiredValidator lives. I've created an issue for forms here: https://github.com/angular/angular/issues/30616 please use that issue instead.

With monkey patch used on https://autofillmon-validate.stackblitz.io/ the user does not need to interact with the page for form validation to be triggered. You can see the Submit button enabled when the page is loaded. I tried the monkey patch with Angular 7.2 but does not get the same behavior.

Here's a version of the above stackblitz with the versions updated to @<7.3, seems to work: https://stackblitz.com/edit/autofillmon-validate-qdrmvt?file=app/app.component.ts

Here's a version of the above stackblitz with the versions updated to @<7.3, seems to work: https://stackblitz.com/edit/autofillmon-validate-qdrmvt?file=app/app.component.ts

Thank you so the monkey patch only work for MD directive ? https://stackblitz.com/edit/autofillmon-validate-roxxqi I tried with custom input component.

The monkey patch works on input and textarea elements with a required attribute. Depending on how your component is implemented you may have to tweak it. Angular Material component APIs are designed so that the user puts the required attribute directly on a native input so that patch works as-is for Angular Material inputs

The Monkey patch only works for me on firefox and still failed on chrome

Possible workaround:
set the first input to autofocus which introduces a light flicker but triggers the :valid pseudo-class

Possible workaround:
set the first input to autofocus which introduces a light flicker but triggers the :valid pseudo-class

it trigger the validation for the first input only but the form state is still invalid until the user click/interact somewhere on the page.

The Monkey patch not working for me on chrome iOS. Testing on iPhone XS and iOS 12 >

This bug is still relevant, happens on Chrome 76. Has anyone filled Chrome bug for it?


Update transforms for PIL deprecation

Updates torchvision transformations to the call recommended at https://github.com/python-pillow/Pillow/blob/5d070222d21138d2ead002fd33fdf5adcb708941/src/PIL/Image.py#L93 (Pillow 9.1.0 release).

Oh yeah, you're right. My IDE was caching the original version of PIL. I thought it was weird :joy: .
I guess you can delay this until around the PIL hard change date of July 1, 2023:
DeprecationWarning: AFFINE is deprecated and will be removed in Pillow 10 (2023-07-01). Use Transform.AFFINE instead.

If you want, close this PR and I'll add a note to my calendar to look at this again in June 2023.

I guess you can delay this until around the PIL hard change date of July 1, 2023

Having user facing warnings for something they didn't do is not desirable. So we should handle this before the next release.
If you are willing, please keep this PR open and finish it as soon as we decided which way to go:

If we decide to require Pillow>=9.1, you'll have to update setup.py and can keep the changes you already have.
If we decide not to update our PIL requirement, we will need to have something like

import PIL.Image

if tuple(int(part) for part in PIL.__version__.split(".")) >= (9, 1):
    FLIP_LEFT_RIGHT = PIL.Image.FLIP_LEFT_RIGHT
    ...
else:
    FLIP_LEFT_RIGHT = PIL.Image.Transpose.FLIP_LEFT_RIGHT
    ...

def kernel(img):
    ...
    img.transpose(FLIP_LEFT_RIGHT)
    ...

In case we need these constants in multiple modules, it probably makes sense to have a _pil_constants.py module and put the snippet above in there. With that you can do something like
from . import _pil_constants

def kernel(img):
    ...
    img.transpose(_pil_constants.FLIP_LEFT_RIGHT)
    ...

@kylematoba Thanks for the additional info and for notifying us about this. :)
@pmeier Thanks for the analysis. Requiring users to be on the latest version of PIL is kind of a bummer. In principle I don't think it's a bad thing to bump the minimum version a bit but going from >=5.x to >=9.1 is quite a big jump. I don't know how many breaking changes and feature deprecations exist across 4 major versions and what effect this jump will have to users who make use of PIL directly on their software. Option 2 looks viable to me. Do we know how many constants we need to handle?
@NicolasHug I would love to get your thoughts on the above.

I wrote a small script to check all deprecated constants and this is the result:
--------------------------------------------------------------------------------
Image.FLIP_LEFT_RIGHT
--------------------------------------------------------------------------------
torchvision/transforms/functional_pil.py::57
test/test_transforms.py::1527
--------------------------------------------------------------------------------
Image.FLIP_TOP_BOTTOM
--------------------------------------------------------------------------------
torchvision/transforms/functional_pil.py::65
test/test_transforms.py::1524
--------------------------------------------------------------------------------
Image.BILINEAR
--------------------------------------------------------------------------------
torchvision/transforms/functional_pil.py::243
test/test_transforms_tensor.py::781
test/test_onnx.py::420
--------------------------------------------------------------------------------
Image.NEAREST
--------------------------------------------------------------------------------
torchvision/transforms/functional_pil.py::317
torchvision/transforms/functional_pil.py::333
torchvision/transforms/functional.py::395
torchvision/transforms/functional.py::575
torchvision/transforms/functional.py::655
torchvision/transforms/functional.py::1015
torchvision/transforms/functional.py::1108
torchvision/transforms/transforms.py::301
torchvision/transforms/transforms.py::758
torchvision/transforms/transforms.py::872
torchvision/transforms/transforms.py::1271
torchvision/transforms/transforms.py::1392
test/test_transforms_tensor.py::780
--------------------------------------------------------------------------------
Image.AFFINE
--------------------------------------------------------------------------------
torchvision/transforms/functional_pil.py::326
test/test_transforms_tensor.py::775
--------------------------------------------------------------------------------
Image.BICUBIC
--------------------------------------------------------------------------------
torchvision/transforms/functional_pil.py::350
--------------------------------------------------------------------------------
Image.PERSPECTIVE
--------------------------------------------------------------------------------
torchvision/transforms/functional_pil.py::359
--------------------------------------------------------------------------------
Image.LINEAR
--------------------------------------------------------------------------------
test/test_transforms.py::176

Re minimal supported version: PIL has a deprecation policy of 2 major versions, so if we want to be a good citizen, that means the minimum PIL version we should support is probably current version - 1?
Regardless, we'll have to support both ways (the deprecated one and the new one) until our minimum version is >= the version that removes the deprecated way. I don't see a better solution than the wrappers proposed above by Philip.

minimum PIL version we should support is probably current version - 1?

Just to be clear: Given that the current version is 9.1.0 this means we can require pillow>=8, correct?

@pmeier I'm OK with that. BTW we should investigate what's the best way to keep all dependencies in one place. Bumping PIL right now involves updating 100 places across CI, building scripts and configs.

Okay, I'll update the PR to include to make all instances of the deprecated constants contingent upon PIL.__version__.split(".")) >= (9, 1). Give me a few days.

I added transforms/_pil_constants.py which makes the constants contingent on the PIL version.
I extended my earlier changes to the docstrings, type annotations, and tests listed at https://github.com/pytorch/vision/pull/5898#issuecomment-1111912399.
Note the slightly confusing rename from LINEAR to BILINEAR:
https://github.com/python-pillow/Pillow/blob/main/src/PIL/Image.py#L66
I kept the version-abstracted name as LINEAR (this is only used in a single test).

A quick comment on the warning from a user perspective. I don't have the full context of this PIL deprecation issue so forgive me if there's anything I missed.
Every run of torchrl scripts we make gives us as many warnings as the number of processes that are importing torchvision (3 warnings / process x 32 process = almost 200 lines of warnings). This gives us long logs where it's hard to find what's going on.
Besides, correct me if I'm wrong, but it feels like it's a warning on which I have little agency -- it's not really that we're importing anything that will be deprecated: it's an issue in torchvision code, not ours. I think it's confusing for the users, as they're not fully informed of what's going on and who should fix what.
Apart from hiding those specific warnings (my last option is to do a temporary patch in torchrl to hide specific deprecation warnings, but i'm a bit reluctant to make a PR like this), is there anything that could be done?

@vmoens

Apart from hiding those specific warnings, [...] is there anything that could be done?

The only other option is to force PIL < 9.1. After this PR there should be no warnings regardless of the PIL version. Unfortunately, until this patch will be included in a stable release will be 1-2 months. However, you could use the nightly build.


[Bug] Mouse button must be released to activate application window

Describe the bug
Click and drag doesn't activate window therefore cannot highlight on inactive window without first clicking to activate the window
To Reproduce
Open a file in Notepads and alt tab to another window, attempt to highlight in notepads without first clicking to activate the window. Window will activate but require releasing the mouse and attempting to highlight again in order to do so successfully.
Expected behavior
Click and drag within a window should activate the window and allow for highlighting without separately activating the window first. This is generally expected behavior in the Windows environment.
Desktop (please complete the following information):

OS: Windows 10 1909
Notepads v<IP_ADDRESS>

I've run into this same issue and it's quite irritating--it's the primary problem I've experienced in an otherwise stellar product. Is there any chance of its receiving attention in the near future?
My experience of the bug is basically the same as OP's. When the Notepads window is inactive, click-dragging in it does activate the window but the highlight fails, and instead it merely positions the cursor to where I attempted to start highlighting. Attempting to highlight a second time works as the window is now selected.


[Server] Setup

Mandatory tasks:
[ ] Express app
[ ] NPM init
[ ] Task runner / automation system
[ ] Connection with remote database
Other things:
Open questions:

Tasks completed so far (breaking for lunch):
[X] Express app
[X] NPM init
[X] Task runner / automation system
[ ] Connection with remote database


Issues with parsing notes and serialNumber

Hi,
I've been experimenting with ibflex and found 2 issues:
Here's the XML file:
sample.zip
First, this is how I generated the XML file:
token = "..."
query_id = "..."

response = client.download(token, query_id)
with open('sample.xml', 'w') as outfile:
    outfile.write(response.decode('utf-8'))
response_p = parser.parse("sample.xml") #errors here

Second, here's the flex query configuration:

Note that under trades, all boxes are checked.

Issues:

When parsing the file, I get the following error: FlexParserError: Trade.notes - Can't convert 'FP;P' to <class 'tuple'>

response1 = parser.parse("sample.xml")
Traceback (most recent call last):

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 312, in convert
    return Type(prepped_value)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 280, in <genexpr>
    enums.Code(v)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\enum.py", line 339, in __call__
    return cls.__new__(cls, value)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\enum.py", line 662, in __new__
    raise ve_exc

ValueError: 'FP' is not a valid Code

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 159, in parse_element_attr
    converted = ATTRIB_CONVERTERS[Type](value=value)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 314, in convert
    raise FlexParserError(

FlexParserError: Can't convert 'FP;P' to <class 'tuple'>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "<ipython-input-29-c6dab1bf5206>", line 1, in <module>
    response1 = parser.parse("sample.xml")

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 53, in parse
    parsed = parse_element(root)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 85, in parse_element
    return parse_data_element(elem)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 125, in parse_data_element
    contained_elements = {child.tag: parse_element(child) for child in elem}

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 125, in <dictcomp>
    contained_elements = {child.tag: parse_element(child) for child in elem}

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 80, in parse_element
    return parse_element_container(elem)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 101, in parse_element_container
    instances = tuple(parse_data_element(child) for child in elem)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 101, in <genexpr>
    instances = tuple(parse_data_element(child) for child in elem)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 125, in parse_data_element
    contained_elements = {child.tag: parse_element(child) for child in elem}

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 125, in <dictcomp>
    contained_elements = {child.tag: parse_element(child) for child in elem}

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 83, in parse_element
    return parse_element_container(elem)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 101, in parse_element_container
    instances = tuple(parse_data_element(child) for child in elem)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 101, in <genexpr>
    instances = tuple(parse_data_element(child) for child in elem)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 115, in parse_data_element
    attrs = dict(

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 116, in <genexpr>
    parse_element_attr(Class, k, v)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 166, in parse_element_attr
    raise FlexParserError(msg)

FlexParserError: Trade.notes - Can't convert 'FP;P' to <class 'tuple'>

I tried fixing it by doing:
response = response.decode('utf-8').replace('FP;P','').replace('P;RP','')

and it works. But I'm not sure why the error was caused in the first place.

After using the workaround above, the next error I run into is: FlexParserError: Trade has no attribute 'serialNumber'

response = client.download(token, query_id)
response = response.decode('utf-8').replace('FP;P','').replace('P;RP','')
#with open('sample.xml', 'w') as outfile:
#    outfile.write(response.decode('utf-8'))
parsed_response = parser.parse(bytes(response, 'utf-8'))
Traceback (most recent call last):

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 115, in parse_data_element
    attrs = dict(

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 116, in <genexpr>
    parse_element_attr(Class, k, v)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 156, in parse_element_attr
    Type = Class.__annotations__[name]

KeyError: 'serialNumber'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "<ipython-input-30-4183a17da92d>", line 5, in <module>
    parsed_response = parser.parse(bytes(response, 'utf-8'))

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 53, in parse
    parsed = parse_element(root)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 85, in parse_element
    return parse_data_element(elem)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 125, in parse_data_element
    contained_elements = {child.tag: parse_element(child) for child in elem}

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 125, in <dictcomp>
    contained_elements = {child.tag: parse_element(child) for child in elem}

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 80, in parse_element
    return parse_element_container(elem)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 101, in parse_element_container
    instances = tuple(parse_data_element(child) for child in elem)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 101, in <genexpr>
    instances = tuple(parse_data_element(child) for child in elem)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 125, in parse_data_element
    contained_elements = {child.tag: parse_element(child) for child in elem}

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 125, in <dictcomp>
    contained_elements = {child.tag: parse_element(child) for child in elem}

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 83, in parse_element
    return parse_element_container(elem)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 101, in parse_element_container
    instances = tuple(parse_data_element(child) for child in elem)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 101, in <genexpr>
    instances = tuple(parse_data_element(child) for child in elem)

  File "F:\Dev\WPy64-3870\python-3.8.7.amd64\lib\site-packages\ibflex\parser.py", line 121, in parse_data_element
    raise FlexParserError(msg)

FlexParserError: Trade has no attribute 'serialNumber'

I'm not able to solve this error. I manually check the XML file and did find 'serialNumber` field for all entries, but still, the error occurs.

Edit 1:
If I uncheck the following fields under "Trade" section, then I'm able to solve the 2nd issue - but why does this happen?

Did you try looking in ibflex.Types  and ibflex.enums?  The parser is pretty clearly telling you that you're feeding it data that doesn't match its schema.
What exactly is an "FP" type trade, and since when did trades have serial numbers??
IB doesn't publish a complete specification.  I have no way of knowing all possible data that you will download.  However, I have exerted every effort to make it extremely easy for users to update the schema to match the data they encounter.  If you can submit a PR with the updates, preferably including relevant real-world data in test case in tests/test_types.py, that'd be great.  Be the change you wish to see in the world!

I understand that it's not possible to keep updating with IB's changes with schema.

What exactly is an "FP" type trade,
Not sure either. The trades I shared all have fractional shares. Maybe it's that?

and since when did trades have serial numbers??
if you expand the trade section in the flex query creation process, it's at the very bottom. Clicking on "Select all" seems to have selected that and a few other fields that caused problems.

I've submitted a pull request. But I'm not clear about one thing: the difference between "PR;P" and "FP;P" - for now, I've assumed both are fractional shares.
Please take a look at pull requests #31 and #32

I understand that it's not possible to keep updating with IB's changes with schema.

I'm glad you understand - so many changes, and so many financial instruments that I never deal in.  I'm guessing these are Bitcoin trades that are blowing up here, which are treated as commodities, traded in tiny fractions, perhaps with rounding that requires disclosure to the client (i.e. you).
If you generate a PDF statement from the same data, at the bottom of the statement they will include a footnote explaining the meaning of each code used in the trade notes.  It will probably be helpful in understanding "FP" and "RP".


Favicon Color Issue

Issue Description
The favicon is a darker shade of green on the Medium publication than on the main site.
Screenshot

Duplicate of #8233


Support HDBSCAN on Array2

Attempting to run HDBSCAN on an Array2<f32> fails with:
error[E0277]: the trait bound `f32: From<u32>` is not satisfied
  --> src/main.rs:15:55
   |
15 |     let (clusters, outliers) = HDbscan::default().fit(&data.view());
   |                                                   --- ^^^^^^^^^^^^ the trait `From<u32>` is not implemented for `f32`, which is required by `HDbscan<_, petal_neighbors::distance::Euclidean>: Fit<_, _>`
   |                                                   |
   |                                                   required by a bound introduced by this call
   |
   = help: the following other types implement trait `From<T>`:
             `f32` implements `From<bool>`
             `f32` implements `From<i16>`
             `f32` implements `From<i8>`
             `f32` implements `From<ordered_float::NotNan<f32>>`
             `f32` implements `From<ordered_float::OrderedFloat<f32>>`
             `f32` implements `From<u16>`
             `f32` implements `From<u8>`
   = note: required for `u32` to implement `Into<f32>`
   = note: required for `f32` to implement `TryFrom<u32>`
   = note: required for `HDbscan<f32, petal_neighbors::distance::Euclidean>` to implement `Fit<ArrayBase<ViewRepr<&f32>, Dim<[usize; 2]>>, (HashMap<usize, Vec<usize>>, Vec<usize>)>`

Can be reproduced with:
use ndarray::{array, Array2};
use petal_clustering::{Fit, HDbscan};

fn main() {
    // Create a simple 2D dataset with 6 points
    let data: Array2<f32> = array![
            [0.0, 0.0],
            [0.1, 0.1],
            [1.0, 1.0],
            [1.1, 1.1],
            [5.0, 5.0],
            [-5.0, -5.0],
        ];

    let (clusters, outliers) = HDbscan::default().fit(&data.view());
}

Dependencies:
[dependencies]
ndarray = "0.16"
petal-clustering = "0.9"

If the type is changed to an Array2<f64>, this will compile.

Support for Array2<f32> has been added in version 0.10.0. Thanks for reporting this!

Thank you!


Implement login page

The login page currently shows the old look and feel for the nairaland page. This page should be updated to be more in line with the new design while retaining authentication functionality.

Hey @blueyedgeek, would like to contribute on to the project by picking up this issue.

@ascii-dev, sure thing. Go for it. Be sure to let me know if you have any questions.


Site documentation bug - Item bottom

The bottom example is not on the bottom: http://semantic-ui.com/views/item.html#vertical-alignment

Thanks, this was an improper flex value.


SqlBulkCopy does not like SqlParameter

I ran into a problem with InsertBulk() on Sql Server.
Given the following mapping for VarBinary (byte[]) columns that can be null:
        public override Func<object, object> GetToDbConverter(Type destType, MemberInfo sourceMemberInfo) {
            if (sourceMemberInfo.GetMemberInfoType() == typeof(byte[])) {
                return x => {
                    if (x == null)
                        return new SqlParameter("_bytes", SqlDbType.VarBinary, -1) { Value = DBNull.Value };
                    else
                        return new SqlParameter("_bytes", SqlDbType.VarBinary, -1) { Value = (byte[])x };
                };
            }
            return base.GetToDbConverter(destType, sourceMemberInfo);
        }

InsertBulk() will cause SqlBulkCopy to complain that it can't convert the given value (the SqlParameter from the mapping) to VarBinary.
I used the following work-around in SqlBulkCopyHelper (by using SqlParameter.Value instead of the Sqlparameter if the mapping returned a SqlParameter):
                    var newType = value.GetTheType();
                    if (newType == typeof(SqlParameter)) {
                        values[i] = ((SqlParameter)value).Value;
                    } else {
                        if (newType != null) {
                            table.Columns[i].DataType = newType;
                        }
                        values[i] = value;
                    }

I doubt that this is the proper way to fix it, but it works for me...

Turns out that your change to the pull request (always trying to change the type) does not work: DBNull is not an acceptable type.
Accidentally discovered when switching from my fork to the latest 2.6.86 nuget.

Fix and published in 2.6.87

thanks!

Thanks, I hope I can test it tomorrow.
Danny
Op 12 jan. 2015 00:04 schreef "Adam Schroder"<EMAIL_ADDRESS>
Fix and published in 2.6.87
—
Reply to this email directly or view it on GitHub
https://github.com/schotime/NPoco/issues/147#issuecomment-69516495.

Just tested it, it's OK now!


Copy-DbaLinkedServer - New parameter to exclude copying sensitive info

Type of Change

[x] New feature (non-breaking change, adds functionality, fixes #6422 )

The current approach may fix it, but I'm on a smaller laptop and haven't read the rest of the code. I'll take another look when I'm using a bigger monitor.

k, tested this a number of times locally

awesome, thank you!


Help page needs to be updated

E.g., with respect to download instructions and account information, and also general information about the SIgn Bank (in addition to deleting the "beta").

As I suggested via email, I think we should eliminate the help page, and have the Help button open up a page with a link to the User's Guide.  In order to finish off that guide, though, I need a decision on how people should reset their password...  I sent email with some considerations about this.  We will then also need to fix the buttons that send the user from "reset password" to the Help page...

This is the current URL for the Help page:
http://dai.cs.rutgers.edu/dai/s/help
So that should just be replaced with a link to the User Guide http://www.bu.edu/asllrp/rpt18/asllrp18.pdf
(which is just a placeholder file for now, saying "coming soon"),
or it can just be redirected to:
http://www.bu.edu/asllrp/SignStream/3/dai2/dai2-faq.pdf
That was the page that had served as the source for what is at the Rutgers URL, but I have now replaced what was on the BU page with a single link to that User's Guide.

Link all references to help page to http://www.bu.edu/asllrp/rpt18/asllrp18.pdf


Add disclaimer

Adds disclaimer to the dataset folder. Mostly taken from HuggingFace nlp.

Yep. Will add that. Also I will add an example of how to use datasets.


Installation fails when path contains spaces due to using an obsolete version of detox

[x] Review the documentation: https://facebook.github.io/react-native
[x] Search for existing issues: https://github.com/facebook/react-native/issues
[x] Use the latest React Native release: https://github.com/facebook/react-native/releases

Environment
  React Native Environment Info:
    System:
      OS: macOS Sierra 10.12.6
      CPU: x64 Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz
      Memory: 1.05 GB / 16.00 GB
      Shell: 3.2.57 - /bin/bash
    Binaries:
      Node: 10.11.0 - /usr/local/bin/node
      Yarn: 1.10.1 - /usr/local/bin/yarn
      npm: 6.4.1 - /usr/local/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    SDKs:
      iOS SDK:
        Platforms: iOS 11.2, macOS 10.13, tvOS 11.2, watchOS 4.2
      Android SDK:
        Build Tools: 23.0.0, 23.0.1, 23.0.2, 23.0.3, 25.0.0, 25.0.1, 25.0.2, 25.0.3, 26.0.1, 26.0.2, 26.0.3, 27.0.2
        API Levels: 19, 23, 24, 25, 26, 27
    IDEs:
      Android Studio: 3.0 AI-171.4443003
      Xcode: 9.2/9C40b - /usr/bin/xcodebuild
    npmPackages:
      react: 16.5.0 => 16.5.0
      react-native: 0.57.2 => 0.57.2
    npmGlobalPackages:
      create-react-native-app: 1.0.0
      react-native-cli: 2.0.1
      react-native-git-upgrade: 0.2.7

Description
Installation of react-native with yarn fails when the path to your project contains a space in it anywhere in the directory tree, with this error:
[3/3] ⠄ detox
error /Users/daniel/Workspace/work/Mind Monkey RN/node_modules/react-native/node_modules/detox: Command failed.
 However the detox library has already fixed this bug. The only reason that this is failing is because react-native is depending on an old version of detox.

Yeah I want to upgrade Detox to 9.x too, it seems that it should be fairly trivial, but I didn't have time yet :(
A PR would surely be appreciated if you can tackle it.

Ended up creating the PR https://github.com/facebook/react-native/pull/21570, should be good to go once we fix the other Flow issue that is blocking the CI.

It seems during the intial install the project is not updating to the latest Detox version.

I removed the line 118 (where it says "detox": "9.0.4") from the package.json

then ran the command agian.
npm install detox --save-dev
This worked for me 🎉


After selecting custom timer the screen freezes in the Timer menu

Most of the time, when selecting a Custom timer. After clicking accept, the app freezes in the timer menu showing "Custom".

If the accept is pressed again (twice), it goes to seconds selection.
If press "up" it correctly selects "1" and switches the screen.
If press "Down" it correctly selects "59" and switches the screen.
If press "back" it switches momentarily to the minute selection but goes back to the timer selection.

I'm unable to reproduce this in the simulator (fenix 6/fr235) or on my watch (fenix 6).

the default selection is strange - it should start at the minutes not the seconds..
I pushed a tweak to the duration picker and its delegate to try to simplify it. There was some code in there to try to pick default values that wasn't really needed so I commented it out for now. Maybe this helps.

Closing, we'll see if the problem persists.


offline rendering

github demos work.  zip file .. not so much.  black image w/ 60 fps

Hi @dafhi
Yes since the demos all require http get requests - nothing will work unless you have a simple server running in the background, serving up the various files.  Images such as textures that the demos need and files such as the shaders (external .glsl files) cannot be loaded from your hard drive directly as this is a violation of CORS policy, which prevents cross-origin resource sharing.  If this safety feature was not in place, .html web pages could access private files on your hard drive if those .html files contained malicious JavaScript code.
The easiest way to get my (and other web-based) projects going is to use Microsoft's free Visual Studio Code editor.  After it's installed, get the Live web server extension (available inside the editor), then restart the Code editor. When the editor opens up, click Open File... then navigate to my gh-pages folder that you unzipped to your hard drive after the GitHub download.  Open up a random .html demo file (CornellBox.html for example) from the menu on the left side of your editor, and then right click on the code and click Open with Live server.  It will automatically open up your default browser and hopefully every demo should work.
The reason why my project works on GitHub is that if you offer up your project as an open source project, GitHub agrees to serve up your project for free.  So it's like getting free web hosting for your website (or my demos that are technically like little .html websites), as long as you keep the code visible to the public.  I have no problem doing this as I was offering code and finished games for free back in 1999 before open source was a 'thing'!  :-D

after selecting 'open w live server'
msg box
http://<IP_ADDRESS>:5500/arctic_circle.html
application not found

mmm that's odd, I've never received that message before.  Here's a screenshot of my editor.  Make sure you have the latest version of Live Server extension installed (5.6.1 is the current version at the moment).   It should appear in the list of extensions on left-hand side of editor.

here's one more screenshot showing the file view.  The editor needs to see the whole gh-pages folder at once, so you have to click Open Folder... (not File as you would normally do) and select the entire gh-pages folder that is unzipped on your hard drive.  Once you see that all the files show up in the file explorer column, then left click ArcticCircle.html for instance (like in my 1st screenshot), then right click and select open with Live Server.  On the bottom right corner, it should have the port number (5500 for instance) if the server started up successfully.

googled "Live Server" and "application not found"
comments mentioned that a browser window is opened.  I deleted IE and had never clicked "make default browser" in Firefox
everything's working now :D

@dafhi
Yay!  Glad everything is working now!  Yes it should work with any modern browser such as Chrome, Firefox and even Microsoft Edge (provided that you install the Edge Dev channel version that mirrors the WebGL 2.0 support of Chrome - my project demos all require WebGL 2.0 support).
Thanks!

excellent updates recently!  noticeably faster on my humble i4210u.  looking forward to more


Is it possible to start new searching experiments using same experiment ID or port as last one?

Hello,
I'm wondering if it's possible to start new searching experiments but use same experiment ID or port as last one, because I want to make all the experiments results in the same nni board for more convenient comparison.
A more concrete example is that the first experiment I specify
 "conv_size":{"_type":"choice","_value":[2,3,4]},
But experiments turns out that I may want to try another range
 "conv_size":{"_type":"choice","_value":[4,5,6]},
To start this second one, if I use
nnictl create ...
Then I'm forced to change the port which will make this experiment showing in a separate nni board. Is there a way to make them showing together in one nni board?

Hello @Guptajakala. Seems nni do not support running multiple experiments in one port at the same time.
But I think we could discuss your case with nni teams and try to find a solution. Thank you.

In this case, will the first experiment be stopped or not? Do you mean to combine/update search space so that they can be seen as a single experiment?

@ultmaster The first experiment either is stopped or not is fine. I'm mostly curious about the second part: to combine/update search space so that they can be seen as a single experiment.

Looks like what you need is to update the search space of a running experiment. This can be done with nnictl update:

@ultmaster This looks exactly what I want. Thanks!


Composer installation method is outdated

The available version of this skeleton on Packagist is the 1.2.1(18/07/2018) and it's not compatible with PHP 8.
Maybe it's a good idea to create a new release for keep the support of  composer create-project codelytv/php-bootstrap your-project-name method?
Thanks! <💚>

For me it's running with this:
composer create-project --ignore-platform-reqs  codelytv/php-bootstrap tdd

This should be working with the latest php version 🙌


Add Shift Codec

[x] Deduplicate Lisk/RISE Derivation
[x] Deduplicate Lisk/RISE Parse
[x] Deduplicate Lisk/RISE Serialization
[ ] Create Shift Codec
[ ] Create Shift Connection

Out of scope here. This can be implemented externally. In the meantime we removed the @iov/rise package and all Lisk-like logic is now in @iov/lisk.


AADSTS70020: The provided value for the input parameter 'device_code' is not valid.

I have followed all instructions to create indexers which gets data from a sharepoint document library to an azure cogntive search index. They work fine.
However after some minutes I get this error:
AADSTS70020: The provided value for the input parameter 'device_code' is not valid. This device code has expired. Trace ID: 07aad63e-3d9e-4c75-87e7-d17586061e00 Correlation ID: 258038b6-8db5-4336-839b-3350f4ee35c8 Timestamp: 2023-10-20 09:25:55Zourtenant.sharepoint.com,5d7a82c9-9edc-49fa-8caa-37a1c5974365,f1bf9d04-8d80-4899-966e-ab167a3f416a::b!yYJ6Xdye-kmMqjehxZdDZQSdv_GAjZlIlm6rFno_QWqKDpDWSDQRT4cs55jmHRe8::01M54HBRBS7OWVQ32G4FDLXYCQERAQE5LT
I know this is in the docs repo, not sure where to report this to the product group.

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

ID: 0b22c4bf-c908-0f27-a6aa-a82a44c39aca
Version Independent ID: 6c306b8f-90e4-1f76-3562-a6c3bced6133
Content: SharePoint indexer (preview) - Azure Cognitive Search
Content Source: articles/search/search-howto-index-sharepoint-online.md
Service: cognitive-search
GitHub Login: @gmndrg
Microsoft Alias: gimondra

@levalencia If it works and then you start getting that error, it means that your company has the user tokens to expire very quickly and most likely this setup won't work for you with user-assigned and perhaps you need to think of using application permissions. If you get that error right after you set the indexer, you need to go to the get status as per the documentation and enter the new code. If you need help with this, please log a case here: https://learn.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request. Thank you. Closing issue since not related to the documentation, like you've mentioned. Thanks!

#66404

#please-close


Downscaling of multiple deployments

There are cases where it would be nice to turn off multiple deployments/statefulsets based on traffic coming to a single service. For example, when we have a web application with a database behind it.
It would be possible to use the annotation on all services, but then each deployment would be upscaled sequentially, most likely resulting in a timeout.
A similar pattern is apparently used in OpenShift (https://github.com/openshift/service-idler).
What would you like to be added?
Update the service annotation so it can take references to multiple deployments.
Why is this needed?
Make it possible to scale to 0 more complex applications.

I can see the usefulness behind that, although I don't have the bandwidth to implement such a feature at the moment.
I'll leave some thoughts here in case anyone else wants to take it up:
We'd have to permit multiple values for the osiris.deislabs.io/deployment on service resources. Activations would have to involve waiting for all of the indicated deployments to scale up and reach a ready state before forwarding traffic. We'd need to be able to very clearly differentiate between the deployment that should have traffic directly forwarded by the activator upon activation and those deployments that are farther downstream and simply need to be ready in order for that request-forwarding to proceed. It's possible that we should maybe leave the osiris.deislabs.io/deployment annotation as is and use a new annotation for keeping track of these "downstream deployments."

My workaround for this challenge is:

Add simple http server pod to the other deployments/statefulsets and create service (A) for them

I'v used nginx docker image without changing config

Add another nginx reverse proxy container in front of main pod then mirror traffic to (A).
So, your sub deployments/statefulsets can scale to zero and up again with the main deployment.

I know it is rather hackish solution, but it works so far. I use it for development environments of PR branches. So I don't care much about....


Installation fails

The installation fails with the following error:
janwe@DESKTOP:~$ pip install git+https://github.com/m1guelpf/yt-whisper.git
Defaulting to user installation because normal site-packages is not writeable
Collecting git+https://github.com/m1guelpf/yt-whisper.git
  Cloning https://github.com/m1guelpf/yt-whisper.git to /tmp/pip-req-build-z4rcqme6
  Running command git clone --filter=blob:none --quiet https://github.com/m1guelpf/yt-whisper.git /tmp/pip-req-build-z4rcqme6
  Resolved https://github.com/m1guelpf/yt-whisper.git to commit 4e49b7851d8ee2f389f770b3e0967d4b1ac05a7d
  Preparing metadata (setup.py) ... done
Collecting whisper@ git+ssh://git@github.com/openai/whisper@main#egg=whisper
  Cloning<EMAIL_ADDRESS>(to revision main) to /tmp/pip-install-4woekdls/whisper_6de07a42a4564342bb35df700a95c428
  Running command git clone --filter=blob:none --quiet<EMAIL_ADDRESS>/tmp/pip-install-4woekdls/whisper_6de07a42a4564342bb35df700a95c428
The authenticity of host 'github.com (<IP_ADDRESS>)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
  Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
<EMAIL_ADDRESS>Permission denied (publickey).
  fatal: Konnte nicht vom Remote-Repository lesen.

  Bitte stellen Sie sicher, dass die korrekten Zugriffsberechtigungen bestehen
  und das Repository existiert.
  error: subprocess-exited-with-error

  × git clone --filter=blob:none --quiet<EMAIL_ADDRESS>/tmp/pip-install-4woekdls/whisper_6de07a42a4564342bb35df700a95c428 did not run successfully.
  │ exit code: 128
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× git clone --filter=blob:none --quiet<EMAIL_ADDRESS>/tmp/pip-install-4woekdls/whisper_6de07a42a4564342bb35df700a95c428 did not run successfully.
│ exit code: 128
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

The relevant part of the error above is this:

Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
<EMAIL_ADDRESS>Permission denied (publickey).

It sounds like you need to add your ssh key to Github. Try following these directions:
https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account
Good luck!

Fixed by #9


add support for vue libraries

Add support for vue libraries
TODO:

[x] Add tests
[x] Add documentation

Related Issue(s)
Closes #57

What's causing the warning or error in the screenshot below? Maybe it's due to the tmp directory. There's no build error.

What dark arts did you perform to bury root and sourceRoot at the bottom of the project configuration? I consider it a nit, but I'm not sure others will see it that way.


Spoof as early as possible during boot (when deamon starts up)

Does this app start spoofing my MAC address as soon as I restart my laptop? Or do I have to start the app first? (sorry didnt know where else to post questions)

Hi! This is the right place to ask the question :)
Have a look on this page. If you turn on the "Run in Background" option, a daemon with root privileges will be activated.
That daemon is designed to spoof your MAC address (according to your desired configuration)

when your network conditions change
when your computer goes to sleep or powers off
when the json config file changed
every 10 minutes (just in case)

Now, "network conditions changed", happens roughly when you come to your login screen after boot, so to answer your question, yes, it spoofs on boot.
But there is a slight chance that your real MAC address will be exposed for a second or so, before the spoofing takes effect. Just like plugging in a wifi-dongle will expose its MAC address for a short time.
However, after booting, your MAC address should remain spoofed at all times, given that the daemon is alive.
(To go sure, I should let the daemon always run once whenever it is activated, i.e. as early as possible on boot. I'll keep this issue open until that is solved. Just as a fallback security I guess. Can't hurt.)

Thank you very much for your work and maintenance on this app. I have it on my top 3 must-have Mac apps ever, since I left Windoze many moons ago.

I checked the code and it already does what we want. So I'm closing this issue.
By the way, there is a pre-release that you might want to try out:
https://github.com/halo/LinkLiar/releases/tag/3.0.0
Thank you for your patience.


fix: read nextjs context cookie in clientStorage

The nextjs package creates its own NhostClient with a custom clientStorage that reads cookies to check if there's an active user session. However, it doesn't read cookies from the nextjs context, meaning that it'll never find the nhostRefreshToken cookie when used inside getServerSideProps.
Fixes #886 and #930.

Thanks for this fix!


Allow more flexibility in keys

conform does not support keys which contain .
desired sys.config
[
{my_app, [{'Elixir.Bar', value}]}
]

Conform splits the to keypath on . which makes the above sys.config impossible.
keys can only be atoms
desired sys.config
[{other_app, [{<<"some.string">>, value}]}]

Conform expects each key component to be converted to an atom

Any updates on this? I am also running into this issue.

@yrashk Are you running into the string key issue specifically? If so, I'll probably work on adding support for quoted keys to the conf grammar.
@stocks29 What do you think about the above? So to use string-based keys, you'd do someapp."some arbitrary key" = foo?

I was running into the Camel.Case keys issue

@bitwalker I think that seems reasonable and straight-forward.

@stocks29 Could you test with master and let me know what issues, if any, you run in to? Quoted keys are now supported in the parser.

Here is part of my config that is causing issues:
 login_defaults: [
    {"/orange"<EMAIL_ADDRESS>    {"/orange/monitor"<EMAIL_ADDRESS>  ],
  phone_number_order: [
    {"Primary Phone", "1"},
    {"Secondary Phone", "2"},
  ]

I would even be happy if I could do the following in my schema:
myapp.settings.phone_number_order: [

default: [
{"Primary Phone", "1"},
{"Secondary Phone", "2"}
]

Dupe with #47 , or just major overlap ?

Lists with arbitrary subtypes are now working properly in master, please open a new issue if there are any problems.


XML Schema Definition lifecycle-callbacks marked as invalid

Bug Report
When using XML to define the entities some of the schema definition seems to be invalid despite orm:validate-schema runs green and creating/updating schema is also working.
Current behavior
<lifecycle-callbacks> marked with following error:
Invalid content was found starting with element 'lifecycle-callbacks'.
One of '{
  "http://doctrine-project.org/schemas/orm/doctrine-mapping":field,
  "http://doctrine-project.org/schemas/orm/doctrine-mapping":embedded,
  "http://doctrine-project.org/schemas/orm/doctrine-mapping":one-to-one,
  "http://doctrine-project.org/schemas/orm/doctrine-mapping":one-to-many,
  "http://doctrine-project.org/schemas/orm/doctrine-mapping":many-to-one,
  "http://doctrine-project.org/schemas/orm/doctrine-mapping":many-to-many,
  "http://doctrine-project.org/schemas/orm/doctrine-mapping":association-overrides,
  "http://doctrine-project.org/schemas/orm/doctrine-mapping":attribute-overrides,
  WC[##other:"http://doctrine-project.org/schemas/orm/doctrine-mapping"]}' is expected.

How to reproduce
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
                    http://raw.github.com/doctrine/doctrine2/master/doctrine-mapping.xsd">

  <entity name="User" table="users">
   <!-- ... -->
    <lifecycle-callbacks>
            <lifecycle-callback type="preUpdate" method="onPreUpdate"/>
            <lifecycle-callback type="prePersist" method="onPrePersist" />
        </lifecycle-callbacks>
  </entity>

</doctrine-mapping>

Expected behavior
Markup should be valid.

orm:validate-schema acts on the final metadata, after metadata has been loaded, so it only looks for things like duplicate definitions, or missing association mappings.
As for the bug you reported: https://github.com/doctrine/doctrine2/blob/v2.6.2/doctrine-mapping.xsd#L177
I suggest you point the XSD at vendor (local path) instead of the raw.github.com URI, since master is not stable.


disableAutoPan not working

Although I set disableAutoPan to true, the map scrolls to contain the InfoWindow.
plnkr

Opened https://github.com/SebastianM/angular-google-maps/pull/1127 with a fix.

Fixed with #1127


Grouping events at the same time [enhancement]

Currently when having multiple events at the same time the space for one event is very limited and it looks like this:

It would be great if there was an option to group events that overlap, to have more space for displaying the event information. Just like apple does it in their native calendar app:

Actually, I am currently dealing with those overlap events, because there are some issues in current implementation.
For dealing with conflict events, Outlook and Google Calendar are doing the same way as I did in this project. However, only Outlook can handle those extremely complicated cases. For Apple's solution, to be honest, I don't like it.
For your suggestion, it is good. I may try to implement it but I don't think I can finish it in the near future. Sorry about that.


installer does not inform about permission errors

when installing I get these options:
[1] /Users/manderse/Library/Jupyter/kernels
[2] /usr/local/share/jupyter/kernels
[3] /usr/share/jupyter/kernels

if I pick 3 it goes ahead and setup:
Installation path: /usr/share/jupyter/kernels
Kernel dir: rapaio-jupyter-kernel
kernel.json:
{
  "argv": [
    "java",
    "--enable-preview",
    "-jar",
    "/usr/share/jupyter/kernels/rapaio-jupyter-kernel/rapaio-jupyter-kernel-1.0.1.jar",
    "{connection_file}"
  ],
  "display_name": "Rapaio Kernel",
  "language": "java",
  "interrupt_mode": "message",
  "env": {
    "RJK_COMPILER_OPTIONS": "",
    "RJK_INIT_SCRIPT": "",
    "RJK_TIMEOUT_MILLIS": "-1"
  }
}

but that file does not exist as user does not have permission to write to that directory.
the installer does not complain at all about it. it should :)

I have tested the same scenario, but I receive a different message.
I have selected also [3] and it displays a similar message like in your case:
Installation path: /usr/share/jupyter/kernels
Kernel dir: rapaio-jupyter-kernel
kernel.json:
{
  "argv": [
    "java",
    "--enable-preview",
    "-jar",
    "/usr/share/jupyter/kernels/rapaio-jupyter-kernel/rapaio-jupyter-kernel.jar",
    "{connection_file}"
  ],
  "display_name": "Rapaio Kernel",
  "language": "java",
  "interrupt_mode": "message",
  "env": {
    "RJK_COMPILER_OPTIONS": "",
    "RJK_INIT_SCRIPT": "",
    "RJK_TIMEOUT_MILLIS": "-1"
  }
}

The intention is to show the user what the installer will do: where it will be installed, which will be the kernel directory and which will be the content of kernel.json. It does nothing yet. The next displayed text is:
Installer is ready. Do you want to continue [Y/N] ?

If the answer is not capital Y then the installer will quit. (I will improve this behavior in order to tell the user that
the installation was canceled due to not receiving capital Y. Right now it quits quietly, which is a customer bad experience.)
In my case if I continue with capital Y I receive:
Could not create installation directory.

Again, this message looks incomplete, I will improve it with another one like: "Could not create installation directory. Check if it is a valid path or there are enough permissions."
That being said, is there a possibility to push another key other than capital Y? If this is not the case, can you provide me with other details, like do you use a SecurityManager? I know that security manager was deprecated in Java 17 and it will be removed, but I can invest in that if is needed.


[Linux] Stuck at Confirm PIN code

Issue description
During initial setup, Firefly does nothing when I click on the Confirm PIN code button.
Wallet version

desktop-0.3.1

System specification
What is your operating system?
Manjaro 21.0.1 (Kernel: Linux 5.10.26-1-MANJARO)
Is it a repeatable issue?
Yes.
Steps To reproduce the issue
Explain how the maintainer can reproduce the issue.

Go through initial setup on Manjaro
Try to confirm your PIN code as part of the initial setup

Expected behaviour
The software continues with the initial setup after pressing Confirm PIN code.
Actual behaviour
Nothing happens, the button press is visible as the background color of the button element changes, however the software doesn't seem to respond.
Errors
The error log is empty.
Additional Notes
It might be worth noting that Firefly does save the theme preference between attempts to go through the initial setup.

I just ran Firefly via the terminal and it gave me a slightly more useful error message that appeard every time I would click the Confirm PIN code button:
Error occurred in handler for 'keychain-set': [Error: The name org.freedesktop.secrets was not provided by any .service files]

Hope this helps!

Turns out this can be fixed simply by installing a PGP keyring that supports the Free Desktop Secret Service standard and provides an org.freedesktop.secrets service. I see one issue that caused this issue, however, that I would like to at least mention as it led me to creating this issue:
CLI logs should be accessible somewhere to make debugging easier from a tester's perspective, or the error log should be able to catch those errors as well.

sudo apt install gnome-keyring fixed it for me on KDE (KDE Wallet is not using the service)


Distributed mode question/concern

How does the master deal with nodes coming online and offline. I see the slave count never decreases. Is there any slave node lifecycle type of methodology used to handle that?

It looks like a few events trigger Locust cleaning this up:
https://github.com/locustio/locust/blob/master/locust/runners.py#L341-L344
https://github.com/locustio/locust/blob/master/locust/runners.py#L326-L330
But, as far as I can tell if a slave just vanishes locust will just stop listening to events from it.


Added simple-log, hformat, text-region, hsdev

Subj

Looks like there's a restrictive upper bound on ghc-mod

@snoyberg , there's ghc-mod (>=<IP_ADDRESS> && <<IP_ADDRESS>) on latest hsdev version (<IP_ADDRESS>) and ghc-mod latest version is <IP_ADDRESS>

There can be a delay of up to an hour before new versions of a package appear to our build server.

Ok, thanks

@mvoidex We got issues for both the hsdev test-suite and haddocks. Haddocks looks like something might be wrong in our package db. Test suite failure is the following, should we add it to expected failures or do you want to fix it?
> /tmp/stackage-build8/hsdev-<IP_ADDRESS>$ dist/build/test/test

scan project
  should scan project FAILED [1]

Failures:

  tests/Test.hs:29:
  1) scan project should scan project
       uncaught exception: IOException of type NoSuchThing (tests\test-package: canonicalizePath: does not exist (No such file or directory))

Randomized with seed<PHONE_NUMBER>

Finished in 0.0006 seconds

@bergmark

should we add it to expected failures

Yes, test is incorrect. I won't fix it in this version

Ok, thanks for letting me know. Please open a pull request if you wish to re-enable it later.

Sure


Test if iframes will work on the /events page

To support embedding a public Google Calendar we'll need to see if we can embed an iframe.

The contact page has an iframe so they should work. if you give me an iframe i can try

We have an empty public calendar. Here is the embed code:


Docs link to Advertize.java is broken

On the docs page https://docs.modcluster.io/#_it_is_not_working_what_should_i_do
Check that Advertise message are received on the cluster node. A small
 Java utility could be used to check Advertise. It is in the
mod_cluster repository and can be compiled using javac. The
output should be something like:

The text small Java utility links to https://github.com/modcluster/mod_cluster/blob/master/test/java/Advertize.java which is 404.

Did Advertize.java move? I cannot find it.
Was it replaced by a new test fixture?

The doc needs to be updated to reflect these changes.

@dcfsc   This is the utility:
https://github.com/modcluster/mod_proxy_cluster/blob/master/test/java/Advertize.java

I can fix the docs on Monday unless a PR is open by then.

@rhusar Added PR. Thanks for locating issue.

merged.


Improved lighting performace by using StaticMeshComponent rather than ProceduralMeshComponent

Draw performance with dynamic lighting was very slow when using ProceduralMeshComponent
By using StaticMesh component, we give users far more flexiblity in how they want to render their scenes.
Static meshes can use:

Cached dynamic lighting,
Instancing (requires further implementation)
Baked global illumiation (requires non overlapping UV-coordintes)

Still to do:

[X] Switching from editor to playmode causes access violation
[ ] Issue where upon reloading the level with static meshes, materials get deleted and so fail to get loaded.
[X] Option to build with simple collisions

Resolves #18 and #22 .

I've decided to merge this PR with the open issue https://github.com/specklesystems/speckle-unreal/issues/29
As it's still very usable in it's current form.


[TECH] Update Jest to v29

Information

Type
Breaking change

Chore
No

Upgrade jest to v29
How to upgrade
To perform this migration, i followed this documentation : https://jestjs.io/docs/upgrading-to-jest29
Highlights
I Chose to use the same snapshot configuration as in version 28, not to regenerate all the snapshots. But it could be done if needed.
If we want to conform to the version 29 snapshot format, we have to delete the configuration in the jest config file :
  snapshotFormat: {
    escapeString: true,
    printBasicPrototype: true
  }

then, update all the snapshots running a command like : yarn test -- --updateSnapshot in the project root.
To keep consistent, 2 other libraries have been upgraded :

ts-jest : the previous version used (28.0.5) was not tested with jest v29, we had to upgrade to v29.0.3
@types/jest : to keep consistent towards jest version, we upgraded the types.

To do

[x] upgrade jest from 28.1.1 to 29.2.0
[x] upgrade ts-jest from 28.0.5 to 29.0.3
[x] upgrade @types/jest from 27.4.1 to 29.1.2

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

v7.2.0
GitHub release

Your semantic-release bot :package::rocket:


Consider changing when implementations are expected to follow the spec.

MSC #3589 generated some discussion about spec stabilisation.
Currently, per @turt2live;

Implementations are generally expected to implement [MSCs which passed FCP] before it is released in the spec, and indeed before we even specify it formally.

There are 4 steps a MSC goes through through its lifetime;

MSC in-proposal, this is often called "unstable"
MSC post-FCP, this is called "stable"
Spec PR passed, i'll call this "formal"
New matrix version released with MSC-specified feature/change, i'll call this "released"

Currently, community matrix projects are expected to have implemented the spec whenever it's marked "stable". However, as i note in a comment on above MSC, this is non-ideal, and puts a lot of pressure on community projects to scour and search MSC texts, unstable reference implementations, and author reasoning to piece together a "it must work this way" idea.
It is then expected that all implementations have either a. followed the tides and turns of the MSC, and already have a half-ready implementation to convert, or b. somehow have the energy and will to scramble together an implementation based off of the text of the MSC.
The hazard with the latter one is that this will make implementations often miss out on gotchas that the original MSC authors, SCT, and spec scribes know amongst themselves from resolving threads, but which the community must then discover for themselves.
Another problem with saying "it is done, it is stable" upon FCP, is that it burdens community projects with heavy social expectations of "oh you're not implementing X yet?", this gives heavy leeway to projects that the original authors came from, or the projects which can afford implementing these features in "double-time".
The whole idea of the matrix implementation is that there is a formal, single, spec. So i'm requesting here that the burden on community implementations to definitively implement something is shifted to after a spec PR has been passed and formalised, when the spec is "formal".
This would make the community feedback much more clear, and allows the period between stabilisation and formalisation to be a grace period for wide-spread implementation.

Another problem with saying "it is done, it is stable" upon FCP, is that it burdens community projects with heavy social expectations of "oh you're not implementing X yet?", this gives heavy leeway to projects that the original authors came from, or the projects which can afford implementing these features in "double-time".

I would also like to mention that, due to the (unfortunate) arrangement of the spec today, with most resources and time being donated from Element/New Vector for authoring MSCs, and the close working relationship of the SCT and Element developers, that this gives Element an unhealthy/unfair advantage over other implementations, both socially and "economically" (for developers giving resources to implement this in X time).

Another data point; Ruma currently does not wish to implement room v9, or any other MSC, until it has been formalised. This largely contributed to the discussion in #3589.

To address the unhealthy Element relationship comment: The SCT is required to act in favour of Matrix, not Element or any other player. Now, Element does have the budget and resources to make a lot of features happen, but it's also worth noting that Element has its own priorities outside of Matrix which is exactly why it doesn't get privileged, even by employees.
As a concrete example: The Element clients don't have knocking or refresh tokens yet, despite both being worked on extensively by Element the company. Element is able to publish a large volume of MSCs, but that still doesn't give them preferential treatment - typically though, the MSCs align with the Matrix mission and get reviewed as such.
It's also strongly in Element's interest that Matrix progress on its own accord, which extends into resourcing and time commitments for the SCT members. While employed by Element, it's still important that SCT members operate their volunteer hat when needed and that Element carve time out for the employed SCT members. The balance of how much time the SCT is constantly being adjusted and analyzed, and in the new year we expect to dedicate about 4x more time (on average) towards the spec. Individual members have different ratios because not everyone fits into a generalized statement :)

Implementations are generally expected to implement [MSCs which passed FCP] before it is released in the spec, and indeed before we even specify it formally.

It seems like we need to clarify this more generally; it is not consistent with my understanding, which is: implementations can implement MSCs which have passed FCP (on the grounds that the only thing stopping them being in the formal spec is the time to write a PR), but are under no obligation to.
Indeed, I don't think we've ever formally specified a timeframe in which implementations are expected to implement a new feature in the spec.

Alright, in that case i'll rephrase my request; to have that expectation be only after formalisation (after spec PR passes)


Problems compiling and running the MessageComposerView

Hi,
I am trying to integrate MessageComposerView in swift project using swift bridging header.
I had some compilation and some runtime issues.

Compilation:
line 163: messageTextViewFrame.size.height = messageTextViewFrame.size.height - _composerBackgroundInsets.top; - _composerBackgroundInsets.bottom;
Minus after semicolon makes compiler warning - not sure if semicolon should be removed or the rest of the line should be commented
[NSString isEmpty:textView.text] in couple of places in code generates error: isEmpty is an unknown method. I replaced it meanwhile with [textView.text length] == 0

Runtime:
When I get to the ViewController integrated with MessageComposerView I just don't see anything.
This is the code in ViewController
class Reply2ViewController: UIViewController, MessageComposerViewDelegate {
var composer: MessageComposerView!;

override func viewDidLoad() {
    super.viewDidLoad()

    //composer = MessageComposerView(keyboardOffset: 0, andMaxHeight: 200.0);
    composer = MessageComposerView();
    composer.delegate = self;

    self.view.addSubview(composer);
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

func messageComposerSendMessageClickedWithMessage(message: String!) {
}

}
I instantiate it with the following code:
contentViewControllers[TiktekStateType.REPLY] = Reply2ViewController(nibName: "Reply2ViewController", bundle: nil);
The xib file contains nothing on this stage.
The view controller is displayed in a situation when user wants to reply to a message.
I would be very  grateful for any tip on what I possibly did wrong.
Thank you,
Igor Goldberg

Hi Igor,
First of all thanks for pointing out the compilation errors. XCode ignored that semi-colon, and I let my integration perhaps get a little too close to my test project. Those should be fixed now.
As for why the composer isn't appearing, have you tried adding the following     self.edgesForExtendedLayout = UIRectEdgeNone; to your viewDidLoad implementation? It would also be helpful to know which device + OS version you're testing this against and whether or not your navigation bar is translucent.
Thanks!

It also might be helpful to try using the "Debug View Hierarchy" if you're using XCode. It might show where the MessageComposerView has gone if it has been moved offscreen.

Thank you for your prompt response.
I am running in iPhone6 emulator with iOS 8.2.
self.edgesForExtendedLayout = UIRectEdgeNone; did not have effect.
I did not use standard navigation bar and toolbar, instead there are some custom controls performing these functions (thats because I am porting an android application to iOS and trying to keep Java and Swift application organised in similar way, including navigation mechanism that manually loads and switches ViewControllers).
Also thank you the "Debug View Hierarchy" tip - I was not aware that it exists, and found it very helpful. It turned out that MessageComposer is located under the bottom of the screen. I attach the screenshot of view hierarchy.
Can I modify my code to set the offset of MessageComposer from screen bottom manually?

self.edgesForExtendedLayout = UIRectEdgeNone; did nothing likely because of the custom porting you're doing. MessageComposerView depends on standard iOS navigation bar and view layout.
If you're interested in making it work for your custom implementation you'll have to tweak the currentScreenSizeInInterfaceOrientation: method within the MessageComposerView lib. This function is used to determine the Y position (based on screen height) and width (based on screen width).
Let me know if that helps!
P.S. if it's not too late I would highly advise against this path you're heading down. You'll likely spend more time wrangling with infuriating compatibility issues than you would if you were just to build the application using standard libs instead.

Thank you very much for this explanation. I see that I have some homework to do with the application design in general. I will also try to play with currentScreenSizeInInterfaceOrientation implementation.


feat: add a --nat flag to reth node

Fixes: #854
Draft

Regarding reusing enum NatResover, I made it pub(crate).  It raised a privateType error so probably not best way to do that.
For the nat resolution method, I passed it as a parameter to the function below but it breaks the function in other areas.
https://github.com/paradigmxyz/reth/blob/e3dbaf686e7aada22e1a91a02678971a2876b55b/bin/reth/src/node/mod.rs#L122-L125

I linked a new pr, so I'm closing this.


Improve building the Stark JavaScript Library

Right now the stark-lib.js exposed to the public API in JavaScript is written in ES5, and concatenated and minified using uglify-js. If or when JavaScriptCore supports ES6, I'd like to refactor this source to use ES6.
Unfortunately uglify-js doesn't support ES6 concatenation and minification, so I need to look for a simple solution to this.

Still using ES5 for now, able to lint using eslint.


Project Planning and Roadmap building

Project planning involves defining project goals, outlining tasks, estimating resources, and setting timelines. Roadmap building integrates these plans into a strategic timeline, outlining milestones and dependencies to achieve project objectives efficiently.

Resolved as per agreed specifications and tested successfully


logosDistort.coffee file is incompatible with version 1.9.0 of coffee script

This should be fixed, but is a bit of a headache. This is only a problem for people wanting to compile their own plugin from coffee script code.
As a side note, my PHP storm is doing weird things with indents and inserting spaces/new lines where they shouldn't be.

solved by PR #12


test: apply some fix-its to DebugInfo tests

What's in this pull request?

Resolved bug number: (SR-)

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    OS X platform               | @swift-ci Please test OS X platform
    Linux platform              | @swift-ci Please test Linux platform

Note: Only members of the Apple organization can trigger swift-ci.

These tests were causing the current swift compiler to emit fix-it hints for
changes since the tests were written.  NFC.

CC @rudkx

@swift-ci test

CC @adrian-prantl, who is the best person to review these particular changes.

The tests do not pass on either Linux or OS X.

I was able to reproduce the failures with a clean build.  shrug.  Sorry about that.  Updated the patches.  Seems that one of the changes actually changes semantics :-( (and Ive removed that from the change).  The rest still clean up the fix it hints, and adjust the checks for the modified LLVM IR output.

LGTM. Thanks!
@swift-ci test


refactor(scan): reduce code usage

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (b37e68c) 99.26% compared to head (80ba8bb) 99.26%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #46   +/-   ##
=======================================
  Coverage   99.26%   99.26%
=======================================
  Files          54       54
  Lines        5572     5597   +25
=======================================
+ Hits         5531     5556   +25
  Misses         41       41

Files Changed
Coverage Δ

include/emio/detail/args.hpp
100.00% <100.00%> (ø)

include/emio/detail/scan/args.hpp
100.00% <100.00%> (ø)

test/unit_test/test_scan.cpp
100.00% <100.00%> (ø)

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


lookup_type not respecting list or tuple

Hi there,
Firstly thanks for your work on this project. Neat addition to rest_framework.
A small problem Im running into is:
https://django-filter.readthedocs.org/en/latest/ref/filters.html#lookup_type
"If a list or tuple is provided, then the user can select from those options."
When providing a list or tuple:
email = django_filters.CharFilter(lookup_type=('startswith', 'icontains'))

you end up with a:
IndexError: list index out of range

Is this issue fixed? I am using django-filter-0.9.2 and I still see that passing list or tuple to lookup_type does not work.

same here - passing list or tuple does not work

If you can provide a falling test-case showing your problem that would help.


Feature/1 5 7 alignment

@MelamudMichael - Now that #21 is merged, I made an attempt at rebasing this PR onto main. By comparing the two PRs, the interactive rebase commit list I came up with was:
pick 2b4f1d0 fixing tests compilation
pick 0ead633 fixing tests
pick 7afa00c adding mutex
pick ad9646e cleanup
pick c8700dc fixing unit tests
pick d9eae0d compilation fix
pick 2c032f5 adding latency test
pick 8b3b7e6 code cleanup
pick 031cb70 adding bost and cleaning the latency test
pick 012dc30 resolving code review comments

For each commit with conflicts, I looked at the original commit to see what changes were intended, then attempted to apply only those changes to the resolution. This resulted in eight commits with a small set of changes.
If you agree that looks like the right list of commits and changes, you can update this PR by running these commands:
git switch feature/1_5_7_alignment
git branch backup/feature/1_5_7_alignment
git remote add greg git@github.com:gregmedd/up-client-zenoh-cpp.git
git fetch greg
git checkout greg/feature/1.5.7/pull-22-rebase
git branch -D feature/1_5_7_alignment
git switch -c feature/1_5_7_alignment
# OPTIONAL: fetch main from eclipse-uprotocol/up-client-zenoh-cpp and use
# something like "git rebase -i eclipse/main" to squash and reword the commits.
git push -f -u origin feature/1_5_7_alignment
git remote remove greg

(note: Assumes origin upstream is your fork of this repo, and that you do not already have my fork as a remote. Modify as needed.)


[Bug]: Fix attribute for LithiumIonParameters

liionpack Version
0.3.2
Python Version
3.9.12
Describe the bug
I am running Liionpack v0.3.2 on macOS. I get the attribute error shown below for the following example files:

basic_16p2s.py
different_initial_soc.py
draw_circuit.py
drive_cycle.py
drive_cycle_comparison.py
mixed_terminals.py
paper_example.py
save_output.py

File "/Users/g72/Desktop/ORNL/MegaPack/liionpack/liionpack/sim_utils.py", line 88, in update_init_conc
    x, y = lp.get_initial_stoichiometries(SoC, param)
File "/Users/g72/Desktop/ORNL/MegaPack/liionpack/liionpack/sim_utils.py", line 37, in get_initial_stoichiometries
    C_n = parameter_values.evaluate(param.n.cap_init)
AttributeError: 'LithiumIonParameters' object has no attribute 'n'

Steps to Reproduce
Run the example files in the liionpack/examples directory.
Expected behaviour
Examples should run without errors.
Relevant log output
Error text shown in bug description given previously.

Additional context
This may be related to the breaking changes in PyBaMM v22.2 which changed parameter names. But it looks like liionpack updated the parameter attributes related to this change. So I'm not sure what is causing the error.

Yeah I got it fixed. When I updated liionpack it did not update PyBaMM. Which brings me to another problem that I will submit in a separate issue.


Add installation of pre-commit to Makefile

pre-commit is required for running certain tests by the Makefile.
Adding pre-commit to install.tools allows users to easily use
and test podman.
Signed-off-by: Daniel J Walsh<EMAIL_ADDRESS>

Fixes: https://github.com/containers/libpod/issues/5081

@baude @mheon @vrothberg @giuseppe @TomSweeneyRedHat @edsantiago PTAL

Oh dear. That CI failure does not look easily solved.

@cevich How do I get python-pip installed into the Cirrus VMs?

In Chris's absence, I'll chime in but possibly unhelpfully: instead of jumping through these hoops, would it make sense instead to leave .install.pre-commit out of .install.tools, and just change the lint error message to tell users to run that target?

Looks like a flake
/retest

 error: could not run steps: step centos-install failed: could not wait for build: the build centos-install failed after 4m27s with reason PushImageToRegistryFailed: Failed to push the image to the registry.
Registry server Address:
Registry server User Name: serviceaccount
Registry server Email<EMAIL_ADDRESS>Registry server Password: <<non-empty>>
error: build error: Failed to push image: blob upload unknown

Still looks like a flake
/retest

/retest

@mheon @baude @vrothberg @giuseppe @QiWang19 @jwhonce @TomSweeneyRedHat Can we get this one in please. Ready to merge.

In Chris's absence, I'll chime in but possibly unhelpfully: instead of jumping through these hoops, would

Thanks @edsantiago ya, I'm nervous of using pip in CI, since it bypasses the native package system.  Unless it's run inside a python virtualenv, using pip system-wide is a "no-no" in my book.  It can really confuse all questions of "which code am I running"?


Add ghidra-sre.org to HSTS preload list

Please add Ghidra website to HSTS preload list (https://hstspreload.org/).

Any update?

This kind of thing is not really considered a Ghidra issue or enhancement...this GitHub project is for the tool itself.  I understand why you created the ticket here though (where else would you have?)
If you provide more information on why you feel like this change is necessary, we can perhaps pass it along to the website people.

Information on HSTS: https://https.cio.gov/hsts/
If I remember correctly, that's currently a requirement for United States government websites.
I have already created a HTTPS Everywhere rule for Ghidra website (https://github.com/EFForg/https-everywhere/blob/master/src/chrome/content/rules/Ghidra-SRE.org.xml), but it only affects HTTPS Everywhere extension users. On the other hand, HSTS is supported by vast majority of browsers.

Thanks for the extra info.  I'll pass the request along and let you know what happens.  It might be a slow moving process though.

@ryanmkurtz can there be another repo for the website (or alternatively a website in a subdir of this repo and a label for website-related issues)?

The website is a pretty simple thing that is really just intended to give the public access to our latest Ghidra release, and provide links to things like our GitHub.  At this point, it is the way we want it so I don't anticipate the need for users to report enhancement requests to it.
The server that runs the website (which is what I think you are more interested in) is a black box to us...it's not run by the Ghidra developers or anyone you will find on GitHub.  All we can really do there is forward worthwhile suggestions (like what you brought up in this issue) on to them, but it is up to them to decide if they want to implement it.  I'm sure they have policies of their own that guide how they do things.

@pipboy96 Indeed, except of that, there is nothing that needs to be changed.
Apparently, doing this is more involved since the website uses S3/CloudFront: https://aws.amazon.com/blogs/networking-and-content-delivery/adding-http-security-headers-using-lambdaedge-and-amazon-cloudfront/

I'm going to go ahead and close this because pursuing this any further is outside of our team's scope.  We did reach out to the people who run the website and they confirmed what you said in your last post.


Resolve race condition in redis driven session key get_lock

This PR tries to provide a better design of session key get_lock design, mentioned in #5382 and by @sskaje .
The previous design may fail when multiple threads are trying the access the same session at nearly the same time. Most of the threads will be killed.
Although this behavior may be corrected by adding checks in custom CI controllers or custom CI libraries, in my understanding session operations in CI controllers should never fail because of one issue come from the driver. In other words, race conditions should be handled in the driver.
BTW, I have completely read that issue and related discussions. As for >300s / no-TTL problem, every lock is going to have TTL, except someone tries to operate sessions by himself, not by the driver IMO.
If this does happen, then he totally deserves the long time waiting for the lock releases.

As I just said in #5382, I can't rely on anything in that thread anymore. If you want me to merge this, you'll have to completely detatch yourself from that issue and explain the problem and solution completely from the start here, and unfortunately I'll have to question every argument again, even if I already did previously.

You're right about that thread. Much thanks for your time on that mess.
Now I will try to make this PR clear.
The problem happens when clients make multiple AJAX requests. When multiple threads are accessing the same session at nearly the same time, only ONE of them will get the session_lock. Others will be killed.
This is because, according to the code in Session_redis_driver.php at line 386~394:
$result = ($ttl === -2)
	? $this->_redis->set($lock_key, time(), array('nx', 'ex' => 300))
	: $this->_redis->setex($lock_key, 300, time());
if ( ! $result)
{
	log_message('error', 'Session: Error while trying to obtain lock for '.$this->_key_prefix.$session_id);
	return FALSE;
}

When multiple threads come here, only one of them will successfully execute setnx. Others then will be terminated.
The point is, every session request should not get an immediate failure when attempts to get the lock, but wait for the lock releases. So, instead of return FALSE, let's just make this request wait for a short while and have a try again.

OK, that makes sense. However, isn't the concurrency problem only triggered by set() (when $ttl is -2)? Why should we still retry if setex() fails?
In addition, you sleep for 0.1 seconds (and each attempt is still counted as a full one up to the max of 30), while other wait-to-release-lock scenarios sleep for a full second.

@narfbg Updated according to your suggestions 😉

In addition, you sleep for 0.1 seconds (and each attempt is still counted as a full one up to the max of 30), while other wait-to-release-lock scenarios sleep for a full second.

Initially I sleep for only 0.1s just because it will retry more quickly then shorten the overall response time when handling multiple AJAX requests. On my test case, sleeping for 0.1s will be nearly 50% faster when executing ab -n 1000 -c 20.
But I just realize that this sleep-period configuration may vary due to different workload. Maybe sleeping 1s is more "common" :-)

@narfbg Corrected. That is surely my mistake.

It seems that travis-ci has reported a failure which is not truly related to my commit. Wonder how to fix it...

Yes, Travis sometimes errors with silly stuff like failures to download Composer or something ... I restarted that particular job to fix it, but in general you don't need to worry about that.
Thanks for solving what has been a nightmare of a problem for so long!