ArgumentError in RangeMaintainingScrollPhysics.adjustPositionForNewDimensions (NaN)

We are seeing this error quite often in our error logging. It seems that the calculations in adjustPositionForNewDimensions sometimes generate NaN, which then causes double.clamp to throw the Argument error.
Full stack trace:
ArgumentError: Invalid argument(s): NaN
  File "double.dart", line 236, in _Double.clamp
  File "scroll_physics.dart", line 547, in RangeMaintainingScrollPhysics.adjustPositionForNewDimensions
  File "scroll_physics.dart", line 325, in ScrollPhysics.adjustPositionForNewDimensions
  File "scroll_physics.dart", line 325, in ScrollPhysics.adjustPositionForNewDimensions
  File "scroll_position.dart", line 586, in ScrollPosition.correctForNewDimensions
  File "scroll_position.dart", line 546, in ScrollPosition.applyContentDimensions
  File "viewport.dart", line 1493, in RenderViewport.performLayout
  File "object.dart", line 1707, in RenderObject._layoutWithoutResize
  File "object.dart", line 879, in PipelineOwner.flushLayout
  File "binding.dart", line 497, in RendererBinding.drawFrame
  File "binding.dart", line 883, in WidgetsBinding.drawFrame
  File "binding.dart", line 363, in RendererBinding._handlePersistentFrameCallback
  File "binding.dart", line 1145, in SchedulerBinding._invokeFrameCallback
  File "binding.dart", line 1082, in SchedulerBinding.handleDrawFrame
  File "binding.dart", line 996, in SchedulerBinding._handleDrawFrame
  File "zone.dart", line 1428, in _rootRun
  File "zone.dart", line 1328, in _CustomZone.run
  File "zone.dart", line 1236, in _CustomZone.runGuarded
  File "hooks.dart", line 150, in _invoke
  File "platform_dispatcher.dart", line 270, in PlatformDispatcher._drawFrame
  File "hooks.dart", line 114, in _drawFrame

I don't believe this error is affecting our users ability to use the app, as we haven't had customer feedback regarding scrolling issues. But we are seeing this reported a lot in our logs.
Steps to Reproduce
Unfortunately I have been unable to reliably reproduce this issue locally, and as can be seen from the stacktrace above, there isn't much for us to go on to investigate whether it's a particular issue with one of our list views. It seems like the error is in the framework.

Logs

michael@supertoast mobile % flutter doctor -v
[✓] Flutter (Channel dev, 2.6.0-11.0.pre, on macOS 11.6 20G165 darwin-x64, locale en-AU)
    • Flutter version 2.6.0-11.0.pre at /Users/michael/.bin/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4b330ddbed (5 months ago), 2021-09-16 17:29:58 -0700
    • Engine revision 5b81c6d615
    • Dart version 2.15.0 (build 2.15.0-116.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/michael/Library/Android/sdk
    • Platform android-31, build-tools 32.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.63.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.34.0

[✓] Connected device (3 available)
    • CareApp’s iPhone (mobile) • c3ee8096a2df059e475378199066cd0fec8b6a48 • ios            • iOS 15.1 19B74
    • macOS (desktop)           • macos                                    • darwin-x64     • macOS 11.6 20G165 darwin-x64
    • Chrome (web)              • chrome                                   • web-javascript • Google Chrome 97.0.4692.99

• No issues found!

@MichaelMarner
Since you are on Channel dev, 2.6.0-11.0.pre, the version is old and channel has been de-commissioned, so I suggest you to switch to latest master or stable and see if you still get the same crash log or not. It could be a possibility that upgrading may have already fixed this behavior.


2018-09-01-preview/authorization-RoleAssignmentsCalls.json doesn't define correctly its return type

From https://github.com/Azure/azure-sdk-for-python/issues/3802#issuecomment-440044397
Return types of operations are using RoleAssignmentPropertiesWithScope which omits important fields like principalType

Fixed https://github.com/Azure/azure-rest-api-specs/pull/4525


Release artifact for release v1.2.1

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/retest


[issue Resolve] -- Update the Project Readme file ⚡

Changes Made:

Added badges for GitHub stars, forks, issues, and license status at the top of the README
Integrated an animated typing SVG banner showcasing key features
Improved the overall documentation structure with clear sections using emoji icons
Added detailed setup and installation instructions with code blocks

PR to isssue --> #3

Great Work 💯


Support form crop

Will we be able to crop into a square ?

I will also love to see squared video here but I think Video Cropping is out of the scope of this library.
Check out this: http://stackoverflow.com/questions/15384268/does-android-support-video-cropping

Yeah, that's out of the scope of this library. Android's APIs do not support that.


add nestingLimit for Options

this allows restricting the max recursion depth when Parsing JSON or
when validating VPack using a Validator. Helps to prevent stack smashing
attacks via very deeply nested Arrays / Objects.

Coverage increased (+0.01%) to 96.726% when pulling 464ae411f5ff4c277fd1b4f4602d14b57f118167 on feature/add-nesting-limit into<PHONE_NUMBER>fdeccac9e7f6aad71ab6d27524a098 on main.


The "Push NuGet packages" example does not work when pushing to MyGet?

I'm using this task:
- task: DotNetCoreCLI@2
  displayName: 'MyGet !'
  inputs:
    configuration: '$(BuildConfiguration)'
    command: 'push'
    projects: '**/*.csproj'
    packagesToPush: '**/*.nupkg'
    nuGetFeedType: 'external'
    publishVstsFeed: 'https://www.myget.org/F/stef-test/api/v2/package'
    publishFeedCredentials: '$(MyGetKey)'
    versioningScheme: 'byPrereleaseNumber'

However the build pipeline shows this error:
Job Job1: Step input publishFeedCredentials references service connection {***} which could not be found. The service connection does not exist or has not been authorized for use. For authorization details, refer to https://aka.ms/yamlauthz

Where {***} is the API Key from MyGet.

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

ID: 96561b11-820d-b386-4208-e88e9552f5fc
Version Independent ID: 42918fea-f9ad-260c-ec38-70254a47de5d
Content: .NET Core build and release task - Azure Pipelines & TFS
Content Source: docs/pipelines/tasks/build/dotnet-core.md
Product: devops
GitHub Login: @erickson-doug
Microsoft Alias: amullans

@azooinmyluggage for dotnet core tasks

Hi @StefH, are you still having this issue?


patrol develop throws an exception when app under test is in background and user is trying to hot restart

hot restart failed to complete: _flutter.runInView: (-32000) Could not run configuration in engine.
        #0      new _OutstandingRequest (package:vm_service/src/vm_service.dart:1930:45)
        #1      VmService._call (package:vm_service/src/vm_service.dart:2499:21)
        #2      VmService.callServiceExtension (package:vm_service/src/vm_service.dart:2470:14)
        #3      VmService.callMethod (package:vm_service/src/vm_service.dart:2452:12)
        #4      FlutterVmService.callMethodWrapper (package:flutter_tools/src/vmservice.dart:501:28)
        #5      FlutterVmService.runInView (package:flutter_tools/src/vmservice.dart:580:11)
        <asynchronous suspension>
        #6      Future.wait.<anonymous closure> (dart:async/future.dart:523:21)
        <asynchronous suspension>
        #7      HotRunner._launchInView (package:flutter_tools/src/run_hot.dart:570:5)
        <asynchronous suspension>
        #8      Future.wait.<anonymous closure> (dart:async/future.dart:523:21)
        <asynchronous suspension>
        #9      HotRunner._launchFromDevFS (package:flutter_tools/src/run_hot.dart:590:5)
        <asynchronous suspension>
        #10     HotRunner._restartFromSources (package:flutter_tools/src/run_hot.dart:691:5)
        <asynchronous suspension>
        #11     HotRunner._fullRestartHelper (package:flutter_tools/src/run_hot.dart:812:16)
        <asynchronous suspension>
        #12     HotRunner.restart (package:flutter_tools/src/run_hot.dart:752:38)
        <asynchronous suspension>
        #13     TerminalHandler._commonTerminalInputHandler (package:flutter_tools/src/resident_runner.dart:1790:40)
        <asynchronous suspension>
        #14     TerminalHandler.processTerminalInput (package:flutter_tools/src/resident_runner.dart:1830:7)
        <asynchronous suspension>

        Error connecting to the service protocol: Exception: connection to device ended too early

@jBorkowska Can you please write some more information about it? I tried to reproduce this on iOS but for me it works fine (it starts the test from the beginning).


Inconsistency on replication rules format between harbor and provider

Since this modification in Harbor : https://github.com/goharbor/harbor/pull/14345, harbor adds { and } on any rule containing a ,.
This behavior does not seem to be applied in the provider which implies that if we configure a rule without '{' in the terraform code, the rule is not valid for harbor and ignored.
It can lead to some important issues because it has for consequences some deletion on images we wanted to retain.
Harbor Version v2.4.0-d4affc2e
Provider version : 3.4.4

Maybe something like adding a string-manipulation to add { and } on the below rows would suffice?
https://github.com/goharbor/terraform-provider-harbor/blob/main/client/replication.go#L55
if name != "" {
	filter.Type = "name"
	filter.Value = name
}
if tag != "" {
	filter.Type = "tag"
	filter.Value = strings.ReplaceAll(tag, " ", "")
	filter.Decoration = decoration
}


Bug in OnAfterGetCurrRecord Subscriber in BC14

I made a subscription to Page 95 "Sales Order Subform" - OnAfterGetCurrRecord and first my Subscriber was executed and after my subscriber the Page trigger "OnAfterGetCurrRecord" was executed.
I have tested it in BC14.

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

ID: c7fac1d7-1081-0cf1-e290-454f2bf46022
Version Independent ID: 91fa0669-ad94-0224-272b-b423974cca3f
Content: OnAfterGetCurrRecordEvent (Page) Trigger Event - Business Central
Content Source: dev-itpro/developer/triggers-auto/events/page/devenv-onaftergetcurrrecordevent-page-trigger.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Thanks for your feedback. This repo is meant for documentation issues only. This looks like a product bug. Please use your usual support channel to file a bug. Thanks.


Fixed deepmerge module export naming issue

Fixes #899
Checklist

[x] I acknowledge that all my contributions will be made under the project's license
[x] I have made a material change to the repo (functionality, testing, spelling, grammar)
[x] I have read the [Contribution Guide] and my PR follows them.
[x] I updated my branch with the development branch.
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation about the functionality in the appropriate .md file
[x] I have added in line documentation to the code I modified

Short description of what this PR does:
This PR fixes webpack's interpolation issue with the deepmerge package. Related to the changes made to deepmerge. Renaming merge to deepmerge fixes the issue.

Can it be merged please?

Interesting bug, seems like this is something that should be fixed in Webpack ideally, as we should be free to call our variables however we want, without it affecting the build.
But happy with this change if it fixes the issue for the time being, either deepmerge if that's what's necessary to fix it, or otherwise deepMerge as @thinkingserious suggested 👍

Thanks for weighing in Adam!

Hello @chrisamador,Thanks again for the PR! We want to show our appreciation by sending                                              you some swag. Could you please fill out                                              this form so we can send it to you? Thanks!                                             Team SendGrid DX

Hi there.
Is there any chance that this package can be deployed more often and not every 6 months or so as we need some of the bugs fixes. For example my mails are broken because of this issue. Unfortunately I can't downgrade Webpack because I'm using the Angular CLI which has Webpack as a peer dependency which means I have to use the version that they provide. So I'm stuck now and based on the release schedule for this project I'm still going to wait a long time is that right?
Thanks for fixing these issues.

I'm in the same situation and would really a appreciate a new release with this fix in.

Hi! I'm also hitting this bug, and it's preventing us from using sendgrid. Any eta or workaround?

@thinkingserious would it be possible to publish a new version with this fix included? It's blocking us as well.


Improve cmake script for macOS

Add default minimum target to 10.7.
Note: the patch is very close to #1214 but is intended for master. The goal of this change is to make the CI setup simpler.

Due to #800 the CMake files has been changed quite a bit, so this needs readjustments.

Rebased. ;-)


frontend: Add unit tests

We don't have any testing at the moment for the frontend. As a bare minimum we should have Unit Tests for all components, modules, etc.
We should use Vitest as a framework because it is recommended for Vue 3.
Acceptance Criteria
Should have setup for:

[ ] Unit testing
[ ] Vitest, component testing
[ ] Cypress, e2e testing

We have some goodish experience with Cypress for end-to-end tests.

@weilbith Can you split into separate issue.

@weilbith I think this issue acts as an epic for issues you have opened, so I think we should add issues to it, and then it will close automatically (not sure about this from Zenhub) when all child issues are closed!


add readOption, writeIfNotExists , casZIO

Add below methods for KVStores
readOption
This is more Scala idiomatic. If a key in a map does not exist, we should get an Option instead of error. read method will continue to be present with it's existing behaviour.
writeIfNotExists
Insert only if a key does not exist. Othewise return Precondition Failed error.
This is implemented using the original cas api. We pass a nil as from and a new value to be inserted. we set create_if_not_exists as true.
when the key does exist, maelstrom compares it with nil and it returns false. This results in Precondition Failed error.
when key does not exist, maelstrom simply inserts it successfully
cas
Note: the name is not final yet
This is an overload (as of now) for existing cas method. This is a high level method and is built by combining existing readOption, writeIfNotExists and existing cas method

the new method takes a lamda whose job is to take an Option[A] to A
the method will read current value and feed it to lamda to generate new value
it will then go to KV store to write new value using older cas method
if the current value is None, writeIfNotExists method is used internally instead of cas
if if fails due to race condition (Precondition Failed error), it will repeat the entire cycle again with a newly fetched value.
The retry count is infinite
These semantics are very similar to a Ref in ZIO
The new method will never return Precondition Failed error and can take more than given timeout value since timeout only applies to one ask

Question: Does it make sense to still expose the previous cas method?
casZIO
Effectful version of above method. The only difference is the lambda can return a ZIO[A] instead of A.
Caution needs to taken while using this method because if the lambda performs a side effect, that side effect can happen multiple times as part of retries.

Tasks

[ ] Tests pending (how do you test this? maelstrom does not support running server without a workload)
[ ] Examples
[ ] Documentation


Is it possible to relocate .panzer directory?

As far as I can see from the documentation, the ~/.panzer directory location for supporting scripts and styles is hard-coded. There are situations where you'd want multiple users to share the same files, and (in my case) the same user over several machines. Ideally I'd like to relocate this to sit in my Dropbox. I can probably do so with links, but if it's possible within panzer itself, that would be much better.

Yes, this is available as a command line option. Please read the documentation: https://github.com/msprev/panzer#use


mask_rcnn_damage_0010.h5

Hi @priya-dwivedi
can you please tell me where can i download this "mask_rcnn_damage_0010.h5" file

I have same problem please help

Hi @soufianesabiri
may I know in what context you are trying to apply this?

if we are trying to apply this for car damage detection or in any context follow these steps please:
1.Use the mask_rcnn_coo.h5
https://github.com/matterport/Mask_RCNN/releases
2.train the model with mask_rcnn_coo.h5
3.after training you can save your file to your directory.
model_path = os.path.join(ROOT_DIR, "mask_rcnn_damage_0010.h5")
model.keras_model.save_weights(model_path)

thanks for your answer, how to train the model please?? I have installed tensorflow and keras.

import os
import sys
import itertools
import math
import logging
import json
import re
import random
from collections import OrderedDict
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.patches as patches
import matplotlib.lines as lines
from matplotlib.patches import Polygon
from keras.optimizers import SGD, Adam, RMSprop
Root directory of the project
ROOT_DIR = ROOT_DIR = os.path.abspath("../../")
Import Mask RCNN
sys.path.append(ROOT_DIR)  # To find local version of the library
print(ROOT_DIR)
from mrcnn import utils
from mrcnn import visualize
from mrcnn.visualize import display_images
import mrcnn.model as modellib
from mrcnn.model import log
MODEL_DIR = os.path.join(ROOT_DIR, "logs")
print(MODEL_DIR)
import car_damage
%matplotlib inline
COCO_MODEL_PATH = os.path.join(ROOT_DIR, "mask_rcnn_coco.h5")
print(COCO_MODEL_PATH)
Download COCO trained weights from Releases if needed
if not os.path.exists(COCO_MODEL_PATH):
utils.download_trained_weights(COCO_MODEL_PATH)
BATCH_SIZE = 128
NB_EPOCH = 2
NB_CLASSES = 1
VERBOSE = 1
VALIDATION_SPLIT = 0.2
OPTIM = RMSprop()
config = car_damage.damageConfig()
CUSTOM_DIR = os.path.join(ROOT_DIR, "customImages")
print(CUSTOM_DIR)
class InferenceConfig(config.class):
# Run detection on one image at a time
GPU_COUNT = 1
IMAGES_PER_GPU = 1
config = InferenceConfig()
config.display()
def get_ax(rows=1, cols=1, size=16):
"""Return a Matplotlib Axes array to be used in
all visualizations in the notebook. Provide a
central point to control graph sizes.
Adjust the size attribute to control how big to render images
"""
_, ax = plt.subplots(rows, cols, figsize=(size*cols, size*rows))
return ax

Load dataset
Get the dataset from the releases page
https://github.com/matterport/Mask_RCNN/releases
dataset_train = car_damage.damageDataset()
print(CUSTOM_DIR)
dataset_train.load_damage(CUSTOM_DIR, "train")
Must call before using the dataset
dataset_train.prepare()
print("Image Count: {}".format(len(dataset_train.image_ids)))
print("Class Count: {}".format(dataset_train.num_classes))
for i, info in enumerate(dataset_train.class_info):
print("{:3}. {:50}".format(i, info['name']))
Load dataset
Get the dataset from the releases page
https://github.com/matterport/Mask_RCNN/releases
dataset_val = car_damage.damageDataset()
dataset_val.load_damage(CUSTOM_DIR, "val")
Must call before using the dataset
dataset_val.prepare()
print("Image Count: {}".format(len(dataset_val.image_ids)))
print("Class Count: {}".format(dataset_val.num_classes))
for i, info in enumerate(dataset_val.class_info):
print("{:3}. {:50}".format(i, info['name']))
image_ids = np.random.choice(dataset_train.image_ids, 4)
for image_id in image_ids:
image = dataset_train.load_image(image_id)
mask, class_ids = dataset_train.load_mask(image_id)
visualize.display_top_masks(image, mask, class_ids, dataset_train.class_names)
print(image_id)
print(dataset_train.source_class_ids)
#print(image_path)
print(dataset_train.image_info[image_id]["source"])
print(dataset_train.source_class_ids[dataset_train.image_info[image_id]["source"]])
print(MODEL_DIR)
model = modellib.MaskRCNN(mode="training", config=config,
model_dir=MODEL_DIR)
init_with = "coco"  # imagenet, coco, or last
if init_with == "imagenet":
model.load_weights(model.get_imagenet_weights(), by_name=True)
elif init_with == "coco":
# Load weights trained on MS COCO, but skip layers that
# are different due to the different number of classes
# See README for instructions to download the COCO weights
model.load_weights(COCO_MODEL_PATH, by_name=True,
exclude=["mrcnn_class_logits", "mrcnn_bbox_fc",
"mrcnn_bbox", "mrcnn_mask"])
elif init_with == "last":
# Load the last model you trained and continue training
model.load_weights(model.find_last(), by_name=True)
Train the head branches
Passing layers="heads" freezes all layers except the head
layers. You can also pass a regular expression to select
which layers to train by name pattern.
model.train(dataset_train, dataset_val,
learning_rate=config.LEARNING_RATE,
epochs=1,
layers='heads')
model_path = os.path.join(ROOT_DIR, "mask_rcnn_damage.h5")
model.keras_model.save_weights(model_path)

Thanks a lot! I will try this right after.

even you can refer this link
https://github.com/matterport/Mask_RCNN/blob/master/samples/demo.ipynb

thanks!

Hey @vajpaye
In
Import Mask RCNN
import car_damage is giving error that No module named 'car_damage'
can you please help to figure it out.
Thanks

ValueError: Layer #389 (named "mrcnn_bbox_fc"), weight <tf.Variable 'mrcnn_bbox_fc/kernel:0' shape=(1024, 8) dtype=float32_ref> has shape (1024, 8), but the saved weight has shape (1024, 324)

@angyee  you need to ADD few lines to else condition
print("Loading weights ", weights_path)
if args.weights.lower() == "coco":
# Exclude the last layers because they require a matching
# number of classes
model.load_weights(weights_path, by_name=True, exclude=[
"mrcnn_class_logits", "mrcnn_bbox_fc",
"mrcnn_bbox", "mrcnn_mask"])
else:
model.load_weights(weights_path, by_name=True, exclude=[
"mrcnn_class_logits", "mrcnn_bbox_fc",
"mrcnn_bbox", "mrcnn_mask"])

done exactly same but the result is saving in png image file but no masked image result for a

damaged part on the car

@angyee I am facing the same issue. Currently, I am working on it and will let you know if I would resolve it. Please let me know if you get some lead in this

@angyee I am able to run the algorithm successfully but still, the trained weights are not able to generate a splash. I think it needs more data and a higher number of epochs to generate the splash. Let me know if you are facing any issues to run this algorithm.

import os
import sys
import itertools
import math
import logging
import json
import re
import random
from collections import OrderedDict
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.patches as patches
import matplotlib.lines as lines
from matplotlib.patches import Polygon
from keras.optimizers import SGD, Adam, RMSprop
Root directory of the project
ROOT_DIR = ROOT_DIR = os.path.abspath("../../")
Import Mask RCNN
sys.path.append(ROOT_DIR) # To find local version of the library
print(ROOT_DIR)
from mrcnn import utils
from mrcnn import visualize
from mrcnn.visualize import display_images
import mrcnn.model as modellib
from mrcnn.model import log
MODEL_DIR = os.path.join(ROOT_DIR, "logs")
print(MODEL_DIR)
import car_damage
%matplotlib inline
COCO_MODEL_PATH = os.path.join(ROOT_DIR, "mask_rcnn_coco.h5")
print(COCO_MODEL_PATH)
Download COCO trained weights from Releases if needed
if not os.path.exists(COCO_MODEL_PATH):
utils.download_trained_weights(COCO_MODEL_PATH)
BATCH_SIZE = 128
NB_EPOCH = 2
NB_CLASSES = 1
VERBOSE = 1
VALIDATION_SPLIT = 0.2
OPTIM = RMSprop()
config = car_damage.damageConfig()
CUSTOM_DIR = os.path.join(ROOT_DIR, "customImages")
print(CUSTOM_DIR)
class InferenceConfig(config.class):
Run detection on one image at a time
GPU_COUNT = 1
IMAGES_PER_GPU = 1
config = InferenceConfig()
config.display()
def get_ax(rows=1, cols=1, size=16):
"""Return a Matplotlib Axes array to be used in
all visualizations in the notebook. Provide a
central point to control graph sizes.
Adjust the size attribute to control how big to render images
"""
_, ax = plt.subplots(rows, cols, figsize=(size*cols, size*rows))
return ax

Load dataset
Get the dataset from the releases page
https://github.com/matterport/Mask_RCNN/releases
dataset_train = car_damage.damageDataset()
print(CUSTOM_DIR)
dataset_train.load_damage(CUSTOM_DIR, "train")
Must call before using the dataset
dataset_train.prepare()
print("Image Count: {}".format(len(dataset_train.image_ids)))
print("Class Count: {}".format(dataset_train.num_classes))
for i, info in enumerate(dataset_train.class_info):
print("{:3}. {:50}".format(i, info['name']))
Load dataset
Get the dataset from the releases page
https://github.com/matterport/Mask_RCNN/releases
dataset_val = car_damage.damageDataset()
dataset_val.load_damage(CUSTOM_DIR, "val")
Must call before using the dataset
dataset_val.prepare()
print("Image Count: {}".format(len(dataset_val.image_ids)))
print("Class Count: {}".format(dataset_val.num_classes))
for i, info in enumerate(dataset_val.class_info):
print("{:3}. {:50}".format(i, info['name']))
image_ids = np.random.choice(dataset_train.image_ids, 4)
for image_id in image_ids:
image = dataset_train.load_image(image_id)
mask, class_ids = dataset_train.load_mask(image_id)
visualize.display_top_masks(image, mask, class_ids, dataset_train.class_names)
print(image_id)
print(dataset_train.source_class_ids)
#print(image_path)
print(dataset_train.image_info[image_id]["source"])
print(dataset_train.source_class_ids[dataset_train.image_info[image_id]["source"]])
print(MODEL_DIR)
model = modellib.MaskRCNN(mode="training", config=config,
model_dir=MODEL_DIR)
init_with = "coco" # imagenet, coco, or last
if init_with == "imagenet":
model.load_weights(model.get_imagenet_weights(), by_name=True)
elif init_with == "coco":
Load weights trained on MS COCO, but skip layers that
are different due to the different number of classes
See README for instructions to download the COCO weights
model.load_weights(COCO_MODEL_PATH, by_name=True,
exclude=["mrcnn_class_logits", "mrcnn_bbox_fc",
"mrcnn_bbox", "mrcnn_mask"])
elif init_with == "last":
Load the last model you trained and continue training
model.load_weights(model.find_last(), by_name=True)
Train the head branches
Passing layers="heads" freezes all layers except the head
layers. You can also pass a regular expression to select
which layers to train by name pattern.
model.train(dataset_train, dataset_val,
learning_rate=config.LEARNING_RATE,
epochs=1,
layers='heads')
model_path = os.path.join(ROOT_DIR, "mask_rcnn_damage.h5")
model.keras_model.save_weights(model_path)

I am facing error in save_weights:
TypeError: can't pickle _thread.RLock objects mrcnn

Same here, result image is same as input.
This never works


Changed dendrogram representation, some format tests passed

Proposed changes
I changed the dendrogram in order to better reflect the cluster populations
Types of changes
What types of changes does your code introduce?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[x ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist
Put an x in the boxes that apply.

[x ] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works

Codecov Report

Merging #73 (c5292b2) into main (f290feb) will not change coverage.
The diff coverage is 87.50%.

@@           Coverage Diff           @@
##             main      #73   +/-   ##
=======================================
  Coverage   80.61%   80.61%
=======================================
  Files          10       10
  Lines        1145     1145
=======================================
  Hits          923      923
  Misses        222      222

Impacted Files
Coverage Δ

dadapy/_utils/density_estimation.py
89.79% <ø> (ø)

dadapy/clustering.py
89.54% <ø> (ø)

dadapy/_utils/utils.py
59.12% <66.66%> (ø)

dadapy/id_estimation.py
82.89% <100.00%> (ø)

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 f290feb...c5292b2. Read the comment docs.

Yes, no problem...

Hi @alexdepremia I have generated the graphs before and after your change.
before

after

I see some changes in the saddle point locations. Could you explain once again what's the change in essence and how it improves visualisation?

In both (old and new) dendrograms, each cluster is in the middle of a region proportional to its population. In the new one, this region is delimited by the links in which these clusters are involved and, in the case of the first and last clusters, by the beginning and end of the graph.
.

Ok it seems that we can close this PR


Update at-scale templates for the metric ids in renderers change

You might want to go into column label settings and add comments or at least click apply. Right now I see labelSettings as empty which happens when you don't edit the label settings and you choose to use the defaults, which is fine, but we will need to add it eventually for localization.

You might want to go into column label settings and add comments or at least click apply. Right now I see labelSettings as empty which happens when you don't edit the label settings and you choose to use the defaults, which is fine, but we will need to add it eventually for localization.

I'll change this with another PR.


cmd/cue: misleading "field not allowed" error message on type clash

commit 1a2105ebef3420a3d9b3e3c384c6e91c1170160c
I ran cue vet on code similar to this (distilled from a much larger example):
results: #DecodeOutput
results: result: "hello"

#Output: {
	result: _
} | {
	error: string
}

#DecodeOutput: #Output & {
	result?: [... string]
	...
}

It produces the following error:
results: field `result` not allowed:
    ./x.cue:2:10
    ./x.cue:4:10
    ./x.cue:8:5
    ./x.cue:12:16
    ./x.cue:13:2

The error is because of the type clash of string vs [... string] but the error does not make this clear - the field result is in fact allowed, but only with a different type.
None of the source locations point to the offending [... string] piece of the schema.

This issue has been migrated to https://github.com/cue-lang/cue/issues/570.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


Fix custom_scene_viewer for macOS

🦟 Bug fix
No issue raised but related to #185
Summary
The example custom_scene_viewer does not display a window on macOS. The example will build  and run, the console will display the usage, however the GLUT window does not open.
Configuration

OS: macOS Catalina 10.15.7
Machine: Mac Pro (2019)
Config: ignition-rendering4

Detail
The issue was that the OpenGL context was not managed for macOS. The fix is to add the conditional compilation flags and variables used in the simple_demo and adapt them for this example. It was also necessary to move the glutInit() to
main() as it seems that this is required before the rendering engine is initialised during the scene building.

Add OpenGL context settings for macOS to the DemoWindow.
Move glutInit to main
Add command line option to set the ogre engine.

Tests
Because of issues with a side-by-side install of ogre and ogre2, tests were limited to ogre1.9 only and ogre2 was brew unlinked before compilation of ignition-rendering.
The images show the first four scenes of the demo running on macOS.

Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Sure - will do. Thought I'd set that up in SourceTree before committing but must have missed something. Are you ok with a force push on the PR once I get the signing in place?

Are you ok with a force push on the PR once I get the signing in place?

Sure, I think there's no way around this. Thanks!

Force pushed signed commit.

it's still not signed - DCO

Rebased on upstream ign-rendering4 and signed-off

@osrf-jenkins run tests please


Use erlef/setup-beam GitHub action

Looks like it forces an OTP version. We should see if we can remove that requirement.

Oh snap, I didn't think of that. I will open an issue in erlef/setup-beam. If not, maybe the gleam action could still be useful after all.

Sounds good. Fingers crossed they'll accept it. I can think of a few use cases

Type checking Gleam
Precompiling Gleam
Gleam JS

Issue for tracking: https://github.com/erlef/setup-beam/issues/79


Fix corner-case issue in RegionMask.multiply()

This PR fixes a corner-case bug where RegionMask.multiply() would not set non-finite (NaN, +/- inf) data values outside of the mask but within the mask bounding box to zero.  The array returned by multiply should be nonzero only within the mask.

@cdeil Done!


⚠ Bofrost.de has degraded performance

In 587e85c, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1001 ms

Resolved: Bofrost.de performance has improved in 8107114 after 6 minutes.


bug?: When the preact-render-to-string dependency does not exist, the error that occurs is vague

I used depcheck to identify and remove unused dependencies, among which preact-render-to-string was also deleted. I didn't realize that it is essential for prerender. However, I encountered a very strange error. Perhaps it's a good idea to add a check to see if this dependency exists when prerender.enable === true and throw a more explicit exception.
[preact:prerender] d is not a function
✓ built in 130ms
error during build:
TypeError: d is not a function

Reproducible Example
git clone https://github.com/rxliuli/preact-ssg-demo.git
cd preact-ssg-demo
pnpm i
pnpm build

That doesn't come from us, but your usage.
preact-render-to-string is an optional dependency of preact-iso, who's prerender function you're using in your demo. However, that's entirely provided by you, you control the prerendering method and we simply call the function you provide. Nothing about our implementation actually relies on RTS at all.
Take the following (completely valid) example:
export async function prerender(data) {
	return { html: '
Hello World!
'
}

I agree that message isn't clear, but it might be better in Vite's repo.

I brought up this issue in the vitejs discussion forum to see what the vitejs community has to say.
https://github.com/vitejs/vite/discussions/15725

Going to close this out as it looks like it's being properly addressed in Vite itself -- certainly feel free to comment if there's something we need to do here. Happy to reopen and investigate further.


HAR file can be read using HARLib but not parsed

I would like to capture all the requests and responses made by a Selenium test. I've started the proxy before the test and I have the HAR file ready in the end of the test. When I iterate over all the entries of the HAR file I need to parse the JSON into Java Objects using ObjectMapper or XStream. But when I run the parser over a given entry, the JSON format for that entry is invalid.
The JSON entry can be validated using: http://jsonlint.com/
This one is a sample:
"request": { "method": "GET", "url": "http://ads.yahoo.com/cms/v1?esig=1%xxxxxxxxxxxx&nwid=xxxxxxxx&sigv=1", "httpVersion": "HTTP",   "cookies": [{ "name": "B", "value": "xxxxxxxx&b=3&s=9h", "path": "null", "domain": "null", "expires": "null", "httpOnly": null, "secure": null, "comment": "", }
]
,   "headers": [{ "name": "Host", "value": "ads.yahoo.com", "comment": "null",  }, { "name": "Accept", "value": "image/webp,/;q=0.8", "comment": "null",  }, { "name": "User-Agent", "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36", "comment": "null",  }, { "name": "Accept-Encoding", "value": "gzip, deflate, sdch", "comment": "null",  }, { "name": "Accept-Language", "value": "en-US,en;q=0.8", "comment": "null",  }, { "name": "Cookie", "value": "B=xxxxxxxxx&b=3&s=9h", "comment": "null",  }]
,   "queryString": [{ "name": "esig", "value": "1~xxxxxxxxxxxxxxxxx", "comment": "null",  }, { "name": "nwid", "value": "xxxxxxxx", "comment": "null",  }, { "name": "sigv", "value": "1", "comment": "null",  }]
, null,  "headersSize": 396,  "bodySize": 0,  "comment": "", }
JSON can be beautified with: http://jsonviewer.stack.hu/
Issues
1- The very last comma of each inner/root nodes are causing a validation failure
2- The "null," entry is causing a validation failure (could it be ignored?)
The HARLib in question is this one: https://sites.google.com/site/frogthinkerorg/projects/harlib, and I used XStream for parsing, without luck (unless doing some manual interventions on the JSON entry).

What version of BMP are you running? I haven't seen this happen with the latest beta 10 snapshot.
If you still see this with the latest code, I have an open branch to replace our very old version of Jackson with Jackson 2.4. I'm just waiting on some of the other PRs to be merged before I submit it.

Hello jekh,
I got browsermob-proxy-2.0-beta-9.jar. I will update the jar, re-run the test and post the output here.

Hello jekh,
I made a test this morning with beta 10 and selenium 2.44 (upgrade was seamless except for a few lib updates), but the issue persists. I'm still can't get the JSON automatically parsed without manual intervention. This is before and after the formatting:
Original request
"request": { "method": "GET", "url": "http://ads.yahoo.com/cms/v1?esig=1~7315a025058f3128185459bfaf16e164414683fc&nwid=10000545908&sigv=1", "httpVersion": "HTTP/1.1",   "cookies": [{ "name": "B", "value": "3j7fnthaava32&b=3&s=33", "path": "null", "domain": "null", "expires": "null", "httpOnly": null, "secure": null, "comment": "", }
]
,   "headers": [{ "name": "Host", "value": "ads.yahoo.com", "comment": "null",  }, { "name": "Accept", "value": "image/webp,/;q=0.8", "comment": "null",  }, { "name": "User-Agent", "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36", "comment": "null",  }, { "name": "Accept-Encoding", "value": "gzip, deflate, sdch", "comment": "null",  }, { "name": "Accept-Language", "value": "en-US,en;q=0.8", "comment": "null",  }, { "name": "Cookie", "value": "B=3j7fnthaava32&b=3&s=33", "comment": "null",  }]
,   "queryString": [{ "name": "esig", "value": "1~7315a025058f3128185459bfaf16e164414683fc", "comment": "null",  }, { "name": "nwid", "value": "10000545908", "comment": "null",  }, { "name": "sigv", "value": "1", "comment": "null",  }]
, null,  "headersSize": 392,  "bodySize": 0,  "comment": "", }
After fixing
{ "method": "GET", "url": "http://ads.yahoo.com/cms/v1?esig=1~7315a025058f3128185459bfaf16e164414683fc&nwid=10000545908&sigv=1", "httpVersion": "HTTP/1.1",   "cookies": [{ "name": "B", "value": "3j7fnthaava32&b=3&s=33", "path": "null", "domain": "null", "expires": "null", "httpOnly": "null", "secure": "null", "comment": ""}
]
,   "headers": [{ "name": "Host", "value": "ads.yahoo.com", "comment": "null"}, { "name": "Accept", "value": "image/webp,/;q=0.8", "comment": "null"}, { "name": "User-Agent", "value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36", "comment": "null"}, { "name": "Accept-Encoding", "value": "gzip, deflate, sdch", "comment": "null"}, { "name": "Accept-Language", "value": "en-US,en;q=0.8", "comment": "null"}, { "name": "Cookie", "value": "B=3j7fnthaava32&b=3&s=33", "comment": "null"}]
,   "queryString": [{ "name": "esig", "value": "1~7315a025058f3128185459bfaf16e164414683fc", "comment": "null"}, { "name": "nwid", "value": "10000545908", "comment": "null"}, { "name": "sigv", "value": "1", "comment": "null"}]
,   "headersSize": 392,  "bodySize": 0,  "comment": ""}

I just tried hitting that URL with the latest beta 10 snapshot and did not run into this issue when retrieving the HAR from the proxy using the proxy's REST API.  For one thing, it looks like you are using both jackson 1.9 and jackson 2, which is almost certainly not going to give you what you want. Additionally, BMP uses jackson 1.7 (~4 years old), which may be further confusing things.
The easiest thing to do would be to make your client code use jackson 1.x exclusively and retest.
@lightbody  -- my jackson 2 upgrade branch depends on PR #142. Could you review that and merge it if it looks good? (It's mostly adding tests, with a few changes to the Har* classes to make them threadsafe.) Then I'll squash my jackson upgrade commits and submit another PR to get us onto a current and supported version of jackson.
@neillfontes -- here's what I see using the proxy's REST API (after beautification):
$ curl -X GET http://localhost:8080/proxy/8081/har
{
    "log": {
        "browser": {
            "name": "Firefox",
            "comment": "",
            "version": "34.0"
        },
        "pages": [{
            "pageTimings": {
                "comment": ""
            },
            "startedDateTime": "2015-01-09T18:06:54.717-08:00",
            "title": "",
            "id": "Page 1",
            "comment": ""
        }],
        "creator": {
            "name": "BrowserMob Proxy",
            "comment": "",
            "version": "2.0"
        },
        "entries": [{
            "pageref": "Page 1",
            "serverIPAddress": "<IP_ADDRESS>",
            "startedDateTime": "2015-01-09T18:08:07.348-08:00",
            "timings": {
                "blocked": 26,
                "dns": 79,
                "connect": 1,
                "ssl": 0,
                "send": 3,
                "wait": 82,
                "receive": 20,
                "comment": ""
            },
            "time": 185,
            "cache": {},
            "comment": "",
            "request": {
                "httpVersion": "HTTP/1.1",
                "headersSize": 401,
                "bodySize": 0,
                "queryString": [{
                    "name": "esig",
                    "value": "1~7315a025058f3128185459bfaf16e164414683fc"
                }, {
                    "name": "nwid",
                    "value": "10000545908"
                }, {
                    "name": "sigv",
                    "value": "1"
                }],
                "method": "GET",
                "comment": "",
                "headers": [],
                "url": "http://ads.yahoo.com/cms/v1?esig=1%7E7315a025058f3128185459bfaf16e164414683fc&nwid=10000545908&sigv=1",
                "cookies": [{
                    "expires": null,
                    "name": "B",
                    "value": "7cjtu35a2jaj0&b=3&s=bu",
                    "comment": ""
                }]
            },
            "response": {
                "httpVersion": "HTTP/1.1",
                "headersSize": 510,
                "statusText": "Found",
                "redirectURL": "",
                "bodySize": 0,
                "content": {
                    "size": 0,
                    "comment": "",
                    "mimeType": "text/plain; charset=utf-8"
                },
                "comment": "",
                "headers": [],
                "status": 302,
                "cookies": []
            }
        }, {
            "pageref": "Page 1",
            "serverIPAddress": "<IP_ADDRESS>",
            "startedDateTime": "2015-01-09T18:08:07.539-08:00",
            "timings": {
                "blocked": 0,
                "dns": 3,
                "connect": 1,
                "ssl": 0,
                "send": 0,
                "wait": 96,
                "receive": 3,
                "comment": ""
            },
            "time": 103,
            "cache": {},
            "comment": "",
            "request": {
                "httpVersion": "HTTP/1.1",
                "headersSize": 353,
                "bodySize": 0,
                "queryString": [{
                    "name": "xid",
                    "value": "uvVHgKRuVaCZa3ffr8k3bdHL"
                }],
                "method": "GET",
                "comment": "",
                "headers": [],
                "url": "http://dis.criteo.com/dis/rtb/rightmedia/cookiematch.aspx?xid=uvVHgKRuVaCZa3ffr8k3bdHL",
                "cookies": []
            },
            "response": {
                "httpVersion": "HTTP/1.1",
                "headersSize": 303,
                "statusText": "OK",
                "redirectURL": "",
                "bodySize": 43,
                "content": {
                    "size": 43,
                    "comment": "",
                    "mimeType": "image/gif"
                },
                "comment": "",
                "headers": [],
                "status": 200,
                "cookies": []
            }
        }],
        "comment": "",
        "version": "1.2"
    }
}

As of now, master is now on Jackson 2. You pull the latest code and give this another try. Just make sure you're not trying to use Jackson 1 to serialize the HAR objects anymore.

Hello Jekh,
I will make another test and I will post the results here.
Thanks,
Neill

Hello.
Im using HARLib. I installed the jar without the Jackson parser, but put the latest Jackson reference in my pom. The error i get is:
Missing text field in postData element
--> Did you solve this ?

I switched from HARLib to this project, which is using updated Jackson - and for me its working
https://github.com/sdstoehr/har-reader

I'm going to close this as resolved by the Jackson 2 update.


Disable status button on navbar

There is an issue with backend deployment which is causing the status site to behave in an unexpected way so, disable it till it gets fixed.

issue


Character counter not working in 1.0.0-rc.2

Expected Behavior
Should show a character counter after entering a text field. Should check the validity after entering each character.
Current Behavior
No character counter is shown when using marterialize.min.js version 1.0.0-rc.2 with the example code found here
Validity is never calculated
Steps to Reproduce (for bugs)
Link to codepen to reproduce

You need to initialize it with javascript. If you scroll down on the docs page you will see it.

Thank you. You may want to change the wording on your website as the current wording makes it seem optional. Only needed if the fields are dynamically added rather than necessary for it to work


VM info for ethernet device and IP not automatically created and associated

Currently only LXC container VMs IPs and interfaces are recorded, but not VM's IPs and interfaces even with QEMU agent installed.
Option 1: Use arp to get IP info
Look for the mac address in the configuration of the vm. In my example: vmid = 1176
Code:
~# qm config 1176 | grep net
boot: order=scsi0;ide2;net0
net0: virtio=4E:57:9F:01:4E:6F,bridge=vmbr12,firewall=1
Now you can use "arp" to get the current IP address from the MAC:
Code:
~# arp -n | grep -i 4E:57:9F:01:4E:6F
<IP_ADDRESS>               ether   4e:57:9f:01:4e:6f   C                     vmbr12
Option 2: use qemu-guest-agent to get info
apt install qemu-guest-agent
enabling the Guest agent flag in the VM config (in the GUI -> VM -> 'Options')
Proxmox VM Summary now lists IP and actual interface (not sure of command line to run to get info easier).

pvesh get nodes/pve4/qemu/105/agent/network-get-interfaces
│ result │ [{"hardware-address":"00:00:00:00:00:00","ip-addresses":[{"ip-address":"<IP_ADDRESS>","ip-address-type":"ipv4","prefix":8},{"ip-address":"::1","ip-address-type":"ipv6","prefix":128}],"name":"lo","statistics":{"rx-bytes":1010657032,"rx-dropped":0,"rx-errs":0,"rx-packets":5714439,"tx-bytes":1010657032,"tx-dropped":0,"tx-errs":0,"tx-packets":5714439}},{"hardware-address":"0a:25:f9:fb:69:3d","ip-addresses":[{"ip-address":"<IP_ADDRESS>","ip-address-type":"ipv4","prefix":24},{"ip-address":"fe80::825:f9ff:feeb:697d","ip-address-type":"ipv6","prefix":64}],"name":"ens18","statistics":{"rx-bytes":5996678058,"rx-dropped":55,"rx-errs":0,"rx-packets":2278196,"tx-bytes":164408943,"tx-dropped":0,"tx-errs":0,"tx-packets":767657}}]
and get hostname
pvesh get nodes/pve4/qemu/105/agent/get-host-name
┌────────┬────────────────────────────┐
│ key    │ value                      │
╞════════╪════════════════════════════╡
│ result │ {"host-name":"playground"}
of course with any of these commands you have to know what host the vm is on, then use the vmid in concert to get info.

If I understood it correctly, you wish to have IP address information of Virtual Machines and Containers also synced on Netbox? If so, I agree with it and I am going to work on it later on!
As you said, Virtual Machines needs to have Qemu Agent installed on it so that I can get this information and make it available on Netbox. While LXC containers is already ready for API integration through REST API.


ERROR: could not insert 'i2c_dev': Operation not permitted

Hello,
I'm trying raspi-io for the first time and am trying to run the "blink a led" script from the readme.
Here is the script that I'm using:
var raspi = require('raspi-io');
var five = require('johnny-five');
var board = new five.Board({
  io: new raspi()
});

board.on('ready', function() {

  // Create an Led on pin 7 (GPIO4) on P1 and strobe it on/off
  // Optionally set the speed; defaults to 100ms
  (new five.Led('GPIO18')).strobe();

});

When I run the script, I'm seeing the following error:
node j5_test_pi.js
ERROR: could not insert 'i2c_dev': Operation not permitted
child_process.js:1382
    throw err;
          ^
Error: Command failed: modprobe i2c-dev
ERROR: could not insert 'i2c_dev': Operation not permitted

    at checkExecSyncError (child_process.js:1339:13)
    at execSync (child_process.js:1379:13)
    at new I2C (/home/pi/evcc/node_modules/raspi-io/node_modules/raspi-i2c/lib/index.js:115:5)
    at /home/pi/evcc/node_modules/raspi-io/lib/index.js:150:16
    at new Raspi (/home/pi/evcc/node_modules/raspi-io/lib/index.js:185:7)
    at Object.<anonymous> (/home/pi/evcc/j5_test_pi.js:4:7)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)

It looks like the error happens on the line with new raspi().
I then noticed that the output from npm install raspi-io had these lines:
><EMAIL_ADDRESS>install /home/pi/evcc/node_modules/raspi-io/node_modules/raspi-i2c/node_modules/execSync
> node install.js

[execsync v1.0.2] Attempting to compile native extensions.
[execSync v1.0.2]
    Native code compile failed!!

Have I hosed my installation of raspi-io?
My setup is a Raspberry Pi 2 Model B v1.1, with node v0.12.0<EMAIL_ADDRESS>and<EMAIL_ADDRESS>installed.  I also tried<EMAIL_ADDRESS>and got a similar result.

Are you running the script as root? If not, this is why you're getting the Operation not permitted error. Can you try that and let me know if everything works?
The execSync thing isn't an issue in your case. It's only there as a fallback for node 0.10, which doesn't support it natively.

That was what I was doing wrong.  Thanks for your help!

Great to hear!


Adding hostname in service collector

Hi,
Is it possible to add a hostname label from the node on service collectors?
So for example  metric wmi_service_status, will have the hostname of the node. I think this could be useful for aggregation process.

Hi @veenone,
That would typically be handled via relabelling in your Prometheus server. I assume you currently get an instance label which is an IP address?

Hi @carlpett,
I was thinking to get the hostname information from cs collector wmi_cs_hostname.
I don't know what is the best way to include this information on each wmi_service_status metrics.
I think it's not really common, but if you can help me informing a way to do that, it would be great.
What I want to achieve actually to display specifi service state for each scraped nodes in grafana to monitor them altogether.
I'm quite a learner here so pardon my basic question

You'll probably want to look at relabel_config at some point, but it might not be the easiest way to solve your immediate problem.
If you just want to have the hostname available on a dashboard, you can join labels at query time using multiplication. Something like this:
wmi_service_status
 * on (instance) group_left(hostname)
wmi_cs_hostname


Activating Open Collective

Hi, I'm making updates for Open Collective. Either you or another core contributor signed this repository up for Open Collective. This pull request adds financial contributors from your Open Collective https://opencollective.com/gentelella-rtl ❤
What it does:

adds a badge to show the latest number of financial contributors
adds a banner displaying contributors to the project on GitHub
adds a banner displaying all individuals contributing financially on Open Collective
adds a section displaying all organizations contributing financially on Open Collective, with their logo and a link to their website

We have also added a postinstall script to let people know after npm|yarn install that you are welcoming donations. Feel free to remove it if you don't want it. [More info]
P.S: As with any pull request, feel free to comment or suggest changes.
Thank you for your great contribution to the Open Source community. You are awesome! 🙌
And welcome to the Open Collective community! 😊
Come chat with us in the #opensource channel on https://slack.opencollective.com - great place to ask questions and share best practices with other Open Source sustainers!

Thank you!


Cannot read property 'filterHeight' of undefined

hello~ i'm new to nsfwjs.  when i run minimal_demo program on chrome, i got the following error.

Uncaught (in promise) TypeError: Cannot read property 'filterHeight' of undefined.

Anyone can help me?

Thansk for catching this!  It looks like a mixup was happening btw TF and NSFWJS
I've fixed this by locking versions.  Please pull latest from master.


How to obtain the rough shape information of the object by voxel occupancy of the grid

Hi,
I'm a student  and I'm trying to use MuJoCo for robotic hand manipulation.
I'm looking for some help with obtain the rough shape information of the object by voxel occupancy of the grid. We believe that coarse object information can help train a controller capable of manipulating different objects
As shown in the image below, we attach the grid to the hand. In practice, we will have a larger number of finer grid.
### Our problem is how to obtain the grid occupied by the object during the actual manipulation in real time？
Here is a screenshot / video, illustrating my question:

Could you please explain further?
As far as I can tell, you want to find out the occupancy of points of interest in some voxel grid that you define yourself. Why is this not a trivial thing? Did you try to do this and fail? What is the blocker?


Automatic serverlist announce

I think it would be useful if multiserver would take care of the announce to the serverlist, because:

It could display how many players are online on all servers (excluding rpc ofc) and suppress sending rpc to the serverlist
It would remove pain with having to use bind_address in the configuration file
The version sent to the serverlist could include that multiserver is used

Implemented


I want to partially compare protos

In C++ unit tests with GoogleTest, I can partially compare protos with Partially(EqualsProto(...)) (Google-internal docs, open-source fork).

only fields present in the expected protobuf are considered

Is there any similar library for Golang?

protocmp is the recommended library to use for proto comparisons. I don't think the same matching functionality exists there though. Maybe create a feature request for that library?

Maybe create a feature request for that library?

package https://pkg.go.dev/google.golang.org/protobuf/testing/protocmp links to repo https://github.com/protocolbuffers/protobuf-go but that repo has issues disabled

Oups. I guess I should have known that :)

Seems like something easy enough to extend out of protocmp.IgnoreDefaultScalars, literally just a copy-paste and delete maybe three lines.

Mhmm, that sounds like it's not too much work indeed. I think the main difference would be that would have to work asymmetrically (at least that's how I understand how partial matching works in C++). I am not sure if that fits well into cmp. An alternative would be to create a filter based on fields set in the message to compare against. Something like protocmp.IgnoreUnsetFieldsIn(want)).

We shouldn’t need to include a pointer to a “unset fields from.” Well, that is unless the Cmp is itself intentionally unordered (it does not recommend which is supposed to be the got or expected). In which case, we could also just have IgnoreFieldsUnsetInLeft() vs IgnoreFieldsUnsetInRight(). This would avoid the need for a duplicated reference to one of the parameters.

cmp.FilerPath also requires it to be symmetric. So, yeah. I think we would have to use a IgnoreUnsetFieldsFrom(want) form.

Thanks for checking! We're not sure if and when we get to this, but we're definitely happy to review contributions. :)

cmp.FilterPath also requires it to be symmetric. So, yeah. I think we would have to use a IgnoreUnsetFieldsFrom(want) form.

Correct, the cmp functionality needs to be symmetric, but it would be permissible to do something like:
cmp.Diff(x, y, protocmp.FilterTemplate(y))

where the comparison for x and y is symmetric, but what parts of the tree that is examine is determined based on the argument y passed to a hypothetical protocmp.FilterTemplate.

I'd love to have this feature, if it is indeed just a couple lines of diff from protocmp.IgnoreDefaultScalars, I'm happy to put together a PR.

In case this is helpful for anyone, I solved this in the meantime as follows:
// test_utils.go
package test_utils

import (
	"reflect"

	_ "unsafe" // Required for go:linkname

	"github.com/google/go-cmp/cmp"
	"google.golang.org/protobuf/testing/protocmp"
)

var messageReflectType = reflect.TypeOf(protocmp.Message{})

//go:linkname isDefaultScalar google.golang.org/protobuf/testing/protocmp.isDefaultScalar
func isDefaultScalar(m protocmp.Message, k string) bool

func IgnoreDefaultScalarsInLeft() cmp.Option {
	return cmp.FilterPath(func(p cmp.Path) bool {
		// Filter for Message maps.
		mi, ok := p.Index(-1).(cmp.MapIndex)
		if !ok {
			return false
		}
		ps := p.Index(-2)
		if ps.Type() != messageReflectType {
			return false
		}

		// Check whether both fields are default or unpopulated scalars.
		vx, _ := ps.Values()
		mx := vx.Interface().(protocmp.Message)
		k := mi.Key().String()
		return isDefaultScalar(mx, k)
	}, cmp.Ignore())
}

Usage in a test:
// mytest.go
func TestSomething(t *testing.T) {
	readUserResp, err := apiServer.ReadUser(ctx, &apiv1.ReadUserRequest{
		Id: "someid",
	})
	assert.NoError(t, err)

	diff := cmp.Diff(&apiv1.User{
		Id: "someid",
		Name: "some name",
	}, readUserResp.User, protocmp.Transform(), test_utils.IgnoreDefaultScalarsInLeft())
	assert.Empty(t, diff, "unexpected user: %s", diff)
}


Release notes out of date.

Release notes are missing entries for 0.11.4 0.11.5 and 0.11.6.

Fixed via https://github.com/pybuilder/pybuilder.github.io/commit/b959373b2cc35ef1b6113d895bf4bff56255804b
I added links to the pull-requests and not the issues, hope that is OK. BTW, using the command line git-hub tool, you can turn issues into pull-requests by attaching commits to them. Perhaps that might be interesting for y'all to reduce number of issues/pull-requests and simplify the workflow a little.
See: http://seveas.github.io/git-spindle/github.html
And do:
 git hub pull-request [--issue=<issue>] [--yes] [<yours:theirs>]

To turn an issue into a pull-request.


hostname issues on docker mac m1

arClientException: java.util.concurrent.CompletionException: java.net.UnknownHostException: Failed to resolve 'kafka-1' after 2 queries
2022-09-23T13:34:55,000-0400 [pulsar-client-io-1-1] WARN  org.apache.pulsar.client.impl.ConnectionHandler - [persistent://public/default/moptest] [null] Could not get connection to broker: org.apache.pulsar.client.api.PulsarClientException: java.util.concurrent.CompletionException: java.net.UnknownHostException: Failed to resolve 'kafka-1' after 2 queries  -- Will try again in 1.519 s

Does this problem happen when you run the brokers or if you try to reach them via the Kafka CLI?

Closing this issue for now is because of inactivity.


Please add info about supported iOS versions to readme file

I added. It support iOS 7 later. Thank you for your feedback.


Undefined symbols during go build

Trying to build on a fresh Ubuntu 22 instance:
ubuntu@machine:~/ollama$ go version
go version go1.21.0 linux/amd64

ubuntu@machine:~/ollama$ go build .
go: downloading github.com/chzyer/readline v1.5.1
go: downloading github.com/dustin/go-humanize v1.0.1
go: downloading github.com/olekukonko/tablewriter v0.0.5
go: downloading github.com/spf13/cobra v1.7.0
go: downloading golang.org/x/crypto v0.10.0
go: downloading github.com/mattn/go-runewidth v0.0.14
go: downloading github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db
go: downloading golang.org/x/term v0.10.0
go: downloading github.com/gin-contrib/cors v1.4.0
go: downloading github.com/gin-gonic/gin v1.9.1
go: downloading gonum.org/v1/gonum v0.13.0
go: downloading github.com/spf13/pflag v1.0.5
go: downloading github.com/rivo/uniseg v0.2.0
go: downloading golang.org/x/sys v0.10.0
go: downloading github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58
go: downloading github.com/gin-contrib/sse v0.1.0
go: downloading github.com/mattn/go-isatty v0.0.19
go: downloading golang.org/x/net v0.10.0
go: downloading github.com/go-playground/validator/v10 v10.14.0
go: downloading github.com/pelletier/go-toml/v2 v2.0.8
go: downloading github.com/ugorji/go/codec v1.2.11
go: downloading google.golang.org/protobuf v1.30.0
go: downloading gopkg.in/yaml.v3 v3.0.1
go: downloading github.com/gabriel-vasile/mimetype v1.4.2
go: downloading github.com/go-playground/universal-translator v0.18.1
go: downloading github.com/leodido/go-urn v1.2.4
go: downloading golang.org/x/text v0.10.0
go: downloading github.com/go-playground/locales v0.14.1
# github.com/jmorganca/ollama/llm
llm/ggml.go:49:2: undefined: llamaHyperparameters
llm/ggml.go:177:34: ggml.NumLayer undefined (type GGML has no field or method NumLayer)
llm/llm.go:38:14: ggml.FileType undefined (type *GGML has no field or method FileType)
llm/llm.go:70:10: undefined: newLlama

ubuntu@machine:~/ollama$ go build .
# github.com/jmorganca/ollama/llm
llm/ggml.go:49:2: undefined: llamaHyperparameters
llm/ggml.go:177:34: ggml.NumLayer undefined (type GGML has no field or method NumLayer)
llm/llm.go:38:14: ggml.FileType undefined (type *GGML has no field or method FileType)
llm/llm.go:70:10: undefined: newLlama

ubuntu@machine:~/ollama$ ls
Dockerfile  README.md  app  docs      format  go.sum  main.go  progressbar  server
LICENSE     api        cmd  examples  go.mod  llm     parser   scripts      vector

Happy to provide any other info that would be helpful. I didn't see any install instructions other than just building from source so I feel like I'm probably just missing a dependency or something. Any assistance would be much appreciated!

Hi @drusepth which version of Go are you using? Thanks for creating an issue

Hey @jmorganca, I'm running go version go1.21.0 linux/amd64. Thank you for your help!

D'oh! It was right there at the top of your issue. Sorry! Will look into this

This may be from building without cgo:
CGO_ENABLED go build .

You may need to install gcc/g++:
sudo apt install build-essential

Hey, thanks so much. I think it was just that I needed build-essential; it wouldn't build with just CGO_ENABLED, but built just fine with it after also installing build-essential for gcc. Thanks a ton for your help!
Including another console log for posterity toward anyone finding this issue in the future. :)
ubuntu@machine:~/ollama$ CGO_ENABLED go build .
CGO_ENABLED: command not found

ubuntu@machine:~/ollama$ CGO_ENABLED=1 go build .
# runtime/cgo
cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in $PATH

ubuntu@:~/ollama$ sudo apt-get install build-essential
[output snipped]

ubuntu@machine:~/ollama$ CGO_ENABLED go build .
CGO_ENABLED: command not found

ubuntu@machine:~/ollama$ CGO_ENABLED=1 go build .

ubuntu@machine:~/ollama$ ls
Dockerfile  README.md  app  docs      format  go.sum  main.go  parser       scripts  vector
LICENSE     api        cmd  examples  go.mod  llm     ollama   progressbar  server

Built successfully with CGO_ENABLED=1 go build . and now I have the ollama binary. Thanks again!


ensure finite uniformMatrix - fix for Chrome 128

@mikolalysenko
FYI - Chrome 128 started complaining about infinity on uniform matrices!
This PR help fix the issue of stackgl traces which is tested on plotly.js: https://github.com/plotly/plotly.js/pull/7131

@mikolalysenko It looks like this would be fixed in Chromium soon:
https://issues.chromium.org/issues/361823993
So please feel free not to merge this PR.

The regression (https://issues.chromium.org/issues/361823993.) is now fixed by Chromium 128.0.6613.113
https://chromium.googlesource.com/chromium/src/+/refs/tags/128.0.6613.113
Users may consider updating their browser if they encountered that bug.
Closing.


ARROW-3979 : [Gandiva] fix all valgrind reported errors

Fix all the issues reported by valgrind and also enable option ARROW_TRAVIS_VALGRIND.

@shyambits2004 there still seem to be some valgrind failures in the CI. Maybe, the CI is using different flags ?

I used "cmake .. -DARROW_GANDIVA=ON -DARROW_VALGRIND=on -DARROW_GANDIVA_BUILD_TESTS=ON -DARROW_TEST_MEMCHECK=ON" to fix all the valgrind errors. But run on travis seems to be failing with new error. I am trying to check the travis scripts to see if I missed a flag.

The errors are legitimate and point to the same pattern: "Mismatched free() / delete / delete []".
As @wesm said, it would be more idiomatic and less error-prone to use std::vector<T> when allocating an array of data, rather than std::unique_ptr<T[]>.

For example, in eval_batch.h you have:
std::unique_ptr<uint8_t*> buffers_array_;

But also:
buffers_array_.reset(new uint8_t*[num_buffers]);

This means the declaration should really be:
std::unique_ptr<uint8_t*[]> buffers_array_;

This mistake can mostly go silently, but not always.

I was more interested in reproing the issue in my env and then fixing it. Did not want to use CI as testing. Did i miss a flag, not that I can see till now. Please let me know

@shyambits2004 I don't know. This might simply be a different compiler or libstdc++ version.

The CI environment is Ubuntu 14.04 / gcc 4.9 I think

Tried all flags got from the travis job. But, unable to reproduce the problem.
cmake .. -DARROW_TEST_INCLUDE_LABELS=gandiva -DARROW_NO_DEPRECATED_API=ON -DARROW_EXTRA_ERROR_CONTEXT=ON -DARROW_JEMALLOC=ON -DARROW_GANDIVA=ON -DARROW_GANDIVA_JAVA=ON -DARROW_BUILD_TESTS=ON -DARROW_TEST_MEMCHECK=ON -DCMAKE_BUILD_TYPE=debug -DBUILD_WARNING_LEVEL=CHECKIN -DARROW_GANDIVA_BUILD_TESTS=ON
Any help on local repro is appreciated.

Please let me and @pitrou know if we can assist -- this PR is now on the critical path for https://github.com/apache/arrow/pull/3208

Fell sick yesterday. Will make sure this is done today.
I was unable to repro it on my local setup even with @wesm options. So, will use CI as testbed in this circumstances. If it the turnaround is taking time, we shall collaborate tonight IST/tomorrow morning PST to complete it. Hopefully, will be done today.

$ valgrind --tool=memcheck --suppressions=../valgrind.supp debug/gandiva-projector_test
==7850== Memcheck, a memory error detector
==7850== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==7850== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==7850== Command: debug/gandiva-projector_test
==7850==
Running main() from gtest_main.cc
[==========] Running 14 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 14 tests from TestProjector
[ RUN      ] TestProjector.TestProjectCache
[       OK ] TestProjector.TestProjectCache (12301 ms)
[ RUN      ] TestProjector.TestProjectCacheFieldNames
[       OK ] TestProjector.TestProjectCacheFieldNames (1617 ms)
[ RUN      ] TestProjector.TestProjectCacheDouble
[       OK ] TestProjector.TestProjectCacheDouble (1700 ms)
[ RUN      ] TestProjector.TestProjectCacheFloat
[       OK ] TestProjector.TestProjectCacheFloat (1393 ms)
[ RUN      ] TestProjector.TestIntSumSub
[       OK ] TestProjector.TestIntSumSub (424 ms)
[ RUN      ] TestProjector.TestIntSumSubCustomConfig
[       OK ] TestProjector.TestIntSumSubCustomConfig (1113 ms)
[ RUN      ] TestProjector.TestAllIntTypes
[       OK ] TestProjector.TestAllIntTypes (17879 ms)
[ RUN      ] TestProjector.TestExtendedMath
[       OK ] TestProjector.TestExtendedMath (1819 ms)
[ RUN      ] TestProjector.TestFloatLessThan
[       OK ] TestProjector.TestFloatLessThan (768 ms)
[ RUN      ] TestProjector.TestIsNotNull
[       OK ] TestProjector.TestIsNotNull (767 ms)
[ RUN      ] TestProjector.TestZeroCopy
[       OK ] TestProjector.TestZeroCopy (838 ms)
[ RUN      ] TestProjector.TestZeroCopyNegative
[       OK ] TestProjector.TestZeroCopyNegative (68 ms)
[ RUN      ] TestProjector.TestDivideZero
[       OK ] TestProjector.TestDivideZero (815 ms)
[ RUN      ] TestProjector.TestModZero
[       OK ] TestProjector.TestModZero (767 ms)
[----------] 14 tests from TestProjector (42290 ms total)
[----------] Global test environment tear-down
[==========] 14 tests from 1 test case ran. (42346 ms total)
[  PASSED  ] 14 tests.
==7850==
==7850== HEAP SUMMARY:
==7850==     in use at exit: 227,647 bytes in 1,384 blocks
==7850==   total heap usage: 1,170,674 allocs, 1,169,290 frees, 320,098,093 bytes allocated
==7850==
==7850== LEAK SUMMARY:
==7850==    definitely lost: 0 bytes in 0 blocks
==7850==    indirectly lost: 0 bytes in 0 blocks
==7850==      possibly lost: 448 bytes in 8 blocks
==7850==    still reachable: 227,151 bytes in 1,370 blocks
==7850==         suppressed: 48 bytes in 6 blocks
==7850== Rerun with --leak-check=full to see details of leaked memory
==7850==
==7850== For counts of detected and suppressed errors, rerun with: -v
==7850== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 836 from 47)

The only difference I found is suppressions are more. So, took out the suppressions file in hope that Mismatched delete was suppressed, but did not hit the Mismatched error (other errors were reported).

This is actually frustrating. Just one more thing, What is the kernel version ?
$ uname -a
Linux gandiva-hyd 4.4.0-140-generic #166~14.04.1-Ubuntu SMP Sat Nov 17 01:52:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Nearly the same kernel
$ uname -a
Linux badgerpad16 4.4.0-138-generic #164~14.04.1-Ubuntu SMP Fri Oct 5 08:56:16 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

I'm building locally with clang-6.0. In CI it's gcc 4.9 though

Ok. I am pretty sure, probably a very minute difference but hard to uncover at this point.
Looks like CI does not want to act like test bed too.
~/build/apache/arrow/cpp-build ~/build/apache/arrow
Test project /home/travis/build/apache/arrow/cpp-build
No tests were found!!!
~/build/apache/arrow
The command "$TRAVIS_BUILD_DIR/ci/travis_script_gandiva_cpp.sh" exited with 0.
Did something change ?

I will tweak this and then merge so I can get a passing build in ARROW-3803 and then merge that. @pitrou could you have a look at that, since the only thing that needs to change there is to re-enable valgrind

Codecov Report

Merging #3201 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #3201      +/-   ##
==========================================
+ Coverage   86.42%   86.42%   +<.01%
==========================================
  Files         508      508
  Lines       70077    70080       +3
==========================================
+ Hits        60566    60570       +4
+ Misses       9404     9403       -1
  Partials      107      107

Impacted Files
Coverage Δ

cpp/src/gandiva/eval_batch.h
100% <ø> (ø)
:arrow_up:

cpp/src/gandiva/projector.cc
57.14% <100%> (+0.73%)
:arrow_up:

cpp/src/gandiva/local_bitmaps_holder.h
100% <100%> (ø)
:arrow_up:

cpp/src/gandiva/exported_funcs_registry.h
100% <100%> (ø)
:arrow_up:

cpp/src/gandiva/exported_funcs_registry.cc
100% <0%> (ø)
:arrow_up:

cpp/src/gandiva/exported_funcs.h
100% <0%> (+16.66%)
:arrow_up:

Continue to review full report at Codecov.

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

\o/


Add Swagger annotations to Order service

As a Orders Manager/System Administrator
I need the ability to access API docs
So that I know what data to send to the Orders API
Details and Assumptions

Add Swagger annotations to the Orders service to document the REST API using Flask-RESTX.
The documentation API must be available at: /apidocs/.
Add Swagger data models to document the API payloads.
Ensure that the Swagger docs work correctly and specify the data model so that others know what to send to the APIs.

Acceptance Criteria
Given the Order service is running and Swagger annotations are added
When I access the /apidocs/
Then I can access the API documentation of what data to send to each API.

Hey team! Please add your planning poker estimate with Zenhub @bf2285 @haoruigao @MahamArif @Matt-Kou


Include failure reason in task execution schema

The task update status event includes a failure reason when tasks end in failure. This reason is currently ignored – it should be added to the task execution schema in MongoDB.

@jackschofield23 can this be closed?

Yuupppp


Perform some optimisations on the CI Docker image

Optimisations:

Break down the install_rust stage into smaller stages that can advance concurrently;
Invoke yum updateinfo once, in bare_base_image;
Use the unstable sparse registry feature to speed up cargo's registry operations.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

This seems to shave a few minutes off the build - see old (~26 minutes) vs this branch (~23 minutes).
Due to the higher level of parallelism, the new setup would probably benefit significantly from a larger runner.
We could also introduce caching for the intermediate layers (e.g. why do we rebuild all our non-local CI binaries instead of pulling them down from a cache, assuming the version arg hasn't changed?).


Support for /feed/mf2/ and/or /feed/jf2/ ?

Hi,
Been playing with the various IndieWeb and syndication features for WordPress today.
As it seems the old “Microformats2” plugin is not maintained anymore (doesn’t seem to work nice with the Twenty Twenty-Three theme anyway), I’m testing the MF2 Feeds plugin instead.
From the description: "Provides a Microformats2 JSON “Feed” for every WordPress URL, and helps to allow other sites to get pre-parsed Microformats-JSON even if the theme does not support Microformats2."
It generates these alternate links for posts:
<link rel="alternate" type="application/mf2+json" href="https://domain/sample-post/feed/mf2/" />
<link rel="alternate" type="application/jf2+json" href="https://domain/sample-post/feed/jf2/" />
But, they're not supported for discovery (so far, it seems) as alternate means to check for microformats in a post.
=> when I test a preview to publish on Mastodon, I get errors such as "Mastodon doesn't support type(s) h-cite, or no content was found." or "No h-entry found" (on a https://indiewebify.me/validate-h-entry/ test)

Hmm, good idea! Right now we only support separate feeds with rel=feed, and only HTML: https://brid.gy/about#link . For other types like this, we probably wouldn't look for these URL paths specifically, and I doubt we'd add JF2 support, but we could maybe ingest MF2 via rel=alternate type=application/mf2+json.
Not a priority for me personally right now, but this would be a pretty reasonable first project if you want to contribute. Dev docs at https://bridgy.readthedocs.io/ , code for this would go somewhere around:
https://github.com/snarfed/bridgy/blob/6d5b0cbafa19ef00f8c8086116b2e1d49b030d52/original_post_discovery.py#L322-L348

Thx @snarfed - unfortunately, am no dev, just an "advanced user", so wouldn't even try to mess with the code...
Ok, will wait till it works some day, will stick with ActivityPub 100% in the mean time...

Np, we can keep it open!

I have another option we use in our Webmention plugin using the WordPress rest api... but someone would still need to implement.

OK, been playing with various plugins all day long, including Webmention, from various Fediverse apps...
Thx

This would be very handy as I haven't figured out a good way to get bridgy to read my wordpress feed. Might have a go at adding mf2+json support


Tracking Pull Request to merge release-1.16.0 to master

@emi-hi @amichard @NavpreetGrewal developers, please review the code in this pr. we had release-<IP_ADDRESS> merged into master, so there could be conflicts with release-1.16.0.


AnyView implementation for SwiftUI Presenter

[ ] Testing
[ ] Implementation
LIMIT: We do not need Modals or Navigation.  Just view swapping.
This card is not getting merged into trunk until we have completed our investigation into NOT using AnyView (the card: Don't use AnyView for SwiftUI Presenter).

EOD:  We created the spike branch for the millionth time here: swiftUI-again-spike
This approach started with just testing ViewInspector to determine how to leverage that to test our views.  It then implemented the code from previous spikes with SwiftUIResponder2.  Part of this work found that we will have to mark in our test that the SwiftUIResponder as Inspectable.  This would also be the case for anyone consuming our library.
Finally, we started a little investigation into ViewBuilder.buildIf as that looks like it could be something for a solution without AnyView.  https://developer.apple.com/documentation/swiftui/viewbuilder/buildif(_:)

EOD: Today we reimplemented complete and abandon, and we confirmed that animations are supported. Up next, we will implement backup functionality and assess the viability of ViewBuilder.buildIf as a replacement for AnyView

EOD: Animations needed more work to actually animate abandoning and proceeding.  I also copy pasted in backup so we could see what happens when you animate and when you don't when moving back and forward.
Still need to investigate ways of not using AnyView and there is an interesting issue around a workflow being launch multiple times.

EOD: We realized we needed to take a step back and consider the whole API before continuing forward with this implementation.  Because that decision is so big, we started a discussion: #61 .

EOD: Today we looked further into the possibilities for the Swift UI DSL. Tomorrow, we will continue this in pairs.

EOD: We continued to look into options and reviewed some of the older concepts that the team had been trying. Updated the discussion with answers for each of the proposals with code snippets and pros/cons or comments. There is a lot for an EOD, so dropping links to the analysis for each option that has been reviewed.
SwiftUIResponder2
WorkflowGroup
WorkflowView
Enum
Modifier/Presentation
Modifiers on WorkflowView

EOD: We added a playground to test out compiling of the API to the spike branch on Friday.  Today we continued that research and discovered that with a small modification, we would support what seems to be all ViewModifiers including custom ones.  We, however, do not yet have compile time safety on the types passed into thenProceed(with:)

EOD: Work is continuing in the spike branch to continue validating the API will work.  Modifications are being made and those changes will be reported back to the discussion as we narrow in on an implementation.

EOD: Everything is looking very promising and the team needs to sync up to ensure we have consensus on moving forward with the API.  At that point we will update the discussion with an Answer on what we are moving forward with and what that API will look like.
There is a key change we are making to the API which will enable the ability to apply transition modifiers to your FlowRepresentable views and have them respect that animation.  Some type safety has been regained but we have lost some in the .thenProceed.  Overall, impact has been limited to SwiftCurrent/Core.

ACTUAL EOD: I've made some key changes that are in line with what I heard the team wanted. First off the only thing that needs AnyView anymore is the WorkflowViewModel. There's something in the back of my mind that I can't quiiiiite reach to make that AnyView go away. At least now there's just the one spot.
ALSO @wiemerm was right, @ObservedObject doesn't have the lifecycle guarantees we need, it's designed to be created outside of a view, then injected into the view. So, I made @StateObject work. That is definitely the right way to go, but it did require adding launch to AnyWorkflow. Really, it required it. That said we don't have the issue anymore here is some additional info

EOD: We have decided on our API direction as noted in this answer and will begin the process of implementing it.  We will retain our spike branch as reference as we continue to develop this.  Expect updates to move to a referenced PR before long (there are still some updates to be done before we create a PR).

REAL EOD: It's like @Richard-Gist Doesn't know what the end of the day is.
I've created a draft PR for folks to follow (on Richard's suggestion, because that way everybody but me can approve it). Just for kicks I added one test (marked with a warning) that I am very confident fails/passes for the right reasons. I added a bunch more that likely pass/fail for the right reasons but may need a little tweaking.
I added warnings and comments everywhere so that the team can succeed asynchronously. I did not test all the things, but I tested a good number of things (for example persistWhenSkipped still needs tests). The real idea though was to get the tests to a critical mass such that the team could easily test virtually anything they ever wanted to with SwiftUI. I don't know if that critical mass was reached but using what is there as a reference sure won't hurt anybody.
For additional information and a frankly amazing SwiftUI testing framework check out ViewInspector

EOD: With SwiftUI implementation merged into trunk and released as Beta, we are now focusing on Documentation and Example App.

With merging SwiftUI Support ( #72 )  and Swiftui example app ( #73 ) and SwiftUI Documentation ( #74 ), I think this issue can be resolved.


Upgrade documentation

Is your feature request related to a problem? Please describe.
We need to improve documentation.
Describe the solution you'd like

[x] Move to Furo theme;
[x] Move history changelog at the  root of repo;
[x] Finish the new document "core/tests.rst";
[x] Improve documentation install on RTD like it has been done in https://github.com/sveetch/py-css-styleguide
[x] Restructure documentation

Done in 0.7.0-pre.4


June Doc Updates

This is the tracking issue for all the docs onboarding necessary this month.
Query for Releasing Packages
@chidozieononiwu The java onboarding documentation is written now.
Ref Doc Onboarding (dozie)
All CI Jobs are green right now, should be in a good place to just add and run. There is a small update that simplifies Python a bit.

[x] Java
[x] .NET
[x] Javascript
[x] Python

Don't spend too much time on ToC updates, as scbedd will be messing around with them starting 6/10 as well.
Readme Updates and ToC Updates (scbedd)
This is the first month with our packages also submitting PRs to the doc repos. I will handle this, as there are a few issues here and given that I implemented it it's easier for me to run down the root causes.

[x] Java
[x] .NET
[x] Javascript
[x] Python

Updates. Doc Onboarding is completed except for a few storage that went out late on Friday.
Java has some issues with unreleased test deps causing failures when attempting to pull down latest preview azure-search-documents and ai-form-recognizer.
There is an ongoing java CI issue mentioned here as well.
.NET did not appropriately transform the readmes that are pushed to docs.ms. Manual update completed using this gist and merged into smoke-test.


add userscript (lemmy-keyboard-navigation)

Do we really need this when this is being worked on? Or are you willing to remove it when it is implemented?
Also i am pretty sure you need to edit just template.md, read me is edited automatically.

Well I've seen that (commented there too) and really looking forward to it.
However

This script already has more hotkeys (incl. H+L like RES)
Allows customisation of hotkeys
Allows options setting
Has a mini-dashboard for easy navigation
Has a WIP branch for mlmym support

hope it makes sense to add it


Add multiple selected files using right-click

When more than one file is selected and user opens the popup menu, the "Add file to window context" should add all selected files not just one.

It should also say : "Add File(s) to Context Window"

According to Claude this is what needs happening:
To add the feature of selecting multiple files for the "Add file to window context" menu, we need to modify a few components of the plugin. Let's go through the changes step by step:

First, we need to modify the AddFileAction class to handle multiple file selections. Here's how we can update it:

public class AddFileAction extends DumbAwareAction {

    @Override
    public void actionPerformed(@NotNull AnActionEvent e) {
        Project project = e.getProject();
        if (project == null) {
            return;
        }

        ensureToolWindowVisible(project);

        FileListManager fileListManager = FileListManager.getInstance();
        VirtualFile[] selectedFiles = e.getData(CommonDataKeys.VIRTUAL_FILE_ARRAY);

        if (selectedFiles != null && selectedFiles.length > 0) {
            List<VirtualFile> filesToAdd = new ArrayList<>();
            for (VirtualFile file : selectedFiles) {
                if (!file.isDirectory() && !fileListManager.contains(file)) {
                    filesToAdd.add(file);
                }
            }

            if (!filesToAdd.isEmpty()) {
                fileListManager.addFiles(filesToAdd);
                NotificationUtil.sendNotification(project, "Added " + filesToAdd.size() + " file(s) to prompt context");
            } else {
                NotificationUtil.sendNotification(project, "No new files to add or only directories selected");
            }
        } else {
            NotificationUtil.sendNotification(project, "No files selected");
        }
    }

    @Override
    public void update(@NotNull AnActionEvent e) {
        VirtualFile[] files = e.getData(CommonDataKeys.VIRTUAL_FILE_ARRAY);
        e.getPresentation().setEnabledAndVisible(files != null && files.length > 0);
    }
}

Next, we need to update the FileListManager class to handle adding multiple files at once:

public class FileListManager {
    // ... existing code ...

    public void addFiles(@NotNull List<VirtualFile> newFiles) {
        List<VirtualFile> actuallyAddedFiles = new ArrayList<>();
        for (VirtualFile file : newFiles) {
            if (!files.contains(file)) {
                files.add(file);
                actuallyAddedFiles.add(file);
            }
        }
        if (!actuallyAddedFiles.isEmpty()) {
            notifyObserversOfBatchAdd(actuallyAddedFiles);
        }
    }

    private void notifyObserversOfBatchAdd(List<VirtualFile> addedFiles) {
        for (FileListObserver observer : observers) {
            observer.filesAdded(addedFiles);
        }
    }

    // ... existing code ...
}

We also need to update the FileListObserver interface to include a method for batch file additions:

public interface FileListObserver {
    void fileAdded(VirtualFile file);
    void filesAdded(List<VirtualFile> files);
    void allFilesRemoved();
}

Now, we need to update any classes that implement FileListObserver to handle the new filesAdded method. For example, the PromptContextFileListPanel class:

public class PromptContextFileListPanel extends JPanel implements FileListObserver {
    // ... existing code ...

    @Override
    public void filesAdded(List<VirtualFile> files) {
        for (VirtualFile file : files) {
            FileEntryComponent fileLabel = new FileEntryComponent(project, file, this);
            filesPanel.add(fileLabel);
        }
        updateFilesPanelVisibility();
        updateUIState();
    }

    // ... existing code ...
}

Finally, we should update the plugin.xml file to ensure the action is available for multiple selections:

<action id="AddFileToContextWindow"
        class="com.devoxx.genie.action.AddFileAction"
        text="Add File(s) to Window Context"
        description="Add selected file(s) to the prompt context">
    <add-to-group group-id="ProjectViewPopupMenu" anchor="after" relative-to-action="AddToFavorites"/>
</action>

These changes will allow users to select multiple files and add them all to the window context at once. The action will be enabled as long as at least one file is selected, and it will handle both single and multiple file selections appropriately.
Remember to update any relevant tests to cover the new functionality, especially for the AddFileAction and FileListManager classes.
This implementation maintains the existing functionality while extending it to handle multiple files. It also provides feedback to the user about how many files were added or if no new files could be added (e.g., if all selected files were already in the context or if only directories were selected).


Prepare Release 3.2

I think now is a good time to release the new version 3.2. Features that are still under development like #31 are quite experimental and I prefer them to be in a separate release.

Codecov Report
Patch coverage: 100.00% and project coverage change: -7.74 :warning:

Comparison is base (a68806e) 94.29% compared to head (46ce17d) 86.55%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #96      +/-   ##
==========================================
- Coverage   94.29%   86.55%   -7.74%
==========================================
  Files           4        4
  Lines         613      610       -3
  Branches       98       95       -3
==========================================
- Hits          578      528      -50
- Misses         29       74      +45
- Partials        6        8       +2

Flag
Coverage Δ

acceptance
?

unit
86.55% <100.00%> (-0.40%)
:arrow_down:

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

Impacted Files
Coverage Δ

Mainframe3270/version.py
100.00% <100.00%> (ø)

... and 3 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Remove use of java.util.Properties for URL query parsing utility

As part of the epic #6391 to minimize our use of java.util.Properties we want our URL parameter parsing to not use this as a return type.
Proposed solution

deprecate all methods in ParsingUtilities which return java.util.Properties`
create a replacement for static public Properties parseUrlParameters(HttpServletRequest request) with the signature static public Map<String, String> parseParameters(HttpServletRequest request) which uses available functionality for its implementation like request.getParameterMap()
modify all uses of parseUrlParameters to use the new method and adjust all necessary code to accommodate the new return type. This primarily affects our bundled importers.
be careful to preserve any public APIs (ie you can add new methods, but not remove or modify existing ones). I think that only ImportingUtilities has public APIs which are affected, but double check.

Alternatives considered
We could use request.getParameterMap directly, but since it returns Map<String, String[]> instead of Map<String, String> it would require more extensive modifications to the existing code and none of our current parameters can be repeated, so the array support is unnecessary.

Hi, how do you recommend we change ImportingUtilities to accommodate the new changes?
If we are unable to modify the existing methods through refactoring, we could potentially face significant code duplication issues. For instance, in the case of the retrieveContentFromPostRequest method, it appears that only a single line of code needs to be modified within a method spanning 227 lines.
Any suggestions?

Okay, I think the problem is that the code that needs to be changed is nested very deep inside retrieveContentFromPostRequest, so I don't think that a refactoring of it would help that much to avoid code duplication.
Is it acceptable to modify the public method retrieveContentFromPostRequest as long as it doesn't change the signature and functionality of the method?
If so, my solution would be create a new method that takes Map<String,String> and from the original method simply convert Properties parameters to a Map<String, String> and call the new method. Like this:
// Original method
static public void retrieveContentFromPostRequest(
            HttpServletRequest request,
            Properties parameters,
            File rawDataDir,
            ObjectNode retrievalRecord,
            final Progress progress) throws IOException, FileUploadException {

        Map<String, String> parametersMap = new HashMap<>();
        for (String key : parameters.stringPropertyNames()) {
            String value = parameters.getProperty(key);
            parametersMap.put(key, value);
        }
        retrieveContentFromPostRequest(request, parametersMap, rawDataDir, retrievalRecord, progress);
}

// New method which takes map instead of properties
static public void retrieveContentFromPostRequest(
            HttpServletRequest request,
            Map<String, String> parameters,
            File rawDataDir,
            ObjectNode retrievalRecord,
            final Progress progress) throws IOException, FileUploadException {

            // Same code as before

}

Is that a viable solution?

Yes, exactly. I suspect you'll need to do that for multiple methods, so you might want to extract your property remapping code into a separate utility method that you can reuse. Pleased also add an @Deprecated annotation to the original method so that people know not to use it for new code.

p.s. you can use Java 8 Streams to make your remapping a little more concise:
   private static Map<String, String> mapProps(Properties properties) {
       return properties.entrySet().stream().collect(Collectors.toMap(e -> (String) e.getKey(), e -> (String) e.getValue()));
   }

Great, thanks for your tips, will do that!


destroy method

First off, thank you for such a great little plugin! I love this for accessibility. It makes things a little bit easier 😅. I was curious if you would accept a PR for a destroy method? I'm using this in a React component and would love to clean things up when the component unmounts.

Yea I think a destroy method would be great! It should be a rather simple PR
LiveRegion.prototype.destroy = function () {
  this.region.parentNode.removeChild(this.region)
};

Don't forget to write a test for it too! :)

Awesome! Done 😄. I haven't done a lot of testing before, so hopefully that works ok. I can change whatever, just let me know. Thanks for the quick response 🙏.

Awesome indeed! thanks for the contribution. FYI you can run the tests by executing npm test

Not sure what I did wrong, but npm test doesn't seem to be working 😕 getting this in the console:

I ran npm install before so it should have installed everything 🤔

Weird... I'll look into the phantom issue. It's been a while since I originally wrote this - I'm sure some dependencies need updating


Add Finnish (fi)

So it absolutely needs to have test cases for all of the different ones?

@samip5 Yes. All sentence templates need to have at least 1 test sentence

Looks like another Finnish PR #599 has been merged. Going to close this PR. You can open a new contribution that merges your work with the existing work.