My custom changes

Subject: Feature Proposal: Support for flutter_quill_extensions_lite

Hi there,
I hope this message finds you well. I have developed an additional package called flutter_quill_extensions_lite, which enhances the functionality of the flutter_quill package by providing extra features. To make this package work seamlessly, a few changes are required in the flutter_quill codebase.
I have made the necessary modifications to enable compatibility with flutter_quill_extensions_lite. These changes are essential for the successful deployment and utilization of the new package.
You can find the new package repository here: flutter_quill_extensions_lite. It would be fantastic if these changes could be reviewed and merged into the flutter_quill repository.
Thank you for your time and consideration. I'm looking forward to your feedback.
Best regards,
[Abbas Hussein]

Please format code

I think adding a new attribute needs to conform to the quill standard.
And your change is missing a lot of places for new attribute. Please check how other attribute is being used.
I am not sure data is the right key here unless you have other places doing such practice.

Subject: Proposal and Clarification of Changes to Support New Attribute in flutter_quill
I wanted to provide some additional context and clarification regarding the recent changes I proposed for the flutter_quill package.
I've created a video demonstration to showcase the changes I've made. You can watch the video here. This video provides a visual overview of how the data attribute works and its benefits.
To better understand the changes and their impact, I'd like to invite you to try out the updated package. You can test the changes by adding the following lines to your pubspec.yaml:
dependencies:
  flutter_quill:
    git:
      url: https://github.com/Abbas1Hussein/flutter-quill.git
      ref: my-custom-changes

  flutter_quill_extensions_lite:
    git:
      url: https://github.com/Abbas1Hussein/flutter_quill_extensions_lite.git

This will allow you to experience the changes firsthand and explore how the flutter_quill_extensions_lite package enhances the functionality of the flutter_quill package.
Regarding the data attribute, I want to assure you that I've taken measures to ensure its seamless integration without affecting the existing attributes. Its primary purpose is to efficiently save data for elements like boxes and tables, enhancing the package's capabilities.
I also addressed an issue related to the usage of the AttributeScope parameter. By not utilizing the AttributeScope parameter as INLINE, I encountered an error when applying styles to leaf elements. My changes effectively resolve this issue, resulting in a smoother user experience.
Additionally, I've implemented a feature that empowers users to customize the view of embed elements. As an example, I've included a boxBuilder that allows users to define a custom view for the box element. This level of customization empowers users to tailor the appearance and behavior of embedded elements according to their unique requirements.
Here's an example of how the boxBuilder could be used:
embedBuilders: FlutterQuillEmbeds.builders(
  boxBuilder: (attributes, value, showEditDialog, readOnly) {
    if (readOnly) {
      return Card(child: Text(value));
    } else {
      return GestureDetector(
        onTap: () => showEditDialog,
        child: Card(child: Text(value, style: attributes.style)),
      );
    }
  },
),

I genuinely believe that these changes align with the goals of the flutter_quill package and contribute positively to its functionality.
I'm open to any feedback or suggestions you may have regarding these changes. Your insights are invaluable, and I'm committed to ensuring that these modifications adhere to the package's standards.
Thank you for your time and consideration. I'm looking forward to your thoughts on these clarifications.
Best regards,
[ِAbbas Hussein]

It is not up to you to define the schema or data structure. Quill already defined it.

I appreciate your attention to the schema and data structure defined by Quill.
I completely understand the importance of maintaining consistency and adhering to the established schema. My intention in introducing the data attribute was to enhance the existing functionality of Quill by providing a means to efficiently save data for specific elements like boxes and tables. While I aimed to contribute to the package's capabilities, I acknowledge the significance of adhering to the schema that Quill has already defined.
I want to assure you that my proposed changes were driven by the desire to extend Quill's capabilities within the framework of its existing schema. I'm committed to collaborating closely with you and the Quill community to ensure that any modifications align with the package's standards and schema.
If there are specific concerns or adjustments you would like to discuss regarding the introduction of the data attribute, I am more than willing to address them. Your insights and expertise are valuable, and I want to ensure that any contributions I make are in harmony with Quill's design principles.
Thank you again for your guidance, and I look forward to your further input on this matter.

https://quilljs.com/guides/designing-the-delta-format/

In Quill.js, creating tables using deltas involves a slightly more complex structure due to the nature of tables. Tables are composed of rows, and each row contains cells. To represent tables in deltas, you need to use a combination of nested inserts and attributes. Here's an example of how you might structure a table in Quill.js delta format:
{
  "ops": [
    {
      "insert": {
        "table": {
          "rows": [
            [
              { "insert": "Header 1", "attributes": { "bold": true } },
              { "insert": "Header 2", "attributes": { "bold": true } },
              { "insert": "Header 3", "attributes": { "bold": true } }
            ],
            [
              { "insert": "Row 1, Cell 1" },
              { "insert": "Row 1, Cell 2" },
              { "insert": "Row 1, Cell 3" }
            ],
            [
              { "insert": "Row 2, Cell 1" },
              { "insert": "Row 2, Cell 2" },
              { "insert": "Row 2, Cell 3" }
            ]
          ]
        }
      }
    }
  ]
}

In this example, the ops array contains a single operation that inserts a table. The table is represented using an object with a rows property, which is an array containing rows. Each row is an array of cells, where each cell is represented using an insert operation. You can also include attributes for each cell to apply formatting or styling.
Remember that while Quill.js doesn't provide native support for tables, you can implement a module or custom logic to handle table creation, modification, and rendering based on this structure.

We already have image

Please don't add image support as we already have it

Also please don't use data as key

Table is just another embed

You should consult chatGpt how to define according to quilljs and delta

Make sure adding this to example/assets/sample_data.json to reflect it

Your insights have been incredibly helpful in guiding the development process, and I truly appreciate your dedication to maintaining the package's standards and integrity.
After carefully reviewing your feedback and considering the points you raised, I am fully committed to ensuring that the modifications align seamlessly with the existing Delta format and the schema defined by Quill. I understand the importance of adhering to established conventions and am eager to find a solution that meets both the package's requirements and the enhancements I envisioned.
I will take your suggestions into account and explore alternative approaches to incorporate the new features while maintaining consistency with the Delta format. I am dedicated to addressing the concerns you highlighted, especially regarding the usage of attributes, keys, and the overall structure of the changes.
Additionally, I will continue to consult the Quill.js documentation and seek further guidance to ensure that the final implementation not only provides the desired functionality but also integrates smoothly with the package's ecosystem.
Your feedback and expertise are immensely valuable to me, and I am committed to delivering changes that align with your vision for the flutter_quill package.
Thank you once again for your time, patience, and guidance. Your support is truly appreciated, and I am excited to work collaboratively to enhance the flutter_quill package for the benefit of its users.

Table is not attribute at all.
It is another kind of Embed

Table is not attribute at all. It is another kind of Embed

I now understand that the table is not an attribute but rather another form of embed within the Delta structure. Your explanation has provided me with a clearer perspective on how tables should be integrated into the package.
With this newfound understanding, I will reevaluate and adjust my proposed changes to ensure that the table implementation aligns correctly with the Delta format and fits seamlessly within the flutter_quill package's existing architecture. I apologize for any previous confusion and appreciate your patience as I work to refine my approach.
Once I have made the necessary revisions, I will provide you with an updated proposal that accurately reflects these insights and aligns with the principles of the package.

I think you should add table here https://github.com/singerdmx/flutter-quill/blob/master/flutter_quill_extensions/lib/embeds/embed_types.dart
@Jon-Salmon what do yo think?

It is embed but not exactly media type

If we add "Table", we probably should rename QuillMediaType to EmbedType

You probably want to define your proposal first in https://github.com/singerdmx/flutter-quill/blob/master/example/assets/sample_data.json
I would imagine it is similar to https://github.com/singerdmx/flutter-quill/blob/master/example/assets/sample_data.json#L4

It is embed but not exactly media type

I wanted to take a moment to provide some context and insights into my decision to create the flutter_quill_exc_lite package as an alternative to the flutter_quill_exc package.
When I embarked on the journey of creating flutter_quill_exc_lite, it was driven by a series of challenges and compatibility issues that I encountered with the original package. These issues prompted me to explore solutions that would not only address the existing problems but also provide a more streamlined and optimized experience for users.
Developing a package like flutter_quill_exc_lite is not a simple task; it requires careful consideration, thoughtful design, and a deep understanding of the underlying framework. My intention in creating this alternative was to harness my experience and expertise to overcome the challenges I faced with the original package.
As with any software development project, there are intricacies and complexities that can only be fully understood through hands-on experience. My decision to create a separate package was driven by a commitment to ensuring a smoother user experience and compatibility across various scenarios.
I want to assure you that my goal is to enhance the capabilities of the flutter_quill ecosystem, and I hold your feedback and guidance in high regard. The decision to create flutter_quill_exc_lite was made with the utmost respect for the original package and its objectives.
I am committed to working closely with you to ensure that the changes and enhancements align with the vision of the flutter_quill project. Your insights and expertise are invaluable, and I am eager to collaborate on finding the best path forward.
Thank you for your understanding and support. I look forward to your continued guidance and feedback as we navigate the development of these packages.

You probably want to define your proposal first in https://github.com/singerdmx/flutter-quill/blob/master/example/assets/sample_data.json
I would imagine it is similar to https://github.com/singerdmx/flutter-quill/blob/master/example/assets/sample_data.json#L4

I genuinely value your expertise and insights, and I am committed to working closely with you to ensure that the proposal aligns with the vision of the flutter_quill project. Your guidance has been instrumental in shaping the development process, and I am eager to receive your feedback on the proposed changes outlined in the sample_data.json file.

Hi @Abbas1Hussein, Do you still want to merge this pull request or do any updates?? please let me know if you can.
Thank you for your patience.

Subject: Feature Proposal: Support for flutter_quill_extensions_lite
Hi there,
I hope this message finds you well. I have developed an additional package called flutter_quill_extensions_lite, which enhances the functionality of the flutter_quill package by providing extra features. To make this package work seamlessly, a few changes are required in the flutter_quill codebase.
I have made the necessary modifications to enable compatibility with flutter_quill_extensions_lite. These changes are essential for the successful deployment and utilization of the new package.
You can find the new package repository here: flutter_quill_extensions_lite. It would be fantastic if these changes could be reviewed and merged into the flutter_quill repository.
Thank you for your time and consideration. I'm looking forward to your feedback.
Best regards, [Abbas Hussein]

This issue has been closed because it stays for long, feel free to open a new pull request at any time or tell us if you want to reopen


feature request: flake8-future-annotations

see https://pypi.org/project/flake8-future-annotations/

Will https://github.com/charliermarsh/ruff/pull/1762 resolve this? (Supporting isort's add-imports setting?)

If so, that should go out today :)

These kinds of overlaps in functionality beg the question- what does the future of ruff look like? Right now it's aiming at being a drop-in replacement for existing tools, along with their various quirks and configuration.
Is there going to be a ruff V2 that drops this legacy interface and prioritises self-consistency? What does that look like?
Not related to this feature, just curious

Yeah I think for now, I'm gonna run with the add-imports approach. I like that it generalizes to other __future__ imports (and other imports more broadly), and in doing some Code Search, it seems relatively popular. So I'm going to mark as closed for now by #1762.

These kinds of overlaps in functionality beg the question- what does the future of ruff look like? Right now it's aiming at being a drop-in replacement for existing tools, along with their various quirks and configuration. Is there going to be a ruff V2 that drops this legacy interface and prioritises self-consistency? What does that look like? Not related to this feature, just curious

Yes! @not-my-profile actually just created some issues that'll help move us in that direction (https://github.com/charliermarsh/ruff/issues/1773, https://github.com/charliermarsh/ruff/issues/1774).
To lay out my current thinking (still early):

I'd like to move to a world in which we have our own categorization and lint rule names. If your project is fully on Ruff, it doesn't really make sense to think in terms of Flake8 plugins. And Ruff, ideally, wouldn't be bound by Flake8 conventions.
That said, compatibility with Flake8 is extremely helpful for adoption, and I don't want to give that up yet. So I'd like to continue to support the Flake8-style interface, and maintain the mapping from Flake8 plugins + rules to Ruff rules.
I'm hoping that, since this is all happening within Ruff, we can provide tooling to automatically upgrade your codebase from Flake8 compatibility mode to first-class-Ruff mode. This would involve rewriting your pyproject.toml, and changing your action comments (# noqa, # isort: skip, etc.). So in theory, if you're fully on Ruff, we should be able to make it pretty easy to "upgrade".
Eventually, it could be the case that we no longer support the Flake8 compatibility mode; or even, that the Flake8 compatibility mode continues to exist, but internally, we're just remapping your configuration to the first-class-Ruff version (whatever that looks like at runtime).


AVRO-2397: [c++] Add support for type and field aliases

What is the purpose of the change
This adds support to the C++ library for type and field aliases. It addresses AVRO-2397 and also AVRO-1496.
It is an evolution of the old PR #522. That sought to handle support by overriding the Name equality operator and also using Name for field names too. This struck me as too broad a change (do we want that notion of equality everywhere?) and not really appropriate for field aliases (where there is no namespace).
The handling is now in two places:

In ResolvingGrammarGenerator, writer types are now matched via the new equalOrAliasedBy() method
Field aliases are handled simply by allowing them to be looked up via nameIndex() - i.e. aliases are added there too, as well as the original names.

Verifying this change
This change added tests and can be verified by running the C++ unit tests, specifically CodecTests.
Documentation

Does this pull request introduce a new feature? Yes.
If yes, how is the feature documented? Currently, I have made no documentation changes, as I'm not sure that it's stated anywhere that aliases are not supported. If that's the case, it should be removed / reversed.

What's the state of this pull request. Is the feature planned for one of the next releases?

@KepptnKool There is no active maintainer of the C/C++ SDKs :-/
Have you reviewed and tested the proposed changes ?
I could merge the PR if at least two users/contributors approve it!

@mkmkme Could you please review this PR when you have time ? Thank you!

Thank you all!


WIP: Add OTLP Push support

Opening early to illustrate the circular dependency issue: https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/18507

Thank you for taking the time to implement this.
I think we want to take the otlp translator code upstream in Prometheus, as we need to ensure that we have proper control over that feature. This is important because Prometheus has strict compatibility guarantees that must be upheld. It could also address the circular dependency.

This is important because Prometheus has strict compatibility guarantees that must be upheld

I am not sure the OTLP Translation spec is fully stable. While it is more or less there, there are still updates being made like this one recently: https://github.com/open-telemetry/opentelemetry-specification/pull/3066 This will be an experimental feature until OTel is ready, and we can be a little lax with the compatibility guarantees.
However, I like the idea of moving the conversion upstream.

It is by definition unstable because we are investigating removing all label names limitations and allowing dots,  / etc in metric names :)
but in the future it will probably need to be stable


Because union_flutter depends on flutter_platform_widgets

Because union_flutter depends on flutter_platform_widgets >=0.30.0 which requires Flutter SDK version >=1.12.13+hotfix.2 <2.0.0, version solving failed.
how to fix this?who can help

What is union_flutter> I am not familiar with that.
Perhaps have a look at this answer on stackoverflow: https://stackoverflow.com/questions/59548782/dart-packages-dependency-conflicts

closing as this to do with another package


Using dyci on device documentation/instructions

I have zero intention of releasing an app with this; but as a developer who makes unity 3d/cocoa hyrbid AR apps, I would benefit so much from having this run on the device.
Is there any way to do it?
If so it there any documentation?

There's a fork of dyci, that possibly can run dyci on the device
https://github.com/github-xiaogang/dyci-main


Control operator for Pipelining

Starting a tracker for implementing pipelining. We should start with simple "feed-forward" pipelines which don't the ability to apply an back-pressure (too restrictive @sampsyo?).
We can start with the following observation: Pipelines can be currently represented in FuTIL. It is just a while with nested par and some extra logic to decide when the pipeline is done. This means that we could think about pipelining as a "level 2" operator that is compiled away to primitive control operators.
Representing a pipeline
The execution of a pipeline proceeds in three phases:

Filling up the pipeline: Stages towards the end of pipeline don't have values yet.
Steady-state execution: Every stage has a value.
Flushing: New inputs have stopped appearing and the stages in the front are not processing values.

A simple way to represent this is the following control:
seq {
  // phase 1
  par { stage_1 }
  par { stage_1; stage_2 }
  ...
  // phase 2
  while steady.out with steady_check {
    par { stage_1; stage_2; ... stage_n }
  }
  // phase 3
  par { stage_2; stage_3; ... stage_n }
  par { stage_3; ... stage_n }
  ...
}

Discussion questions
To start off the discussion, we have to answer some questions about the source level representation of pipelines.

How are buffers between pipeline stages represented? They can either be compilation holes that are reified during compilation or they could be explicit like in the case of the systolic array.
(Related to 1) What should be the interface for groups in a pipeline? Do we need to add new holes to make them have stronger interfaces?
What does the go-done/communication interface look like? Pipelines can take inputs every cycle so how should the go-done interface work. We can either try to overload the meaning of go and done or try to come up with new signals that signal to the context that the pipeline is ready to execute.

Awesome. I think starting with simple feed-forward pipelines is the right thing to do—it presents plenty of intellectual challenges by itself, and it suffices to represent plenty of actually-useful architectures. And the "level 2" control operator that can be lowered into further control statements seems like a good idea to me too. It's slightly off topic, but the same approach might work for unrolling-like duplication for parallelism.
I think a good way to go would be to sketch out the "hole-based" interface between pipeline stages. The thing we need, IMO, is a way to represents the "inputs" and "outputs" of a stage, which we don't really have for other groups. But it might come in handy for other stuff too.

https://people.csail.mit.edu/rinard/paper/isss01.pdf This is a paper I found that describes an optimization to take a computation that is crudely pipelined and automatically extract more stages to more efficiently pipeline the computation. This optimization may be enabled by having an explicit pipelining control operator.

Huh, super interesting—good find, @sgpthomas. Also interesting that it does forwarding & speculation as well, on top of basic pipelining. Seems like @dz333 might be interested as well if he hasn't already seen it?

Oh interesting - that paper is based off of a proto-bluespec like language
(i.e. it has a set of rules that all try to 'atomically' fire every cycle if their conditions are met - which can be translated to RTL through term-rewriting).
Their algorithm (ignoring the part where they insert a bunch of forwarding/speculation) doesn't actually assume anything about the existing circuit - they just enforce that the newly generated circuit has a specific interface between modules (stages). So I don't see why you would really need a dedicated 'pipeline control' operator. Instead you would need to determine what are the boundaries that you can't pipeline across in your control language.
E.g. in their language "pipelining" serves to take 1 rule and split it into multiple. I'm not 100% sure what that would be in FuTIL but probably something along the lines of taking a par block and turning it into a seq { par , par }

Playing around with some syntax, the pipeline operator could look like this:
pipeline (left, right, acc)(out = a.out) {
  stage m(out) {
    mult.go = 1;
    mult.left = left;
    mult.right = right;
    m.out = mult.out;
    m[done] = mult.done;
  }
  stage a(out) {
    add.go = 1;
    add.left = acc;
    add.right = m.out;
    a.out = add.out;
    a[done] = add.done;
  }
}

The stage wrappers look almost similar to groups but they take in extra inputs. One way to unify groups and stages is allowing groups to take in inputs, in which case stages just become groups. A different approach can be replacing stages with real components which will also allow stages to use arbitrary control.
In order to compile this description, we'll have two options:

Latency-sensitive compilation: If all the stages are timed, we should be able to generate independent FSMs for each stage and connect them using appropriately sized buffers.
Latency-insensitive compilation: If the stages are untimed, the compiler needs to generate ready-valid signals between each stage. The ready signal for a stage is its done signal while the valid signal is the go signal. We need to be careful about this interpretation of the signals because done signals are only held up for one cycle. This might be different from how a traditional ready-valid interface works.

Hmmmm, I'm not entirely sure what the value of adding these to Calyx is (as opposed to just having groups). What does adding input parameters to groups really buy you (genuinely asking since I don't 100% understand them)?
In response to your latency-insensitive point:
You probably can't just leave the done signal (a.k.a. the ready signal) high for one cycle unless you can be sure that there is always valid data. Normally ready is high until the cycle when ready & valid is high, at which point the data is transferred and then ready may go down or not on the next cycle (depending on the pipeline implementation).

We've shown how to implement a pipeline in Calyx with the PR above and folks in the CIRCT group have been using it to generate it in Calyx. I'm going to close this issue now and revisit it in the future when we want to optimize Calyx pipelines!


Unable to set location

General troubleshooting tips
Required information
In order to help us sort your issue, we ask that you provide the following information:

[ ] Mac model: macbook Air 13-inch early 2014
[ ] macOS version: 10.13.6
[ ] Monitor setup: built in

Description of issue / Feature request
I was trying to get my wife's computer set up and nightshift was disabled. O.K. I gave it location permission. Or so I thought. I keep getting this:

No matter how many times I hit Allow it comes back each time the screen saver comes on.

Hi @mbierman this is a bug in 10.14 and earlier, check this for the fix : https://github.com/JohnCoates/Aerial/blob/master/Documentation/Troubleshooting.md#issues-on-macos-1014-and-earlier

Your link sort of helped. But it turns out this vintage of Mac doesn’t support night shift. Luckily, you have provided, “use my location” so she can use that. ;) thanks doe all your hard work.

Well, great to hear it works with the use my location option, it's really the preferred option as it's more compatible in general.
Night shift should be supported on any mac >10.12.4 if I remember correctly, but it can be fairly unreliable. What I'm doing there is a trick mostly and it doesn't always work depending on some weird factors. I nearly removed it in 2.0.0 but didn't ;)


attachable network not attachable after swarm leave + join

Description
If you have an attachable network on a one node cluster, then do a swarm leave and join again, the network loses its attachable status.
Steps to reproduce the issue:
docker swarm init --advertise-addr <IP_ADDRESS>
docker network create -d overlay --attachable testnet
docker network inspect testnet
# the network is reported as attachable
docker run -d --net testnet --name testcontainer alpine sleep 100000
docker network inspect testnet
# the network is reported as not attachable
docker swarm leave --force
docker swarm init --advertise-addr <IP_ADDRESS>
docker network inspect testnet
# the network is reported as not attachable, but has a container attached
docker rm -f testcontainer
docker network inspect testnet
# the network is reported as not attachable and is not attachable
docker run -d --net testnet --name testcontainer alpine sleep 100000
# fails

Describe the results you received:
The network is no longer attachable.
Describe the results you expected:
The network doesn't exist or is attachable. I was actually surprised that overlay networks continued to exist after swarm leave.
Additional information you deem important (e.g. issue happens only occasionally):
Output of docker version:
Client:
 Version:      1.12.1-cs1-rc2
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   24231a4
 Built:        Mon Sep 19 00:55:12 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.13.0-dev
 API version:  1.25
 Go version:   go1.7.1
 Git commit:   94cd7ed
 Built:        Mon Oct  3 20:41:39 2016
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 1
 Running: 0
 Paused: 0
 Stopped: 1
Images: 848
Server Version: 1.13.0-dev
Storage Driver: overlay2
 Backing Filesystem: extfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host null overlay
Swarm: active
 NodeID: 5jdfbn45se5wu8hftur9q4ixz
 Is Manager: true
 ClusterID: ajqrjtlshxdab2ptj5cg00xv0
 Managers: 1
 Nodes: 1
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
 Node Address: <IP_ADDRESS>
Runtimes: runc
Default Runtime: runc
Security Options: apparmor seccomp
Kernel Version: 4.7.3
Operating System: NixOS 17.03.git.4ed9343 (Gorilla)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 15.53 GiB
Name: thisisfine
ID: 4XB6:RAOL:2UT7:W3TT:JBSR:ILHC:LREA:HUVU:5U7V:TI7E:WUT2:WQTS
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 29
 Goroutines: 122
 System Time: 2016-10-03T14:14:03.801809482-07:00
 EventsListeners: 0
Username: viktorstanchev
Registry: https://index.docker.io/v1/
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support
Insecure Registries:
 <IP_ADDRESS>
 <IP_ADDRESS>/8

Additional environment details (AWS, VirtualBox, physical, etc.):
physical

It would be useful to know how this behaves in a multi-node scenario. I don't know if it can cause any serious issues or not.

@vikstrous thanks for raising the issue. This is an UX issue and wont impact the functionality (unless you depend on this flag programmatically). I will set the milestone as 1.13.

I got into this problem with a simple sequence. Container can still connect to the network so it's UX issue.
ubuntu@ip-172-19-241-144:~$ docker network create -d overlay --attachable anet1
fr85la36fdohaoi9g2vh5oc83

ubuntu@ip-172-19-241-144:~$ docker network inspect anet1 | grep -i attachable
        "Attachable": true,

ubuntu@ip-172-19-241-144:~$ docker run -d --name c1 --net-alias c1-anet1 --network anet1 busybox top
B170579c515ffb775e38c8a95ffeb14851a4a25eaa00dc58a5ebd112cfddd44b

ubuntu@ip-172-19-241-144:~$ docker network inspect anet1 | grep -i attachable
        "Attachable": false,

Yeah, there's more to it than that though. If you have a one node swarm and you leave and init the swarm, it actually stops being attachable.

Running into issues in a 1 manager(node1) 1 worker(node2) node setup, phantom network (dtr-ol) exists after docker swarm leave --force

➜ node1 orca git:(f287775) docker info
Containers: 11
 Running: 10
 Paused: 0
 Stopped: 1
Images: 11
Server Version: 1.12.3-cs4-rc1
Storage Driver: aufs
 Root Dir: /mnt/sda1/var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 58
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host null overlay
Swarm: active
 NodeID: ew5tft24uqyb4t7h1a35bfgu1
 Is Manager: true
 ClusterID: 0vvjjywdprbx6v0lbd468f9rg
 Managers: 1
 Nodes: 2
 Orchestration:
  Task History Retention Limit: 10
 Raft:
  Snapshot Interval: 10000
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
  External CAs:
    cfssl: https://<IP_ADDRESS>:12381/api/v1/cfssl/sign
 Node Address: <IP_ADDRESS>
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.4.27-boot2docker
Operating System: Boot2Docker 1.12.3 (TCL 7.2); master : 7fc7575 - Thu Oct 27 19:03:05 UTC 2016
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 2.386 GiB
Name: node1
ID: MV6S:IJYV:3EJ2:ZGIT:UGNJ:2DGX:7R4Y:XRLE:IIII:G56T:LUDQ:KML3
Docker Root Dir: /mnt/sda1/var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 97
 Goroutines: 262
 System Time: 2016-11-09T19:13:59.483956206Z
 EventsListeners: 2
Username: ry4nz
Registry: https://index.docker.io/v1/
Labels:
 provider=virtualbox
Insecure Registries:
 <IP_ADDRESS>/8

➜ node1 orca git:(f287775) docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
04fcf816760f        bridge              bridge              local
cfc40b26bb27        docker_gwbridge     bridge              local
77af7b3bf4cf        host                host                local
6e0oksyhd3yt        ingress             overlay             swarm
9c4ff72b3d30        none                null                local
➜ node1 orca git:(f287775) docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
1ya3swrfe9qwndmkjmxbcn548    node2     Ready   Active
ew5tft24uqyb4t7h1a35bfgu1 *  node1     Ready   Active        Leader

➜ node2 orca git:(f287775) docker info
Containers: 3
 Running: 2
 Paused: 0
 Stopped: 1
Images: 15
Server Version: 1.12.3-cs4-rc1
Storage Driver: aufs
 Root Dir: /mnt/sda1/var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 59
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: overlay host null bridge
Swarm: active
 NodeID: 1ya3swrfe9qwndmkjmxbcn548
 Is Manager: false
 Node Address: <IP_ADDRESS>
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.4.27-boot2docker
Operating System: Boot2Docker 1.12.3 (TCL 7.2); master : 7fc7575 - Thu Oct 27 19:03:05 UTC 2016
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 2.386 GiB
Name: node2
ID: GPRX:R3IA:UVRL:OFQZ:THMG:FBFE:SA6O:JON7:EQZZ:XKK5:D34F:SGV4
Docker Root Dir: /mnt/sda1/var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 43
 Goroutines: 152
 System Time: 2016-11-09T19:14:42.801960252Z
 EventsListeners: 2
Username: ry4nz
Registry: https://index.docker.io/v1/
Labels:
 provider=virtualbox
Insecure Registries:
 <IP_ADDRESS>/8
  ➜ node2 orca git:(f287775) docker network ls
  NETWORK ID          NAME                DRIVER              SCOPE
  3bbaca960bc7        bridge              bridge              local
  9a1e099de8fd        docker_gwbridge     bridge              local
  165da089d7f8        dtr-br              bridge              local
  a9de4x2cg1x9        dtr-ol              overlay             swarm
  0dc7db037f3d        host                host                local
  6e0oksyhd3yt        ingress             overlay             swarm
  41b6d9baac8b        none                null                local

  ➜ node2 orca git:(f287775) docker network inspect dtr-ol
  [
      {
          "Name": "dtr-ol",
          "Id": "a9de4x2cg1x96bc41ul1jrfx1",
          "Scope": "swarm",
          "Driver": "overlay",
          "EnableIPv6": false,
          "IPAM": {
              "Driver": "default",
              "Options": null,
              "Config": [
                  {
                      "Subnet": "<IP_ADDRESS>/24",
                      "Gateway": "<IP_ADDRESS>"
                  }
              ]
          },
          "Internal": false,
          "Attachable": false,
          "Containers": {},
          "Options": {
              "com.docker.network.driver.overlay.vxlanid_list": "257"
          },
          "Labels": {
              "com.docker.ucp.access.owner": "admin"
          }
      }
  ]

@ry4nz Thanks for reporting this problem. Trying to fix it with https://github.com/docker/swarmkit/pull/1758.


fix(curriculum): update directions and hint text for step 117 of RPG game

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[ ] I have tested these changes either locally on my machine, or GitPod.

Closes #53502

I have updated the code.

Thank you so much for your support and help.


Comparison to Lunatic

Considering both HVM and Lunatic are Rust-written platforms, who aim to massively increase parallelism, without the need to change the incoming code - how do the two compare?
Next to the obvious fact, that one does it with Actors, and the other thanks to the Interaction Net.
HVM seems to need no GC - yey! - and Lunatic is compatible to all Wasm languages.
Anything else?

Agents based approach are quite standard. HVM attempts to break down programs in the most granular level possible, and parallelize at that level. So, while HVM is fit for the CPU with 10-12 threads (like agents are), in the (near) future we could manage to run it on GPUs and other massively parallel architecture. So, you write a Haskell-like program, you get a massively parallel executable, run it in thousands of threads. That's the ultimate goal of HVM's approach. Right now, though, since agents do a fairly good job at filling the ~16 or so threads that CPUs have, they both should keep all cores busy. Although there is still a difference that agents need to be programmed manually, while HVM is capable of parallelizing everything with no programmer input.

Interesting. Does the calculation on the GPU impose any limits on the type of code, that is written?
I mean, would it be possible to run all on GPU? An OS?

Interesting. Does the calculation on the GPU impose any limits on the type of code, that is written?

There's a relevant comment here: https://github.com/HigherOrderCO/hvm-core/issues/6#issuecomment-1738377474.

syscalls can be done via a monadic interface as with other pure functional languages, being on the GPU doesn't prevent that in any way, although it does add some overhead communicating with the CPU. on the ideal, finished runtime, I believe most of the code should run on the CPU, with gthe GPU being an opt-in for specific functions (like, if you're rendering an image using pure recursive functions, you probably want that on the gpu)


Automated Package Upgrade

:tada: This PR is included in version 28.5.15 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Using Environment Variables in Capability values

Is your feature request related to a problem? Please describe.
I'm looking to use Environment Variables in capability values (JSON structure) under the bot advanced settings.
As per Screenshot1 below, I've a DIRECTLINE3_ACTIVITY_TEMPLATE which is required to set some additional data for every conv with the bot. It has 3 keys, accessToken, userId and userName.
These 3 values are not constant and I want use Environment Variables here so it is easier to change the Env variables.
I've created a Env variable 'ACCESS_TOKEN' but I was not able to use it in the JSON.
Describe the solution you'd like
Is it already possible to use this?
Additional context
Screenshot 1:

Screenshot 2:

Please advise.

It's not possible to use environment variables as part of a capability.
It is possible to hand over capabilities from environment variables by using the BOTIUM_-prefix (BOTIUM_DIRECTLINE3_ACTIVITY_TEMPLATE) - see Botium Wiki.
But I don't see how using environment variables as part of a capability could make your life easier here - you would have to manage them anyhow.

Thanks for the quick response.
Yes, I was just wondering if use env variables can be used. Like you said, I'd still have to manually change it.


fix(cdk/tree): update active item on focus

fix(cdk/tree): update active item on focus
Update CdkTreeNode, TreeKeyManager and Tree "Load More" example
regarding progrmatic focus.

In CdkTreeNode, update the active item on the focus event.
expose TreeKeyManager.updateActiveItem
remove TreeKeyManager.onClick
In "Load More" example, when clicking "Load More", focus first node
that is added.

Hi @BobobUnicorn ,
This is what I came up with for supporting programmatic focus.
The first approach I tried was finding a way to use CdkTreeNodeComponent.focus. That was difficult because I couldn’t find a way to get a reference to the CdkTreeNodeComponent of the “Load More” node. It seemed unnecessary for me to maintain a QueryList of tree node component when the tree already had one.
I ended up finding it easier to use DOM manipulation to find the dom node I wanted and call .focus on it.
I also remove the onClick method on TreeKeyManager so I wouldn’t have to add a duplicate method for onFocus. I exposed updateActiveItem to align with FocusKeyManager.
I also make a few changes to “Load More” example so we can test when there are two “Load More” nodes and I took care of misc small details in the demo.
WDYT?
-Zach


refactor: adapter-minisearch to deno

don't know if there is value maintaining this adapter with the port to deno. It requires a mapping on creation of index and lives in memory so a persistence layer needs to be applied for real value. elastic-search and melisearch are better approaches


adapter.json: Update Schema to comply with v3.0

This updates the JSON Schema with the missing changes of the specified schema.
However, as noted in #72, we did not include the regex patterns for the File.

Can someone please have a look at this? I've been at it for hours and I can't find the remaining problem with the schema.
It appears to be something with the SubmodelElementList at the test_demo_full_example.json and corresponding AASX file in test/compliance_tool/files, however, when I start modifying those files, it seems like everything else starts breaking.


Errors using the commandline only to do yo team

I am using yo team two submodules embedded in a powershell (due to compliance in a large finance company we need to run yo team in an agent with higher privileges)
yo team:project --applicationName $applicationName --tfs $organizationUrl --pat $azureDevOpsPersonalAccessToken
yo team:pipeline --applicationName $applicationName --tfs $organizationUrl --pat $azureDevOpsPersonalAccessToken --type $appType --queue $agentQueue --target $deployTarget --azureSubId $azureSubscriptionId --servicePrincipalId $servicePrincipleID --servicePrincipalKey $servicePrincipalKey --azureSub $azureSubscriptionName --tenantId $azureAdTenantId

What happens is that insertion of the vsrm to the url is broken with the azure devops. I have fixed it by hardforcing that url in the two calls to the releases api.
After that issue the team:pipeline freezes up if I supply the --queue parameter. If I omit it I can enter it in the provided menu (Hosted VS2017) and it works. Passing the value as param leads to a freeze. This problem is solved by downgrading node.js to version 8.

Problem with the API calls lies in the function getFullURL(instance, includeCollection, subDomain)  in generators/app/utility.js file. The problem is that it does not handle the case where it needs to insert vsrm as subdomain to the url i.e. vsrm.dev.azure.com/org/project/ .

About to board a plane but will investigate once I land.

Make sure $organizationUrl is just the org name and not https://dev.azure.com/orgName. The value should just be orgName.

What version of node are you running?

Hi Donovan, thank you for answering!. I was using Node 10.x The Org url was indeed the full path https://dev.azure.com/xxxxx. We got it to work and hope to get to the finals of the hackathon also helped by your product! :-)
I will follow your recommendation, I have confidence it will solve the problems.

I would also make sure you wrap the queue name with "" because it has a space in it. I will add a test case for when someone enters the new full dev.azure.com URLs instead of just org name. I am going to close this issue.


Added styling for readme

Current styling for plugins' description lacks in coherency (for example: h3 is bigger than h2) and readability. This PR aims to solve that, at least partially.
I didn't include the compiled .less file. Let me know if I should.

Registry is not online any more. Thanks for your PR anyway!


PFFacebookUtils.logInInBackground  on Swfit 3

Hello,
I got an issue on Facebook Login with swift 3 after the migration
Cannot convert value of type '(PFUser?, NSError?) -> Void' to expected argument type 'PFUserResultBlock?'
PFFacebookUtils.logInInBackground(withReadPermissions: permissions, block: {
(user: PFUser?, error: NSError?) -> Void in
statement...
})
Any idea?

Oups error due to another...

How did you fix it, @notiles?


dedupe error handling

just let websocket handle it

When sink.send fails, it means the websocket has been closed, and I understand that the next call to stream.next will also return an error and end the loop, but I want to know the benefit of doing this. 🙂

but I want to know the benefit of doing this

you preserve the protocol
which is helpful when

your client sends a stop
but your subscription resolver polls so aggressively that its blocked from reading the stop (fixed by a 10 milli sleep)
then the client stops accepting messages
and the axum integration breaks the subscription because it receives an error instead of a stop

now your debug statement in the stop branch of the websocket submodule doesnt print because of the early termination (debug lines highlighted @1:00 dont print)
so you ask yourself "wheres my stop"

Maybe you should use an asynchronous WebSocket client, measure_socket.read() blocks polling and this can cause weird things to happen.

will consider that as an improvement to the sleep thank you

I believe that all the problems you encounter are solved when you use asynchronous WebSocket client. 🙂

this pr intends preventing the integration from violating the protocol when weird things happen
and youve received evidence of how others can benefit when the protocol remains
but this is your project and the choice to extend that benefit to others is yours
welcome to close if you prefer not to

I can't reproduce the problem, when the client sends Stop, everything works fine, you can test it with this example.
https://github.com/async-graphql/examples/tree/8f0450eec914aa546e5a36c67586b01cf8ffe087/axum/subscription

can join you in the rabbit hole of producing another blocking subscription
but easier if you just run your tests with my change and merge the reduction in error handling on principle

Does the problem still exist after switching to an asynchronous WebSocket client?

doesnt matter
please merge to remove duplicate error handling and unnecessary filter
or close if you judge your code to be an exception to principle

I'm closed this PR because I think the current implementation follows the protocol, feel free to open it again if you have any questions.


Added dgme.gov.bd

DGME (Directorate Genral of Medical Education) is the organization that designs curriculumns and regulates activities of all the Medical and Dental Colleges in Bangladesh.

@raihansikder The first verification stage is complete: the official domain for  Directorate General of Medical Education (Bangladesh) is dgme.teletalk.com.bd, to the best of my knowledge. This is just an informational note. The pull request is still under review. The review may take some more time. I greatly appreciate your patience. Here is the proof of domain ownership: http://dgme.teletalk.com.bd/bds/docs/circular_bds_nongov.pdf

Many thanks Philip.  Much appreciated.
You are correct, all these domains are government provisioned domains.
BR
Raihan
On Sun, Apr 21, 2024 at 9:33 AM Philip Torchinsky @.***>
wrote:

@raihansikder https://github.com/raihansikder The first verification
stage is complete: the official domain for Directorate General of
Medical Education (Bangladesh) is dgme.teletalk.com.bd, to the best of
my knowledge. This is just an informational note. The pull request is still
under review. The review may take some more time. I greatly appreciate your
patience. Here is the proof of domain ownership:
http://dgme.teletalk.com.bd/bds/docs/circular_bds_nongov.pdf
—
Reply to this email directly, view it on GitHub
https://github.com/JetBrains/swot/pull/20694#issuecomment-2067877287,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANW75NFGQDRBOEZ7MT4BFLY6MXR5AVCNFSM6AAAAABGQMA6M2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRXHA3TOMRYG4
.
You are receiving this because you were mentioned.Message ID:
@.***>

@raihansikder The first verification stage is complete: the official domain for  Directorate General of Medical Education (Bangladesh) is dgme.teletalk.com.bd, to the best of my knowledge. This is just an informational note. The pull request is still under review. The review may take some more time. I greatly appreciate your patience. Here is the proof of domain ownership: http://dgme.teletalk.com.bd/bds/docs/circular_bds_nongov.pdf

@raihansikder Thank you for your request. The domain does not look eligible for this repository because:

This domain seems to represent an umbrella institution, not a specific single university or a college.
The organization is not educational, it's government organization. It does not teach students, in other words.
The organizations seems to have nothing in common with computer science fields of study.

If you are a student there, and need to use JetBrains tools, please apply for free educational license with an official document which proves that you are a student. You can do it using "OFFICIAL DOCUMENT" tab at https://www.jetbrains.com/shop/eform/students.
If I misunderstood the idea of adding this domain to the trusted list, please send an email to<EMAIL_ADDRESS>and explain what the organization does, and why it needs educational subscription for JetBrains tools.
I have to close the request without merging.
Thank you for your understanding!


fix

Codecov Report
Patch coverage has no change and project coverage change: -7.64 :warning:

Comparison is base (2e4f1e1) 63.63% compared to head (22b772c) 56.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main       #9      +/-   ##
==========================================
- Coverage   63.63%   56.00%   -7.64%
==========================================
  Files           1        1
  Lines          22       25       +3
==========================================
  Hits           14       14
- Misses          8       11       +3

Impacted Files
Coverage Δ

greeting/greeting.go
56.00% <0.00%> (-7.64%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Outdated Readme

port module Test exposing (..)

import Task
import Ordeal exposing (..)

main: OrdealProgram
main = run emit tests

port emit : Event -> Cmd msg

tests: Test
tests =
  describe "My first suite"
    [ test "My very first test" (
      "a" |> shouldEqual "a"
    )
    , describe "A sub-suite"
      [ test "And a sub-test" (
        { a = 1, b = False } |> shouldEqual { a = 1, b = False }
      )
      , test "Another sub-test" (
        True |> shouldNotEqual False
      )
      ]
    , xtest "A skipped test" (
      "a" |> shouldEqual "b"
    )
    , test "My first async test" (
      Task.succeed 42 |> andTest (\value -> value |> shouldBeGreaterThan 35)
    )
    , test "My first failure" (
      Task.fail { a = 1, b = "aze" } |> andTest (\value -> value |> shouldEqual "54")
    )
    , test "Another failure" (
      ["a","b","c"] |> shouldContain "d"
    )
    ]

I haven't found OrdealProgram at source code. It started to work for me then I replaced OrdealProgram by Ordeal. Is it correct?
"My first failure" is also outdated.

#3 I created a pull request with an attempt to fix the issue.

It is correct, thanks for fixing it. Just to be clear, I'm not doing Elm anymore and not maintaining this project actively.


logind: options ingored after nixos-rebuild switch --upgrade

Issue description
Closing the lids suspend the computer, and pressing poweroff power it off, even if I have:
[Login]
KillUserProcesses=no
HandleLidSwitch=ignore
HandleLidSwitchDocked=ignore
HandlePowerKey=ignore
HandleSuspendKey=ignore
HandleHibernateKey=ignore
HandleLidSwitchDocked=ignore

In my logind (
    logind = {
      lidSwitch = "ignore"; # newly added
      extraConfig = ''
        HandlePowerKey=ignore
        HandleSuspendKey=ignore
        HandleHibernateKey=ignore
        HandleLidSwitchDocked=ignore
    '';
    };

)
Has always worked before upgrading (systemd 234) and with it is inhibited correctly with
systemd-inhibit --what=handle-lid-switch sleep 1d
and
systemd-inhibit --what=handle-power-key sleep 1d
/etc/systemd/logind.conf has the right content
Technical details

system: "x86_64-linux"
host os: Linux 4.14.20, NixOS, 18.03pre129076.831ef4756e3 (Impala)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 1.11.16
channels(IITaudio): "nixos-18.03pre129076.831ef4756e3, telegram-cli-2016-03-23, machine-0.9.0, gitlab-runner-1.10.4, california-0.4.0, entr-3.6, tmuxp-1.2.2, keybase-20170209.17b641d, kbfs-20170209.d1db463, non-2016-12-07, go-sct-20160529-1d6b5e0, freecad-0.16, antimony-0.9.2, librecad-2.1.3, lemonbar-xft-unstable-2016-02-17, pencil-2.0.21, python3.5-qnotero-1.0.0, ruby-2.3.3, gimp-2.8.20, chromium-56.0.2924.87, nix-repl-1.11.7-2016-02-28, gparted-0.26.1, screen-4.5.1, vmpk-0.5.1, a2jmidid-8, platformio, teensyduino-1.6.12, teensy-loader-cli-2.1, blender-2.78c, unetbootin-613, mediainfo-0.7.91, xournal-0.4.8, zip-3.0, graphviz-2.40.1, ffmpeg-3.2.4, vlc-2.2.4, okular-16.12.2, pdfmod-0.9.1, green-pdfviewer-nightly-2014-04-22, android-sdk-25.2.3, android-studio-<IP_ADDRESS>, zathura-with-plugins-0.3.7, openjdk-8u121b13, android-ndk-r10e, virtualbox-5.1.14, R-3.3.2-wrapper, aspell-dict-en-2016.06.26-0"
channels(gitlab-runner): "nixpkgs-18.03pre117013.aebdc892d6"
channels(root): "nixos-18.03pre129076.831ef4756e3"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs

I'm using i3wm and no power-manager that might inhibit systemd-logind

Seems to be fixed on the unstable channel

@knupfer ok thanks, I'll verify and close it if it's fixed for me, too. I'm having problems switching generation, might take a while

Ok I can confirm that now it's working


0.4.2 contains a breaking change

Updating crossbeam-utils to 0.4.0 is a breaking change since that version requires a newer version of Rust to compile (1.25 instead of 1.12). This has broken CI of one of my crates: https://travis-ci.org/jonas-schievink/xml-rpc-rs/jobs/391259820
As a side note, .travis.yml doesn't test for a minimum supported Rust version right now.

Thanks for the quick fix, my crate is working again!
The only additional thing you could do is yanking v0.4.2 from crates.io, just to really make sure nobody tries to use that version. Cargo will usually pick 0.4.3 over 0.4.2 anyway, so that's not strictly required.


feat: OpenAPI configure custom media type

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1137
#1136  👈
#1135
#1134 : 2 other dependent PRs (#1097 , #1124 )
main

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

Join @Cobalt0s and the rest of your teammates on  Graphite


Added Quality of Service

New page detailing high level QoS concept, existing levels, and how classification functions. Expanded ToC.
Links to API resources (sdk-api) for further information for developers.

@mabellon-msft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Added in private repo.


Update METIS target logic to accept setting METIS_DIR externally. [black27-tpl-updates]

Updated this to facilitate an external Makefile building all the needed libraries, then pointing MFEM to those install locations.

@aaroncblack, what's the status of this PR?

I'm going to close this PR, I will be re-writing this to redo the logic to use more explicit variables for METIS 4 vs METIS 5, and PARMETIS ( Veselin had some good feedback ).
I will take the newer logic up in another commit which includes several other changes for our automated testing.


Un-weighted interpolation: revert to last working long-run.

Purpose
Reverts status to last passing long-run build.
modified:   src/tendencies/advection.jl
modified:   src/tendencies/implicit/implicit_tendency.jl
Linked #1290
Linked #1273
Required before merge

[x] Verify CI-Buildkite
[x] Verify Long-run build.
[x] Verify plot outcomes.

@trontrytel Can you please help me check the EDMF plots and confirm that the changes to files are reasonable?

@trontrytel Can you please help me check the EDMF plots and confirm that the changes to results are reasonable?

The EDMF cases look good to me. There is one case that is failing, but it's already marked as a soft fail. So it should be good to go.

@trontrytel Can you please help me check the EDMF plots and confirm that the changes to results are reasonable?

The EDMF cases look good to me. There is one case that is failing, but it's already marked as a soft fail. So it should be good to go.

Thanks for checking this!

bors r+


fix: 🐛 ImmutableJsons withMap(Class)

parameter type should be Class<? extends ImmutableMap>
Closes: #57

Codecov Report

Merging #62 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #62   +/-   ##
=========================================
  Coverage     83.26%   83.26%
  Complexity     1988     1988
=========================================
  Files            91       91
  Lines          4672     4672
  Branches        529      529
=========================================
  Hits           3890     3890
  Misses          518      518
  Partials        264      264

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/jsonvalues/ImmutableJsons.java
77.7% <ø> (ø)
54 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


fix(mqtt-ad): expose Scene Activation CC

as a number
fixes #3570
Tested against openHAB and Home Assistant.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

-18 of 27 (33.33%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 22.092%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

api/lib/Gateway.ts
0
18
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
3772

Relevant Lines:
18151

💛  - Coveralls

FYI I can't help on the coding and not overly familiar with these CCs, but will comment that scene activation and scene control CCs both launch scenes and probably should be setup the same.  The difference is that scene control is via the devices' Association groups and scene activation is via the lifeline to the controller.  From the specs.
2.2.85 Scene Controller Configuration Command Class, version 1
The Scene Controller Configuration Command Class is used to configure nodes launching scenes using
their association groups
<IP_ADDRESS> Scene Controller Configuration Set Command
This command is used to configure settings for a given physical item on the device.
Bytes:
Command Class = COMMAND_CLASS_SCENE_CONTROLLER_CONF
Command = SCENE_CONTROLLER_CONF_SET
Group ID
Scene ID
Dimming Duration
------
2.2.83 Scene Activation Command Class, version 1
The Scene Activation Command Class used for launching scenes in a number of actuator nodes e.g.
another scene-controlling unit, a multilevel switch, a binary switch etc.
<IP_ADDRESS> Scene Activation Set Command
This command is used to activate the setting associated to the scene ID.
Bytes:
Command Class = COMMAND_CLASS_SCENE_ACTIVATION
Command = SCENE_ACTIVATION_SET
Scene ID
Dimming Duration
------

On an unrelated note, the openHab Zwave binding supports either option.

I don't see how fixing something that couldn't have worked is a breaking change. It's a bug fix.

The entire point of Scene Activation CC is to send a command to the device to trigger a scene. A sensor component is read only. You could read the last scene that was manually set on the device, but not actually send a scene command to it (at least when using Home Assistant or openHAB).

Ahhhh, now that is a critical piece of information I was missing. My devices don't do that, and I didn't even know it was possible. My devices all send button presses to the controller with Central Scene commands, and when talking directly with each other use Basic Set or Multilevel Set commands, but don't communicate that to the controller when they do so. The only purpose for Scene Activation is to tell the switch to activate to a particular preset (and you could use a multicast to the same scene to several switches, which each have their own presets for a given scene).
So are you saying some devices will update the controller with their current Scene Activation value, and that value can be triggered locally (like say if scene 1 is dimming to 50%, when you set to 50% it will update the controller and say "I'm now at scene 1")? Or are you saying "pressing the top left button on a device with 6 buttons will send a Scene Activation value of 1 to the controller"? Or are you saying "I can configure my switch to directly control another switch, and when I use that button on the switch, on or both of those switches will notify the controller that this happened via the Scene Activation value"?
In that case, not only is the component type is a breaking change, but also the component ID is a breaking change. In order to maintain compatibility, it will still need to publish a Scene Activation CC under the ID the Central Scene component uses.

Closed in favor of a full revert: #3583


Browser unsupported for push notifications on mobile.twitter.com

Description
I created an app for mobile.twitter.com. When I visit Settings -> Push Notifications -> Enable, it says that the browser is not supported.
Steps to reproduce issue
$ nativefier --name Twitter --counter --max-width 600 -f --single-instance mobile.twitter.com

login to the app using your Twitter credentials
Click profile icon
Go to Settings and Privacy -> Notifications -> Push Notifications
Click Turn On.

Details

Are you nativefying a public website? : Yes
Feature request? Have you looked at nativefier --help to see if an existing option could fit your needs?: Yes
Full nativefier command used to build your app: nativefier --name Twitter --counter --max-width 600 -f --single-instance mobile.twitter.com
Version of Nativefier (run nativefier --version): v7.6.4
Version of node.js (run node --version): v5.12.0
OS: MacOS 10.13.5
Error message / stack trace (if any): None

Screenshot of the error message: https://imgur.com/gLTMSTa

@ronakg thanks for the feedback. Can you try checking what the reported User Agent is (pop up the DevTools, then evaluate navigator.userAgent) and spoof it to a regular browser one via the --user-agent flag?

navigator.userAgent is set to Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36.
I've already tried setting --user-agent 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36', which didn't help.

On the regular browser window, I get a pop-up asking if the website should be allowed to send notifications. That window is not showing up for the nativefier app.

The same as @ronakg has

Any update on this? I still can't get it to work.

Any update on this? I still can't get it to work.

@BananaManCJ oh hey, thanks, this issue is a dup of https://github.com/jiahaog/nativefier/issues/88 . Notifications were broken but fixed by @exander77 in 1d3bed5f09961e878c4c40085bd69aa2159d3a4c, but this is unreleased yet, as I'm waiting on one thing (see below). If you really cannot wait, install a dev. build.
@exander77, you said you'd add a flag to enable/disable notifications, and keep the current default to disabled notifications, as doing the contrary would be breaking current behavior established since 2016. Are you still progressing on this?

Notifications are still not working on Twitter

Please read my above message. Thanks.

I think the problem is with it authorizing notifications, notifications do work on http://www.bennish.net/web-notifications.html

@BananaManCJ Can you verify this page?
https://www.bennish.net/web-notifications.html
If it works ok, then I will investigate what is going on it Twitter.
If it does not work, then there is something strange on your end, like not actually using the dev build.

Oh, you have already tried bennish test side, then it is something strange in Twitter, will check.

I'm using the test build and the debugger is giving me no useful information

Please read my above message. Thanks.

Oops, forgot to mention that I was using the test build and not the release

@BananaManCJ How can I easily create a notification on Twitter?

@BananaManCJ How can I easily create a notification on Twitter?

What's your Twitter, I can try sending you a dm

Hmm, seems like "push notifications" are not standard "notifications", it is something different for mobile devices. Can you please elaborate for me how it actually differs from normal notifications?

I'm not entirely sure how it works, but you might be able to find a javascript file

https://abs.twimg.com/responsive-web/web/bundle.Notifications.0e522c64.js
https://abs.twimg.com/responsive-web/web/bundle.NotificationDetail.24bb4ac4.js
https://abs.twimg.com/responsive-web/web/loader.PushNotificationsPrompt.660083f4.js
Got these from https://mobile.twitter.com/sw.js

I am also seeing that Twitter uses service workers for it's notifications

This will need a more in-depth analysis, Push Notifications seems to be initially supported on mobile devices, but now are also available in Desktop browsers. It is a completely different API from normal Notifications.
There seems to be recent work on this module: https://github.com/MatthieuLemoine/electron-push-receiver
For Electron, but I am not sure what is a state of it.

Yeah, I've seen that before, but I wasn't sure how to implement it.

@exander77 You still planning on making a flag to disable and enable notifications?

@BananaManCJ Yes, should go back to it. I was actually looking into those pushdown notifications, but it seems like quite complicated things.

I don't know if you saw this but there is a working example here

Does Nativefier support service workers?

@exander77 it's been over a month since a commit, are you still working on adding that cli flag?

Has this been resolved? I'm trying Twitter.com and it's not allowing me to enable notifications.
nativefier --name Twitter --single-instance --tray start-in-tray --show-menu-bar --verbose "https://twitter.com" "C:\Program Files\Nativefier"

@CoreyVidal Twitter uses GCM for push notifications, which is not implemented in Electron at the moment.


Typo in README

https://github.com/gabrielbull/react-router-server#server-side
it should be
  renderToString(

    <ServerRouter

      location={'/current/path/' /* provide the request url */}

      context={context}

    >

      <App/>

    </ServerRouter>,

    context

  ).then(html => console.log(html)); // send html

the 2nd parameter 'context' is missing
FYI: codes in example seems fine

Fixed. Thanks for reporting.


Decypted properties lose origin tracking

While #1490 restored decryption, the property loses origin tracking.

@spencergibb can you elaborate on what we are missing?  Also does it need to be done for Hoxton.RELEASE or can it be done in a SR?


feat(typeahead): add noResults indicator binding

Added a binding for typeahead-no-results that is similar to the binding for typeahead-loading.  I wanted to easily display text below the textbox when no results were found and so this seemed like the cleanest way.  Without this, my best solution was to set the flag in my controller each time within the query method when the results are returned.
Usage:

    <input ng-model="result" typeahead="item for item in loadMatches()" typeahead-loading="isLoading" typeahead-no-results="isNoResults">

Loading ...

No matches found

Can you rebase this off of current master?

Done. See #4068

Great, glad this got pulled in.  Thanks.


safehtml not defined

When I use the template with hugo binary 0.13 I get the below errors
hugo server
ERROR: 2015/06/23 template: theme/partials/about.html:1: function "safeHTML" not defined
ERROR: 2015/06/23 template: theme/partials/clients.html:1: function "safeHTML" not defined
ERROR: 2015/06/23 template: theme/partials/contact.html:1: function "safeHTML" not defined
ERROR: 2015/06/23 template: theme/partials/footer.html:1: function "safeHTML" not defined
ERROR: 2015/06/23 template: theme/partials/head.html:8: function "safeHTML" not defined
ERROR: 2015/06/23 template: theme/partials/hero.html:1: function "safeHTML" not defined
ERROR: 2015/06/23 template: theme/partials/js.html:1: function "safeHTML" not defined
ERROR: 2015/06/23 template: theme/partials/modals.html:1: function "safeHTML" not defined
ERROR: 2015/06/23 template: theme/partials/nav.html:1: function "safeHTML" not defined
ERROR: 2015/06/23 template: theme/partials/portfolio.html:1: function "safeHTML" not defined
ERROR: 2015/06/23 template: theme/partials/services.html:1: function "safeHTML" not defined
ERROR: 2015/06/23 template: theme/partials/team.html:1: function "safeHTML" not defined
ERROR: 2015/06/23 html/template: "theme/partials/head.html" is an incomplete template in theme/partials/head.html
ERROR: 2015/06/23 html/template: "theme/partials/nav.html" is an incomplete template in theme/partials/nav.html
ERROR: 2015/06/23 html/template: "theme/partials/hero.html" is an incomplete template in theme/partials/hero.html
ERROR: 2015/06/23 html/template: "theme/partials/services.html" is an incomplete template in theme/partials/services.html
ERROR: 2015/06/23 html/template: "theme/partials/portfolio.html" is an incomplete template in theme/partials/portfolio.html
ERROR: 2015/06/23 html/template: "theme/partials/about.html" is an incomplete template in theme/partials/about.html
ERROR: 2015/06/23 html/template: "theme/partials/team.html" is an incomplete template in theme/partials/team.html
ERROR: 2015/06/23 html/template: "theme/partials/clients.html" is an incomplete template in theme/partials/clients.html
ERROR: 2015/06/23 html/template: "theme/partials/contact.html" is an incomplete template in theme/partials/contact.html
ERROR: 2015/06/23 html/template: "theme/partials/footer.html" is an incomplete template in theme/partials/footer.html
ERROR: 2015/06/23 html/template: "theme/partials/modals.html" is an incomplete template in theme/partials/modals.html
ERROR: 2015/06/23 html/template: "theme/partials/js.html" is an incomplete template in theme/partials/js.html
0 of 1 draft rendered
0 future content
0 pages created
0 paginator pages created
0 tags created
0 categories created
in 16 ms
Serving pages from /Users/ajay/hugo/site1/public
Web Server is available at http://localhost:1313/
Press Ctrl+C to stop

@ajayep I'm currently using (and developed) this theme with Hugo v0.14. For testing purposes I tried to recreate the errors by cloning the theme into a fresh environment under v0.14 and everythink worked perfectly.
safeHTML, which seems to cause the problems in your system, is the template function that I'm using to escape HTML comments. The release notes of Hugo v0.14 mention under Notice that safeHtml is renamed to safeHTML. But the release notes also say:

These will still work in 0.14, but will be removed in 0.15.

Maybe you should consider to update to the latest release and see if the problems still occur.

@digitalcraftsman  I confirm it was issue with building with v0.13 . With v0.14 it works out of the box. Thanks a lot for creating such a wonderful Hugo theme.

I'm glad that everything works fine now.


Add script to find users who need meetings migrated

For a tenant who's moved to TeamsOnly or SFBWithCollabandMeetings globally, not per-user, we should suggest to customers how to find all the folks who yet need meetings migrated. Or, we can suggest simply running a command on the entire tenant except for users who are manually in TeamsOnly or SFBwithCollabandMeetings, for only SFB meetings to be updated. https://docs.microsoft.com/en-us/SkypeForBusiness/audio-conferencing-in-office-365/setting-up-the-meeting-migration-service-mms is the doc in question.
Suggestions are:
Validate tenant is in TeamsOnly or SFBWithColalbandMeetings via Get-CsTenant|ft TeamsUpgradeEffectiveMode; If Mode returns UpgradeToTeams or SfBWithTeamsCollabAndMeetings or SfBWithTeamsCollabAndMeetingsWithNotify, then, you could run variations of :
This command will list out all users who are NOT manually in a mode where we wouldn't want to upgrade their meetings:
get-csonlineuser -filter {(TeamsUpgradePolicy -ne "Tag:UpgradeToTeams")-and (TeamsUpgradePolicy -ne "Tag:SfBWithTeamsCollabAndMeetings") -and (TeamsUpgradePolicy -ne "Tag:SfBWithTeamsCollabAndMeetingsWithNotify") -and (TeamsUpgradePolicy -ne "Tag:Islands")-and (TeamsUpgradePolicy -ne "Tag:SfBOnly")  } |ft UserPrincipalName, TeamsUpgradePolicy, TeamsUpgradeEffectiveMode
If the tenant is a mode of UpgradeToTeams, or one of the Meetings modes, then you can pipe the results of that command :
get-csonlineuser -filter {(TeamsUpgradePolicy -ne "Tag:UpgradeToTeams")-and (TeamsUpgradePolicy -ne "Tag:SfBWithTeamsCollabAndMeetings") -and (TeamsUpgradePolicy -ne "Tag:SfBWithTeamsCollabAndMeetingsWithNotify") -and (TeamsUpgradePolicy -ne "Tag:Islands")-and (TeamsUpgradePolicy -ne "Tag:SfBOnly")  }
Into the Start-CsExMeetingMigration for SourceMeetingType SFB and TargetMeetingType Teams as exampled here:
get-csonlineuser -filter {(TeamsUpgradePolicy -ne "Tag:UpgradeToTeams")-and (TeamsUpgradePolicy -ne "Tag:SfBWithTeamsCollabAndMeetings") -and (TeamsUpgradePolicy -ne "Tag:SfBWithTeamsCollabAndMeetingsWithNotify") -and (TeamsUpgradePolicy -ne "Tag:Islands")-and (TeamsUpgradePolicy -ne "Tag:SfBOnly")  } | Start-CsExMeetingMigration -SourceMeetingType SFB -TargetMeetingType Teams

@StainlessSteele Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

Chatted with a colleague, and he suggested something as well :
Get-CsOnlineUser -Filter {TeamsUpgradePolicy -eq $null} | where TeamsUpgradeEffectiveMode -in "TeamsOnly","SfBWithTeamsCollabAndMeetings" | Start-CsExMeetingMigration -SourceMeetingType SfB -TargetMeetingType Teams.
This will do the following:
Find all users who don't have a manual upgrade policy assigned. And, after they are returned, use the effective mode they re in, and if in TeamsOnly or SFBWithTeamsCollabandMeetings, will start the migration. If the tenant isn't in UpgradeToTeams, or in SFBwithTeamsCollabAndMeetings, the meeting migration won't run for anyone.

@StainlessSteele thank you for reaching out. I'm looking into this with the team and will revert soonest.

@StainlessSteele thank you once again for this. The team is currently doing a rewrite of these topics, so it should be updated in the near future, but unfortunately I cannot give you a timeframe for completion at the moment.


Add OP_TXHASH and OP_CHECKTXHASHVERIFY

the TXHASH BIP this is modeled after: https://github.com/bitcoin/bips/pull/1500

the Bitcoin Core MR this is a port of: https://github.com/bitcoin/bitcoin/pull/29050

I changed the opcode that OP_CHECKTXHASHVERIFY would be replacing from OP_NOP4 to OP_NOP5.

🐙 This pull request conflicts with the target branch and needs rebase.

If you want to poke at this again, you probably want to bump to the 27.x branch.

⌛ There hasn't been much activity lately and the patch still needs rebase. What is the status here?

Is it still relevant? ➡ Please solve the conflicts to make it ready for review and to ensure the CI passes.
Is it no longer relevant? ➡ Please close.
Did the author lose interest or time to work on this? ➡ Please close it and mark it 'Up for grabs' with the label, so that it can be picked up in the future.

⌛ There hasn't been much activity lately and the patch still needs rebase. What is the status here?

Is it still relevant? ➡ Please solve the conflicts to make it ready for review and to ensure the CI passes.
Is it no longer relevant? ➡ Please close.
Did the author lose interest or time to work on this? ➡ Please close it and mark it 'Up for grabs' with the label, so that it can be picked up in the future.

Closing this


Search in current buffer

Hi, thanks for this nice plugin and accompanying blog post, good work!
I have a small command that searches for todos in current buffer, with ack.vim the following worked just fine:
command Todos Ack! '(TODO|XXX|FIXME)' %

but I can't make it work after replacing Ack! with AgRaw.
I tried % and expand('%'). The former results in a list with line numbers and contents of matching line and column numbers, but no filename (123:3:# TODO something), making it impossible to jump to the given match -- it just opens a new file with line number as a name.
The latter errors with E484: Cannot open file /tmp/vmYrqvV/5.
I tried adding --filename option, but it doesn't seem to change anything (TBH it also does't print the filename when searching in a single file with ag in the terminal).
Adding --vimgrep seems to do the trick, but it removes match highlighting.
Do you have any ideas on how to fix it?

After I wrote down my question, I've manage to find my answer a couple minutes later. Adding --noheading does the trick.

Oh cool, and thank you for kind words!  Share your final command?  I'd love to see!

Sure thing, this works as expected:
command Todos AgRaw --noheading '(TODO|XXX|FIXME)' %

A small update, it's just evolved into:
command -nargs=+ AgRawBuf AgRaw --noheading <args> %
command -nargs=0 Todos AgRawBuf '(TODO|XXX|FIXME)'


Packet validation

Per http://www.aprs-is.net/Connecting.aspx
All "packets" sent to APRS-IS must be in the TNC2 format terminated by a carriage return, line feed sequence. No line may exceed 512 bytes including the CR/LF sequence. Only verified (valid passcode) clients may send data to APRS-IS. See the IGate document regarding gating packets to APRS-IS. Packets originating from the client should only have TCPIP* in the path, nothing more or less (AE5PL-TS>APRS,TCPIP*:my packet). For compatibility, the following rules are for any station generating packets:

q constructs should never appear on RF. Only the qAR and qAO constructs may be generated by a client (IGate) on APRS-IS.
The I construct should never appear on RF. This is an out-dated IGate construct which should no longer be used.
Except for within 3rd party format gated packets, TCPIP and TCPXX should not be used on RF.

512 byte limit has now been implemented in pull request #237.


Mobile App [Radzima RN iOS Android] Unordered/ordered list is displayed incorrectly in Dark Mode

Description:
Unordered/ordered list is displayed incorrectly in Dark Mode (full black text on iOS (RN), unordered elements on Android).
Steps to reproduce:

Run the app in Dark Mode.
Open any object (eg. "Республиканский заказник "Беловежская Пуща").
Check the object description.

Actual result:
Unordered/ordered list is displayed incorrectly in Dark Mode.
Expected result:
Unordered/ordered list is displayed with correct colour schema.
Android

iOS (RN)

The changes haven't been available on the Admin app on production. The issue should be retested after its release on prod and after the release of the Admin app to prod.


ImmutableTableOptions and ImmutableQueryEnvironment not found

when i run pinot locally, org.apache.pinot.calcite.rel.rules.ImmutableTableOptions and other classes were not found

You have to compile the code at least once to generate these classes. If you are running it in intellij, be sure you it updates the code once maven has compiled it.

You have to compile the code at least once to generate these classes. If you are running it in intellij, be sure you it updates the code once maven has compiled it.

Thank you for your reply. I have found the problem, I compiled it using JDK21, currently, it has been resolved using JDK11


Restructure and update repository to work with modern Swift Package Manager conventions - means no more Carthage support

This updates the repo to use modern Swift PM conventions, which allows us to remove a load of code that was about making tests visible on Linux. It also allows us to remove the xcodeproj file.
However, I wanted to call this out in a separate PR because it means no more Carthage support, AFAIK, because Carthage relies on there existing a public scheme (and therefore an xcodeproj file) in the repo.
Does anyone using the library still use it via Carthage?

@hamchapman thank you for asking - no we're not using the library via Carthage but with SwiftPM


[FEATURE] Add pause and resume utilities and event handlers

Here's the idea I had for how I might add these.
Events:

Lib.Pause.OnGamePaused(PauseSource)
Lib.Pause.OnGameResumed(UnpauseSource)

Methods (calling these will result in the PauseSource or UnpauseSource being "Script"):

Lib.Pause.ResumeGame()
Lib.Pause.PauseGame()

Enum:
PauseSource = { CaseBoard, Inventory, MainMenu, Save, Script }

For simplicity, I'll start with the implementation without the PauseSource and UnpauseSource. Also, we can remove UnpauseSource and have one enum instead:
PauseSource = { CaseBoard, Inventory, MainMenu, Save, Script }

Scrapped the PauseSource feature as there were too many entries in the game where the pause flow can trigger from.


no automatic dispatching of Window's left/top

Versions

Python:
OS:
Kivy:
Kivy installation method:

Description
reacting to window's position changes is hard, comparatively to reacting to window's size, the alias properties work, but don't bind to the underlying state, so one has to check their values repeatedly.
Code and Logs
from kivy.core.window import Window as W
from kivy.app import App
from kivy.lang import Builder
from kivy.clock import Clock

KV = '''
#:import W kivy.core.window.Window
Label:
    text: 'top: {}\\nleft: {}\\nwidth: {}\\nheight: {}'.format(W.top, W.left, W.width, W.height)
'''

class WApp(App):
    def build(self):
        W.bind(top=self.log, left=self.log, size=self.log)
        Clock.schedule_interval(self.show_pos, 0)
        return Builder.load_string(KV)

    def show_pos(self, *args):
        print(W.left, W.top)

    def log(self, *args):
        print(args)

    def on_stop(self):
        print (
            'top: {}\nleft: {}\nwidth: {}\nheight: {}'
            .format(W.top, W.left, W.width, W.height)
        )

if __name__ == '__main__':
    WApp().run()

Fixed by https://github.com/kivy/kivy/pull/6133


Manual sync button shown in user profile

Describe the bug
Since the last release, a button for manual synchronization has been added. Please check #25 for this. Unfortunately, this button is also shown in the user profile. I am not sure if it is on other pages as well. We will probably need additional checks to make sure this button is only added in an editor page?
Screenshots

@itsluminous do you have an idea what we can further do?

also on problem page.

let me add a fix for that

let me add a fix for that

There is a method insertToAnchorElement() which checks the URL. Probably the developer of the spinner feature had the same problem when adding

That code looks too complex for a simple thing I feel.
I have raised a pull request for this issue : #27

This bug has been solved in 989eb0f. I created a new release v0.0.11 which is currently being reviewed by Google. Will be in the store soon!


Add support for asynchronous session lookup

The whole SSL_magic_pending_session_ptr() machinery was copied from
BoringSSL so projects already using it (e.g. OpenResty) can be built
with OpenSSL 1.1 without changes.

This appears to be working, but since it needs to modify the state machine it is kind of scary (and I'm not all that familiar with the new code as well).
/cc @mattcaswell, @agl, @agentzh

+1

Please consider anything included here from BoringSSL as submitted under the CLA.
The SSL_magic_pending_session_ptr isn't the greatest API, but it worked for us and allowed us to carry minimal changes in the 1.0.0 era. If OpenSSL have better ideas for this API, BoringSSL can align with them.

Are you still interested in having this feature included in OpenSSL? If so please rebase the PR to resolve conflicts.
Marking as inactive to be closed at the end of 3.4 dev barring further input.


How to generate new Modules?

Hi all,
Thanks for your great work but I don't found anything related to auto generate the new modules, etc. does it support it as well
Thanks

Look at mern-cli.  It has a command:
merng
there are other flags and options as well


Post notification API should return id when 202 Accept

Description
Currently the post notification/subscription API will return the slug value after successfully created a new notification/subscription.
Expected
The id value should be returned instead of the slug as the user already has the slug value, also to be in consistent with other POST API in the EdgeX services.

slug is something user has already known, so we had better return id for creation to be consistent with other services

RAML should also be modified if we accept this change
https://github.com/edgexfoundry/edgex-go/blob/master/api/raml/support-notifications.raml#L864-L869


fix(analytics): Support sasl authentication to kafka

Fixes: #2611
Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable)

@jjoyce0510 A bit of a disclaimer. I'm not overly proud of this. Ideally I would like for some solution that enables all kafka client configuration properties to be set without having to have one line of java code per property. Something that just takes all properties below "analytics.kafka", strips the prefix and uses them when creating the Producer. I'm not familiar enough with the frontend code to see exactly how to accomplish that.


Use track lists directly #193

Semi-invasive update, generally reduces complexity, drops about 50 LoC.
Fixes #193

then immediately unwraps it in useTrackFilter for the checkedTrackIds reference object.

The old line (before I added unwrapping) is here:
const checkedTrackIds = ref(Array.from(sortedTrackIds.value));

That Array.from() also invokes a shallow copy look, so the performance is O(N) either way.
We could convert checkedTrackIds to checkedTracks but we would still need to create the shallow copy.

That Array.from() also invokes a shallow copy loop, so the performance is O(N) either way. I don't know how much heavier hashmap lookup is compared to simple copying, but it may be significant.

Thanks for the explanation.  I don't know either whether it is better to do the getTrack each iteration of a loop for the consumers of the data or to do it ahead of time in the .map function on sortedTracks.  Again I don't notice any problem as of now with 2800+ tracks.


help

hello, I wanted to make a czech translation. I uploaded files and created a folder, but now it is probably deleted. What I dit wrong? Can someone create it again?

Hi, on the Discord you can find the translation community https://discordapp.com/invite/Staxel


2 - Lap Data

Structure:
struct PacketLapData
{
    PacketHeader    m_header;              // Header

    LapData         m_lapData[22];         // Lap data for all cars on track
};

struct LapData
{
    uint32   m_lastLapTimeInMS;	       	 // Last lap time in milliseconds
    uint32   m_currentLapTimeInMS; 	 // Current time around the lap in milliseconds
    uint16   m_sector1TimeInMS;           // Sector 1 time in milliseconds
    uint16   m_sector2TimeInMS;           // Sector 2 time in milliseconds
    float    m_lapDistance;		 // Distance vehicle is around current lap in metres – could
					 // be negative if line hasn’t been crossed yet
    float    m_totalDistance;		 // Total distance travelled in session in metres – could
					 // be negative if line hasn’t been crossed yet
    float    m_safetyCarDelta;            // Delta in seconds for safety car
    uint8    m_carPosition;   	         // Car race position
    uint8    m_currentLapNum;		 // Current lap number
    uint8    m_pitStatus;            	 // 0 = none, 1 = pitting, 2 = in pit area
    uint8    m_numPitStops;            	 // Number of pit stops taken in this race
    uint8    m_sector;               	 // 0 = sector1, 1 = sector2, 2 = sector3
    uint8    m_currentLapInvalid;    	 // Current lap invalid - 0 = valid, 1 = invalid
    uint8    m_penalties;            	 // Accumulated time penalties in seconds to be added
    uint8    m_warnings;                  // Accumulated number of warnings issued
    uint8    m_numUnservedDriveThroughPens;  // Num drive through pens left to serve
    uint8    m_numUnservedStopGoPens;        // Num stop go pens left to serve
    uint8    m_gridPosition;         	 // Grid position the vehicle started the race in
    uint8    m_driverStatus;         	 // Status of driver - 0 = in garage, 1 = flying lap
                                          // 2 = in lap, 3 = out lap, 4 = on track
    uint8    m_resultStatus;              // Result status - 0 = invalid, 1 = inactive, 2 = active
                                          // 3 = finished, 4 = didnotfinish, 5 = disqualified
                                          // 6 = not classified, 7 = retired
    uint8    m_pitLaneTimerActive;     	 // Pit lane timing, 0 = inactive, 1 = active
    uint16   m_pitLaneTimeInLaneInMS;   	 // If active, the current time spent in the pit lane in ms
    uint16   m_pitStopTimerInMS;        	 // Time of the actual pit stop in ms
    uint8    m_pitStopShouldServePen;   	 // Whether the car should serve a penalty at this stop
};

Models:

LapDataCollectionModel

PacketModel
LapDataModel

Needs to be tested. Currently blocked by a bug in Thread-creation, see #15.


The required attribute "Condition" is empty or missing from the element

Description
After a paket install under Paket 3.01 (The same solution worked well with 2.62.1) invalid nodes are present in the csproj :
    <When Condition="">
      <ItemGroup>
        <Reference Include="Elasticsearch.Net">
          <HintPath>..\..\packages\Elasticsearch.Net\lib\Elasticsearch.Net.dll</HintPath>
          <Private>True</Private>
          <Paket>True</Paket>
        </Reference>
      </ItemGroup>
    </When>
```

Producing:

> MSB4035: foo.csproj(10,5): The required attribute "Condition" is empty or missing from the element  \<When>.

### Repro steps

1. Get the files from https://gist.github.com/vbfox/94a1eb1f9fdff79af17f7b6168b61c8e
2. Run `paket install`.
3. Notice that `<When Condition="">` is generated.

### Expected behavior

A valid project is generated.

### Actual behavior

MsBuild complains & refuse to build.

### Known workarounds

The bug seem related to the framework filtering feature, removing `framework: >= net451` from `paket.dependencies` generate a valid (if bloated) project file.

this was related to runtime dependency stuff.

That seem solved !


Keypoints relocate wrongly when rotated

I observed that when I use iaa.Affine(rotate="anything that is not zero"), the keypoints shifted wrongly on the small image.
In the following image, the 3rd plot is rotated by 180 degrees, but somehow the keypoints are not in the center of the circle. The problem is more noticeable when you resize the image further to 30x30.

Here's the minimal code to reproduce the issue:
import cv2 as cv
import numpy as np
import imgaug as ia
from imgaug import augmenters as iaa
from imgaug.augmentables.kps import KeypointsOnImage

def enlarge_and_plot(img, koi):
    plot = cv.resize(img, (600, 600))
    plot = koi.on(plot).draw_on_image(plot, size=10)
    return plot

# creating big image and big keypoints
img = np.ones((500,500,3), dtype=np.uint8) * 255
coords = [100,100,200,200,300,300,400,400,100,400]  # list of XY coordinates
coords = np.float32(coords).reshape((-1, 2))
for coord in coords:
    cv.circle(img, tuple(coord), 10, (0,0,0), thickness=3)
koi = KeypointsOnImage.from_xy_array(coords, img.shape)
plot1 = enlarge_and_plot(img, koi)

# make small image and small keypoints
img = cv.resize(img, (45, 45))
koi = koi.on(img)
plot2 = enlarge_and_plot(img, koi)

# rotate small image and small keypoints
print(koi)
img, koi = iaa.Affine(rotate=180)(image=img, keypoints=koi)
print(koi)
plot3 = enlarge_and_plot(img, koi)

ia.imshow(np.hstack([plot1, plot2, plot3]))

I don't know if this is a bug or it's simply my mistake of how I'm using the library. Please give me insight. @aleju
But I think it's kind of an off-by-one error. I see that the first coordinate (100,100) gets mapped to (9,9) on 45x45 image, which is correct, but after rotation, the coordinate gets mapped to (35,35) which should be (36,36) if I understand correctly.
Here's the output of the program:
KeypointsOnImage([Keypoint(x=9.00000000, y=9.00000000), Keypoint(x=18.00000000, y=18.00000000), Keypoint(x=27.00000191, y=27.00000191), Keypoint(x=36.00000000, y=36.00000000), Keypoint(x=9.00000000, y=36.00000000)], shape=(45, 45, 3))
KeypointsOnImage([Keypoint(x=35.00000000, y=35.00000000), Keypoint(x=26.00000000, y=26.00000000), Keypoint(x=16.99999809, y=16.99999809), Keypoint(x=8.00000000, y=8.00000000), Keypoint(x=35.00000000, y=8.00000000)], shape=(45, 45, 3))

If this is the case, it means that you won't notice this bug in a big image because one pixel wrong is not  visible to the naked eyes

My current hack is to do something like this:
img = "some small image"
img, koi = iaa.Affine(rotate=180)(image=img, keypoints=koi.on((10000,10000)))
koi = koi.on(img)

This will make the off-by-one error insignificant.
But this doesn't look elegant, especially when I have a list of KeypointsOnImage and I have to convert each of them to big keypoints.

Can you try the latest version from master and see if it works then as expected?
Luckily, it looks like patch #446 in commit c706637 has already fixed that one.
This is the output that I got with master:

KeypointsOnImage([Keypoint(x=9.00000000, y=9.00000000), Keypoint(x=18.00000000, y=18.00000000), Keypoint(x=27.00000191, y=27.00000191), Keypoint(x=36.00000000, y=36.00000000), Keypoint(x=9.00000000, y=36.00000000)], shape=(45, 45, 3))
KeypointsOnImage([Keypoint(x=36.00000000, y=36.00000000), Keypoint(x=27.00000000, y=27.00000000), Keypoint(x=17.99999809, y=17.99999809), Keypoint(x=9.00000000, y=9.00000000), Keypoint(x=36.00000000, y=9.00000000)], shape=(45, 45, 3))

Thanks for the detailed bug report though!

How do I properly install from master when I have already installed it via conda install imgaug before?
I tried conda uninstall imgaug and it seems like it's trying to remove too many things.

OK. I figured it out now. I just have to use pip uninstall imgaug instead of conda uninstall imgaug before installing from master. This conda uninstall command is quite dangerous as it breaks all my numpy and pandas stuff. I have to reinstall things again.
When will the master gets released to conda or pip so that I don't have to install from git repo?

I hope that the next release will happen in two weeks or so. Not entirely sure yet.

OK. I think my issue is solved. I can just use the latest version from master.