(ANDROID) mediapipe::CalculatorGraph Initialize failed by mediapipe::CalculatorGraphConfig

// Step

create config(mediapipe::CalculatorGraphConfig) from holistic_gpu.pbtxt
mediapipe::CalculatorGraph->Initialize(config)
log as below Initialization failed

anyone know how to fix it?  :D
// LOG
UNKNOWN: ValidatedGraphConfig Initialization failed.
SplitNormalizedLandmarkListCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.
SplitDetectionVectorCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.
SplitNormalizedLandmarkListCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.
SplitNormalizedLandmarkListCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.
ImageToTensorCalculator: ; RET_CHECK failure (external/com_google_mediapipe/mediapipe/calculators/tensor/image_to_tensor_calculator.cc:146) options.has_output_tensor_float_range() || options.has_output_tensor_int_range() || options.has_output_tensor_uint_range()Output tensor range is required.
ImageToTensorCalculator: ; RET_CHECK failure (external/com_google_mediapipe/mediapipe/calculators/tensor/image_to_tensor_calculator.cc:146) options.has_output_tensor_float_range() || options.has_output_tensor_int_range() || options.has_output_tensor_uint_range()Output tensor range is required.
ImageToTensorCalculator: ; RET_CHECK failure (external/com_google_mediapipe/mediapipe/calculators/tensor/image_to_tensor_calculator.cc:146) options.has_output_tensor_float_range() || options.has_output_tensor_int_range() || options.has_output_tensor_uint_range()Output tensor range is required.
ImageToTensorCalculator: ; RET_CHECK failure (external/com_google_mediapipe/mediapipe/calculators/tensor/image_to_tensor_calculator.cc:146) options.has_output_tensor_float_range() || options.has_output_tensor_int_range() || options.has_output_tensor_uint_range()Output tensor range is required.
InferenceCalculatorGl: ; RET_CHECK failure (external/com_google_mediapipe/mediapipe/calculators/tensor/inference_calculator_gl.cc:93) !options.model_path().empty() ^ kSideInModel(cc).IsConnected()Either model as side packet or model path in options is required.
SplitTensorVectorCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.
SplitNormalizedLandmarkListCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.
SplitLandmarkListCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.
SwitchDemuxCalculator::GetContract failed to validate:
For input streams ValidatePacketTypeSet failed:
Tag "NORM_LANDMARKS" index 0 was not expected.
SwitchMuxCalculator::GetContract failed to validate:
For output streams ValidatePacketTypeSet failed:
Tag "NORM_FILTERED_LANDMARKS" index 0 was not expected.
SwitchDemuxCalculator::GetContract failed to validate:
For input streams ValidatePacketTypeSet failed:
Tag "IMAGE_SIZE" index 0 was not expected.
Tag "NORM_LANDMARKS" index 0 was not expected.
Tag "OBJECT_SCALE_ROI" index 0 was not expected.
SwitchMuxCalculator::GetContract failed to validate:
For output streams ValidatePacketTypeSet failed:
Tag "NORM_FILTERED_LANDMARKS" index 0 was not expected.
SwitchDemuxCalculator::GetContract failed to validate:
For input streams ValidatePacketTypeSet failed:
Tag "LANDMARKS" index 0 was not expected.
SwitchMuxCalculator::GetContract failed to validate:
For output streams ValidatePacketTypeSet failed:
Tag "FILTERED_LANDMARKS" index 0 was not expected.
SwitchDemuxCalculator::GetContract failed to validate:
For input streams ValidatePacketTypeSet failed:
Tag "LANDMARKS" index 0 was not expected.
SwitchMuxCalculator::GetContract failed to validate:
For output streams ValidatePacketTypeSet failed:
Tag "FILTERED_LANDMARKS" index 0 was not expected.
SplitNormalizedLandmarkListCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.
ImageToTensorCalculator: ; RET_CHECK failure (external/com_google_mediapipe/mediapipe/calculators/tensor/image_to_tensor_calculator.cc:146) options.has_output_tensor_float_range() || options.has_output_tensor_int_range() || options.has_output_tensor_uint_range()Output tensor range is required.
ImageToTensorCalculator: ; RET_CHECK failure (external/com_google_mediapipe/mediapipe/calculators/tensor/image_to_tensor_calculator.cc:146) options.has_output_tensor_float_range() || options.has_output_tensor_int_range() || options.has_output_tensor_uint_range()Output tensor range is required.
SplitTensorVectorCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.
SplitNormalizedLandmarkListCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.
ImageToTensorCalculator: ; RET_CHECK failure (external/com_google_mediapipe/mediapipe/calculators/tensor/image_to_tensor_calculator.cc:146) options.has_output_tensor_float_range() || options.has_output_tensor_int_range() || options.has_output_tensor_uint_range()Output tensor range is required.
ImageToTensorCalculator: ; RET_CHECK failure (external/com_google_mediapipe/mediapipe/calculators/tensor/image_to_tensor_calculator.cc:146) options.has_output_tensor_float_range() || options.has_output_tensor_int_range() || options.has_output_tensor_uint_range()Output tensor range is required.
SplitTensorVectorCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.
InferenceCalculatorGl: ; RET_CHECK failure (external/com_google_mediapipe/mediapipe/calculators/tensor/inference_calculator_gl.cc:93) !options.model_path().empty() ^ kSideInModel(cc).IsConnected()Either model as side packet or model path in options is required.
SwitchDemuxCalculator::GetContract failed to validate:
For input streams ValidatePacketTypeSet failed:
Tag "" index 0 was not expected.
SwitchMuxCalculator::GetContract failed to validate:
For output streams ValidatePacketTypeSet failed:
Tag "" index 0 was not expected.
Tag "" index 1 was not expected.
SwitchDemuxCalculator::GetContract failed to validate:
For input streams ValidatePacketTypeSet failed:
Tag "TENSORS" index 0 was not expected.
SwitchMuxCalculator::GetContract failed to validate:
For output streams ValidatePacketTypeSet failed:
Tag "LANDMARKS" index 0 was not expected.
InferenceCalculatorGl: ; RET_CHECK failure (external/com_google_mediapipe/mediapipe/calculators/tensor/inference_calculator_gl.cc:93) !options.model_path().empty() ^ kSideInModel(cc).IsConnected()Either model as side packet or model path in options is required.
InferenceCalculatorGl: ; RET_CHECK failure (external/com_google_mediapipe/mediapipe/calculators/tensor/inference_calculator_gl.cc:93) !options.model_path().empty() ^ kSideInModel(cc).IsConnected()Either model as side packet or model path in options is required.

Hi @fishhead012
Could you please elaborate your query with complete details and clear steps to reproduce the issue from our end. Thank you!

Hi @fishhead012 Could you please elaborate your query with complete details and clear steps to reproduce the issue from our end. Thank you!

Below are my settings. Any small clue would be appreciated. :D
GPU buffer. (GpuBuffer)
input_stream: "input_video"
output_stream: "pose_landmarks"
output_stream: "pose_world_landmarks"
output_stream: "segmentation_mask"
output_stream: "pose_roi"
output_stream: "pose_detection"
output_stream: "face_landmarks"
output_stream: "left_hand_landmarks"
output_stream: "right_hand_landmarks"
node {
calculator: "FlowLimiterCalculator"
input_stream: "input_video"
input_stream: "FINISHED:face_landmarks"
input_stream_info: {
tag_index: "FINISHED"
back_edge: true
}
output_stream: "throttled_input_video"
node_options: {
[type.googleapis.com/mediapipe.FlowLimiterCalculatorOptions] {
max_in_flight: 1
max_in_queue: 1
# Timeout is disabled (set to 0) as first frame processing can take more
# than 1 second.
in_flight_timeout: 0
}
}
}
node: {
calculator: "ImageTransformationCalculator"
input_stream: "IMAGE_GPU:throttled_input_video"
input_side_packet: "ROTATION_DEGREES:input_rotation"
input_side_packet: "FLIP_HORIZONTALLY:input_horizontally_flipped"
input_side_packet: "FLIP_VERTICALLY:input_vertically_flipped"
output_stream: "IMAGE_GPU:transformed_input_video"
}
node {
calculator: "HolisticLandmarkGpu"
input_stream: "IMAGE:transformed_input_video"
input_side_packet: "MODEL_COMPLEXITY:model_complexity"
input_side_packet: "SMOOTH_LANDMARKS:smooth_landmarks"
input_side_packet: "REFINE_FACE_LANDMARKS:refine_face_landmarks"
input_side_packet: "ENABLE_SEGMENTATION:enable_segmentation"
input_side_packet: "SMOOTH_SEGMENTATION:smooth_segmentation"
output_stream: "POSE_LANDMARKS:pose_landmarks"
output_stream: "WORLD_LANDMARKS:pose_world_landmarks"
output_stream: "SEGMENTATION_MASK:segmentation_mask_gpu"
output_stream: "POSE_ROI:pose_roi"
output_stream: "POSE_DETECTION:pose_detection"
output_stream: "FACE_LANDMARKS:face_landmarks"
output_stream: "LEFT_HAND_LANDMARKS:left_hand_landmarks"
output_stream: "RIGHT_HAND_LANDMARKS:right_hand_landmarks"
}
node: {
calculator: "ImageTransformationCalculator"
input_stream: "IMAGE_GPU:segmentation_mask_gpu"
input_side_packet: "ROTATION_DEGREES:output_rotation"
input_side_packet: "FLIP_HORIZONTALLY:output_horizontally_flipped"
input_side_packet: "FLIP_VERTICALLY:output_vertically_flipped"
output_stream: "IMAGE_GPU:segmentation_mask_unrotated_gpu"
}
node: {
calculator: "GpuBufferToImageFrameCalculator"
input_stream: "segmentation_mask_unrotated_gpu"
output_stream: "segmentation_mask"
}

Hi @fishhead012,
Could you please confirm that still you are looking for the resolution or the issue has been resolved. Thank you!

I still haven't been able to solve the problem below.

ANDROID

absl::Status NodeTypeInfo::Initialize(
....
       MP_RETURN_IF_ERROR(calculator_factory->GetContract(&contract_)).SetPrepend()
           << node_class << ": ";
     .....
      static absl::Status GetContract(CalculatorContract* cc) {
          .....
              if (cc->Outputs().NumEntries() != options.ranges_size()) {
                   return absl::InvalidArgumentError(
                   "The number of output streams should match the number of ranges "
                   "specified in the CalculatorOptions.");
              }

SplitNormalizedLandmarkListCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.
SplitDetectionVectorCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.
SplitNormalizedLandmarkListCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.
SplitNormalizedLandmarkListCalculator: The number of output streams should match the number of ranges specified in the CalculatorOptions.

pc (cpu) works
android (gpu) not works

// err nodes
holisticlandmarkgpu__handlandmarksleftandrightgpu__SplitNormalizedLandmarkListCalculator_1
holisticlandmarkgpu__handlandmarksleftandrightgpu__SplitNormalizedLandmarkListCalculator_2
holistictrackingtorenderdata__handwristforpose_1__SplitNormalizedLandmarkListCalculator
holistictrackingtorenderdata__handwristforpose_2__SplitNormalizedLandmarkListCalculator
holisticlandmarkgpu__poselandmarkgpu__poselandmarkbyroigpu__tensorstoposelandmarksandsegmentation__SplitNormalizedLandmarkListCalculator
holisticlandmarkgpu__handlandmarksleftandrightgpu__handlandmarksfromposegpu_1__handvisibilityfromhandlandmarksfrompose__SplitNormalizedLandmarkListCalculator
....
// code location
class SplitListsCalculator : public CalculatorBase {
public:
static absl::Status GetContract(CalculatorContract* cc)
.....
if (cc->Outputs().NumEntries() != options.ranges_size()) {
return absl::InvalidArgumentError(
"The number of output streams should match the number of ranges "
"specified in the CalculatorOptions.");
}
//
most options.ranges_size()  is 0.
I don't know how to load ranges_size . can you tell me?

Hi @fishhead012,
Could you please share the complete steps to reproduce w.r.t to the above mentioned error from our end. Thank you!

The value of ptions.ranges_size() is always 0
if Node.has_options() is TRUE.
If the value of options.combine_outputs() is FALSE
I get the error "The number of output streams should match the number of ranges specified in the CalculatorOptions".
How do I match the output stream and number of ranges?
// ANDROID, holistic_tracking


Doesn't seem to respond to unmuting

Love the project idea, but it doesn't seem to be working for me. When I open a new meeting it creates the red circle in my menu bar but doesn't allow me to mute by clicking it, nor does it update color when I unmute in Zoom. In watching the console I can see:
2020-11-03 21:26:52: updateZoomStatus(from-closed-to-running)
2020-11-03 21:26:52: -- Loading extension: uielement
2020-11-03 21:27:00: updateZoomStatus(muted)
2020-11-03 21:27:00: updateZoomStatus(from-running-to-meeting)
2020-11-03 21:27:26: updateZoomStatus(from-meeting-to-running)
2020-11-03 21:27:31: updateZoomStatus(from-running-to-closed)

But there is no muting or anything being registered. Let me know if there is anything else I can provide to help in debugging.

Argh! How frustrating. One thing to note is that, sadly, there isn't a good way for Hammerspoon to detect mute change events from Zoom without polling.
Thanks for your offer to help debug this. The console output above really helps.
Here's what I do when I'm developing the Zoom Spoon:

Close Zoom
Use the Reload Config menu item in Hammerspoon
Open Zoom
Start a Meeting

What should happen is that you'll see a red or green circle in your menu bar, and if you click that circle, it should invert from red to green or green to red. The mute status in Zoom should also change.
As I'm trying to reproduce your error, I found that the Zoom Spoon isn't detecting Zoom closing, so I'm going to need to investigate that today too.

Same problem - mute/unmute do not register. Tried with UI button and shortcuts.
There was a lot of muting, unmiting, start video, stop video and only the events registered were these:
2021-01-30 12:23:58: updateZoomStatus(unmuted)
2021-01-30 12:23:58: updateZoomStatus(from-running-to-meeting)
2021-01-30 12:24:41: updateZoomStatus(from-meeting-to-sharing)
2021-01-30 12:24:46: updateZoomStatus(from-sharing-to-meeting)
2021-01-30 12:24:56: updateZoomStatus(from-meeting-to-running)

Same problem - mute/unmute do not register. Tried with UI button and shortcuts.
There was a lot of muting, unmiting, start video, stop video and only the events registered were these:
2021-01-30 12:23:58: updateZoomStatus(unmuted)
2021-01-30 12:23:58: updateZoomStatus(from-running-to-meeting)
2021-01-30 12:24:41: updateZoomStatus(from-meeting-to-sharing)
2021-01-30 12:24:46: updateZoomStatus(from-sharing-to-meeting)
2021-01-30 12:24:56: updateZoomStatus(from-meeting-to-running)

This is what I had to do in the end, a hybrid approach of using both Zoom events and global Zoom shortcut to toggle MUTE/UNMUTE.
The only problem is that Hammerspoon can only handle events if it was started before Zoom, otherwise it does not detect Zoom events. I had to restart Zoom a few times during testing, not sure how well it will work in a long run.
local inZoomMeeting = false
local isMuted = false

function micMuted()
    isMuted = true
    updateState(isMuted)
end

function micUmuted()
    isMuted = false
    updateState(isMuted)
end

function micToggled()
    isMuted = not isMuted
    updateState(isMuted)
end

function updateState(isMuted)
    if isMuted then
        hs.printf("Zoom has been MUTED")
        -- YOUR LOGIC HERE
    else
        hs.printf("Zoom has been UNMUTED")
        -- YOUR LOGIC HERE
    end
end

function meetingOff()
    -- YOUR LOGIC HERE
end

-- Listen to Zoom events
updateZoomStatus = function(event)
  hs.printf("updateZoomStatus(%s)", event)
  if (event == "from-running-to-meeting") then
    inZoomMeeting = true
  elseif (event == "muted") then
    micMuted()
elseif (event == "unmuted") then
    micUmuted()
elseif (event == "from-meeting-to-running") then
    inZoomMeeting = false
    meetingOff()
  end
end

hs.loadSpoon("Zoom")
spoon.Zoom:setStatusCallback(updateZoomStatus)
spoon.Zoom:start()

-- Listen to Zoom toggle mute shortcut
tap = hs.eventtap.new({hs.eventtap.event.types.keyDown}, function(event)
    if inZoomMeeting then
        data = event:getRawEventData()
        flags = event:getFlags()
        -- CMD + SHIFT + A pressed - Zoom toggle mute shortcut
        -- 0 here is keyCode for A
        if data.NSEventData.keyCode == 0 and flags.cmd and flags.shift then
            micToggled()
        end
    end
    -- Dont kill the event, let Zoom handle it
	return false
end)
tap:start()

This is what I had to do in the end, a hybrid approach of using both Zoom events and global Zoom shortcut to toggle MUTE/UNMUTE.
The only problem is that Hammerspoon can only handle events if it was started before Zoom, otherwise it does not detect Zoom events. I had to restart Zoom a few times during testing, not sure how well it will work in a long run.
local inZoomMeeting = false
local isMuted = false

function micMuted()
    isMuted = true
    updateState(isMuted)
end

function micUmuted()
    isMuted = false
    updateState(isMuted)
end

function micToggled()
    isMuted = not isMuted
    updateState(isMuted)
end

function updateState(isMuted)
    if isMuted then
        hs.printf("Zoom has been MUTED")
        -- YOUR LOGIC HERE
    else
        hs.printf("Zoom has been UNMUTED")
        -- YOUR LOGIC HERE
    end
end

function meetingOff()
    -- YOUR LOGIC HERE
end

-- Listen to Zoom events
updateZoomStatus = function(event)
  hs.printf("updateZoomStatus(%s)", event)
  if (event == "from-running-to-meeting") then
    inZoomMeeting = true
  elseif (event == "muted") then
    micMuted()
elseif (event == "unmuted") then
    micUmuted()
elseif (event == "from-meeting-to-running") then
    inZoomMeeting = false
    meetingOff()
  end
end

hs.loadSpoon("Zoom")
spoon.Zoom:setStatusCallback(updateZoomStatus)
spoon.Zoom:start()

-- Listen to Zoom toggle mute shortcut
tap = hs.eventtap.new({hs.eventtap.event.types.keyDown}, function(event)
    if inZoomMeeting then
        data = event:getRawEventData()
        flags = event:getFlags()
        -- CMD + SHIFT + A pressed - Zoom toggle mute shortcut
        -- 0 here is keyCode for A
        if data.NSEventData.keyCode == 0 and flags.cmd and flags.shift then
            micToggled()
        end
    end
    -- Dont kill the event, let Zoom handle it
	return false
end)
tap:start()

See this PR which adds the necessary polling logic to fix this issue: https://github.com/jpf/Zoom.spoon/pull/9


Results added to appCache before retries exhausted

If an app fails, the exceptions are entered into the appCache before the logic that handles retries. This results in retry attempts being skipped and the first failure being returned, effectively blocking retries.
The task goes through the following state transitions :
     pending --> running --> completed
      ^            |
      |            V
      +--------? failed

We should only memoize when the task has reached the terminal states (completed/failed).

This is fixed in branch Auto_checkpoint_#106


⚠ GitLab Server has degraded performance

In edd806a, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 13710 ms

Resolved: GitLab Server performance has improved in a85055d.


A0-1152: Add possibility to set node count and min validator count via CLI

Description
The authorities_are_staking test case stalls finalization due to changing the number of validators. This introduces two new params to our e2e test pipeline:

node-count for setting the number of nodes to be run as consensus
min-validator-count to set the minimum number of validators in chain spec at genesis.

By doing this, we are now able to run 6 nodes, chill 2 of them and do not hit the default min-validator-count limit. Also, if we need to specify different number of nodes and required validators for test cases, e.g. for nightly, we can now do this via GH pipelines.
Type of change

New feature (non-breaking change which adds functionality)

Checklist:

I have made corresponding changes to the existing documentation
I have created new documentation

Is possibility to set min validator count in any way important in the context of finalization stall?

Is possibility to set min validator count in any way important in the context of finalization stall?

What min-validator-count does is it is passed to the chain spec:
https://github.com/Cardinal-Cryptography/aleph-node/blob/aa902b814814e31e0a33d5d2133bef2a6a77c3fc/bin/node/src/chain_spec.rs#L390
What this in turn does is persist a StorageValue available in pallet_staking:
https://github.com/paritytech/substrate/blob/324a18e3c5cbf333672c54f9367f530ea976928d/frame/staking/src/pallet/mod.rs#L229
This value is a threshold below which the chain enters an emergency state and finalization stalls. The important part is that it is not easily changed once the chain is up and running. In the authorities_are_staking test, we needed to chill (retire) 2 validators. Since our default chain starts with 5 nodes and the default MinimumValidatorCount is 4, chilling 2 validators would hit the threshold and put the chain in emergency state.
By introducing node-count, we can set the initial number of nodes to, say, 6 and completely circumvent the finalization stall without changing the logic of the test. At the same time, it might be beneficial to be able to set different levels of MinimumValidatorCount, for instance for the purpose of randomizing test case parameters, and now we can do that.


Create data migration operation

Create an operation to perform data migration.
This should probably be handled by Accumulo using a map reduce job.

Should be done after gh-129.


realize spatio-temporal metadata for pages

[ ] create metadata for latitude/longitude points (SRID 4326)
[ ] document MySQL 5.7's limitations for reprojections

see https://stackoverflow.com/questions/21877179/mysql-spatial-convert-from-srid-31287-to-4326

[ ] ask Philip for best practices, how to quantify uncertainty?
[ ] decide how to implement "uncertainty buffer" as a boundary polygon
[x] decide how to implement "region" as a boundary polygon

references

https://dev.mysql.com/doc/refman/5.7/en/spatial-operator-functions.html#function_st-buffer
https://itnext.io/playing-with-geometry-spatial-data-type-in-mysql-645b83880331
http://marineregions.org/gazetteer.php?p=webservices

 spatio-temporal metadata fields

#9 addresses specifically "decide how to implement region as a boundary polygon"

I'll try to formalize a schema that indicates "fixed" locations for both cases (either explicit coordinates given or zero velocity indicated).

To handle metadata across 24 hours, I'm planning that each entry in the table page will have ~24 (or fewer, depending on the resolution of the logbook) children entries in the table observation, where observation entries will be keyed by the composite of their source page id and their iso-datetime.

Lastly, perhaps later I could ask how one might classify location uncertainty during different technological epochs, e.g., pre/post-chronometer, pre/post-radionavigation.

(I've looked through the WMO's Guide to Meteorological Instruments and Methods of Observation http://library.wmo.int/opac/doc_num.php?explnum_id=3148 (general uncertainty), http://library.wmo.int/opac/doc_num.php?explnum_id=3182 (marine observations), and A review of uncertainty in in situ measurements and data sets of sea surface temperature https://doi.org/10.1002/2013RG000434 for notes on uncertainty in measurement meteorological variables. However, neither reference discusses uncertainty of location. Perhaps there's a better reference here.)

On 2019-06-18, Philip Brohan<EMAIL_ADDRESS>wrote:

Have a look at the log page at
http://s3-eu-west-1.amazonaws.com/textract.samples/Farragut-DD-348-1942-01-0021.jpg
This page has three locations (each lat and lon) - often we have only one, at noon. It also has hourly speed and course
measurements. Those speed and course data are the standard fields you mention. See also the older logbook at
http://s3-eu-west-1.amazonaws.com/textract.samples/24-118-jeannette-vol003_199.jpg - same fields (though that ship is frozen
in the ice so has no speed data recorded).
So if we are willing to transcribe the 24 speed and course measurements (expensive), as well as the three positions, we can
estimate a location time-series for the image. The point is that one image is typically 24-hours of data, and the metadata
may change over that period.
I think it would be be good to 'associate certain times (i.e., certain image files) between "fixes" with a non-negative
radius that would bound the probable location of the observation'. Often our location metadata is approximate - I've used
ship examples here, but we have station data where the location metadata is 'London'.


[Feature] Implement Sparse Fieldsets [OSF-7208]

Purpose
Allow API requests to specify fewer fields to return, speeding up queries
Changes

Add mixin implementing JSONAPI spec on sparse fieldsets
Fix minor bugs that weren't apparent before
Add tests

Side effects
None expected
Ticket
[OSF-7208]

Merged into feature/preprint-dois which is the release branch for 0.111.0. Consider this merged.

@mfraezz When you get a chance, would you mind adding a few QA notes on the ticket?


fix(U2FAuthenticator): cast port to int

The port should be casted to int, because of this:

can be a string if fetched from the server bag

https://github.com/symfony/symfony/blob/33d4bce1f9b931db0cbac0db3b7c6b272b16e7f9/src/Symfony/Component/HttpFoundation/Request.php#L997
Closes https://github.com/darookee/u2f-two-factor-bundle/issues/15

Looks good, thank you!


Added docker registry name to apiary-lifecycle module

Added a secret docker registry name to avoid the issue with Docker Hub Rate Limiting (More info in EGDL-1556).
Question: I have seen that in variables.tf exists the following key "docker_registry_auth_secret_name". It was with an empty default value, I thought that it's better to use this one instead of creating a new one called: "docker_registry_secret".
But, this key/value is being called by other scripts like ecs-templates.tf, ecs-iam.tf, common.tf... So, I am not sure if I did right.

I don't understand why the build is failing =L I think I didn't change anything related to those lines.

I don't understand why the build is failing =L I think I didn't change anything related to those lines.

Will require a CHANGELOG update too.

Will require a CHANGELOG update too.


update codes for idemux

@Ilya-Fradlin You closed this pull request, but didn't merge it. Do you find any issues?

No, I thought it will merge automatically, I will merge it now.

Thanks. I think we just follow this principle that the reviewer just merge it if it seems okay.


Make a PR template

make a PR template file in .github folder

assign it to me, ill love to work

Can I work upon this ??

please assign this task to me, i have already solved an issue of adding newsletter in this repo

!assign


#271 calculate the date in the tests

Added stub for Time.now
Fixes #271

@Yegorov please review
I'm not sure about the names

@Yegorov fixed

@yegor256 fixed

@Suban05 thanks!

@Yegorov 🎉 Great job on the review! You've earned 15 points: +15 base, +10 for your 10 insightful comments, with a slight -10 adjustment for 4 hits-of-code. Keep up the excellent work! Your new balance is 294 points. 💪


Simplify affiliations

I wonder if the affiliation divisions are over complex - what is the use case for this information? Why are we still giving space for fax? Why would we want to record complements?

I think there probably should be JATS4R input on this section with respect to the ideal set of information recorded for an affiliation.

I also thought of just specifying address and leave that free form (multi-line). We can have additional (redundant) fields for city, and country, so this information can be used for searching and for rendering the affiliation as a string.
Thoughts?

@michael
For us the Institution name, Orgdiv1-3, city, state, and country are relevant elements and should be able to be identified separately. The other fields are not important, they can be collapsed into address.
Maybe website can have also a exclusive element, but nowadays it is not used in Érudit.

I know Scielo Brasil also requires orgdivs and country[1] for every aff WITH the ISO country code, and if city and state exist they should be captured as named-content.[2]
...
<aff id="aff01">
    <label>1</label>
    <institution content-type="orgname">Fundação Oswaldo Cruz</institution>
    <institution content-type="orgdiv1">Escola Nacional de Saúde Pública Sérgio Arouca</institution>
    <institution content-type="orgdiv2">Centro de Estudos da Saúde do Trabalhador e Ecologia Humana</institution>
    <addr-line>
        <named-content content-type="city">Manguinhos</named-content>
        <named-content content-type="state">RJ</named-content>
    </addr-line>
    <country country="BR">Brasil</country>
<EMAIL_ADDRESS>    <institution content-type="original">Prof. da Fundação Oswaldo Cruz; da Escola Nacional de Saúde Pública Sérgio Arouca, do Centro de Estudos da Saúde do Trabalhador e Ecologia Humana. RJ - Manguinhos / Brasil<EMAIL_ADDRESS></institution>
</aff>
...

[1] http://docs.scielo.org/projects/scielo-publishing-schema/pt_BR/1.8-branch/tagset/elemento-country.html
[2] http://docs.scielo.org/projects/scielo-publishing-schema/pt_BR/1.8-branch/tagset/elemento-aff.html#elemento-aff

Aside:
I notice you use this:
<named-content content-type="city">Manguinhos</named-content>
So does eLife.
However, JATS has a <city> tag and the recent JATS4R author and affiliations group leader was surprised when I requested greater detail in their proposal around granular tagging. She was really confused as to why we did that and we should just use <city>. I cannot remember now. why we made that decision.
Can I ask why you do that?

As far as I Know, this was a previous requirement from SciELO once they
manage this information in this way.
The SciELO Publishing Schema was created a few years ago. I’m not sure but
probably it should the way to do that in JATS on that time. To assure that
I need to check JATS 1.0 or previous...
I fill comfortable to change it to city and state now.
On Wed, 7 Nov 2018 at 09:01 Melissa Harrison<EMAIL_ADDRESS>wrote:

Aside:
I notice you use this:
Manguinhos
So does eLife.
However, JATS has a  tag and the recent JATS4R author and
affiliations group leader was surprised when I requested greater detail in
their proposal around granular tagging. She was really confused as to why
we did that and we should just use . I cannot remember now. why we
made that decision.
Can I ask why you do that?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/substance/texture/issues/993#issuecomment-436631986,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAexTuZedywvuB_XzGueLCm6Mv3J_WMkks5usueqgaJpZM4X1y8o
.

@fabiobatalha and @lpanebr thanks for the insights! I'll work on eLife updating our xml specs to use <city> instead


Updated theme AnotherKolor (Dark and Light variants) by Danya D. Smith

Includes latest revisions as of 16 July 2016.
See GitHub Repo for Details:
https://github.com/danyadsmith/AnotherKolor

thanks


MS AD Graph: Feature: New Action for retrieving owned devices

The following MR adds a new action to retrieve all devices a certain user owns. It does not require any additional permissions over what's already documented in the app setup instructions.
Please check if your PR fulfills the following requirements:

[x] Testing of all the changes has been performed (for bug fixes / features)
[x] The readme.html has been reviewed and added / updated if needed (for bug fixes / features)
[x] Use the following format for the PR description: <App Name>: <PR Type> - <PR Description>
[x] Provide release notes as part of the PR submission which describe high level points about the changes for the upcoming GA release.
[ ] Verify all checks are passing.
[ ] Do NOT use the next branch of the forked repo. Create separate feature branch for raising the PR.
[ ] Do NOT submit updates to dependencies unless it fixes an issue.

Pull Request Type
Please check the type of change your PR introduces:

[ ] New App
[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation
[ ] Other (please describe):

Security Considerations (REQUIRED)

[x] If you are exposing any endpoints using a REST handler,
please document them in the readme.html.
[x] If this is a new connector or you are adding new actions

[x] Please document in the readme.html all methods (eg, OAuth) used to authenticate
with the service that the connector is integrating with.
[x] If any actions are unable to run on SOAR Cloud, please document this in the readme.html.

[] Are you introducing any new cryptography modules? If yes, please elaborate their purpose:
[ ] Are you are accessing the file system? If yes, please verify that you are only accessing paths returned through
the Vault API.
[ ] Are you are marking code to be ignored by Semgrep with nosemgrep?
If yes, please provide justification in an additional comment next to the ignored code.

Release Notes (REQUIRED)

New action to retrieve a users owned devices

@mishalp-crest Can you please run pre-commit hooks as Django version is just updated in requirements.txt and not anywhere else.


Fixed closed loop ramp rate

Purpose: Prevent robot from doing wheelies
Files changed...
Constants.java: Changed closed loop ramp constant from 0.5d to 1.0d

Still need to test.


Handle different columns for older versions of pg_stat_statements

Fixes #14. Because pg_stat_statements >= 1.8.0 uses different columns, outliers and calls need slightly different queries. This needs to be detected directly in the database, and since the repo is only ever passed into query/3, I saw a couple options:

Pass the repo into every query module's query function (but that would mean changing 20+ modules for something that only affects 2 of them
Detect the version in the queries function and call either current or legacy calls/outliers modules (however, this does result in near-duplicates for Calls/CallsLegacy and Outliers/OutliersLegacy).
Somehow grab the version in the actual Postgres query (I'm sure someone smarter than me could figure this out, but I couldn't quickly find a way)

I went with option 2, but any feedback is welcome. It's working this way for now in my production app.

It might also be interesting to show some of the new information that pg_stat_statements >= 1.8 shows
such as total,min,mean,max for both execution and plan time.
sigma_dev=# SELECT * FROM pg_stat_statements ORDER BY total_exec_time + total_plan_time DESC LIMIT 1 \gx
-[ RECORD 1 ]-------+----------------------------------------------------------------------------------------------------
userid              | 10
dbid                | 16384
queryid             |<PHONE_NUMBER>476945961
query               | SELECT <LONG QUERY>
plans               | 0
total_plan_time     | 0
min_plan_time       | 0
max_plan_time       | 0
mean_plan_time      | 0
stddev_plan_time    | 0
calls               | 2
total_exec_time     |<PHONE_NUMBER>9999996
min_exec_time       | 221.442148
max_exec_time       | 264.379732
mean_exec_time      |<PHONE_NUMBER>9999998
stddev_exec_time    | 21.468791999999986
rows                | 3892
shared_blks_hit     | 34938
shared_blks_read    | 2
shared_blks_dirtied | 7
shared_blks_written | 0
local_blks_hit      | 0
local_blks_read     | 0
local_blks_dirtied  | 0
local_blks_written  | 0
temp_blks_read      | 0
temp_blks_written   | 0
blk_read_time       | 0
blk_write_time      | 0
wal_records         | 1
wal_fpi             | 1
wal_bytes           | 8111

@dmarkow re option 3, you could query from pg_available_extensions
sigma_dev=# SELECT * FROM pg_available_extensions WHERE name = 'pg_stat_statements' and installed_version is not null;
        name        | default_version | installed_version |                                comment
--------------------+-----------------+-------------------+------------------------------------------------------------------------
 pg_stat_statements | 1.8             | 1.8               | track planning and execution statistics of all SQL statements executed

@raja That's what I'm doing in this PR -- I meant that I didn't know if there was a way to grab the current version and conditionally pick different columns in the single query returned by the query/0 function.

@dmarkow looking good but could you make passing param to queries non optional? I'm worried about Phoenix Live View compatibility. They don't pass it now so it would break the lib for everyone using pg < 13. We could bump the version to 0.4.0 since this is a breaking API change.

Ok, I get it now. I don't really like this inconsistency but I guess we'll have to live with it. I'll release it as 0.4.0 than.


fix-dubbo SPI config service when separated names with ","

What is the purpose of the change
just fix bug as title

add the test case code

Codecov Report

Merging #4292 into master will decrease coverage by 0.03%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master    #4292      +/-   ##
============================================
- Coverage     62.94%   62.91%   -0.04%
+ Complexity      506      504       -2
============================================
  Files           769      769
  Lines         33041    33041
  Branches       5215     5215
============================================
- Hits          20798    20788      -10
- Misses         9850     9858       +8
- Partials       2393     2395       +2

Impacted Files
Coverage Δ
Complexity Δ

...apache/dubbo/common/extension/ExtensionLoader.java
79.11% <100%> (ø)
0 <0> (ø)
:arrow_down:

...apache/dubbo/common/config/ConfigurationUtils.java
64% <0%> (-8%)
0% <0%> (ø)

.../org/apache/dubbo/remoting/ExecutionException.java
15.78% <0%> (-5.27%)
0% <0%> (ø)

...pache/dubbo/registry/support/AbstractRegistry.java
78.54% <0%> (-3.07%)
0% <0%> (ø)

...exchange/support/header/HeaderExchangeHandler.java
64.75% <0%> (-2.46%)
0% <0%> (ø)

...ache/dubbo/registry/multiple/MultipleRegistry.java
62.67% <0%> (-1.41%)
20% <0%> (-2%)

...pache/dubbo/remoting/transport/AbstractServer.java
47.91% <0%> (-1.05%)
0% <0%> (ø)

.../exchange/support/header/HeaderExchangeServer.java
66.98% <0%> (-0.95%)
0% <0%> (ø)

...g/apache/dubbo/registry/consul/ConsulRegistry.java
59.6% <0%> (-0.67%)
27% <0%> (ø)

...ng/transport/dispatcher/all/AllChannelHandler.java
57.14% <0%> (ø)
0% <0%> (ø)
:arrow_down:

... and 3 more

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 3acf5b8...ddc924e. Read the comment docs.

重新提交一个


[BEAM-13820] [Playground] Outline delete icon in Pipeline options

Changed color of "Delete" icon in the pipeline options dialog.
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

LGTM thanks!


[Pipeline] Gitlab repositories in nested groups (subgroups) are not listed

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Create a nested project hierarchy in GitLab, e.g.

ParentGroup
     Project01
     Subgroup - Packages
         Project02
         Project03
    Subgroup - Software
        Project 04

Create a new user and add this user to ParentGroup with maintainer permissions
Follow Rancher docs to configure a pipeline in the Default project with GitLab, using this user's account/application credentials.
Navigate to Pipeline tab and click on fetch/authorize repositorires

Expected Result:
All repositories in which user has maintainer permissions are listed. In GitLab a user added to a parent group will by default inherit all permissions in every of the subgroups/projects.
In the example above, all 4 projects should be listed.
Actual Result:
Only the projects under the parent group are listed.
Environment information

Rancher version: v2.2

@janeczku @loganhz I don't think this should block 2.2 from being marked stable, should it?

@cjellick at least it’s not a regression as it can be reproduced in 2.1.x.

Dependent on upstream gitlab API issue, see: https://github.com/rancher/rancher/issues/17188


Use absolute links

Closes: #4

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@a820204). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #5   +/-   ##
=========================================
  Coverage          ?   75.00%
=========================================
  Files             ?        1
  Lines             ?      100
  Branches          ?        0
=========================================
  Hits              ?       75
  Misses            ?       17
  Partials          ?        8

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 a820204...cce24dc. Read the comment docs.


[3.2] Load dynamic fonts to memory on all platforms, to avoid locked files.

Same as #44117 for 3.2.

Thanks!


Decouple KEB and Entity models

Description
The reconciler internal data model currently has a dependency to the KEB data model. Which is problematic because changes on KEB will break the reconciler model and databases.
As consequence, the KEB dependency is dragged through the whole architecture from API level (top) to runner & DB level (bottom), when it should stay contained at API level.
All data models have to always be independent from each other and necessary adapters have to be in the right place to make the reconciler client agnostic and be able to support different formats and version changes at the same time.
Reasons

Reconciler data model should be client agnostic.
Flexibility
Multi client, format and version support

Implementation hints

Remove any references to /pkg/keb in /pkg/model
Add adapter functions tot the KEB factory to convert both formats to each other.
Move the conversion keb-> model to the HTTP/API entrypoint of the system.
Remove KEB usage from all APIs (inventory, scheduler, etc...)

Issue is no longer relevant on the new operator based reconciliation model.


QueuePublishManualService::InvalidStateError when publishing

We've seen two errors in production recently where a manual can't be published:

QueuePublishManualService::InvalidStateError: The manual with id '42d69bba-d0fe-43ce-afa6-99407386d5b9' could not be published as it was not in a draft state.

QueuePublishManualService::InvalidStateError: The manual with id '87e2748f-2e9b-4681-8baa-778b6d326a8a' could not be published as it was not in a draft state.

Some notes from my initial investigation:
>> ManualRecord.where(manual_id: '42d69bba-d0fe-43ce-afa6-99407386d5b9').first
=> #<ManualRecord _id: 5891f8fc40f0b6364c000012, _type: nil, created_at: 2017-02-01 15:04:28 UTC, updated_at: 2017-02-01 15:04:28 UTC, manual_id: "42d69bba-d0fe-43ce-afa6-99407386d5b9", organisation_slug: "ofsted", slug: "guidance/social-care-common-inspection-framework-sccif-children-s-homes-including-secure-children-s-homes">

>> ManualRecord.where(manual_id: '87e2748f-2e9b-4681-8baa-778b6d326a8a').first
=> #<ManualRecord _id: 54c76d8f40f0b6642d000001, _type: nil, created_at: 2015-01-27 10:50:55 UTC, updated_at: 2016-11-29 08:12:14 UTC, manual_id: "87e2748f-2e9b-4681-8baa-778b6d326a8a", organisation_slug: "home-office", slug: "guidance/immigration-rules">

>> ManualRecord::Edition.where(manual_id: '87e2748f-2e9b-4681-8baa-778b6d326a8a').count
=> 439

>> ManualRecord::Edition.where(manual_id: '42d69bba-d0fe-43ce-afa6-99407386d5b9').count
=> 0

>> manual = Manual.find('87e2748f-2e9b-4681-8baa-778b6d326a8a', User.gds_editor)
>> p manual.draft?
=> false
>> p manual.state
>> "published"

>> manual = Manual.find('42d69bba-d0fe-43ce-afa6-99407386d5b9', User.gds_editor)
>> p manual.draft?
=> false
>> p manual.state
>> "published"

http://manuals-publisher.dev.gov.uk/manuals/42d69bba-d0fe-43ce-afa6-99407386d5b9

http://manuals-publisher.dev.gov.uk/manuals/87e2748f-2e9b-4681-8baa-778b6d326a8a

So the error appears to be caused by the fact that these manuals are already published. I'm surprised that it's possible "publish" a previously published manual. They're published in my local copy of the data from about a month ago so it's not as though they've only recently been published.

I think I've just managed to replicate this problem in integration. Steps to replicate:

Create a new manual
Add a section to the manual
Click "Publish manual"
Observe that you're redirected to the manual page but that the "Publish manual" button is still visible.
Click "Publish manual"
Observe the "We're sorry, but something went wrong" error message and the QueuePublishManualService::InvalidStateError exception being caught in Errbit.

My guess is that this happens because we publish manuals asynchronously: there's a delay between publishing the manual is step 3 above and it being marked as published in the manuals-publisher app. This delay provides the gap allowing us to click "Publish manual" for a manual that's in the process of being published.

This exception was just observed in staging by @MatMoore when clicking the "Publish" button twice for the same manual.


ARROW-13506: [C++][Java] Upgrade ORC to 1.6.9

This PR aims to upgrade Apache ORC to 1.6.9 to bring the latest bug fixes and updates.

1.6.9: https://orc.apache.org/news/2021/07/02/ORC-1.6.9/

Currently, C++ module is using Apache ORC 1.6.6 and Java module is using 1.5.5.
Apache ORC 1.5.5 is too old and we had better make it consistent at this time.
Apache ORC community highly recommends 1.6.9.
From Apache ORC 1.6.0+, the followings are added.

ORC-14 Add column encryption.
ORC-189 Add timestamp with local timezone
ORC-203 Trim minimum and maximum string values
ORC-363 Add zstd support in Java
ORC-397 Support selectively disabling dictionaries
ORC-522 Add type annotations

@dongjoon-hyun Thank you. If you know a list of major changes from old versions, could you list them up here?

Sure, @kiszk !

Updated. Thank you for review, @kiszk !

Also cc @sunchao .

Thank you for your approval, @kiszk .

Thank you for your review and approval, @sunchao !

cc @emkornfield and @pitrou

As long as CI is passing LGTM.

Thank you, @emkornfield . Yes, all CIs passed.

Merged! @emkornfield could you add @dongjoon-hyun to the Arrow contributor list and assign the JIRA to him? thanks!

Thank you so much, @sunchao , @kiszk , @emkornfield !

Sorry for the delay, JIRA is now assigned to @dongjoon-hyun thanks for the update!

Thank you so much, @emkornfield ! :)


iOS: Display name for topics

This would be nice when enabling Siri to read notifications as for me the only sensitive part of them is the topic name, while otherwise I like to be aware of the notification as soon as possible without having to pick up the phone


Atomic updates with triangle-shaped data flow

Does most support atomic combine updates in a re-joining data flow graph?
/*
   ->p->
 /       \
n       p · q --> ?
 \        /
   ->q->
*/
const id = x => x;
const add = (a, b) => a + b;

var n = multicast(continueWith(() => now(2), now(1)));
var p = map(id, n);
var q = map(id, n);

var pq = combine(add, p, q); // -> 2, 3, 4

// EXPECTED: 2, 4

See demo on RunKit

Hi @semmel, good question.  As you observed, mostjs isn't transactional.  Additionally, simultaneous events will have equal time values, but propagated in some order.
There are techniques that can help, such as using products (tuples and records).  I did some experiments with it here.
If you need transactional updates, though, mostjs may not be the best choice.
Hope that helps.  I'll close this issue, but please feel free to continue the discussion if you have follow questions.  Cheers!

Thank your for your quick answer @briancavalier,

If you need transactional updates, though, mostjs may not be the best choice.

I use frp streams to collect the UI state in the browser (something similar to the React-Redux flow). When I update the DOM on changes im my UI state I debounce those events anyway, so in that use case I would not need atomicity.
Also, as someone else noticed, as long as the functions in the frp pipeline are pure, those extra events do not matter (except perhaps performance-wise).
So one could conclude, that one should always debounce side-effects? 🤔

I think ultimately the answer is "it depends" (as usual).  For example, if the side effect is just simple UI updates, it may not matter, but if it's sending text messages, it may!  Debouncing is definitely a helpful tool for some situations.  Sampling can also be quite helpful.
I guess the overall takeaway is that side effects still require some care.  Libraries can help us manage them, but no library frees us entirely.


mitmproxy-0.18.2-osx Error loading Python lib

Steps to reproduce the problem:
1.mitmproxy-0.18.2-osx$ ./mitmdump
Error loading Python lib '/var/folders/fv/8s5nyv5d25x_bdf22mjbktd40000gn/T/_MEIsO6QsF/.Python': dlopen(/var/folders/fv/8s5nyv5d25x_bdf22mjbktd40000gn/T/_MEIsO6QsF/.Python, 10): Symbol not found: _faccessat
Referenced from: /var/folders/fv/8s5nyv5d25x_bdf22mjbktd40000gn/T/_MEIsO6QsF/.Python
Expected in: /usr/lib/libSystem.B.dylib
in /var/folders/fv/8s5nyv5d25x_bdf22mjbktd40000gn/T/_MEIsO6QsF/.Python
Any other comments? What have you tried so far?
System information
OS X 10.9.5

Thanks for the report.
How did you install mitmproxy?
OSX 10.9.5 is quite outdated now, is there any way you could upgrade or test it on a newer system?

How did you install mitmproxy?
Just unpacked from the https://github.com/mitmproxy/mitmproxy/releases/download/v0.18.2/mitmproxy-0.18.2-osx.tar.gz

OSX 10.9.5 is quite outdated now, is there any way you could upgrade or test it on a newer system?
Yeah, it starts successfully in EL Capitan.

Unfortunately there is no easy fix for this, as our binaries are created with PyInstaller.
https://github.com/pyinstaller/pyinstaller/issues/1191
You can try using the install-from-source method on OSX 10.9:
https://github.com/mitmproxy/mitmproxy/blob/0.18.x/README.rst#hacking


github page https mixed content issues

Due to the yml config that points the base url to http which is used for all assets the page loads improperly when accessing via https: https://pongstr.github.io/pongstagr.am/. This is due to mixed content blocking.
You can fix this by just using the HTTPS version in the config instead of HTTP.

0a588f57cd834535a6a7ab8c16a5b995b05ae06e Thanks!


socket.timeout: timed out

What could cause a socket timeout and how to prevent it?
I am also not sure what information could be useful to debug it, if necessary ask for more details.
It happened after about 10-12 hours of execution.
I already tried to change the default timeout but to no avail.
Traceback (most recent call last):
  File "controller.py", line 288, in <module>
    main()
  File "controller.py", line 263, in main
    state = con.receive()  # <- 100 Hz requests
  File "rtde/rtde.py", line 218, in receive
    return self.__recv(Command.RTDE_DATA_PACKAGE, binary)
  File "rtde/rtde.py", line 306, in __recv
    self.__recv_to_buffer(DEFAULT_TIMEOUT)
  File "rtde/rtde.py", line 341, in __recv_to_buffer
    more = self.__sock.recv(4096)
socket.timeout: timed out

controller log from robot would be useful (/tmp/log/urcontrol/current on the robot, or URControl.log.0 in support file generated in polyscope)
+/- 20 lines around "TCPServer: RTDE client disconnected"

@michal-milkowski thanks for the reply, I moved to a different approach for my situation so I don't have useful data anymore.

Thanks for input. Reopen issue with controller logs, if it happens again.


Fix display problems

Fixes #207 #198 #174 #157 (and other similar issues if I missed)

Codecov Report

Merging #210 (7cf0b95) into master (0c44bd2) will not change coverage.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##             master     #210   +/-   ##
=========================================
  Coverage     47.56%   47.56%
  Complexity      630      630
=========================================
  Files           133      133
  Lines          2935     2935
  Branches        390      390
=========================================
  Hits           1396     1396
  Misses         1405     1405
  Partials        134      134

Impacted Files
Coverage Δ

.../main/java/seedu/address/ui/ContactDetailCard.java
0.00% <0.00%> (ø)

...main/java/seedu/address/ui/ContactDetailPanel.java
0.00% <0.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 0c44bd2...7cf0b95. Read the comment docs.

hmm I guess it's fine if we cannot replace with ScrollPane

The problem with ListView is that when you click on the region, its background color changes. I tried to fix it by setting contactDetailView.onMouseClicked(null), but it doesn't seem to work.


Public sharing requires a login

If you try to share a project set to Public:

And then paste that link into an incognito browser, you are redirected to a login page:

Related to https://github.com/azavea/raster-foundry/issues/1518 I think

Auth service should not check for token on pages that do not require it
Navbar should handle non-authenticated state/share page

Closing because I think it is a duplicate of #1518 as noted above


NLP: Map the processed user input to the predefined list of accepted keywords

User story

As a developer
I want to be able to map the processed user input
So that I can extend the list of available searches

Acceptance criteria

Processed user input is being mapped to a json
The mapped json is sent to backend

Optionally look for already existing formats


Input type number - required validation

Note: for support questions, please use stackoverflow. This repository's issues are reserved for feature requests and bug reports.

I'm submitting a ...

[x] bug report
[ ] feature request
[ ] support request => Please do not submit support request here, see note at the top of this template.

Do you want to request a feature or report a bug?
I think that it is a bug.

What is the current behavior?
When you mark input type=number as required, you are able to erase this field and validation do not prompt that field is required.

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem
Try to make blank "age" field.
https://jsfiddle.net/k5rep0mu/

What is the expected behavior?
When I delete all content of required field, error message "this field is required" should appear.

What is the motivation / use case for changing the behavior?
I think that empty field even when it is number field should be considered as invalid when marked as required.

Please tell us about your environment:

Version: [2.1.1]
Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]
Language: [all | TypeScript X.X | ES6/7 | ES5 | Dart]

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

This is likely due to fieldInput setting invalid numbers to NaN instead of null or empty string.
Required validator only checks Nil and Empty


ties in RNA branch to sql-based repo manager

fixes #1227

Looks great to me @saupchurch! +1

thanks @jeromekelleher change made

per integration group call - removed WIP decorator.
Ready to review for merge

+0.9 Don't merge quite yet...
The last +0.1 is waiting on a minor update that Sean and I discussed.


swift-frontend crash when pattern matching a generic consumed noncopyable enum

Description
When pattern matching a generic noncopyable enum, the nightly toolchain's swift-frontend crashes. The Xcode 15.1 default toolchain just hangs indefinitely.
If the enum is not generic with a copyable type (e.g., Int) then the code compiles as expected.
If the enum is not generic with a noncopyable type (e.g., struct NoCopy: ~Copyable {}) the the compiler fails with the following:
❯ /Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend -frontend -c LinkedHashMap.swift
LinkedHashMap.swift:23:20: error: copy of noncopyable typed value. This is a compiler bug. Please file a bug with a small example of the bug
    case .some(let v): return v

I came to this error while debugging a what I presume to be another and related ownership compiler bug. Where there would be a partial consumption error pointed to the take() callsite.
Reproduction
enum Box<T>: ~Copyable {
  case some(T)
  case none

  mutating func take() -> Self {
    let old = self
    self = .none
    return old
  }
}

private final class BoxedNode<T> {
  private var box: Box<T>

  init(_ v: T) {
    box = .some(v)
  }

  func consume() -> T {
    switch box.take() {
    case .some(let v): return v
    case .none: fatalError()
    }
  }
}

Build with $NIGHTLY_TOOLCHAIN/swift-frontend -frontend -c LinkedHashMap.swift
As mentioned in the description, if built with a release toolchain (e.g., Xcode default) it just hangs indefinitely.
Stack dump
❯  $TOOLCHAINS/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend -frontend -c LinkedHashMap.swift
Assertion failed: (allSet(filterBitVector, start, next)), function constructFilteredProjections, file FieldSensitivePrunedLiveness.cpp, line 392.
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0.	Program arguments: /Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend -frontend -c LinkedHashMap.swift
1.	Apple Swift version 5.11-dev (LLVM 13124099c3f0229, Swift d6871edc839adec)
2.	Compiling with the current language version
3.	While evaluating request ExecuteSILPipelineRequest(Run pipelines { Mandatory Diagnostic Passes + Enabling Optimization Passes } on SIL for LinkedHashMap)
4.	While running pass #113 SILFunctionTransform "MoveOnlyChecker" on SILFunction "@$s13LinkedHashMap9BoxedNode33_4F2CFA6E40CBEF0A9B941127FADABDE0LLC7consumexyF".
 for 'consume()' (at LinkedHashMap.swift:19:3)
 #0 0x0000000105ab486c (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x10561c86c)
 #1 0x0000000105ab2fc8 (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x10561afc8)
 #2 0x0000000105ab4ebc (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x10561cebc)
 #3 0x0000000180c85a24 (/usr/lib/system/libsystem_platform.dylib+0x18046da24)
 #4 0x0000000180c55cc0 (/usr/lib/system/libsystem_pthread.dylib+0x18043dcc0)
 #5 0x0000000180b61a40 (/usr/lib/system/libsystem_c.dylib+0x180349a40)
 #6 0x0000000180b60d30 (/usr/lib/system/libsystem_c.dylib+0x180348d30)
 #7 0x0000000105dea3ec (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x1059523ec)
 #8 0x0000000101429d28 (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x100f91d28)
 #9 0x000000010142a0ec (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x100f920ec)
#10 0x0000000100ee31fc (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x100a4b1fc)
#11 0x0000000100ed2b0c (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x100a3ab0c)
#12 0x0000000100ecc904 (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x100a34904)
#13 0x0000000100ef82d4 (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x100a602d4)
#14 0x0000000100f53a38 (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x100abba38)
#15 0x0000000100f546d8 (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x100abc6d8)
#16 0x0000000100f5af14 (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x100ac2f14)
#17 0x0000000100f51bf4 (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x100ab9bf4)
#18 0x0000000100f51b7c (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x100ab9b7c)
#19 0x0000000100f94ef0 (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x100afcef0)
#20 0x0000000100f7ca70 (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x100ae4a70)
#21 0x0000000100f51de4 (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x100ab9de4)
#22 0x0000000100f7fa58 (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x100ae7a58)
#23 0x0000000100824980 (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x10038c980)
#24 0x000000010063502c (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x10019d02c)
#25 0x000000010063494c (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x10019c94c)
#26 0x0000000100643f80 (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x1001abf80)
#27 0x0000000100637320 (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x10019f320)
#28 0x00000001006362e4 (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x10019e2e4)
#29 0x00000001004cfce0 (/Users/akuipers/Library/Developer/Toolchains/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swift-frontend+0x100037ce0)
#30 0x00000001808d50e0
[1]    70632 abort       -frontend -c LinkedHashMap.swift

Expected behavior
I'd expect this to compile. If my understanding of noncopyable types is correct then there should be no ownership issues, just as how it succeeds if one replaces T with Int.
Environment
❯ $TOOLCHAINS/swift-DEVELOPMENT-SNAPSHOT-2023-12-21-a.xctoolchain/usr/bin/swiftc -version
Apple Swift version 5.11-dev (LLVM 13124099c3f0229, Swift d6871edc839adec)
Target: arm64-apple-macosx14.0

Additional information
No response

CC: @jckarter @kavon

Possibly related, here is the first bug I was debugging before I discovered the crash:
struct Node<Value>: ~Copyable {
    var next: NodePointer<Value>
    var prev: NodePointer<Value>
    var value: Value
}

enum MaybeNode<Value>: ~Copyable {
    case some(Node<Value>)
    case none

    mutating func take() -> Self {
        let old = self
        self = .none
        return old
    }
}

final class NodePointer<Value> {
    var node: MaybeNode<Value>

    init(_ node: consuming Node<Value>) {
        self.node = .some(node)
    }

    func consume() -> Node<Value> {
        guard case .some(let node) = node.take() else {
            fatalError("Can't consumed value already taken.")
        }
        return node
    }
}

This fails to compile giving the following message:
swift:26:43: error: cannot partially consume 'unknown'
        guard case .some(let node) = node.take() else {
                                          ^
error: fatalError

Like the crash, this builds fine when the types are not generic


General refactoring

I've been staring at this code long enough, it's time to hit it with a hard hit of metaprogramming so it's not so bad.

@Cantido All the tests you wrote make this so awesome to do. Thanks!

I'm happy that they are paying off! That's what I wrote them for :smile_cat:

Watching https://codeclimate.com/github/indentlabs/Indent/compare/rapid-refactor is mighty fun :)

Doesn't refactoring code just feel great?

It does! :)


[Android] Prevent deeplinking from triggering the Webview

Hello,
I am currently trying to implement deeplinking into my react-native app, so users can get directed to the app when they click a link in an email.
My app uses a mix of webviews and native components. Essentially, there are two navigation routers (native and webview), and the app takes care of the navigation logic (should I redirect this page on the app level or on the webview level, should I show the webview or not, etc).
Here is the issue: when I click a link and my app opens, the Webview always redirects to that link (for some reason). It's strange, because I don't have any code written for this behavior - it just happens. That's a problem because I would like to handle this action myself. For example, 'My Profile' is a native component, so when a link to /profile is clicked I would like to navigate to the native 'My Profile' component - I don't want my Webview to redirect to /profile, which doesn't exist.
The handling of the link is easy enough using the Linking module of react-native, but the problem is that the Webview always kicks in and redirects to the link, which usually breaks the app. I would like to prevent the Webview from doing anything in this case, so I can handle the action myself.
Here is my Webview code:
<WebView
        source={{
          headers: this.props.headers,
          uri: this.initialUri,
        }}
        startInLoadingState={true}
        renderError={this.renderError}
        renderLoading={this.renderLoading}
        thirdPartyCookiesEnabled
        scrollEnabled={false}
        javaScriptEnabled={true}
        ref={this.webView}
      />

A common answer I see online is to use onNavigationStateChange to prevent the Webview from navigating:
<WebView
    onNavigationStateChange={navState => {
        console.log('nav state changed', navState)
        // I can use stopLoading() here to prevent the navigation
    }}
/>

However, strangely enough onNavigationStateChange does not fire in cases where a link is clicked. I expect to see the console.log when the Webview redirects me, but I don't, which means I can't prevent the Webview from loading the page.
Does anyone have any suggestions on how to solve this issue? Thanks in advance.

bump

Have you tried onShouldStartLoadWithUrl instead?

Sure, I just added this to the Webview:
onShouldStartLoadWithRequest={request => {
    console.log(request)
    return false
}}

However it doesn't seem to ever fire. I expect to see the console.log whenever a request is made, and I also expect the Webview to not load the request since I return false. However neither of these things happen.

I have no idea how you did your linking, but I don't think the webview would try to do this on its own 🤔

Yeah, it's a very strange behavior, and it happens even if I remove all my Linking logic... I'm still trying to find the piece of code that causes this to happen but I can't. My guess is this is a sneaky side effect caused by something totally unrelated. I guess I'll try doing this on a physical device and see if it also happens (I've only tried on the emulator so far).

Just tried it and I get the same result on a real device.

Yes, I can confirm that! We do the link handling ourselves but deeplinks like mailto: or tel: seem to ignore the false return value from onShouldStartLoadWithRequest

Need help on this, https://open.spotify.com/artist/4MCBfE4596Uoi2O4DtmEMz auto opens spotify :/

got the same, any progress?

Hey, my apologies, I actually solved this issue a long time ago but I forgot to come back and update the issue. I don't exactly remember what I did, but I do remember that it was a problem on my end that I had to fix. I will take a look at my git logs and give you an update if I find anything.

Need help on this, https://open.spotify.com/artist/4MCBfE4596Uoi2O4DtmEMz auto opens spotify :/

I don't think there's anything you can do in this case. If a user installed the Spotify app on their phone, then open.spotify.com is registered as a deeplink. A wonky solution might be to modify the DOM to change all open.spotify.com links to something else, not sure if that's possible but worth a try.

@TomerRon my sh*tty solution for Spotify was using an archived version of the webpage to prevent the deep link from triggering 😅 We’ll see how long that takes to break, haha.

@TomerRon , will you be posting your solution? I am in a situation where I have a solution that works for iOS but not Android.
So far I have done this:
<WebViewAutoHeight
                key={s.Body.substr(10)}
                source={{
                  //prettier-ignore
                  html: `<body style="font-family: -apple-system, Roboto, sans-serif; background-color: ${lightTheme.grey2} !important; color: ${v2Colors.charcoalDarkest}; font-size: ${moderateScale(14, 0.2)}px;">${s.Body}</body>`
                }}
                onShouldStartLoadWithRequest={request => {
                  console.log(request);
                  return false;
                }}
                onNavigationStateChange={event => {
                  if (Platform.OS === "ios") {
                    if (event.url !== uri) {
                      Linking.openURL(event.url);
                    }
                  }
                }}
              />

In the console log I get the following:
{ navigationType: 'other',
      canGoForward: false,
      canGoBack: false,
      title: 'about:blank',
      loading: true,
      url: 'https://qa.nfib.com/advocacy/taxes/',
      target: 2847 }

That's what I got when I clicked the deep link on Android, so at this point I am unclear of the logic that should go within onShouldStartLoadWithRequest.

Basically, any click that opens a new tab Webview will try to open that link in your mobile application if you have that application. For example, I was using Facebook in my Webview, and whenever I used to go to my save posts screen and click on one of my saved posts it used to open in my Facebook app. I solved this issue by setting this prop ==>  setSupportMultipleWindows={false}.


Progress element cannot be selected in Design Area

Technical
Profile: Mobile
Description
User cannot select added progress element in the Design Area. Only the structure view is available then.
Steps to reproduce

Create a new project in Design Editor
Add progress element
Save the file
Close and Reopen DE (until #368 is done).
Try to select progress element clicking on it

Expected behaviour
The progress element is selected.
Actual behaviour
Content element is selected.

This is TAU issue. I will transfer it to TAU and fix.


Bug 1945692: move entitlement related secrets back to mounts.conf

manual pick of https://github.com/openshift/builder/pull/238 needed
/assign @bparees

/lgtm

hitting the Error creating VPC: VpcLimitExceeded: The maximum number of VPCs has been reached. being discussed in 4-dev-triage

/hold
I'll unhold later this evening when all the AWS pruning underway finishes

/bugzilla refresh

/retest
/hold cancel

/bugzilla cc-qa

Today cannot install upi cluster, because of jenkins is down, will do it tomorrow

Launched a upi cluster with rhel node, tested it and build complete.
/lgtm
/label qe-approved

/lgtm


fix: use valueAxis minimum value instead of "1" on log axes

Brief Information
This pull request is in the type of:

[x] bug fixing
[ ] new feature
[ ] others

What does this PR do?
When using a log value axis, the layout is set to use 1 as the baseline value when it should be using the actual min value set on the axis (e.g. 0.1).
Fixed issues

Details
Before: What was the problem?

After: How does it behave after the fixing?

Document Info
One of the following should be checked.

[x] This PR doesn't relate to document changes
[ ] The document should be updated later
[ ] The document changes have been made in apache/echarts-doc#xxx

Misc
ZRender Changes

[ ] This PR depends on ZRender changes (ecomfe/zrender#xxx).

Related test cases or examples to use the new APIs
N.A.
Others
Merging options

[ ] Please squash the commits into a single one when merging.

Other information

Hi @Ovilia, is there anything I need to add to get this PR merged? :)


Loading json data can't show in c3js chart

I have four legend in my chart such as 'dept1','dept2','dept3','dept4'.
The main point what I want is, when I click 'dept1' legend, I want to load new data called 'SMV' into my chart.
Here is the code for chart.
chart = c3.generate({
				bindto: '#chart',
				data: {
					x: 'date',
					xFormat: '%Y-%m-%d',
					json:<?php echo json_encode($multi_data);?>,
					keys: {
						x: 'date',
			            value:	<?php echo json_encode($deptName)?>//['dept1','dept2','dept3','dept4']
					},
					type: 'line',
				},
				legend: {
					position: 'right',
					item: {
						onclick: function (d) {
								console.log("onclick", d);
								detail_report(d);
							}
						}
				},
				axis: {
					x: {
						type: 'timeseries',
						tick:{
							format: m_y_format,
							rotate: 75,
						},
                      }
           }
			});

The detail_report() function is used to get SMV data of each legend(Department) by using ajax. Here is the code:
function detail_report(d) {
			$.ajax({
				url: 'detail.php',
				type: 'post',
				data: {deptname:d},
				dataType: 'json',
				success: function(data) {
					console.log("success");
					var temp = "";
					if(data && data!="") {
						//console.log(JSON.stringify(data.total));
						//console.log(data.dept_smv);
						var smv_data = data.dept_smv;
						console.log(smv_data);
						show_smv(smv_data);
                                //.....other code
					}
				},
				error: function() {
					console.log("error");
				}
			});
			return true;
		}

In my detail.php, I calculate SMV data for each department and send back by json encode like this.

$query = "...";
$dept_smv = get_data($query);

function get_data($sql) {
	$date = array();
	$percent =  array();
	$rsl = array();
	.......
	.......
	//query to get date, dept_name, percent, moving_avg array etc.
	.......
	$rsl = "{'date':".json_encode($date).",'".$dept_name."':". json_encode($percent_arr).",'SMV':".json_encode($moving_avg)."}";
	return $rsl;
}

$total[] = ......; //other array not related dept_smv

echo json_encode(array('total'=>$total,'dept_smv'=>$dept_smv));

The dept_smv get from ajax is like this,
{'date':["2015-11-17","2015-11-23","2015-11-24","2015-11-25","2015-11-26","2015-11-27","2015-11-28","2015-11-29","2015-11-30","2015-12-01","2015-12-02","2015-12-03","2015-12-04","2015-12-05","2015-12-06","2015-12-07","2015-12-08","2015-12-09","2015-12-10","2015-12-11","2015-12-12","2015-12-13","2015-12-14","2015-12-15","2015-12-16","2015-12-17","2015-12-18","2015-12-19","2015-12-20","2015-12-21","2015-12-22","2015-12-23","2015-12-24","2015-12-25","2015-12-26","2015-12-27","2015-12-28","2015-12-29","2015-12-30","2015-12-31","2016-01-01","2016-01-02","2016-01-03","2016-01-04","2016-01-05","2016-01-06","2016-01-07","2016-01-08","2016-01-09","2016-01-10","2016-01-11","2016-01-12","2016-01-13","2016-01-14","2016-01-15","2016-01-16","2016-01-17","2016-01-18","2016-01-19","2016-01-20","2016-01-21","2016-01-22","2016-01-23","2016-01-24","2016-01-25","2016-01-26","2016-01-27","2016-01-28","2016-01-29","2016-01-30","2016-01-31","2016-02-01","2016-02-02","2016-02-03","2016-02-04","2016-02-05","2016-02-06","2016-02-07","2016-02-08","2016-02-09","2016-02-10","2016-02-11","2016-02-12","2016-02-14","2016-02-15","2016-02-16","2016-02-18"],'dept1':["0.00","71.43","66.67","67.44","73.17","65.85","87.50","81.82","64.29","64.29","69.77","72.09","73.17","60.00","83.33","75.00","75.61","63.41","78.95","68.29","76.92","63.64","82.50","66.67","61.90","60.94","70.37","58.33","66.67","73.81","74.42","73.81","66.67","76.19","78.57","33.33","53.85","65.79","80.56","77.78","42.86","25.00","83.33","55.26","69.77","75.00","60.00","80.49","76.92","60.00","65.91","66.67","78.57","60.47","65.85","47.37","42.86","60.00","62.79","75.00","55.00","65.85","68.75","85.71","53.66","78.05","78.57","83.33","61.90","70.37","75.00","66.67","67.50","63.16","62.86","71.79","43.75","42.86","72.22","0.00","50.00","100.00","100.00","0.00","0.00","0.00","0.00"],'SMV':[null,null,null,null,null,null,null,73.411428571429,72.391428571429,72.051428571429,72.384285714286,72.23,73.275714285714,69.347142857143,69.562857142857,71.092857142857,72.71,71.801428571429,72.781428571429,72.084285714286,74.501428571429,71.688571428571,72.76,71.482857142857,71.267142857143,68.694285714286,68.991428571429,66.335714285714,66.768571428571,65.527142857143,66.634285714286,68.335714285714,69.154285714286,69.985714285714,72.877142857143,68.114285714286,65.262857142857,64.03,64.994285714286,66.581428571429,61.82,54.167142857143,61.31,61.511428571429,62.08,61.285714285714,58.745714285714,64.121428571429,71.538571428571,68.205714285714,69.727142857143,69.284285714286,69.794285714286,69.861428571429,67.77,63.548571428571,61.1,60.255714285714,59.701428571429,59.191428571429,58.41,58.41,61.464285714286,67.585714285714,66.68,68.86,69.37,73.417142857143,72.852857142857,73.084285714286,71.554285714286,73.412857142857,71.905714285714,69.704285714286,66.78,68.192857142857,64.39,59.798571428571,60.591428571429,50.948571428571,49.068571428571,54.374285714286,58.404285714286,52.154285714286,46.031428571429,35.714285714286,35.714285714286]}
I use show_smv() function to show SMV data. But that data(SMV) are not rendered in chart and I don't get any error. Here is my show_smv() function,
function show_smv(smv_data) {
			console.log(smv_data);//argument are came form dept_smv data of detail_report() function
			chart.load({
				bindto:'#chart',
				data: {
					x: 'date',
					xFormat: '%Y-%m-%d',
					json: smv_data,
					keys: {
						x: 'date',
						value: <?php echo json_encode($dept_smv);?>,['dept1','dept2','dept3','dept4','SMV']
					},
					type:'line'
				},
				axis: {
					x: {
						type: 'timeseries',
						tick:{
							format: '%Y-%m-%d',
							rotate: 75,
						},
						label: {
							text: 'Date',
							position: 'outer-center',
						},
						height: 100,
					}
                               }
			});
		}

I don't know which part is wrong in my code. I'm appreciate for any suggestion.

Hi there! We try to keep the issue queue clear for specific code-related problems with C3, could you please try asking your question on either the Google Group or Gitter instead? Thank you!


Shipping V2

Which API - Endpoint is your request about.
I would need to add the shipping v2 endpoints.
Shipping api v2
Additional context
I have no problem implementing them myself and making a pull request. But I have doubts about how to combine shipping v1 and v2, in a way that you can see clearly. I have seen that in FulfillmentInbound, you mix in the same class, but in this case v2 has methods that do not exist in v1 or the opposite...
mapping api
Options that could be used:

shipping/shipping.py with new class ShippingV2
shipping/shippingV2.py with class Shipping
shipping/v2/shipping.py with class Shipping
shipping/shipping.py with class Shipping and method with suffix name v2

what do you think ?
Thanks

Hi! @saleweaver can you check this issue, please. Also planning to implement ShippingV2 into the framework

I've added the pull request, in case you're interested.

Hi! @saleweaver can you check this issue, please. Also planning to implement ShippingV2 into the framework


SOLR-15124 Remove container level admin handlers from ImplicitPlugins.json

https://issues.apache.org/jira/browse/SOLR-15124

Description
Please provide a short description of the changes you're making with this pull request.
Solution
Please provide a short description of the approach taken to implement your solution.
Tests
Please describe the tests you've developed or run to confirm this patch implements the feature or solves the problem.
Checklist
Please review the following and check all that apply:

[ ] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[ ] I have created a Jira issue and added the issue ID to my pull request title.
[ ] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
[ ] I have developed this patch against the main branch.
[ ] I have run ./gradlew check.
[ ] I have added tests for my changes.
[ ] I have added documentation for the Reference Guide

Looks like you didn't run all tests since this fails consistently:
gradlew :solr:core:test --tests "org.apache.solr.handler.admin.LoggingHandlerTest.testLogLevelHandlerOutput" -Ptests.jvms=8 -Ptests.jvmargs=-XX:TieredStopAtLevel=1 -Ptests.seed=8779CE617BA89580 -Ptests.file.encoding=ISO-8859-1

Also, I keep forgetting this, but we have a major-changes-in-solr-9.adoc which should have noticeable changes like this (even though not "major").


[8.x] Option to use table names when morphing

This PR introduces a new method to instruct Laravel to use table names instead of class names when storing records in polymorphic tables. Typically this method can be called in the register method of your AppServiceProvider:
Relation::morphUsingTableNames();

Not much else to say about this one 😅

This change was tried last year and it doesn't work with MorphTo relations and was decided it was impossible to work without a Morph map.
https://github.com/laravel/framework/issues/35519

One doubt: how would retrieving from the database would work? From the code changes it is not clear to me.
If we still need to use a morph map for retrieving related polymorphic models, wouldn't this be unneeded as the check occurs after checking if a morph map is being used?
Sorry if I am missing something obvious on this.

Well, reverting.

@taylorotwell To work around this issue, an alternative is to scan the models and auto-register the morph map when booting the framework.
See https://github.com/sebastiaanluca/laravel-auto-morph-map for a working example. Only drawback is the scanning of models part. Could probably be optimized.
What's supported:

Auto-registers morph map for all models
You can override existing ones with your own definitions using the regular ::morphMap() method
Caching for the model names
Ability to configure name (singular table, full table, or class name) and casing (snake, slug, camel, studly, none)

Interested in feedback!


Error starting dev mode: node-fibers error

Following the instructions in the README gives me this error when running npm start:
This was on Node v0.11.16 with v2.3.0. I also tried with Node v6.3.0 and got the same error.
mike@THRPC-028:~/dev/crater_debug$ npm start

><EMAIL_ADDRESS>start /home/mike/dev/crater_debug
> NODE_ENV=development node src/server/index.js

/home/mike/.meteor/packages/meteor-tool/.1.4.1_1.183vrcm++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/fibers.js:16
        throw new Error('`'+ modPath+ '.node` is missing. Try reinstalling `node-fibe
              ^
Error: `/home/mike/.meteor/packages/meteor-tool/.1.4.1_1.183vrcm++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/bin/linux-x64-v8-3.28/fibers.node` is missing. Try reinstalling `node-fibers`?
    at Object.<anonymous> (/home/mike/.meteor/packages/meteor-tool/.1.4.1_1.183vrcm++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/fibers.js:16:8)
    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)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/home/mike/dev/crater_debug/meteor/.meteor/local/build/programs/server/boot.js:1:75)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)

Ah, there may be something I forgot about when i was first setting up my project.  Try running npm rebuild.  Also, I've only tested it on Node 5 so far.

Just tried with Node 5.12.0. Same problem. I'm going to blow away my meteor install and try again to see if it's something to do with my ~/.meteor folder.

Okay, now I understand -- since Meteor controls that folder it's only building fibers for the version of Node that Meteor is using.  So if you're using a different version than Meteor does you'll have to rebuild it manually.  This fixed the issue for me:
/home/mike/.meteor/packages/meteor-tool/.1.4.1_1.183vrcm++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib
npm rebuild fibers

Maybe I can eventually dig deeper into what Meteor's boot.js does and make my package do essentially the same thing without running it, so that it has control over what node versions these packages are built for.

Awesome! That works. Works on Node 6.3.0 too.
I assume you'd have to rebuild every time you change a node version, right?
Does running that rebuild potentially cause problems for other meteor apps that also use meteor <IP_ADDRESS>? Or should I only use the exactly node version that meteor is using?
Thanks!

If you ls node_modules/fibers/bin in that directory, you'll see that it keeps around binaries for various versions of node (the versions in the binary file names don't correspond directly to node versions, I think they correspond to v8 versions or something related).  So if you have to rebuild for a different node version, you'll only have to do it before using that node version for the first time (or, since the Meteor version is in that folder name, probably when you change meteor versions as well)
But I'm sure the binaries don't have to be rebuilt for every minor change...I'm not 100% sure how they semver it because it seemed like I had to rebuild binaries when switching from 6.3.0 to 6.5.0.
Also, you can actually just run npm rebuild without any specific package.

I'd officially recommend using Node 4, since that's what Meteor 1.4 uses and 4 is the long-term support version...but I use Node 5 in most of my projects right now.

I put instructions about this in the readme, so I'm closing this


Removed the "Buttons"

Issue:
I have removed the "Buttons" from the labels as it was asked.

Thank you but someone else was assigned to this


Quick Question : Regarding $ref to external files

I have come across a section in swagger specification that we can use $ref to external files as
1 ) Relative Schema File Example
2 ) Relative Files With Embedded Schema
So the question is if we have format like $ref:"../common/shared.yaml#/definitions/MyObj' is it necessary that shared.yaml is a complete swagger file or could just be some yaml/json file with some definitions ? What is the assumption around the external references.
Thanks in advance

A reference can be to any json/yaml file, it doesn't need to be a full API definition.


Wrong suggestion for Performance/Count

Given the following code in a Rails project.
class Expense < ActiveRecord::Base
  has_many :shares
  def all_shares_mutable?
    shares.select(&:mutable?).size == shares.size
  end
end

Running rubocop will report this with "Use count instead of %s...%s`",
However, shares is an ActiveRecord::Associations::CollectionProxy and
its .count is not similar to select...size. count uses the database and
will disgregard any objects in the collection that live only in memory.
Whereas the select...size version does include all items both in
memory and in database.
So, refactoring to:
  def all_shares_mutable?
    # .to_a is called to include the shares that are not persisted. .count
    # on a Collection goes through the database only.
    shares.to_a.count(&:mutable?) == shares.size
  end

Does work. And is arguably better than select...size, but probably
not more performant.
One could argue that this is a problem with CollectionProxy not being
fully compliant with Enumerable. This is why I chose to refactor with a
to_a, in order to get a fully compliant Array.
It took me a while of digging to find out why Rubocops suggestion broke
my code. Hope this might help others when encountering the same.
Here are two unit-tests (minitest) that can be used to reproduce the differences:
test "mutable? is true when all shares are mutable" do
  share = subject.shares.build
  share.stubs(:mutable?).returns(true)
  assert_equal true, subject.mutable?
end

test "mutable? is false when a share is not mutable?" do
  mutable_share = subject.shares.build
  mutable_share.stubs(:mutable?).returns(true)
  immutable_share = subject.shares.build
  immutable_share.stubs(:mutable?).returns(false)
  assert_equal false, subject.mutable?
end

Can someone come up with a "recommended configuration" for Rails projects which disables cops which may tend to break Rails code? We could post it somewhere and point people to it.

@alexdowad: I like that idea. :+1:
@berkes: Is there a reason you can't do: shares.all?(&:mutable?)?

@Drenmi Enumerable.all is indeed a great suggestion and would be a very good replacement for my specific case. It does exactly what I want:
shares.to_a.count(&:mutable?) == shares.size
can become:
shares.all?(&:mutable?)
However, Rubocop focused on shares.size(&:mutable?).count and -rightfully- considered this suboptimal code. As you've proved, there is an elegant solution. And could probably be made into another cop.
But the solution put forward by Rubocop is still wrong within ActiveRecord Collections in Rails projects (Or Rails is wrong in its implementation of count, I'll leave that in the middle).


No entities

Hello, after installing and setting up this integration.  I have successfully logged in but no sensor has been added to HA.  This is all that shows under devices and integrations now.

Any help would be appreciated, got a new born and a babybrezza would love to get this in HA!

That symptom sounds similar to Issue #1 , and that mentions how to enable additional logging.
I hope you get this working, from one very happy user to another :)

Thanks for the tip, that was easy enough.  I had a bottle that was water only so I hadn't set the formula setting, got rid of it and everything is working great now.  Thank you!
Error while setting up fpa platform for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 249, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/fpa/sensor.py", line 39, in async_setup_entry
await api.connect_to_device(device.device_id)
File "/usr/local/lib/python3.9/site-packages/pybabyfpa/init.py", line 351, in connect_to_device
await self.get_device_details(device_id)
File "/usr/local/lib/python3.9/site-packages/pybabyfpa/init.py", line 331, in get_device_details
device.update_details(j)
File "/usr/local/lib/python3.9/site-packages/pybabyfpa/init.py", line 157, in update_details
self.bottles = [FpaBottle(b) for b in json["bottles"]]
File "/usr/local/lib/python3.9/site-packages/pybabyfpa/init.py", line 157, in
self.bottles = [FpaBottle(b) for b in json["bottles"]]
File "/usr/local/lib/python3.9/site-packages/pybabyfpa/init.py", line 59, in init
self.formula = FpaFormula(json["formula"])
KeyError: 'formula'


Performance feature lookup

Since features are in memory, use that instead of hitting the database.
This also fixes a bug where hidden features were still displayed
and fixes a bug where sibling features were still displayed.
empty dashboard - 3rd refresh - saves 38 sql queries and 60ms per page.
Rendering Before|time|queries|db time
---|---|---|---|---
layouts/_page_header_navbar|58.4ms|43 sql|8.0ms
Response|328ms
Rendering After|time|queries|db time
---|---|---|---|---
layouts/_page_header_navbar|10.2ms|3 sql|0.6ms
Response|285ms
/cc @jrafanie @Fryguy @dmetzger57 here you go
/cc @h-kataria thanks for help

fixed cops

@Fryguy @chessbyte suggestions on making easier to merge? feature_children and feature_details had a bug that was not hiding hidden nodes. Also there is a performance fix here.

http://localhost:3000/vm_infra/explorer 12vms production mode

rendering before
time
queries
db time

explorer
233ms
41
21.6ms

user_options
3ms
1
0.3ms

page_header_navbar
65ms
41
7.4ms

x_taskbar
83ms
27
6ms

adv_search_body
3ms
1
0.3ms

rendering after
time
queries
db time

explorer
190ms
38
19.8ms

user_options
3ms
1
0.3ms

page_header_navbar
7ms
1
0.2ms

x_taskbar
12.9ms
0
0ms

adv_search_body
2.3ms
1
0.4ms


Update CHANGELOG and VERSION for v3.56.0

v3.56.0 (2023-10-05)
Full Changelog
Security

Upgrade libc packages in Ubuntu 22.04 docker image to those patched for CVE-2023-4911 #2410 (@triarius)

Added

Add allow-repositories param to enable repository allow-listing #2361 (@david-poirier)

Changed

Upgrade pre-installed packages in docker images #2410 (@triarius)
Add Matrix parsing #2382 (@DrJosh9000)
Add EXPERIMENTAL: to the help text for all pipeline signing flags #2412 (@moskyb)

Fixed

Fix parsing pipelines what use a string as the skip key in a matrix adjustment #2407 (@moskyb)

Internal

Fix flaky TestLockFileRetriesAndTimesOut #2392 (@DrJosh9000)
Fix apt install awscli #2390 (@moskyb)
Fix incorrect check in a test 😅 #2381 (@DrJosh9000)
Run createrepo_c on ubuntu #2385 #2389 (@moskyb)
Update dependabot config to use groups #2384 (@moskyb)
Fix some typos in code comments #2380 (@testwill)

And (a slightly larger?) than usual amount of (@dependabot[bot]) updates #2369 #2371 #2372 #2373 #2377 #2378 #2383 #2386 #2387 #2397 #2398 #2399 #2400 #2401 #2402 #2403 #2405

I've added https://github.com/buildkite/agent/pull/2412 to the release.


Add baselitex nexus design for Lattice crosslink parts

lifcl-40 works.   lifcl-17 works with current master nextpnr-nexus
but not with the version provided by Conda in this repo, so it's disabled.
The LiteX source was hand-modified to work with both lifcl-40 and -17,
by removing the PLL and driving sys_clock directly from the OSCA.
Signed-off-by: Tim Callahan<EMAIL_ADDRESS>

@acomodi - PTAL.


os: Process finalizer should wait for process on Unix systems

The os package sets a finalizer on all Process values.  Currently, on Unix, that finalizer does nothing useful.  It should probably call wait on the process if that has not already been done, to remove the otherwise zombie process.

SGTM. But if we have so many child processes, would that inflates the
number of OS threads to wait them? Perhaps we need to make the runtime
handles this better (e.g. lazily start a dedicated OS thread to do wait(2)).

Too late for Go 1.10, but I'd love to see this done by the runtime at some point. Zombie accumulation is one of my top 10 Go bugs. It's easy to diagnose and fix, but I wonder how many people don't do either.