Lidar bug fix + other minor changes

Feature or improvement description

Bug fixes:

The RotorApexOffsetPos input in the InflowWind input file was reading only the first (x) component of the 3-dimensional array, so the other two were likely uninitialized when used in the Lidar module. This change also required an update to one of the r-test InflowWind input files that didn't have all 3 values.
The Visual Studio build was not able to create ServoDyn_Types.f90. This has been fixed.

Other updates:

I updated some spacing and comments in the code.
I reorganized small bits of code for better compatibility with Envision code base.
I removed unused variables.
I fixed some issues with single-/double-precision types in some of the new HydroDyn code.
I removed some redundant error handling (e.g., errors in reading the Lidar input parameters from IfW would result in 2 messages instead of 1).
I reorganized a bit of the FAST Visual Studio project, creating folders for CompAero modules, CompInflow, and CompSub modules.

Related issue, if one exists
https://github.com/OpenFAST/openfast/issues/2413
Impacted areas of the software
InflowWind, Lidar, HydroDyn, MAP++, glue code, NWTC_Library, ServoDyn
Additional supporting information

Test results, if applicable
This doesn't affect any results.

The change to that interface should be only (1) removing the definition of SensorType _None for the lidar and (2) modifying the FAST_ExternInitType data structure to remove the lidar variables. I'd be surprised if any of the other interfaces to OpenFAST (other than the Simulink one) would be affected. But, I guess we'll find out. :)

That's what I was wondering about; does someone link it to SimuLink and I'm not aware of it.  If we get a complaint about that, we can add it back in then (and maybe fix a few things at that point).

That's what I was wondering about; does someone link it to SimuLink and I'm not aware of it. If we get a complaint about that, we can add it back in then (and maybe fix a few things at that point).

Well, even if they were linking to Simulink another way, I didn't actually change any functionality that's been there since #1464 was merged in April 2023. The code was not doing anything with those variables that used to get passed from Simulink. They are read from the InflowWind input file. You can still pass them in that Simulink interface, they just get ignored earlier than they used to.

Thanks for the clarification!  Given that the variables weren't getting passed all the way, this change shouldn't affect anyone.


Update about-kusto-ingest.md

@samlevy-microsoft : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Lra 115 process to √ for record being incomplete complete

Add to models a before_save method to check for complete/incomplete records

Also fixed errors in sensitive_data_systems_controller in create and update methods


[Cheatsheets] Option to favourite cheatsheets

Extension
https://www.raycast.com/destiner/cheatsheets
Description
I'd love to be able to favourite cheatsheets and have those stick to the top of the list.
Who will benefit from this feature?
No response
Anything else?
No response

@bellebethcooper - do you want to also influence search results (favorites appear at the top of matching searches) or just at the empty state?

@jdoconnor I think you could argue convincingly either way. I would probably only have favourites appear at the top of the empty state, personally.


Post release automated changes for selfhelp releases

Post release automated changes for azure-arm-selfhelp

API change check
APIView has identified API level changes in this PR and created following API reviews.
@azure/arm-selfhelp


policy: Track source policy rules in MapStateEntry

This commit allows us to track the policies for which a certain policy
map entry has been created.
It is implemented by copying over the DerivedFromRules from the
merged ingress/egress filters to the user-space representation of
the policy map state. Default entries such as AllowAnyIngress,
AllowAnyEgress and AllowLocalHostIngress are annotated with
artificial labels (of label source reserved).
The entries are copied over into realizedPolicy of each endpoint when
the policy maps are synced. This enables us to expose this information
in the newly introduced GetRealizedPolicyRuleLabelsForKey getter.
Signed-off-by: Sebastian Wicki<EMAIL_ADDRESS>

test-me-please

@gandro it seems to be a real failure
# github.com/cilium/cilium/pkg/policy
vet: pkg/policy/distillery_test.go:249:20: undeclared name: NoRedirectEntry
make[1]: *** [govet] Error 2
make[1]: Leaving directory `/home/travis/gopath/src/github.com/cilium/cilium'
make: *** [unit-tests] Error 2

Thanks for the reviews! Testing revealed that this version is incomplete, will re-open another PR once this is ready.


Add support for ignoreCase attribute for StringLiterals

This PR is related to https://github.com/lys-lang/node-ebnf/issues/17 + https://github.com/lys-lang/node-ebnf/issues/20.  It adds support for an ignoreCase=true attribute for StringLiterals.
Keyword ::= 'And' | 'Or'
generates the following regexps:
\A\, \n\, \d\  and \O\, \r\
Keyword ::= 'And' | 'Or' {ignoreCase=true}
generates the following regexps:
\[Aa]\, \[Nn]\, \[Dd]\  and \[Oo]\, \[Rr]\

Thanks!

Awesome. Will this be<EMAIL_ADDRESS>

<EMAIL_ADDRESS>


[BUG] Arrow keys stop working after a few seconds

Describe the bug
Right/Left arrow key should turn the page, but after a few seconds it stops working. It no longer turns the page no matter how many times I press it.  After I click the page, it again works for a few seconds.  in my opinion, this is a core functionality that should work flawlessly.
To Reproduce

In the web, open any book.
Keep hitting the right arrow to turn the page
in 4-5 seconds, it'll stop working. Sometimes it takes 8-9 seconds as well.

Expected behavior
The page should keep turning with just right/left arrows. I should not be needed to use mouse click
Screenshots
I don't think this would help.
Desktop (please complete the following information):

OS: macOS
Browser: Edge, Chrome

I just reproduced on my own instance. It seems to be connected to a chapter load, e.g. the arrow keys work consistently until the chapter changes. Once the chapter changes, I have to click back into the iframe in order for the events to be picked up. This is particularly irritating in the beginning of a book, since a 'chapter' could be 1-2 pages 😅
I'll definitely try to look into this over the weekend since I agree that arrow navigation is pretty important for any reader, however I am a bit pessimistic in finding a good solution. This is mostly because working with EPUB.js, which the reader is built with, has been a large pain point. While the mobile app, in general, is much less of a priority, I have loose plans to use Readium there. A migration away from EPUB.js to Readium on the webapp, as well, might be in the future at some point for uniformity. A bit of a ramble, but I'll update this ticket if I come up with a fix 👍

Should be resolved by #359


[Bug] Data type casting from onnx

When importing an onnx model, hidet needs to map onnx data types into hidet dtypes.
However, in
https://github.com/hidet-org/hidet/blob/0cd78c7828232062992d9d5429fd5b0179bf2daa/python/hidet/graph/frontend/onnx/onnx.py#L485
hidet does not have dtype double. I guess it should be float64?

Yes. Do you have an interest in submitting a PR to fix it (by replacing 'double' to 'float64')?


Best practice around async functions and set state

I have an async function that can end up manipulating the state in multiple places. Where should I setState()?
class SomeWidgetState extends State<SomeWidget> {
  String value = "default";
  bool isLoaded = false;

  SomeWidgetState() {
    setupState();
  }

  Future setupState() async {
    var settings = await getSettings();
    try {
      if ( await determineIfShouldUseCustomValue(settings) ) {
        value = await getCustomValue(); // THIS_CHANGES_STATE
      }
    } catch (e) {
      print("error initializing value: $e. using default.");
    } finally {
      isLoaded = true; // THIS_CHANGES_STATE
    }
  }

  Future<Setttings> getSettings() async { // use your imagination }
  Future<bool> determineIfShouldUseCustomValue(Setttings settings) async { // use your imagination }
  Future<String> getCustomValue() { // use your imagination }
}

I could just do an empty setState() at the end of my async function. Or I could wrap each individual assignment into its own setState: use a temporary value for await getCustomValue(); and then assign it to value inside of a setState. I would then use a separate setState wrapper around isLoaded = true. Which should I go with? Is there a better solution?
Here is what the function may look like for the above solution.
  Future setupState() async {
    var setupResult = await setup();
    try {
      if ( await determineIfShouldUseCustomValue(setupResult) ) {
        var tmpValue = await getCustomValue();
        setState((){ value = tmpValue; });
      }
    } catch (e) {
      print("error initializing value: $e. using default.");
    } finally {
      setState((){ isLoaded = true; });
    }
  }

Note: I have not attempted to compile any of this code.

This relates to https://github.com/flutter/flutter/issues/3949 as well.

I could just do an empty setState() at the end of my async function.

That would have the effect of queuing the writes such that you'd only see their visual effect after all the asynchronous work had completed.  However, the queue wouldn't be reliable.  It's possible for something else in your app to cause the widget to rebuild, in which case you'll see the effects of the individual writes.

Or I could wrap each individual assignment into its own setState: use a temporary value for await getCustomValue(); and then assign it to value inside of a setState.

That would ensure that you see visual updates for each incremental state change (assuming there's enough time between the asynchronous tasks to put up a frame).

Which should I go with?

Are the intermediate states meaningful to the user?  Specifically, do you want to ensure that the visual appears of your app updates as you progress through this sequence of operations?  Conversely, do you want to prevent the intermediate states from being shown to the user?
If you want the user to see the intermediate states, you probably want to wrap each write in a setState call.  If you want to prevent the intermediate states from being visible, you might want to actually queue the writes and have them all happen atomically at the end of the series of asynchronous operations.
Putting a single setState at the end of the function is something of the worse of both worlds because the intermediate states will be visible arbitrarily depending on what else is happening in your app.  In the worst case, the intermediate states could be buggy and hard to reproduce.

Is there a better solution?

Assuming you want to wait for all the operations to complete and then atomically update the state of your object, I'd recommend having the asynchronous object return a representation of all the state changes.  Once the asynchronous operation completes, I'd commit all the changes to your state synchronously inside a single setState call.  That will have the effect of changing your state atomically and ensuring that the visual appearance of your app is updated.
Another issue to consider is what happens if the widget is removed from the tree while the asynchronous operation is pending.  Ideally you'd cancel the asynchronous operation to save resources, but if that's not an option, you might want to check the mounted boolean on your State object before committing the changes.

Perfect. thanks.

Do we need to turn this into documentation before closing?  FYI @qchong

Incidentally, Function myFunc() async { } isn't valid Dart. Function here is the return value, but async requires that the return value be a Future<something>.

(Running flutter analyze on your package will catch this kind of thing.)

@Hixie yeah, this was me retyping the general idea so I'm sure there are a few mistakes like that.

Note: I have not attempted to compile any of this code.

My understanding is that setState now asserts that it's not passed a future-returning function, so I think we can close this.

After having read this and googling, it is still not clear to me how to manage state in an async context.
Let's take for example a simple application with two pages. The first page lists Things by name, and the second page allows to edit the name of a Thing.
The Things are stored in a sqlite database and I'm using sqflite which only exposes an async API.
I use a FutureBuilder to make the list appear after the SQL query has finished, but when should I redo the query to refresh the list?

Refreshing in the build() method makes the screen flash on each rebuild because the query is done again.
Refreshing in the initState() method would not make the view refresh when the second page changes the name of a Thing.

Whith the second option, one solution I thought of (but didn't test) is to store the first page in a GlobalKey, so that in the second page we can call a refresh method on it. However, this solution scales poorly. If I have an application with lots of pages, I have to remember to refresh all the pages that need a refresh each time I change the state.
I can't find a clean way to implement such a use-case. What would you recommend? Maybe it should be added to the documentation.

when should I redo the query to refresh the list?

This is entirely up to your application. One option may be to have a single class somewhere that wraps your Sqlite database, and that implements the Listenable interface (as well as an interface to update the data, read the data, etc). Then you would pass this object to each widget that cares about the database, rather than have the widgets know anything about Sqlite. Each such widget listens to the object, and when it's time to refresh, you just have that object send a notification to signal each widget to update.
This is more or less what Animation and the classes that use Animations do, for instance.

Thanks for the answer. That is indeed a cleaner solution.
I have another question though. There is a page in which I need to wait for the end of a SQL query to set the AppBar title. Having the AppBar title set after the page is shown to the user, or putting a spinner in there seems awkward. For the moment, I make the SQL query in the previous page and put the result in the route, then I parse the route to extract the title so that I can show it right when the page appears. Would you recommend something else?

I'm coming from React and I'm very confused about how to get data asynchronously and then call setState when its done. Can anyone shed any general wisdom?

@lukepighetti https://youtu.be/RS36gBEp8OI might help

same trouble
1 StatefulWidget widget execute Posts of Liks GraphQL Query -> ok
2 listView show the Links each of one with a delete Icon that execute the delete mutation(id) when is pressed -> ok
3 the problem is after delete a Link , the widget not rebuild
if (!resutlExeGraphQl.hasException) {
print(
'successful condition to rebuild the widget..');
// refresh page
setState(() {});
} else {
print(resutlExeGraphQl.exception);
}
the code:
import 'package:flutter/material.dart';
import 'package:graphql_flutter/graphql_flutter.dart';
import 'package:navigate09/classes/exeGraphQl.dart';
import 'package:navigate09/mutations/mutations.dart';
import 'package:navigate09/queries/userQuery.dart';
class UserViewScreen extends StatefulWidget {
final token;
final userId;
final userName;
UserViewScreen({this.token, this.userId, this.userName});
@override
_UserViewScreenState createState() => _UserViewScreenState();
}
class _UserViewScreenState extends State {
var resutlExeGraphQl;
Mutations mutations = Mutations();
var titleMessageError;
var messageError;
@override
Widget build(BuildContext context) {
return Scaffold(

// 1
body: Query(
options: QueryOptions(
documentNode: gql(userQuery),
variables: {
'id': widget.userId,
},
),
builder: (QueryResult result,
{VoidCallback refetch, FetchMore fetchMore}) {
if (result.hasException) {
print(result.exception);
return Text(result.exception.toString());
}
if (result.loading) {
return Center(child: CircularProgressIndicator());
}
      if (result.data == null) {
        return Center(child: Text('User not found.'));
      }

// 2
List links = result.data['user']['links'];
return Column(
children: [
Text('links: ${links.length}'),
ListView.builder(
shrinkWrap: true,
itemCount: links.length,
itemBuilder: (context, linksIndex) {
return Column(
children: [
Text(''),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'link ${linksIndex + 1}: ' +
'url: ' +
links[linksIndex]['url'],
),
IconButton(
icon: Icon(Icons.delete),
onPressed: () async {
var resultGraphql = exeGraphQl(
context,
widget.token,
mutations.deleteLink,
'mutation with 1 single variable', // instruccion for the mutation
'linkId',
links[linksIndex]['id'],
null, //var2 tag
null, //var2
null, // var3 tag
null, // var3
titleMessageError,
messageError);
resutlExeGraphQl = await resultGraphql;
// 3
if (!resutlExeGraphQl.hasException) {
print(
'successful condition to rebuild the widget..');
// refresh page
setState(() {});  // not working..   help
} else {
print(resutlExeGraphQl.exception);
}
}),
                    ],
                  ),
                  Text(
                    'description: ' + links[linksIndex]['description'],
                  ),
                ],
              );
            },
          ),
        ],
      );
    },
  ),
);

}
}


"Reset all passwords" doesn't work well with 30+ students

There isn't a bulk modification API in Auth0 so I'm resetting the passwords for users individually. And to avoid hitting the rate-limiting, I'm doing this one at a time. This is insanely slow with large classes.

ignore the commit above.... in moving the repo from Github Enterprise to public Github, the issue numbers don't match up, so it refers to a closed issue from the old repo :(

Added a temporary commit that hides the button. It's not a fix... so the issue stays open.


Change Translate to class

from #439 , I change pythainlp.translate.translate function to pythainlp.translate.Translate class and I update docs.

Hello @wannaphong! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file pythainlp/translate/core.py:

Line 100:1: W293 blank line contains whitespace
Line 110:80: E501 line too long (80 > 79 characters)

Google colab for test https://colab.research.google.com/drive/1tTNIj996ySPdTPuKoXo976Gd6Du-cDIE?usp=sharing

Coverage remained the same at 95.83% when pulling 0859ec844e74b46ce0036c4c7bdca4190c56f24d on translate-class into 907f2d6028de913cb7e43fc562bccd1462a09b59 on dev.

What about split the class to two classes?
One for EN->TH, another for TH->EN ?
This way, the user will load only the model that they will use to the memory?
Let me try that.

OKSent from Gmail Android deviceเมื่อ 30 ธ.ค. 2020 13:16 น. Arthit Suriyawongkul<EMAIL_ADDRESS>เขียนว่า
What about split the class to two classes?
One for EN->TH, another for TH->EN ?
This way, the user will load only the model that they will use to the memory?
Let me try that.
—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or unsubscribe.


Android: Cannot read property 'start' of undefined

Hi, thanks for this repo.
I am unable to run this on Android as I get the error "Cannot read property 'start' of undefined" when attempting to invoke PerformanceStats.start(true);.
After some testing it seems that PerformanceStatsNativeModule is always undefined in /src/index.js and it appears this library is not built when I compile my app.
I'm on React Native version 0.64 and have am not yet using the new architecture. Seems like the autolinking hasn't worked unless I am missing something.

I'm getting the same error, I guess it's not solved yet.

not working on android

Your latest version is calling wrong functions in Android PerformanceStatsImpl.java


feat: Updated logo configuration

Description
This PR address the following issues:

quickly recognize the names of each image pertaining to the site customization. aka header logo, login logo, logo background
adds configuration entries to use different file names
add the documentation explaining the changes and how to configure the site logos

Motivation
We realized that the method to customize each image related to the site/institution customization was not consistent together with the names of the images.
Fixes:
Changes:

src/app/app-config.service.ts
src/app/_layout/app-header/app-header.component.ts
src/app/_layout/app-header/app-header.component.html
src/app/users/login/login.component.ts
src/app/users/login/login.component.html
src/assets/images/site_header_logo.png
src/assets/images/site_login_background.png
src/assets/images/site_login_logo.png
src/assets/images/scicat-header-logo.png

Tests included/Docs Updated?

[ ] Included for each change/fix?
[ ] Passing? (Merge will not be approved unless this is checked)
[ ] Docs updated?
[ ] New packages used/requires npm install?
[ ] Toggle added for new features?
[ ] Requires update of SciCat backend API?

This PR fixes issues #1459


How can I deploy with my own domain on IIS?

We would like to deploy the project on IIS using a specified port and our own domain. Could you please provide detailed steps for this process? Additionally, we need clarification on whether the frontend and backend should run on the same port or have separate domains.

Please see https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-8.0
By default, both the frontend and backend are served from the same port.  Although, if you prefer, you can host the static JS files at any other location than in the backend's wwwroot folder.


chore: updated mownstr to 0.3

This updated mownstr with the UB behaviour fix https://github.com/pchampin/mownstr/commit/5b910993b7523ad152b1499e5e23e5d68e215b04

https://github.com/pchampin/sophia_rs/pull/178 fixed this


Remove possibility of panic in calling BallTree::new

unwrap calls were replaced with expect.

The CI failed with a timeout while installing packages necessary for code coverage reporting. I'll fix this build after #28 has been merged.


Dart Null Safety Compatibility

Fixes #24 , #22

please... fix it

Can this PR be merged?

Merging is still blocked.

Will be good to merge those changes :)

Up!

There's more reviewers here than in Google's repo.
Can someone please help merge this PR?

Why is merging still blocked? Numerous people have reviewed this PR. I'll be closing this PR if it does not get merged soon.

Why is merging still blocked? Numerous people have reviewed this PR. I'll be closing this PR if it does not get merged soon.

@searchy2 Only the member of organization or those who have write access to the repository can approve your request :(

Hey @RockerFlower, can you please review this PR? Thanks :)

Shouldn't this now be fine to be merged?

waiting for it

This plugin it's lost in space
abandoned!
6 months since the last update

thank @searchy2 I used ur fork and it working good
  wave:
    git:
      url: git://github.com/searchy2/wave.git

@searchy2 @callawey @tim232385 @mohammadne @ashamnx @GGuinea @nuno84 @pinpong @npereira-jc @RaineCode178 @CristianTorrado @AyushBherwani1998 @rockar06 @ubuntudroid @zjamshidi @danieramiz @AbdOoSaed @danieramiz @HektorCyC @fgarcia92 @clirimfurriku
I am very sorry! Due to some personal matters, I haven't logged in to GitHub for a long time, which wasted your time. I will restart the maintenance of this plugin in the near future. Sorry again!

@RockerFlower no worries, after all this is a free (and open source) library and you are doing this in your spare time, so no need to be sorry! Instead, let me thank you for picking this up again. 🙏

Welcome back and I hope everything is well now.


Support Mime Multi Part Archives In User Data

Please allow the specification of multiple files to send instructions to virtual machine congratulation, for example contextualization with cernvm init scripts as well as cloud-init.
Here is what I did for a proof of concept. Created the following two files: the first called cernvm-data.txt with the following content:
[ucernvm-begin]
CVMFS_PAC_URLS=http://shoal.heprc.uvic.ca/wpad.dat
[ucernvm-end]

The other was the IAAS.yaml from my cloud-init repository. Then I used the following helper_script,py to generate the mime-formatted data:
#!/usr/bin/python

import sys

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

if len(sys.argv) == 1:
    print("%s input-file:type ..." % (sys.argv[0]))
    sys.exit(1)

combined_message = MIMEMultipart()
for i in sys.argv[1:]:
    (filename, format_type) = i.split(":", 1)
    with open(filename) as fh:
        contents = fh.read()
    sub_message = MIMEText(contents, format_type, sys.getdefaultencoding())
    sub_message.add_header('Content-Disposition', 'attachment; filename="%s"' % (filename))
    combined_message.attach(sub_message)

print(combined_message)

and used it like this:
python helper-script.py docs/userdata/IAAS.yaml:cloud-config cernvm-data.txt:ucernvm-config > test-user-data

To generate a multi-part message looking something like this:
From nobody Tue Nov 25 16:34:50 2014
Content-Type: multipart/mixed; boundary="===============9118196963083328116=="
MIME-Version: 1.0

--===============9118196963083328116==
MIME-Version: 1.0
Content-Type: text/cloud-config; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="docs/userdata/IAAS.yaml"

write_files:
-   content: |
        #
        # A sample configuration file for shoal client.
        #
        [general]
        cvmfs_config = /etc/cvmfs/default.local
        shoal_server_url = http://shoal.heprc.uvic.ca/nearest
        default_squid_proxy = http://chrysaor.westgrid.ca:3128;http://cernvm-webfs.atlas-canada.ca:3128;DIRECT
    owner: root:root
    path: /etc/shoal/shoal_client.conf
    permissions: '0644'

--===============9118196963083328116==
MIME-Version: 1.0
Content-Type: text/ucernvm-config; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cernvm-data.txt"

[ucernvm-begin]
CVMFS_PAC_URLS=http://shoal.heprc.uvic.ca/wpad.dat
[ucernvm-end]

--===============9118196963083328116==--

Please allow something similar by parsing the +VMAMIConfig for example like this:
+VMAMIConfig    = "/srv/userdata/IAAS.yaml:cloud-config, /srv/userdata/cernvm-data.txt:ucernvm-config"

What's the current status of this? Should we try it again?

Think it's working now. Just need confirmation then can close issue.

I tried this again:
+VMAMIConfig    = "/srv/userdata/IAAS.yaml:cloud-config,/srv/userdata/cernvm-data.txt:ucernvm-config"
However it didn't work:
2015-02-06 16:59:10,421 - ERROR - Scheduler - <type 'instance'> can't be encoded
2015-02-06 16:59:10,422 - DEBUG - Scheduler - Failed to create instance on cc-east
2015-02-06 16:59:10,422 - DEBUG - Scheduler - Creating VM for job condor.heprc.uvic.ca#238347.2#1423270202 failed on cc-east.
2015-02-06 16:59:10,422 - DEBUG - Scheduler - None of the resources could boot a vm for job condor.heprc.uvic.ca#238347.2#1423270202. Leaving apf-test's job unscheduled.

updated cs on belle and condor with fix for this. If you could try it again.

I booted a VM which has the desired content in /var/lib/cloud/instance/user-data.txt :
--===============0119130212==
MIME-Version: 1.0
Content-Type: text/ucernvm-config; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="/srv/userdata/cernvm-data.txt"

[ucernvm-begin]
CVMFS_PAC_URLS=http://shoal.heprc.uvic.ca/wpad.dat
[ucernvm-end]

However the cloud-init logs had:
Feb 24 00:12:49 host-192-168-19-220 [CLOUDINIT] __init__.py[WARNING]: Unhandled unknown content-type (text/ucernvm-config) userdata: '[ucernvm-begin]\n

CVMFS_PA...'
Feb 24 00:12:49 host-192-168-19-220 [CLOUDINIT] init.py[WARNING]: Unhandled unknown content-type (text/ucernvm-config) userdata: '[ucernvm-begin]\n
CVMFS_PA...'
I need to be able to verify the status of the CernVM OS CVMFS repo.

So the problem is in... cloud-init itself not recognizing the mime type? or is it an encoding error in cloud_scheduler?

This should help: https://github.com/hep-gc/cloudinit-userdata/commit/a0a744224018962618ccf35d40bb467701f2eadd
It may be working now ...

Success! uCernVM is being contextualized correctly.

So this needs to be closed ....
I can't close it.

@rptaylor you had some missing permissions. Fixed now.


Added offset to label's y-pos to prevent overflow of the label

In the original code, if the bounding box is at the top position and the paint label option is enabled, the labels pained overflows the image.

In the revised code, the labels are painted inside the box when overflow occurs otherwise they are painted as it is.

I think this change increases the label's visibility and make this tool more user-friendly.

@ap193uee Thanks for the contribution!

@vdalv Why the travis CI is failing for osx Python 3.6? The log shows that there is some problem with py2app.
Travis build log

Yeah, I noticed that, it looks like it's breaking w/ Python v3.7, which isn't due to your code. There's an open issue for this error, so we're still trying to figure out how to deal w/ it (https://github.com/tzutalin/labelImg/issues/322).
Cheers,
-Vlad


about convert_model

there are some problme when i run the example code about convert_model,the variable ‘mod’ was not assigned，it seems something wrong about the recursion

def convert_model(module):
if isinstance(module, torch.nn.DataParallel):
mod = module.module
mod = convert_model(mod)
mod = DataParallelWithCallback(mod,device_ids=[0,1,2,3]).cuda()
return mod
for pth_module, sync_module in zip([torch.nn.modules.batchnorm.BatchNorm1d,
                                    torch.nn.modules.batchnorm.BatchNorm2d,
                                    torch.nn.modules.batchnorm.BatchNorm3d],
                                   [SynchronizedBatchNorm1d,
                                    SynchronizedBatchNorm2d,
                                    SynchronizedBatchNorm3d]):
    if isinstance(module, pth_module):
        mod = sync_module(module.num_features, module.eps, module.momentum, module.affine)
        mod.running_mean = module.running_mean
        mod.running_var = module.running_var
        if module.affine:
            mod.weight.data = module.weight.data.clone().detach()
            mod.bias.data = module.bias.data.clone().detach()
        return mod

for name, child in module.named_children():
    module.add_module(name, convert_model(child))

return module

Thanks for reporting!
I just tested the current version myself:
from torchvision import models
from sync_batchnorm import convert_model

m = models.resnet18(pretrained=True)
m = convert_model(m)

The codes above run successfully and give the expected output network. Could you please specify the case where our current vision fails? That will be deeply appreciated! Thanks!

@vacancy
Traceback (most recent call last):
File "sbn.py", line 7, in
m = convert_model(m)
File "/home/workspace/xxx/utils/sync_batchnorm/batchnorm.py", line 360, in convert_model
mod.add_module(name, convert_model(child))
UnboundLocalError: local variable 'mod' referenced before assignment

@Re3write Can you make sure that you have this line in your file? https://github.com/vacancy/Synchronized-BatchNorm-PyTorch/blob/8cba183f50b630b1c8baa33ddb2fafac61219acd/sync_batchnorm/batchnorm.py#L343
It looks to me that you somehow deleted this line?

@vacancy sorry, the code we use dont has the line , maybe we accidentally deleted it.

No worries. Best luck!


Idea: Do not update manifest in the master branch when doing a release

Rationale:

the master branch is work in progress, so it should only be updated when the admin explicitly does so (currently manually and with a YAML manifest editor in the future)
there is no purpose served by updating the manifest in the master branch

@birchamp @richmahn @superdav42

Originally I was getting the current version from the manifest so it seemed like a requirement to update it in master. As it is now I'm getting the current version from the latest release tag in DCS so the manifest will not need updated for the version number.
The version number is not the only thing updated in the manifest during a release. It also adds any selected books to the projects if they don't already exist. Also it updates the modified and issued date.
It seems a good idea to keep the manifest up-to-date with the release as much as possible. If the master branch needs to remain protected we could use the API to create a PR that the admin could manually merge after the release to ensure everything stays consistent.
Also for these resources:
  'ta',
  'tw',
  'obs',
  'obs-tn',
  'obs-tq',
  'obs-twl',
  'obs-sn',
  'obs-sq',

A release branch is not used and the master branch is always updated directly. I guess we could change this but it didn't make sense to use a release branch when there was no project files to worry about.
Who is the user that will be using this tool to publish? Won't they be an admin that is whitelisted to push to the master branch anyway?

This issue is closed since there is a need to update the manifest


Fix method [skip ci]

Q
A

Is bugfix?
no

New feature?
no

Breaks BC?
no

Tests pass?
-

Fixed issues
comma-separated list of tickets # fixed by the PR, if any

Thanks!


idea: tool to create patches

Phabricator has such a tool, to create patches out of commits. I could use those for further usage, could you add such functionality?
I would also appreciate it as a downloadable file, so in the web view.
Thanks a lot :)

Did you mean https://gitea.com/gitea/tea/pulls/45.patch ?

Yeah, something like this. How to achieve this? Lets make some documentation around this?

I believe this has been fixed with #8792 and #8470

This says CREATE patches, not download them. Please reopen, thanks.

I'm confused. What exactly do you mean?
Is it that given a commit to a branch you would like to convert that to a patch file?
Or is it that you would like to select several commits and make a patch file or PR from those?

I think it means give two branches/commitids and return a patch file.

Sorry,  I have made the mistake of not reading properly, thanks a lot for your help :)


Source-build intermediate sizes for runtime repo have grown significantly

Runtime intermediate packages have grown significantly due to a 9.0 change to enable lldb-focused debug info. Source-build requires unstripped binaries, which contributes to the package increased size.
This will impact symbols archive work, as the main intermediate package will be larger than 500MB.
Here's the comparison between 8.0 and 9.0:

Package
8.0 (MB)
9.0 Preview 1 (MB)
9.0 Preview 7 (MB)

runtime.Crossgen2Archive
n/a
303
106

runtime.Crossgen2Pack
265
303
106

runtime.ILCompiler
66
115
131

runtime.linux (main package)
184
443
425

runtime.runtime.linux
131
301
326

This issue tracks investigation and any possible solutions on source-build side, i.e. switching to stripped binaries.
Tracking issue in runtime repo: https://github.com/dotnet/runtime/issues/92240

Preview 7 sizes are a bit better. There is no issue with source-build consumption of runtime intermediate packages. Closing in favor of runtime issue.


Ability to get to Tabs that are "off screen"

Check for existing issues

[X] Completed

Describe the feature
When I have many editor tabs open (easier state to get to with split view), I am unable to get to tabs that have exceeded the available tab space.
Ideas:

maybe have a hamburger menu so I can jump to off-screen tabs?

If applicable, add mockups / screenshots to help present your vision of the feature
No response

The tab bar is scrollable.

The tab bar is scrollable.

I suspect as much.
But the mouse I use has a very limited left-right behaviour on the scroll wheel, and moves the tab-bar about 1/3 of a letter at a time. I realize with an Apple trackpad, the tab bar probably rocks, but I use a lowly mouse on a day-to-day basis, as I'm sure many others do.
There's needs to be a bit more flexibility here.
Even the back/forward buttons. Given their positioning, I'd expect them to navigate the tabs, not positions within the active file.

Scrolling up/down works fine on the tab bar, no need for a sideways scroll. Granted, this is a bit unintuitive but it is a relatively common behavior for tab bars e.g. in web browsers.


chore: update control-plane dep

Includes branch_ancestor fix.
Signed-off-by: Tiago Castro<EMAIL_ADDRESS>

bors merge


[R] Avoid rsync

In response to https://github.com/wesm/feather/pull/65#issuecomment-204183536
The second commit moves all tests to a subdirectory, and avoids copy+delete of test files for each build/installation of the R package.

Thanks

-u is not supported on OS X :/


Do not report @pytest.mark.skipIf exceptions

We frequently use @pytest.mark.skipIf in our test-suite to skip tests that are not runnable in the current environment.
Sadly pytest-sentry does not support @pytest.mark.skipIf, since it uses exceptions internally to signal whether a test was skipped or not, we get loads of exceptions reported to sentry that are little more than the skipped tests. So much so that ~90% of our sentry quota would be used by skipped tests, and exhausting the quota before we get really helpful exceptions flagged.
It'd be nice to have a way to opt out of reporting these to sentry at all. I know there's server-side filtering, but that's a premium feature that's not well-suited to an open-source project.

We can hardcode ignoring those exceptions in the pytest plugin. Do you want to author a patch for it?
However to clear two things up: sentry sdk allows you to filter exceptions using before-send. Also this should not be really a problem unless your skipping is a flaky exception that does not happen on every rerun, or if you are using PYTEST_SENTRY_ALWAYS_REPORT

I tried adding a before_send hook function as you proposed, however I seem to be failing to identify the correct client, since the function never gets called. If you have pointers on how to correctly register such a filter I can try to create a PR :+1: Ideally I'd wrap the filter into a fixture so future users can add their own filters.
I don't quite understand your correction: I'm not using the always report option, and skipping is used based on environment variables that describe the environment (running in dev-mode, running with experimental features, etc). The tests themselves are not flaky, it's just that they may be slow or not work at all in the current configuration. Nevertheless I get a sentry event reported on each skipped test:

We should not report tests that only fail once, only if they fail inconsistently when retried as part of a test session. That's why I am so confused as to why you're encountering this error in the first place. Can you link me one of those events?
I just added tests to master that test skipif and can't repro this

That's interesting, I think the only difference we have is that we run with --reruns=3 instead of annotating each test individually. Do you think that might be causing the divergent behavior?

here's an internal example -- https://sentry.io/organizations/sentry/issues/3548525526/?project=2423079
perhaps because it's a unittest testcase?

it's possible, there's no tests in this library for unittest compat. but i think this is the first time i heard of marker problems like that on unittest classes...

I think the problem is compounded that it's not a marker but an inline pytest.skip -- I wonder if using unittest.skip avoids it :thinking:

if that is the issue we should just filter out those pytest exceptions here: https://github.com/untitaker/pytest-sentry/blob/c58535e45a8f7f2222f9508659e68aca6ebd8713/pytest_sentry.py#L202
currently we rely on pytest to filter those out for us

@untitaker does this seem useful?
diff --git a/pytest_sentry.py b/pytest_sentry.py
index f8bfa5d..c9f9515 100644
--- a/pytest_sentry.py
+++ b/pytest_sentry.py
@@ -187,9 +187,10 @@ def pytest_fixture_setup(fixturedef, request):
 def pytest_runtest_makereport(item, call):
     sentry_sdk.set_tag("pytest.result", "pending")
     report = yield
-    sentry_sdk.set_tag("pytest.result", report.get_result().outcome)
+    outcome = report.get_result().outcome
+    sentry_sdk.set_tag("pytest.result", outcome)

-    if call.when == "call":
+    if call.when == "call" and outcome != "skipped":
         cur_exc_chain = getattr(item, "pytest_sentry_exc_chain", [])

         if call.excinfo is not None:

@asottile-sentry this makes sense to me 👍


Test more versions of Node.js

This runs tests in two additional versions of Node.js:

v17.9.1
v16.0.0

It also bumps the v16 and v18 versions we already run to their latest release.

Closing in favor of https://github.com/bufbuild/connect-web/pull/462


ENH: Add boundary condition getters and setters

Add boundary condition setters and getters to DiscreteGaussianImageFilter.
We are currently trying to implement a new projector in RTK, and we need to use the DiscreteGaussianImageFilter with another boundary condition than the default one.
The difficulty here is that the DiscreteGaussianImageFilter uses intermediate filter with real pixel type. In this PR, I implemented one setter and getter for boundary condition with input pixel type and another one for boundary condition with real pixel type. However, I'm not sure it's the best way to do since the user would have to set boundary condition with two different image type.
Can you think of a better solution?

PR Checklist

[ ] Makes breaking changes
[ ]  Makes design changes
[ ] : Adds the License notice to new files.
[ ]  Adds Python wrapping.
[ ]  Adds tests and baseline comparison (quantitative).
[ ]  Adds test data.
[ ]  Adds Examples to ITKExamples
[ ] Adds Documentation.

Refer to the ITK Software Guide for
further development details if necessary.

Looks good to me. Can you rebase on top of current master, for CI to run and to avoid the merge conflicts?

@dzenanz Rebased on master.

Have you measured performance impact of this? Totally negligible or approximately negligible?

Please add m_RealBoundaryCondition to the print self method.
It would be great if the new code could be tested so we know it works correctly.

The force-push adds basic setter/getter tests and adds m_RealBoundaryCondition to the print self method.

Have you measured performance impact of this? Totally negligible or approximately negligible?

I didn't measured performance impact, but since the changes only consist in adding setters and getters for boundary condition, I think it's totally negligible. Futhermore, I'm already using the changes in local for my RTK development without noticing any impact.


Fixing the Debian makefile.

Ensuring src directory exists.
Updated makefile to find the relevant cpp file.

Thank you, maybe I founded a sponsor for zpaqfranz in Debian, the same maintainer of zpaq.
work in progress (some changes mandatory)
PS the very updated source is
www.francocorbelli.it/zpaqfranz.cpp

Awesome news about the sponsor!


chore: Improve Docker section in README (#2129)

Add a Working with Docker and the Proxy section that explains how to use the proxy via Docker on a local machine, including some comments about permissions over the credentials file.
This PR closes #2129 and is related to #1124.
I'm open to any comments you might have, style or content-wise. Thanks for the opportunity to chime in!

I'll tackle the CLA signing later today.

Mind wrapping the long lines at 80 characters? Then we can get this merged.

Done. Thanks for your patience, this PR's tab got lost in the sea of tabs I have in Brave :S.
I wrapped the lines and renamed the commit from chore to docs.

Thanks again for the README update @sebastian-correa.


POL-363 Don't sort the trigger history by id.

As previously discussed.
Question: should we silently do this. Or return some 400 for 'unknown sort field'?
The latter makes it probably more obvious for customers.

Or return some 400 for 'unknown sort field'?

+1 I think we do that for policy filtering

Updated


CursorUpdater: a cursor disappears with nil replacement images

Right now CursorUpdater can't be used for virtual cursors that co-exist with normal cursor.
In my game, there is a separate cursor for the gamepad that doesn't remove a normal mouse pointer.
Its sprite is controlled outside of the ebitenui; I move it according to the player's inputs.
The game knows when either of them is active. So it would make more sense to me to make a logic-only cursor updater: I want ebitenui to know the cursor coordinates and whether some buttons were pressed, but the image-related APIs are redundant in this case.
It can be solved in at least two ways:

There can be two interfaces. The current (full) interface and headless (new) interface for logic-only.
The current interface may handle nil images as "use the defaults" sign

This is probably the minimal interface that would work for me:
type CursorUpdater interface {
	MouseButtonPressed(b ebiten.MouseButton) bool
	MouseButtonJustPressed(b ebiten.MouseButton) bool
	CursorPosition() (int, int)
	GetCursorOffset(name string) image.Point
}

This is a bridge from the game own logic to how ebitenui should handle cursor-related info.

I originally had the interface split like you suggest but changed it to
this because I have no way of setting the current system cursor location.
Ebiten doesnt have that capability. Because of this I cannot keep the
system cursor and an alternate cursor location in sync. That's why I made
it required to have custom cursor images if you use the setcursorupdater
option. I could possibly look into the libraries ebiten is using to do that
but I was hoping to avoid doing that.
On Mon, May 1, 2023, 3:17 AM quasilyte @.***> wrote:

Right now CursorUpdater can't be used for virtual cursors that co-exist
with normal cursor.
In my game, there is a separate cursor for the gamepad that doesn't remove
a normal mouse pointer.
Its sprite is controlled outside of the ebitenui; I move it according to
the player's inputs.
The game knows when either of them is active. So it would make more sense
to me to make a logic-only cursor updater: I want ebitenui to know the
cursor coordinates and whether some buttons were pressed, but the
image-related APIs are redundant in this case.
It can be solved in at least two ways:

There can be two interfaces. The current (full) interface and
headless (new) interface for logic-only.
The current interface may handle nil images as "use the defaults"
sign

This is probably the minimal interface that would work for me:
type CursorUpdater interface {
MouseButtonPressed(b ebiten.MouseButton) bool
MouseButtonJustPressed(b ebiten.MouseButton) bool
CursorPosition() (int, int)
GetCursorOffset(name string) image.Point
}
This is a bridge from the game own logic to how ebitenui should handle
cursor-related info.
—
Reply to this email directly, view it on GitHub
https://github.com/ebitenui/ebitenui/issues/65, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADJ7PVWIX2OJQVEJAGYDPX3XD5PPDANCNFSM6AAAAAAXRQLJLM
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Hmm, but in my case I don't need to move the original cursor when the gamepad cursor (a different entity) is moving. Some players may still want to use a mouse when changing the game options, etc. It's just nice to have an option to play without a mouse (with gamepad only), but some mixed situations are possible: both gamepad and mouse are connected.
If you know that (x, y) is supposed to have an active cursor as reported by a CursorUpdater, that should be enough to consider it's there.

I'm not sure I understand your use case.
It seems a lot like the example cursorupdater which has the cursor
controlled by both the mouse and the keyboard?
Can you please describe your use case for me so that we're on the same page?
On Mon, May 1, 2023, 10:05 AM quasilyte @.***> wrote:

Hmm, but in my case I don't need to move the original cursor when the
gamepad cursor (a different entity) is moving. Some players may still want
to use a mouse when changing the game options, etc. It's just nice to have
an option to play without a mouse (with gamepad only), but some mixed
situations are possible: both gamepad and mouse are connected.
If you know that (x, y) is supposed to have an active cursor as reported
by a CursorUpdater, that should be enough to consider it's there.
—
Reply to this email directly, view it on GitHub
https://github.com/ebitenui/ebitenui/issues/65#issuecomment-1529745270,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADJ7PVTQFTLMLEAW7PVX32DXD67KFANCNFSM6AAAAAAXRQLJLM
.
You are receiving this because you commented.Message ID:
@.***>

I sent a description of the case in Discord.
But at the very minimum, there should be a way to recover the default cursor.
I'm not using ebitenui in some of the scenes and they'll need to have a cursor visible.

I believe the changes I made resolve this issue. See latest commits. I will probably close this in the next couple days unless I hear back.


Allow users to assume MFA device is already configured

This was a useful modification for MilMove where new credentials were provided after the MFA was already set up. Passing the flag --no-mfa will retrieve the existing MFA serial number instead of creating and enabling a new device.
Pivotal Story:

Allow no MFA

Testing:
go run ./cmd/ setup --iam-user cgilmer-delete-me --iam-role engineer --aws-profile delete-id --aws-account-id<PHONE_NUMBER>04 --no-mfa

Checking whether profile "delete-id-base" exists in AWS config file
Checking whether profile "delete-id" exists in AWS config file
Enter Access Key ID: REDACTED
Enter Secret Access Key: REDACTED
Added credentials to profile "delete-id-base" in vault
Getting the existing MFA device...
Updating the AWS config file: /Users/cgilmer/.aws/config
Victory!


Error when an implementation of a java interface is used as parameter to a Java Object's Method

Describe the bug
It seems to want to call the hashCode() method but the Python Object doesn't know about hashCode
To Reproduce
Steps to reproduce the behavior:
This guy is having the same problem doing the same thing as me.
https://gist.github.com/telent/6409c94ff9a4f448ecbd6b5859718669
My Code:
    ILocationListener = JavaInterface('android/location/LocationListener')
    class location_helper(ILocationListener):

........
    _location_helper = location_helper()
    LocationManager = JavaClass('android/location/LocationManager')
    location_manager_object = self.activity.getSystemService('location')
    print(str(location_manager_object))
    location_manager = LocationManager(__jni__=java.NewGlobalRef(location_manager_object))
    print(str(location_manager))
    location_manager.requestLocationUpdates("gps", 0, 0.0, self._location_helper)

I uncommented line 32 of rubicon/java/api.py and added this at line 34
print(str(pyinstance._methods))
Results:
07-23 15:35:03.969 15631 15631 I Python  : android.location.LocationManager@f81e026
07-23 15:35:03.972 15631 15631 I Python  : android.location.LocationManager@f81e026
07-23 15:35:03.983 15631 15631 D Python  : Native invocation<PHONE_NUMBER>60 :: hashCode
07-23 15:35:03.983 15631 15631 I Python  : PYTHON SIDE DISPATCH<PHONE_NUMBER>60 hashCode ()
07-23 15:35:03.984 15631 15631 I Python  : {'onLocationChanged': {(b'Landroid/location/Location;',)}, 'onProviderDisabled': {(b'Ljava/lang/String;',)}, 'onProviderEnabled': {(b'Ljava/lang/String;',)}, 'onStatusChanged': {(b'Ljava/lang/String;', b'I', b'Landroid/os/Bun
dle;')}}
07-23 15:35:03.984 15631 15631 E Python  : Error invoking callback
07-23 15:35:03.984 15631 15631 E Python  : Traceback (most recent call last):
07-23 15:35:03.984 15631 15631 E Python  :   File "/data/user/0/au.gov.aims.gregbee/files/python/user_code/app_packages/rubicon/java/api.py", line 37, in dispatch
07-23 15:35:03.985 15631 15631 E Python  :     if len(signatures) == 1:
07-23 15:35:03.985 15631 15631 E Python  : TypeError: object of type 'NoneType' has no len()
Expected behavior
I am pretty sure the error is coming from this line
location_manager.requestLocationUpdates("gps", 0, 0.0, self._location_helper)
I want that line to run without an error
Screenshots
If applicable, add screenshots to help explain your problem.
Environment:

Operating System: Developing on windows 10 for deployment to Android
Python version: 3.8
Software versions:

Briefcase: 0.3.5
Toga: 0.3.0
...

Additional context
Add any other context about the problem here.

Thanks for the report.
My experience has been that references to hashCode() are often a red herring; the underlying problem is usually a couple of levels higher up, but the problem manifests as an error evaluating hashCode(). The actual problem is usually an object that hasn't been instantiated correctly, or hasn't been stored correctly etc.
Two things to look into by way of debugging:

It's a little difficult to tell from the debug log you've provided - can you confirm that the error is actually coming from the requestLocationUpdates call, and not from the debug output lines a couple of lines earlier?

Can you confirm that self._location_listener is set? From the code sample you've provided, a location listener has been instantiated, but it's not being assigned to self; so it's possible that the error is correct (of a fashion) - you may be passing in a null object (which, as the error says, doesn't have a hashCode... because it's a null). Adding debug output for self._location_listener would be especially helpful, as it will establish if the problem is with the creation of the location listener, or the invocation of the function that is using the listener.

My apologies. My code was a bit confusing. The class that I should have called location_listener was actually called location_helper but it certainly was set. I have renamed it to location_listener. Now I have two classes location_worker and location_listener. Source for the two classes and the output is below.
from rubicon.java import JavaClass, JavaInterface, java
from locations.location_listener import location_listener

LocationManager = JavaClass('android/location/LocationManager')

class location_worker():

    _location_listener = location_listener()
    activity = "activity not set"
    app = "not set"

    def set_app(self, app):
        print("I will set the app")
        self.app = app
        self.activity=app.native
        location_manager_object = self.activity.getSystemService('location')
        print(str(location_manager_object))
        location_manager = LocationManager(__jni__=java.NewGlobalRef(location_manager_object))
        print(str(location_manager))
        print(str(self._location_listener))
        self._location_listener.onLocationChange(None)
        self._location_listener.onStatusChanged(None, None, None)
        self._location_listener.onProviderEnabled(None)
        self._location_listener.onProviderDisabled(None)
        location_manager.requestLocationUpdates("gps", 0, 0.0, self._location_listener)
        print("I have set the app")

from rubicon.java import JavaInterface

ILocationListener = JavaInterface('android/location/LocationListener')

class location_listener(ILocationListener):
    latitude = -1
    longitude = -1
    status = "Not set"

    def onLocationChange(self, location):
        print ("location change")
        # latitude = location.getLatiude()
        # longitude = location.getLongitude()

    def onProviderDisabled(self, provider):
        print("GPS disabled")

    def onProviderEnabled(self, provider):
        print("GPS enabled")

    def onStatusChanged(self, provider, status, extras):
        print("Status change")
        # self.status = status

07-26 09:18:58.733  6784  6784 I Python  : I will set the app
07-26 09:18:58.743  6784  6784 I Python  : android.location.LocationManager@e9f587d
07-26 09:18:58.747  6784  6784 I Python  : android.location.LocationManager@e9f587d
07-26 09:18:58.747  6784  6784 I Python  : <location_listener: 10262>
07-26 09:18:58.747  6784  6784 I Python  : location change
07-26 09:18:58.747  6784  6784 I Python  : Status change
07-26 09:18:58.747  6784  6784 I Python  : GPS enabled
07-26 09:18:58.748  6784  6784 I Python  : GPS disabled
07-26 09:18:58.760  6784  6784 D Python  : Native invocation<PHONE_NUMBER>80 :: hashCode
07-26 09:18:58.761  6784  6784 I Python  : PYTHON SIDE DISPATCH<PHONE_NUMBER>80 hashCode ()
07-26 09:18:58.761  6784  6784 I Python  : {'onLocationChanged': {(b'Landroid/location/Location;',)}, 'onProviderDisabled': {(b'Ljava/lang/String;',)}, 'onProviderEnabled': {(b'Ljava/lang/String;',)}, 'onStatusChanged': {(b'Ljava/lang/String;', b'I', b'Landroid/os/Bun
dle;')}}
07-26 09:18:58.761  6784  6784 E Python  : Error invoking callback
07-26 09:18:58.761  6784  6784 E Python  : Traceback (most recent call last):
07-26 09:18:58.761  6784  6784 E Python  :   File "/data/user/0/au.gov.aims.gregbee/files/python/user_code/app_packages/rubicon/java/api.py", line 37, in dispatch
07-26 09:18:58.763  6784  6784 E Python  :     if len(signatures) == 1:
07-26 09:18:58.763  6784  6784 E Python  : TypeError: object of type 'NoneType' has no len()
07-26 09:18:58.763  6784  6784 D Python  : Native invocation done.
07-26 09:18:58.763  6784  6784 I Python  : I have set the app

I fixed this issue by initialising my variable inside the init method. But now I am seeing this error.
07-27 11:03:09.440 14908 14908 F ov.aims.gregbe: runtime.cc:650] JNI DETECTED ERROR IN APPLICATION: bad arguments passed to void android.location.LocationManager.requestLocationUpdates(java.lang.String, long, float, android.location.LocationListener) (see above for details)

I am pretty sure that I am passing the correct arguments.
If I change this line
location_manager.requestLocationUpdates("gps", 0, 0.0, self._location_listener)
to this
location_manager.requestLocationUpdates("gps", 0, 0, self._location_listener)
I get a different error
07-27 11:07:24.006 15667 15667 E Python  : ValueError: Can't find Java instance method 'b'android/location/LocationManager'.requestLocationUpdates' matching argument signature 'b'Ljava/lang/String;IILandroid/location/LocationListener;''. Options are: dict_keys([b'Land
roid/location/LocationRequest;Landroid/app/PendingIntent;', b'Landroid/location/LocationRequest;Landroid/location/LocationListener;Landroid/os/Looper;', b'JFLandroid/location/Criteria;Landroid/app/PendingIntent;', b'Ljava/lang/String;JFLandroid/app/PendingIntent;', b'
Ljava/lang/String;JFLandroid/location/LocationListener;', b'JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;', b'Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;'])

At this point, my suspicion is that the call to requestLocationUpdates is actually succeeding; but that call is causing a call back on the location listener, and there's something going wrong with that invocation.
Changing the input arguments to 2 integers causes a type lookup failure, and the error is exactly what I'd expect - telling you that there's no version of requestLocationUpdates that matches II (two integers) as inputs.
Looking at the docs for LocationListener, I'm seeing 2 discrepancies:

There's no onFlushComplete method, which is required by the interface
The onLocationChange method should be named onLocationChanged

If you make those two changes, does the error resolve itself?

Closing due to lack of activity. If you believe this issue is still present, please let us know and we can reopen.


"API error whilst retrieving events for cameras ['xxx'] for Frigate instance frigate"

Checklist:

[X] I updated to the latest version available
[X] I cleared the cache of my browser

Release with the issue:
Last working release (if known):
Browser and Operating System:
Safari, Chrome, Arc (all latest version)
macOS, Android
Description of problem:
Hello
as suggested in the Frigate's github, I post my problem here, since I've no error in the Frigate logs.
using Frigate (Docker) + HAOS and frigate card
8 cameras
When the frigate card is displayed in the dashboard, a lot of camera feeds display the error below :
{
"request": {
"type": "frigate/events/get",
"instance_id": "frigate",
"cameras": [
"garage"
],
"limit": 50,
"id": 50
},
"response": {
"code": "frigate_error",
"message": "API error whilst retrieving events for cameras ['garage'] for Frigate instance frigate"
}
}
Frigate card diagnostic information
When the frigate card is displayed in the dashboard, a lot of camera feeds display the error below :
{
"request": {
"type": "frigate/events/get",
"instance_id": "frigate",
"cameras": [
"garage"
],
"limit": 50,
"id": 50
},
"response": {
"code": "frigate_error",
"message": "API error whilst retrieving events for cameras ['garage'] for Frigate instance frigate"
}
}

Javascript errors shown in the web inspector (if applicable):

Additional information:
FRIGATE LOG
2023-09-02 08:09:28.434019341  [INFO] Starting Frigate...
2023-09-02 08:09:29.554489008  [2023-09-02 08:09:29] frigate.app                    INFO    : Starting Frigate (0.12.1-367d724)
2023-09-02 08:09:29.626612680  [2023-09-02 08:09:29] peewee_migrate                 INFO    : Starting migrations
2023-09-02 08:09:29.649620227  [2023-09-02 08:09:29] peewee_migrate                 INFO    : There is nothing to migrate
2023-09-02 08:09:29.673957528  [2023-09-02 08:09:29] detector.coral                 INFO    : Starting detection process: 290
2023-09-02 08:09:32.317383219  [2023-09-02 08:09:29] frigate.app                    INFO    : Output process started: 292
2023-09-02 08:09:32.317478269  [2023-09-02 08:09:29] frigate.app                    INFO    : Camera processor started for escalier: 297
2023-09-02 08:09:32.318837597  [2023-09-02 08:09:29] frigate.app                    INFO    : Camera processor started for atelier: 299
2023-09-02 08:09:32.318842336  [2023-09-02 08:09:29] frigate.app                    INFO    : Camera processor started for entree: 300
2023-09-02 08:09:32.318849269  [2023-09-02 08:09:29] frigate.app                    INFO    : Camera processor started for parking: 301
2023-09-02 08:09:32.318851574  [2023-09-02 08:09:29] frigate.app                    INFO    : Camera processor started for parking2: 303
2023-09-02 08:09:32.318988042  [2023-09-02 08:09:29] frigate.app                    INFO    : Camera processor started for terrasse: 305
2023-09-02 08:09:32.318991067  [2023-09-02 08:09:29] frigate.app                    INFO    : Camera processor started for velo: 306
2023-09-02 08:09:32.318992620  [2023-09-02 08:09:29] frigate.app                    INFO    : Camera processor started for garage: 308
2023-09-02 08:09:32.319008270  [2023-09-02 08:09:29] frigate.app                    INFO    : Capture process started for escalier: 309
2023-09-02 08:09:32.319009713  [2023-09-02 08:09:29] frigate.app                    INFO    : Capture process started for atelier: 313
2023-09-02 08:09:32.319010945  [2023-09-02 08:09:29] frigate.app                    INFO    : Capture process started for entree: 317
2023-09-02 08:09:32.319018930  [2023-09-02 08:09:29] frigate.app                    INFO    : Capture process started for parking: 321
2023-09-02 08:09:32.319020293  [2023-09-02 08:09:29] frigate.app                    INFO    : Capture process started for parking2: 325
2023-09-02 08:09:32.319021545  [2023-09-02 08:09:29] frigate.app                    INFO    : Capture process started for terrasse: 331
2023-09-02 08:09:32.319022737  [2023-09-02 08:09:29] frigate.app                    INFO    : Capture process started for velo: 334
2023-09-02 08:09:32.319040561  [2023-09-02 08:09:29] frigate.app                    INFO    : Capture process started for garage: 340
2023-09-02 08:09:32.328960847  [2023-09-02 08:09:29] frigate.detectors.plugins.edgetpu_tfl INFO    : Attempting to load TPU as usb
2023-09-02 08:09:32.328966387  [2023-09-02 08:09:32] frigate.detectors.plugins.edgetpu_tfl INFO    : TPU found
2023-09-02 08:09:34.349554405  [2023-09-02 08:09:34] frigate.util                   ERROR   : Unable to poll intel GPU stats: No device filter specified and no discrete/integrated i915 devices found
2023-09-02 08:09:34.349557671
2023-09-02 08:10:39.925811024  [2023-09-02 08:10:39] frigate.util                   ERROR   : Unable to poll intel GPU stats: No device filter specified and no discrete/integrated i915 devices found
2023-09-02 08:10:39.925814100
2023-09-02 08:16:34.520158824  [2023-09-02 08:16:34] frigate.record                 WARNING : Unable to keep up with recording segments in cache for atelier. Keeping the 5 most recent segments out of 7 and discarding the rest...
2023-09-02 08:16:34.520486814  [2023-09-02 08:16:34] frigate.record                 WARNING : Unable to keep up with recording segments in cache for entree. Keeping the 5 most recent segments out of 7 and discarding the rest...
2023-09-02 08:16:34.521962061  [2023-09-02 08:16:34] frigate.record                 WARNING : Unable to keep up with recording segments in cache for escalier. Keeping the 5 most recent segments out of 7 and discarding the rest...
2023-09-02 08:16:34.523932715  [2023-09-02 08:16:34] frigate.record                 WARNING : Unable to keep up with recording segments in cache for garage. Keeping the 5 most recent segments out of 7 and discarding the rest...
2023-09-02 08:16:34.524338853  [2023-09-02 08:16:34] frigate.record                 WARNING : Unable to keep up with recording segments in cache for parking. Keeping the 5 most recent segments out of 6 and discarding the rest...
2023-09-02 08:16:34.526739339  [2023-09-02 08:16:34] frigate.record                 WARNING : Unable to keep up with recording segments in cache for parking2. Keeping the 5 most recent segments out of 6 and discarding the rest...
2023-09-02 08:16:34.529590487  [2023-09-02 08:16:34] frigate.record                 WARNING : Unable to keep up with recording segments in cache for terrasse. Keeping the 5 most recent segments out of 7 and discarding the rest...
2023-09-02 08:16:34.530743496  [2023-09-02 08:16:34] frigate.record                 WARNING : Unable to keep up with recording segments in cache for velo. Keeping the 5 most recent segments out of 6 and discarding the rest...
2023-09-02 08:17:39.880119539  [2023-09-02 08:17:39] ws4py                          ERROR   : Error when terminating the connection: [Errno 32] Broken pipe
GO2RTC LOG
2023-09-02 08:09:28.432402997  [INFO] Preparing go2rtc config...
2023-09-02 08:09:28.716222770  [INFO] Starting go2rtc...
2023-09-02 08:09:28.843206040  08:09:28.843 INF go2rtc version 1.2.0 linux/amd64
2023-09-02 08:09:28.843450291  08:09:28.843 INF [api] listen addr=:1984
2023-09-02 08:09:28.843708329  08:09:28.843 INF [rtsp] listen addr=:8554
2023-09-02 08:09:28.844015860  08:09:28.843 INF [srtp] listen addr=:8443
2023-09-02 08:09:28.844208785  08:09:28.844 INF [webrtc] listen addr=:8555
2023-09-02 08:09:38.435679600  [INFO] Starting go2rtc healthcheck service...

as suggested in the Frigate's github, I post my problem here, since I've no error in the Frigate logs.

I bet you'll have something in your HA logs each time a request fails. The behavior here is usually when request(s) from the card have overwhelmed the backend, and HA is timing out waiting for the Frigate backend to respond. A few days ago @NickM-27 mentioned he discovered a potential performance issue on the Frigate side that may help with this.
On the card side, the only thing we could do is turn on debug logging and vet each request being sent by hand to verify there's nothing spurious spamming the backend needlessly.

On the card side, the only thing we could do is turn on debug logging and vet each request being sent by hand to verify there's nothing spurious spamming the backend needlessly.

Closing as I don't think there's anything to be done on the card side. Please re-open if you disagree.

I'm experiencing the same problem.  Although to be more specific this only happens when interacting in the timeline view with multiple cameras and when the "Show recordings" option is enabled.
I have been unable to capture any errors on the frigate logs. although frigate does crashes and recovers itself.
If multiple recording event request are being send to frigate too fast as:
http://frigate_server:port/api/camera_name/recordings?after=1697860800&before=1698063959
frigate will crash.

I also just started to see this same error.  What can I provide to help sort this out?  I tried to reinstall the card and I reinstalled the integration, but nothing has worked yet.

This is usually a version issue where one of the card, integration or Frigate is out of date. Please make sure you are running the latest of each, and if you're using a beta Frigate build you must also use a beta integration to match.
Your HA logs will also contain a matching exception/error when the card shows this, which may provide more clues.
This is an old issue so let's not discuss further here. If the above doesn't help and you want more support, please open a new issue and be sure to include a paste of the card diagnostic information.
Good luck!


Add files via upload

I have successfully completed my evaluation article by keeping all the feedback in mind. Please review.


Possible to render in Shadow DOM?

There seems to be a problem when using this package in the Shadow DOM and I'm curious if it's possible to use react-mentions when your react app is rendered in the Shadow DOM, or if it's not currently supported.
The problem comes down to the onChange event is not being dispatched for the Mention component, whereas in the normal DOM the onChange event is fired and brings up the supplied data options without problem.
There are issues with events not working as expected with React in the Shadow DOM, however the react-shadow package takes care of those issues and I've verified that the events are being dispatched correctly for other components and DOM elements - however with react-shadow (and other mention-based packages as well) the onChange event is not seen.

Phew, we've never encountered that. Could you provide us with a code snippet that highlights this?

Let's take the following simple Mention code here:
  constructor(props) {
    super(props);

    this.state = { value: 'asdf' };
  }

  handleChange = e => this.setState({ value: e.target.value });

  render() {
    const users = [
      {
        id: 'walter',
        display: 'Walter White',
      },
      {
        id: 'jesse',
        display: 'Jesse Pinkman',
      }
    ];

    return (
      <MentionsInput value={this.state.value} onChange={this.handleChange}>
        <Mention trigger="@" data={users} />
      </MentionsInput>
    );
  }

This code works when I put it into a react app that is rendered into the DOM, meaning that the ReactDOM.render method is used on a node in the DOM
ReactDOM.render(
  <Provider store={store}>
    <Router history={browserHistory} routes={Routes} />
  </Provider>,
  document.getElementById('root')
);

We have a chrome extension project that needs to use the Shadow DOM instead of the normal DOM. It changes the rendering part to be something like the following.
import ShadowDOM from 'react-shadow';

ReactDOM.render(
    <ShadowDOM>
      <div>
        <App  />
      </div>
    </ShadowDOM>,   document.getElementById('root')
);

Bump. Experiencing the same issue.

I'll have a look at this next week. Let's see if I can reproduce by adding a Shadow DOM example to our examples page.

@frontendphil thanks man, much appreciated. Here are a couple things I've found so far:
the onChange event is broken due to this line: https://github.com/effektif/react-mentions/blob/master/src/MentionsInput.js#L238
When react is rendered in the Shadow DOM the events need to be retargeted so that react is aware of the events, which means the event target will not be the active element. Without changing this IE bug fix the onChange event does not get fired.
The suggestions/highlights node can't be found with ReactDOM.findDOMNode because they're not in the DOM: https://github.com/effektif/react-mentions/blob/master/src/MentionsInput.js#L406

@frontendphil +1 A Shadow DOM example would be awesome!

Bump :)

I fiddled around with this a little. The current results are in the improvement/shadow-dom branch. react-mentions now handles the shadow dom correctly. However, it seems react itself has some issues with event delegation inside the shadow-dom [1, 2]. This is probably something that react-mentions cannot fix. But there seems to be a solution that can be applied in user land [3].
[1] https://stackoverflow.com/questions/37866237/click-event-not-firing-when-react-component-in-a-shadow-dom
[2] https://github.com/facebook/react/issues/10422
[3] https://www.npmjs.com/package/react-shadow-dom-retarget-events

hmmm this didn't seem to fix the issues for us. The two examples I had given in my Aug 12 comment don't seem to have been changed so the app is still getting stuck in those spots.
For example this line is still blocking anything in the handleOnChange https://github.com/effektif/react-mentions/blob/improvement/shadow-dom/src/MentionsInput.js#L266
You're right in regards to the react fix - that is a separate issue that won't be handled in react-mentions. The events need to be retargeted separately.
I'm going to take a closer look again and see if I can get it working in our project and maybe the changes could be merged into this repo.

The line you posted should actually be working now. I changed how the current document is retrieved and that incorporates shadow dom.
I'm currently stuck at the onSelect event not being triggered and have created an issue here: https://github.com/WeltN24/react-shadow-dom-retarget-events/issues/3
After that, the refs might become a problem, but we're only getting to this once the event handlers are fixed.

@frontendphil looks like the onSelect event may have been fixed in WeltN24/react-shadow-dom-retarget-events#3. Have you had a chance to bring that into react-mentions and test it out?


Missing pdftk executable causes promise chain to hang

Throwing in the ChildProcess error event causes the output() promise
to never resolve. Call reject() with the error instead so that a
missing pdftk executable doesn't hang the promise chain.

Good catch...no pun intended. Thank you!
I'll merge and push out a new release to npm before tomorrow.

 Thank you for creating node-pdftk, it fits my needs nicely.
I'd like to make a suggestion. When looking at this I noticed other methods can throw before output() is called, technically this is fine and works when the call to pdftk is in a try/catch block or called within a .then(), but is somewhat unexpected for a promise returning api. For example in Express example - render directly in browser if the input() method throws, next() will not be called.
One idea to eliminate the throws would be to not-throw and cache the error in the class, then all methods would check at the beginning if error is set, then return this. output() would check at the begging  too but reject(this.error). To be super safe the pre-promise methods would all follow this pattern:
method(args) {
  if (this.error)
    return this;
  try {
    <existing logic>
  }
  catch (e) {
    this.error = e;
  }
  return this;
}

With this pattern, all errors would be forwarded to the promise chain and your api now could be used in the express example without issues. (input() method would be slightly different but you get the idea).
Thoughts?

To be honest, I did a lot of learning while writing this library. Looking at it now, I completely understand how the throws can be problematic.
When I find some time, I will definitely look into cleaning them up and I'll probably borrow your suggestion for caching the errors and funneling them through the promise - I like that idea.
Thanks for your suggestion and if you want to take a shot at implementing it yourself, I always accept pull requests!

@bsdkurt - I was looking at the code and realized that all of the throws I had in place were just unnecessary. Pdftk handles these errors just fine. I removed them in my latest commit. Thanks again for your input.
https://github.com/jjwilly16/node-pdftk/commit/2db0d5054860f3f9329eace5a59ff6c08215979d


Apply phpunit for test

Apply phpunit for model classes test.

[x] Require phpunit in  composer
[x] Write test case for each model function's
[x] For test whole db handlers, handler selection shouldn't be decided from config::DB_HANDLER directly, maybe make static variable in each class and decide and set selection through this is best

Complete at https://github.com/Dictor/Chintomi/commit/7820dafccba19cf898af4fa845c1fe38ecf7835f


Establish clearer organization and naming conventions for app files/directories

This PR relates to https://www.notion.so/juicebox/Establish-clearer-organization-and-naming-conventions-for-app-files-directories-e72d12f9b773416d92a913c5514f75bc.
As per title, this PR does the following:

create pages/ directory and move relevant components there.
create providers/ directory and move relevant components there.
move App.tsx to src/ directory.
remove CatchallRedirect.tsx file, move it's component definition to Router.tsx.
updates translation files based on new filepaths

pages and providers seemed like logic low-hanging fruit and cleans the app up nicely. A contributor knows exactly what top-level pages the app has by going to pages, and we've cleaned up the top-level src directory by moving provider components to the providers/ directory.
Screenshots or screen recordings
No user-facing changes should arise from this PR.
Acceptance checklist

[x] I have evaluted the Approval Guidelines for this PR.

i like where this is going! the directory structure could definitely use improving and this feels like a step in the right direction. actually @0xzachvai recently added a few tests for formatting graph queries—not much but it's a start. let's leave the test script in for now

@peripheralist

actually @0xzachvai recently added a few tests for formatting graph queries—not much but it's a start. let's leave the test script in for now

Ohh no way! That's amazing, very happy to hear that. Will re-add the test stuff!! ❤

@peripheralist test deps and scripts re-added. 🙏
Perhaps we should leave this PR open for another day to give @jnoh @johnnyd-eth @torvusbug a chance to comment?

This feels right to me. It's akin to the NextJS organizational structure, just without the filesystem routing.

Awesome contribution here @aeolianeth this will be super handy for new devs. There's improvement to be made in this area and this is a great step in the right direction.

Thanks for taking a look @torvusbug @johnnyd-eth! 🙏
@peripheralist, think it's safe to send this back your way 🏓

after playing with this a bit more @aeolianeth , it feels a bit odd to me that the files under Components/ are grouped into subfolders named after Pages, but the page components themselves are in a separate dir. It feels like if we wanted to separate Pages from smaller/shareable components, they should be organized by functionality rather than where they're intended to be used.
I might be overthinking this or be just too married to the logic behind the current structure: folders organized by pages, with subcomponents grouped into their parent folder, and shared components separated entirely in a Shared folder.

It feels like if we wanted to separate Pages from smaller/shareable components, they should be organized by functionality rather than where they're intended to be used.

@peripheralist definitely hear what you're saying. I was torn about this, too. Personally, I like having a clear idea about what is a page and what is not. But I'm agreeing with your statement above - having the Page directory mirrored in Components feels wrong.
I wonder if this is a reasonable step in the right direction:

move each page component directory to pages/ (including each page's related components)
move everything in components/shared/* to components/ (i.e. remove shared/ dir)

the implication at this point is that everything in components/ is considered shared/

As an alternative, I'm happy to omit this change from the PR. Perhaps we are trying to fix something that isn't broken 🤔
cc @torvusbug @johnnyd-eth

It feels like if we wanted to separate Pages from smaller/shareable components, they should be organized by functionality rather than where they're intended to be used.

@peripheralist definitely hear what you're saying. I was torn about this, too. Personally, I like having a clear idea about what is a page and what is not. But I'm agreeing with your statement above - having the Page directory mirrored incomponents/ feels wrong.
I wonder if this is a reasonable step in the right direction:

move each page component directory to pages/ (including each page's related components)

move everything in components/shared/* to components/ (i.e. remove shared/ dir)

the implication at this point is that everything in components/ is considered shared/

As an alternative, I'm happy to omit this change from the PR. Perhaps we are trying to fix something that isn't broken 🤔
cc @torvusbug @johnnyd-eth

I agree with @peripheralist that shared components should be outside of the pages directories and organized in terms of functionality rather than their location in the app. But I still think making a pages directory with all top-level, unique components (and any of their sub-components not used elsewhere, such as the new navbar ones) would be useful in making the code easier to navigate.

Hey @peripheralist, in the interest of getting something merged here, I've removed the addition of the pages/ directory for the meantime.
I did some investigation and it seems like the pages/ vs components/ discussion mostly comes down to personal preference. I think I was initially trying to fix something that wasn't broken.
This PR is quite small now, but still cleans the src/ directory up nicely. Let me know what you think 🏓

good stuff @aeolianeth ! feels better to me, let's go with it.
just a few non-functional nits: want to also rename the actual exports from UserProvider, NetworkProvider, ReactQueryProvider, and ThemeProvider to match the filenames?

@peripheralist Ah, good catch! Done => https://github.com/jbx-protocol/juice-interface/pull/326/commits/1fd32d54542c26de9ec515ccdde64e91477d05ed. Also renamed the PR to be more accurate 🏓


camera not working on new compiling

followed the compiling instructions and got it on the esp
but when i import OSError: Camera Init Failed
any fix?

check the new firmware if it works. You didn't mention the board, but check also the pin layer of it.

enabled the os debugs and got error 0x105
and the pin layout seems to be not for ai thinkers module
what are the pins for that?


Utilize setup-python to resolve pip error

PR Template:
Describe your changes

Due to rollout of ubuntu-latest to ubuntu-24.04, actions using an externally managed python fail to install packages using PIP due to an externally managed flag. https://github.com/actions/runner-images/issues/10781

Ticket reference (if applicable)
Fixes #
Checklist

[ ] Are the agreed upon acceptance criteria fulfilled?

[ ] Was the 4-eye-principle applied? (async PR review, pairing, ensembling)

[ ] Do your changes have passing automated tests and sufficient observability?

[ ] Are the work steps you introduced repeatable by others, either through automation or documentation?

[ ] If automation is possible but not done due to other constraints, a ticket to the tech debt sprint is added
[ ] An SOP (Standard Operating Procedure) was created

[ ] The Changes were automatically built, tested, and  - if needed, behind a feature flag - deployed to our production environment. (Please check this when the new deployment is done and you could verify it.)

[ ] Are the agreed upon coding/architectural practices applied?

[ ] Are security needs fullfilled? (e.g. no internal URL)

[ ] Is the corresponding Ticket in the right state? (should be on "review" now, put to done when this change made it to production)

[ ] For changes to the public API / code dependencies: Was the whole team (or a sufficient amount of ppl) able to review?

lint-yaml job can be seen working here from the previous commit: https://github.com/project-kessel/relations-api/actions/runs/11366972619/job/31618566168

/lgtm


impossible to get response size

calling for a plan, a run, a milestone, etc... limit of results is 250. since the whole results list size is unavailable, it's unable to know how many offsets (testRail.plans().list(5).offset(250).execute()) needed to enumerate all the results.

I am unable to understand your question completely. The TestRail API provides two request parameters related to pagination - limit and offset. Ref: http://docs.gurock.com/testrail-api2/reference-plans#get_plans
The idea is to get a single page of results and keep iterating until you get to results which are less than the limit or to be safe until you hit an empty page. Here's one way to consume all plans:
List<Plan> plans;
int offset = 0;
int limit = 1;
do {
    // query for a page of plans
    plans = testRail.plans().list(1).limit(limit).offset(offset).execute();

    // use current page of plans before processing next page
    System.out.println(plans);

    // move offset to the end of the page
    offset += plans.size();
} while (!plans.isEmpty());

Please re-open this if you still think this is an issue with this library.


Send window updates based on examined rather than consumed.

Fixes: https://github.com/aspnet/AspNetCore/issues/8105
Will merge https://github.com/aspnet/AspNetCore/pull/8198 separate from this change (the other half).

Need https://github.com/aspnet/AspNetCore/pull/8198 before this can be merged.

/azp run AspNetCore-helix-test

@halter73 @Tratcher I updated the logic. I think this works. I'll add tests appropriately once we confirm my logic makes sense.

@aspnet/brt @mikaelm12 latest macOS failure.
  com.microsoft.signalr.HubConnectionTest > TransportAllUsesLongPollingWhenServerOnlySupportLongPolling() FAILED
      java.lang.RuntimeException at HubConnectionTest.java:1245
          Caused by: java.lang.Exception at HubConnectionTest.java:1245

latest macOS failure.

Noted. I'll file an issue and fix it. Thanks

Test failure is with InMemory process crash again. :/.
Besides that 🆙 📅

@aspnet/brt MacOS timeout near razor component stuff.

Yeah, we have some thoughts on timeouts, we'll be talking about this on Monday I think.

Port conflict issue with ANCM OutOfProc with music store. https://dev.azure.com/dnceng/public/_build/results?buildId=121641

@halter73 @davidfowl when you get the chance, can you hook me up with an approval 😄


chore(main): release picom 1.15.2

:robot: I have created a release beep boop
1.15.2 (2024-08-11)
Miscellaneous

release 1.15.1 (8ae5a50)
release 1.15.2 (a56e2b3)
release 1.15.2 (35e368a)

Code Refactoring

picom: complete the rename from compton to picom (5b81f8c)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

picom-v1.15.2
:sunflower:


Connect ingress object to existing (Apigee) load balancer?

Hey everyone,
Currently in the midst of a migration from ECS -> EKS and am struggling for formulate how this can be done (or whether or not this is the correct tool).  We are utilizing the controller properly for nearly all of our applications; but we do have an external WAF in front of a shared load balancer, Apigee.
Is there any conceivable way to have the ingress controller create the target group and routing; but be able to specify an existing load balancer?  I know this is a bit of a unique situation but any advice is much appreciated.
Thank you

@fhut
Its difference use cases. terraform & cloudFormation also lacks dynamic control of added new rules/new listeners etc.
However, for users that have fixed infrastructure settings, the targets to targetGroup binding functionality is indeed valuable.( they can get all benefits of k8s while keep use their tools to manage infrastructure).
I'll implement this functionality in V2


simplePagination doesn't work for bigger tables

Hi Flavius,
Thank you very much for creating simplePagination. I am using it and it works perfectly with small tables. However, my tables are sometimes huge (at least 1,000,000 rows). In these cases simplePagination doesn't work since it waits for the page to load first. The loading takes a long time and quickly eats up the memory so browsers crash before simplePagination can ever take effect. Is there anyway to customize simplePagination for huge tables? If not, could you please advise me how to fix this issue without using a database?

@negar7aref this is not really what simplePagination is for. Maybe you should look at Datatables with AJAX requests if you want to load data into a table with a database backend.


custom mouse cursor icon

Description of the new feature / enhancement
change the icon of mouse cursor
Scenario when this would be used?
more beautiful
Supporting information
No response

That's possible in Windows for decades. See the mouse settings.


ItemsStackPanel wasn't propagating correctly measure/arrange phases after invalidation

Bugfix
Controls calling .InvalidateMeasure() or .InvalidateArrange() when hosted in a virtualized list view (ItemsControl using a ItemsStackPanel) were not remeasured nor rearranged.
What is the current behavior?
The Measure phase of an ItemsStackPanel is not actually measuring its children. The method is
used to calculate the virtualization and check if more items are required. Only newly added items
are getting measured (and arranged).
This faulty behavior is preventing images from stretching correctly. Since
their stretch values are calculated once the image is loaded (because we
need to know the physical dimension of the image), an InvalidateMeasure
were issued on the loaded event. Hosting an image in a virtualized list were
preventing correct stretching of images, because the Arrange method were
never called after the invalidation.
What is the new behavior?
New behaviors are added in this PR:

On re-Measure, If the size is changed, the list is cleared and recreated.

On re-Measure, If the size DID NOT changed, the children items are simply remeasured.
On initial Arrange (when an item is added to the list), the calculated Rect is persisted.
On re-Arrange, all children items are being rearranged with the same size.

PR Checklist
Please check if your PR fulfills the following requirements:

[X] Tested code with current supported SDKs
[X] Tests for the changes have been added (for bug fixes / features) (if applicable)
[X] Contains NO breaking changes
[X] Updated the Release Notes
[X] Associated with an issue (GitHub or internal)

Internal Issue (If applicable):

https://nventive.visualstudio.com/Umbrella/_workitems/edit/143596 Wasm Images stretching is incorrect
https://nventive.visualstudio.com/Umbrella/_workitems/edit/143595 Wasm ListView Resizing is not working

@davidjohnoliver Your input on this PR would be important.

Agreed, it's a hack. :p


Add Assay modules to allow specific metadata for different assays

Now that we are including Datasets in the Hub, we really need additional metadata fields for specific assays (e.g. WGS vs RNAseq vs metabolomics, etc.) and for Results (model, comparison, p value adjustment method, etc.).
See Experimental Models portal for example.
e.g. https://docs.google.com/spreadsheets/d/1vDdcqt3Lgehyq1iCnlF1H9JZi63pLj-u/edit#gid=446601587&range=81:100
Currently some of this info is in DataFile, e.g. Experimental Strategy/Platform, but that's not a great place for it.
Other considerations:

Assay fields for raw vs processed seq data?
Provenance linking raw & processed files?
Use fields from protocols.io or GEO?

Also see, for example, Assay field in 1KD model

related to #109

proposed model diagram
Working on fields


anywidget not working with Panel + ipywidgets-bokeh: Class null not found in module<EMAIL_ADDRESS>

Hi
I am a user of and contributor to HoloViz Panel. One of the reasons I prefer Panel for my data apps is that it works with ipywidgets. I would like Panel and Anywidget to work together to enable users to easily develop powerful data apps using Anywidget and derived widgets like mapwidget.
Unfortunately it currently does not work.
I don't know which python package causes the issue. So I've cross posted here https://github.com/bokeh/ipywidgets_bokeh/issues/89.
Reproducible Example
pip install panel==0.14.4 ipywidgets-bokeh==1.3.0 anywidget==0.2.0

script.py
import anywidget
import traitlets

import panel as pn

pn.extension("ipywidgets")

class CounterWidget(anywidget.AnyWidget):
    _esm = """
    export function render(view) {
      let getCount = () => view.model.get("count");
      let button = document.createElement("button");
      button.classList.add("counter-button");
      button.innerHTML = `count is ${getCount()}`;
      button.addEventListener("click", () => {
        view.model.set("count", getCount() + 1);
        view.model.save_changes();
      });
      view.model.on("change:count", () => {
        button.innerHTML = `count is ${getCount()}`;
      });
      view.el.appendChild(button);
    }
    """
    _css="""
    .counter-button { background-color: #ea580c; }
    .counter-button:hover { background-color: #9a3412; }
    """
    count = traitlets.Int(0).tag(sync=True)

counter = CounterWidget()
pn.panel(counter).servable()

panel serve script.py

Open http://localhost:5006/script and see the exception in the browser console.

Class null not found in module<EMAIL_ADDRESS>
Any help would be appreciated. Thanks.

Hmm, this is my first time seeing Panel, so I'm not quite sure what's going on. It's related to how anywidget's only front-end dependnecy is being loaded. We are on v6, so i'm not sure why 2.0 is being requested.
Could this be related to this? cc @maartenbreddels
https://github.com/jupyter-widgets/ipywidgets/blob/511663a56324cea5324f49a65ebe25e2f1b04d87/docs/source/changelog.md?plain=1#L316

Just cut a release, and unfortunately I don't think the fix in #107 resolved the issue. I'll take a closer look tomorrow or over the weekend.

I have been studying this error, and I think I have hunted down where<EMAIL_ADDRESS>is being (mis)called from; ipywidgets in base-manager/manager-base.ts in a method called loadModelClass.
https://github.com/jupyter-widgets/ipywidgets/blob/511663a56324cea5324f49a65ebe25e2f1b04d87/packages/base-manager/src/manager-base.ts#L785
  protected async loadModelClass(
    className: string,
    moduleName: string,
    moduleVersion: string
  ): Promise<typeof WidgetModel> {
    try {
      const promise: Promise<typeof WidgetModel> = this.loadClass(
        className,
        moduleName,
        moduleVersion
      ) as Promise<typeof WidgetModel>;
      await promise;
      return promise;
    } catch (error) {
      console.error(error);
      const msg = `Failed to load model class '${className}' from module '${moduleName}'`;
      return widgets.createErrorWidgetModel(error, msg);
    }
  }

The 2.0.0 is being defined in ipywidgets at file _version.py here
https://github.com/jupyter-widgets/ipywidgets/blob/511663a56324cea5324f49a65ebe25e2f1b04d87/python/ipywidgets/ipywidgets/_version.py#L10
# These are *protocol* versions for each package, *not* npm versions. To check, look at each package's src/version.ts file for the protocol version the package implements.
__jupyter_widgets_base_version__ = '2.0.0'
__jupyter_widgets_output_version__ = '1.0.0'
__jupyter_widgets_controls_version__ = '2.0.0'

You can have the latest version of jupyter-widgets, but it is here that is causing the issue. I've been having the hardest time getting a dev environment for ipywidgets to work, but I added a breakpoint in the dev console at loadModelClass within ipywidgets_bokeh (since it's packing ipywidgets code for itself). I then changed the __jupyter_widgets_base_version__ = '2.0.0' to __jupyter_widgets_base_version__ = 'zort' in my installed version of ipywidgets and got this out of the console

It would seem that the moduleVersion being read by loadModelClass is reading the "protocol" version defined in ipywidgets.

I've created an issue here https://github.com/jupyter-widgets/ipywidgets/issues/3761 if @manzt or @MarcSkovMadsen would like to investigate further

Following https://github.com/bokeh/ipywidgets_bokeh/pull/97 for a fix (hopefully).

Seems to be fixed in ipywidgets-bokeh==1.5.0!

Thanks for the thorough investigation, @ndmlny-qs! 🙏

I have encountered the same error when using embed_minimal_html, see https://github.com/jupyter-widgets/ipywidgets/issues/3761#issuecomment-1755563436
For now, I will try using Panel as a workaround, since it seems like it was fixed there.

Works for me. Panel now works with AnyWidget when I've tested. See https://discourse.holoviz.org/t/panel-works-with-anywidget/6466
https://github.com/manzt/anywidget/assets/42288570/297b45b8-7071-4c08-bdd4-a8a6540c8c0f
https://github.com/manzt/anywidget/assets/42288570/2167383d-97e5-4565-844b-3c10187e23d0
https://github.com/manzt/anywidget/assets/42288570/c8b64fe8-25a5-44c8-ba8e-eabbdd3132c7
https://github.com/manzt/anywidget/assets/42288570/2198812a-e33c-4307-b62d-f4bfd74a8ee5

great!


metallb: upgrade from 0.13.5 to 0.13.7

Release notes:

https://metallb.universe.tf/release-notes/#version-0-13-7

bors r+