InvalidOperationException "The gRPC channel URI 'http://:0' could not be parsed." when using dotnet watch with .NET 8 SDK

Unable to use dotnet watch combined with func start on command line after installing .NET 8 SDK.
Repro steps:
> func new --template "Http Trigger" --name MyHttpTrigger
Use the up/down arrow keys to select a worker runtime: dotnet-isolated
Use the up/down arrow keys to select a language: c#-isolated

> dotnet watch func start --verbose
...
dotnet watch 🚀 Started
dotnet watch 🔥 Hot reload capabilities: Baseline AddMethodToExistingType AddStaticFieldToExistingType AddInstanceFieldToExistingType NewTypeDefinition ChangeCustomAttributes UpdateParameters.
Unhandled exception. System.InvalidOperationException: The gRPC channel URI 'http://:0' could not be parsed.
   at Microsoft.Azure.Functions.Worker.Grpc.GrpcWorkerClientFactory.GrpcWorkerClient.CreateClient() in D:\a\_work\1\s\src\DotNetWorker.Grpc\GrpcWorkerClientFactory.cs:line 110
   at Microsoft.Azure.Functions.Worker.Grpc.GrpcWorkerClientFactory.GrpcWorkerClient..ctor(GrpcHostChannel outputChannel, GrpcWorkerStartupOptions startupOptions, IMessageProcessor processor) in D:\a\_work\1\s\src\DotNetWorker.Grpc\GrpcWorkerClientFactory.cs:line 52
   at Microsoft.Azure.Functions.Worker.Grpc.GrpcWorkerClientFactory.CreateClient(IMessageProcessor messageProcessor) in D:\a\_work\1\s\src\DotNetWorker.Grpc\GrpcWorkerClientFactory.cs:line 33
   at Microsoft.Azure.Functions.Worker.GrpcWorker.StartAsync(CancellationToken token) in D:\a\_work\1\s\src\DotNetWorker.Grpc\GrpcWorker.cs:line 57
   at Microsoft.Azure.Functions.Worker.WorkerHostedService.StartAsync(CancellationToken cancellationToken) in D:\a\_work\1\s\src\DotNetWorker.Core\WorkerHostedService.cs:line 25
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
   at Program.<Main>$(String[] args) in C:\WIP\Experiments\Function App\Program.cs:line 7

Alternatively, edit the .csproj file to add a custom target
  <Target Name="RunFunctions">
    <Exec Command="func start --verbose" />
  </Target>

and use the following to launch
> dotnet watch msbuild /t:RunFunctions

results in the same exception.
However if you omit the dotnet watch and launch it simply using func start --verbose then the app launches correctly.
Adding a global.json file with the following content to prevent the .NET 8 SDK being used resolves the issue for a .NET 6 app:
{
  "sdk": {
    "version": "6.0.100"
  }
}

Not working:
> dotnet --info
.NET SDK:
 Version:           8.0.101
 Commit:            6eceda187b
 Workload version:  8.0.100-manifests.69afb982

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.19045
 OS Platform: Windows
 RID:         win-x64
 Base Path:   C:\Program Files\dotnet\sdk\8.0.101\

Working:
> dotnet --info
.NET SDK (reflecting any global.json):
 Version:   6.0.100
 Commit:    9e8b04bbff

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.19045
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\6.0.100\

Host:
  Version:      8.0.1
  Architecture: x64
  Commit:       bf5e279d92

The same issue is affecting function apps targetting .NET 8, and for those the workaround cannot be applied as they need to be run under the .NET 8 SDK.

This is a regression in dotnet watch for .net8 SDK. See here: https://github.com/dotnet/sdk/issues/34949

The changes for the referenced issue https://github.com/dotnet/sdk/issues/34949 for dotnet watch test didn't fix this for me.
dotnet --version
8.0.204

When starting my function app with dotnet msbuild /t:RunFunctions it starts up fine but when running dotnet watch msbuild /t:RunFunctions I get the error below
dotnet watch 🚀 Started
Unhandled exception. System.InvalidOperationException: The gRPC channel URI 'http://:' could not be parsed.
   at Microsoft.Extensions.DependencyInjection.GrpcServiceCollectionExtensions.GetFunctionsHostGrpcUri(IConfiguration configuration) in D:\a\_work\1\s\src\DotNetWorker.Grpc\GrpcServiceCollectionExtensions.cs:line 97
   at Microsoft.Extensions.DependencyInjection.GrpcServiceCollectionExtensions.<>c.<AddGrpc>b__1_3(GrpcWorkerStartupOptions grpcWorkerStartupOption, IConfiguration config) in D:\a\_work\1\s\src\DotNetWorker.Grpc\GrpcServiceCollectionExtensions.cs:line 72

This is a regression in dotnet watch for .net8 SDK. See here: dotnet/sdk#34949

#jviau could this issue be re-opened since the issue you reference didn't resolve it?

@dwoods-unimax this is not an issue with the functions product, but an issue with dotnet SDK. The issue is external and there is no action we can take.


How can I export the embedding layer's parameter from a trained word2vec model?

I plan to share this parameter to other model

Yes. It requires having the same indexer  for words across different models. Specifically, suppose you want to share a pretrained word-embedding of vocabulary size K, each of dimension d:

use the indexer to index the K words (i.e "word" -> index such as 0, 1 ...K-1)

# suppose word2vec = {w: v_ddim}
idx2w = list(word2vec.keys())
w2idx = {w: i for i, w in enumerate(idx2w)}

create the weight for embedding and use it perform look up.

weight = nd.array(word2vec.values())
sentence = 'hello world'.split()
sent_idx = nd.array([w2idx[w] for w in sentence])
sent_weights = nd.Embedding(data = sent_idx, weight = weight)

and in your new model, just remember to index the sentence using the same indexers (idx2w and w2idx.

sym, arg_params, aux_params = mx.model.load_checkpoint('your-model-prefix', best_epoch)
arg_params['the-param'].asnumpy()   # arg_params is a dict from params to NDArray

@szha but is there a mx.nd.Embedding? need i import it by the dataiter firstly and use it as a mx.symbol?

yes


Failure with psych on RHEL 6.5

Have ruby 193 installed via scl.  did scl enable ruby193 gem install --no-rdoc --no-ri zonify
Now I get this:
[root@ip-10-64-16-16 ec2-user]# zonify ec2 > ec2.yaml
/opt/rh/ruby193/root/usr/share/ruby/psych/visitors/emitter.rb:31:in scalar': wrong argument type Symbol (expected String) (TypeError) 	from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/emitter.rb:31:in visit_Psych_Nodes_Scalar'
from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/visitor.rb:15:in visit' 	from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/visitor.rb:5:in accept'
from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/emitter.rb:42:in block in visit_Psych_Nodes_Mapping' 	from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/emitter.rb:42:in each'
from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/emitter.rb:42:in visit_Psych_Nodes_Mapping' 	from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/visitor.rb:15:in visit'
from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/visitor.rb:5:in accept' 	from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/emitter.rb:26:in block in visit_Psych_Nodes_Document'
from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/emitter.rb:26:in each' 	from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/emitter.rb:26:in visit_Psych_Nodes_Document'
from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/visitor.rb:15:in visit' 	from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/visitor.rb:5:in accept'
from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/emitter.rb:20:in block in visit_Psych_Nodes_Stream' 	from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/emitter.rb:20:in each'
from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/emitter.rb:20:in visit_Psych_Nodes_Stream' 	from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/visitor.rb:15:in visit'
from /opt/rh/ruby193/root/usr/share/ruby/psych/visitors/visitor.rb:5:in accept' 	from /opt/rh/ruby193/root/usr/share/ruby/psych/nodes/node.rb:46:in yaml'
from /opt/rh/ruby193/root/usr/share/ruby/psych.rb:243:in dump' 	from /opt/rh/ruby193/root/usr/share/ruby/psych/core_ext.rb:14:in psych_to_yaml'
from /opt/rh/ruby193/root/usr/share/ruby/psych/deprecated.rb:21:in quick_emit' 	from /opt/rh/ruby193/root/usr/local/share/gems/gems/zonify-0.4.6/lib/zonify.rb:483:in sorted_hash'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/zonify-0.4.6/lib/zonify.rb:475:in block (2 levels) in format' 	from /opt/rh/ruby193/root/usr/local/share/gems/gems/zonify-0.4.6/lib/zonify.rb:474:in map'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/zonify-0.4.6/lib/zonify.rb:474:in block in format' 	from /opt/rh/ruby193/root/usr/local/share/gems/gems/zonify-0.4.6/lib/zonify.rb:469:in map'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/zonify-0.4.6/lib/zonify.rb:469:in format' 	from /opt/rh/ruby193/root/usr/local/share/gems/gems/zonify-0.4.6/bin/zonify:171:in main'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/zonify-0.4.6/bin/zonify:265:in <top (required)>' 	from /opt/rh/ruby193/root/usr/local/bin/zonify:23:in load'
from /opt/rh/ruby193/root/usr/local/bin/zonify:23:in `'
Any help would be appreciated.

This probably has to do with your version of Ruby or Psych.  I upgraded from Ruby 2.0.0 to 2.2.0 and fixed the problem.

I am closing this since it has to do with bugs in the underlying libraries.

Any reliable workaround? I just installed Ruby 2.2.2 with rbenv on Ubuntu 14.10, and am getting this same error.


Embedded records not working

I'm attempting to load a GET response of multiple models, type: publishable.
The problem is, these models have nested records.
The example JSON response is:
{
   "meta":{
      "next":null,
      "next_link":null,
      "page":1,
      "previous":null,
      "previous_link":null,
      "count":5,
      "total":1
   },
   "publishable":[
      {
         "id":1,
         "url":"http://localhost:8000/api/1/publishables/1/",
         "category":{
            "id":1,
            "url":"http://localhost:8000/api/1/categories/1/",
            "tree_path":"",
            "title":"Test Category 1",
         },
         "authors":[
            {
               "id":1,
               "url":"http://localhost:8000/api/1/authors/1/",
               "user":{
                  "id":1,
                  "username":"testUserOne",
                  "first_name":"",
                  "last_name":"",
                  "email":"",
               },
               "name":"testUserOne",
            }
         ],
         "title":"testPublishableOne",
         "slug":"testpublishableone",
         "description":"",
      },
      {
         "id":2,
         "url":"http://localhost:8000/api/1/publishables/2/",
         "category":{
            "id":1,
            "url":"http://localhost:8000/api/1/categories/1/",
            "tree_path":"",
            "title":"Test Category 1",
         },
         "authors":[
            {
               "id":1,
               "url":"http://localhost:8000/api/1/authors/1/",
               "user":{
                  "id":1,
                  "username":"testUserOne",
                  "first_name":"",
                  "last_name":"",
                  "email":"",
               },
               "name":"testUserOne",
            }
         ],
         "title":"testPublishableTwo",
         "slug":"testpublishabletwo",
         "description":"",
      }
   ]
}

Console complains:
Error while processing route: publishables.index Assertion Failed: Ember Data expected a number or string to represent the record(s) in the `authors` relationship instead it found an object. If this is a polymorphic relationship please specify a `type` key. If this is an embedded relationship please include the `DS.EmbeddedRecordsMixin` and specify the `authors` property in your serializer's attrs object.

I have added the following:
import DRFSerializer from './drf';
import DS from 'ember-data';

export default DRFSerializer.extend(DS.EmbeddedRecordsMixin, {
  attrs: {
    authors: { embedded: 'always' }
  }
});

to my /app/serializers/publishables.js, yet it still complains.
Has anyone had this problem with EmbeddedRecords?

This was due to even deeper nested values that I didn't see. It seems to be working, I'll reopen if I bump in to any other problems.


Theming for Material Selection Controls

In line with the Material Design Theme System Updates, the current Checkbox, Radio button and Switch selection control widgets do not yet have theme components. These controls are grouped together under Selection Controls in the Material Design specs
Introducing theming may end up a breaking change for these widgets, as their naming has not changed and some of the colors (notably the checkbox check) may need to be fixed. This will therefore likely need to be an opt-in feature at the beginning.
Proposal
Introducing theming for these widgets requires several new components:

A SelectionControlStyle based on the one used for buttons (simplified)
CheckboxTheme, RadioTheme, SwitchTheme and their associated Data classes
A useSelectionControlThemes option for turning on the themes until any breaking changes can be adopted
Additional options to tie the widgets to the themes

Much of the work here will be based on what was done for the new material buttons, but simplified to line up with selection controls. The challenge of having a single SelectionControlStyle for these, is that they are structurally distinct (one has a contrasting check overlay, one has an inside dot, one has a slide and the potential for a loading icon)
Another consideration is whether to add indeterminate as a material state so it can be themed separately from the selected state.
A sample of my idea for the underlying SelectionControlStyle is below, suggestions welcome:
Show code
import 'dart:ui' show lerpDouble;

import 'package:flutter/foundation.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/widgets.dart';

import 'material_state.dart';
import 'theme_data.dart';

/// The visual properties that most selection controls have in common.
///
/// Checkboxes, radio buttons, switches and their themes have a SelectionControlStyle
/// property which defines the visual properties whose default values are to be
/// overridden. The default values are defined by the individual selection control
/// widgets and are typically based on the overall theme's [ThemeData.colorScheme].
///
/// All of the SelectionControlStyle properties are null by default.
///
/// Many of the SelectionControlStyle properties are [MaterialStateProperty] objects
/// which resolve to different values depending on the selection control's state. For
/// example, the [Color] properties are defined with `MaterialStateProperty<Color>`
/// and can resolve to different colors depending on if the control is selected,
/// hovered, focused, disabled, etc.
///
/// These properties can override the default value for just one state or all of
/// them. For example to create a [Checkbox] whose color is the color scheme’s primary
/// color with 50% opacity, but only when the checkbox is indeterminate, one could
/// write:
///
/// ```dart
/// Checkbox(
///   style: SelectionControlStyle(
///     color: MaterialStateProperty.resolveWith<Color>(
///       (Set<MaterialState> states) {
///         if (states.contains(MaterialState.indeterminate))
///           return Theme.of(context).colorScheme.primary.withOpacity(0.5);
///         return null; // Use the component's default.
///       },
///     ),
///   ),
/// )
///```
///
/// In this case the color for all other button states would fallback to the
/// checkbox’s default values. To unconditionally set the checkbox's [color]
/// for all states one could write:
///
/// ```dart
/// Checkbox(
///   style: SelectionControlStyle(
///     color: MaterialStateProperty.all<Color>(Colors.green),
///   ),
/// )
///```
///
/// Configuring a SelectionControlStyle directly makes it possible to very
/// precisely control the selection control’s visual attributes for all states.
/// This level of control is typically required when a custom
/// “branded” look and feel is desirable.  However, in many cases it’s
/// useful to make relatively sweeping changes based on a few initial
/// parameters with simple values. The selection control styleFrom() methods
/// enable such sweeping changes. See:
/// [Checkbox.styleFrom], [Radio.styleFrom], [Switch.styleFrom].
///
/// For example, to override the default color for a [Checkbox] with all
/// of the standard opacity adjustments for the pressed, focused, and
/// hovered states, one could write:
///
/// ```dart
/// Checkbox(
///   style: Checkbox.styleFrom(secondary: Colors.green),
/// )
///```
///
/// To configure all of the application's checkboxes in the same
/// way, specify the overall theme's `checkboxTheme`:
/// ```dart
/// MaterialApp(
///   theme: ThemeData(
///     checkboxTheme: CheckboxThemeData(
///       style: Checkbox.styleFrom(secondary: Colors.green),
///     ),
///   ),
///   home: MyAppHome(),
/// )
///```
/// See also:
///
///  * [CheckboxTheme], the theme for [Checkbox]es.
///  * [RadioTheme], the theme for [Radio] buttons.
///  * [SwitchTheme], the theme for [Switch]es.
@immutable
class SelectionControlStyle with Diagnosticable {
  /// Create a [SelectionControlStyle].
  const SelectionControlStyle({
    this.color,
    this.overlayColor,
    this.padding,
    this.minimumSize,
    this.mouseCursor,
    this.visualDensity,
    this.tapTargetSize,
    this.enableFeedback,
  });

  /// The main color used for the selection control.
  final MaterialStateProperty<Color> color;

  /// The highlight color that's typically used to indicate that
  /// the control is focused, hovered, or pressed.
  final MaterialStateProperty<Color> overlayColor;

  /// The padding between the control's boundary and its child.
  final MaterialStateProperty<EdgeInsetsGeometry> padding;

  /// The minimum size of the control itself.
  ///
  /// The size of the rectangle the control lies within may be larger
  /// per [tapTargetSize].
  final MaterialStateProperty<Size> minimumSize;

  /// The cursor for a mouse pointer when it enters or is hovering over
  /// this control's [InkWell].
  final MaterialStateProperty<MouseCursor> mouseCursor;

  /// Defines how compact the control's layout will be.
  ///
  /// {@macro flutter.material.themeData.visualDensity}
  ///
  /// See also:
  ///
  ///  * [ThemeData.visualDensity], which specifies the [visualDensity] for all widgets
  ///    within a [Theme].
  final VisualDensity visualDensity;

  /// Configures the minimum size of the area within which the control may be pressed.
  ///
  /// If the [tapTargetSize] is larger than [minimumSize], the control will include
  /// a transparent margin that responds to taps.
  ///
  /// Always defaults to [ThemeData.materialTapTargetSize].
  final MaterialTapTargetSize tapTargetSize;

  /// Whether detected gestures should provide acoustic and/or haptic feedback.
  ///
  /// For example, on Android a tap will produce a clicking sound and a
  /// long-press will produce a short vibration, when feedback is enabled.
  ///
  /// Typically the component default value is true.
  ///
  /// See also:
  ///
  ///  * [Feedback] for providing platform-specific feedback to certain actions.
  final bool enableFeedback;

  /// Returns a copy of this SelectionControlStyle with the given fields replaced
  /// with the new values.
  SelectionControlStyle copyWith({
    MaterialStateProperty<Color> color,
    MaterialStateProperty<Color> overlayColor,
    MaterialStateProperty<EdgeInsetsGeometry> padding,
    MaterialStateProperty<Size> minimumSize,
    MaterialStateProperty<MouseCursor> mouseCursor,
    VisualDensity visualDensity,
    MaterialTapTargetSize tapTargetSize,
    bool enableFeedback,
  }) {
    return SelectionControlStyle(
      color: color ?? this.color,
      overlayColor: overlayColor ?? this.overlayColor,
      padding: padding ?? this.padding,
      minimumSize: minimumSize ?? this.minimumSize,
      mouseCursor: mouseCursor ?? this.mouseCursor,
      visualDensity: visualDensity ?? this.visualDensity,
      tapTargetSize: tapTargetSize ?? this.tapTargetSize,
      enableFeedback: enableFeedback ?? this.enableFeedback,
    );
  }

  /// Returns a copy of this SelectionControlStyle where the non-null fields in [style]
  /// have replaced the corresponding null fields in this SelectionControlStyle.
  ///
  /// In other words, [style] is used to fill in unspecified (null) fields in
  /// this SelectionControlStyle.
   What do you think?

@MrBirb - thanks for pointing that out: yes #70311 addresses the need for selection control themes.


cleanup; config option for mirror ports

Codecov Report

Merging #426 into master will decrease coverage by 0.04%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master    #426      +/-   ##
=========================================
- Coverage   97.94%   97.9%   -0.05%
=========================================
  Files          33      33
  Lines        1951    1954       +3
  Branches      128     128
=========================================
+ Hits         1911    1913       +2
- Misses         27      28       +1
  Partials       13      13

Impacted Files
Coverage Δ

...rthBoundControllerAbstraction/UpdateSwitchState.py
98.23% <100%> (-0.87%)
:arrow_down:

...hBoundControllerAbstraction/proxy/faucet/faucet.py
100% <100%> (ø)
:arrow_up:

...hBoundControllerAbstraction/proxy/faucet/parser.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ff233ef...b0826cd. Read the comment docs.


Typo in group_vars/controller

I believe that line 58 should be 'detail', not 'details'

Fixed.  Thanks for pointing that out!


CMake Packaging

This PR adds support for making gtdynamics a cmake package so we can do find_package(gtdynamics) for downstream applications. Fixes #5.
I need this for my own LRSE project and it's been long overdue.
Question: Should we stick to gtdynamics or convert the package name to GTDynamics. The former means we have CMake variables of the form gtdynamics_VERSION which is fine IMO, but we can do GTDynamics_VERSION instead if you'd like.
GTSAM does GTSAM_VERSION but it is also a shorter name.

Let’s stick to gtdynamics.
Two questions:

how do you know it works? Add evidence in PR comment.
add some statement that makes me believe it does not affect anyone negatively
Happy to approve after that - let me know by e-mail.


Support executing runTests on specific workers

What changes are proposed in this pull request?
Support executing the runTests command on specific workers.
e.g.
./alluxio runTests --workers worker1:29998,worker2:29998
If the workers are specified, runTests will be executed for each worker with writes and reads to go a dedicated worker.

Why are the changes needed?
So that we can verify if workers are up
Does this PR introduce any user facing changes?
N/A

alluxio-bot, merge this please

alluxio-bot, merge this please

alluxio-bot, cherry-pick this to branch-2.8 please

alluxio-bot, cherry-pick this to branch-2.10 please


Run unit tests on release branches

/cherry-pick release-0.3

/lgtm

CI switched to new channel
/override ci/prow/e2e-test


[Question] Begin after deepsleep produces an error

After recovering from deepsleep fram.begin produces the error:
[    68][E][Wire.cpp:499] requestFrom(): i2cWriteReadNonStop returned Error -1
This doesn't happen after a hard reset, only when waking from deepsleep.
Any idea?
I use a begin with pins only int rv = fram.begin(I2C_SDA, I2C_SCL);
This because I use non standard pins on an ESP32-C3
Before adding FRAM management all was good.
My code is too big to paste it here.
It must be related to the use of FRAM, but how?

Any idea?

no, sorry
Does it also happen when you use standard pins?

My code is too big to paste it here.

Create a minimal version that shows the problem. Should not be to difficult.

Some thoughts popped up.

is the FRAM powered during the deep sleep of the ESP?
Some types of FRAM have a sleep mode, and need up to 400 usec to recover (search for TREC in datasheet).

it might be slower to wake up than the ESP32.

I'm writing a minimal version.
No, FRAM is not powered during deepsleep.
When the ESP wakes up a pin is put as OUTPUT and HIGH to poweron FRAM.
This is the same when there's a hard reset.
I'm going to try addind a delay before posting the minimal version.

You were right!
After adding a 1 second delay it works fine.
It works also with 400ms.
I understand that for the first run pins are pulled up before entering in setup.
That's why the problem appears only after the first deepsleep.
I haven't found TREC in datasheet.
Anyway thanks for your help!

I haven't found TREC in datasheet.

might be called different in different datasheets.
You should be able to find this kind of wake up delays in the datasheet.
You may close the issue if solved


[Feature] a very simple hugging-face dataloader

Describe the feature
a very simple on-the-fly dataloader is needed to support most pubic dataset
Will you implement it?

[X] I would like to implement this feature and create a PR!

Completed in https://github.com/InternLM/InternEvo/pull/244/commits/ff2b94e2672aebd4f90b34506d224601460ad98b


Updating docs for MTU recommendations

Description
Adds links to cloud MTU docs
Related issues/PRs

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

None required

testing


Update Article “the-roudgara-campaign”

Automatically generated by Netlify CMS

👷 Deploy Preview for 4shame processing.

Name
Link

🔨 Latest commit
c95aa9b8eca36b10cbfd4e5f05ade4a6a3a2b2d5

🔍 Latest deploy log
https://app.netlify.com/sites/4shame/deploys/6339215fd58a7600088f8858


Basic semantic integration

This is a quick and dirty integration with semantic-ui (http://semantic-ui.com)
Any suggestions/feedback would be appreciated.

I think the goal here would be to leave behind specific html/css integrations and make the buttons more easily styled.

Actually, this isn't bad, but it seems like the markup is 100% the same between the two, the difference is really just classes? Seems like we should just have a bootstrap and semantic ui class helper and reduce the html code.


How prompt an error if the status code is not OK

Is your feature request related to a problem? Please describe.
Yes. I want to return an error if the status code of the response is not OK. Yet I found no guides on how to reach this.
Describe the solution you'd like
A method to turn response to hyper::Error

One ugly workaround I came through was to use anyhow::Result and anyhow!() to manually create an error return. Yet I still want to know whether hyper has a more elegant way.

Hyper is compatible with tower, which (among other things) allows you to write middleware.
You use and_then to do this.
I'm curious what your use case is though 🤔

I'm guessing your using hyper as a client. hyper is lower level, and so there isn't a built-in way to convert a StatusCode into an error. You can match resp.status() { .. } and create an error for your application that way.
Or, if you're interested in a more opinionated HTTP client, you can use reqwest, which does have Response::error_for_status().


Validate if/else with scripting element checks

Lets pretend the runScript function returned an element, that element might be collected from a wait step.
I'd like to be able to do something like this:
    g:
      operation: if
      condition:
        - operation: wait
          selector: xpath
          name: "//*[(contains(@class, 'btn') and text() = 'Coverage details') or @data-ng-show='noResultsFound']"
          timeout: 90
          asyncwait: false
        - validation: text == "Coverage details"

where text or another element prodding function allowed us to check stuff, Perhaps check id's, css classes, probably not much more.
But in the example above, I've defined both the true and the false response for that optum page, this means that we'll move on as soon as either element becomes visible rather than waiting for the timeout, but then we need to figure out which element is visible was it the one that drops us into the if block or the one that drops us into the else block.

Resolved with PR #35.


You should be able to see how big the brush is somehow

a menu for brush controls is planned #56 but maybe a size indicator on the cursor would be good too. It could appear / disappear when you change it perhaps


ActiveRecord::Base.default_timezone is deprecated and will be removed in Rails 7.1

When running using docker-compose.yml a DEPRECATION WARNING is polluting the logs:
DEPRECATION WARNING: ActiveRecord::Base.default_timezone is deprecated and will be removed in Rails 7.1.
Use `ActiveRecord.default_timezone` instead.
 (called from block (2 levels) in <top (required)> at /app/Rakefile:56)

Another deprecated call:
2022-12-11 13:00:00,781 DEBG 'cron' stderr output:
time="2022-12-11T13:00:00Z" level=info msg="Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead." channel=stderr iteration=1 job.command="cd /app && bundle exec rake fetch_feeds" job.position=0 job.schedule="*/5 * * * *"

@brotandgames yeah, I've been meaning to have a look at those. I think the spell checkers one can be resolved by upgrading bundler. The other one I'm not sure, but I got the impression it is inside of delayed job, so not sure we can fix it without moving off of delayed job. Do you want to have a go at fixing them?

@brotandgames these deprecations should be gone now with the latest main. Can you give it another try?

Works like a charm. Thank you!


feat: 🎸 5.0.0 support

Description

Added support for types spec version 5_000_000
Migrated subquery-node version to 1.0.0
Migrated project.yaml to spec version 1.0.0
Removed unwanted dependencies from package.json

JIRA Link
DA-262
Checklist

[x] Updated the Readme.md (if required) ?

Looks like the tests aren't working. Is it because the NO_NATIVE_GRAPHQL flag? Looks like graphql is returning empty responses for things.


Too Many Redirects on Logout- [APIM 4.0.0] [Keycloak]

Description
After configuring federated authentication with  keycloak 15.0.2 to the APIM 4.0.0, On the logout process it won't redirect the public API devportal. Instead browser shows Too many redirects message. There is a possibility of bounce back and fourth the logout request between keycloak and APIM.
Steps to Reproduce

Configure the keycloak and APIM 4.0.0 in a federated authenticated setup.
Login in to the devportal using provisioned user from keycloak
Logout from the portal and discover the behavior.

PR : https://github.com/wso2-extensions/identity-outbound-auth-oidc/pull/87


Add Brex logo to carousel

Signed-off-by: Benjamin Dye<EMAIL_ADDRESS>

This was just a test. PRs should be made by companies' own developers.


[Insert chapter name] x.5 becomes Chapter 5 when displaying as chapter number

Steps to reproduce

Find the One-Punch Man manga from the MangaSee extension (The source is just an example where you can reproduce the issue).
Go towards the end and find the “Mag Version” 193.5 and 194.5 chapters.
Display as chapter number.

Expected behavior
The chapter names should change to “Chapter” but the number remains the same.
Actual behavior
The chapter name changes to “Chapter” but the number turns from x.5 to 5.
Crash logs
No response
Mihon version
0.16.4
Android version
Android 14
Device
Redmi Note 9 Pro
Other details
https://github.com/mihonapp/mihon/assets/101265862/78af4608-8145-42d2-a9a6-946e2100c92f
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have gone through the FAQ and troubleshooting guide.
[X] I have updated the app to version 0.16.4.
[X] I have updated all installed extensions.
[X] I will fill out all of the requested information in this form.

While we understand why you're naming a source, please remove the name from your issue.

While we understand why you're naming a source, please remove the name from your issue.

Is this okay? Or should I remove any traces entirely?

While we understand why you're naming a source, please remove the name from your issue.

Is this okay? Or should I remove any traces entirely?

This is fine, thank you 👍

While we understand why you're naming a source, please remove the name from your issue.

Is this okay? Or should I remove any traces entirely?

This is fine, thank you 👍

You’re welcome.


Issue/Bug - Duolingo-Solution-Viewer doesn't except "i" as replacement for "i̇".

This is a curious thing...
So sometimes when there are sentences with "i" in the correct answer in the Turkish Duolingo-course, the add-on counts it as incorrect character and displays the same sentence with "i"s with weird shifted dots as correct solution (picture below).
Apparently the "i" used by me is different than the "i̇" used for the answers written by the Duolingo Turkish staff. I suppose that the letter might be composed differently here software wise, because in Turkish "i"s with and without dots are different vowels.
This might be the code behind it: https://stackoverflow.com/questions/25995451/why-i-is-not-equals-to-i̇
The weird floating dot that the solution viewer displays seems to be "Unicode Character 'COMBINING DOT ABOVE' (U+0307)".
So it seems like technically there are not one but two small issues:

the solution fewer doesn't convert the "i̇" made with i+floating dot to a single letter, or at least does not display it as such and
it does not, as it should, see "i" as equal alternative to "i̇" (which would be the desired behaviour, because then the solution viewer would not have to display the whole "corrected answer"-section in such instances)

I know that's not a huge deal, but I would appreciate a fix nonetheless.
Either way, thanks for this great add-on!

Thanks for the very detailed report!
There are three takeaways here:

we should probably not correct answers when the word bank is used,
there seems to be a problem with Unicode normalization in some cases,
we should investigate whether the cleanup of solutions (especially w.r.t. diacritics) is relevant for Turkish solutions.

I'll try to gather a few different examples to help with the last two points, and update you on this shortly.

Maybe I can help you with some more information on what kind of examples I found/had in the past:

* we should probably not correct answers when the word bank is used,

Maybe you had something in mind that I don't get because I am not familiar with the inner workings of the solution viewer, but just from what I found and the problem posted here: this issue appears independent from weather or not I use word bank or type by keyboard in duolingo, hence my suspicion that the weird "i" stems from the way some course contributors typed the "possible solution". Only sometimes the solution contains this weird "double dot-i", sometimes the "normal i", and if it is the "normal i", then the solution viewer recognizes it and doesn't output unwanted correction as it would do with "double dot-i"s.

* there seems to be a problem with Unicode normalization in some cases,

I am actually already halfway through the Turkish tree, and I only ever noticed it to have a problem with this "double dot-i" character exclusively if that helps. (The only reason I didn't report it before was, that I just started using the solution viewer add-on on firefox for android too, and there it takes up much more screen real estate when displaying those false corrections, which is a little bit annoying.

Sorry for replying on a closed topic, but I thought it might be good to keep the history of our observations of the "weird i" in one place.
First of all, I am amazed by your quick work and clean solution, seems to work great on SMALL i's, only in the rear cases when a CAPITAL i occurs things get messed up again (and weirdly affect other words too, but I suppose this would be fixed if the capital i's get the same exception-code(?) ). In the code (44e45ff) you commented that the capital i with dot is composed that way, but I don't think so, this character has it's individual code too (see Dotted and dotless I on Wikipedia)
TLDR: The code in 44e45ff (Filter out copies containing a "combining dot above" after a lowercase "i") should also be applied to uppercase "İ".

No problem, thanks for the update!
I think this could be related to some other character/invalid combination, given that the "İ" is correctly combined and should not cause any problem (also, the correction for "ispanyol" seems appropriate) :
>>> 'i\u0307'.normalize('NFC').length
2

>>> 'I\u0307'.normalize('NFC').length
1

The rest is much weirder though - could you point me to the lesson in which you got this example?

If there isn't something I missed I'd still say that what I said is the issue. In your example below you only prove that I+dot is fine, but not İ+dot, don't you?

>>> 'I\u0307'.normalize('NFC').length
1

That's no proper analogy to the problem we had with the i+dot, as we had the problem with "i+dot" not with "ı+dot". So the issue we have with duolingo seems to occur when a i which already has a dot gets (for whatever reason) combined with a second dot. That's also why I linked the wikipedia-entry in my last post, to point out that the İ [capital i with dot] I'm talking about is an individual character (u0130).

the correction for "ispanyol" seems appropriate
The correction (or missing correction] is appropriate. You gotta look closer at my screenshot - there you can see that there is a second dot attached next to the İ where I marked it, just in the same way that the i had two dots before you filtered it out and which was the initial issue of this post.
The rest is much weirder though - could you point me to the lesson in which you got this example?
This was in the still "Nations", especially in the lesson 3/5 there are several country names with capital İ. Only in sentences with an İ we have those messed up characters appearing AFTER it. I have more screenshots that I didn't upload last time:

Sorry, I can see better what's wrong now, thanks to your other screenshots.
The problem seems to come from the diff algorithm rather than from the solutions, because the difference between a ı and a i is a combining dot above.
This isolated combining dot above could be what breaks the rest of the sentences too, if it messes with the calculation of offsets, or something like this.
I'll try to come up with a solution for the difference between ı and i first, and then we can advise depending on the effect it has on the rest.

why don't we try adding
result = result.filter(!/İ\u0307/.test(_));

or, if İ has to be replaced by javascript source code:
result = result.filter(!/\u0130\u0307/.test(_));

? (I am horrible at js)
to 44e45ff?
My thought is still, that the answers with the small i are perfect now after you added that code, only the captial İ has still the extra dot and messes stuff up. Whatever couses the weird character replacements afterwards, they must be still related to the captial İ displayed with one extra dot, so we might try adressing fixing the capital İ the same way we fixed the small i first.

Ok, I think I got it (at last)! 😄
The problem came from the diff algorithm, which works on lowercase strings (to simplify the process).
A bad locale was used, so the İ was transformed into a i followed by a combining dot above, rather than just a i.
Note that the difference between "İspanyol" and "ispanyol" will be ignored from now on, as expected, because only the case varies.
Sorry for all the back and forth! this one proved to be more involved than I initially thought.


Add a linter for checking id name formats

Haml style should be consistent in the naming of things. In particular,
we should be consistent in the format that our tag ids have. This linter
lets you customize the format of your ids to one of four formats:

lisp-case like the Bootstrap convention (default)
camelCase like the JavaScript variable convention
PascalCase like the Ruby class name or React component convention
snake_case like the Ruby variable convention

This is configured in the haml-lint.yml file as follows:
linters:
  IdNames:
    enabled: true
    style: <STYLE>

where <STYLE> is one of: lisp_case, camel_case, pascal_case, or
snake_case.
Closes #138

I addressed that change and made the message a little more helpful by formatting the case style.


Use Codeclimate reporter v1.0.0 in a Travis after_success hook

This PR updates the codeclimate-test-reporter and attaches it to the after_success hook.

[ ] Add a CODECLIMATE_REPO_TOKEN

@laserlemon This just never ends.

Thank you! :clap:


Chatterino doesn't discard old messages, performance issue

Looks like chatterino as of commit f33cc88  doesn't discard old message in chat rooms that have a lot of sub/resub and chat activity, resulting in very bad performance after a few hours of runtime(on my machine at least).
Example Forsen's chat and Doc's chat:

It's definitely a performance issue

I don't even know if this is related or not
I am lost at this point

So I tried to reproduce the bug like I always reproduced it using my 53 chat rooms and letting Chatterino run for a day, usually a lot of big chat rooms with high sub activity would stop discarding the messages.
Running build based on commit cd571a7 I was unable to reproduce the issue.
Looks like PR #736  by @TETYYS  fixed the issue, so I am closing the


SendGrid sender broken on latest SendGrid package release

SendGrid v9.26.0, specifically PR#1151. Why didn't they mark it as a breaking change?!
System.MissingMethodException
Method not found: 'System.Threading.Tasks.Task`1<System.Collections.Generic.Dictionary`2<System.String,System.Object>> SendGrid.Response.DeserializeResponseBodyAsync(System.Net.Http.HttpContent)'.

System.MissingMethodException: Method not found: 'System.Threading.Tasks.Task`1<System.Collections.Generic.Dictionary`2<System.String,System.Object>> SendGrid.Response.DeserializeResponseBodyAsync(System.Net.Http.HttpContent)'.
   at FluentEmail.SendGrid.SendGridSender.SendAsync(IFluentEmail email, Nullable`1 token)
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at FluentEmail.SendGrid.SendGridSender.SendAsync(IFluentEmail email, Nullable`1 token)
   at FluentEmail.Core.Email.SendAsync(Nullable`1 token)
   at Wrkout.Api.Adapters.SendGridMailAdapter.SendMailAsync(Recipient recipient, String subject, String templateFile, Object dataObject, Attachment attachment) in D:\a\1\s\Api\Adapters\SendGridMailAdapter.cs:line 176
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
	#1304
IMailAdapter.SendSessionConfirmation

NOTE: I am working on a PR to address this

Hold on that - looks like SendGrid is going to roll back the breaking change.


Investigate IMS->OME-Zarr scaling issues

It turns out that the issue precedes the Zarr conversion step. Closing this.


fixes the issue #29379

Details

This PR fixed the opening of Plus option popover in report details page, now opening of Plus button options is ignored when navigation is in progress. We used withNavigationFocus HOC to get isFocused prop which tells if screen is not focused(navigating in progress)
ans onPress of plus button we can early return if isFoucused is false, the same ^ needs to be implemented for Emojipicker Popover.
Same as ^, is implemented for Emoji popover we ignore the press of emojibutton if navigation is progress.
Note: if first emojipopover is opened and then we click of header to navigate(we have to really fast not a case user may face in real use case) to details page it will not close the popover because Emojipicker dont have a navigation context we can't use withNavigationFocus HOC.
Fixed Issues

$ https://github.com/Expensify/App/issues/29379
PROPOSAL: https://github.com/Expensify/App/issues/29379#issuecomment-1764756030
Tests

[ ] Verify that no errors appear in the JS console

Open any report.
Tap on report header and quickly on plus icon verify popover not opens in details page
Tap on report header and quickly on emoji popover verify emoji  popover not opens in details page
Tap plus icon and quickly tap the header verify popover closes as soon user is navigated to details page

Offline tests

QA Steps

[ ] Verify that no errors appear in the JS console

Open any report.
Tap on report header and quickly on plus icon verify popover not opens in details page
Tap on report header and quickly on emoji popover verify emoji  popover not opens in details page
Tap plus icon and quickly tap the header verify popover closes as soon user is navigated to details page

PR Author Checklist

[ ] I linked the correct issue in the ### Fixed Issues section above
[ ] I wrote clear testing steps that cover the changes made in this PR

[ ] I added steps for local testing in the Tests section
[ ] I added steps for the expected offline behavior in the Offline steps section
[ ] I added steps for Staging and/or Production testing in the QA steps section
[ ] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[ ] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[ ] I included screenshots or videos for tests on all platforms
[ ] I ran the tests on all platforms & verified they passed on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I followed proper code patterns (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[ ] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I followed the guidelines as stated in the Review Guidelines
[ ] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] I verified that if a function's arguments changed that all usages have also been updated correctly
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome
https://github.com/Expensify/App/assets/104348397/5fc8167c-7061-4ca0-8aaa-0991c47c6523

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/104348397/ea2627d6-d46e-48ef-852e-879276548454

MacOS: Desktop

Works well, there are a couple of small changes needed for the comments and the author checklist isn't finished yet

I think we need to kick off adhoc build because its really hard to test changes on simulator and we may not be able test properly issue occurs only 1/10 time using emulator. Wdyt? 👍 or 👎

That is a great idea!
Just add "Ready To Build" label to the PR, it should do the trick

@NikkiWines, this isn't ready for your review yet, could you please add "Ready To Build" label to this PR so we can test this on physical devices?

Huh, that didn't work
Based on this discussion

you have to start it manually iirc, see https://stackoverflowteams.com/c/expensify/questions/15778/15779
Try https://github.com/Expensify/App/actions/workflows/testBuild.yml > Run workflow

@NikkiWines, could you see if you can trigger the build process manually? Thanks

done! Might take a lil' while to complete

:test_tube::test_tube: Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! :test_tube::test_tube:

Android :robot:
iOS :apple:

https://ad-hoc-expensify-cash.s3.amazonaws.com/android/30864/index.html
https://ad-hoc-expensify-cash.s3.amazonaws.com/ios/30864/index.html

Desktop :computer:
Web :spider_web:

https://ad-hoc-expensify-cash.s3.amazonaws.com/desktop/30864/NewExpensify.dmg
https://30864.pr-testing.expensify.com

@ishpaul777, I don't think there is a way for non-internal engineers to run AdHoc builds on iOS (we'd have to add UUID for each device manually)
You can run native iOS on a physical device in dev (or just build it yourself if you have a paid apple dev account), but this allows us to test mWeb on physical devices

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/NikkiWines in version: 1.3.99-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/roryabraham in version: 1.3.99-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Updates to enable compilation of chemistry_gpu.

Various minor issues prevented chemistry_gpu from compiling, and minor changes are needed to update this part of the code to account for the temperature floor implementation. This update has been confirmed to compile (on Frontier) and can now be used for validating the cosmological simulations run with dev that include chemistry and cooling.

I've rerun the tests on this one, and the only thing that is failing is clang tidy, because the Chemistry_Header struct doesn't meet our style guidelines, which specify pascal case for structs (so it should be ChemistryHeader). See the summary at the very bottom of this discussion https://github.com/cholla-hydro/cholla/discussions/206.
I apologize that this is not in a more prominent place - adding style guidelines to the PR instructions on the wiki will go on my to-do list.

@evaneschneider I think this branch fails to build because of changes to the reconstruction when -DSCALAR is set, not because of changes I made. The dev branch currently does not compile for me when -DSCALAR is set (e.g., adding -DSCALAR to make.type.hydro, and then make TYPE=hydro HOST=lux -j 20 fails to compile).
I can't log into the jenkins/pr-merge link to see though.

I'm actually not sure what's going on - something seems to be going wrong with our clang-tidy setup on the cluster, we haven't been able to run it successfully on any builds this week. All of the builds and tests for this commit passed though, so I'm just going to merge it while I try to figure out what's happening.


Add link to GitHub repo on Material Theme Builder web version

Currently, there is no any links from web version to GitHub repo.
What about e.g. adding GitHub icon to the top right corner?

Thanks for the feedback!


add auto go mod tidy after version upgraded for command up

Codecov Report
Base: 79.60% // Head: 79.60% // No change to project coverage :thumbsup:

Coverage data is based on head (395f287) compared to base (28b8efe).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #2407   +/-   ##
=======================================
  Coverage   79.60%   79.60%
=======================================
  Files         598      598
  Lines       49682    49682
=======================================
  Hits        39551    39551
  Misses       8132     8132
  Partials     1999     1999

Flag
Coverage Δ

go-1.15-386
?

go-1.15-amd64
79.65% <ø> (-0.01%)
:arrow_down:

go-1.16-386
79.61% <ø> (-0.02%)
:arrow_down:

go-1.16-amd64
79.63% <ø> (-0.04%)
:arrow_down:

go-1.17-386
79.63% <ø> (-0.01%)
:arrow_down:

go-1.17-amd64
79.63% <ø> (-0.01%)
:arrow_down:

go-1.18-386
79.59% <ø> (+0.01%)
:arrow_up:

go-1.18-amd64
79.57% <ø> (-0.02%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


CTE improvement table

The CTE improvement table requires the following changes:

Title: Potential CTE improvement per transition and waiting time cause
Remove the heatmap pop-up.
Align the column widths with the ones in the Transitions table.
Align the column order and the column names with the ones in the Transitions table (e.g., "Total Extrantious" -> "Extrantious")
The format of the Case frequency should be the same as in the Transitions table. Format: xx.xx% (two signs after the dot).
Display 10 rows + pagination.

Resolved (In subtable popup)
resolved
resolved
resolved
resolved
resolved

Main table

subtable

Tested: success.


adjust tests to new tech stack

The test suite in minitwit_tests.py should pass for your refactored application too. Likely, you have to modify the setup method slightly so that it points to your application. However, all test methods of the API tests should pass on your refactored application.
First in a next step translate the old test suite to your new language/tech. stack too.

Convert old test file to new system in C# backend


MASSIVE OpenGL / WebGL performance degradation after ROCm installation

Today I've run into a weird issue:
I'm working on an Electron application that uses three.js / WebGL.
Without ROCm installed everything's fine: The all-open amdgpu drivers provide smooth 60fps.
After installation of ROCm, however, I'm barely getting 4 (four) FPS!
Ubuntu 20.04 @ 5.4.0-48-generic
Radeon VII
Only difference I notice is that pre-ROCm, glxinfo reports Device: AMD Radeon VII (VEGA20, DRM 3.35.0, 5.4.0-48-generic, LLVM 10.0.0) (0x66af), with ROCm it's Device: AMD Radeon VII (VEGA20, DRM 3.40.0, 5.4.0-48-generic, LLVM 10.0.0) (0x66af)
Any ideas?
NOTE: Even after installation of ROCm, Unigine Superposition runs at well over 100FPS, i.e. performance compared with pre-ROCm is the change.

This doesn't look to be related to ROCm.
Maybe you messed up your Mesa installation, and it is falling back to software rasterizer.

Before:
glxinfo: OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.0.8
dpkg: ii  libgl1-mesa-dri:amd64 20.0.8-0ubuntu1~20.04.1 amd64        free implementation of the OpenGL API -- DRI modules
Electron Application: Smooth
Install ROCm via sudo apt install rocm-dkms && sudo reboot
glxinfo: OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.0.8
dpkg: ii  libgl1-mesa-dri:amd64 20.0.8-0ubuntu1~20.04.1 amd64        free implementation of the OpenGL API -- DRI modules
Electron Application: Unusable.
After removing ROCm via sudo apt autoremove rocm-opencl rocm-dkms rocm-dev rocm-utils && sudo reboot && sudo dpkg purge rock-dkms && sudo reboot
glxinfo: OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.0.8
dpkg: ii  libgl1-mesa-dri:amd64 20.0.8-0ubuntu1~20.04.1 amd64        free implementation of the OpenGL API -- DRI modules
Electron Application: Smooth
I can repeat this cycle as often as I want (already tested about 5 times). After removing ROCm, everything works as before, the Electron application is smooth. Reinstall ROCm -> 4FPS. Remove it....
Another that caught my attention: Rendering bug when windows are not focused anymore. That does not happen when ROCm is not present.

report_good.txt
report_bad.txt
Electron chrome://gpu reports. So yes, Electron indeed falls back to software rendering. The system Chrome browser works as expected.
chrome_rocm.txt
...but why?

...seems like, for some reason, ROCm triggers an entry on the chromium GPU blacklist.
Adding  --ignore-gpu-blacklist enables GPU acceleration.

Relevant chromium commit is d81b8386aa656f8324959a81e3cc236c8d68adf5
https://chromium.googlesource.com/chromium/src/+/d81b8386aa656f8324959a81e3cc236c8d68adf5^!/#F0
ROCm identifies as AMD (Brahma).
What's the reason for this name?

Where do you find ROCm identifying as AMD (Brahma)? This is likely a bug.

I thought I also spotted Brahma in glxinfo, however I was wrong. Brahma only occurs in the Chrome GPU info.
I have digged through the chromium source code and discovered that in their ANGLE library (it was factored out of chromium at some point), they hard set driverVendor to AMD (Brahma) if the AMD Vendor ID is detected, see https://github.com/google/angle/blob/ff0ec95b929e880ded5a835e96851219566a69f1/src/gpu_info_util/SystemInfo_linux.cpp#L96-L103
So yeah, this is, in fact, a chromium thing (or bug if you want). I don't know what's the best thing to do at this point, but it might be a good idea for AMD to speak with Google to see whether there's anything that needs to be and can be done about this.

I looks they directly read the amdgpu module version from stars, and if
there are any letters  or dashes, in the version they assume it is
proprietary driver.
It should be easy to fix, possibly add a minimum amdgpu version instead.
On Fri, 25 Sep 2020, 17:49 Robin Christ<EMAIL_ADDRESS>wrote:

I thought I also spotted Brahma in glxinfo, however I was wrong. Brahma
only occurs in the Chrome GPU info.
I have digged through the chromium source code and discovered that in
their ANGLE library (it was factored out of chromium at some point), they
hard set driverVendor to AMD (Brahma) if the AMD Vendor ID is detected,
see
https://github.com/google/angle/blob/ff0ec95b929e880ded5a835e96851219566a69f1/src/gpu_info_util/SystemInfo_linux.cpp#L96-L103
So yeah, this is, in fact, a chromium thing (or bug if you want). I don't
know what's the best thing to do at this point, but it might be a good idea
for AMD to speak with Google to see whether there's anything that needs to
be and can be done about this.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/RadeonOpenCompute/ROCm/issues/1239#issuecomment-699006303,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA254RWVYNXLD2GMXP2NGDSHS3YJANCNFSM4RXKYDPA
.

Please give me the actual strings you are seeing for amdgpu module version from stars. What is stars?
I am not very familiar with this part of Linux as I don't use a Linux desktop.

I mean from statfs.
On Fri, 25 Sep 2020, 18:26 Witold Baryluk<EMAIL_ADDRESS>wrote:

I looks they directly read the amdgpu module version from stars, and if
there are any letters  or dashes, in the version they assume it is
proprietary driver.
It should be easy to fix, possibly add a minimum amdgpu version instead.
On Fri, 25 Sep 2020, 17:49 Robin Christ<EMAIL_ADDRESS>wrote:

I thought I also spotted Brahma in glxinfo, however I was wrong. Brahma
only occurs in the Chrome GPU info.
I have digged through the chromium source code and discovered that in
their ANGLE library (it was factored out of chromium at some point), they
hard set driverVendor to AMD (Brahma) if the AMD Vendor ID is detected,
see
https://github.com/google/angle/blob/ff0ec95b929e880ded5a835e96851219566a69f1/src/gpu_info_util/SystemInfo_linux.cpp#L96-L103
So yeah, this is, in fact, a chromium thing (or bug if you want). I don't
know what's the best thing to do at this point, but it might be a good idea
for AMD to speak with Google to see whether there's anything that needs to
be and can be done about this.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/RadeonOpenCompute/ROCm/issues/1239#issuecomment-699006303,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA254RWVYNXLD2GMXP2NGDSHS3YJANCNFSM4RXKYDPA
.

I mean from statfs.
…
On Fri, 25 Sep 2020, 18:26 Witold Baryluk, @.> wrote: I looks they directly read the amdgpu module version from stars, and if there are any letters or dashes, in the version they assume it is proprietary driver. It should be easy to fix, possibly add a minimum amdgpu version instead. On Fri, 25 Sep 2020, 17:49 Robin Christ, @.> wrote: > I thought I also spotted Brahma in glxinfo, however I was wrong. Brahma > only occurs in the Chrome GPU info. > > I have digged through the chromium source code and discovered that in > their ANGLE library (it was factored out of chromium at some point), they > hard set driverVendor to AMD (Brahma) if the AMD Vendor ID is detected, > see > https://github.com/google/angle/blob/ff0ec95b929e880ded5a835e96851219566a69f1/src/gpu_info_util/SystemInfo_linux.cpp#L96-L103 > > So yeah, this is, in fact, a chromium thing (or bug if you want). I don't > know what's the best thing to do at this point, but it might be a good idea > for AMD to speak with Google to see whether there's anything that needs to > be and can be done about this. > > — > You are receiving this because you commented. > Reply to this email directly, view it on GitHub > <#1239 (comment)>, > or unsubscribe > https://github.com/notifications/unsubscribe-auth/AAA254RWVYNXLD2GMXP2NGDSHS3YJANCNFSM4RXKYDPA > . >

Send me the outputs so that I can identify which part of rocm it is. Seems like a simple fix if I can get the offending line in a rocm repository.

https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/blob/master/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c#L97
says:
#define AMDGPU_VERSION		"5.6.15"
...
...
MODULE_VERSION(AMDGPU_VERSION);

so this should work and be normal in /sys/module/amdgpu/version
Maybe the dkms code is slightly modified to the the tree there.
The Chromium / ANGLE parsing code is here:
https://chromium.googlesource.com/angle/angle/+/refs/heads/master/src/gpu_info_util/SystemInfo_linux.cpp#42
https://chromium.googlesource.com/angle/angle/+/refs/heads/master/src/gpu_info_util/SystemInfo.cpp#163
bool ParseAMDBrahmaDriverVersion(const std::string &content, std::string *version)
{
    const size_t begin = content.find_first_of("0123456789");
    if (begin == std::string::npos)
    {
        return false;
    }
    const size_t end = content.find_first_not_of("0123456789.", begin);
    if (end == std::string::npos)
    {
        *version = content.substr(begin);
    }
    else
    {
        *version = content.substr(begin, end - begin);
    }
    return true;
}

I don't use the dkms driver from rocm, so I can't check what it says exactly.
@robinchrist  Please provide content of /sys/module/amdgpu/version when the rocm-dkms is installed (you probably need a reboot after install).

I was wrong in saying "it assumes it is propietery driver" if there are no-digits detected.
In fact it assumes it is propietary driver, if the /sys/module/amdgpu/version exists, and contains any numbers. The returned version is stripped from non-digit suffix for consumption later in the stack. But mare presence is enough to trigger the logic.

@robinchrist Did you have time to report this issue to chromium developers?

Hi @robinchrist
Is this issue is still observed with ROCm 4.0? Can you please check and confirm.
Thank you.

Hi @robinchrist
Is this issue is still observed with ROCm 4.0? Can you please check and confirm.
Thank you.

Hi @robinchrist
Can you please respond by trying it on ROCm 4.0.
Else request you to close this issue if not reproducible.
Thank you.

Closing this ticket as there is no response from @robinchrist.  If the issue still exists with latest ROCm6.0.0, please re-open the ticket.  Thanks.


chore(infra): re-enable cairo native build

This change is

.github/workflows/committer_ci.yml line 120 at r6 (raw file):
Previously, noaov1 (Noa Oved) wrote…
@aner-starkware

This is just where to post the comment. AFAIK, this line doesn't work, so it doesn't matter, but if it does work, it's better to include it.


Generation errors with ControlNet

If you enable ControlNet, generation will error but ultimately work after dismissing the error.
Additionally, ControlNet preview fails with the same error. I suspect it's only the preview failing to load.
To Reproduce

Go to ControlNet dock
Enable ControlNet 1 and configure it
Generate under the Text2Image dock
See error

Screenshots

AttributeError
Python 3.11.3: /usr/bin/python3
Mon Jul 31 11:31:31 2023

A problem occurred in a Python script.  Here is the sequence of
function calls leading up to the error, in the order they occurred.

 /media/Makai/home/.local/share/krita/pykrita/krita_comfy/script.py in cb(response={'info': {'all_names': ['ComfyUI_00117_.png'], 'cfg_scale': 8.0, 'negative_prompt': 'worst quality, low quality', 'prompt': 'a chibi fox girl, best quality', 'sampler_name': 'euler', 'sd_model': 'Anime/breakdomainanime_A0440.safetensors', 'steps': 15}, 'outputs': ['iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAAA...HnBSle15RkYmxEQLj/wddxjELbrYXIwAAAABJRU5ErkJggg==']})
  419             assert response is not None, "Backend Error, check terminal"
  420             output = response["outputs"]
  421             pixmap = QPixmap.fromImage(b64_to_img(output))
  422             self.controlnet_preview_annotator_received.emit(pixmap)
  423
pixmap undefined
global QPixmap = <class 'PyQt5.QtGui.QPixmap'>
QPixmap.fromImage = <built-in function fromImage>
global b64_to_img = <function b64_to_img>
output = ['iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAAA...HnBSle15RkYmxEQLj/wddxjELbrYXIwAAAABJRU5ErkJggg==']

 /media/Makai/home/.local/share/krita/pykrita/krita_comfy/utils.py in b64_to_img(enc=['iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAAA...HnBSle15RkYmxEQLj/wddxjELbrYXIwAAAABJRU5ErkJggg=='])
  195 def b64_to_img(enc: str):
  196     """Converts base64-encoded string to QImage"""
  197     ba = QByteArray.fromBase64(enc.encode("utf-8"))
  198     return QImage.fromData(ba) #Removed explicit format to support other image formats.
  199
ba undefined
global QByteArray = <class 'PyQt5.QtCore.QByteArray'>
QByteArray.fromBase64 = <built-in function fromBase64>
enc = ['iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAAA...HnBSle15RkYmxEQLj/wddxjELbrYXIwAAAABJRU5ErkJggg==']
enc.encode undefined
AttributeError: 'list' object has no attribute 'encode'
    __cause__ = None
    __class__ = <class 'AttributeError'>
    __context__ = None
    __delattr__ = <method-wrapper '__delattr__' of AttributeError object>
    __dict__ = {}
    __dir__ = <built-in method __dir__ of AttributeError object>
    __doc__ = 'Attribute not found.'
    __eq__ = <method-wrapper '__eq__' of AttributeError object>
    __format__ = <built-in method __format__ of AttributeError object>
    __ge__ = <method-wrapper '__ge__' of AttributeError object>
    __getattribute__ = <method-wrapper '__getattribute__' of AttributeError object>
    __getstate__ = <built-in method __getstate__ of AttributeError object>
    __gt__ = <method-wrapper '__gt__' of AttributeError object>
    __hash__ = <method-wrapper '__hash__' of AttributeError object>
    __init__ = <method-wrapper '__init__' of AttributeError object>
    __init_subclass__ = <built-in method __init_subclass__ of type object>
    __le__ = <method-wrapper '__le__' of AttributeError object>
    __lt__ = <method-wrapper '__lt__' of AttributeError object>
    __ne__ = <method-wrapper '__ne__' of AttributeError object>
    __new__ = <built-in method __new__ of type object>
    __reduce__ = <built-in method __reduce__ of AttributeError object>
    __reduce_ex__ = <built-in method __reduce_ex__ of AttributeError object>
    __repr__ = <method-wrapper '__repr__' of AttributeError object>
    __setattr__ = <method-wrapper '__setattr__' of AttributeError object>
    __setstate__ = <built-in method __setstate__ of AttributeError object>
    __sizeof__ = <built-in method __sizeof__ of AttributeError object>
    __str__ = <method-wrapper '__str__' of AttributeError object>
    __subclasshook__ = <built-in method __subclasshook__ of type object>
    __suppress_context__ = False
    __traceback__ = <traceback object>
    add_note = <built-in method add_note of AttributeError object>
    args = ("'list' object has no attribute 'encode'",)
    name = 'encode'
    obj = ['iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAAA...HnBSle15RkYmxEQLj/wddxjELbrYXIwAAAABJRU5ErkJggg==']
    with_traceback = <built-in method with_traceback of AttributeError object>

The above is a description of an error in a Python program.  Here is
the original traceback:

Traceback (most recent call last):
  File "/media/Makai/home/.local/share/krita/pykrita/krita_comfy/script.py", line 421, in cb
    pixmap = QPixmap.fromImage(b64_to_img(output))
                               ^^^^^^^^^^^^^^^^^^
  File "/media/Makai/home/.local/share/krita/pykrita/krita_comfy/utils.py", line 197, in b64_to_img
    ba = QByteArray.fromBase64(enc.encode("utf-8"))
                               ^^^^^^^^^^
AttributeError: 'list' object has no attribute 'encode'

Desktop:

OS: Arch Linux
Krita: 5.1.5
ComfyUI: 4a77fcd
Plugin: 0826773

Hey. I made a new push. Can you check if the issue is solved?

Works! Thank you!


Allowed paths in JWT

Allow the restriction to specific paths in a JWT. This best explained by an example:
{"server_id":"foo", "allowed_paths":["/_api/version"]}

{"server_id":"foo", "allowed_paths":["/_admin/statistics"]}

Currently most tools (operator, prometheus exporter) use the superuser token everywhere.

http://jenkins01.arangodb.biz:8080/job/arangodb-matrix-pr/3600/

This PR is not up-to-date with the changes made in devel for the same functionality via 06526b0a3201dc0be5d75c0ccff36a15f007a76f.


set GOARM for older arm variants

Prior to aarch64 to build for arm variants you needed to set GOARCH=arm GOARM=v6 or whatnot.
I don't believe we currently set this, although I believe it appears in the platform info in the manifest list.
cc @jonjohnsonjr
I noticed this building a ko image on golang, which has many many variants.

From https://golang.org/cmd/go/:
For GOARCH=arm, the ARM architecture for which to compile.
	Valid values are 5, 6, 7.


Simultaneous pickup and delivery: benchmarks

For the next release cycle (so, 0.8.0 or so), I would like to try to get some form of mixed backhaul into PyVRP. Right now we only support deliveries from the depots to the clients, and I would like to also add return shipments from the clients to the depots.
João Santos et al. (2023) provide an overview of many VRPs with pickup and delivery, including various forms of backhaul.
Originally posted by @N-Wouda in https://github.com/PyVRP/PyVRP/issues/331#issuecomment-1913578985

After #471, we should find a set of benchmark instances for a variant of VRPSPD. Some options are:

Montané and Galvão (2006): 18 VRPSPD instances with [100-400] clients

Issue: can't find these instances. I have contacted Anand Subramanian, since he also used this to benchmark ILS-RVND-SP.
If we use these instances then we can compare with Vidal et al. (2014).

Queiroga et al. 2019

Instances can be found here: http://www.vrp-rep.org/datasets/item/2019-0003.html
We could use these instances instead and compare with a bunch of metaheuristics from https://link.springer.com/article/10.1007/s11590-020-01564-5.

I'm keeping this open just until we get some benchmark results in.

#482 is related to this - we should figure that one out to get the full benchmark runs in.

It's 300 instances (3 variants for all 100 X instances), so that's a bit much for a benchmark.

What's the stopping criterion? Intuitively I agree that this is a bit much and we might want to take a subset of these instances for PyVRP, but if the runtime limit is small we might also be able to keep all of them. If not, maybe we should take the ~30 biggest instances for each variant, for a total of 90 instances?

The stopping criterion was unspecified, so I went for the same convention as CVRP/X instances: $2.4 * n$, where $n$ is the number of clients.
That’s an average of 20 minute per instance * 300 instances = 100h. Multiply by 10 seeds and we have 1000h. That’s about the same as VRPTW and PCVRPTW (60 * 2 * 10 = 1200h).
I think taking the 30 biggest instances per category is a good idea!

We now have benchmark instances, so I'm closing this issue. We'll need to investigate some of the behaviours further in #482, but that is unrelated to the issue of obtaining benchmark instances in the first place.


Assignment completed

wrote subtraction, division, and multiplication methods and tests

Nice job. Your code is formatted and readable, and the syntax is perfect.


Added a new job tab for Specific station jobs

About the PR

Closes #15500

Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

:cl: Vasilis

add: Added a new job tab for Station specific jobs, as well as saying what stations have the role.

I personally dont like these jobs being station specific and would instead prefer if each station could have up to 2 of these jobs and no more than 2. Any combination of the 2 jobs. This is so the roles get used a little more and are not obsolete when a specific map drops out of rotation or from lack of maintenance. Just my opinion though.

I personally dont like these jobs being station specific and would instead prefer if each station could have up to 2 of these jobs and no more than 2. Any combination of them. This is so the roles get used a little more and are not obsolete when a specific map drops out of rotation or from lack of maintenance. Just my opinion though.

Maybe this will encourage mappers to put them in their own maps, for now saying what station they are available on is a nice idea.

we can discuss this in cartography brainfood


pt-BR translation (Now it's correct, I guess)

Sorry about the last PR. (#25)
I've made some mistakes, and had to "re-fork" the repository. Sorry about that.
By now, I think is complete the translation for pt-BR.
Still talking about #24

Well, next time you don't have to delete and fork again. Push your corrections as another commit to the same branch, the PR will automatically update.
See how #22 was working:

The contributor send a PR with a commit (e0b5e62).
I reviewed and requested some changes.
He then pushed another commit (d2b0922).
LGTM so I merged the PR in squash mode.


Support S3 Signature Version 4

Supply a '--region' flag to 'aws s3 rm' and 'aws s3 rb', which make it
use signature version 4, which is required for certain S3 regions.

@yuyantingzero @stfeng @skschneider @ehankland please take a look.

LGTM


create a toonstore app

Even though we are not a QML app like other toonstore apps, there's no reason we could not be in their 'store' (all of which is free). My current thinking is a Voorkant button that opens a simple confirmation dialogue, that explains that returning to Toon will take a few minutes.
As for implementation, I do not know if QML apps can execute things, but I do know they can write files, so one approach might be that some voorkant-launcher-daemon is running, waiting for the appearance of some file somewhere, and then it kills qt-gui and starts voorkant-lvgl.
For bonus points (I've been pondering this for a while without a sensible outcome so far), find a way to suspend qt-gui -without- it getting delivered 500 touch events when it resumes, so we can cheaply switch back and forth. chvt does not appear to be the way, it's in the wrong layer.

-without- it getting delivered 500 touch events when it resumes

EVIOCGRAB works for this - tested with evtest --grab (evtest 1.35)

Alternative idea: a toon app that just clears out as much as possible of the screen and tells us what rectangle on fb0 is ours. Then only handle touch for that area.

as far as I can tell, we cannot spawn processes from QML, but writing external voorkant to /tmp/tsc.command should execute /qmf/qml/apps/voorkant/voorkant.sh within five seconds, which is a start.

Braindump:

idea 1: Toon just spawns processes for us. Turns out Toon can't do that.
idea 2: at boot, we start a small supervisor-type thing that Toon QML can send messages to. Should work.  Once we have something running, we can respond to events faster than those 5 seconds.

#144 adds the ability to reserve x lines of pixels at the top (but we still draw blanks to them)


Cannot Connect to my computer (Connection Timeout)

Description
I get the error message "Connection Timeout" when connecting to my computer, the only error that shows up in the log is "Handshake Error 1277 for 1277.client.alvr: Adress is already in use (os error 98)
General Troubleshooting

[x] I carefully followed the instructions in the README and successfully completed the setup wizard
-Yup
[x] I read the ALVR Wikis here and here
Yup

Environment
Linux Mint
Hardware
Note: for Linux, an upload to the hw-probe database is preferred: hw-probe -all -upload
https://linux-hardware.org/?probe=2b18c690f4
Installation
ALVR Version:
Latest (v20.6.1)
ALVR Settings File:
session.json
SteamVR Version:
Latest (2.3.5)
Install Type:
Appimage
OS Name and Version (winver on Windows or grep PRETTY_NAME /etc/os-release on most Linux distributions):
Linux Mint 21.3

Fixed by changing microphone input?

What did you select as the microphone input? I think I ran into the same problem.

It was happening to me, I rebooted my phone and it started connecting again.


Adding docs

Release Notes, User Guide, README

feat: Multiple document files were added to "doc" folder.


Allow single MI solver != ECOS_BB [issue 1232]

The corresponding issue for this PR can be found here: #1232
While the change is only one line, I followed the contributing guidelines:

[x]  no regression change
[x]  no benchmark timing change (37.38s pre-change vs. 37.28s after the change)
[x]  flake8 passing

A UT which checks exactly this scenario is likely not relevant for most users and indeed would be quite tricky to include.

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

@phschiele can you clarify the bug? It only happens when the user doesn't have ecos installed, right?

@phschiele can you clarify the bug? It only happens when the user doesn't have ecos installed, right?

@SteveDiamond Precisely. It happens if a single (valid MI) solver is installed, which is not ecos.
I have added a more detailed description in this issue.

@SteveDiamond this PR fixes an issue affecting people who use the cvxpy-base conda package (which was created to avoid hard dependencies on ECOS and other software licensed under the GPL).


add remote ip to access log

Pull Request Test Coverage Report for Build 751378958

0 of 0   changed or added relevant lines in 0 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.1%) to 83.992%

Files with Coverage Reduction
New Missed Lines
%

service/server.go
3
89.14%

Totals

Change from base Build 747666709:
-0.1%

Covered Lines:
2146

Relevant Lines:
2555

💛  - Coveralls


Elbow arrow not updated on font size

https://github.com/user-attachments/assets/5d40f727-f90b-4c42-8566-6d656c107b48

hey @mtolmacs, if you haven't begun work on this issue, would you like me to take a look and provide an update by tomorrow?

Thanks, I'll provide an update by tomorrow.

I've been working on this for a week and have reviewed several files related to text selection and side pane, but I'm still unsure how to start. Can you provide some guidance?

Maybe start with packages/excalidraw/actions/actionProperties.tsx::changeFontSize(...) and do an empty mutation of the elbow arrow with mutateElbowArrow(element, {points:element.points}).


Downgrade typescript.

Codecov Report

Merging #56 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #56   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            7         7
  Lines          117       117
  Branches        34        34
=========================================
  Hits           117       117

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2d5fcbd...1f1571e. Read the comment docs.

Coverage remained the same at 100.0% when pulling 1f1571e6e05874acd6ec5be34f5806eb47506066 on build-failure-on-mac into 2d5fcbdb583479666e8937f021bdfb2ba302480b on master.


Fix #3340: Introduce org.scalajs.testing package

in the Scala 2.11 community build, at e.g. https://scala-ci.typesafe.com/view/scala-2.11.x/job/scala-2.11.x-jdk8-integrate-community-build/701/ we now see:
[utest] [error] /home/jenkins/workspace/scala-2.11.x-jdk8-integrate-community-build/target-0.9.11/project-builds/utest-f86bda089a2c87e91c70debe2f6d27b54ef8ba1d/utest/shared/src/main/scala/utest/runner/BaseRunner.scala:7: object scalajs is not a member of package org
[utest] [error] import org.scalajs.testinterface.TestUtils
[utest] [error]            ^

should I use the 0.6.x branch instead? (and stick with master in the 2.12 and 2.13 community builds?) or what?

should I use the 0.6.x branch instead? (and stick with master in the 2.12 and 2.13 community builds?)

done: https://github.com/scala/community-builds/pull/781

TestUtils has been deprecated in 0.6.25. Give it some time and testing frameworks will stop using it in favor of Reflect or https://github.com/portable-scala/portable-scala-reflect. I might submit a PR to uTest if it's the only project that was affected in the community build.

@sjrd there's also minitest. I opened https://github.com/monix/minitest/issues/27 on it