Fix date picker doesn't resolve date correctly

Fixed issue raised in issue 257. Closed the previous PR since it was on master branch

I have reproduced the Today problem, and verified this fixes it. I have merged your changes into my branch, along with all the other pending changes to Florents original 'fork', along with some of my own changes + extensions. Thx for the fix.
https://github.com/arberg/SingleDateAndTimePicker

Obsolete if #267 gets merged.

will close this PR as @arberg merged the fixes in #267 already

the  #267 has been merged and a new version is available !


Robust memory redux (GPU side only)

Initial cut of robust memory for the WGSL port. This currently only handles the GPU side but is missing reading/writing the spilled blend stack in fine.

This is incomplete but functional so pending review from @raphlinus, I think we should actually land this to avoid potential merge conflicts.

I think these bail out checks could do with an explanatory comment; something along the lines of
// Exit early if prior stages failed, as we can't run this stage
// We need to check only prior stages, as if this stage has failed in another workgroup,
// we still want to know this workgroup's memory requirement

This should be good to go now.


Kana: incorrect license

Problem
Kana package has gpl3Only not gpl3Plus (link). At least the link says so, I'm not sure.
Edit: meson.build says the license is gpl3Plus. So I'm not at all sure now. I think the issue can be solved and redirected to the developer for them to solve this license inconsistency.
Checklist

[x] checked source
[x] checked open documentation issues for possible duplicates
[x] checked open documentation pull requests for possible solutions

Add a :+1: reaction to issues you find important.

So, as I said in the edit section, situation with the license is unclear. I'm trying to package another app from this developer, and it has the same problem with license, so I would like to know what license should I put in meta.

The source code says GPL-3.0-or-later, I trust it more than some auto-detections on GitLab.

The source code says GPL-3.0-or-later, I trust it more than some auto-detections on GitLab.

Oh, I see, thanks. I think mentioning "or-later" in source code makes it gpl3Plus without doubt. I'll close the issue.


Double scrobbling on Mixcloud

Mixcloud supports scrobbling natively, but #358 added it to web-scrobbler as well.
If you have both, everything gets double scrobbled :unamused:
I'm not sure how best to handle this?
Perhaps we could detect if native scrobbling is set up; is there a precedent for such a feature in any other connectors?

Alternatively disable web-scobbler from the options ;)

The same can be said of 8tracks and IndieShuffle. Wondering if, down the line, we should implement a little prompt that asks whether you want to disable scrobbling for site X, because site X has native scrobbling.

We can have a notification with button to disable the connector on a single click.
The tricky part is figuring out whether or not the user has native scrobbling enabled. We need that information on every page that is supported for scrobbling. Also it may be based on user's settings for given service and it does sound a little like privacy invasion when we would read the settings, even only to check for scrobbling.
Another way would be some flag for connector, that the page may have native scrobbling, which would make notification show up on each visit until the user decides if he wants to disable the connector or keep it. (With that the notification would have two buttons.)
What do you think?

I agree that it might be a bit intrusive to actively gauge whether the user is logged in/natively scrobbling or not.
I'd just have a notification that says something like:

ThisSite.com users can directly scrobble songs to Last.fm, without the Last.fm extension
[ Alright, disable extension on ThisSite.com ] or [ Nevermind, carry on scrobbling via extension ]

Sites that definitely have scrobbling:

8tracks
IndieShuffle
MixCloud
Spotify

I never remember to turn off scrobbling for Spotify until it's too late. And above all, there are two connectors enabled by default, neither of which I need.
I think it'd be fine to ask once to disable scrobbling the site on the first play. Maybe even check if the song is already playing on lastfm (after several seconds) and only then show the notification. Kinda hacky, but most people won't play the same song twice on the first visit, I guess. If the user ignores the message, just keep scrobbling and remind him after a while (probably on next launch or so).

"I never remember to turn off scrobbling for Spotify until it's too late." - You should disable the Spotify connector in options.

I'm with @fedorg's view on this, specifically the 'ask once' one sites with native scrobbling part.
@Paszt I think the point is that (at least @fedorg and myself) are arguing is that:
One tends to only realize they need to disable the connector, when they see duplicate scrobbles in their Last.fm library. At this time it's "too late" in the sense that the user must then go and manually delete the duplicate scrobbles.

I'm still not sure if the case is as strong as you say. If you always remember after it's too late, then you realize that you were double-scrobbling, but didn't disable the connector, so it happens again the next time, right?
I think the easiest thing we can do is some flag on connectors definitions and then that notification @janbaykara was talking about. But still, the default state should be enabled for all connectors.

@david-sabata I agree with you on the flag on the connector def to state the ones which have native scrobbling and push a notification on the first time visiting. @janbaykara are you working on this?

@inverse Nope, entirely forgot!

Closed in favor of #1375.


chore: Update to match internal repo

Features

Audio player, Camera view, Video player, Star rating, Interactive viewer, Speed scroll list, Add semantics to SplitTabNavigator (8c86b9c)
Chat attachment widget. (https://github.com/zebrafed/zds_flutter/issues/9) (3e8dc02)
Chat mesage and Text message (https://github.com/zebrafed/zds_flutter/issues/4) (f968905)
Chat message attachment preview (https://github.com/zebrafed/zds_flutter/issues/8) (53ccbcf)
Chat message audio / voice note (https://github.com/zebrafed/zds_flutter/issues/13) (54a805e)
Chat message link preview (https://github.com/zebrafed/zds_flutter/issues/6) (1a85522)
Chat message react / tag pills (https://github.com/zebrafed/zds_flutter/issues/7) (8089766)
DialPad (https://github.com/zebrafed/zds_flutter/issues/14) (1263ce8)
update to Flutter >= 3.16 (8f840ee)

should this be "chore:" or should this be "feat:"?

should this be "chore:" or should this be "feat:"?

If only "feats" was an option... I guess feat is more appropriate
This whole PR is the antithesis of a Conventional commit so release please will be a bit broken anyway


SendCode (Sublime Text) Cmd-Enter on blank line leads to exception

Hey,
i am not sure whether this is rtichoke, prompt_toolkit, SendCode or my own fault, but when send a blank line to rtichoke from Sublime Text using SendCode i get the following error in rtichoke:
Unhandled exception in event loop:
  File "/usr/local/lib/python3.6/site-packages/lineedit/deps/prompt_toolkit/eventloop/posix.py", line 154, in _run_task
    t()
  File "/usr/local/lib/python3.6/site-packages/lineedit/deps/prompt_toolkit/eventloop/context.py", line 115, in new_func
    return func(*a, **kw)
  File "/usr/local/lib/python3.6/site-packages/lineedit/deps/prompt_toolkit/application/application.py", line 548, in read_from_input
    self.key_processor.process_keys()
  File "/usr/local/lib/python3.6/site-packages/lineedit/deps/prompt_toolkit/key_binding/key_processor.py", line 272, in process_keys
    self._process_coroutine.send(key_press)
  File "/usr/local/lib/python3.6/site-packages/lineedit/deps/prompt_toolkit/key_binding/key_processor.py", line 179, in _process
    self._call_handler(matches[-1], key_sequence=buffer[:])
  File "/usr/local/lib/python3.6/site-packages/lineedit/deps/prompt_toolkit/key_binding/key_processor.py", line 321, in _call_handler
    handler.call(event)
  File "/usr/local/lib/python3.6/site-packages/lineedit/deps/prompt_toolkit/key_binding/key_bindings.py", line 78, in call
    return self.handler(event)
  File "/usr/local/lib/python3.6/site-packages/rtichoke/keybindings.py", line 207, in _
    shouldeval = data[-1] == "\n" and len(event.current_buffer.document.text_after_cursor) == 0

Exception string index out of range
Press ENTER to continue...

This happens to me quite often when i step through scripts because i use empty lines to keep things tidy.
Thanks for the good work!

Thanks for the report. It is now fixed in the master.
I will make a release soon.

Wow that was quick! Thank you so much!

i would like to support your project. PayPal has quite large fees for me from Switzerland (~3$ for a 10$ donation with my credit card). Liberapay, which i discoverd on this repo, seems like a great project and promises lower fees. However I can't make a donation to your account yet.

v0.2.2 is out :)
Thank you for considering a donation. I have just finished the setup with Liberapay. Please try again. Liberapay runs on a different model which doesn't support one-time donation though.
Hooray.

BTW, don't feel bad if you cannot find a way to donate. Your feedback is more valuable than any donations.


Any change this is going to be maintained again?

hey @mat-mo , any change you are picking this up again?
Would love to be able to use miniflux on my yunohost installation...

Hi, Sorry i have stopped using it some time ago, and will not maintain it. I have migrated to next could's rss reader called news (https://apps.nextcloud.com/apps/news)


feat(button): add button type input

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

[x] The commit message follows our
guidelines: https://github.com/goetzrobin/spartan/blob/main/CONTRIBUTING.md#-commit-message-guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

Which package are you modifying?

[ ] accordion
[ ] alert
[ ] alert-dialog
[ ] aspect-ratio
[ ] avatar
[ ] badge
[x] button
[ ] calendar
[ ] card
[ ] checkbox
[ ] collapsible
[ ] combobox
[ ] command
[ ] context-menu
[ ] data-table
[ ] date-picker
[ ] dialog
[ ] dropdown-menu
[ ] hover-card
[ ] icon
[ ] input
[ ] label
[ ] menubar
[ ] navigation-menu
[ ] pagination
[ ] popover
[ ] progress
[ ] radio-group
[ ] scroll-area
[ ] select
[ ] separator
[ ] sheet
[ ] skeleton
[ ] slider
[ ] sonner
[ ] spinner
[ ] switch
[ ] table
[ ] tabs
[ ] textarea
[ ] toast
[ ] toggle
[ ] tooltip
[ ] typography

What is the current behavior?

# template
<button hlmBtn>Spartan!</button>

# rendered
<button hlmbtn class="...">Spartan!</button>

What is the new behavior?
# template
<button hlmBtn>Spartan!</button>

# rendered
<button hlmbtn type="button" class="...">Spartan!</button>

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

I guess that was to quick. This should only be applied to an actual <button> element, however, hlmBtn could be applied to an a tag too.


[dart2wasm] Build fails with subcommand failed

Building the sdk with the command : ./tools/build.py --no-goma --mode release --arch x64 create_sdk fails with the error:
FAILED: vm_platform_strong.dill vm_outline_strong.dill
python3 ../../build/gn_run_binary.py compiled_action ../../tools/sdks/dart-sdk/bin/dart -Dsdk_hash=31a04ec70c --packages=../../.dart_tool/package_config.json --dfe=../../tools/sdks/dart-sdk/bin/snapshots/kernel-service.dart.snapshot ../../pkg/front_end/tool/_fasta/compile_platform.dart dart:core -Ddart.vm.product=false -Ddart.isVM=true --nnbd-agnostic --single-root-scheme=org-dartlang-sdk --single-root-base=/home/shikhar/Documents/Code/dart/dart-sdk/sdk/ org-dartlang-sdk:///sdk/lib/libraries.json vm_outline_strong.dill vm_platform_strong.dill vm_outline_strong.dill
Command failed: /home/shikhar/Documents/Code/dart/dart-sdk/sdk/tools/sdks/dart-sdk/bin/dart -Dsdk_hash=31a04ec70c --packages=../../.dart_tool/package_config.json --dfe=../../tools/sdks/dart-sdk/bin/snapshots/kernel-service.dart.snapshot ../../pkg/front_end/tool/_fasta/compile_platform.dart dart:core -Ddart.vm.product=false -Ddart.isVM=true --nnbd-agnostic --single-root-scheme=org-dartlang-sdk --single-root-base=/home/shikhar/Documents/Code/dart/dart-sdk/sdk/ org-dartlang-sdk:///sdk/lib/libraries.json vm_outline_strong.dill vm_platform_strong.dill vm_outline_strong.dill
output: ../../pkg/dart2wasm/lib/kernel_nodes.dart:294:26: Error: This requires the experimental 'records' language feature to be enabled.
Try passing the '--enable-experiment=records' command line option.
  late final Map<Member, (Extension, ExtensionMemberDescriptor)>
                         ^
../../pkg/dart2wasm/lib/kernel_nodes.dart:297:3: Error: This requires the experimental 'records' language feature to be enabled.
Try passing the '--enable-experiment=records' command line option.
  (Extension, ExtensionMemberDescriptor) extensionOfMember(Member member) {
  ^
../../pkg/dart2wasm/lib/intrinsics.dart:464:13: Error: Expected an identifier, but got '('.
Try inserting an identifier before '('.
      final (ext, extDescriptor) = translator.extensionOfMember(target);
            ^
../../pkg/dart2wasm/lib/intrinsics.dart:464:13: Error: Expected ';' after this.
      final (ext, extDescriptor) = translator.extensionOfMember(target);
            ^
../../pkg/dart2wasm/lib/intrinsics.dart:464:14: Error: Expected ';' after this.
      final (ext, extDescriptor) = translator.extensionOfMember(target);
             ^^^
../../pkg/dart2wasm/lib/intrinsics.dart:464:17: Error: Expected an identifier, but got ','.
Try inserting an identifier before ','.
      final (ext, extDescriptor) = translator.extensionOfMember(target);
                ^
../../pkg/dart2wasm/lib/intrinsics.dart:464:17: Error: Unexpected token ','.
      final (ext, extDescriptor) = translator.extensionOfMember(target);
                ^
../../pkg/dart2wasm/lib/intrinsics.dart:464:19: Error: Expected ';' after this.
      final (ext, extDescriptor) = translator.extensionOfMember(target);
                  ^^^^^^^^^^^^^
../../pkg/dart2wasm/lib/intrinsics.dart:464:32: Error: Expected an identifier, but got ')'.
Try inserting an identifier before ')'.
      final (ext, extDescriptor) = translator.extensionOfMember(target);
                               ^
../../pkg/dart2wasm/lib/intrinsics.dart:464:32: Error: Unexpected token ')'.
      final (ext, extDescriptor) = translator.extensionOfMember(target);
                               ^

I believe this is due to a recent commit.

Sometimes when you pull commits you also need to run gclient sync to bring your checkout into consistent state.
This sort of error indicates that .dart_tool/package_config.json is outdated (using wrong language version). This file is generated by gclient runhooks which is run by gclient sync.


commas in descriptions

In the text field underneath the wallet name, if I put a comma at the end, restarting multibit removes the comma.  If I put a comma in the middle of the description the entire description is deleted when I restart.
Please fix input validation: I expect invalid input to be handled immediately, with a warning, not silently on a restart (losing the other data I typed).

I confirmed this issue applies to MultiBit-0.3.0-beta3 and 0.3.0-beta5.


Why did you use Paho instead of aws iot js sdk?

Why not use the aws library or mqtt library itself?

Well, I was following the sample code here: http://docs.aws.amazon.com/iot/latest/developerguide/protocols.html
I am not those would run in the browser, I should try!


TransferFrom don't check the sender, with function internal _msg.sender() like doit tranfer!!!

https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/blob/c0b9fd6e81c00000dc0749aa116a7735f0d35fe3/contracts/token/ERC20/ERC20Upgradeable.sol#L159
If you verify the flow of the TransferFrom function, you can verify how _transfer is called and not transfer, the sender is not validated at any time with the _msg.sender () function, which in theory allows transferring from another address and make the transfer if said address is allowed to do so, a situation that should not arise!
I may be overlooking something but it caught my attention by following the flow that this verification was not done, which in the transfer function it is done!

Hi @alfredolopez80, thanks for your question. This is hard to see but if msg.sender doesn't have allowance the function will revert when we attempt to subtract the transferred amount from the current allowance in the following line.
https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/blob/c0b9fd6e81c00000dc0749aa116a7735f0d35fe3/contracts/token/ERC20/ERC20Upgradeable.sol#L160

Hi @alfredolopez80, thanks for your question. This is hard to see but if msg.sender doesn't have allowance the function will revert when we attempt to subtract the transferred amount from the current allowance in the following line.
https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/blob/c0b9fd6e81c00000dc0749aa116a7735f0d35fe3/contracts/token/ERC20/ERC20Upgradeable.sol#L160


cloud_provider = gce NOT WORKING

I deploy with kubespray deploy --gce -u ubuntu -n calico, the k8s cluster is setup but not configured with GCE.  Therefore, it could not auto-provision load-balancer, volume,... on GCE.
kubelet / apiserver / controller-manager /... not configured with cloud-provider flag.
I try to check kubespray code and see it:
{% if cloud_provider is defined and cloud_provider in ["openstack", "azure", "vsphere"] %}
KUBELET_CLOUDPROVIDER="--cloud-provider={{ cloud_provider }} --cloud-config={{ kube_config_dir }}/cloud_config"
{% elif cloud_provider is defined and cloud_provider == "aws" %}
KUBELET_CLOUDPROVIDER="--cloud-provider={{ cloud_provider }}"
{% else %}
KUBELET_CLOUDPROVIDER=""
{% endif %}

Don't know why it's not configured if cloud_provider == gce ??

the python cli is a contrib project, reopen the issue on its github repo:
https://github.com/kubespray/kubespray-cli

Kubespray (ansible playbook) does not work with GCE provider, whatever you use it directly (run ansible-playbook) or run it via kubespray-cli. Therefore it's a bug in kubespray code(playbook), not in kubespray-cli code!

yes it's a bug!

The upstream bug is https://github.com/kubernetes/kubernetes/issues/44254

facing same issue. getting 'no volume plugin matched' while creating pvc with storage class provisioner 'kubernetes.io/gce-pd'.


FT - Program Year Limits

User Story
As a student, I am subject to a number of program year totals within my financial aid assessment. Some, like the award program year limits, have already been worked on and identified by PT assessment. New items we need to be saved and persisted across future applications just like PY limits.
Acceptance Criteria
For every FT assessment we need to save the following variables to workflow data to be used in other applications in the same program year:

[ ] calculatedDataExemptScholarshipsBursaries
[ ] calculatedDataSpouseContributionWeeks
[ ] calculatedDataTotalFederalFSC
[ ] calculatedDataTotalProvincialFSC

Provide a way in Camunda to access these variables and use in calculations:

[ ] programYearTotalScholarshipsBursaries
[ ] programYearTotalSpouseContributionWeeks
[ ] programYearTotalFederalFSC
[ ] programYearTotalProvincialFSC

Technical

[ ] No SFAS related data required.
[ ] Save any variable not present yet into the workflow_data to allow the SUM.
[ ] Follow the same logic from getProgramYearPreviousAwardsTotals
[ ] Create a private method to handle the existing programYearTotal logo plus the new one.
[ ] Ensure the processing will happen only for Full-time.
[ ] The final goal of the ticket is to make the new programYearTotal* variables present in the assessment-gateway and this is what should be demoed.
[ ] PR separation suggestion.

[ ] Workflows related changes.
[ ] The new method similar to the getProgramYearPreviousAwardsTotals.

[ ] E2E tests.

Updated the ACs to change the variable to save for the scholarships and bursaries:
calculatedDataExemptScholarshipsBursaries


feat: Support Korean

🔗 Linked issue

❓ Type of change

[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[x] ✨ New feature (a non-breaking change that adds functionality)
[x] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Support Korean.
I've double checked difference among other locales' mjs

📝 Checklist

[ ] I have linked an issue or discussion.

Thank you for the translation!


Get a signal/message/notification for "Viewer" when "Master" starts/stops connection to signaling channel

For peer-2-peer WebRTC based communication using KVS Signaling Channel, I am looking for a way in WebRTC for JavaScript SDK to get a “signal” / “message” / “notification” or whatever, so that Viewer code knows that Master has connected to the channel. The use case is very simple, that when a master wants to initiate a peer-2-peer communication, the receiver needs to know somehow that someone started a call and would like to communicate. E.g. Master makes a call, it rings on Viewer’s side (notification that I am looking for), and viewer accepts (negotiates P2P connection) and start communication.
For the example, it is little hard to understand how that scenario would work, because it is assumed in the example to click on "Start Master" and then "Start Viewer".
We are working on a solution where we are stuck with "Viewer" not able to know when "Master" starts or stops connection to a Signaling Channel.
How can the "Viewer" receive a notification when "Master" starts or stops connection with Signaling Channel?
"Master" uses "WebRTC SDK in C for Embedded Devices"
https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/kvswebrtc-sdk-c.html
"Viewer" uses "WebRTC SDK in JavaScript for Web Applications"
https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/kvswebrtc-sdk-js.html
Here, both "Master" and "Viewer" are connecting to same Signaling Channel.

Here are some thoughts on this which you might be able to use for your application:

The signaling service will keep the message and attempt to deliver within the TTL of the message that's defined when the signaling channel was created. So, the viewer could send a message and the master would pick it up even if it connects after the viewer.

The application could create a data channel for triggering your application events. The viewer then could subscribe to the master through this data channel, and the master can emit a "start" or "stop" event.

The application could also choose to use other means of communications - for example, some of the embedded devices use IoT with MQTT.

To also add.. Some customers could choose to swap the master and viewer applications - the JS could act as a master that awaits and the embedded could become the viewer (really bad naming). In this case, whenever the embedded device (the viewer) starts up, it will try to connect to the master and exchange would happen.

To also add.. Some customers could choose to swap the master and viewer applications - the JS could act as a master that awaits and the embedded could become the viewer (really bad naming). In this case, whenever the embedded device (the viewer) starts up, it will try to connect to the master and exchange would happen.

It is an interesting take. Considering the JS browser is acting as "master", and the embedded is acting as "viewer", there could not be more than one JS browser watching what the embedded is sending media, is that correct?  The reason I am asking is because we would need upto 10 JS browser "viewers"  who can watch video from the embedded system.

@mjnaik I see, this "swapping" will only work for 1:1 in this case - you won't be able to have multiple "masters".
You can increase the TTL of the message but ideally, if the delay is arbitrary, you might consider some notification - similar to IoT MQTT

Due to staleness. I'll close this issue. Please feel free to reopen if you need further assistance.


Who is the new intermediate master?

Hi,
If I have a topology like this (just an example):
               -> rep3
rep1 --> rep2-|
               -> rep4

Rep2 is an intermediate master. If rep2 dies Orchestrator processes a DeadIntermediateMaster failover and reorganises the topology like (just an example):
rep1 --> rep4 --> rep3
So rep4 is going to be an intermediate master now. But based on the PostFailoverProcesses placeholders I can not decide who is the new intermediate master.
It has the following placeholders:
{failureType}, {failureDescription}, {failedHost}, {failureCluster}, {failureClusterAlias}, {failureClusterDomain}, {failedPort}, {successorHost}, {successorPort}, {successorAlias}, {countSlaves}, {slaveHosts}, {isDowntimed}, {isSuccessful}, {lostSlaves}
I am trying to call an external script when an intermediate master dies but the script should/has to know who is the new intermediate master after failover.
Is there any solution/ideas for this?
Thanks.

The new intermediate master is {successorHost}, and more specifically it's {successorHost}:{successorPort}
BTW you can also get this value from the environment variable ORC_ORCHESTRATOR_HOST sent to your script. If you're using shell script, just read $ORC_ORCHESTRATOR_HOST.

@shlomi-noach : That was my first thought also. So in this example the {successorHost} should be rep4 if I understand correctly, because rep4 was promoted.
But in my test the {successorHost} was rep1, here are some log entries:
...
2017-01-10 16:37:27 INFO ChangeMasterTo: Changed master on rep4:3306 to: rep1:3306, mysql-bin.000001:62541370. GTID: false
2017-01-10 16:37:27 INFO Started slave on rep4:3306
...
2017-01-10 16:37:28 DEBUG execCmd: echo 'Recovered from DeadIntermediateMaster on rep1:3306. Failed: rep2:3306; Successor: rep1:3306' >> /tmp/recovery.log
...

So it promoted rep4 but the {successorHost} is rep1.
Do I miss something here?

Oh OK. So here's the complication:
(though, first of all, in your case it should have been rep4, not arguing)
The result of an intermediate master failover may result with multiple successors. Perhaps the promoted replica cannot take over all of its siblings, and some will move elsewhere. There can be up to three different successors at the same time: an uncle, one of the orphaned siblings (as in your case), and the grandfather (master in your case).
The logic goes through all three options and apparently settled the successor to be the master, even though everything was satisfied by rep4.
So this is a bug to be fixed.

Thanks @shlomi-noach I am going to run some tests again make sure I did everything right , but I already ran it many times and the {successorHost} was always rep1.

I'm now looking into this

I'm actually unable to get the same results. When I failover an intermediate master X, and when all of its replicas are successfully relocated to its sibling Y, I always get Y as {successorHost}.

I just redid my test again and in my test the {successorHost} was wrong again, but maybe I misunderstood something, so here is a test topology.

If rep3 goes down if I am understand correctly rep4 should be the {successorHost}.
But here is the log:
2017-01-24 07:41:50 DEBUG auditType:begin-maintenance instance:rep4:3306 cluster:rep1:3306 message:maintenanceToken: 427, owner: orc, reason: move below rep2:3306
2017-01-24 07:41:50 INFO Stopped slave on rep4:3306, Self:mysql-bin.000002:151, Exec:mysql-bin.000002:151
2017-01-24 07:41:50 DEBUG ChangeMasterTo: will attempt changing master on rep4:3306 to rep2:3306, mysql-bin.000002:151
2017-01-24 07:41:50 INFO ChangeMasterTo: Changed master on rep4:3306 to: rep2:3306, mysql-bin.000002:151. GTID: true
2017-01-24 07:41:50 INFO Started slave on rep4:3306
2017-01-24 07:41:51 DEBUG outdated keys: []
2017-01-24 07:41:51 DEBUG auditType:move-below-gtid instance:rep4:3306 cluster:rep1:3306 message:moved rep4:3306 below rep2:3306
2017-01-24 07:41:51 DEBUG auditType:end-maintenance instance:rep4:3306 cluster:rep1:3306 message:maintenanceToken: 427
2017-01-24 07:41:51 DEBUG auditType:move-slaves-gtid instance:rep2:3306 cluster:rep1:3306 message:moved 1/1 slaves below rep2:3306 via GTID
2017-01-24 07:41:51 DEBUG auditType:relocate-slaves instance:rep3:3306 cluster:rep1:3306 message:relocated 1 slaves of rep3:3306 below rep2:3306
2017-01-24 07:41:51 DEBUG auditType:recover-dead-intermediate-master instance:rep3:3306 cluster:rep1:3306 message:Relocated slaves under: rep2:3306 0 errors: []
2017-01-24 07:41:51 DEBUG execCmd: echo 'Recovered from DeadIntermediateMasterWithSingleSlaveFailingToConnect on rep1:3306. Failed: rep3:3306; Successor: rep2:3306' >> /tmp/recovery.log
2017-01-24 07:41:51 DEBUG [/tmp/orchestrator-process-cmd-273667872]
2017-01-24 07:41:51 INFO Executed PostIntermediateMasterFailoverProcesses command: echo 'Recovered from DeadIntermediateMasterWithSingleSlaveFailingToConnect on rep1:3306. Failed: rep3:3306; Successor: rep2:3306' >> /tmp/recovery.log
2017-01-24 07:41:51 DEBUG execCmd: echo '(for all types) Recovered from DeadIntermediateMasterWithSingleSlaveFailingToConnect on rep1:3306. Failed: rep3:3306; Successor: rep2:3306' >> /tmp/recovery.log
2017-01-24 07:41:51 DEBUG [/tmp/orchestrator-process-cmd-545199103]
2017-01-24 07:41:51 INFO Executed PostFailoverProcesses command: echo '(for all types) Recovered from DeadIntermediateMasterWithSingleSlaveFailingToConnect on rep1:3306. Failed: rep3:3306; Successor: rep2:3306' >> /tmp/recovery.log

It says the successor is rep2.

With the following topology the {successorHost} was rep1 instead of rep4 who came be the new intermediate master when I stopped rep2.

@theTibi I see. Now here's the thing: in your case it can be argued who the successor is:

on one hand, as you suggest, rep4 takes over rep3, and becomes a new intermediate master
but then again, rep1 takes over rep4 and is the one to save it from being disconnected. This is the answer you get from orchestrator now.

So there's actually two servers which have a role in the recovery process. Which of them is the successor?
In your particular use case you'd like to get the new intermediate master, because in your setup the intermediate master has a special importance, being writable. However for someone else it might make more sense to know "who ultimately took charge".
This can be argued and I'm open to hear of a strong argument to one over the other.

@shlomi-noach Both of the them have pros and cons. But in my opinion if Orchestrator handles intermediate masters and intermediate master failovers the {successorHost} should be the host who can take over all the roles of the original (intermediate) master.
Example in this case if an intermediate master is writable and can take writes. After a failover the {successorHost} should have a server who can take over all the roles. I mean it has all the schema and data what the original intermediate master server had. Otherwise this is going to cause sirius problems.
But we might should not choose between them. Maybe a new placeholder would be the best solution and everybody can decide which {successorHost} would be the best fit for their topology/application.

An interesting scenario is that of a split. Say the new intermediate master could only take over a few of the boxes, and the rest were salvaged by the master. Then the problem is even stronger.
Let me look at the code and see what can make sense to change.

Addressed by https://github.com/github/orchestrator/pull/61

Gonna run a few experiments to see that #61 doesn't return the wrong thing, and then I'm happy.

@shlomi-noach Thanks, I am also going to test this soon,I will let you know how did it go.

@theTibi id you're able to compile and test that would be awesome

@shlomi-noach Yes, going to do it today.

@shlomi-noach : So I did some tests but I did not get what I expected. Here are two examples:

In this case I would like to see {successorHost} rep4 or rep5 because they have all the data as the intermediate master rep3. But:

As we can see rep2 was the {successorHost}.
2017-01-30 23:00:50 DEBUG auditType:move-replicas-gtid instance:rep2:3306 cluster:rep1:3306 message:moved 2/2 replicas below rep2:3306 via GTID
2017-01-30 23:00:50 DEBUG auditType:relocate-replicas instance:rep3:3306 cluster:rep1:3306 message:relocated 2 replicas of rep3:3306 below rep2:3306
2017-01-30 23:00:50 DEBUG auditType:recover-dead-intermediate-master instance:rep3:3306 cluster:rep1:3306 message:Relocated 2 replicas under candidate sibling: rep2:3306; 0 errors: []
2017-01-30 23:00:50 INFO CommandRun(echo 'Recovered from DeadIntermediateMaster on rep1:3306. Failed: rep3:3306; Successor: rep2:3306' >> /tmp/recovery.log,[])

Another test:

Again I was expecting rep4 or rep5 as a {successorHost}, but:

2017-01-30 23:04:21 DEBUG auditType:move-replicas-gtid instance:rep3:3306 cluster:rep1:3306 message:moved 2/2 replicas below rep3:3306 via GTID
2017-01-30 23:04:21 DEBUG auditType:relocate-replicas instance:rep2:3306 cluster:rep1:3306 message:relocated 2 replicas of rep2:3306 below rep3:3306
2017-01-30 23:04:21 DEBUG auditType:recover-dead-intermediate-master instance:rep2:3306 cluster:rep1:3306 message:Relocated replicas under: rep3:3306 0 errors: []
2017-01-30 23:04:21 INFO CommandRun(echo 'Recovered from DeadIntermediateMaster on rep1:3306. Failed: rep2:3306; Successor: rep3:3306' >> /tmp/recovery.log,[])
2017-01-30 23:04:21 INFO CommandRun/running: bash /tmp/orchestrator-process-cmd-060282838
2017-01-30 23:04:21 INFO CommandRun successful. exit status 0
2017-01-30 23:04:21 INFO Executed PostIntermediateMasterFailoverProcesses command: echo 'Recovered from DeadIntermediateMaster on rep1:3306. Failed: rep2:3306; Successor: rep3:3306' >> /tmp/recovery.log
2017-01-30 23:04:21 INFO CommandRun(echo '(for all types) Recovered from DeadIntermediateMaster on rep1:3306. Failed: rep2:3306; Successor: rep3:3306' >> /tmp/recovery.log,[])

So I can see some changes in the promotion logic but I think it is still missing the point and Orchestrator is promoting new intermediate master which might does not have all the data.

@shlomi-noach :
- relocatedReplicas, successorInstance, err, errs = inst.RelocateReplicas(failedInstanceKey, &analysisEntry.AnalyzedInstanceMasterKey, "")
+ relocatedReplicas, masterInstance, err, errs := inst.RelocateReplicas(failedInstanceKey, &analysisEntry.AnalyzedInstanceMasterKey, "")

So based on the code the slaves are going to be relocated now under the masterInstance. Which is good for the new intermediate master but the other slaves (which were replicating from the intermediate master) should be relocated under the new intermediate master not under the masterInstance.
This is how should look like the second example after failover:

rep4 is replicating from rep3 but rep5 is replicating from rep4 not from rep3.

@theTibi I'm surprised and confused that you find the above logic to be incorrect, and I think it all comes down to the "have all the data" issue.
I find this to be perfect behavior: rep2 took over rep4 and rep5. But you expect rep4 or rep5 to be announced as successor. Why?
What makes rep4 or rep5 "have more data"? How would you communicate that to orchestrator? It sounds to me like you have a very particular setup that I just can't anticipate.
Imagine in the above I'd tell you rep5 and rep2 have more data than rep4 and rep3. What would be the failover logic now? How can we even decide what's "more data"?
You have writable intermediate masters. What if you'd have different kinds of writable intermediate masters? Imagine:
rep1
+ rep2
+ rep3
  + rep4
  + rep5
+ rep6
  + rep7
  + rep8

How would you react to rep4 having special data A and rep7 having special data B?
what if the same applies to rep3 and rep6? No kind of failover would make sense now.
Your setup is what it is, but I just wanted to illustrate why I don't see how orchestrator should necessarily prefer one method over the other.
In your expectation to get
rep1
+ rep3
  + rep2 (dead)
  + rep4
    +rep5

there are hidden assumptions. First and foremost, that rep4 and rep5 have different kind of data than the master and every other server. orchestrator doesn't know that in advance. Then again, that both will always have binary logs and log_slave_updates. orchestrator does know that and acts accordingly, but do you always promise that? Then, that both will always be able to replicate from one another. What happens if you upgrade rep4 to 5.7 and at the time of IM crash it turns out to be the most up-to-date? rep5 will not be able to replicate from rep4. What then? You may say this isn't the case right now, but orchestrator is made to be aware of such limitations, and would expect to be able to move rep5 under rep3.
If orchestrator is to support such topologies, where replicas have different data than the master, that would require some rewrites. The easiest path I can think of is by the user tagging servers with type. So, by default, all servers will be type A. But if a bunch of servers have different data, you would tag them as type B. But then you'd also have to specify the rules. What if there;s also some type C ? Can type B replicate from type C? Only you know for sure, and you'd have to somehow communicate that to orchestrator. I'm not sure how this would be done.
I hope I managed to clarify the complexity of your setup and of the specific failover expectation you have for it. I'm happy to continue the discussion and to perhaps discuss simple and feasible solutions to all these questions.

cc @jfg956 and @sjmudd who may have a similar use case: a writable intermediate master, where a failover should only run within the scope of replicas of the failed IM.

@shlomi-noach Thank you for your answer.
This is how I can imagine this:
rep1
+ rep2
+ rep3
  + rep4
  + rep5

So rep3 is an intermediate master which may can have different data. If rep3 dies I would hope the following topology:
rep1
+ rep2
+ rep3 (died)
+ rep4
  + rep5

rep4 moved under rep1 because it rep3 was replicating from rep1 and rep5 should replicating from rep5 because rep4 is going to be the new intermediate master which has all the data like rep3.
Another example:
rep1
+ rep2
+ rep3
  + rep4
  + rep5
+ rep6
  + rep7
  + rep8

If rep4 has dataB but no other server has it because there is no replication from it if rep4 dies the data is not available anymore and Orchestrator does not have to do anything.
If rep6 dies:
rep1
+ rep2
+ rep3
  + rep4
  + rep5
+ rep6 (died)
+ rep7
  + rep8

Same like in the first case, rep7 replicating from rep1 and rep8 replicating from rep7.
Other example:
rep1
+ rep2
+ rep3
  + rep4
  + rep5
+ rep6
  + rep7
    + rep9
    + rep10
  + rep8

If rep7 dies:
rep1
+ rep2
+ rep3
  + rep4
  + rep5
+ rep6
  + rep7 (died)
  + rep9
    + rep10
  + rep8

rep9 is replicating from rep6 and rep10 is replicating from rep9.
So in my opinion if there are intermediate masters and they have slaves, when the intermediate master fails Orchestrator should promote one server as a new intermediate master and relocate the other slaves under that new intermediate master.
Just like one you have one master and many slave, if master dies one slave will be promoted and other slaves relocate under the new master.
But of course it has some limitation example rep7 has a different schema than rep6
and rep8 and after rep6 died Orchestrator is promoting rep7 and now rep8 can't replicate from rep7.  In that case it would fail but there is option called RecoveryIgnoreHostnameFilters (I did not use it before) but if I understand right if I add rep7 here Orchestrator will ignore that hostname and won't promote it in case of failover.
So I understand Orchestrator can not handle all the different topologies and does not know which server has which data etc.. but I think it would already help a lot if Orchestrator will relocate the slaves under the new intermediate master in case of failover.
Opinions?

if there are intermediate masters and they have slaves, when the intermediate master fails Orchestrator should promote one server as a new intermediate master and relocate the other slaves under that new intermediate master.

You must be aware that this is not always possible. Consider:
rep1
+ rep2
+ rep3
  + rep4
  + rep5

rep3 dies. You want this:
rep1
+ rep2
+ rep3 (died)
+ rep4
  + rep5

However can you ensure that both rep4 and rep5 have log_slave_updates? What if not?
What if you've just upgraded rep4 to 5.7, and it turn out to be more up-to-date than rep5 at time of crash? I just want you to be aware of a scenarios where one of the replicas cannot take charge of all its siblings.

@shlomi-noach I understand. Orchestrator is not a magic wand which solves all the problems. Of course if you would like to use topologies like this you should know the requirements and limitations.
Example you have to make sure log_slave_updates is enabled.
If you have a 5.7 node this applies for any topology like one master and many slaves and one of them is 5.7 there is a risk Orchestrator is going to promote it in case of failover, if I am right. So if you are testing/upgrading 5.7 you should put that node in down time make sure Orchestrator wont promote it.

OK, I'm getting a clearer picture of how this would be implemented in code.
The user, however, would have the burden of appropriately tagging those intermediate masters (and subsequently, their nested replicas) which have "special data", that is imcompatible with the rest of the topology.
In such sub-topologies the logic would be to first attempt to promote a replica from within the subtopology, and only then try to attach it outside. Any replicas "lost in action" would connect to the master. The replicas that would overtake its siblings would be the successor host.

@shlomi-noach In you previous pot you mentioned this user tagging servers with type.
I was thinking about this , it could be a bit similar like how Orchestrator handles the different DCs. With a regex we could "tag" the sub-topologies and Orchestrator can try to promote a server from that sub-topologies and relocate the replicas under that server.

@theTibi I'm moving away from hostname regexes and onto something more formal.

I'm in the middle of a split and looking at this now, partly to ensure an intermediate master with filters won't ever get promoted and that normal slaves won't get put under these filtered intermediate masters. I think but need to check that current logic prevents this. As Shlomi says things get get quite hairy and my topology is already 6 layers deep.
I also agree that host name based management starts to get quite hairy as the number of boxes and chains grow and have also been bitten by incomplete regexps allowing recovery of boxes where I wanted to avoid this. A better way to handle this would certainly be good, but it's a tricky problem to solve generically.
So the trick here seems to be to make orchestrator aware of these barriers /borders and to ensure that failover never takes moves boxes outside of their zones.

Hi, I was just wondering are there any new thoughts on this topic?

Hi @theTibi I haven't made progress on this unfortunately, was not focusing on this issue.

@theTibi I'm looking into this now.

So the very most basic question is:
We make the promotion, intermediate master takes over as we would expect etc.
How do we connect the new intermediate master with the topology? The basic assumption is that the intermediate master took writes, hence it was potentially taking writes at time of failure, hence its binary logs, and those of its replicas, are different than those of the rest of the topology.
Pseudo-GTID will fail to find a match.

Here is the time to bring up this old ticket again.
I think GTID won't fail, let's see we have the following replicaset:
+ rep2
+ rep3
  + rep4
  + rep5

Rep3 dies:
rep1
+ rep2
+ rep3 (died)
+ rep4
  + rep5

If we are using GTID I think rep4 can replicate from rep1 and we can move rep5 also under rep4. But I have to and I am going to test this and give you feedbacks soon.


Change package name?

On the Sept 29 community call, an attendee suggested we remove "java" from the package names in the SDK (their argument was "java" is implied). I see their point, though I also don't think it's needed.
Basically: dev.openfeature.javasdk would become: dev.openfeature.sdk.
I'm just bringing this up because "now is the time" before we start marking things as stable. Mostly interested in @justinabrahms 's opinion on this one.

A thought: if we published a kotlin sdk... would we also call it dev.openfeature.sdk? And would that be a problem? Might it cause classpath collisions?

I'm okay with making this change as part of a 1.0 release but not sooner.

I'm okay with making this change as part of a 1.0 release but not sooner.

Sounds good to me!

@toddbaert @s-sen tells me that we should make the change now b/c it will be easier than 2 weeks from now (there's an internal release). I think they're the main customer of the javasdk at this point, so I'm inclined to ship this now. I may push this change if you don't beat me to it first.


FEATURE - User Badges

Users will earn badges that are based on the decided criteria:

Activity-based
Time-based
Engagement-based

These earned badges will be shown in the user profile.

Eralp implemented the user badges , I am closing the issue.

Hi @efisek @eralp85, i added all documents about badges, is there any problem for the visibility?


Hi. I have commit a demo. Please refer to https://github.com/goodluckcwl/Face-Verification. I use matlab codes.

thank you very much.


Add SCENIC network loading tutorial to pyVIPER documentation

The input file is something like:
SCENIC+_10xBrain_gene_based.loom


ddev ssh does a poor job with long command lines and $TERM in general

What happened (or feature request):
When lines get long, ddev ssh starts to get really ugly, wrapping things wrong and messy. This is really from docker exec.
This docker issue mentions an excellent workaround which we could just implement.
What you expected to happen:
How to reproduce this:
Version: Please include the output of ddev version, docker version and the project's .ddev/config.yaml.
Anything else do we need to know:
Related source links or issues:
Please use a complexity rating of 1-5 (5 is high) for a feature request. (High complexity implies more PR planning)

How to reproduce this:

Run ddev ssh and spam characters until they begin to overlap.

Looks like this is a low-risk solution and it will help with nagging/annoying terminal usage.

Hope you can take https://github.com/drud/ddev/pull/804 for a spin @mglaman - thanks for the poke on this.

Fixed by #804, for some reason this didn't close when that was merged

This doesn't seem to work on Windows, at least in the git-bash window or the CMD window.

This is still a little tweaky. The LINES and COLUMNS are set on ddev start, they don't seem to be reset on ddev ssh, which is pretty strange. So bottom line, if the window you're using is either the same (unresaized) or has the same size that you did the start from, things work right. But if you have a few windows of different sizes, doesn't seem to work right.


go/types: incorrect error message with mutually recursive interfaces

This is just one example of where the current interface type-checking still goes wrong (this assumes https://golang.org/cl/190258):
package p

type A interface {
	a() interface {
		AB
	}
}

type B interface {
	a() interface {
		AB
	}
}

type AB interface {
	a() interface {
		A
		B
	}
	b() interface {
		A
		B
	}
}

go/types testing reports:
$ go test -run Check$ -files=$HOME/tmp/x.go -errlist
--- FAIL: TestCheck (0.00s)
    check_test.go:271: /Users/gri/tmp/x.go:18:3: duplicate method a
    check_test.go:271: /Users/gri/tmp/x.go:17:3:        other declaration of a
    check_test.go:271: /Users/gri/tmp/x.go:22:3: duplicate method a
    check_test.go:271: /Users/gri/tmp/x.go:21:3:        other declaration of a
FAIL
exit status 1
FAIL    go/types        0.079s

Yet, with the spec change for #6977 (and CL 190258) this should not result in any errors.
(Note that cmd/compile also has trouble with this code if changes https://golang.org/cl/187519 et. al.) are in. The corresponding compiler issue is #6589).
Not urgent as this is a rather esoteric case. But at some point we should rethink type-checking of such mutually recursive data structures.

Ughhh.

Reopened per https://golang.org/cl/195837.

Ughhh.


Maker environment HTTP with Azure AD connection

I think "HTTP with Azure AD" connector should be listed on "CoE ALM Accelerator for Power Platform before you start". It was prompted during installation using "alm install -f quickstart.json" from https://docs.microsoft.com/en-us/power-platform/guidance/coe/cli/alm/overview#quick-start

Also PowerApps for Makers on dest environment

Also, maybe the label for error message is wrong. It says it is missing 'CDS DevOps' connection and the link is heading to Dataverse legecy connector


Import products

I have created a script.. you can use that to import product.

@negati-ve: Hello, where could I take a look at the script?

you can find script here https://github.com/Cezerin2/cezerin2-scripts you have to put api url, token, and customize header based on your csv


Bindgen: Removal of first person

Working toward #8

Reworded sentences to not be in the first person.
Fixed a typo in the bindgen intro.
Major rewrite of what the build.rs script does and when.

Okay, ready for review now.
Don't know if notifications are sent when the title is changed.

Okay, I think this sounds more like a the reader is being guided through the process.  Some uses of we'll and our.   What do you think?

Do not merge.
Future work from other branches got added to a previous commit when I rebased the branch on upstream. Also, resolved a merge conflict.

Okay, so history now reflects no pythonic section changes as before.
How to handle rewrites of pull requests?  New commits? Squash old commits? Squash and merge the whole PR later?

I don't really have any preferences. A lot of the commits for this PR are simply going through how you did things and probably won't add any extra information to the git history.
How about  squashing all the commits up to and including a6f680f ("Fix typo handle when drop() fails while unrolling") into a single "reworded bindgen chapter" commit. Then the later parts could be squashed into a single "Noted issue with using headers on Windows" commit.
It's not 100% correct because you also do a bit of rephrasing in the second bunch of commits, but in the long run squashing commits into logical chunks will probably lead to a history which is easier to navigate. If someone needs to do some digging later on, a commit message along the lines of "reworded bindgen chapter" will probably be more useful than "Reword crate creation and config instructions".
So the workflow could be:

Do a bunch of changes with each change being an individual commit like we currently are (so it's easy to revert or cherry-pick changes)
Review the changes as a whole, making sure we're both happy with it
When it's ready to merge, squash all the little commits into logical chunks (e.g. "reworded bindgen chapter", "added note about using headers on Windows")
Merge
...
Profit!

How does that sound?

Sounds similar to what I was thinking.
Once the smaller commits are squashed into logical pieces locally, is it best to then do
git push -ff
Or, is there there a better method?
Since this is new, I'll make a test branch to run through the process first.

Yep. When you squash commits you'll need to force push (git push --force) because you've technically changed the history.

Alright, the commits are now in larger logical chunks.

Looks good to me, I'm going to merge it. Great work @gurgalex! :+1:


setLNA() had incorrect type on LnaZin

Its a minor change but LnaZin was specified as bool. It needs to be 8 bit in order to have the correct bit field values for setting 200 ohm, which is recommended value in the datasheet and what is used in the example sketch. Because the type was wrong it would set the value to 50 ohm even when specifying 200.  As bool it can't set bit 7. As a bool, the example sketch sets RegLna to 0x09 which is 50 ohm and max gain even though 200 ohm and automatic gain was specified.  As a uint8_t it correctly sets RegLna to 0x88.

Whoa, good find! Excellent to have small things like this fixed. :+1:


Synchronize the header clock with the computer clock

Is your feature request related to a problem? Please describe.
Right now the header clock updates every 60 seconds based on the time the page was loaded. This causes the clock to be off sync with the computer clock. If several tablets are running lovelace with compact-custom-header, their header clock gets updated at different times.
Describe the solution you'd like
I propose making the following changes to "compact-custom-header.js":
After line 1027 add the line:
let seconds = date.getSeconds();
Then change line 1041 from:
window.setTimeout(() => updateClock(clock, clockFormat), 60000);
to:
window.setTimeout(() => updateClock(clock, clockFormat), (60 - seconds) * 1000);
This will cause the clock to update at '00' seconds, causing it to change in sync with the computer clock, and with all the other tablets.

Fixed issue so the bot won't close: "do not remove anything in the template"

never mind, you made a new one


Symantec Endpoint Protection Virus Alert

The current version FalconX_14.07.2019_<IP_ADDRESS> is blacklisted with WS.Reputation.1 in Symantec Endpoint Protection Virus Alert.
https://www.symantec.com/security-center/writeup/2010-051308-1854-99

Thanks for letting me know. I will contact them right away.

Hi,
I got their response.
We have been unable to reproduce the detection issue described in your submission. Our investigation shows that the software you submitted is known-good and as such does not trigger any detections. A possible reason for this could be that the status of your software changed automatically between the time of your submission and now.

Hi Chris,
I took the liberty and already reported the false positive.

In relation to submission 161655.
Upon further analysis and investigation we have verified your submission and, as such, the detection(s) for the following file(s) will be removed from our products:
File name: FalconX.exe
MD5: C20A10E742EC72940B0C3386AF0DF757
SHA256: 86743622EB51F7C688670F6DBE9217D2DE8006C83DE36FDEBA85FEABB342A414
Note: Whitelisting may take up to 24 hours to take effect via Live Update

Ah, thank you :)
That probably explains why it was already marked as good.


Add auto subscriptions API

Description
This is a work in progress project. The API is being discussed here

[x] It needs and includes Unit Tests

Changes in Client or Server public APIs
There will be changes. TBD.

[ ] It includes documentation for these changes in /doc.

I am running into the following error while doing fresh install in ubuntu-14.04 LTS desktop. My installUbuntuDeps.sh and installNuve.sh is successful without any errors. installErizo.sh is failing with the error.
erizoinstall.txt

I am running into the following error while doing fresh install in ubuntu-14.04 LTS desktop. My installUbuntuDeps.sh and installNuve.sh is successful without any errors. installErizo.sh is failing with the error.
erizoinstall.txt

This error got fixed after I installed boost version 1.65.0. Looks like install script needs to be updated to handle this.


feature request add texture on road

how to add texture on the road, now is only single color

https://lodev.org/cgtutor/raycasting2.html

thank you  sir .
also find a good example here
https://raytomely.itch.io/raycasting-floorcasting
https://permadi.com/1996/05/ray-casting-tutorial-1


Provide more examples for running the project

Hello, please provide an example for running the project where it fetches the Fingerprints, stores them on a given directory as well as sets the user-data directory and working directory and then provides the debugger address for playwright. The current examples are not clear and confusing as well as too complex for basic use of just launching and using the browser with basic profile and fingerprint saving use case.

I understand that the current examples available for using this project might seem overly complex, particularly for straightforward tasks like launching a browser and managing fingerprint profiles.
There are numerous examples in test directory that showcase a wide range of functionalities and applications. These examples could be very useful for understanding what can be achieved and how various tasks are implemented.
https://github.com/sergerdn/py-bas-automation/tree/develop/tests
If you have any specific questions or need detailed guidance on certain aspects of these examples, please don't hesitate to reach me out.

I understand that the current examples available for using this project might seem overly complex, particularly for straightforward tasks like launching a browser and managing fingerprint profiles.
There are numerous examples in test directory that showcase a wide range of functionalities. These examples could be very useful for understanding what can be achieved and how various tasks are implemented.
https://github.com/sergerdn/py-bas-automation/tree/develop/tests
If you have any specific questions or need detailed guidance on certain aspects of these examples, please don't hesitate to reach me out.

I just want a simple task to be achieved, if you checkout the javascript library of BAS Playwright, there's just 2-3 lines of code for setting the fingerprint, proxy and profile directory after which the browser can be controlled using Playwright, I want to achieve the same task but I do not find a simple example to just fetch the fingerprint if it doesn't exist, apply it to the browser and set the profile directory and launch it, this simple task will cover 90% of use cases for the browser as even asynchronous operations can be achieved easily with it. I am just looking for a chrome alternative which works without being detected and don't need any complex use such as emulating mouse movements or typing so providing a simple example to replace playwright with a few lines of code or function would be great.

I just want a simple task to be achieved, if you checkout the javascript library of BAS Playwright, there's just 2-3 lines of code for setting the fingerprint, proxy and profile directory after which the browser can be controlled using Playwright, I want to achieve the same task

Well, you should know that achieving your requested task with the py-bas-automation project is impossible. This is because the project directly controls the BAS program, as opposed to calling remote scripts of BAS via an API. The functionality you're referring to in the  playwright-with-fingerprints project operates differently.
Currently, I don't have a Python solution analogous to what playwright-with-fingerprints offers.


Anchor

In the config file：
anchor_scales=[8]
anchor_ratios=[0.5, 1.0, 2.0]
anchor_strides=[4, 8, 16, 32, 64]
What do these three parameters represent?

These describe the scale ans size of the anchor bboxs that the network use. Typically, you would need smaller anchors for the small objects in your mask and the opposite is true. This paper is helpful for explaining these terms and how to set them up.
http://www.multimedia-computing.de/mediawiki/images/e/ed/ICME2017.pdf

Can someone explain me anchor_strides (especially for RetinaNet, anchor_strides=[8,16,32,64,128]) in more detail? I understand it like this: Place at every 8th, 16th, ... position of the image a special set of anchor boxes and make a prediction. On the other hand, I can also observe that the last feature map layers (of RetinaNet-Pyramid) are exactly 1/8, 1/16, 1/32, 1/64 and 1/128 of the input image size. Therefore, I ask myself, is the parameter set "anchor_strides" really freely selectable, or is it directly related to the structure of the network and if I choose it wrong, the whole construct collapses?


Assignment_6

What is this main.exe file?
And where exactly did you measured compiling and scripting the model?


Test that operation contexts are movable

Test that it's possible to move contexts in memory. That is, sequences like the following must work:
mbedtls_xxx_context ctx1, ctx2;
mbedtls_xxx_init(&ctx1);
mbedtls_xxx_setup(&ctx1, …);
ctx2 = ctx1;
memset(&ctx1, 0, sizeof(ctx1));
mbedtls_xxx_do_stuff(&ctx2, …);
mbedtls_xxx_free(&ctx2);

Counter-example: the AES context in Mbed TLS 2.x.
We explicitly require this for alternative implementations in since Mbed TLS 3.0 (documented in alternative-implementations.md since https://github.com/ARMmbed/mbedtls/pull/4595).

@gilles-peskine-arm I was about to add this to 3.x as I was thinking of it as finishing something we started in 3.0 - "documented but not tested" falls under "unfinished". But then I saw you did that but change your mind later, so I'm not sure - can you elaborate on why you didn't leave this in 3.x?
Also, do you have an idea how much work this would be? Seems like a lot as there's a large number of contexts, but OTOH we'll probably use the same pattern everywhere for testing. Also, I'm not sure the scope is clear: is it just contexts that may have alt implementation, all crypto contexts except Cipher/MD/PK?

I'm on the fence about making it a should-have-been-3.0 requirement (i.e. 3.x) vs a backlog of things we don't test properly about alt implementations.
I think it'll be a lot of work to do properly: it'll involve ad hoc code for each context type, even if the general principle is the same. I can't think of an automated way to generate the code that is worth the trouble.


0.4.0 Release Checklist

[x] Figure out CI at least at a minimal level. The tests in-repo are extensive now and run via docker-compose but we need checks in CI as well. The current GitHub Actions tests are brittle and mostly broken on master at the moment. [#240]

[ ] Update examples in readme

[ ] Update examples

[ ] https://github.com/launchbadge/sqlx/issues/489 - resolve inferred nullability with type overrides

[x] https://github.com/launchbadge/sqlx/issues/442 - resolve discussion of unchecked macros

[ ] https://github.com/launchbadge/sqlx/issues/480 - remove ResultExt

[x] #359

[ ] https://github.com/launchbadge/sqlx/issues/360 - re-integrate query logging

[x] https://github.com/launchbadge/sqlx/issues/326 https://github.com/launchbadge/sqlx/issues/193

[x] https://github.com/launchbadge/sqlx/issues/165 https://github.com/launchbadge/sqlx/issues/164 https://github.com/launchbadge/sqlx/pull/230

Is there an ETA for 0.4?

@jhpratt No specific timeline but it's at least blocked on https://github.com/stjepang/smol/issues/136

stjepang/smol#136 was resolved recently.
I'm looking forward to sqlx v0.4 :)

Just saw the examples are starting to be updated, anything else blocking 0.4 that could need some help ?

@raftario query logging is the last "feature" but there are some outstanding questions around some of the macro changes that need resolving ( as it would be breaking to change it afterwords ). I updated the checklist in the opening comment.

Is cargo sqlx prepare flakiness sth. that's going to be adressed with the 0.4.0 release, or afterwards?


ClientOnly: using async methods breaks defineExpose

Environment

Operating System: Darwin
Node Version:     v16.13.0
Nuxt Version:     3.0.0-rc.11
Nitro Version:    0.5.4
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      -
Runtime Modules:  -
Build Modules:    -

Reproduction
https://codesandbox.io/p/github/nuxt/starter/csb-zd6kiy/draft/nostalgic-murdock
Describe the bug
Implementing any async operations in a Client Only component will break defineExpose and the component instance won't have its exposed method available to parent anymore.
E.g.
ChildComponent.vue
<script setup>
  const { data, pending, error, refresh } = await useFetch(
    () => "https://api.nuxtjs.dev/mountains"
  )

  const childMethod = () => {
     // do something
  }

  defineExpose({ childMethod })
</script>

ParentComponent.vue
<template>
  <ClientOnly>
    <ChildComponent ref="childRef" />
  </ClientOnly>
</template>

<script setup>
  const childRef = ref()

  // ...
  childRef.value.childMethod()
  // ERROR: childRef.value.childMethod is not a function
</script>

Additional context
If you remove the useFetch call on childComponent, the exposed child method is available in the parent again
Logs
No response

Any updates for this issue ?

I would follow the upstream issue for updates instead.

Some related info:

Works
const onDataRefreshed = async () => {
	await itemListRef.$.exposed.refreshData()
}

Not Works
const onDataRefreshed = async () => {
	await itemListRef.value.refreshData()
}

fyi, upstream was fixed in v3.5.0-alpha.4 :rocket:

Nuxt: 3.13.2
It may have regressed, here's a reproduction: https://stackblitz.com/edit/github-ffcqc6
Thanks


Update manifests/e/Eugeny/Tabby/1.0.143/Eugeny.Tabby.locale.en-US.yaml

Fixes an issue where this package has multiple different monikers
Microsoft Reviewers: Open in CodeFlow

[Policy] Reset Labels


Code compiled but no ap hotspot created

I successfully compiled the code on a pico w . I wired only the accelerometer . I do not get any error on the serial but no hotspot is created .  Do i need to wire everything to be able get the hotspot ?

I solved it


Improve logging

What does the pull request do?
Improves logging in case of font loading errors.
What is the current behavior?
On font loading error you get a crash with the message: Could not create glyphTypeface.
What is the updated/expected behavior with this PR?
On font loading error you get a crash with the message with additional info to help fix the issue: Could not create glyphTypeface. Font family: (font family name). Style: style. Weight: weight. Stretch: stretch.
Checklist

[ ] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/avalonia-docs with user documentation

Breaking changes

Obsoletions / Deprecations

Fixed issues
Fixes #13040

@dotnet-policy-service agree

@ArtjomP please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@dotnet-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@dotnet-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@dotnet-policy-service agree company="Microsoft"

Contributor License Agreement
Contribution License Agreement
This Contribution License Agreement ( “Agreement” ) is agreed to by the party signing below ( “You” ), and conveys certain license rights to the .NET Foundation ( “.NET Foundation” ) for Your contributions to .NET Foundation open source projects. This Agreement is effective as of the latest signature date below.
1. Definitions.
“Code” means the computer software code, whether in human-readable or machine-executable form, that is delivered by You to .NET Foundation under this Agreement.
“Project” means any of the projects owned or managed by .NET Foundation and offered under a license approved by the Open Source Initiative (www.opensource.org).
“Submit” is the act of uploading, submitting, transmitting, or distributing code or other content to any Project, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of discussing and improving that Project, but excluding communication that is conspicuously marked or otherwise designated in writing by You as “Not a Submission.”
“Submission” means the Code and any other copyrightable material Submitted by You, including any associated comments and documentation.
2. Your Submission. You must agree to the terms of this Agreement before making a Submission to any Project. This Agreement covers any and all Submissions that You, now or in the future (except as described in Section 4 below), Submit to any Project.
3. Originality of Work. You represent that each of Your Submissions is entirely Your original work. Should You wish to Submit materials that are not Your original work, You may Submit them separately to the Project if You (a) retain all copyright and license information that was in the materials as you received them, (b) in the description accompanying your Submission, include the phrase "Submission containing materials of a third party:" followed by the names of the third party and any licenses or other restrictions of which You are aware, and (c) follow any other instructions in the Project's written guidelines concerning Submissions.
4. Your Employer. References to “employer” in this Agreement include Your employer or anyone else for whom You are acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your Submission is made in the course of Your work for an employer or Your employer has intellectual property rights in Your Submission by contract or applicable law, You must secure permission from Your employer to make the Submission before signing this Agreement. In that case, the term “You” in this Agreement will refer to You and the employer collectively. If You change employers in the future and desire to Submit additional Submissions for the new employer, then You agree to sign a new Agreement and secure permission from the new employer before Submitting those Submissions.
5. Licenses.
a. Copyright License. You grant .NET Foundation, and those who receive the Submission directly or indirectly from .NET Foundation, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license in the Submission to reproduce, prepare derivative works of, publicly display, publicly perform, and distribute the Submission and such derivative works, and to sublicense any or all of the foregoing rights to third parties.
b. Patent License. You grant .NET Foundation, and those who receive the Submission directly or indirectly from .NET Foundation, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license under Your patent claims that are necessarily infringed by the Submission or the combination of the Submission with the Project to which it was Submitted to make, have made, use, offer to sell, sell and import or otherwise dispose of the Submission alone or with the Project.
c. Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement. No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are granted by implication, exhaustion, estoppel or otherwise.
6. Representations and Warranties. You represent that You are legally entitled to grant the above licenses. You represent that each of Your Submissions is entirely Your original work (except as You may have disclosed under Section 3 ). You represent that You have secured permission from Your employer to make the Submission in cases where Your Submission is made in the course of Your work for Your employer or Your employer has intellectual property rights in Your Submission by contract or applicable law. If You are signing this Agreement on behalf of Your employer, You represent and warrant that You have the necessary authority to bind the listed employer to the obligations contained in this Agreement. You are not expected to provide support for Your Submission, unless You choose to do so. UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES EXPRESSLY STATED IN SECTIONS 3, 4, AND 6 , THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
7. Notice to .NET Foundation. You agree to notify .NET Foundation in writing of any facts or circumstances of which You later become aware that would make Your representations in this Agreement inaccurate in any respect.
8. Information about Submissions. You agree that contributions to Projects and information about contributions may be maintained indefinitely and disclosed publicly, including Your name and other information that You submit with Your Submission.
9. Governing Law/Jurisdiction. This Agreement is governed by the laws of the State of Washington, and the parties consent to exclusive jurisdiction and venue in the federal courts sitting in King County, Washington, unless no federal subject matter jurisdiction exists, in which case the parties consent to exclusive jurisdiction and venue in the Superior Court of King County, Washington. The parties waive all defenses of lack of personal jurisdiction and forum non-conveniens.
10. Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and supersedes any and all prior agreements, understandings or communications, written or oral, between the parties relating to the subject matter hereof. This Agreement may be assigned by .NET Foundation.
.NET Foundation dedicates this Contribution License Agreement to the public domain according to the Creative Commons CC0 1.

@dotnet-policy-service agree

We should also add the source string of specified font family. Ideally these errors are covered by the compiler. So we try to resolve these font assets at compile time / design time.
We might as well just produce a log message and fallback to the default.

Where can I get the source string of the specified font family from? The Typeface constructor has only fontFamilyName and I get it to the exception message via FontFamily?.Name.
It would be great if we get this error during compile time. Unfortunately, I have some customer reposts that my software crashes at random times and I see https://github.com/AvaloniaUI/Avalonia/issues/13040#issuecomment-2036310830 this only unhandled exception in the log. And after updating MacOS to Sonoma one customer said that the app stopped crashing.
Even some clues would be helpful for me. And you're right having some substitute in such cases instead of crashes would be great. At least some more info in the log is better than nothing.

https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Base/Media/FontFamily.cs#L105
https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Base/Media/Fonts/FontFamilyKey.cs#L103

Thank you! I've added the key. Its good that the FontFamilyKey has ToString() overridden.


Support req.socket.setAuthToken in MIDDLEWARE_HANDSHAKE_SC

Handshake http request might already have necessary
credentials to establish authentication, such as Authorization
header. In this case, it might be desirable to call
req.socket.setAuthToken within MIDDLEWARE_HANDSHAKE_SC even if
#handshake event doesn't have authToken from client.
This submission ensures handshake socket response contains
isAuthenticated=true for the above use case

hi @jondubois. will you publish a new version soon that contains this PR commit ?

@adnanalawiyat Done.


Fastlane crashes when disabling colors

Issue Description
Disabling colors makes Fastlane crash. It was working well before updating to 2.14 (from 2.7).
$ export FASTLANE_DISABLE_COLORS=1
$ fastlane test --capture_output
/usr/local/lib/ruby/gems/2.3.0/gems/fastlane-2.14.1/fastlane_core/lib/fastlane_core/ui/disable_colors.rb:12:in `<class:String>': uninitialized constant Colored2::EXTRAS (NameError)
	from /usr/local/lib/ruby/gems/2.3.0/gems/fastlane-2.14.1/fastlane_core/lib/fastlane_core/ui/disable_colors.rb:6:in `<top (required)>'
	from /usr/local/Cellar/ruby/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require'
	from /usr/local/Cellar/ruby/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require'
	from /usr/local/lib/ruby/gems/2.3.0/gems/fastlane-2.14.1/fastlane_core/lib/fastlane_core/ui/ui.rb:26:in `<top (required)>'
	from /usr/local/Cellar/ruby/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require'
	from /usr/local/Cellar/ruby/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require'
	from /usr/local/lib/ruby/gems/2.3.0/gems/fastlane-2.14.1/fastlane_core/lib/fastlane_core.rb:27:in `<top (required)>'
	from /usr/local/Cellar/ruby/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require'
	from /usr/local/Cellar/ruby/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require'
	from /usr/local/lib/ruby/gems/2.3.0/gems/fastlane-2.14.1/fastlane/lib/fastlane.rb:1:in `<top (required)>'
	from /usr/local/Cellar/ruby/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require'
	from /usr/local/Cellar/ruby/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require'
	from /usr/local/lib/ruby/gems/2.3.0/gems/fastlane-2.14.1/fastlane/lib/fastlane/cli_tools_distributor.rb:14:in `take_off'
	from /usr/local/lib/ruby/gems/2.3.0/gems/fastlane-2.14.1/bin/fastlane:15:in `<top (required)>'
	from /usr/local/bin/fastlane:22:in `load'
	from /usr/local/bin/fastlane:22:in `<main>'

Environment
$ export FASTLANE_DISABLE_COLORS=0
$ fastlane env
<details><summary>🚫 fastlane environment 🚫</summary>

### Stack

| Key                 | Value                                       |
| ------------------- | ------------------------------------------- |
| OS                  | 10.12.3                                     |
| Ruby                | 2.3.3                                       |
| Bundler?            | false                                       |
| Git                 | git version 2.10.1 (Apple Git-78)           |
| Installation Source | /usr/local/bin/fastlane                     |
| Host                | Mac OS X 10.12.3 (16D32)                    |
| Ruby Lib Dir        | /usr/local/Cellar/ruby/2.3.3/lib            |
| OpenSSL Version     | OpenSSL 1.0.2j  26 Sep 2016                 |
| Is contained        | false                                       |
| Is homebrew         | false                                       |
| Xcode Path          | /Applications/Xcode.app/Contents/Developer/ |
| Xcode Version       | 8.2.1                                       |

### System Locale

| Error                       |
| --------------------------- |
| No Locale with UTF8 found 🚫 |

### fastlane files:

```ruby

fastlane gems

Gem
Version
Update-Status

fastlane
2.14.1
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.0.2

slack-notifier
1.5.1

rouge
1.10.1

xcpretty
0.2.4

multipart-post
2.0.0

word_wrap
1.0.0

babosa
1.0.2

colored2
3.1.1

highline
1.7.8

commander
4.4.1

faraday-cookie_jar
0.0.6

gh_inspector
1.0.2

mini_magick
4.5.1

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.1.1

bundler
1.13.6

i18n
0.7.0

json
1.8.3

thread_safe
0.3.5

tzinfo
1.2.2

activesupport
4.2.6

io-console
0.4.6

excon
0.54.0

rubyzip
1.2.0

plist
3.2.0

CFPropertyList
2.3.4

claide
1.0.1

colored
1.2

nanaimo
0.2.3

xcodeproj
1.4.1

unicode-display_width
1.1.2

terminal-table
1.7.3

generated on: 2017-02-02

```

i did a PR can you give it a try #8103

Weird that Colored2::EXTRAS is not found but Colored2::COLORS is. How is this lib pulled in?

@lacostej  i updated the PR the real deal is that in colored it is called EXTRAS and in colored2 it is called EFFECTS -> http://www.rubydoc.info/gems/colored2/2.0.2/Colored2


[BUG] MonitorHistory timeline bars don't resize automatically when opening a flyout.

What is the bug?
This timeline bar graphics in the History component of the Monitor details page do not resize automatically when opening a flyout.
How can one reproduce the bug?
Steps to reproduce the behavior:

Go to the Monitor details page for a document level monitor that has alerts.
Click on the Document link for one of the alerts to open its flyout.
See error

What is the expected behavior?
All elements in the graphic should resize automatically when opening and closing the flyout.
What is your host/environment?

OS: iOS
Version 10.15.7
Plugins: alerting, alertingDashboards

Do you have any screenshots?

Do you have any additional context?
Dragging the edge of the window to resize the browser will resize the History element appropriately.

A similar bug can be seen on the Monitors tab when browser inspect side panel is open.

Findings:

The visualization depends on the resize event to change its width.

A possible solution is to raise the resize event but that might lead some extra handlers to run as well. Another way out is to avoid using pushOver flyout similar to what we do in other plugins like security analytics.

The monitor table issue happens because of static widths specified for the columns in tableUtils

We need to review why these were added in first place and see if we can remove them.

Related issue https://github.com/opensearch-project/alerting-dashboards-plugin/issues/296

The first half of the bug won't show up now as the Flyouts are using Overlay type instead of pushover.
For the second half, let me send a fix


Support for source seal anchors and discovery for seals that are anchored in Merkle Trees and bound to the KEL via a Merkle root seal.

Feature request description/rationale
Currently source seal couples can be used to percolate the less expensive validation of an event that is bound or anchored in some  KEL. The two types of events that use this type of anchoring are delegated key events and transaction event log related events like revocation registry events.
When the anchor (binding seal) is placed in the seal list (anchor list) in the a field, a validator can discover it by walking the KEL either forward or backward and comparing every seal in every seal list against the seal (event said and event sn) of the anchored event.
When the validator is given a source seal couple, the couple points to the anchoring event's SAID and SN. This means that instead of walking the KEL to find the anchor, the validator merely needs to compare against the anchors in one event. This is a performance optimization enabled by percolating the source seal couplethat points to the anchoring event by attaching it to with the event being anchored.
When the event is anchored in a merkle treee which in tern is anchored with its merkel root discovery by walking the KEL no longer works. The validator would have have to have all the full Merkle tree or be able to query all the anchored Merkle trees.
So in the future, we may want to impose a discovery requirement that enables validators to query some watcher designated by the Sealer (anchorer) which will have the source seal attached to the anchored event with an API for querying the associated Merkle tree.
Related to this is the current problem of promiscuous witness services that are also acting as watchers for all other kels besides the KEL for which they are the witness.  This fails when someone queries the witness for the source seal of a kel for which the witness is a witness becasue the witness does not need the anchoring seal to validate and accept into its kel the anchored event so it discards the source seal should it be attached.
The fix is for the validator to walk the kel of the Sealer and find the anchor or to get a source seal from a valid watcher of the anchored kel or have it percolated to them.

@SmithSamuelM I have a related question. If multiple credentials are bulk issued and anchored via a single Merkle root seal - is this a Merkle tree of various individual iss/bis/rev/brv events (1-1 event to ACDC) ? Or a single iss/bis event could bulk issue 100 credentials?
I know this is completely an ACDC implementation detail but curious going forward what keripy (or teripy) would plan on doing.
For now I don't need Merkle roots but I want to plan ahead for my ACDC discovery use case.

KERI doesn't have visibility in what a seal represents, by design. This means the seal semantics are hidden from observation. This also applies to Merkle tree root seals.  What type of merkle tree, what is in the merkle tree are semantic details that KERI does not know about.  The users of a particlular seal, have to find out out of band to KERI what the semantics of the seal. represen. AFAIK no one has come up with semantics for any type of Merkel tree for ACDCs.

@SmithSamuelM Yep I know - I was more so wondering if you had a view of how those public interoperable semantics should look like. But no worries if nothing has been planned out there, thanks!


ViT-Bench-101 dataset

Could you provide the whole ViT-Bench-101 dataset? It looks that the .pth files in pt_results/ are not complete. Thank you!

+1, 另外想问下这是你们提出的么还是其他方法提出的？


Enable users to create+activate bucket types via Explorer API

The ability to create new Bucket Types via HTTP API is one of the most often-asked-for features, by users.
Implement the following API call (this example creates a new bucket type named my-new-type):
curl -XPUT /explore/clusters/$cluster/bucket_types/my-new-type -d '{"props":{ ... }}' -H 'Content-Type: application/json'

Note that this is different from issue #96 (Edit bucket type properties), since the edit properties call is to .../$type/props, and the create new call is to .../$type

@dmitrizagidulin This already exists I believe: https://github.com/basho-labs/riak_explorer/blob/master/src/re_wm_bucket_type.erl#L133-L139
Please test and let me know if it works for you. Caveat: You'll need to do the PUT twice in order to activate it (first one creates, second one activates).

Tested, ran into some issues:

A plain PUT with no Content-Type header and no payload (curl -XPUT localhost:9000/explore/clusters/localdev/bucket_types/new-type) results in a 415 Unsupported Media Type. This is sort of fine, but would be better to have it work without a header and payload (basically, a plain PUT would be the equivalent of doing riak-admin bucket-type create new-type on the cli, with no props json).

Adding an Accept: application/json header (but no payload) (curl -XPUT localhost:9000/explore/clusters/localdev/bucket_types/new-type -v -H 'Content-Type: application/json') resulted in a 204 No Content, which is great, except that it resulted in no bucket type being created (I verified this via riak-admin bucket-type list).
Incidentally -- and I didn't know this before starting to wrangle AJAX in Ember, but apparently it's against the JSON spec to have a Content-Type: application/json header but with an empty body/contents. Like, a browser's AJAX straight up raises a parsing exception. I'm not saying we should worry about that part excessively here, but figured you'd be amused to know.

Adding an Accept header with an empty props json (curl -XPUT localhost:9000/explore/clusters/localdev/bucket_types/new-type -v -H 'Content-Type: application/json' -d '{"props":{}}') does create the bucket type, but also results in a 500 Server Error:

{error,
{throw,
{unknown_capability,{riak_core,bucket_types}},
[{riak_core_capability,get,1,
[{file,"src/riak_core_capability.erl"},{line,140}]},
{riak_core_bucket_type,activate,1,
[{file,"src/riak_core_bucket_type.erl"},{line,170}]},
{re_riak,create_bucket_type,3,[{file,"src/re_riak.erl"},{line,825}]},
{re_wm_bucket_type,accept_content,2,
[{file,"src/re_wm_bucket_type.erl"},{line,123}]},
{webmachine_resource,resource_call,3,
[{file,"src/webmachine_resource.erl"},{line,186}]},
{webmachine_resource,do,3,
[{file,"src/webmachine_resource.erl"},{line,142}]},
{webmachine_decision_core,resource_call,1,
[{file,"src/webmachine_decision_core.erl"},{line,48}]},
{webmachine_decision_core,accept_helper,1,
[{file,"src/webmachine_decision_core.erl"},{line,616}]}]}}
```

I was not able to activate the newly-created bucket type with a subsequent PUT, however. A plain second PUT (with no header or payload) resulted in the same 415 Unsupported Media Type. A second PUT with a JSON content-type header but no payload resulted in 204 Accepted but no other effect. And a PUT with the header and empty props JSON resulted in the same 500 error as above.

Oh, one other thing. Would it be possible to return different responses based on whether the bucket type was created or activated? Sort of like:
1st PUT:
200 OK
{"message":"Bucket type created."}

2nd PUT:
200 OK
{"message":"Bucket type activated."}

Actually, wait. Can we just make it so that one PUT creates AND activates a bucket type? The whole two-step create+activate thing was only done for the whole downgrade back to 1.4 reasons. We don't really need to worry about it in this project. There's never going to be a situation where a user wants to create a bucket type but not activate it.
So, kicking it back over to ya.

I've addressed all your comments.
Putting without a content type should give:
{"new-type":{"success":true,"actions":{"create":"Bucket type created.","activate":"Bucket type activated."}},"links":{"self":"/explore/clusters/localdev/bucket_types/new-type6"}}

Putting with content type + valid props should give the same.
Putting with invalid props should give
{"error":"Cannot create bucket type: no props field found in json."}%

or
{"error":"Cannot create bucket type: invalid json."}%

Putting against the same bucket type with new props (update) should give:
{"new-type5":{"success":true,"actions":{"update":"Bucket type updated."}},"links":{"self":"/explore/clusters/localdev/bucket_types/new-type5"}}

Testing the updates against master, running into error.
The first time I do a PUT, to create & activate a new bucket type, it gives me an error:
curl -XPUT localhost:9000/explore/clusters/localdev/bucket_types/new-type4
< HTTP/1.1 500 Internal Server Error
{
    "error": "Error activating bucket type: not_ready"
}

But doing a second PUT seems to work (though I don't see a create success message like in your sample output -- which is fine, but I thought I'd mention it).
curl -XPUT localhost:9000/explore/clusters/localdev/bucket_types/new-type4
{
    "links": {
        "self": "/explore/clusters/localdev/bucket_types/new-type4"
    },
    "new-type4": {
        "actions": {
            "activate": "Bucket type activated."
        },
        "success": true
    }
}

Submitting an invalid JSON payload does return the correct error:
curl -XPUT localhost:9000/explore/clusters/localdev/bucket_types/new-type6 \
    -d '{"props":{ ... }}' -H 'Content-Type: application/json' -v
< HTTP/1.1 500 Internal Server Error
{"error":"Cannot create bucket type: invalid json."}

It should be a 400 Bad Request, though, if at all possible, instead of a 500.


Is here a bug after removing vertex and adding factor to graph, but don't add factor to optimizer?

https://github.com/berndpfrommer/tagslam/blob/c0c5c76aeb169be1779b405a99604f57a1471f82/src/graph_utils.cpp#L124
Hi, I have read your code carefully, and I found here when you filtered the vertex that doesn't be optimized you just add the factor to the graph and doesn't add those factor to the optimizer. Is it right?

I frankly no longer remember how this logic works. I just remember it's very tricky. Is there a particular case that is broken that you want to fix? It's easier to look at a concrete case.
You are wondering why it is not adding the factor to the optimizer? I'm more puzzled why it is adding the value to the optimizer.

Yes, I am wondering why it is not adding the factor to the optimizer. The pose values are added to the GTSAM's new value but the factors aren't added to the GTSAM's graph. It is a corner case I have tested many times and the function "https://github.com/berndpfrommer/tagslam/blob/c0c5c76aeb169be1779b405a99604f57a1471f82/src/graph_utils.cpp#L89" has no effect.

Slam anytime

closing this as will-not-fix


spaces removed from readme file, according to issue #241

Description
spaces removed from readme file, according to issue #241
Fixes #241
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation

Unassigned issues wont be entertained.


Folder icon should adapt to theme color

Could you please make, that color of icon on folders would also adapt to the theme color, as it does in notes like here: https://github.com/aidenlx/obsidian-icon-shortcodes/issues/31?

+1. For now, this sort of works in my CSS snippet:
.alx-folder-icons.theme-dark .nav-folder.alx-folder-with-note[data-icon][data-icon-type=svg] > .nav-folder-title > .nav-folder-title-content::before {
    filter: invert(100%);
}


Don't use Python 2 in sync-dependencies

What is the goal of this PR?
#94 introduced running sync-dependencies with Python 2. Apparently, it's not compatible so we revert the behaviour.
What are the changes implemented in this PR?
Remove setting Python 2 as default for sync-dependencies-snapshot

shooot forgot to copy across PR descrption lol nvm


Improve profiling instructions

Objective

Make it easier to understand how to profile things.
Talk about CPU vs GPU work for graphics.

Solution

Add a section on GPU profiling and CPU vs GPU work.
Rearrange some sections so Tracy is the first backend mentioned.

Issues
I did this as a very quick fix to clear some things up, but the overall guide still flows poorly and has too much extraneous info distracting from the use case of "I just want to figure out why my app is slow", where the advice should be "use tracy, and if GPU bottlenecked, do this". Someone should do a full rewrite at some point.
I chose to omit talking about RenderDiagnosticsPlugin, but it's definitely worth a mention as a way to easily check GPU + GPU time for graphics work, although it's not hooked up in a lot of the engine, iirc only shadows and the main passes. Again someone else should write about it in the future.
Similarly it might've been useful to have a section describing how to use NSight/RGP/IGA/Xcode for GPU profiling, as they're far from intuitive tools.

It should only check siblings for that markdown lint.

In https://github.com/bevyengine/bevy/blob/main/.github%2Flinters%2F.markdown-lint.yml add the config in my branch.

Oh, I did forget to mention VSync and how a ~16ms frame might not mean slow 😅 . Add that to the TODO list for someone to pick up.


Updates minio-go to v7.0.37 from v7.0.32

[x] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Changes

fixes https://github.com/thanos-io/thanos/issues/5701
Changelog: https://github.com/minio/minio-go/compare/v7.0.32...v7.0.37
Signed-off-by: Sotiris Nanopoulos<EMAIL_ADDRESS>Verification

Unit/integration tests

We're seeing panic: send on closed channel, which causes our Thanos Stores to crash.

It surfaces as:
panic: send on closed channel

goroutine 10097536 [running]:
github.com/minio/minio-go/v7.(*Object).doGetRequest(_, {{0x0, 0x0, 0x0}, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, ...})
  /go/pkg/mod/github.com/minio/minio-go/v7@v7.0.32-0.20220706200439-ef3e45ed9cdb/api-get-object.go:319 +0xdc
github.com/minio/minio-go/v7.(*Object).Read(0xc0b91441c0, {0x0?, 0x0?, 0x0?})
  /go/pkg/mod/github.com/minio/minio-go/v7@v7.0.32-0.20220706200439-ef3e45ed9cdb/api-get-object.go:399 +0x248
github.com/thanos-io/objstore/providers/s3.(*Bucket).getRange(0xc0004cbf90, {0x2586188, 0xc3d0ed7880}, {0xc015a4c870, 0x28}, 0x65900, 0x32c80)
  /go/pkg/mod/github.com/thanos-io/objstore@v0.0.0-20220715165016-ce338803bc1e/providers/s3/s3.go:428 +0x20e
github.com/thanos-io/objstore/providers/s3.(*Bucket).GetRange(0x7f97aa2f30d8?, {0x2586188?, 0xc3d0ed7880?}, {0xc015a4c870?, 0x0?}, 0x10000c00009cf00?, 0xc0b3934c68?)
  /go/pkg/mod/github.com/thanos-io/objstore@v0.0.0-20220715165016-ce338803bc1e/providers/s3/s3.go:445 +0x28
github.com/thanos-io/objstore.(*metricBucket).GetRange(0xc000b54540, {0x2586188, 0xc3d0ed7880}, {0xc015a4c870, 0x28}, 0x0?, 0x0?)
  /go/pkg/mod/github.com/thanos-io/objstore@v0.0.0-20220715165016-ce338803bc1e/objstore.go:526 +0xbd
github.com/thanos-io/objstore.TracingBucket.GetRange({{0x2596cf0?, 0xc000b54540?}}, {0x2586188?, 0xc3d0ed7880?}, {0xc015a4c870, 0x28}, 0x0?, 0x0?)
  /go/pkg/mod/github.com/thanos-io/objstore@v0.0.0-20220715165016-ce338803bc1e/tracing.go:50 +0x22c
github.com/thanos-io/thanos/pkg/store/cache.(*CachingBucket).fetchMissingSubranges.func1()
  /app/pkg/store/cache/caching_bucket.go:424 +0x103
golang.org/x/sync/errgroup.(*Group).Go.func1()
  /go/pkg/mod/golang.org/x/sync@v0.0.0-20220722155255-886fb9371eb4/errgroup/errgroup.go:75 +0x64
created by golang.org/x/sync/errgroup.(*Group).Go
  /go/pkg/mod/golang.org/x/sync@v0.0.0-20220722155255-886fb9371eb4/errgroup/errgroup.go:72 +0xa5

Which I pattern match with https://github.com/minio/mc/issues/4202 but I also see goroutines spike to 2k as well.

It is probably a little bit late. Do we still want to have a v0.28.1 release for this fix?

We're seeing this fairly regularly... can we get a v0.28.1 release with it?

@diranged New release is out. Let me know if it works or not.


Fix a grammar error in docs/rules

Change you're to your at docs/rules/no-noninteractive-element-interactions.md

Coverage remained the same at 100.0% when pulling 279466fb2058899e2dc771316c1abb05a4cee7a9 on FarooqAR:patch-1 into d2333319fa9f777ab8e2ed798daa90af5673eb01 on evcohen:master.

Coverage remained the same at 100.0% when pulling 279466fb2058899e2dc771316c1abb05a4cee7a9 on FarooqAR:patch-1 into d2333319fa9f777ab8e2ed798daa90af5673eb01 on evcohen:master.