toot: 0.22.0 -> 0.24.0

Motivation for this change
Updating Toot to version 0.24.0 which includes the new TUI along with some encoding fixes since its original introduction in 0.23.0.  The TUI uses the urwid package.
https://github.com/ihabunek/toot/blob/0.24.0/CHANGELOG.md
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[X] Determined the impact on package closure size (by running nix path-info -S before and after): +1778184
[X] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Notify maintainers
cc @matthiasbeyer

@GrahamcOfBorg build toot


Pipelines for docs (PR) and docs-js (nightly) builds

Depends on https://github.com/opencv-infrastructure/opencv-gha-dockerfile/pull/8

Can these pipelines for docs be run on GitHub-hosted runners to reduce the loads of our servers?

Can these pipelines for docs be run on GitHub-hosted runners to reduce the loads of our servers?

This is a good point. In case we don't use extra DNN models from a host and docs builds run about of 10 minutes, we can use GitHub-hosted runners. I will change a pipeline a bit.


Merge dpservice-go and dpservice-cli into dpservice project and simplify testing setup

Why?
Currently we are generating the Golang bindings from the dpservice proto file in a seperate project (dpservice-go). This dpservice-go project is then used inside dpservice-cli to create a CLI for interacting with the dpservice. Each project has it's own GH lifecycle and release code in place.
This causes some very bad side-effects when running end to end tests:

Getting the latest (matching CLI) has to be done in the dpservice project via an own set of scripts
This process is very error prune and might break as we have to keep all 3 projects in sync
We have to do the housekeeping 3x across all projects
We have to maintain Github actions across all 3 projects

Proposed solution
Move dpservice-go into a folder called go inside the dpservice project. This place will hold the generated golang protobuf files.
Move dp-service-cli into a folder called cli. This will be the home of the CLI packages. The goreleaser job will release the CLI packages as part of the dpservice release. That way we ensure the compatibility of the CLI with the underlying dpservice code base.
As a side note: the prometheus exported can be also be placed inside the dpservice project as it is tightly coupled with the dpservice. That way we can ensure functional integrity of the exported code.

The point is, there should be no need to download any artefacts. Instead you should install in the Makefile all necessary tools into a gitinored bin folder to run all your tests. You can find an example here: https://github.com/ironcore-dev/ironcore/blob/main/Makefile#L486-L488
The installation would be actually even easier if the CLI code would be part of the project itself as you then can ensure that you always use the correct version and also ensure that if something breaks you have an immediate prove in the test run.

Not arguing about making version matching easier, it would. The separation came from the fact, that dpservice-go is also needed to compile metalnet project.

In you go.mod you just add the path github.com/ironcore-dev/dpservice/cli and you are done.

Adding a note here, since I encountered this situation when doing an update to the gRPC protocol.
If dpservice-cli and dpservice-go are separate respos, there can be no single PR to do that. First, dpservice needs to update dpdk.proto, implement the server part, then such PR needs to be merged and only after this dpservice-cli can be updated and merged.
This presents a problem, because dpservice's test suite uses dpservice-cli to work. Thus there can be no tests enabled for a newly introduced feature that changes the protocol. It then requires two separate PRs on dpservice side (one that changes dpdk.proto, the other to enable tests).
This two-step approach is doable, because we still have a C gRPC client, so tests can at least be run manually by the developer and reviewer, but it's not automatic.
Of course all the negatives mentioned by Guvenc may still outweigh this single benefit.

#552

Repositories dpservice-cli, dpservice-go and dpdk-prometheus-exporter now moved to dpservice.

As mentioned by @PlagueCZ, this issue can be closed now.


Specify useLayoutEffect dependency array

Executing this effect upon every react re-render can cause the focus to be stolen when a user is interacting with other components. Specifying the appropriate dependency array should ensure that the effect is only executed when necessary.
This fixes #16

@cpresler or @kitten any chance of this making it in? I know you all are in maintenance mode for this repository but this PR should only be a bug fix and adds no additional features. I'm happy to answer any questions you may have regarding the changes as well. Thanks for the work you all do!

I'm not sure I follow what you mean by this because otherwise, on render, the observer won't be disconnected and will see any changes that the React update will make. Which react updates would be made that we don't want the observer to be aware of?
My understanding is that react would only run the cleanup code just prior to completing the new rendering cycle (since this is a useLayoutEffect) but by the time mutation has occurred we would have already received that change with the existing observer, then the observer will get disconnected prior to any changes being made to the dom and then observe will be called--again before any changes are made to the dom since useLayoutEffect will rerun it's setup code prior to the render being completed. i.e. I don't think any mutations to the dom are being avoided with the disconnect as it currently stands because disconnect and the subsequent observe call are all happening between changes to the dom.
To be clear, I'm not implying you are wrong, I'm just not clear on what exactly is problematic about the fix so I can make sure to avoid introducing further problems. Would you be able to provide some sample code that demonstrates the issue?
I've forked the codesandbox from the readme to use my modified code (with a console.log of the mutations observed added as well) and compared the observed mutations with the dependency array added vs excluded when typing in the preview and haven't seen a difference in the two scenarios. You can check it out here: https://codesandbox.io/s/use-editable-forked-yz5zcj?file=/src/useEditable.ts:7836-7971

Actually, in re-checking the docs again, I think I might understand what you are referring to here: https://beta.ja.reactjs.org/reference/react/useLayoutEffect#usage
In the case that the component is rendered multiple times you could see mutations being observed twice, is that correct? I would have thought that it isn't problematic, but I can see how it could be if the mutations are not handled idempotently. I haven't looked into the rest of the code enough to say how that would impact things.


Fix op size telemetry when summarizing

Description
Will close 950 by persisting the op count in the summary heuristic. I opted to use the existing op counters, so non-system op will be reported as non-runtime op, which only includes the summary op. .~When there's possible data loss, we won't report these new metrics~ I think we should anyway, but include a flag saying the data may be inaccurate. Also, some light refactoring and removal of the OpTracker.
Does this introduce a breaking change?
Yes, it removes two fields from IGeneratedSummaryStats which trickles down to other interfaces. There is no migration path here, these are internal interfaces.

Out of curiosity, why move this to a new file ? Do you expect it to be used anywhere else ?

Refers to: packages/runtime/container-runtime/src/opProperties.ts:20 in 73238ea. [](commit_id = 73238eab11d6cde301891587a339da8d3095afe8, deletion_comment = False)

@NicholasCouri didn't want to bloat the running summarizer. No strong feelings pro or against it, just didn't feel cohesive enough with the rest of the things happening in that file.

Hi @sonalivdeshpande, can you help merge this? I don't have permissions.


Delete an unnecessary forward declaration

already include the header file arena.h, delete forward declaration for class Arena
https://github.com/google/leveldb/blob/f57513a1d6c99636fc5b710150d0b93713af4e43/db/skiplist.h#L34-L39

.


Error: stream.push() after EOF

I sometimes get this firing in my app:
Error: stream.push() after EOF

I have a listener:
slack.on('error', function(error) {
  console.error('Error: ', error);
});

but if I look in a debugger, there isn't a listener to the error event on the EventEmitter.

This is coming from the rtm.start operation's onreadystatechange

Hey there, hope you're doing well.
Sorry for the fact we totally ignored this issue :(
I just pushed the 2.0.0 release for this library, which is a ground up refactor with the aim of building a lib that both Slack and our external contributors can easily work with and improve.
The handleWsError function on the new RTM client should now pass that error through for you.

No worries. And nice meeting you the other day Leah.


Revert "Set guess_sample_buffer_bytes and preview_sample_buffer_bytes from Embulk System Properties"

Reverting #1414 since it caused an error in loading a File Input Plugin in a Ruby gem format.
It changed the arguments of Java FileInputRunner's constructor, but the Ruby side did not catch up. It caused the error below.
Unfortunately, it is not trivial to pass the second argument, EmbulkSystemProperties, from Ruby as of now -- it would be easier with a planned change when Guice is removed. This change #1414 was not necessary as of now. Let's revert it now, and think about it later.
	Caused by: org.jruby.embed.InvokeFailedException: (ArgumentError) wrong number of arguments (1 for 2)
		at org.jruby.embed.internal.EmbedRubyObjectAdapterImpl.call(EmbedRubyObjectAdapterImpl.java:320)
		at org.jruby.embed.internal.EmbedRubyObjectAdapterImpl.callMethod(EmbedRubyObjectAdapterImpl.java:159)
		at org.jruby.embed.ScriptingContainer.callMethod(ScriptingContainer.java:1459)
		at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
		at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
		at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
		at java.lang.reflect.Method.invoke(Method.java:498)
		at org.embulk.jruby.ScriptingContainerDelegateImpl.callMethod(ScriptingContainerDelegateImpl.java:634)
		at org.embulk.jruby.LazyScriptingContainerDelegate.callMethod(LazyScriptingContainerDelegate.java:233)
		at org.embulk.jruby.JRubyPluginSource.newPlugin(JRubyPluginSource.java:87)
		... 16 more
	Caused by: org.jruby.exceptions.RaiseException: (ArgumentError) wrong number of arguments (1 for 2)
		at RUBY.new_java(/home/dai/work/embulk/.embulk/lib/gems/gems/embulk-0.10.32.snapshot-java/lib/embulk/file_input_plugin.rb:16)
		at RUBY.new_java_input(/home/dai/work/embulk/.embulk/lib/gems/gems/embulk-0.10.32.snapshot-java/lib/embulk/plugin.rb:155)
		at RUBY.new_java_input(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/forwardable.rb:189)

Thanks!


DHCP: REQUEST should send the ServerId (option 54) for dnsmasq

Describe the Problem
Trying to get DHCP working with my local network where the PC is running dnsmasq, I saw DISCOVER, OFFER, and REQUEST on the wire but dnsmasq wouldn't react to the latter.
After debugging a while and comparing the DHCP packets to those from other devices, the reason seems to be that this library doesn't send the ServerId option (54) in the DHCPREQUEST message. I hacked that in and got a DHCPACK.  (Will make a PR soon.)
Expected Behaviour
Device gets an IP assigned.
Steps to Reproduce
Run the ambientsensor or similar example on a network with dnsmasq (here version 2.89)
Logging
Can be provided if needed.
Additional Context

Hello,
I would like to reopen this Issue, because the REQUEST message sent by my device is NACK'ed by my server. The ServerID option seems to be incorrect. Please see PR #268.
Or should I open a new Issue?
Thanks


Fix ordering of related posts to be date descending

The data retrieved from elasticsearch was not ordered by date so this fixes that by making the most recent related post first.
Additions

Add sort list to the Query.get_tag_related_documents in sheerlike

Testing

go to http://beta.consumerfinance.gov/about-us/operations/ and not that the orderiing is wonky
go to http://content.localhost:8000/about-us/operations/ and note the ordering is date desc

Review

@richaagarwal
@rosskarchner

Screenshots

This looks good but I think it would be easier to test with the other PR merged in (https://github.com/cfpb/cfgov-refresh/pull/1708), since those event dates wouldn't all be the same then. But :+1:


[QUERY] Is it possible to serialze a ManagedDiskData to json?

Library name and version
Azure.ResourceManager.Computer 1.3.0
Query/Question
I noticed the class ManagedDiskData implements IUtf8JsonSerializable. However, the interface IUtf8JsonSerializable is internal so I am not able to call IUtf8JsonSerializable.Write on this class to serialize it to json.
Is there a possible approach or workaround that I can utilize to accomplish my objective?
Thanks!
Environment
No response

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

Thanks @dvbb !


Cardano launcher fails, due to update 3.3.2

I downloaded the install file for the update but installation failed, and now I cannot start Daedalus. Thoughts?

Try restarting your machine. Most likely you had old version of Daedalus running while attempting to install/run the new one.

Try restarting your machine. Most likely you had old version of Daedalus running while attempting to install/run the new one.

Thank you, it worked just fine! It really is amazing how the simplest fix is generally the solution. I restarted and it allowed me to install and login. It took its sweet time to login but that he did. Thank you again!


mention the minimum of version number for bash on OSX

Thank you for gws - it totally fits my needs. I use it on OSX, Ubuntu and Redhat.
On OSX i had to do an additional installation step: upgrading bash like brew install bash.
The reason was that the bash version 3 don't includes the readarray function. Bash 4 do - so, it is an easy to solve blocker.

With pleasure, glad to hear it is useful.
Comment added!


auto detect height

Feature Request:
Make it so the height of each slide is calculated automatically, instead of having to hard code the height inside idangerous.swiper.css.
This would be useful for mobile/responsive layouts where the width of images within the slideshow needs to be set at 100% to fill the full width of the screen.  It isn't possible to know the resultant height of the image if you're using 100% width and so it can't be set within a separate CSS file as it currently is.

Hi guys, how can I achieve this now in 3.0.7 version, i tried http://stackoverflow.com/questions/25946896/swiper-height-auto-resize but doesn't work. Thanks!

@marlonlamancio in the same way. Look at example of @Novalis80, then only difference is that:
var activeSlide = swiper.activeSlide();

should be
var activeSlide = swiper.slides.eq(activeIndex);

swiper 3.0 not include "calculateHeight" api , why not?

Good question, why is the calculateHeight removed?

@GoToBoy because it is not required with flex box layout

Why did you remove the option in the first place? Users could decide for themselfs to drop IE8 support.

Will there be an example where flex-box is used as dynamic height?

@CXHub You probably didn't understand how the calculateHeight option worked in Swiper 2.x and what it was for, nothing similar with setting different slider height for different slide. If you want to support old browser, just use Swiper 2.x


add kubernetes environment settings

@rgardler,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


[BUG] Flaky org.opensearch.performanceanalyzer.collectors.MasterServiceEventMetricsTests.testCollectMetrics test

What is the bug?
The org.opensearch.performanceanalyzer.collectors.MasterServiceEventMetricsTests.testCollectMetricsseems to be flaky and fails randomly:
Suite: Test class org.opensearch.performanceanalyzer.collectors.MasterServiceEventMetricsTests
  2> java.lang.AssertionError
org.opensearch.performanceanalyzer.collectors.MasterServiceEventMetricsTests > testCollectMetrics FAILED
    java.lang.AssertionError
        at org.opensearch.performanceanalyzer.util.TestUtil.readMetricsInJsonString(TestUtil.java:45)
        at org.opensearch.performanceanalyzer.util.TestUtil.readMetricsInJsonString(TestUtil.java:45)
        at org.opensearch.performanceanalyzer.collectors.MasterServiceEventMetricsTests.testCollectMetrics(MasterServiceEventMetricsTests.java:155)
        at org.opensearch.performanceanalyzer.collectors.MasterServiceEventMetricsTests.testCollectMetrics(MasterServiceEventMetricsTests.java:155)

How can one reproduce the bug?
See please https://github.com/opensearch-project/performance-analyzer/runs/5100788184?check_suite_focus=true
What is the expected behavior?
Test should always pass
What is your host/environment?

Github Actions CI

Do you have any screenshots?
N/A
Do you have any additional context?
Add any other context about the problem.

Tests are flaky due to the test verification being a parallel execution path that periodically tries to check if the metrics made it. This does not mean that the test doesn't work, but we need a more deterministic way to verify. Marking this with Medium priority and something that would be a good issue for a first timer.

This test has been renamed to ClusterManagerServiceEventMetricsTests and is now successfully running.


When the master node of RocketMQ 5.1.4 version crashes, scheduled messages cannot be delivered normally

Before Creating the Bug Report

[X] I found a bug, not just asking a question, which should be created in GitHub Discussions.

[X] I have searched the GitHub Issues and GitHub Discussions  of this repository and believe that this is not a duplicate.

[X] I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ.

Runtime platform environment
Linux
RocketMQ version
5.1.4
JDK Version
1.8.0
Describe the Bug
After the primary Broker node crashes, scheduled messages that were not delivered in time cannot be consumed normally, leading to the loss of these messages. However, once the Broker primary node is restarted, the system will return to normal, and messages can be consumed normally
Steps to Reproduce
After the primary Broker node goes down
What Did You Expect to See?
What are the solutions
What Did You See Instead?
None
Additional Context
No response

If there is no switch, the master broker will be offline, and the slave broker will not be able to deliver schedule messages normally.

My deployment architecture is master-slave mode. After the master node goes down, what solutions are available in master-slave mode to enable the slave to continue sending scheduled messages normally?

My deployment architecture is master-slave mode. After the master node goes down, what solutions are available in master-slave mode to enable the slave to continue sending scheduled messages normally?

FYI：https://github.com/apache/rocketmq/blob/develop/docs/cn/SlaveActingMasterMode.md


added pri for importing into an existing QT project

This pri configuration should allow this project to be easily imported into an existing QT project.
example:
include(3rdpart/qtcsv/qtcsv.pri)

Thank you!


Fix test_docker_compose_release and test_barebone_release  for master-v2

Seems like those tests have been failing. Not sure it is just flaky or it is actually failing. Need investigation

Yes, I'm on it rn. It is because of the separation of cabbage tests into submodules. And the submodule doesn't have the newer code


First great enums gem! Another (older) alternative enums gem

Hello,
sorry if this is the wrong (communication) channel.  First let me say that I love your (literal) enums gem.
Some time ago I coded-up my own little enums gem - see https://github.com/rubycocos/core/tree/master/enums.
Anyways,  just trying to say hello and maybe if interested a discussion / debate or such on enums in ruby follows.
Did you look at any alternate enum gems in ruby?   Might be an idea to bring all or some of the ruby enum gems coders / programmers / designers together for a "consensus" on how to promote the idea to the ruby universe at large or such  or see what's different and what's the same (and getting recoded time after time after time after time).
Again sorry if this is the wrong channel.  All the best.  Cheers. Prost.

Hey 👋 I hadn't seen that before. I’ll definitely check it out!
I’m totally down for working together to promote native-(ish) Ruby enums. I’m especially interested in using them in a Rails context. Did you see the rails plugin?
Do you want to grab some time in my calendar? https://savvycal.com/joeldrapper/pair


Confusion on "Sent" vs "Displayed"

I have a customer that provided feedback that this line is confusing:
"To make changes to the message that is sent to users"
They were questioning if an email is sent (which is what admins receive when you don't enable this) or are we saying that a message is just displayed to the user?

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

ID: ceb58b23-c232-2cd4-f79d-f37f87e41cb1
Version Independent ID: 90b2a401-0d67-ec60-132d-8c7cc202c325
Content: Manage license requests
Content Source: microsoft-365/commerce/licenses/manage-license-requests.md
Service: microsoft-365-business
GitHub Login: @cmcatee-MSFT
Microsoft Alias: cmcatee

@jpalarchio Thank you for your feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/12330
Once the author approves, the changes will be live.
Thanks
Sri


Feature Request : drop shadow / Shadow under tooltip

Is it possible to show shadow like we have when we use UIView.layer.shadow?
We have tried to give or add show for the contex using this code
    let shadow = APPCOLOR.Pink.cgColor
    let shadowOffset = CGSize(width: 5.0, height: 5.0)
    let shadowBlurRadius: CGFloat = 5
    context.setShadow(offset:shadowOffset , blur:shadowBlurRadius, color: shadow)

But no success. Please guide me for the same.

I've added shadow to tooltip like this
tipView = EasyTipView(text: tipAddress, preferences: self.preferences)
tipView.layer.shadowColor = UIColor.black.cgColor
tipView.layer.shadowOffset = CGSize(width: 0.0, height: 2.0)
tipView.layer.shadowRadius = 2.0
tipView.layer.shadowOpacity = 0.7
tipView.show(animated:false, forView: self.centerPin, withinSuperview: self.view)
Hope this helps.

shadow support is available as of v2.0.3


Override default rules to remove some rules

I can see that the setCustomRules function can be used to append a list of custom rules. However, what am i supposed to do if I want to remove some of the default rules to match my use case. Is there a way to do this within the current build?

With this PR you will be able to create your own setCustomRules, creating something like:
class QuillCustomDeleteRule extends Rule
Then passing it to the setCustomRules like: setCustomRules: [QuillCustomDeleteRule()]


Getting exception while trying to access the shop.

Terms

[X] Before you openning this issue, i have checked if the issue has already been reported.

Bagisto Version(s) affected
Master
Issue Description
Getting the exception while trying to visit the shop.
Preconditions
The user should be on the velocity home page.
Steps to reproduce

Go to the 'velocity' home page.

Expected Result
There should not be any exceptions while trying to visit the shop.
Actual Result
Getting the exception while trying to visit the shop.
Screenshots
Please find the screenshot Here
Additional context
No response

@jitendra-webkul
Now, this issue is fixed. so I am closing this issue.
And I have attached a screenshot Here, for future reference.


STM32GOB1xx: add soc configs for usart shared_irq

This PR  will allow user to use multiple usart peripherals on STM32G0B1X with same irq at same time.
Fixes #81704

@djiatsaf-st Why closing this PR?


Graphic presentation

Displaying the current state of a parking area - how many slots are free/taken and their colors.
Displaying the default state of a parking area.
Time estimation : 25+ hours

Not relevant to this version of the project, has been closed.


Create iessantiagohernandez.com

@calfranca Thank you for the request! Could you please rename lib/domains/com/iessantiagohernandez.com to lib/domains/com/iessantiagohernandez.txt?
Thank you!

Done

@calfranca Thank you! Your pull request is now merged.


Can't add repository to HA Addons

I am running HassOS on an Raspberry Pi. IO am trying to add the repository using the following URL:
  https://github.com/CoolKit-Technologies/ha-addon

I get the following error:
expected a URL for dictionary value @ data['repository']. Got ' https://github.com/CoolKit-Technologies/ha-addon'

I have used cut-n-paste and had typing the URL but get the same result. I'm not sure if this is an addon problem or and HA problem.
I have attached a screenshot of the "{Manage add-on repositories" page.

Thanks for any help you can provide.

Also had an issue adding the repository.  The tutorial at https://ewelink.cc/ewelink-works-with-home-assistant/ says to use the url https://github.com/CoolKit-Technologies/ha-addon but this in incorrect.
https://github.com/CoolKit-Technologies/ha-addon.git works for me.


Use of RD in B type.

https://github.com/lowRISC/ibex/blob/ac8934459b028220ce9fd20683bb018244b59756/rtl/ibex_tracer.sv#L493
I am wondering why there is a use of RD in B-type instructions? Is this an issue or I am missing something.

Good question, and I can't think of a reason why RD is added here at the moment. But I know that I carefully double-checked the output of the tracer against objdump and ensure the two are identical. Can you try to run a binary with a B-type instruction (any branch) on Ibex and see what you get in the tracer, and compare that what you get with objdump?

I think that's not a problem, that should be same. But there is a column named Register and memory content in the trace generated log file which shows content and the variable data_accessed is used in that column only.
On this particular instruction bge x27, x26, 1003b0, I am getting this output in the log file x27:0x001004f0 x26:0x001004e4  x0=0x00000000. Here we have x0=0x00000000 (although we don't need this at all) that because branch not used rd so it will not be enabled in ibex_core.sv.
https://github.com/lowRISC/ibex/blob/ac8934459b028220ce9fd20683bb018244b59756/rtl/ibex_core.sv#L1356

Sending PR to fix this issue.


vm lauched in rancher cluster with default canal/calico cni can't be access

vm use masquerade and pod network deployed in cluster created by rke, with default cni configure, find the VM can't be access from host, and can't ping host inside the vm.
vm configure:
apiVersion: kubevirt.io/v1alpha3
kind: VirtualMachine
metadata:
  name: ubuntu5-pod-masquerade
  label:
    test: ubuntu5-pod-masquerade
spec:
  dataVolumeTemplates:
    - metadata:
        name: ubuntu5-masq-disk
      spec:
        pvc:
          accessModes:
            - ReadWriteOnce
          resources:
            requests:
              storage: 10Gi
        source:
          http:
            url: http://<IP_ADDRESS>:8080/ubuntu-18.04-server-cloudimg-amd64.img
  running: true
  template:
    spec:
      domain:
        cpu:
          cores: 1
        devices:
          disks:
            - disk:
                bus: virtio
              name: rootdisk
              bootOrder: 1
            - disk:
                bus: virtio
              name: cloudinitdisk
          interfaces:
            - name: default
              masquerade: {}
        resources:
          requests:
            memory: 2048M
      networks:
        - name: default
          pod: {}
      volumes:
        - dataVolume:
            name: ubuntu5-masq-disk
          name: rootdisk
        - cloudInitNoCloud:
            userData: |
              #cloud-config
              password: password
              chpasswd: { expire: False }
              ssh_pwauth: True
          name: cloudinitdisk

cni configure
root@gc-harvester-1:/home/root# cat /etc/cni/net.d/10-canal.conflist
{
  "name": "k8s-pod-network",
  "cniVersion": "0.3.1",
  "plugins": [
    {
      "type": "calico",
      "log_level": "WARNING",
      "datastore_type": "kubernetes",
      "nodename": "xx.xx.221.77",
      "mtu": 1450,
      "ipam": {
          "type": "host-local",
          "subnet": "usePodCidr"
      },
      "policy": {
          "type": "k8s"
      },
      "kubernetes": {
          "kubeconfig": "/etc/kubernetes/ssl/kubecfg-kube-node.yaml"
      }
    },
    {
      "type": "portmap",
      "snat": true,
      "capabilities": {"portMappings": true}
    },
    {
      "type": "bandwidth",
      "capabilities": {"bandwidth": true}
    }
  ]
}

check IP forward in pod:
cat /proc/sys/net/ipv4/ip_forward is 0 , find that IP forwarding isn't enable
base on this kubevirt issue, need to enable IP forwarding for cni, after enable cni IP forwarding, create a new vm with same configure, can access the new vm from host, and can ping host inside the vm.
cni configure after enabling IP forwarding
root@gc-harvester-1:/home/root# cat /etc/cni/net.d/10-canal.conflist
{
  "name": "k8s-pod-network",
  "cniVersion": "0.3.1",
  "plugins": [
    {
      "type": "calico",
      "log_level": "WARNING",
      "datastore_type": "kubernetes",
      "nodename": "xx.xx.221.77",
      "mtu": 1450,
      "ipam": {
          "type": "host-local",
          "subnet": "usePodCidr"
      },
      "policy": {
          "type": "k8s"
      },
      "kubernetes": {
          "kubeconfig": "/etc/kubernetes/ssl/kubecfg-kube-node.yaml"
      },
      "container_settings": {
	  "allow_ip_forwarding": true
      }
    },
    {
      "type": "portmap",
      "snat": true,
      "capabilities": {"portMappings": true}
    },
    {
      "type": "bandwidth",
      "capabilities": {"bandwidth": true}
    }
  ]
}

@aiwantaozi why is this related to multus CNI since this is pod network configuration.

updated

closed as this is documented.


Use default transport settings for our custom TLS HTTP client

f41c176 introduced a custom HTTP client to make use of the self-signed
certificate specified in the clouds.yaml file. This change however
removed all the settings that came with the DefaultTransport, including
handling of proxy environment variables and default timeouts.
This commit ensures the custom HTTP client inherits its settings from
the default transport.
Requires golang 1.13.
Fixes #148

LGTM! :+1:

@jtopjian give me time till tomorrow. I'll review this.

Just want to make sure you folks saw this PR makes the minimum go version 1.13 and you're OK with it.


grpcproxy: fix deadlock on watch broadcasts stop

Holding the WatchBroadcasts lock and waiting on donec was
causing a deadlock with the coalesce loop. Was causing
TestV3WatchSyncCancel to hang.

lgtm


ResponsiveSplitter in NavContainer: focus automatically set with autoFocus="false"

URL (minimal example if possible):
https://output.jsbin.com/gitetak
It contains sap.m.App with autoFocus set to false.
Steps to reproduce the problem:

Open the above sample in a small window so that there is only a single pane visible.
Reload the page

What is the expected result?
With <App autoFocus="false">, focus shouldn't be set automatically.
What happens instead?
Focus is set on the footer element.

Hello @boghyon ,
Thank you for sharing this finding. I've created an internal incident<PHONE_NUMBER>. The status of the issue will be updated here in GitHub.
Regards,
Gery

Hello @boghyon ,
As this focus restoring is part of ResponsiveSplitter logic, we have updated our Documentation for NavContainer in a way that explains why this happens and it is actually an expected behavior.
Fixed with commit: f7d57b10c60417b0db995054bbdf39981296c3cb
Regards,
Iliana

The issue with sap.ui.layout.ResponsiveSplitter is no longer reproducible.


Add sorted maps and sets to the T-collections.

Do others agree that it would make some amount of sense to not only have such things as TMap and TSet, but also TSortedMap and TSortedSet in the library of Transactional Collections?

That would make sense. Unfortunately I don't have the bandwidth to work on that.

Personally, I would love a TVector ;)


Final review for Storage

Have we had someone look at storage yet?

@jgeewax, is this still something we need to do?

/cc @Capstan Any chance you have time to take a look ? I think we're pretty good though. So let's expire this in 7 days (Mon Aug 31)


Do not subscribe to SIGINT signal unless lock is acquired

Test plan

Changelog

#5026
#5025
#5024
#4999
#5003
#4992
#4993
#5120  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @RXminuS and the rest of your teammates on  Graphite


Integrate react-i18next

Description

Integrate react-i18next
Refactor some codes
Add a lint:fix command for JS

Screenshots

EN

ZH

ID

JA

TL

OK. Screenshots are attached in the commit description.
Format of locale files can be adjusted to be more readable.  Improve it latter.
This PR is mainly for use i18n.


Can't open Buff Setup as of Patch 2.3.0bb

The Buff Setup button has been replaced by a second metamagic button that does nothing when pressed. Because of this, the buff setup window can't be accessed. The buff configuration that I had before the update seems to be working fine and I can still buff when pressing the buff button, but I can't change the buff setup.
Screenshot

Same Issue on my end, however interesting to note is that previous configurations still load and work, so only accessing the spell/setup page is broken.


Svelte 5 - ownership_invalid_mutation when using PaneAPI

Describe the bug
When using the PaneAPI in dev mode, the console shows an invalid mutation.
[svelte] ownership_invalid_mutation src/App.svelte mutated a value owned by node_modules/paneforge/dist/components/pane-group.svelte. This is strongly discouraged. Consider passing values to child components with `bind:`, or use a callback instead

Reproduction

Go to https://stackblitz.com/edit/vitejs-vite-3gbmhx?file=src%2FApp.svelte
Open the browser's dev tools
Click on the toggle button

Minimal repro:
<script>
	import { PaneGroup, Pane, PaneResizer } from "paneforge";

	let pane1IsCollapsed = $state(false)
	let pane1 = $state()

	function togglePane1() {
		if (pane1IsCollapsed) {
			pane1.expand()
		} else {
			pane1.collapse()
		}
		pane1IsCollapsed = !pane1IsCollapsed
	}
</script>

<button onclick={togglePane1}>Toggle Pane 1</button>
<PaneGroup direction="horizontal">
	<Pane bind:this={pane1} defaultSize={50} collapsible={true} collapsedSize={0}>Pane 1</Pane>
	<PaneResizer style="width: 10px; background-color: red;"/>
	<Pane defaultSize={50}>Pane 2</Pane>
</PaneGroup>

Logs
[svelte] ownership_invalid_mutation src/App.svelte mutated a value owned by node_modules/paneforge/dist/components/pane-group.svelte. This is strongly discouraged. Consider passing values to child components with `bind:`, or use a callback instead

System Info
System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 18.20.3 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 10.2.3 - /usr/local/bin/npm
    pnpm: 8.15.6 - /usr/local/bin/pnpm
  npmPackages:
    paneforge: ^1.0.0-next.1 => 1.0.0-next.1
    svelte: ^5.2.3 => 5.2.3

Severity
annoyance

I'm not sure how you'd do it, but I think Svelte 5 now wants props that are owned by a component (.collapse() and .expand() in this case) to be $bindable. But I'm not sure how to do that with methods on this...

This is a false positive: https://github.com/sveltejs/svelte/issues/13607


Add Heroglyphs LASAGNA Token

Please review the following token assets:
📑 Description

Token Name: LASAGNA
Project Website: https://www.heroglyphs.com
Explorer URI: https://arbiscan.io/address/0x4e6b45bb1c7d11402faf72c2d59cabc4085e36f2

✅ Checks

[x] I created a new folder with the token address, all in lowercase
[ ] I added the token's logo as a 32x32 PNG file, named logo-32.png
[ ] I added the token's logo as a 128x128 PNG file, named logo-128.png
[x] I added the token's logo as a SVG file, named logo.svg
[x] My SVG logo is a proper SVG and not some base64 stuff
[x] My documentation/website clearly display the token address somewhere

please change the directory name to lowercase and submit a nonbase64 encoded SVG. A simple SVG conversion isn't allowed by this repo


Added HttpResponse::newStreamResponse()

Hi,
This PR adds HttpResponse::newStreamResponse() to send data obtained from a callback.
The goal is to be able to stream data of unknown size, like transcoded multimedia for example.
It sends the data with Transfer-Encoding chunked if the Content-Length is not set and the connection is keep-alive.
It requires the PR 196 of trantor.
It was tested on Windows 10 (MSVC 2019, x64) and it compiles on OSX (11.5.2).
Note:
newFileResponse() could be rewritten to call newStreamResponse(), with a callback similar to this:
int fd = open(fullPath.c_str(), O_BINARY | O_RDONLY);
lseek(fd, offset, SEEK_SET);
auto lambda = [](std::ustring strFile, int nFd, size_t nEndPos, char* pBuffer, std::size_t nBuffSize) -> std::size_t {
    if (nFd < 0) return 0;
    if (!pBuffer) {
        std::cout << strFile.c_str() << " closed." << std::endl;
        close(nFd);
        return 0;
    }
    int nPos = lseek(nFd, 0, SEEK_CUR);
    int nReadSize = std::min(nEndPos - nPos, nBuffSize);
    int nRead = read(nFd, pBuffer, nReadSize);
    if (nRead < 0)
        return 0;
    return static_cast<std::size_t>(nRead);
};
struct stat fileStat;
fstat(fd, &fileStat);
auto callback = std::bind(lambda, fullPath, fd, std::min(offset + length, fileStat.st_size), std::placeholders::_1, std::placeholders::_2);
resp = drogon::HttpResponse::newStreamResponse(callback, attachmentFileName, type, typeString);
resp->addHeader("Content-Length", std::to_string(fileStat.st_size));

Hi, I'm back.
I moved the chunking from the PR #196 of trantor.
I tested it by writing a server serving files as streams.
It works both on Windows & Linux.
I also fixed FindBrotli.cmake that did not find the when Brotli library when it is built statically only (what is my case since I'm using vcpkg with static triplets).

Here is a POC project that you may use to test the streaming.
FileServerPOC.zip
It's a server that serves the Video files in your home directory as streams :

http://localhost:8081/files : the list of files available
http://localhost:8081/file/<filename> : get the file  via HttpResponse::newFileResponse()
http://localhost:8081/stream/<filename> : get the file  via HttpResponse::newStreamResponse() without chunked transfer-encoding
http://localhost:8081/stream/<filename>/chunked : get the file  via HttpResponse::newStreamResponse() with chunked transfer-encoding

Can this Merge be used to send text/event-stream messages or maybe cv::Mat which has been encoded to image/jpeg?
is it just for streaming of files that are present on the server drive?

It's to stream any kind of data. No need of file on disk.
In my use case, it's to send audio/video streams generated or transcoded & merged on the fly.

well where does the nBuffSize come from? if i want to stream mjpeg what can i do for nBuffSize?

I've also been experimenting with this for server sent events (SSE) using eventsource web API from the client.
pBuffer & nBuffSize are provided to the callback. You can copy as much as nBuffSize bytes into the buffer. You will then return the number of bytes that you copied and want to be sent and 0 when you want to end the stream.
I'm wondering if there's a recommended way to throttle the streaming? In my case, I want to send an event from the server only when something else in the program triggers. If I block inside the streaming callback, I'm blocking a Drogon Eventloop thread which seems wrong. Can throttling be implemented differently?

I've also been experimenting with this for server sent events (SSE) using eventsource web API from the client.
pBuffer & nBuffSize are provided to the callback. You can copy as much as nBuffSize bytes into the buffer. You will then return the number of bytes that you copied and want to be sent and 0 when you want to end the stream.
I'm wondering if there's a recommended way to throttle the streaming? In my case, I want to send an event from the server only when something else in the program triggers. If I block inside the streaming callback, I'm blocking a Drogon Eventloop thread which seems wrong. Can throttling be implemented differently?

@eniv @Greisby
Can you elaborate a bit more on how to provide the pBuffer and nBuffSize? I attempted to use std::ifstream to replace the read in the code, but it did not work so far. Here is my code snippet:
      std::ifstream fIn(fsPath.native(), std::ifstream::in | std::ifstream::binary);
      if (!fIn)
      {
          Json::Value ret;
          ret["result"s] = "failed"s;
          ret["reason"s] = "Error opening file";
          resp = drogon::HttpResponse::newHttpJsonResponse(ret);
          resp->setStatusCode(drogon::k500InternalServerError);
          break;
      }

      auto lambda = [](std::ifstream& fIn, char* pBuffer, std::size_t nBuffSize) -> std::size_t {
          if (!fIn) {
              std::cout << "File ends\n";
              return 0;
          }

          if (pBuffer == nullptr) {
              std::cout << "File closed." << std::endl;
              fIn.close();
              return 0;
          }
          int nRead = fIn.read(pBuffer, nBuffSize).gcount();

          if (nRead < 0)
              return 0;

          return std::size_t(nRead);
      };

      auto callback = std::bind(lambda, std::ref(fIn), std::placeholders::_1, std::placeholders::_2);

The callback was executed for once and nRead turned to 0, which ended the stream. Should I pre-allocate the pBuffer in my code?

Is it possible that your fIn goes out of scope as soon as the controller method which starts the stream returns and therefore the reference in the lambda is lost?
My understanding is that you don't provide pBuffer & nBuffSize and therefore no allocation is needed. Your code is correctly reading data (up to nBuffSize) into pBuffer and returns the number of bytes read which are now available for streaming. The stream ends once the lambda returns 0, which also seems to be implemented correctly.

Thanks for your response, @eniv.

Is it possible that your fIn goes out of scope as soon as the controller method which starts the stream returns and therefore the reference in the lambda is lost?

It should be the reason, since I print the fin inside the lambda and it is not valid.
I wonder why the read() and fd in the original code works. It is also initialized inside the controller method. Shouldn't it have the same "out of scope" issue as my code does?

That is the part I missed! Make sense now.
If I can not use file descriptor in my case, how should I proceed with the ifstream? Do I make it a member of the controller class? Will it go out of scope too?

Adding std::ifstream as a class member works in this case. Thanks @eniv!

Wanner ask another question regarding the pBuffer and nBuffSize. I read the implementation codes and learn that they are initialized to be 16384. What if my output size is bigger than this number? It would overflow the pBuffer.
My case is to transcode a video file by decoding and encoding it again using different parameters. The per frame size might exceed 16KB. Should I segment the bit stream to accommodate the nBuffSize?

Yes, you need a mechanism that chunks the frame into the stream buffer.

I've also been experimenting with this for server sent events (SSE) using eventsource web API from the client.
pBuffer & nBuffSize are provided to the callback. You can copy as much as nBuffSize bytes into the buffer. You will then return the number of bytes that you copied and want to be sent and 0 when you want to end the stream.
I'm wondering if there's a recommended way to throttle the streaming? In my case, I want to send an event from the server only when something else in the program triggers. If I block inside the streaming callback, I'm blocking a Drogon Eventloop thread which seems wrong. Can throttling be implemented differently?

I am having the exact same issue right now. How can we accomplish throttling without fully blocking the drogon event loop?

Please add an example of using the feature.


Command terraform/install requires sudo, which is missing

Orb Version
1.2.0
Describe the bug
When using the terraform/install command to install a specific version of Terraform, the command fails executing sudo mv terraform /usr/local/bin with the following error: /bin/sh: sudo: not found.
To Reproduce

Use the<EMAIL_ADDRESS>orb in your pipeline
Setup a job running with executor terraform/default
Add the terraform/install command to the job
Schedule a pipeline run
Observer your terraform job failing at the terraform/install step

Expected behavior
EITHER The terraform/default execution environment is configured to support the execution of the terraform/install command.
OR The orb documentation mentions the additional steps required to prepare the execution environment for the execution of the terraform/install command.
Additional context
version: 2.1

orbs:
  terraform<EMAIL_ADDRESS>
jobs:
  # Terraform
  deploy_infrastructure:
    executor: terraform/default
    working_directory: ~/my-repository/infrastructure
    steps:
      - attach_workspace:
          name: Attach workplace from previous job(s)
          at: ~/my-repository
      - terraform/install:
          terraform_version: 0.13.5

If you're leveraging the default executor, you likely don't need to install terraform as well - if you need a specific version, you should pass that through to the executor or use another Docker image :)
version: 2.1

orbs:
  terraform<EMAIL_ADDRESS>
jobs:
  # Terraform
  deploy_infrastructure:
    executor:
      name: terraform/default
      image: hashicorp/terraform:0.13.5
    working_directory: ~/my-repository/infrastructure
    steps:
      - attach_workspace:
          name: Attach workplace from previous job(s)
          at: ~/my-repository

Thanks @gmemstr ! That solves my problem :)


Crisis Management Plan

I have largely completed migrating the Sovrin Crisis Management based on the original Google Docs version.
There are still some TBD items (I am using "TK" convention that authors often use for "To Come" - and yeah, TK since those letters rarely ever appear in a document).

Thanks Steven - I'll get that addressing in my clean repository. I managed
to do a "-S" commit (with full GPG support) not a "-s" on that rep. Much
appreciated!
Darrell O'Donnell, P.Eng.
<EMAIL_ADDRESS>On Sat, Aug 18, 2018 at 12:18 PM, Steven Gubler<EMAIL_ADDRESS>wrote:

@darrellodonnell https://github.com/darrellodonnell, It looks like
you've missed your DCO signoff on the last 8 of your commits. Please refer
to this documentation
https://github.com/hyperledger/indy-sdk/blob/master/doc/signing-commits.md
for information on how to fix this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/sovrin-foundation/sovrin-sip/pull/11#issuecomment-414069343,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAp7BzQEWBXS_eUHI46g3yRSHrNdjgy2ks5uSD5ogaJpZM4V-2lq
.

@darrellodonnell actually, the DCO checks do not check for GPG signatures. I think this is kinda odd, but that is the way it is I guess. So you will need to use the -s flag. You can actually use both if you want, (this is what I do):
git commit -S -s -m '<commit message>'

This was merged in a different PR where signing was fixed.


WIP: Canceling Orders and Tests

[Work in Progress]
This work in progress pull request is to implement the canceling of orders.
Example (engine part not yet done):
// 1) A places an order
val order = MarketOrder(BuyOrder, 200 /* quantity */, A)
matchingEngine.add(order)
// 2) Let's say A waited 2 seconds and A saw this awful trade between A and B
//    => Trade(A, B, 1000.50, 100)
// 3) Now A has 100 quantity unfulfilled and wants to cancel because 1000.50 is too much
matchingEngine.cancel(order)
// 4) Success! Now A's order has been canceled and A only bought 100 shares from B

This is pretty close to being done. I would like to clean up some of the horrific cancel code (thought it is tested). I would like to have a way of knowing whether an order was actually canceled immediately rather than having to query through the order books. This isn't hard, I'm just wondering if the "nice"ness of it is actually necessary.

I really wouldn't know if it is correct or not but I looked at the diff and things look good.

It's almost ready for final review, I just want to figure out how add events for success/ failure of requests: adding order, canceling order, failed trade execution.

Ok, I think this is a decent stopping point. It's not perfect, but I'd call this good enough for now.

Looks good. Good tests.


Add Cafe site

Project title
Cafe site
Project Description
It will be a cafe site, which will contain all details of items including snacks, takeaways and delivery, and all necessary items that are required in a cafe.
Stack:
And in order to tick the check box just but x inside them for example - [x] like this. Please delete options that are not relevant.

[x] Html
[x] CSS
[x] JavaScript

As a GSsOC'22 contributor, I would like to work on it. Please assign it to me.


How to re-traning when stop

I have run code "train.py". But I stop it.
I wonder if I can how to re-train with the latest checkpoint?
Please help me.

You can modify the training code by adding
model.load_weights(weight_file)
before
model.fit()
This will restore the weights from the checkpoint file, but do be aware of the learning rate as the original learning rate decays in the later epochs, so by restarting the training from epoch 0 with the already trained weights, you might have to make some modifications.


Uploading Changes with conflicts may result in tight loop / soft hang

Description
Looks like there are potential issues with the conflict resolution portion of the save dialog in Rapid 2.2.5.
Screenshots
https://github.com/facebook/Rapid/assets/1887955/ed95008b-e0f3-4164-906f-6c3d78c10889
Version
2.2.5
What browser are you seeing the problem on? What version are you running?
Chrome
The OS you're using
MacOS 14
Steps to reproduce
This one may take a bit of time to try and reproduce, as it involves conflicts in OSM.
See the video above for the issue itself- while uploading his changes, @atiannicelli encountered a tight-loop where we just display 0/66 conflicts.... forever.
Upon refresh, the local changes to the map were dropped and the Alex lost all his work. :(
The browser URL at the time you encountered the bug
TBD- will ask Alex for this input
The auto-detected useragent string for your browser (leave blank if you're manually filling this form out)
No response

yeah this one is painful 😞
This is a duplicate of #1361


DDP

I thought to share my 2 cents on DDP--
There are many clients out there that speak DDP, for example:
https://github.com/martijnwalraven/meteor-ios
https://github.com/hharnisc/react-native-meteor
https://github.com/mondora/asteroid/issues
And there are nifty Rest / DDP tools out there too:
https://github.com/okgrow/rest2ddp
Turning a standard REST api into a reactive DDP protocol.
The inter-communication with the Meteor project would really empower Volt in terms of resources available to developers. If DDP were fundamentally flawed however, this point would be moot. Is it?

Looks interesting but I'm not sure how much work it would be to change Volt to use it.

Interesting.  I've had the same thought several months ago to be honest.  I think that it would certainly be useful and has a compelling argument.  Probably not a huge priority, but a good idea.


[W6.4f][W13-B1] Aadyaa Maddi

LO-Abstract
Made execute() in Command abstract so that Command's child classes will need to implement their own versions of it.

@amad-person
Accepting this PR with just a minimal review because

nothing much to take note of here, or
another of your PRs for this tutorial was reviewed in detail

Acknowledged


GtTextLiveSlide should not hardwire the horizontal width

GtTextLiveSlide has a fixed width available of 0.6.
This should be configurable.

Now you can configure the available width as follows:
splGrammar: aSlide
	<gtSlide>
	^ aSlide text
		horizontalWeight: 1;
...


Hey I would like to contribute SwagUI

I have worked fulltime with expressjs and all things node. Also worked a bit with swagger express. I think will be contribute this package :)
What are your plans regarding new features and taking this forward? Can we do like zoom call or something on coming weekend? 👯♂

looks great. I think I can begin by adding support for SwagUI in pkgvizboard api endpoints on separate branch

@AbhimanyuAryan Because SwagUI just builds a html file for the Swagger page, it doesn't really do much.
Couple things could be interesting IMO,

Add functionality similar to Swagger Editor and new features such as update the swagger doc in the code after editing in the editor. Generating Genie REST server stub code from the editor could be fun too, I need to think about this a bit more
Some optimizations need to be done around SwaggerMarkdown which generates the OpenApi file for SwagUI to consume
Model the Swagger Options using struct instead of Dict (nice to have but very low value)

@jiachengzhang1 sounds like a plan to me. Thanks 🤜🏼


Issue 480: Create two columns on the Docs page

Description
Issue 480: I have created a layout for the docs page that now has two columns with the boxes side by side when the browser is wide enough. When the browser is shrunk, the two columns stack into a single column. @joewxboy
How Has This Been Tested?

I ran this locally to ensure that the changes worked. Tested functionality as the screen shrunk to find a working solution.

Congratulations, @dglindner2 you are now officially a project Contributor.


Adding release-gist.bash script

Putting this into source control.
Closes #249

@Jamie-SA Can you let me know if this changes anything that's described in the Release section of ChangeAndReleaseManagement.md? Thanks.

You probably could change the last 4 lines of your document, it is only vaguely correct.
Because I saw somewhere that this repo is only for public stuff I put documentation for our internal deployment process on our internal wiki and not here.
However, I wanted someplace to put this script.

I went back and forth a bit in writing my documentation. The text on release process is not publicly relevant - other than to state the cadence - but on the other hand I didn't want to put documentation in two different places. I may reconsider.


Incorrect warning "owners may reassign ownership for the following model..."

Before opening, please confirm:

[X] I have searched for duplicate or closed issues and discussions.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

JavaScript Framework
React Native
Amplify APIs
GraphQL API
Amplify Categories
auth
Environment information

# Put output below this line
  System:
    OS: macOS 12.5.1
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 1.94 GB / 16.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 16.17.0 - ~/.nvm/versions/node/v16.17.0/bin/node
    Yarn: 1.22.19 - ~/core/www/node_modules/.bin/yarn
    npm: 8.19.2 - ~/.nvm/versions/node/v16.17.0/bin/npm
  Browsers:
    Chrome: 106.0.5249.103
    Firefox: 101.0
    Safari: 15.6.1
  npmPackages:
    @apollo/client: ^3.5.7 => 3.5.7
    @apollo/client/cache:  undefined ()
    @apollo/client/core:  undefined ()
    @apollo/client/errors:  undefined ()
    @apollo/client/link/batch:  undefined ()
    @apollo/client/link/batch-http:  undefined ()
    @apollo/client/link/context:  undefined ()
    @apollo/client/link/core:  undefined ()
    @apollo/client/link/error:  undefined ()
    @apollo/client/link/http:  undefined ()
    @apollo/client/link/persisted-queries:  undefined ()
    @apollo/client/link/retry:  undefined ()
    @apollo/client/link/schema:  undefined ()
    @apollo/client/link/utils:  undefined ()
    @apollo/client/link/ws:  undefined ()
    @apollo/client/react:  undefined ()
    @apollo/client/react/components:  undefined ()
    @apollo/client/react/context:  undefined ()
    @apollo/client/react/hoc:  undefined ()
    @apollo/client/react/hooks:  undefined ()
    @apollo/client/react/parser:  undefined ()
    @apollo/client/react/ssr:  undefined ()
    @apollo/client/testing:  undefined ()
    @apollo/client/testing/core:  undefined ()
    @apollo/client/utilities:  undefined ()
    @apollo/client/utilities/globals:  undefined ()
    @aws-amplify/auth: ^4.3.20 => 4.3.20 (4.6.8)
    @aws-amplify/datastore: ^3.7.4 => 3.7.4 (3.12.12)
    @aws-sdk/client-cognito-identity: ^3.54.1 => 3.54.1 (3.6.1)
    @aws-sdk/client-kinesis: ^3.54.1 => 3.54.1 (3.6.1)
    @aws-sdk/client-location: ^3.54.1 => 3.54.1 (3.48.0)
    @aws-sdk/credential-provider-cognito-identity: ^3.54.1 => 3.54.1 (3.6.1)
    @aws-sdk/credential-providers: ^3.54.1 => 3.54.1
    @aws-sdk/property-provider: ^3.54.1 => 3.54.1 (3.6.1, 3.47.2, 3.171.0)
    @babel/core: ^7.12.9 => 7.16.12 (7.12.3)
    @babel/plugin-proposal-class-properties: ^7.16.7 => 7.16.7
    @babel/plugin-proposal-logical-assignment-operators: ^7.16.7 => 7.16.7
    @babel/plugin-syntax-class-properties: ^7.12.13 => 7.12.13
    @babel/plugin-syntax-dynamic-import: ^7.8.3 => 7.8.3
    @babel/preset-typescript: ^7.16.7 => 7.16.7
    @babel/runtime: ^7.12.5 => 7.16.7 (7.19.0)
    @googlemaps/google-maps-services-js: ^3.3.6 => 3.3.6
    @mapbox/mapbox-gl-style-spec:  13.18.0-dev
    @react-native-async-storage/async-storage: ^1.15.15 => 1.15.17
    @react-native-community/eslint-config: ^1.1.0 => 1.1.0
    @react-native-community/geolocation: ^2.0.2 => 2.0.2
    @react-native-community/netinfo: ^7.1.7 => 7.1.7
    @sentry/react: ^6.16.1 => 6.19.7
    @sentry/serverless: ^6.16.1 => 6.19.7
    @sentry/tracing: ^6.16.1 => 6.19.7
    @sentry/webpack-plugin: ^1.18.3 => 1.18.4
    @stripe/react-stripe-js: ^1.7.0 => 1.7.0
    @stripe/stripe-js: ^1.22.0 => 1.22.0
    @stripe/stripe-react-native: 0.2.2 => 0.2.2
    @types/aws-lambda: ^8.10.90 => 8.10.91
    @types/aws-sdk: ^2.7.0 => 2.7.0
    @types/clone-deep: ^4.0.1 => 4.0.1
    @types/color: ^3.0.3 => 3.0.3
    @types/google-libphonenumber: ^7.4.23 => 7.4.23
    @types/jest: ^27.4.0 => 27.4.0
    @types/jest-in-case: ^1.0.5 => 1.0.5
    @types/luxon: ^2.3.0 => 2.4.0
    @types/mapbox-gl: ^2.6.0 => 2.6.0
    @types/node: ^17.0.10 => 17.0.10 (14.18.9, 18.8.2)
    @types/node-fetch: ^2.6.1 => 2.6.1 (2.5.12)
    @types/nodemailer: ^6.4.4 => 6.4.4
    @types/pino: ^7.0.4 => 7.0.5
    @types/pretty: ^2.0.1 => 2.0.1
    @types/react: ^17.0.38 => 17.0.38
    @types/react-dom: ^17.0.11 => 17.0.11
    @types/react-native: 0.66.12 => 0.66.12 (0.66.15)
    @types/react-native-vector-icons: ^6.4.10 => 6.4.10
    @types/react-router-dom: ^5.3.2 => 5.3.3
    @types/react-router-native: ^5.1.2 => 5.1.3
    @types/stripe-v3: ^3.1.26 => 3.1.26
    @types/uuid: ^8.3.4 => 8.3.4
    @types/validator: ^13.7.1 => 13.7.1
    @typescript-eslint/eslint-plugin: ^4.15.1 => 4.33.0 (2.34.0)
    @typescript-eslint/parser: ^4.15.1 => 4.33.0 (2.34.0)
    HelloWorld:  0.0.1
    amazon-cognito-identity-js: ^5.2.4 => 5.2.4 (5.2.10)
    apollo: ^2.34.0 => 2.34.0
    aws-amplify: ^4.3.37 => 4.3.37
    aws-appsync-auth-link: ^3.0.7 => 3.0.7
    axios: ^0.26.1 => 0.26.1 (0.26.0, 0.21.4, 0.24.0)
    babel-eslint: ^10.1.0 => 10.1.0
    babel-loader: 8.1.0 => 8.1.0
    cheerio: ^1.0.0-rc.10 => 1.0.0-rc.10
    clone-deep: ^4.0.1 => 4.0.1
    color: ^4.2.3 => 4.2.3 (3.2.1)
    core-js: 2 => 2.6.12 (3.21.0, 3.20.3)
    date-fns: ^2.28.0 => 2.28.0 (1.30.1)
    email-addresses: ^5.0.0 => 5.0.0
    eslint: ^7.20.0 => 7.32.0
    eslint-config-airbnb: ^18.2.1 => 18.2.1
    eslint-config-airbnb-typescript: ^12.3.1 => 12.3.1
    eslint-config-prettier: ^7.2.0 => 7.2.0 (6.15.0)
    eslint-plugin-import: ^2.22.1 => 2.25.4
    eslint-plugin-jest: ^24.1.5 => 24.7.0 (22.4.1)
    eslint-plugin-jsx-a11y: ^6.4.1 => 6.5.1
    eslint-plugin-prettier: ^3.3.1 => 3.4.1 (3.1.2)
    eslint-plugin-react: ^7.22.0 => 7.28.0 (7.19.0)
    eslint-plugin-react-hooks: ^4.2.0 => 4.3.0 (3.0.0)
    events: ^3.3.0 => 3.3.0 (1.1.1)
    exceljs: ^4.3.0 => 4.3.0
    fast-deep-equal: ^3.1.3 => 3.1.3
    fuse.js: ^6.5.3 => 6.5.3
    geolib: ^3.3.3 => 3.3.3
    google-libphonenumber: ^3.2.28 => 3.2.28
    hermes-inspector-msggen:  1.0.0
    immutability-helper: ^3.1.1 => 3.1.1
    import-sort-style-module: ^6.0.0 => 6.0.0
    jest: 26.6.0 => 26.6.0
    jest-in-case: ^1.0.2 => 1.0.2
    js-sha256: ^0.9.0 => 0.9.0
    json2csv: ^5.0.6 => 5.0.6
    khshared: link:./shared => 0.0.1
    luxon: ^2.3.0 => 2.3.0
    mapbox-gl: 1.13.2 => 1.13.2
    metro-react-native-babel-preset: ^0.66.2 => 0.66.2
    node-fetch: 2.6.7 => 2.6.7
    nodemailer: ^6.7.2 => 6.7.2
    nullthrows: ^1.1.1 => 1.1.1
    pdf-lib: ^1.17.1 => 1.17.1
    pino: ^7.6.3 => 7.6.4
    prettier: 2.2.1 => 2.2.1 (2.5.1)
    prettier-plugin-import-sort: ^0.0.7 => 0.0.7
    pretty: ^2.0.0 => 2.0.0
    react: ^17.0.2 => 17.0.2
    react-app-rewired: ^2.1.11 => 2.1.11
    react-dom: ^17.0.2 => 17.0.2
    react-native: ^0.66.4 => 0.66.4
    react-native-config: ^1.4.5 => 1.4.5
    react-native-document-picker: ^7.1.3 => 7.1.3
    react-native-encrypted-storage: ^4.0.2 => 4.0.2
    react-native-file-viewer: ^2.1.5 => 2.1.5
    react-native-geolocation-service: ^5.2.0 => 5.2.0
    react-native-get-random-values: ^1.7.2 => 1.7.2
    react-native-image-picker: ^4.7.3 => 4.7.3
    react-native-image-resizer: ^1.4.5 => 1.4.5
    react-native-keychain: ^8.0.0 => 8.0.0
    react-native-maps: ^0.30.1 => 0.30.1
    react-native-mask-input: ^1.1.0 => 1.1.0
    react-native-paper: 4.11.2 => 4.11.2
    react-native-touch-id: ^4.4.1 => 4.4.1
    react-native-url-polyfill: ^1.3.0 => 1.3.0
    react-native-vector-icons: ^9.0.0 => 9.0.0
    react-native-web: ^0.17.5 => 0.17.5
    react-native-webview: ^11.16.0 => 11.17.0
    react-router: ^5.2.1 => 5.2.1
    react-router-dom: ^5.2.1 => 5.3.0
    react-router-native: ^5.2.1 => 5.2.1
    react-scripts: ^4.0.3 => 4.0.3
    react-test-renderer: 17.0.2 => 17.0.2
    stripe: ^8.197.0 => 8.199.0
    transport:  0.0.1
    ts-jest: ^26.5.6 => 26.5.6
    ts-loader: ^9.2.6 => 9.2.6
    ts-node: ^10.7.0 => 10.7.0 (9.1.1)
    typescript: 4.2.4 => 4.2.4 (3.9.10)
    uuid: ^8.3.2 => 8.3.2 (3.4.0, 3.3.2, 7.0.3)
    validator: ^13.7.0 => 13.7.0
  npmGlobalPackages:
    @aws-amplify/cli: 9.2.1
    @vercel/ncc: 0.34.0
    corepack: 0.12.1
    graphql-ttl-transformer: 2.0.0
    npm: 8.19.2

Describe the bug
Since I installed Amplify version 10.0.0, when running amplify api gql-compile, I've seen the following warning:

In our model, a Coordinator has a primary key of type id: ID! that we use when running the autogenerated updateCoordinator function to update other fields.
Can you clarify why an updateCoordinator, which needs the id to identify the record to update and that does not, in fact, mutate the id, still shows the warning?
I cannot remove the permission to update otherwise I lose the possibility to update.
Expected behavior
A primary key field should be expected to be used to perform update mutations on a model and it shouldn't show the warning.
Reproduction steps

Install Amplify CLI: npm install -g<EMAIL_ADDRESS>Init your environment with amplify init
Create a GraphQL schema  with a type such as

type Coordinator @model @auth(
    rules: [
      { allow: owner, ownerField: "id" }
    ]) {
  id: ID!
  something: String
}

Run amplify api gql-compile and you should see the warning

Code Snippet
// Put your code below this line.

Log output

// Put your logs below this line
⚠ WARNING: owners may reassign ownership for the following model(s) and role(s): Coordinator: [id]. If this is not intentional, you may want to apply field-level authorization rules to these fields. To read more: https://docs.amplify.aws/cli/graphql/authorization-rules/#per-user--owner-based-data-access.

aws-exports.js
No response
Manual configuration
No response
Additional configuration
No response
Mobile Device
No response
Mobile Operating System
No response
Mobile Browser
No response
Mobile Browser Version
No response
Additional information and screenshots
No response

Hi @AlessioVallero 👋 thanks for raising this issue.
This is just a warning that can be ignored if you're okay with owners having the ability to update the id field. The problem is simply that the id field is acting as two important mechanisms here. It is both the unique identifier for the record and the field that determines ownership. So, the value of id in this case is probably the user's cognito sub::username. Please correct me if I'm wrong, but that's usually how the owner auth rule works.
Now, if you want to get rid of the warning and don't want the owner of a Coordinator record to be able to update the id field, thus potentially re-assigning ownership, you can protect the id with a field level auth rule granting them only create and read permissions instead. They should still be able to update the record, just not the id. The other fields inherit the model level auth rule.
type Coordinator @model @auth(rules: [{ allow: owner, ownerField: "id" }]) {
  id: ID!
    @auth(
      rules: [{ allow: owner, ownerField: "id", operations: [create, read] }]
    )
  something: String
}

Let me know if that helps!

Oh, I see, the id is part of the UpdateInput so makes sense. So, I think there are two options - either you ignore the warning as it's just pointing out a potentially unwanted permission (allowing users to re-assign ownership). This might be the only option if your schema is already in production. OR - if your schema isn't in production yet - you'd have to handle ownership differently and use a different field.
Do you need the id field to act as both the identifier and the owner field? If not, you could create a separate owner field that is protected as I described and doesn't need to be included in your input arguments.

Hey Chris—appreciate the quick response as well. I think it's worth pointing out that an update field-level permission is inherently nonsensical on a primary key field (as id is in this case, which yes, you correctly deduced we use to store the user's Cognito sub). That is, insofar as the primary key field of the mutation input specifies which record we want to update, it's not possible to use that same field in the mutation to specify a different value, since a field can only have one value (instead one must delete and recreate the record). In short, it's not possible to reassign ownership of a model if the owner field is also the primary key.
For that reason, I'd still suggest that this particular arrangement is safe, and thus the warning shouldn't fire.
(As an aside, I definitely appreciate the Amplify team going the extra step to help devs identify nonobvious security risks like unintentional ownership reassignability! While it may not be correct in this instance, it's been super helpful for locking down our other models.)

Hi @0x24a537r9, What you're describing here seems sound, and should be a minor update to this warning method https://github.com/aws-amplify/amplify-category-api/blob/main/packages/amplify-graphql-auth-transformer/src/utils/warnings.ts#L32
For the comment you'd made on that related PR, I'd anticipated that if your primaryKey and ownerField collided you were getting this issue around making the id required for updates, etc, but I think I misunderstood slightly. It sounds like the issue only arises when when you add the field level auth though.
My recommendation in the docs was focused around separating your PK and the owner info, potentially adding a secondary index to query by owner if necessary, e.g.
type User @model @auth(rules:[{ allow: owner, ownerField: "owner"}]) {
    owner: String @index(name: "byOwner", queryField: "userByOwner")
    additionalAttributesBecauseCognitoWontAllowItNatively: String
}


Updating OTel to v1.13

[Edit]
Abseil lib was removed from OTel's installation due to the bug (a bug in the custom abseil map implementation), encountered during Context Propagation implementation in this PR: https://github.com/triton-inference-server/server/pull/6785
Same as described here: https://github.com/triton-inference-server/server/pull/6312

Thanks for picking this up, that Abseil bug drove me crazy. One more piece of information is that Otel's abseil was an outdated copy with custom patches on it


[packs] Clearer blocks

woah it cant merge smh
adds stuff from clear vanilla by tal
still have a couple to finish and maybe also do a merge conflict fix before merging

Screw this, the category is ready

F*** it, I'm merging


Relative encoders appear to come unsynced after reboots

After manually aligning modules and performing magnet offset zeroing operation, swerve modules steering appears to control well. However, if a module is pointed in a direction other than 0 through a Rio reboot, the steering angle appears to shift slightly relative to the expected direction.

It looks like in 2023 Triple Helix code, syncing encoders was done in every loop during DisabledPeriodic. Not sure why.


Custom folder for local tips

Excellent and really well built project. It has huge potential and would be perfect drop-in replacement for flashcards like programs.
But not all tips are for everyone, and not all tips are about PowerShell. It would be great if you can create a custom directory where user can store his/her own tips which are local and on-device. Allowing one to cycle through all the tips (both hosted here and local)
This way tiPS wont be limited to PowerShell or hosted only tips.
We can brainstorm and I will be happy to contribute.

That is an interesting idea that I hadn't considered. Kind of like a very simple version of Anki. I'm not sure that's something that I would implement as part of this specific module, or instead something that could be forked into its own new repo. Kind of like a "reminders" module where you could leave notes (tips) for yourself. I'll have to give it some more thought on if I want that functionality as part of this module or not. If you have any other comments or I'm missing something, let me know 🙂

After further consideration, while I like the idea, I don't think it helps drive this module's main objective of "PowerShell tips delivered straight to your terminal". If you store your own non-PowerShell tips locally, then the cmdlet names would not make sense anymore (e.g. Write-PowerShellTip may write something not PowerShell related). If you are storing PowerShell related tips locally, then why not share them with the rest of the world by contributing them to the module.
Feel free to fork this repo and come up with a new module for storing custom notes/tips, but I don't think this feature is a good fit for this module so I am going to close this issue. If you think there is something I am missing, let me know. I appreciate you taking time to make the suggestion and provide feedback 🙂

That makes sense. I appreciate your detailed response.


MyGeneric is sometimes not assignable to MyGeneric though X extends Y

Bug Report
🔎 Search Terms
generic extends assignable
🕗 Version & Regression Information

This changed between versions 4.05 and 4.1.5 in terms of the error chain and availability of case manipulation types used as a stand-in for more complicated derived types, and between 3.3.3333 and 3.5.1 for the main error, though the latter change appears to be a difference in handling propagation of the case-manipulation-type-unavailability error
This is the behavior in every version I tried, and I reviewed the FAQ for entries about generics
Nightly version at time of test: v5.0.0-dev.20221212

⏯ Playground Link
Playground link with relevant code
💻 Code
type Size = 'Small' | 'Medium' | 'Large';
//Case manipulation is a simplified stand-in for more complex derived types
type CaseMap = {[S in Size]: {lowerCase: Lowercase<S>, upperCase: Uppercase<S>}};
type CaseMapHoverDemo = CaseMap['Medium']; //{lowerCase: "medium"; upperCase: "MEDIUM";}
type ValueOf<T> = T[keyof T]; //https://stackoverflow.com/a/49286056
type ValueOfHoverDemo = ValueOf<CaseMap['Medium']>; //'medium' | 'MEDIUM'
type MyGeneric<S extends Size> =    {normalCase: S; caseObj: ValueOf<CaseMap[S]>};
type MyGenericWET<S extends Size> = {normalCase: S; caseObj: ValueOf<{lowerCase: Lowercase<S>, upperCase: Uppercase<S>}>};
type MyGenericHoverDemo = MyGeneric<'Medium'>;
declare function takesAnySizeDirectly (mainParam: Size): any;
declare function takesAnySizeObject   (mainParam: MyGeneric<Size>): any;
declare function takesAnySizeObjectWET(mainParam: MyGenericWET<Size>): any;
export const takesOneSize = function<S extends Size>(size: S, mainParam: MyGeneric<S>) {
    takesAnySizeDirectly(size); //S, which extends Size, is assignable to Size: that makes sense
    takesAnySizeObject(mainParam); //but MyGeneric<S> is not assignable to MyGeneric<Size>: that does not
    /* Error ts(2345):
    Argument of type 'MyGeneric<S>' is not assignable to parameter of type 'MyGeneric<Size>'.
    (It seems like it should be though.)
        Types of property 'caseObj' are incompatible.
        Type 'ValueOf<CaseMap[S]>' is not assignable to type 'ValueOf<
            { lowerCase: "medium"; upperCase: "MEDIUM"; } |
            { lowerCase: "small"; upperCase: "SMALL"; } |
            { lowerCase: "large"; upperCase: "LARGE"; }
        >'. (It seems like it should be though.)
    */
}
export const takesOneSizeWorks = function<S extends Size>(size: S, mainParam: MyGenericWET<S>) {
    takesAnySizeDirectly(size); //S, which extends Size, is assignable to Size
    takesAnySizeObjectWET(mainParam); //and MyGenericWET<S> is assignable to MyGenericWET<Size>
}

🙁 Actual behavior
Error as shown when reusing the type CaseMap[S] instead of repeating the type it represents in the definition of MyGeneric.
TS doesn't even allow a direct cast, claiming Conversion of type 'MyGeneric<S>' to type 'MyGeneric<Size>' may be a mistake because neither type sufficiently overlaps with the other.
Note that naming the repeated type doesn't help with the error, but the motivating example doesn't provide a clear way to avoid using the map structure.
🙂 Expected behavior
No errors in the above.
MyGeneric is actually equivalent to MyGenericWET, takesAnySizeObject is actually equivalent to takesAnySizeObjectWET, and takesOneSize is equivalent to takesOneSizeWorks.
Possible cross-links
This might be related to #49505 which seems to focus more on type inference and chained generic functions.  That refers to #30215 (a 2019 PR released in v3.4 which enabled “inference of generic function type results for generic functions that operate on other generic functions.”) Here, we don’t have generic functions operating on other generic functions, at least where “functions” is used in the JavaScript sense.

The problem here is variance measurement -- ValueOf<T> appears to be invariant due to its simultaneous co and contravariant observation on T, but in reality it's just covariant. When instantiated with a concrete object type like in the WET variant, this isn't an issue, because the type is simply instantiated and compared that way. But given an arbitrary deferred type like CaseMap[S], there isn't a procedure we can do (apart from just hardcoding inconsistent behavior that T[keyof T] means something special/magic) which would determine that there isn't a manifestable soundness violation here.

Tracking at #52083


dependabot.yml for Github problems with prettier

Package manage/ecosystem
any on github
Manifest contents prior to update
n/a
Updated dependency
n/a
What you expected to see, versus what you actually saw
When I ask app.dependabot.com to create or update config file it creates a /.github/dependabot.yml with single quotes, giving error to prettier pre-commit hooks. I expected these file to use double quotes and indentation to be compatible with most YAML common linters.
See a fix commit example: https://github.com/staticdev/django-sorting-bootstrap/commit/5bc6ce011b7647b5c01f4d6c2fae35e06e773055
Images of the diff or a link to the PR, issue or logs
n/a

@staticdev thanks for the feedback, will look into changing this. For some reason the default Ruby YAML formatted outputs both single and double quotes.

@feelepxyz maybe you should open an issue for them. The YAML is also missing spaces for standard indentation.
I will be happy to retest it if you manage to change that.

@staticdev pushed a fix for this 👍

@feelepxyz I've tested it. The double quotes are now correct, but there is still missing indentation. I tryed on this sandbox repo:
See the fix commit now just added spaces:
https://github.com/staticdev/sandbox/commit/bf7b8f493e97847683752c883399e3e03eab3074

@feelepxyz I've tested it. The double quotes are now correct, but there is still missing indentation. I tryed on this sandbox repo:

Ah cool, will take a look, hopefully a quick fix.

Hm struggling with this, Ruby Psych doesn't seem to indent the - when setting the indentation, you can only control the indentation between the - and the key, e.g.
updates:
-      package-ecosystem: npm
       ...

Similarly, doesn't seem entirely straight forward to run Ruby Prettier as a library 😕

@feelepxyz one workaround is to setup a Github Action for dependabot that uses pre-commit, then it is very simple:
# .pre-commit-config.yaml
repos:
  - repo: https://github.com/prettier/prettier
    rev: 2.0.5
    hooks:
      - id: prettier


Deprecation: ec2_ami_search may need to be amended

TASK [telusdigital.aws-infrastructure : include] *******************************
[DEPRECATION WARNING]: ec2_ami_search is kept for backwards compatibility but usage is discouraged. The module documentation details page may explain more about this rationale..
This feature will be removed in a future release. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
included: /private/etc/ansible/roles/telusdigital.aws-infrastructure/tasks/create/instance.yml for localhost

This has been deprecated in 2.0 in favour of the ec2_ami_find module.

was implemented in https://github.com/telusdigital/ansible-aws-infrastructure/pull/57


Remove Microsoft.DotNet.Watcher.Tools.FunctionalTests.NoDepsAppTestsRestartProcessThatTerminatesAfterFileChange

test is not reliable (95% success rate)
should be restored as part of #98

/cc @muratg
Didn't mean to push this into dev. I've reverted that 'til this PR is approved.

@dougbu Can't we just disable for now?

:up::date:

:shipit:

dc9fead


Configure logging for GCP deployment

Closed it as we are not planning to support GCP in short-term. And when we do - likely we'll file new issues based on AWS configuration.


fix(connlib): set default firezone_tunnel log level from trace to debug for development and ci

"Encapsulated packet" is now spamming dev clients, so this level is changed to debug by default in dev builds.
2024-06-17 14:04:15.419  6911-7520  connlib                 dev.firezone.android                 V  firezone_tunnel::client: s0_name: encapsulates0_target=firezone_tunnel::clients0_file=connlib/tunnel/src/client.rss0_line=441s0_dst=fd00:2021:1111:8000::2Encapsulated packet
2024-06-17 14:04:15.419  6911-7520  connlib                 dev.firezone.android                 V  firezone_tunnel::client: s0_name: encapsulates0_target=firezone_tunnel::clients0_file=connlib/tunnel/src/client.rss0_line=441s0_dst=fd00:2021:1111:8000::2Encapsulated packet
2024-06-17 14:04:15.420  6911-7520  connlib                 dev.firezone.android                 V  firezone_tunnel::client: s0_name: encapsulates0_target=firezone_tunnel::clients0_file=connlib/tunnel/src/client.rss0_line=441s0_dst=fd00:2021:1111:8000::2Encapsulated packet
2024-06-17 14:04:15.420  6911-7520  connlib                 dev.firezone.android                 V  firezone_tunnel::client: s0_name: encapsulates0_target=firezone_tunnel::clients0_file=connlib/tunnel/src/client.rss0_line=441s0_dst=fd00:2021:1111:8000::2Encapsulated packet
2024-06-17 14:04:15.420  6911-7520  connlib                 dev.firezone.android                 V  firezone_tunnel::client: s0_name: encapsulates0_target=firezone_tunnel::clients0_file=connlib/tunnel/src/client.rss0_line=441s0_dst=fd00:2021:1111:8000::2Encapsulated packet
2024-06-17 14:04:15.420  6911-7520  connlib                 dev.firezone.android                 V  firezone_tunnel::client: s0_name: encapsulates0_target=firezone_tunnel::clients0_file=connlib/tunnel/src/client.rss0_line=441s0_dst=fd00:2021:1111:8000::2Encapsulated packet
2024-06-17 14:04:15.421  6911-7520  connlib                 dev.firezone.android                 V  firezone_tunnel::client: s0_name: encapsulates0_target=firezone_tunnel::clients0_file=connlib/tunnel/src/client.rss0_line=441s0_dst=fd00:2021:1111:8000::2Encapsulated packet
2024-06-17 14:04:15.421  6911-7520  connlib                 dev.firezone.android                 V  firezone_tunnel::client: s0_name: encapsulates0_target=firezone_tunnel::clients0_file=connlib/tunnel/src/client.rss0_line=441s0_dst=fd00:2021:1111:8000::2Encapsulated packet
2024-06-17 14:04:15.422  6911-7520  connlib                 dev.firezone.android                 V  firezone_tunnel::client: s0_name: encapsulates0_target=firezone_tunnel::clients0_file=connlib/tunnel/src/client.rss0_line=441s0_dst=fd00:2021:1111:8000::2Encapsulated packet
2024-06-17 14:04:15.422  6911-7520  connlib                 dev.firezone.android                 V  firezone_tunnel::client: s0_name: encapsulates0_target=firezone_tunnel::clients0_file=connlib/tunnel/src/client.rss0_line=441s0_dst=fd00:2021:1111:8000::2Encapsulated packet
2024-06-17 14:04:15.422  6911-7520  connlib                 dev.firezone.android                 V  firezone_tunnel::client: s0_name: encapsulates0_target=firezone_tunnel::clients0_file=connlib/tunnel/src/client.rss0_line=441s0_dst=fd00:2021:1111:8000::2Encapsulated packet
2024-06-17 14:04:15.423  6911-7520  connlib                 dev.firezone.android                 V  firezone_tunnel::client: s0_name: encapsulates0_target=firezone_tunnel::clients0_file=connlib/tunnel/src/client.rss0_line=441s0_dst=fd00:2021:1111:8000::2Encapsulated packet

Edit: this also seems to be causing test flakiness in CI because the client and gateway logs are tens of MBs due to trace, which means the test doesn't complete in time.
https://github.com/firezone/firezone/actions/runs/9556657267/job/26342726636?pr=5417#step:10:187

Edit: this also seems to be causing test flakiness in CI because the client and gateway logs are tens of MBs due to trace, which means the test doesn't complete in time.
firezone/firezone/actions/runs/9556657267/job/26342726636?pr=5417#step:10:187

I've found these logs useful when debugging things with tunnel_test but perhaps we should remove them again? Or we explicitly disable those logs for CI runs that send lots of packets, like the download. That is what we do for the perf runs.

Edit: this also seems to be causing test flakiness in CI because the client and gateway logs are tens of MBs due to trace, which means the test doesn't complete in time.
firezone/firezone/actions/runs/9556657267/job/26342726636?pr=5417#step:10:187

I've found these logs useful when debugging things with tunnel_test but perhaps we should remove them again? Or we explicitly disable those logs for CI runs that send lots of packets, like the download. That is what we do for the perf runs.

K, updated docker-compose.yml to use trace, but then allow overriding by reading RUST_LOG from the environment for this particular test.


How to handle Self referencing table

Hi Volkan
I have table called JobType with the following columns
JobType varchar(1)   (PK)
JobTypeDesc  varchar(50)
NextJobType(1)
This table reference itself on JobType to NextJobType.
Here is the issue
The grid is displaying the desciption of NextJobType quiet well. However when i open the dialog for editing, the dropdown for NextJobTYpe which is suppose to diplay the description display the Code rather than the description. Where am I going wrong? Your help is highly appreciated
All other drop downs are showing correct value. I just have an issue with this referencing table (This is the only referencing table in the database).  I am unable to change the design of the database at this stage.
Following is my code
[ConnectionKey("CTL"), DisplayName("CTRL_JOB_TYPE"), InstanceName("CTRL_JOB_TYPE"), TwoLevelCached]
[ReadPermission("Administration")]
[ModifyPermission("Administration")]
[LookupScript("CTL.JOB_TYPE")]
public sealed class CtrlJobTypeRow : Row, IIdRow, INameRow
{
[DisplayName("Job Type"), Column("JOB_TYPE"), Size(1), PrimaryKey, QuickSearch]
public String JobType
{
get { return Fields.JobType[this]; }
set { Fields.JobType[this] = value; }
}
    [DisplayName("Job Type Desc"), Column("JOB_TYPE_DESC"), Size(50)]
    public String JobTypeDesc
    {
        get { return Fields.JobTypeDesc[this]; }
        set { Fields.JobTypeDesc[this] = value; }
    }

[DisplayName("Next Job Type"), Column("NEXT_JOB_TYPE"), ForeignKey("[ctl].[CTRL_JOB_TYPE]", "JOB_TYPE"), LeftJoin("jNextJobType"), TextualField("NextJobTypeJobTypeDesc"), LookupInclude]
[LookupEditor(typeof(CtrlJobTypeRow))]
public String NextJobType
{
get { return Fields.NextJobType2[this]; }
set { Fields.NextJobType2[this] = value; }
}
[DisplayName("Next Job Type Desc"), Expression("jNextJobType.[JOB_TYPE_DESC]")]
public String NextJobTypeJobTypeDesc
{
get { return Fields.NextJobTypeJobTypeDesc[this]; }
set { Fields.NextJobTypeJobTypeDesc[this] = value; }
}
public class RowFields : RowFieldsBase
{
public StringField JobType;
public StringField JobTypeDesc;
public StringField NextJobType;
        public StringField NextJobTypeJobTypeDesc;
        public Int32Field NextJobTypePackageId;
        public StringField NextJobType2;

        public RowFields()
            : base("[ctl].[CTRL_JOB_TYPE]")
        {
            LocalTextPrefix = "EDWMetaDataManagment.CtrlJobType";
        }
    }

Set name field for your job row to Description.

Hi Volkan
Please excuse my ignorance. Which name field in the JobTypeRow ?
I have two fields
public String JobTypeDesc
public String NextJobTypeJobTypeDesc
Thanks for your help

Got it sorted. Its now working. Thanks for your help
Regards
Westley


Redundant option for specifying ip address?

Issue description
There is
networking.interfaces.<name?>.ipAddress and
networking.interfaces.<name?>.ip4.address and
networking.interfaces.<name?>.ip6.address.
If there exists a relationship between these, perhaps the documentation could mention this?
It's my current understanding that in the case of an IPv4 address networking.interfaces.<name?>.ipAddress is the same as networking.interfaces.<name?>.ip4.address. Can someone confirm?
Steps to reproduce
man configuration.nix
Technical details

system: "x86_64-linux"
host os: Linux 4.13.4, NixOS, 17.09.git.39cd40f (Hummingbird)
multi-user?: yes
sandbox: no
version: nix-env (Nix) 1.11.15
channels(root): "nixos-17.09.2182.7f6f0c49f0"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs

I've got this warning on nixos-rebuild recently (using nixos-unstable channel)
trace: warning: The option `ipAddress' defined in `/etc/nixos/configuration.nix' has been changed to `ipv4.addresses' that has a different type. Please read `ipv4.addresses' documentation and update your configuration accordingly.

Do I have to do anything ? The manual doesn't seem to be updated yet. (or am I reading the wrong one?)

The PR has been merged. In 18.03 the only options will be networking.interfaces.<name?>.ipv{4,6}.addresses.


can 3D parallelism example of bert or gpt-2 be provided?

Hi,
I noticed DeepSpeed’s training engine has already provided hybrid data and pipeline parallelism and can be further combined with model parallelism such as Megatron-LM. can you provide a 3D parallelism example of bert or gpt-2?
Thanks

You can find one here. I believe this is 3D as mp=2 and pp=2

You can find one here. I believe this is 3D as mp=2 and pp=2

thanks alot！


package.json#exports should be traceable with traceResolution

Suggestion
🔍 Search Terms
exports, resolution, nodeResolution, traceResolution, esm, cjs
✅ Viability Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
--traceResolution should include the package.json#exports resolution in the output.
📃 Motivation
This algorithm is quite complex and involved and thus any insights that users can get from TS as to what is matched and why would be very much appreciated.
Compare the output for the classic moduleResolution:

classic: quite detailed mentions of all steps
======== Resolving module 'tiny-invariant' from '/test__/tiny-invariant-test/test.ts'. ========
Module resolution kind is not specified, using 'NodeJs'.
Loading module 'tiny-invariant' from 'node_modules' folder, target file type 'TypeScript'.
Directory '/test__/tiny-invariant-test/node_modules' does not exist, skipping all lookups in it.
Found 'package.json' at '/test__/node_modules/tiny-invariant/package.json'.
'package.json' does not have a 'typesVersions' field.
File '/test__/node_modules/tiny-invariant.ts' does not exist.
File '/test__/node_modules/tiny-invariant.tsx' does not exist.
File '/test__/node_modules/tiny-invariant.d.ts' does not exist.
'package.json' does not have a 'typings' field.
'package.json' has 'types' field 'dist/tiny-invariant.d.ts' that references '/test__/node_modules/tiny-invariant/dist/tiny-invariant.d.ts'.
File '/test__/node_modules/tiny-invariant/dist/tiny-invariant.d.ts' exist - use it as a name resolution result.
Resolving real path for '/test__/node_modules/tiny-invariant/dist/tiny-invariant.d.ts', result '/test__/node_modules/tiny-invariant/dist/tiny-invariant.d.ts'.
======== Module name 'tiny-invariant' was successfully resolved to '/test__/node_modules/tiny-invariant/dist/tiny-invariant.d.ts' with Package ID<EMAIL_ADDRESS>========

with the output for the moduleResolution: node16 and the existing export field in a package:

node16: seemingly random "jump" from lack of `typesVersions` to the resolved `.d.ts`
======== Resolving module 'tiny-invariant' from '/test__/tiny-invariant-test/test.ts'. ========
Explicitly specified module resolution kind: 'Node16'.
File '/test__/tiny-invariant-test/package.json' does not exist according to earlier cached lookups.
File '/test__/package.json' exists according to earlier cached lookups.
Loading module 'tiny-invariant' from 'node_modules' folder, target file type 'TypeScript'.
Directory '/test__/tiny-invariant-test/node_modules' does not exist, skipping all lookups in it.
Found 'package.json' at '/test__/node_modules/tiny-invariant/package.json'.
'package.json' does not have a 'typesVersions' field.
File '/test__/node_modules/tiny-invariant/dist/tiny-invariant.d.ts' exist - use it as a name resolution result.
Resolving real path for '/test__/node_modules/tiny-invariant/dist/tiny-invariant.d.ts', result '/test__/node_modules/tiny-invariant/dist/tiny-invariant.d.ts'.
======== Module name 'tiny-invariant' was successfully resolved to '/test__/node_modules/tiny-invariant/dist/tiny-invariant.d.ts' with Package ID<EMAIL_ADDRESS>========

cc @andrewbranch

This has been on my list 👍


View the Catalog

[ ] Documentation https://github.com/elvisjobita/SOFTWARE-ENG-STUDIO-IBL2-2022/issues/24
[ ] Front end https://github.com/elvisjobita/SOFTWARE-ENG-STUDIO-IBL2-2022/issues/25
[ ] Backend https://github.com/elvisjobita/SOFTWARE-ENG-STUDIO-IBL2-2022/issues/26
[ ] Testing https://github.com/elvisjobita/SOFTWARE-ENG-STUDIO-IBL2-2022/issues/27


Closes #40 - Add Laravel 10 Compatibility and Fix The Github Actions Issue

A new inspection was created.

The inspection completed: 1 new issues


Multi-Page Tour Capabilities?

Is it currently possible to create an application Tour that spans across different Page URL's?
For example the WOrdPress Admin panel has a similar Tour functionality which can go to different pages in your website/app and continue on with the Tour once the new URL is loaded.
I confess I haven't dug into the code yet or built anything with this library.  I just didn't see this functionality in the Demo that I saw and wanted to know if it is possible out of the box or if I need to modify a lot.  Or perhaps this functionality needs to be implemented outside of this library anyways!
I would love to hear what others thing or know about this please?

UPDATES.
I might of prematurely made this post as now I see it looks rather simple to do this with the current codebase!
I see this code...
buttons: [
    text: 'Next'
    action: tour.next
  ]

I have been looking at many Tour type libraries today so I was thinking that each Step in the Tour had a Number like many do... (Step 3 of 17) but it turns out this library does not!
So I think you could simply attach the Button to a JavaScript function that would load your next page when you come to a step that need to go to another page.  In the new page you are redirected to you would then add the Tour items for that page and carry on.  Does that sound about right to others?  Or if it is in fact a built in feature already, please share!  Thanks

I believe I tried something in the past where I wanted to continue a Tour on multiple pages. You are correct in that you can just bind the next action to load a new page and continue on. However, there are two scenarios to consider:

Single Page App (No hard reload) - In this case, it may just be a matter of waiting for selector to check whether to continue the tour.

Not SPA (Hard reload between steps) - My guess is you are referring to this scenario. What I did in the past was just pass a querystring parameter to indicate the next page that the Tour should be started right away. For example: website.com -> website.com/somewhere_else?continueTour=true

Depending on how your Tour is setup, you can either use the same Tour instance and skip x steps, or just have another Tour instance that handles the Tour for that page.
Let me know if that kind of makes sense, but there are definitely more than one ways to implement this and is really up to you what works best for your scenario :smile_cat:

I believe I tried something in the past where I wanted to continue a Tour on multiple pages. You are correct in that you can just bind the next action to load a new page and continue on. However, there are two scenarios to consider:

Single Page App (No hard reload) - In this case, it may just be a matter of waiting for selector to check whether to continue the tour.
Not SPA (Hard reload between steps) - My guess is you are referring to this scenario. What I did in the past was just pass a querystring parameter to indicate the next page that the Tour should be started right away. For example: website.com -> website.com/somewhere_else?continueTour=true

Depending on how your Tour is setup, you can either use the same Tour instance and skip x steps, or just have another Tour instance that handles the Tour for that page.
Let me know if that kind of makes sense, but there are definitely more than one ways to implement this and is really up to you what works best for your scenario 😸

What can I do ?
when step goes to another page then page reload and tour is starting from beginning

@mukesh-inoid it depends heavily on your app setup. Is it a SPA? The advice you quoted here tells you how to accomplish this.


About requirements.txt

Hi guys, we are trying to reproduce your experimental content, can we get the requirements.txt to reconstruct the  experimental environment?
Since the dgl version has changed a lot, we can't reproduce your experimental environment by using some newer or older versions.
thanks

Sorry for that. We have uploaded the requirements.txt. Thanks for your attention!

Thanks!


Added clearer error messages for the nRequest amount validation

Fixed merge conflict

Lets merge this after 4.7.1 release

str = "Requested amount %1 is more than avaible coins in the proposal (%2)\n";
Should be:
str = "Requested amount %1 is more than availble coins in the proposal (%2)\n";

good catch but isn't it actually "available" ?


fixes typo in GridMaker bindings, "gassian"->"gaussian"

looks gud

har har har. I hate these kinds of typo pull requests, but now that I'm documenting stuff for real I feel too embarrassed to document it with typos in it...


[openLdap] Invalid DN syntax

Hello, the package success to contact the ldap server, but when i m trying to connect a user it doesn't work. The problem is that all my users are in differents groups but need the same access to my project.
Is this an OpenLdap issue ?
Here is my dn : 'base_dn' => 'dc=mydomain, dc=com'
Thx in advance, i'm on Laravel 5.3 :)

Hello,
To find your base dn setting you can use this tool : https://technet.microsoft.com/en-us/sysinternals/adexplorer.aspx
It will help you maybe
In my case the username of my AD was FRA\username (FRA\ = prefix), so i find out it was DC=fra, DC=local

I hope it helps

Closing due to inactivity.


Prepare for frozen string literals

Add the magic comment to all files
Update Overcommit::HookContext::PreCommit to not use encode!
Set Rubocop target Ruby version to 2.3

Can you provide additional justification for why this is worthwhile, @HarlemSquirrel?
Ruby 2.2 may be EOL but enabling frozen string literals by default is not without its risks. If existing code uses string mutation it will now fail.

Freezing mutable strings reduces memory usage. This will be the default in Ruby 3.
https://github.com/rails/rails/pull/20946

Hey @HarlemSquirrel, can you get TravisCI tests passing?