Balena Sound as a Service/Application

I'm guessing I'm out of my depths in asking this question, but would it ever be possible to have Balena Sound offered as a service or application for Windows, Mac, and/or Linux?  I've just been thinking that it would be awesome to have my Logitech Z906 system on my PC tapped into the multi-room.
I'm not thinking from the perspective of the PC sending all audio out to all of the multi-room speakers, but rather to have an application available as a receiver that can play through to the speakers.  So say for instance I'm sitting at my computer working and listening to Spotify, I could change the audio from "This Computer" to "This Computer + Multi" (or something like that).  It wouldn't switch all of the PC's sound to multi-room, but rather shift Spotify to play from that service/application that was connected to the rest of the grid.
At the moment, the only idea I've come up with is running a RPi as a VM on my PC and deploying my Balena Sound Application  to it.  Just wondering if there's a better way.

Hey @salsabeard, I get what you say. Unfortunately balenaSound is tightly coupled to balenaOS and the Linux kernel. The VM approach might work, maybe not all functionality, if you use a linux based machine to host it.
It's a cool idea so i'll keep it in mind and see if I can think of a better solution.

Closing this issue as balenaSound is increasingly getting coupled with balenaOS features and I don't see us forking a non-balena version.


Create dir that SQLite uses, if missing (#1388)

If the directory for the SQLite database that JobService uses (as specified for the key databasePath in config/jobservice/config.yaml) does not already exist, create it. Without this, JobService panics and exits with a misleading message from SQLite stating "out of memory".  If the mkdir fails, render an error stating as such, and exit.

Lint needs fixing, otherwise lgtm

Lint needs fixing, otherwise lgtm

I missed the notice - just saw the "All checks have passed" - why didn't it fail the check?


[esp/scene] Added support of object's centers and bounding boxes to Gibson semantic scenes

Motivation and Context
To leverage 3dscenegraph semantic annotation spatial information added support of object's bounding boxes to Gibson semantic scenes. Related to issue https://github.com/facebookresearch/habitat-sim/issues/374 and depends on PR https://github.com/facebookresearch/habitat-sim/pull/406.

How Has This Been Tested
Added the integration test and run it locally with *.scn data:
Running main() from /private/home/maksymets/habitat-sim/src/deps/googletest/googletest/src/gtest_main.cc
[==========] Running 2 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 1 test from GibsonSceneTest
[ RUN      ] GibsonSceneTest.Basic
[       OK ] GibsonSceneTest.Basic (2 ms)
[----------] 1 test from GibsonSceneTest (2 ms total)

[----------] 1 test from GibsonSemanticSimTest
[ RUN      ] GibsonSemanticSimTest.Basic
[       OK ] GibsonSemanticSimTest.Basic (5451 ms)
[----------] 1 test from GibsonSemanticSimTest (5451 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 2 test cases ran. (5453 ms total)
[  PASSED  ] 2 tests.

Types of changes

[x] New feature (non-breaking change which adds functionality)

The .obj mesh used for main gibson (what 3Dscenegraph is built from) has a rotated coordinate system when compared to the gibson gltf meshes we are using for rgb in Habitat. My utility rotates the coordinate system to match habitat and outputs to .ply semantic mesh. I transformed the bounding box info from the 3Dscenegraph .npz dataset in the same way. My goal was to have a consistent coordinated system. I verified the semantic meshes using the mesh highlighting logic we have in WebGL but did not have time before holidays to verify the bounding boxes were correct.
We have coordinate flipping logic in Asset.cpp that may be relevant here:
AssetInfo AssetInfo::fromPath(const std::string& path) {
  using Corrade::Utility::String::endsWith;
  AssetInfo info{AssetType::UNKNOWN, path};

  if (endsWith(path, "_semantic.ply")) {
    info.type = AssetType::INSTANCE_MESH;
  } else if (endsWith(path, "mesh.ply")) {
    info.type = AssetType::FRL_PTEX_MESH;
    info.frame = {quatf::FromTwoVectors(geo::ESP_GRAVITY, -vec3f::UnitZ())};
  } else if (endsWith(path, "house.json")) {
    info.type = AssetType::SUNCG_SCENE;
  } else if (endsWith(path, ".glb")) {
    // assumes MP3D glb with gravity = -Z
    info.type = AssetType::MP3D_MESH;
    // Create a coordinate for the mesh by rotating the default ESP
    // coordinate frame to -Z gravity
    info.frame = {quatf::FromTwoVectors(geo::ESP_GRAVITY, -vec3f::UnitZ())};
  }

  return info;
}

I have not studied the above code so don't know exactly what it does.


[AUTOMATIC BUMP] Updates purchases-hybrid-common to 10.6.1

This is an automatic bump.
Updates purchases-hybrid-common to 10.6.1

          1 Message

:book:
Size increase: 0.00 KB

  Generated by :no_entry_sign: Danger


receive 500 when simulate /story/finishUserStoryMain

i'm trying to make an automatic tool for reset marathon following here, written in C#. i succeed simulate startup, login and setprofiles, but after set birthday, the finishUserStoryMain request always return 500.
i used a fixed assets_state and set device_token from a real phone(and have tried to set to null). i'm sure hash algorithm is correct.
i haven't tried replace hooked asset_state with generated one,because i can't understand kotlin code and it will take serveral days to translate it into C# code.
do you have any suggestions?

error 500 probably means incorrectly formatted request. 403 is usually for incorrect session key
I have just implemented this api call in https://github.com/Francesco149/todokete with no issues. I would check the order of your url parameters as well as request format.

From game: POST /ep1010/story/finishUserStoryMain?p=a&mv=678fe398adca191d&id=8&u=663032738&t=1572067454788 HTTP/1.1
[{"cell_id":1001,"is_auto_mode":false},"5264d9598d6a6060a26c7f0272a4a08b9bc2f8d2"]
From tool: POST /ep1010/story/finishUserStoryMain?p=a&mv=678fe398adca191d&id=10&u=686578145&t=1572073140343 HTTP/1.1
[{"cell_id":1001,"is_auto_mode":false},"1592cfcc405d08557efbb237fc734464b60c92c6"]
(retried for several times so id is also be increased)
only the order of headers is different, and even i use fiddler to compose a request with same order, still receive 500
I've been stuck here for three days :(

maybe you're sending requests too fast and the server is checking timing? try adding random sleeps like mine

already tried,random sleeps from 1minute to 3minutes.
and i deleted randomDelay() , it still works. so server seems doesn't check timings

fixed. i send setProfileBirthday to an error address. haha
but anyway thanks for your help and blog


Updating the registration to work with the new shadow root DOM

The recent changes in the reddit UI have implemented the usage of shadow DOM, which broke the original script. I have updated the script to account for these changes.
The only part I did not implement which was in the original code was the final "submit_err". Instead I only have a generic error if the page did not change after 3 seconds, because I was not able to replicate the "submit_err" message.

Thanks for the PR!
I'll accept it after checks

Attempted using the script after this change. After solving the captcha it try to hit "continue" and the browser crashes
2024-04-17 20:44:44 DEBUG Submitting registration
2024-04-17 20:44:55 DEBUG Quitting driver
2024-04-17 20:44:59 ERROR Submit failed
2024-04-17 20:44:59 ERROR An error occurred during account creation. Trying again...

Hmmm, that is strange, I didn't encounter any of that when testing it out yesterday. Can you tell me on how I can reproduce it? Were you using tor, or a proxy or just your local internet? Also, did the click go through and then it failed, or it failed before even registering the account?

Hmmm, that is strange, I didn't encounter any of that when testing it out yesterday. Can you tell me on how I can reproduce it? Were you using tor, or a proxy or just your local internet? Also, did the click go through and then it failed, or it failed before even registering the account?

My local internet. The click didn't even go through. The button to register changed shades and then the browser crashes. Let me try to update the supporting resources/reinstall them.


Clean up kcp_registrar

The logic is mostly unchanged, except:
1. register.sh is copied last to speed up image creation time on the
local dev env;
2. the kubeconfig are copied to a tmp folder to workaround ro permissions
in the container;
3. all clusters are always processed.
Item #3 is possible because the cluster registration is idempotent as
of kcp release-0.5.
Item #3 is desirable because if anything bad happens while setting up
the cluster, the recovery would require a manual action to delete the
syncer on KCP.
Signed-off-by: Romain Arnaud<EMAIL_ADDRESS>

@bnallapeta @fgiloux This PR fixes the failure that we have on our GitLab pipelines.
You can easily test yourself by checking out our kcp-stable repo and running:
> KCP_ORG=root:rh-sso-15826143 KCP_WORKSPACE=compute-pwjs8 DATA_DIR=path/to/kcp-stable ./register.sh
Switching to organization root:rh-sso-15826143
Current workspace is "root:rh-sso-15826143".
Switching to workspace compute-pwjs8
  - Use existing workspace
Current workspace is "root:rh-sso-15826143:compute-pwjs8".
Registering clusters to kcp
  - api-pipeline-stg-zs03-p1-openshiftapps-com
namespace/kcpsync0b7864f7bcce800fcf840cf14a5af7960cd218900e6337ec690e145e unchanged
serviceaccount/kcp-syncer unchanged
clusterrole.rbac.authorization.k8s.io/kcpsync0b7864f7bcce800fcf840cf14a5af7960cd218900e6337ec690e145e unchanged
clusterrolebinding.rbac.authorization.k8s.io/kcpsync0b7864f7bcce800fcf840cf14a5af7960cd218900e6337ec690e145e unchanged
secret/kcp-syncer-config configured
deployment.apps/kcp-syncer unchanged

I've reverted the bit that Frederic is not comfortable with at the moment, because it is important to merge that PR to move our sprint forward. I'll open a separate PR with that change, and we can discuss the impact over there.
@fgiloux I believe all the important points of your review were taken care of.


One share but different message for different mediums

Hi,
It's very useful plugin, I am sure this question may raised before and solved but I unable to find it anywhere. Sorry to steal your time!
I have one share button, but I want to share different message on different medium. For example, I want to share long text on "Email, whats app, etc" but on sms should take small length text. twitter should send with twitter handler
Please help me on this!

Is a callback fired once the user selects their service? If so, check which service they have selected and format the message for that particular one.

Hey @DaDanny ,
Thanks for reply. Which callback you talking about. I am using below code callback is triggered only after I shared on some medium. How can I find the service before I share. Can you show me an example
window.plugins.socialsharing.share("Message...",null,null,null,function(msg) {console.log('ok: ' + msg)}, function(msg) {alert('error: ' + msg)});

Thanks

Don't bother for now as it's not possible. If you want to share different content to different providers use the shareVia* functions.

Really Sad :(


Current wrong on Ruixu 48100 batteries

I'm not sure if you're interested in fixing this or not.    Please let me know what your plans are for this repo, if you're interested in supporting 48100 batteries as well.
It does appear the change you made in https://github.com/syssi/esphome-seplos-bms/commit/71e5570c135cad4d106770f6b1d8b4b43fa68d7d doesn't work for the 48100 batteries.
I have 10 of them, cell current is off by 10X due to incorrect division in that commit

In this example, Battery 0 should be contributing 3.74, and the total pack current should be 38.0, not 39.    (minor discrepancy with SolarAssistant due to timing)
I'm trying to determine if any other changes are required for 48100.

Sounds like an easy fix, id just make a fork and publish your own. I don't use any of the 100ah batts.

I already have.   Thanks again.


Math Notation Font Size Bug and Unclear Effects

Environment:

OS: Windows 11
Joplin version: 2.10.15
ReMoods theme version: 4.3.0

Describe the bug:

When adjusting "Render Viewer - Math Notation Font Size (px)", the results are unclear and depend on if the math hover zoom effect is enabled. If hover zoom is enabled, I think increasing the size causes math to shrink on hover instead of zoom. If hover zoom is disabled, it force-enables hover zoom and makes pre-zoomed text small. I honestly don't understand the setting, but I don't think it was intended to force-enable hover zoom.
To Reproduce:

Navigate to ReMoods Theme plugin settings
Uncheck "Render Viewer - * Enable math notation hover zoom effect"
Set "Render Viewer - Math Notation Font Size (px)" to 2
Click apply
Click back
Restart Joplin
View any math output in the render viewer

Expected behavior:

I expected to set "Render Viewer - Math Notation Font Size (px)" to 2 and have math notation to use a font size 2 pts bigger than the base font size (or 2 times).

I'm not sure if I do understand the problem you met, but I did find some issues about it:

Currently, the font size value of "Enable math notation hover zoom effect" is incorrectly associated with the "Base Font Size", so when the "Math Symbol Font Size" setting is greater than 1.5 times the basic font size, it will cause the font size to shrink when the effect is triggered.

The setting property name "Enable math notation hover zoom effect" does not clearly describe the effect of the setting.

So, I would solve the above issues as follows:

Change the property name from Enable math notation hover zoom effect to `Enable math notation auto-enlarged effect'.

Make sure the effect should be 1.5 times larger than the Math notation font size when the mouse hovers over the math notation.

Do you think the above fixes will solve the problem you met? Please let me know if there is anything missing in my understanding.
P.S. Please make sure you only input the numbers as any font size values, because all font size values have a default unit which is shown at the end of the property name. e.g. Math notation font size (px), for more reference you can look around the Settings Introduction.

Sorry for the delayed response. I've been too busy.

That is a more fitting name.
I tried a basic font size of 30 and a math font size of 44 (less than 1.5 times), and it does correctly enlarge on hover but only by a little (not by 15 px).

Right under the setting, you have text that says "0: Equal to Base Font Size" which made me think the setting is additive. E.g., if basic font size was 16 and the math font size setting was 4, the actual math font size should be 20. What's unclear was whether I was setting font size directly or relative to the basic font size (whether additively or multiplicative) based on the results I got.
Based on what you've said, I'm guessing it's directly font size, but 0 is a special case. It's still unclear to me what it does since I tested the case mentioned above.
What is clear though is that when the hover zoom effect is disabled, non-zero values of math font size re-enables it.

Thank you for the clear example and details! I agree that the "0" is a bit confusing, so I will add a clear description for it.
All the issues you mentioned will be fixed in the next release.😊

Hi again! The issues have been fixed by the ReMoods v4.3.1! Feel free to update the theme and try it! Thank you for supporting ReMoods!
All the best!
-Sinacs


Merging CMake

also we have a lot of macro redefinitions.

I just did a few tweaks at rulesets.
Does it work now?

yes


doc/api-extensions.md: fixed typo in gpu_mig section

PR for #9651 Just a one-word typo fix.

This pull request didn't trigger Jenkins as its author isn't in the whitelist.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"

Whoops. Forgot to add 'doc' to the commit message.


Avoid using id as variable name

https://github.com/ndexbio/ndex2-client/blob/04af1f0a2e3afe419f4a5844e55b346f62183945/ndex2/nice_cx_network.py#L171
Considering id is a built in function. I would avoid using it as a variable name throughout the code.

You are right, that is bad form. I'll fix the internal methods asap, but the public facing ones will need a bit more time since I'll have to give deprecation warnings and a roadmap for future versions (also need to make a roadmap) as to when they will go away.

Looks like the following public methods (no __ prefix) have an id parameter that needs to be changed:
ndex2/nice_cx_network.py:    def add_citation(self, id, title=None, contributor=None, identifier=None, type=None, description=None, attributes=None):
ndex2/nice_cx_network.py:    def add_edge(self, id=None, source=None, target=None, interaction=None):
ndex2/nice_cx_network.py:    def add_node(self, id=None, name=None, represents=None):
ndex2/nice_cx_network.py:    def add_support(self, id=None, text=None, citation_id=None, attributes=None, props=None):
ndex2/niceCxInterface.py:    def create_edge(self, id=None, edge_source=None, edge_target=None, edge_interaction=None, cx_fragment=None):
ndex2/niceCxInterface.py:    def create_node(self, id=None, node_name=None, node_represents=None, cx_fragment=None):
ndex2cx/nice_cx_builder.py:    def add_node(self, name=None, represents=None, id=None, data_type=None, map_node_ids=False):
ndex2cx/nice_cx_builder.py:    def add_edge(self, source=None, target=None, interaction=None, id=None):
ndex2/nice_cx_network.py:    def get_edge_attributes_by_id(self, id):
ndex2/niceCxInterface.py:    def get_edge_attributes_by_id(self, id):

Fixed in v4.0.0 branch with breaking changes.

Closing to denote this has been fixed


Melos doesn't resolve packages or dependency graph

When I open this project and type melos list it only lists the styles package even though there is a widgets package that is consumed by the root app which depends on styles
% melos list --graph
{
  "styles": []
}

The widgets package pubspec includes publish_to: "none". These packages are private in Melos, in the sense that they won't be versioned or published. melos list does not include those packages by default but does so with the --all flag.
➜  spike_melos_task git:(master) ✗ melos list --all --graph
{
  "styles": [],
  "widgets": [
    "styles"
  ]
}

Side note: This issue probably belongs in the melos repo :)

Thank you for providing a clear answer and my apologies for posting it in the wrong repo.

No problem. Glad I could help.


How to utilise each vehicle in Vehicle Routing Problem

I am trying to solve a capacitated pickup and delivery problem using ortools. Each vehicle has a capacity of 1 and, provided that the number of deliveries/jobs > number of vehicles, has to be utilised at least once. Of course, there has to be a solution but I am unable to find it. I have tried the approach described here as follows:
# Set Minimum Number of nodes
  count_dimension_name = 'count'
  # assume some variable num_nodes holds the total number of nodes
  routing.AddConstantDimension(
      1, # increment by one every time
      len(data['demands']),  # number of nodes incl depot
      True,  # set count to zero
      count_dimension_name)
  count_dimension = routing.GetDimensionOrDie(count_dimension_name)
  for veh in range(0, data['num_vehicles']):
      index_end = routing.End(veh)
      count_dimension.SetCumulVarSoftLowerBound(index_end,
                                                2,
                                                100000)

However, for the example below there is always one vehicle which is not utilised at all (often more than one vehicles for other examples). How can I force each vehicle to be used and still be able to find at least a good feasible solution? Perhaps by changing the search methods?
Reproducible Code:
from ortools.constraint_solver import routing_enums_pb2
from ortools.constraint_solver import pywrapcp

def create_data_model():
    """Stores the data for the problem."""
    data = {}
    data['distance_matrix'] = [[0, 641, 331, 360, 3, 331, 2, 920, 2, 342, 3, 331, 342, 920, 1],
 [641, 0, 505, 663, 643, 504, 639, 1556, 638, 397, 644, 505, 397, 1556, 641],
 [331, 505, 0, 623, 334, 1, 329, 1188, 329, 110, 333, 0, 111, 1187, 330],
 [360, 663, 623, 0, 358, 623, 360, 1007, 359, 575, 359, 623, 574, 1006, 361],
 [3, 643, 334, 358, 0, 335, 6, 917, 5, 345, 1, 334, 345, 917, 4],
 [331, 504, 1, 623, 335, 0, 329, 1188, 330, 110, 334, 0, 110, 1188, 330],
 [2, 639, 329, 360, 6, 329, 0, 923, 1, 340, 5, 329, 340, 922, 2],
 [920, 1556, 1188, 1007, 917, 1188, 923, 0, 923, 1242, 917, 1188, 1242, 0, 921],
 [2, 638, 329, 359, 5, 330, 1, 923, 0, 340, 5, 330, 340, 922, 3],
 [342, 397, 110, 575, 345, 110, 340, 1242, 340, 0, 345, 110, 0, 1242, 341],
 [3, 644, 333, 359, 1, 334, 5, 917, 5, 345, 0, 334, 345, 917, 4],
 [331, 505, 0, 623, 334, 0, 329, 1188, 330, 110, 334, 0, 110, 1188, 330],
 [342, 397, 111, 574, 345, 110, 340, 1242, 340, 0, 345, 110, 0, 1242, 341],
 [920, 1556, 1187, 1006, 917, 1188, 922, 0, 922, 1242, 917, 1188, 1242, 0, 920],
 [1, 641, 330, 361, 4, 330, 2, 921, 3, 341, 4, 330, 341, 920, 0]]
    data['pickups_deliveries'] = [[ 1,  8],
       [ 2,  9],
       [ 3, 10],
       [ 4, 11],
       [ 5, 12],
       [ 6, 13],
       [ 7, 14]]
    data['num_vehicles'] = 4
    data['depot'] = 0
    data['vehicle_capacities'] = [1, 1, 1, 1]
    data['demands'] = [0, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, -1]

    return data

def print_solution(data, manager, routing, assignment):
    """Prints assignment on console."""
    total_distance = 0
    total_load = 0
    for vehicle_id in range(data['num_vehicles']):
        index = routing.Start(vehicle_id)
        plan_output = 'Route for vehicle {}:\n'.format(vehicle_id)
        route_distance = 0
        route_load = 0
        while not routing.IsEnd(index):
            node_index = manager.IndexToNode(index)
            route_load += data['demands'][node_index]
            plan_output += ' {0} Load({1}) -> '.format(node_index, route_load)
            previous_index = index
            index = assignment.Value(routing.NextVar(index))
            route_distance += routing.GetArcCostForVehicle(
                previous_index, index, vehicle_id)
        plan_output += ' {0} Load({1})\n'.format(manager.IndexToNode(index),
                                                 route_load)
        plan_output += 'Distance of the route: {}m\n'.format(route_distance)
        plan_output += 'Load of the route: {}\n'.format(route_load)
        print(plan_output)
        total_distance += route_distance
        total_load += route_load
    print('Total distance of all routes: {}m'.format(total_distance))
    print('Total load of all routes: {}'.format(total_load))

def main():
  """Entry point of the program."""

  data = create_data_model()

  # Create the routing index manager.
  manager = pywrapcp.RoutingIndexManager(len(data['distance_matrix']),
                                         data['num_vehicles'], data['depot'])

  # Create Routing Model.
  routing = pywrapcp.RoutingModel(manager)

  # Define cost of each arc.
  def distance_callback(from_index, to_index):
      """Returns the manhattan distance between the two nodes."""
      # Convert from routing variable Index to distance matrix NodeIndex.
      from_node = manager.IndexToNode(from_index)
      to_node = manager.IndexToNode(to_index)
      return data['distance_matrix'][from_node][to_node]

  transit_callback_index = routing.RegisterTransitCallback(distance_callback)
  routing.SetArcCostEvaluatorOfAllVehicles(transit_callback_index)

  # Add Capacity constraint.
  def demand_callback(from_index):
      """Returns the demand of the node."""
      # Convert from routing variable Index to demands NodeIndex.
      from_node = manager.IndexToNode(from_index)
      return data['demands'][from_node]

  demand_callback_index = routing.RegisterUnaryTransitCallback(
      demand_callback)
  routing.AddDimensionWithVehicleCapacity(
      demand_callback_index,
      0,  # null capacity slack
      data['vehicle_capacities'],  # vehicle maximum capacities
      True,  # start cumul to zero
      'Capacity')

  # Add Distance constraint.
  dimension_name = 'Distance'
  routing.AddDimension(
      transit_callback_index,
      0,  # no slack
      1000000,  # vehicle maximum travel distance
      True,  # start cumul to zero
      dimension_name)
  distance_dimension = routing.GetDimensionOrDie(dimension_name)
  distance_dimension.SetGlobalSpanCostCoefficient(100)

  # Set Minimum Number of nodes
  count_dimension_name = 'count'
  # assume some variable num_nodes holds the total number of nodes
  routing.AddConstantDimension(
      1, # increment by one every time
      len(data['demands']),  # number of nodes incl depot
      True,  # set count to zero
      count_dimension_name)
  count_dimension = routing.GetDimensionOrDie(count_dimension_name)
  for veh in range(0, data['num_vehicles']):
      index_end = routing.End(veh)
      count_dimension.SetCumulVarSoftLowerBound(index_end,
                                                2,
                                                100000)

  # Define Transportation Requests.
  for request in data['pickups_deliveries']:
      pickup_index = manager.NodeToIndex(request[0])
      delivery_index = manager.NodeToIndex(request[1])
      routing.AddPickupAndDelivery (pickup_index, delivery_index)
      routing.solver().Add(routing.VehicleVar(pickup_index) == routing.VehicleVar(delivery_index))
      routing.solver().Add(distance_dimension.CumulVar(pickup_index) <= distance_dimension.CumulVar(delivery_index))

  # Define Search Approach
  search_parameters = pywrapcp.DefaultRoutingSearchParameters()
  search_parameters.first_solution_strategy = (routing_enums_pb2.FirstSolutionStrategy.AUTOMATIC)
  search_parameters.local_search_metaheuristic = (routing_enums_pb2.LocalSearchMetaheuristic.AUTOMATIC)
  search_parameters.time_limit.FromSeconds(10)

  # Solve the problem.
  assignment = routing.SolveWithParameters(search_parameters)

  # Print solution on console.
  if assignment:
      print_solution(data, manager, routing, assignment)

if __name__ == '__main__':
    main()

Please indicate when you cross post with stack overflow.


Matrix variables with DownloadSecureFile, InstallAppleCertificate, InstallAppleProvisioningProfile

jobs:
- job: TestJob
  pool:
    vmImage: 'macos-latest'
  strategy:
    maxParallel: 1
    matrix:
      A:
        ProvisioningProfile: 'A.mobileprovision'
      B:
        ProvisioningProfile: 'B.mobileprovision'
  variables:
    AppleCertificate: 'cert.p12'
  steps:
  - task: DownloadSecureFile@1
    inputs:
      secureFile: '$(ProvisioningProfile)'
  - task: DownloadSecureFile@1
    inputs:
      secureFile: '$(AppleCertificate)'

Fails with
The pipeline is not valid. Job TestJob: Step DownloadSecureFile1 input secureFile references secure file $(ProvisioningProfile) which could not be found. The secure file does not exist or has not been authorized for use. For authorization details, refer to https://aka.ms/yamlauthz.,Job TestJob: Step DownloadSecureFile2 input secureFile references secure file $(AppleCertificate) which could not be found. The secure file does not exist or has not been authorized for use. For authorization details, refer to https://aka.ms/yamlauthz.

Replacing the tasks with
  steps:
  - task: InstallAppleCertificate@2
    inputs:
      certSecureFile: $(AppleCertificate)
      certPwd: $(AppleCertificatePassword)
  - task: InstallAppleProvisioningProfile@1
    displayName: 'Install Apple provisioning profile'
    name: 'installProvisioningProfile'
    inputs:
      provisioningProfileLocation: 'secureFiles'
      provProfileSecureFile: $(ProvisioningProfile)

Fails similarly, however
  steps:
  - bash: echo $(ProvisioningProfile)
  - bash: echo $(AppleCertificate)

Works fine

Seems you can't use variables for secure files in either of these tasks if they are part of a job's step's tasks, but you can as top level step tasks.

Related: https://github.com/microsoft/azure-pipelines-tasks/issues/6885

Hey @EdwardBlair ,
This is currently not a supported feature, however it is an enhancement we have been considering adding.

I'm going to close this here since this isn't something we're actively planning on adding right now. If you still have this request, please open a ticket at https://developercommunity.visualstudio.com/spaces/21/index.html where we track general service requests (this repo is being reserved for task specific issues)

Is there a reason why this isn't being considered? There are a few other issues open with similar requests.
#13783
#6885


remove check on windows screenshots

Objective

Rendering on Windows in CI is unreliable
Screenshots are compared but results are not usable
Related to #15918

Solution

Remove the check on windows screenshots

Is there anything we could work on to make these reliable?

Someone willing to test and fix wgpu and Bevy on DX12 on the Windows software renderer with low memory


adapter-node incorrectly transforms http protocol to https

Describe the bug
The node adapter seems to incorrectly transform a http request into https. As a result, running a build locally using node build causes a cross origin errors when submitting a form. The request origin remains as http but the url has been transformed to https.
https://github.com/sveltejs/kit/blob/1b89ee3ad5465bd277c91cc8e7a17aaa67cbdff1/packages/adapter-node/src/handler.js#L167-L171
Reproduction
https://github.com/s3812497/svelte-kit-upload-image

build the project with pnpm build.
then, run it with node build.
navigate to localhost:3000.
upload an image using the provided form.

Expected: the form processes the file correctly.
Actual: the network request returns a 403 Cross-site POST form submissions are forbidden
Logs
Failed to load resource: the server responded with a status of 403 (Forbidden)
System Info
System:
    OS: macOS 13.4
    CPU: (8) arm64 Apple M1 Pro
    Memory: 9.51 GB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.16.0 - ~/.nvs/default/bin/node
    npm: 9.5.1 - ~/.nvs/default/bin/npm
  Browsers:
    Chrome: 113.0.5672.126
    Chrome Canary: 116.0.5805.0
    Firefox: 113.0.1
    Firefox Developer Edition: 110.0
    Safari: 16.5
    Safari Technology Preview: 16.4
  npmPackages:
    @sveltejs/adapter-node: ^1.2.4 => 1.2.4
    @sveltejs/kit: ^1.20.0 => 1.20.0
    svelte: ^3.59.1 => 3.59.1
    vite: ^4.3.9 => 4.3.9

Severity
annoyance
Additional Information
No response

This is the intended behavior. Production apps built with adapter-node assume they are behind an HTTPS proxy (because, in production, they generally are), but this can be configured with runtime env vars - https://kit.svelte.dev/docs/adapter-node#environment-variables-origin-protocol-header-and-host-header


moving some code around and tweaking Aqua testing.

[x] Quadrature points and weights
[x] Shape function values
[x] Shape function gradients
[x] Shape function hessians
[x] Interface

Mainly addresses issue #46 but also slightly addresses issue #48


Move ORGANIZATION_ARCHIVE, WORKSPACE_ARCHIVE, and ORGANIZATION_NAME from Local Storage to Session Storage to Prevent Workspace Conflicts Across Tabs

Bug description 🐞
Hello @alfespa17, @jcanizalez
Currently, ORGANIZATION_ARCHIVE, WORKSPACE_ARCHIVE, and ORGANIZATION_NAME are stored in Local Storage, which is shared across all browser tabs. This leads to a critical issue where, if a user opens multiple tabs and switches to a different workspace in one tab, the information in the other tabs is also updated to reflect the new workspace.
This results in unintended behavior, such as when a user triggers a Terraform plan from a tab associated with an old workspace, the plan instead gets executed for the new workspace due to the shared Local Storage.
Proposed Solution:
To fix this bug, we should move ORGANIZATION_ARCHIVE, WORKSPACE_ARCHIVE, and ORGANIZATION_NAME to Session Storage. This way, each tab will have its own separate set of data, corresponding to the workspace it is actively working on. This will prevent cross-tab interference and ensure that each tab functions independently within its own context.
Steps to reproduce

Expected behavior

Example repository

Anything else?

Hello @alfespa17, @jcanizalez,
I've created a PR for this issue related to https://github.com/AzBuilder/terrakube/pull/1267

@alfespa17, thank you for merging the PR, and could you please deploy a new beta release? I will test it in my environment.

@alfespa17, thank you for merging the PR, and could you please deploy a new beta release? I will test it in my environment.

You can check this in your test environment.
2.23.0-beta.2


Game levels + cards on map(s)

Possible game levels per continent, state or area, on the global map units are depicted on Cards, while in levels, they are depicted as figurines.

Greymoran Empire - FACTION!


how to fetch properties from containers

before we got this:
reg.add("spring.datasource.url", PostgresIntegration.PG::getJdbcUrl);

we need to find a way how to fetch it in an object-oriented way

@h1alexbel thank you for reporting this. I'll assign someone to take care of it soon.

@h1alexbel this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2023-12-17T09:39:28.454579.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@h1alexbel Don't forget to close this ticket before the deadline (2023-12-17T09:39:28). You are past the first half of the allowed period.

@h1alexbel Looks like you've missed the task deadline (2023-12-17T09:39:28). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.

@h1alexbel I couldn't find any assignee for this task. This is either because there are no contributors with role DEV available or because the project does not have enough funds.
Please, make sure there is at least one available contributor with the required role and the project can afford to pay them.


InputMismatchException when debugging and time limit exceeded on codecrunch

Summary
Had some issues with my implementation of Lab 3, when submitting on codecrunch and attempting to run on terminal i got received time limit exceeded, probably indicative of a infinite loop somewhere in my code. However while trying to debug on VSCode (first time using) I received a strange InputMismatch error while trying to input in java Main < 1.in into the terminal window. I can confirm that there are no typos in any of my .in files and my Main file as well. Not sure how to go forward from here so any help/advice on how i should go about debugging my infinite loop problem as well would also be appreciated. Thanks!
Screenshots

ur first screenshot could indicate an infinite loop, hence resulting in time limit exceeded on codecrunch
ur second screenshot has nothing to do with your code, your 1.in file might not be in the exact format needed to parse into Main which is why Main throws such an error.
Either way if you dont want to deal with that and you want to be able to debug fast just ask your friends for their 1.in files and likely u wont be facing this issue.

Also next time dont cut off the error message into half, u basically cut away the most readable part of the error message so it is also hard to say for sure why u r having this InputMismatchException


Add an API to set capabilities

I don't have a very concrete example to propose for this yet. But we need some way to build the NewSessionCmd object that allows setting the capabilities and desired capabilities.
In #9 I took the cheap way out and just used the json! macro to craft the capabilities. But we need something that can be used in a public api like a builder for the capabilities object.
Storage can be implemented via a new type (this uses the code in #9 as an example)
#[derive(Serialize, Default)]
pub struct Capabilities {
    alwaysMatch: collections::BTreeMap<String, JsonValue>,
}

#[derive(Serialize)]
pub struct NewSessionCmd {
    capabilities: Capabilities,
}

impl NewSessionCmd {
    pub fn new() -> Self {
        let mut capabilities: Capabilities = Default::default();
        capabilities.alwaysMatch.insert("goog:chromeOptions".to_string(),
                                                                  json!({"w3c": true}));
        NewSessionCmd {
            capabilities,
        }
    }
}

Maybe something like the following method in NewSessionCmd but have not taken into consideration the firstMatch attribute in the spec. Probably should have a look at it first.
    pub fn capability(&mut self, name: &str, value: Option<JsonValue>) {
        match value {
            Some(value) => self.capabilities.alwaysMatch.insert(name.to_string(), value),
            None => self.capabilities.alwaysMatch.remove(name),
        };
    }

My other doubt here is the type of the supplied value argument. Should we take a serde_json::Value or more generically anything that implements Serialize? Since Value does implement Serialize maybe we should start with just Value.
TODO

[ ] add api/methods to NewSessionCmd to manipulate the capabilities
[ ] change DriverSession::create_session API to accept additional parameters?

I like the sound of something fluent, like your builder idea.
How about:
struct Capabilities {
    ...
}

impl Capabilities {
    // Actually empty collection
    fn empty() -> Capabilities { ... }

    // I really like the sound of your generic Serializable idea if you can get it to compile
    // without too much trouble.
    fn always(&mut self, key: &str, value: Option<serde_json::Value>) -> Self {
         ...
    }
}

impl Default for Capabilities {
    // Default will include e.g. goog:chromeOptions workaround we need for ChromeDriver to behave.
    fn default() -> Capabilties { ... }
}

// Usage example:
let caps =
    Capabilities::default()
        .always("foo", json!{ bar: 12 });
let session = driver.session(caps);

Should the builder api be in the Capabilities type or the NewSessionCmd type. currently I have them in NewSessionCmd the Capabilities struct is not public and only being used internally.

Not the best naming but still
    /// Extend a capability requirement with a new object.
    ///
    /// Extending a capability that does not exist, or attempting to extend non objects will have
    /// the same effect as calling [always_match()](#method.always_match).
    pub fn extend_always_match(&mut self, name: &str, capability: JsonValue) {
        if let JsonValue::Object(capability) = capability {
            if let Some(&mut JsonValue::Object(ref mut map)) = self.capabilities.alwaysMatch.get_mut(name) {
                map.extend(capability);
                return;
            }
            self.capabilities.alwaysMatch.insert(name.to_string(), JsonValue::Object(capability));
        } else {
            self.capabilities.alwaysMatch.insert(name.to_string(), capability);
        }
    }

For example this adds more options for chrome without discarding out default values.
                let mut session_params: NewSessionCmd = Default::default();
                session_params.extend_always_match("goog:chromeOptions", json!({
                    "args": ["--no-sandbox", "--headless"],
                }));

I've been reading the spec but the semantics of alwaysMatch and firstMatch is not very clear, this description helps though https://github.com/w3c/webdriver/issues/1215#issuecomment-362122718

Yes, that link is very helpful for understanding the semantics! Roughly it seems like alwaysMatch is an object of your requirements, firstMatch is an array of objects, which are your preferences in order?

Should the builder api be in the Capabilities type or the NewSessionCmd type.

Thinking about it again, your approach of having it on NewSessionCmd is probably a little neater, with fewer types exposed in the public API.
On naming, I'm happy with any of: extend_always_match, always_match, always.
I doubt many people new to WebDriver would understand any of the names without looking at the documentation or the specs, so I have a slight preference for the shorter ones to make the common case simplest to type and read. The longer ones are a bit more explicit, of course. Bear in mind that if you pick a short version, there could be another method reset_capabilities or reset_always_match to start from scratch and erase the existing values.


Migrate all demos to a samples.jar like ControlsFX

Coming from #413, it was proposed that we repackage all demos in one JAR file and follow the approach used by ControlsFX. In that case, the jar would be called samples-[version].jar.
I'm opening this issue as a way to discuss this further.

The demos are already packaged in one jar, namely richtextfx-demos. I understand that what is being proposed is to create an application in which one can browse all the available demos.

The demos are already packaged in one jar, namely richtextfx-demos. I understand that what is being proposed is to create an application in which one can browse all the available demos.

Mm, thanks for the correction. I'll update the issue name to better reflect that.

I spent some time implementing this today and have some feedback about it now.
On the upside, this allows one to quickly browse through all the applications at once, making it that much more convenient. Once implemented, the ReadMe could be updated to list only one command one needs to run to start the sampler, though what's currently there probably shouldn't be deleted as it contains commands for older versions.
On the down side, ControlsFX's FXSampler seems to be designed for a single simple component. This comes with a few issues we'll need to work around:

Demos with multiple pieces (i.e. the less complex LineIndicatorDemo and the more complex RichTextDemo) cannot show all of their source code in the Source tab. One could put all of the code into a single file, but that gets very confusing for RichTextDemo.
Demos often demonstrate a particular area feature, not the area itself. So, the CSS tab and Javadoc tab are somewhat irrelevant.

We could file an issue for some of these features. However, I don't think they'd make such changes since their current design works well in demonstrating the controls they make and these changes might make such things more difficult.
We could fork their work and modify it to better suit our needs, but that entails starting another project.


Library cannot generate manifest entries for or validate bags with hidden (.) payload files

Hi, we seem to have discovered today when validating a bag generated by another BagIt implementation (bagit-python) that hidden files -- or those starting with ., such as .keep -- are not handled by this library. Essentially, the bag included hidden files in the manifest and payload, but the library didn't find them, resulting in a failed completeness check. I believe the following line is the source of the issue. Because it's also used by the manifest! method, hidden files would also not be included in the manifest when the bag is generated by the library.
https://github.com/tipr/bagit/blob/4a7fb6d25218f44f7c1ead5acdb9525ec54f96c7/lib/bagit/bag.rb#L39-L41
A fix would likely involve using Dir.glob with a specific pattern that would include these; the Ruby docs suggest using '{*,.*}', so for this library we might use '**/{*,.*}'. Dir[] might also still work with the updated pattern. There is a File::FNM_DOTMATCH flag, but it would also cause . and .. to be included (which we don't want).
In reviewing the spec, I don't see any indication that these files should be ignored or not included. If people seem to agree this is an issue, I'm happy to open a PR with some added/updated tests. If I'm incorrect somewhere in this analysis, I'm also happy to be pointed in the right direction.
Resources

https://datatracker.ietf.org/doc/html/rfc8493
https://ruby-doc.org/3.3.3/Dir.html#method-c-glob

Update: In thinking more about this, this may be considered a breaking change for current users of the library, as the bags they previously generated using the library would now be considered invalid by the "fixed" version. That would have to be handled somehow, assuming this change is a wanted improvement.

@ssciolla Thank you for reporting this! I agree with your reasoning and a PR would be awesome.
Maybe we could add some metadata indicating that the bag has been created by a new version of the library in bag-info.txt and change the validation operation if it is the newer version?
Happy to keep discussing this with you.

Thanks for the response, @little9! I will start working on a PR.
Your idea about keying off the version could work. My colleague also found a discussion in bagit-java about hidden files from years ago. I think this comment is interesting: https://github.com/LibraryOfCongress/bagit-java/issues/31#issuecomment-182462056
We could play it safe for the immediate future by adding an option to Bag that indicates whether to consider or look for hidden files, defaulting to false. Then you could have a minor release with this change, and then maybe change the default in a later major release (if there's a will to do that). You may also need some logic to handle validation when the setting is false, but there are hidden files in the manifest, maybe just raising warnings there. I'm going to start with this approach, but keep your idea in mind as well.


chore: dependabot config leftover

The leftover configuration file apparently still summons Dependabot. This deletes the leftover config.

Codecov Report

Merging #278 (7905d28) into master (5e1dec8) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master      #278   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines           73        73
  Branches        12        12
=========================================
  Hits            73        73

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 a65f037...7905d28. Read the comment docs.


Can't bind to 'translocoPrefix' since it isn't a known property of 'ng-container' (used in the '_FooComponent' component template).

Is there an existing issue for this?

[X] I have searched the existing issues

Which Transloco package(s) are the source of the bug?
Transloco
Is this a regression?
Yes
Current behavior
Got error in the console:
Can't bind to 'translocoPrefix' since it isn't a known property of 'ng-container' (used in the '_FooComponent' component template).

the code:
import { Component } from '@angular/core';
import { bootstrapApplication } from '@angular/platform-browser';
import 'zone.js';
import { TranslocoLoader, provideTranslocoScope } from '@ngneat/transloco';
import { provideTransloco } from '@ngneat/transloco';
import { of } from 'rxjs';

@Component({
  standalone: true,
  selector: 'foo',
  template: `
  in foo!!
  <ng-container *transloco="let t; prefix: 'adminPage'">

{{ t('title') }}

</ng-container>
  `,
  providers: [provideTranslocoScope('admin-page')],
})
export class FooComponent {}

@Component({
  selector: 'app-root',
  standalone: true,
  imports: [FooComponent],
  template: `

Hello from {{ name }}!

      Learn more about Angular

<foo></foo>
  `,
})
export class App {
  name = 'Angular';
}

const langs = {
  en: { title: 'title-en' },
  fr: { title: 'title-fr' },
};

bootstrapApplication(App, {
  providers: [
    provideTransloco({
      config: {
        availableLangs: ['en', 'fr'],
      },
      loader: class implements TranslocoLoader {
        getTranslation(lang: string) {
          return of(langs[lang]);
        }
      },
    }),
  ],
});

Expected behavior
Using the prefix
Please provide a link to a minimal reproduction of the bug, if you won't provide a link the issue won't be handled.
https://stackblitz.com/edit/stackblitz-starters-1ear2c
Transloco Config
No response
Please provide the environment you discovered this bug in
No response
Browser
No response
Additional context
No response
I would like to make a pull request for this bug
No

@jon9090 I've noticed you are importing Transloco from the deprecated ngneat scope. make sure you update to<EMAIL_ADDRESS>or above, it was introduced in v7.1.0.

@jon9090 Closing this for now, feel free to reopen if this wasn't the issue 👍

Having the same issue, even with the new scope import { provideTranslocoScope } from '@jsverse/transloco'; for a standalone component.
<ng-container *transloco="let t; prefix: 'teams.page'">

{{ t('title') }}

{{ t('description') }}

</ng-container>

Somehow it cant load the prefix into the ng-container.


Master thesis of logifix

Hi Anton,
I referred to your project because I wanted to learn how to convert JVM bytecode to Datalog facts. I know you do it for Java source code to Datalog facts which could be a useful reference for me. Just reading the code is a bit hard for me to understand as I am not fluent in CPP. Maybe I could read your master thesis that would give me an abstracted version. Could you please share the link? I could not find it on Diva portal.

My another question was how have you made datalog facts exhaustive? For example, how do you ensure that every AST element of Java source code is represented as a fact?

And where do you parse back from datalog facts to the fixed source code?

@algomaster99 Hey Aman, nice to see you! I'll get back to you on Monday!

Thanks for follow up! I have done a through study of your codebase and I am looking forward to your responses. My email is on my GitHub profile if you want to reach out there.

@algomaster99 You've got mail!


drake_toppra throwing assert failure

Hey @sjahr I was trying to generate a few stats for the presentation on the main branch and the drake_toppra plugin seems to be throwing this and crashing the pipeline script. Any clues ?
[pipeline_testbench_example-4] abort: Failure at multibody/optimization/toppra.cc:85 in Toppra(): condition 'path.rows() == plant.num_positions()' failed.

Yes, we'll need to switch back to panda_arm.urdf in the toppra file for now because the path input transcription needs to be updated.


Make build script choose the best possible arch based on the machine without requiring user input

This was discussed in today's core meeting and is especially relevant for new Charm++ users who are looking to benchmark charm. It is motivated by how software like MPICH and OpenMPI don't require the user to specify any architecture for the build.
Currently, only smart-build.pl script provides this capability but requires the user to answer many questions interactively. Since the user is more likely to use build to build Charm++/LIBS, it'll be good to have this capability in that script.
Based on the current documentation, it is likely that a new user will choose netlrts and then have issues related to running the charm program (because of nodelist) or have poor performance since it netlrts isn't a performant layer.

I agree with the points put forward. I'm relatively new to charm++ ecosystem and faced a few problems while trying to run my program on multiple nodes. It will be very nice to have an installation that automatically finds the best configuration according to the system and installs accordingly.


Chore: Frontend build setup

Front-end JS must be babelifyed, Safari is breaking hard right now.

Set up webpack2

https://github.com/sirtawast/pitskulounas/pull/16


Exporting only selected objects doesn't quite work for lights

I've opened the 04_lights.blend scene. I've selected only one light in the scene and then tried to export it. In the exporter options I have both "Export selected only" and "Export KHR_lights" checked.
The output gltf file doesn't have all the information about the light I selected:
04_lights.txt
When I unckeck "Export selected only" seems to work fine.

In https://github.com/KhronosGroup/glTF-Blender-IO/issues/107 we will need to change how this export works, most likely to simply export visible objects only rather than using selection and layers. Let's continue discussion there.


Clear Clang Warnings

Description
Some patches to resolve the warnings from Clang in recent PRs.

🚀 [bumpr] Bumped! New version:v1.2.1 Changes:v1.2.0...v1.2.1


Wrong values with characterset KO16MSWIN949

package main

import (
	"database/sql"
	"fmt"
	"log"

	go_ora "github.com/sijms/go-ora/v2"
)

const HOST = "..."
const PORT = 1521
const SERVICE_NAME = "dbkor1"
const USER = "..."
const PASSWORD = "..."

func main() {
	databaseUrl := go_ora.BuildUrl(HOST, PORT, SERVICE_NAME, USER, PASSWORD, map[string]string{})
	db, err := sql.Open("oracle", databaseUrl)

	if err != nil {
		log.Fatalf("failed to connect %s", err)
	}

	q := "SELECT 'AAA' FROM dual"

	var value string
	row := db.QueryRow(q)
	err = row.Scan(&value)
	if err != nil {
		log.Fatalf("failed to query v$instance: %s", err)
	}
	fmt.Printf("fetched value: %s\n", value)

}

Output:
fetched value: ???
instead of
fetched value: AAA

OK i fix it but i need some example string to test also

Thanks. What do you mean by example string? The test case select AAA.

Glad to find someone using same characterset #441.
Can i ask you how you are using it right now?

Can i ask you how you are using it for now?

godror works correctly. Would like to go back to go-ora if it gets fixed.

Do you set charset in DSN? godror maintainer says that I should not use it. But It doesn't work.
The only way I could make it work was set charset in DSN, encode string to euckr manually.

Do you set charset in DSN?

I'm not setting charset in DSN. This thread isn't the best place for discussing godror.

I'm sorry. But thanks for the response.

fixed v2.8.0

Is it fixed? WIthout setstringconverter, code above stills output "???"
Tested with 2.8.4 and oracle db
docker run -d -p 1521:1521 -e ORACLE_PASSWORD=toor acadx0/oracle-xe:18.4.0-faststart-KO16MSWIN949

https://github.com/aca/oci-oracle-xe

you can use this for testing:
package main

import (
	"fmt"
	"github.com/sijms/go-ora/v2/converters"
)

func print(conv converters.IStringConverter, value string) {
	encoded := conv.Encode(value)
	fmt.Println(encoded)
	decoded := conv.Decode(encoded)
	fmt.Println(decoded)
}
func main() {
	fmt.Println("Use charset id: 846")
	conv := converters.NewStringConverter(846)
	print(conv, "안녕하세요")
	print(conv, "AAA")

	fmt.Println("")
	fmt.Println("Use charset id: 833")
	conv = converters.NewStringConverter(833)
	print(conv, "お会計お願いしますABCD")

	fmt.Println("")
	fmt.Println("Use charset id: 834")
	conv = converters.NewStringConverter(834)
	print(conv, "お会計お願いしますABCD")

	fmt.Println("")
	fmt.Println("Use charset id: 838")
	conv = converters.NewStringConverter(838)
	print(conv, "お会計お願いしますABCD")

	fmt.Println("")
	fmt.Println("Use charset id: 852")
	conv = converters.NewStringConverter(852)
	print(conv, "每个人都有他的作战策略，直到脸上中了一拳")
}

I use your docker image + code above
result:
fetched value: AAA


Error while estimating local colours

Hi all,
I have used baysor with a pipeline for a couple of months without problems, but today I ran it on some new samples and I ran into an error message.
The inputs I am using are the standard output files of 10x Xenium ranger (transcripts.csv.gz), plus I have ran prior cell segmentation with Cellpose.
The config.toml parameters I feed baysor are stored in a dictionary:
hyperparams='{"x-column":"x","y-column":"y","z-column":"z","gene-column":"Gene","min-molecules-per-gene":1,"min-molecules-per-cell":3,"scale":'$bays_scale_size',"scale-std":"50%","prior-segmentation-confidence":0.5}'
This is the output in the terminal while running baysor in a Docker image:
22:14:32] Info: (2024-03-19) Run Baysor v0.6.2
[22:14:32] Info: Loading data...
[22:14:39] Info: Loaded 2222038 transcripts
[22:14:45] Info: Loading segmentation mask...
[22:15:14] Info: Done
[22:15:14] Info: Estimating noise level
[22:15:36] Info: Done
[22:15:55] Info: Clustering molecules...
Progress: 100%|█████████████████████████████████████████| Time: 0:01:56
  Iteration:                  650
  Max. difference:            0.000709
  Fraction of probs changed:  0.264
[22:18:03] Info: Algorithm stopped after 650 iterations. Error: 0.000709. Converged: true.
[22:18:03] Info: Done
[22:18:03] Info: Initializing algorithm.

I have found this error is something to do with math instability.  Just changing any of the parameters by even 1.0 will generally allow Baysor to complete.  i.e. by just changing my scale from 165 to 166 allowed Baysor to avoid the matrix error

The develop version has a completely reworked algorithm for NCV estimation. So you can try that one or wait for a release (don't know how long it would take). But it shouldn't be a problem there.


Specifying a value for -e MEMORY seems to crash the container.

Not sure why this is ocurring, but whenever I try and set a value for the MEMORY variable the server will not start. I am using a forge server, <IP_ADDRESS>47 and Minecraft version 1.12.2.  Here is my line:
docker run -p 25565 -e VERSION=1.12.2 -e TYPE=FORGE -e FORGEVERSION=<IP_ADDRESS>47 -e EULA=TRUE -e MEMORY=3G -v "/Users/Joey/Server/1.12":/data --name server itzg/minecraft-server
The server starts fine without the memory variable.
When running docker inspect server I see "failed to ping localhost:25565 : could not connect to Minecraft server: dial tcp <IP_ADDRESS>:25565: connect: connection refused"
Not entirely sure if its something I'm doing wrong if if it should be an issue.
Thanks for any help you can provide!

To sanity check, do you have 3 GB of memory available on the Docker host? Otherwise, can you provide the container logs from one of the failures?

I do, and after further testing, it seems to work fine when setting INIT_MEMORY: 1G and MAX_MEMORY: 3G in a docker-compose file as well.  I provided the logs and the result of docker inspect.
Container Logs.txt
Docker Inpsect Info.txt

Also, not sure if worth mentioning but this is running on a Macbook

Since you’re running on a Mac you will need to double check the amount of memory allocated to the Docker Desktop VM. I think the default is 2GB.

Ah, silly me. Forgot to even look there first. Raising the amount fixed it of course.
Thank you!

Aha, yep I have to reconfigure the Docker Desktop VM on ever re-install.


Call to function fails if there are an odd number of items in chat history

Description
When starting a chat (model.startChat) you can include prior history.  When there is no history, it would be nice to be able to add some history, for example a greeting from the chatbot.  This is easily done by creating a ModelContent and assigning that to the chat's history.  However, when calling a function, the process will fail after the function response step with an error if there are an odd number of items in history.
I've included a TestAgent class below.  Simply create the class and watch the output.  The only time it'll fail is when history contains an odd number of entries.  I can include 10 model entries, or 10 user entries or a combination of each, as long as it's an even number.  However, once I create history with an odd number, it fails.
Reproducing the issue
//
//  TestAgent.swift
//  Expense Tracker LLM
//
//  Created by Shane Miller on 9/20/24.
//

import Foundation
import FirebaseVertexAI

class TestAgent {
    var systemInstructions = """
Users will ask you information about exchange rates.  Use your tools to answer them."
"""
    private var modelName = "gemini-1.5-flash" // gemini-1.5-pro-exp-0801", //gemini-1.5-pro", //gemini-1.5-flash",

    // Initialize the Vertex AI service
    let vertex = VertexAI.vertexAI()
    let config = GenerationConfig(
        temperature: 0,
        topP: 0.95,
        topK: 40,
        maxOutputTokens: 8192,
        responseMIMEType: "text/plain"
    )

    init() {
        Task {
            await success1()
            await success2()
            await success3()
            await failure1()
        }
    }

    let getExchangeRate = FunctionDeclaration(
        name: "getExchangeRate",
        description: "Get the exchange rate for currencies between countries",
        parameters: [
            "currencyFrom": Schema(
                type: .string,
                description: "The currency to convert from."
            ),
            "currencyTo": Schema(
                type: .string,
                description: "The currency to convert to."
            ),
        ],
        requiredParameters: ["currencyFrom", "currencyTo"]
    )

    func makeAPIRequest(currencyFrom: String,
                        currencyTo: String) -> JSONObject {
        // This hypothetical API returns a JSON such as:
        // {"base":"USD","rates":{"SEK": 10.99}}
        return [
            "base": .string(currencyFrom),
            "rates": .object([currencyTo: .number(10.99)]),
        ]
    }

        // succeeds because there are an even number of ModelContents  user, model, user, model
    func success1() async {
        print("Success 1")
        // create some fake history.
        let mc1 = try! ModelContent(role: "user", "Hello, how are you?")
        let mc2 = try! ModelContent(role: "model", "I'm great!  How are you?")
        let mc3 = try! ModelContent(role: "user", "I'm good.  Thanks for asking.")
        let mc4 = try! ModelContent(role: "model", "My pleasure.   ModelContent(role: "model", "Hello, how are you?")
        let mc2 = try! ModelContent(role: "model", "I'm great!   ModelContent(role: "user", "What can I do for you today?")
        let mc2 = try! ModelContent(role: "user", "What can I do for you today?")

        let history = [mc1, mc2]
        let response = await test(history: history)
        print("Success 3 \(response)")

    }

    // fails because there are is an ODD number of ModelContents
    func failure1() async {
        print("failure1")
        // create some fake history.
        let mc1 = try! ModelContent(role: "model", "What can I do for you today?")

        let history = [mc1]
        let response = await test(history: history)
        print("failure1 \(response)")

    }

    func test(history : [ModelContent]) async -> String  {
        let model = vertex.generativeModel(
            modelName: modelName,
            generationConfig: config,
            tools: [Tool(functionDeclarations: [getExchangeRate])],
            systemInstruction: ModelContent(role: "system", parts: self.systemInstructions)
        )

        let prompt = "How much is 50 US dollars worth in Swedish krona?"
        let chat = await model.startChat(history: history)
        do {
            let response1 = try await chat.sendMessage(prompt)

            // Check if the model responded with a function call
            guard let functionCall = response1.functionCalls.first else {
                fatalError("Model did not respond with a function call.")
            }
            // Print an error if the returned function was not declared
            guard functionCall.name == "getExchangeRate" else {
                fatalError("Unexpected function called: \(functionCall.name)")
            }
            // Verify that the names and types of the parameters match the declaration
            guard case let .string(currencyFrom) = functionCall.args["currencyFrom"] else {
                fatalError("Missing argument: currencyFrom")
            }
            guard case let .string(currencyTo) = functionCall.args["currencyTo"] else {
                fatalError("Missing argument: currencyTo")
            }

            // Call the hypothetical API
            let apiResponse = makeAPIRequest(currencyFrom: currencyFrom, currencyTo: currencyTo)

            // Send the API response back to the model so it can generate a text response that can be
            // displayed to the user.
            let response = try await chat.sendMessage([ModelContent(
                role: "function",
                parts: [.functionResponse(FunctionResponse(
                    name: functionCall.name,
                    response: apiResponse
                ))]
            )])

            // Log the text response.
            guard let modelResponse = response.text else {
                fatalError("Model did not respond with text.")
            }
            return modelResponse
        } catch {
            print("Error sending message: \(error.localizedDescription)")
        }
        return ""
    }
}

// let testAgent = TestAgent()

Firebase SDK Version
11.3
Xcode Version
16
Installation Method
Swift Package Manager
Firebase Product(s)
App Check, Authentication, Firestore, VertexAI
Targeted Platforms
iOS
Relevant Log Output
Success 1

Success 1 50 US dollars is worth 549.5 Swedish krona.

Success 2

Success 2 50 US dollars is worth 549.5 Swedish krona.

Success 3

Success 3 50 US dollars is worth 549.5 Swedish krona.

failure1
[FirebaseVertexAI] Response payload: {
  "error": {
    "code": 400,
    "message": "Please ensure that function call turn comes immediately after a user turn or after a function response turn.",
    "status": "INVALID_ARGUMENT"
  }
}
Error sending message: The operation couldn’t be completed. (FirebaseVertexAI.GenerateContentError error 1.)
failure1

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet

Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

Replace this line with the contents of your Podfile.lock!

I'm actually using Firebase 11.2, not 11.3

Hi @TiVoShane, this restriction is imposed by the backend not the SDK but I've asked the question internally. In the meantime, I think you could resolve this by adding a user message prior to the model's greeting (e.g., "Hi").
I think the logic in the backend may be getting tripped up by the expectation that all conversations would be user -> model -> user -> model.

)

If you look at the code I provided, it's not an issue with the backend expecting a "user" before a "model" because two "model" works as well.  It seems like it's an issue only when there's an uneven number of history entries.
Whenever there's an odd number of entires, a function call fails, whether those entires are user/model, model/model, user/user, etc.  If it's even, it succeeds.  If it's odd, it fails.

)

If you look at the code I provided, it's not an issue with the backend expecting a "user" before a "model" because two "model" works as well. It seems like it's an issue only when there's an uneven number of history entries.
Whenever there's an odd number of entires, a function call fails, whether those entires are user/model, model/model, user/user, etc. If it's even, it succeeds. If it's odd, it fails.

Sorry for the confusion, @TiVoShane. I did run the code you provided and was able to reproduce the issue (thanks for including the code, it made it much quicker to test). I meant that adding a user message could be a workaround to get an even number. I think that an initial user message like "Hi" is unlikely to affect the end response since a conversation / chat with the model would typically begin with a the user initiating it.
If you enable the -FIRDebugEnabled argument in the "Arguments Passed On Launch" section of the Xcode scheme, the SDK will print cURL requests equivalent to the network requests being made. Example for failure1() in the code you provided:
curl -H 'Content-Type: application/json' -H 'x-goog-api-key: Redact-API-Key' -H 'x-goog-api-client: gl-swift/5 fire/11.2.0' 'https://firebaseml.googleapis.com/v2beta/projects/redacted-project-id/locations/us-central1/publishers/google/models/gemini-1.5-flash:generateContent' -d '{"contents":[{"role":"model","parts":[{"text":"What can I do for you today?"}]},{"role":"user","parts":[{"text":"How much is 50 US dollars worth in Swedish krona?"}]},{"role":"model","parts":[{"function_call":{"args":{"currencyFrom":"USD","currencyTo":"SEK"},"name":"getExchangeRate"}}]},{"parts":[{"function_response":{"response":{"base":"USD","rates":{"SEK":10.99}},"name":"getExchangeRate"}}],"role":"function"}],"system_instruction":{"parts":[{"text":"Users will ask you information about exchange rates.  Use your tools to answer them.\""}],"role":"system"},"generation_config":{"top_k":40,"top_p":0.95,"max_output_tokens":8192,"temperature":0,"response_mime_type":"text\/plain"},"tools":[{"function_declarations":[{"parameters":{"required":["currencyFrom","currencyTo"],"type":"OBJECT","properties":{"currencyTo":{"description":"The currency to convert to.","type":"STRING"},"currencyFrom":{"type":"STRING","description":"The currency to convert from."}}},"name":"getExchangeRate","description":"Get the exchange rate for currencies between countries"}]}]}'

Running this command (note: I redacted the API key and project ID) produces:
{
  "error": {
      "code": 400,
      "message": "Please ensure that function call turn comes immediately after a user turn or after a function response turn.",
      "status": "INVALID_ARGUMENT"
  }
}

Currently the logic in the backend requires that the function_call must be on an odd index (zero-based). In failure1() it's index 2. Unfortunately we don't have any control over this behavior from the SDK.
I'd recommend using one of the support options for Vertex AI. In the meantime, I still think that adding short a user message, like "Hi", prior to the model's greeting could be a reasonable workaround.

Closing since there do not seem to be any actions for the SDK. Feel free to continue the conversation.


Add conference year configuration

Fixes #29
This PR updates the year referenced in various description fields and allows it to be configured via the CONFERENCE_YEAR environment variable. Tested this locally without setting the value and verified the default (2020) showed up. Then I added it to the docker-compose.yml and restarted and checked that it showed up with the new value (2023).

I've already added this config var to Heroku so this is good to deploy as soon as it's approved!


Tensorrt

Would you consider releasing the code / plugins for running CLRNet with tensorrt?

We have release the code to branch deploy.
You can try it now, and we will merge it to main branch soon.

Thanks for sharing the code. I installed as described but got the following error: (no docker). Any idea what I missing
python deploy/tensorrt/onnx2trt.py ../CLRNet/configs/clrnet/clr_resnet18_culane.py --model culane_r18.onnx --trt_file culane_r18.trt
[11/16/2022-10:39:30] [TRT] [E] Could not register plugin creator -  ::MMCVModulatedDeformConv2d version 1
Traceback (most recent call last):
File "deploy/tensorrt/onnx2trt.py", line 206, in
onnx2tensorrt(args.config, args.model,
File "deploy/tensorrt/onnx2trt.py", line 104, in onnx2tensorrt
trt_engine = onnx2trt(
File "/media/Disk0/izzat/Lane_camera/CLRNet-deploy/deploy/tensorrt/tensorrt_utils.py", line 144, in onnx2trt
raise RuntimeError(f'parse onnx failed:\n{error_msgs}')
RuntimeError: parse onnx failed:
In node 202 (importFallbackPluginImporter): UNSUPPORTED_NODE: Assertion failed: creator && "Plugin not found, are the plugin name, version, and namespace correct?"


Navigation to Interaction-Marker problem.

This is quite the edge-case problem - but one that has been causing frustration for a few weeks, as the bizarre navigation behaviour has been difficult to identify and therefore replicate.
I can now describe how to replicate, in the sample project, with a few simple additions.
I think this may possibly be a problem with the Unity API NavMesh.SamplePosition(...) and not this project.
The issue occurs when there is a Navmesh that overlaps in a vertical plane.
The issue relates to an interaction_marker not producing the expected navmesh result,  meaning an agent does not navigate to a spot nearby to an interaction_marker.
It seems to be that NavMesh.SamplePosition(...) will pick a spot on a Navmesh directly above,  rather than the Navmesh which is seemingly nearest.
To reproduce:

Introduce a simple "mezzanine" along with a means to access it.    I've added this using 2 cubes (see image1).
Rebake the navmesh to account for the new level.
Using the TV smart object, place the interaction_point close to Navmesh edge.   This would be the point on the Navmesh that  we would expect the agent to use.   Don't actually put it over the Navmesh. (see image 2).
To speed up debugging, remove other smart objects, leaving just a shelf and the TV.
Run the game - observe how the agent navigates to a spot on the "mezzanine" - directly above the interaction_marker (see image 3).

Expected behaviour:

agent should navigate to a spot in front of TV (on lower level)

Notes

If you put the navigation marker over the "expected navmesh" (e.g. in this example, a little further away from the TV, towards middle of room), it then behaves itself.    However, level design may not accommodate this ... and the point of using NavMesh.SamplePosition(...) is that it should select a point on the nearest navmesh.
I've also added a "handrail cube" to stop the agent collider getting stuck at bottom of slope.
We might expect verticality to have reasonably become an issue, if the interaction_marker was placed in a higher position - e.g. being at the top of the TV screen could position it as being nearer to the navmesh above ... but in this example, I've gone out of my way to demonstrate the marker as being low-to-the-ground.

Image 1

Image 2

Image 3

Sorry for the long delay on responding to this. I'll take a look into it. I'm not a fan of how SamplePosition works so I'll see if I can find an alternative. My preferred approach is a raycast down onto the navmesh and then a fallback search only if needed.

It looks like unfortunately Unity doesn't expose a regular vertical raycast via the NavMesh (just the raycast parallel to it). I think (without replacing their navmesh system) the best I'll be able to do is have it do a regular physics raycast first then that'll at least allow SamplePositions with a shorter radius.

Fixed as part of the 4.0.2 release. Adding the physics raycast to snap allows for the search ranges to be reduced enough to avoid the vertical overlap issues.


Question: Configuration settings for Conductor with a non-Dynomite based Redis instance

In case I want to configure a non-Dynomite based Redis instance...
What configuration settings do I need to configure?
From the documentation, I can see

db = redis
queues.dynomite.nonQuorum.port=22122
workflow.namespace.prefix=conductor

But where do I have to configure the Redis host to connect?
Should it be via the field workflow.dynomite.cluster.hosts ?
If yes, what about the rack information - could it be populated with a dummy value?
# memory : The data is stored in memory and lost when the server dies.  Useful for testing or demo
# redis : non-Dynomite based redis instance
# dynomite : Dynomite cluster.  Use this for HA configuration.
db=dynomite

# Dynomite Cluster details.
# format is host:port:rack separated by semicolon
workflow.dynomite.cluster.hosts=host1:8102:us-east-1c;host2:8102:us-east-1d;host3:8102:us-east-1e

# Dynomite cluster name
workflow.dynomite.cluster.name=dyno_cluster_name

# Namespace for the keys stored in Dynomite/Redis
workflow.namespace.prefix=conductor

# Namespace prefix for the dyno queues
workflow.namespace.queue.prefix=conductor_queues

# Non-quorum port used to connect to local redis.  Used by dyno-queues.
# When using redis directly, set this to the same port as redis server
# For Dynomite, this is 22122 by default or the local redis-server port used by Dynomite.
queues.dynomite.nonQuorum.port=22122

Thanks for any help.

Hello,
If I can be of any help: for demo/testing purposes I have replaced Dynomite with a Redis database. What I did was setting the host in the value workflow.dynomite.cluster.hosts as you thought. For the cluster, I did not change the default ones, and it worked like a charm.
It is true that the server configuration is quite Dynomite-oriented, but I must say that looking at the server code was really helpful :)
Hope this will work for you too!
Nicolas

Conductor with a non-Dynomite based Redis Configuration
systemProperty 'db', 'redis'
systemProperty 'workflow.dynomite.cluster.hosts', '<IP_ADDRESS>:32768:us-east-1c'
systemProperty 'workflow.namespace.prefix', 'conductor'
systemProperty 'workflow.namespace.queue.prefix', 'conductor_queues'
systemProperty 'workflow.elasticsearch.url', '<IP_ADDRESS>:32771'
systemProperty 'workflow.elasticsearch.index.name', 'conductor'

Thanks for your help


Send Ceph logs to separate ES index

This has been applied

Cheers, anyone who doesn't can go and see it in kibana under the monasca-ceph index: http://<IP_ADDRESS>:5601/app/kibana#/discover?_g=()&_a=(columns:!(_source),index:AW5_B_rgUKZXOoiW1UaW,interval:auto,query:(match_all:()),sort:!('@timestamp',desc))


Updated regex to allow hard mode and colorblind settings

Changed the regex for matching wordle results to allow for the asterisk that indicates 'hard mode' and the orange and blue square emojis used in the colorblind settings of the game.

Looks good - I actually updated the project recently to leverage a MongoDB database. It's pretty much entirely different codebase but it's much more organized.

Nice! I had this project sent to me to run in a small server and I've just been using it as a functional base to tinker with.


mobile candlestick crosshairs are styled incorrectly

When I go to view on mobile I dont even see the buttons for Price History, Candlestick and Market depth.  Preset is to Price History...so I cant view Candlestick in mobile version.  See attached screenshot.
Side note...you can see the issues w/ the Price history Chart x axis (also Yaxis on Mobile needs to be smaller)

ok I was able to get into candlestick on mobile - still no horizontal cross hairs on candlestick

There is a chance css selector hides the wrong crosshair, highcharts crosshair drawing order is indeterminate on mobile.

@JohnDanz -- Is this closable?


Sound Effects Broken in Production Build

When installed via the Plugin Hub the sound effects do not work.
They do work when in development mode though, making this somewhat annoying to debug.
Any assistance is very welcome as I continue to try and debug this issue without spamming the Maintainers of the Plugin-Up with worthless patches.
There some discussion here: https://github.com/runelite/plugin-hub/pull/2209#issuecomment-999759665

Something it might be could be the WAV encoding, to get the sounds to come out in the Development mode to begin with I had to change the bitrate and make them mono. Unfortunately I can't remember exactly what was done.

Yep, this is confirmed fixed now, I just tested it. We can probably update https://github.com/bogstandard/rl-weather/blob/master/README.md#call-for-help now to remove it. I'm still hoping to rewrite audio to use something like an mp3 library some time so we can also control volume etc.


Pokemon IDs Different in 2 urls.

let suppose a url https://pokeapi.co/api/v2/pokemon/charmander.
here the ID of the pokemon is given as 4.
okay so now since the url https://pokeapi.co/api/v2/evolution-chain/4 only supports number,
when we fetch it, WHY IS IT SHOWING CATERPIE

yes, IDs are related to resources. So you are actually requesting two different things.

but there is now way to interaconnect both of the URLs. like im making a pokedex and need to fetch evolution chain as well, so i cannot fetch the evolution chain since the ID of the pokemon provided in the /pokemon url is different in evolution-chain url. please add feature to fetch evolution chains via names too.

Use the pokemon-species endpoint:
https://pokeapi.co/api/v2/pokemon-species/charmander

Through the endpoint specified by @merfed you can get the evolution chain:
So you would need to make 3 API calls and 3 JSON parsing:

/pokemon
/pokemon-species
/evolution-chain

That's how this API work


Introduction of Promises

Promises are added backward compatible
Old beta node version is dropped, latest stable is added
Docs and tests are extended

@riskawarrior Thanks for the PR, I've reviewed it.

@satazor Sure, I made the alterations you suggested. Please review it again, thanks!

Looks good now! Thanks


Correct off-by-one error

@rneatherway also - even though it's technically not the scope of the PR, please add radix parameter to parseInt:
const results = parseInt(output.stdout.trim()) - 2;

const results = parseInt(output.stdout.trim(), 10) - 2;

https://www.oreilly.com/library/view/javascript-the-good/9780596517748/apas07.html

It's true that since ECMAScript 5 , browsers treat '0101' as decimal - not octal, but it's still safest just to supply the radix - as the function still parses 0x... as octal, and we would never want that in this case anyway.

Updated :smile:


v0.0.15

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

Comparison is base (dd5c327) 3.96% compared to head (e50a815) 3.87%.

Files
Patch %
Lines

crack-core/src/db/metadata.rs
0.00%
57 Missing :warning:

crack-core/src/utils.rs
0.00%
35 Missing :warning:

crack-core/src/db/playlist.rs
0.00%
12 Missing :warning:

crack-config/src/lib.rs
0.00%
3 Missing :warning:

Additional details and impacted files
@@            Coverage Diff            @@
##           master    #141      +/-   ##
=========================================
- Coverage    3.96%   3.87%   -0.10%
=========================================
  Files          64      64
  Lines        4312    4416     +104
=========================================
  Hits          171     171
- Misses       4141    4245     +104

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


filter out null elements from normalizeEntries array

While working on a Contentful theme I have had an ongoing issue with my local dev server failing to load because of this error.
An error occurred when processing the plugins: Cannot read property '__metadata' of null.
TypeError: Cannot read property '__metadata' of null
    at /Users/rob/work/nextjs/themes/starter-nextjs-contentful-theme/sourcebit.js:74:127

Root Cause
In the themes sourcebit.js we attempt to read page.__metadata.modelName from the objects array but if it contains null elements it will throw a TypeError “Cannot read property '__metadata' of null”
The sourcebit-source-contentful module normalizeEntry() function is returning null elements back to the normalizedEntries array. The normalizedEntries array should filter out null elements.
In my case, the problem was caused by draft assets in Contentful.

https://www.notion.so/stackbit/Contentful-theme-sourcebit-has-null-elements-in-objects-array-a4eae15130a54a6a86f5374dce5a4ce2


Crash on Firefox mobile

The issue is reproductible on firefox mobile v68.3
Stack trace
be@https://excalidraw.com/static/js/main.a1fcd27b.chunk.js:1:48184
value@https://excalidraw.com/static/js/main.a1fcd27b.chunk.js:1:138117
bu@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:160321
t.unstable_runWithPriority@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:179832
$a@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:104594
gu@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:156574
iu@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:146901
Ka/<@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:104885
t.unstable_runWithPriority@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:179832
$a@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:104594
Ka@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:104830
Qa@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:104765
eu@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:143488
enqueueSetState@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:109589
k.prototype.setState@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:54130
t/n.syncActionResult@https://excalidraw.com/static/js/main.a1fcd27b.chunk.js:1:116851
e/<@https://excalidraw.com/static/js/main.a1fcd27b.chunk.js:1:123287
u@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:47414
l/i._invoke</<@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:47167
y/</e[t]@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:47771
r@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:2207
l@https://excalidraw.com/static/js/2.75b44755.chunk.js:2:2410

localStorage
{"i18nextLng":"en"}

Can you reproduce this again and send an updated stack trace? We’ve recently added some tools that should make it easier for us to fix the issue.

Here is the new stack trace:
m.getTransform is not a function:

getTransform (renderer/renderScene.ts:47:42)
componentDidUpdate (index.tsx:2296:37)
p.focus&&p.focus();for (../node_modules/react-dom/cjs/react-dom.production.min.js:251:462)
unstable_runWithPriority (../node_modules/scheduler/cjs/scheduler.production.min.js:18:436)
dg (../node_modules/react-dom/cjs/react-dom.production.min.js:120:324)
Xj (../node_modules/react-dom/cjs/react-dom.production.min.js:244:436)
Lj (../node_modules/react-dom/cjs/react-dom.production.min.js:223:419)
ig (../node_modules/react-dom/cjs/react-dom.production.min.js:121:114)
unstable_runWithPriority (../node_modules/scheduler/cjs/scheduler.production.min.js:18:436)
dg (../node_modules/react-dom/cjs/react-dom.production.min.js:120:324)
ig (../node_modules/react-dom/cjs/react-dom.production.min.js:121:60)
dg (../node_modules/react-dom/cjs/react-dom.production.min.js:120:495)
Rg (../node_modules/react-dom/cjs/react-dom.production.min.js:214:155)
isMounted (../node_modules/react-dom/cjs/react-dom.production.min.js:133:236)
setState (../node_modules/react/cjs/react.production.min.js:13:230)
syncActionResult (index.tsx:704:11)
json=([0-9]+), (index.tsx:774:13)
tryCatch (../node_modules/regenerator-runtime/runtime.js:45:39)
context.dispatchException (../node_modules/regenerator-runtime/runtime.js:271:21)
function (../node_modules/regenerator-runtime/runtime.js:97:20)
asyncGeneratorStep (../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js:3:24)
_next (../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js:25:8)```

Huh... https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getTransform

/cc @enzoferey

Whoops, sorry ! 😅 I didn't know we plan to support exotic navigators (0.35% usage on mobile stats. Btw, setTransform has same browser support and it's also an issue.
I unfortunately don't have time to spend on Excalidraw in the next few weeks, but I believe it should be fixable by moving to context.scale() + context.translate if we are careful about one not affecting the other. Another option, is to use context.transform(myTransform), which is supported by all browsers, but it's context dependant (doesn't reset but instead multiplies matrices).
To give you more context (🥁), the reason why I used getTransform and setTransform is because is the only way to pick up and set current transform in an associate context-less way. I'm not aware of any other of managing current transform that way.

Or maybe let's just disable zooming on browsers that don't support the API for now? Although, looking at the code, this would still need hacks in several places.
Btw, this also applies to non-chromium Edge (which seems to be the majority version out there, still).

Duplicate of #861


Heroku deployment: fix node.js

@alis-khadka please use this as the base branch for addressing: https://github.com/restarone/violet_rails/pull/634

@alis-khadka can we try pushing to heroku with the same node version we run in production?

@alis-khadka can we try pushing to heroku with the same node version we run in production?

Sure, I will be looking into this for today.


ctmap: do not call InitMapInfo() in init()

[DRAFT]
Signed-off-by: Kornilios Kourtis<EMAIL_ADDRESS>

test-me-please

This will fix https://github.com/cilium/cilium/issues/15337, right?

This will fix #15337, right?

That's the intention, yes.

test-me-please

test-me-please

test-me-please

test-me-please

test-gke

retest-net-next

retest-runtime

There are currently two failures: one for gke-stable with a "Build Scaling cluster failed" and another one that looks like a flake: https://github.com/cilium/cilium/issues/15621. So, I will mark the PR as Ready for review.

test-gke

Team reviews are in and CI jobs are passing except for k8s-1.16-kernel-netnext which is failing with known flake https://github.com/cilium/cilium/issues/15620. Merging.

@kkourt I think there is still one case where we might wrongly initialize the maps. We do ctmap.InitMapInfo() before finishKubeProxyReplacement() which might disable the NodePort BPF.

I guess you mean finishKubeProxyReplacementInit()
Here's the order of events:

runDaemon() starts https://github.com/cilium/cilium/blob/27eda2c934dd1266ffb5e49a7da80388f3265c37/daemon/cmd/daemon_main.go#L1511

calls NewDaemon() https://github.com/cilium/cilium/blob/27eda2c934dd1266ffb5e49a7da80388f3265c37/daemon/cmd/daemon_main.go#L1580

calls ctmap.InitMapinfo() https://github.com/cilium/cilium/blob/27eda2c934dd1266ffb5e49a7da80388f3265c37/daemon/cmd/daemon.go#L307
calls finishKubeProxyReplacementInit() https://github.com/cilium/cilium/blob/27eda2c934dd1266ffb5e49a7da80388f3265c37/daemon/cmd/daemon.go#L573

spawns goroutine that will delete maps https://github.com/cilium/cilium/blob/27eda2c934dd1266ffb5e49a7da80388f3265c37/daemon/cmd/daemon_main.go#L1657-L1668

I think if the maps are initialized before we disable NodePort BPF, then it would mean that we will not delete the maps. So I think that the map controller error might not trigger. On the other hand, this would mean that for the case were NodePort is disabled late (i.e., in finishKubeProxyReplacementInit) we do not delete the snat maps.

I would suggest that, assuming this PR fixes the faulting map controller, we should tackle the issue mentioned by @brb
by restructuring initialization https://github.com/cilium/cilium/issues/13573 and properly deal with the various dependencies.


[Feature Request] Support Bitcoin Mining

Do you plan to support mining in CSS?

Yes, but not out of the box, see #14


Arrange error page

When the error is broken (like missing error file) make sure the
error page displays the right method and the correct Additionally message.

merged


Benchmark examples?

I need to be able to test my endpoint can handle say 5 simultaneous requests.
Does gofight + "*testing.B" make sense? I can't find an example. Or should I reach for another tool?
https://github.com/search?q="*testing.B"+"github.com%2Fappleboy%2Fgofight"&type=Code

I'm struggling to get a brench mark running in parallel here: https://github.com/unee-t/unit/commit/20e4f6a0001ab9a49027f4de0e969c3af3377929 https://media.dev.unee-t.com/2019-04-22/parallel.mp4 What am I missing?


SimpleDimmer not accepted?

Finally got my bulbs back onto homebridge - had to use Charles proxy to find the keys instead of tuna-cli and anyproxy.
But now the type SimpleDimmer is not an accepted type. How do I fix this? Should it be called something else?

Try this solution from a previously closed issue for the same question and possibly #37 at the bottom of that thread.
https://github.com/AMoo-Miki/homebridge-tuya-lan/issues/19#issuecomment-472334773

Sorry this is so late. But adding "dp":3, did not fix it. It still says "no valid configured devices found" and "___ doesn't have a valid type defined" when I have SImpleDimmer in the config.json

Did you do what was suggested in issue #19?
(Just updating to the latest version will NOT work you have to run the exact command below to install this specific version, possibly with sudo if you get errors installing without it)
npm i -g AMoo-Miki/homebridge-tuya-lan

Sorry, I missed #19 last time I looked. Tried that and it fixed it, thanks!

The SimpleDimmer is not in the released version of the plugin. The latest SimpleDimmer release has been documented on the Supported Devices page.


[Performance] ImmuDB queries are take longer than expected response time

Immudb search queries take longer than expected time, sometimes it takes 3-5 seconds just for count queries.

Indexes can help in faster performance of queries:
https://docs.immudb.io/master/develop/sql/indexes.html

This issue is resolved with the new Postgres+immudb+RMQ-based flow in PR #329


Add existence check in CMake before removing OCC libs

Description
In PR #1017, OCC libraries are removed within the CMake configuration even if they are not set. This behaviour results in a hard CMake error in such a case. This PR puts the REMOVE_ITEM commands in an if condition and checks the existence at first.
Fix issue #1018

@sdeinert Could you check if you can build TiGL with these changes?


Invalid input: rococo-local.json only supported with rococo-native feature enabled.

I started to get this error after upgrading to polkaodt-v0.9.5, anyone with an idea? I'm using<EMAIL_ADDRESS>

ok find the reason


community: Add stock market tools from financialdatasets.ai

Description:
In this PR, I am adding three stock market tools from financialdatasets.ai (my API!):

get balance sheets
get cash flow statements
get income statements

Twitter handle: @virattt

Hey @hwchase17 - where's the best place for me to add a jupyter notebook (usage docs) for the new tools?
Is it still docs/docs/integrations/tools?

@hwchase17 - doc formatting changes are fixed 🙏


Finished google export function

This closes #26 and should merge after #95.
I've refactored the Papaparse function to be wrapped in a promised and moved it into the AstroClassroomsTableContainer. I've also refactored the export to Google drive to use the actual transformed CSV data. The UI received some improvements including status messages about the export and the modal will remain open to offer a link to open the CSV in Google Sheets. I'm a bit unsure with this UI state since I'm showing two success messages: one that an export from caesar is available, and the other is that the CSV successfully exported to Google Sheets and the URL link.
Still to do: The CSV transformation for the galaxy zoo project.

@shaunanoordin Thanks! I was bound to mess up something in a rebase.

@shaunanoordin I think I fixed both of those quirks. The requestedExports, pending state, and closing the modal needed more robust management.


script to sync wikipedia, wikidata and knowledge graph ids with wikidata, fix bad wikipedia data

I noticed @dwillis was adding the Google Knowledge Graph ids to the current legislators in another pull request, so I thought about doing it for the historical ones as well.  I wrote a script to add or update Wikipedia, Wikidata and Knowledge Graph ids joining with Wikidata on the Bioguide id.
This PR has the script as well as running it against both historical and current legislator files.  If you look at the diff for the legislators you'll find it reveals one actual current mistake, Dan Sullivan's Wikipedia page is linked to a state rep from Arkansas instead of the Senator from Alaska.  Then there are a bunch of places where Wikipedia article names have changed, both in current and historical.  Most of these are just minor formatting, the current ones work fine w/ a redirect but there are some that go to disambiguation pages (eg David Young) so updating them is necessary.

:+1: from me - @JoshData ?

Could you just reset the two files in scripts to Unix-style line endings?

(Tagging #322 as the source of the error in Dan Sullivan's wikipedia entry.)

Does this cover everything in #357?

Fixed the line endings.  Yes, it does cover #357.  I noticed a few places where we differ but spot checking it appears this PR is correct ( @dwillis check out John Carney, Steve Pearce and others).
Also, just to note on the usefulness of Knowledge Graph ids, the Youtube API accepts them.

Fantastic. If there are no objections, I'll merge.


Fix auto refresh cache tests

Coverage increased (+0.6%) to 98.938% when pulling b5919ec6a43e38b5b445da4a9c4c34f2e1e40a25 on fix_auto_refresh_cache_tests into 7bb89a21d71da172dfee26e5b788e44dd4e2542f on master.


usm: kafka: test: Fix teardown

What does this PR do?
The telemetry test assigns to the client in the context multiple times, so some of the clients are never torn down, leading to issues with tests run later (such as for example the still-running clients attempting to connect to the raw server while the raw tests are executed afterward).

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge

/merge


Replace appName with entityGuid in the queries and SLO definitions

appName is referenced throughout the current (1.x) documents and queries. We need to:

shift to entityGuid as the identifier for events
store the entityGuid in the slo docs
implement in a way that supports backwards compatibility with the 1.x definitions

@tangollama could you please describe it more? I'm not sure I understand correctly, because right now is both entityGuid and appName in SLO document:

@norbertsuski, thanks for the clarification. I'll do a bit more research and re-address.


Session Databytes displays 0 questions

Describe the bug
There is PSH data for the actual TCP connection in the session, but databytes is 0 in the session.

Elasticsearch version:
7.10.2
Arkime/Moloch version:
v3.4.2
OS name and version:
CentOS 7.9-2009
How was Arkime/Moloch built/installed: (rpm, deb, easybutton, ...)
RPM

For TCP arkime only counts bytes that were part of the session towards databytes. Since there was on SYN it has no clue what the session is.

已经收到您的邮件，我会尽快处理。

For TCP arkime only counts bytes that were part of the session towards databytes. Since there was no SYN it has no clue what the session is.

Thx.