Events of remotes are fired multiple times

First of all: Really nice project :+1:!
During my first test with a remote, I noticed some small issues: When I press a button on my remote (HM-RC-Key4-2), I get two "press_short: true" events by the Homegear node (probably one for press_short and one for install_test?). Maybe it would be better to only put the value received over MQTT into the property object? Alternatively not received action values could be set to "false" in the property object? Using "Only send a message on property changes" is not working here, as the variables are of type action and always true. Also PRESS_CONT and PRESS_LONG_RELEASE would be nice :yum:. And: Key 3 and 4 are ignored.
Cheers,
Sathya

Thanks for giving it a good test ride (I can only test against my RT-CC-DN thermos).
Maybe you can assist a little with this issue if you like:
The "Only changes" mode was supposed to also work in this scenario but I can't test it against a remote since I have none. Setting not received actions to false would probably be a nice idea - I'll think about it.
Could you use a tool like mqtt-sub to listen to the events published by Homegear and send me an excerpt showing the sequences for when you press and when you release the button?
Regarding the missing keys - It's possible that some keys are missing because the conversion script didn't find the correct number of channels in the source XML (some devices don't supply a fixed channel number but rather a "check device at runtime" flag, in this case my conversion script used a little heuristic to try to guess the channel count from the name).
Feel free to check out the device description in families/homegear.json and submit a PR.

Here's the log of one continuous button press.
homegear/1234-5678-9abc/event/45/0/RSSI_DEVICE [-71]
homegear/1234-5678-9abc/event/45/1/INSTALL_TEST [true]
homegear/1234-5678-9abc/event/45/1/PRESS_CONT [true]
homegear/1234-5678-9abc/event/45/1/PRESS_LONG [true]
homegear/1234-5678-9abc/event/45/1/TEST_COUNTER [132]
homegear/1234-5678-9abc/event/45/1/SIM_COUNTER [132]
homegear/1234-5678-9abc/event/45/1/INSTALL_TEST [true]
homegear/1234-5678-9abc/event/45/1/PRESS_CONT [true]
homegear/1234-5678-9abc/event/45/1/PRESS_LONG [true]
homegear/1234-5678-9abc/event/45/1/TEST_COUNTER [132]
homegear/1234-5678-9abc/event/45/1/SIM_COUNTER [132]
homegear/1234-5678-9abc/event/45/1/INSTALL_TEST [true]
homegear/1234-5678-9abc/event/45/1/PRESS_CONT [true]
homegear/1234-5678-9abc/event/45/1/PRESS_LONG [true]
homegear/1234-5678-9abc/event/45/1/TEST_COUNTER [132]
homegear/1234-5678-9abc/event/45/1/SIM_COUNTER [132]
homegear/1234-5678-9abc/event/45/1/INSTALL_TEST [true]
homegear/1234-5678-9abc/event/45/1/PRESS_CONT [true]
homegear/1234-5678-9abc/event/45/1/PRESS_LONG [true]
homegear/1234-5678-9abc/event/45/1/TEST_COUNTER [132]
homegear/1234-5678-9abc/event/45/1/SIM_COUNTER [132]
homegear/1234-5678-9abc/event/45/1/INSTALL_TEST [true]
homegear/1234-5678-9abc/event/45/1/PRESS_CONT [true]
homegear/1234-5678-9abc/event/45/1/PRESS_LONG [true]
homegear/1234-5678-9abc/event/45/1/TEST_COUNTER [132]
homegear/1234-5678-9abc/event/45/1/SIM_COUNTER [132]
homegear/1234-5678-9abc/event/45/1/INSTALL_TEST [true]
homegear/1234-5678-9abc/event/45/1/PRESS_CONT [true]
homegear/1234-5678-9abc/event/45/1/PRESS_LONG [true]
homegear/1234-5678-9abc/event/45/1/TEST_COUNTER [132]
homegear/1234-5678-9abc/event/45/1/PRESS_LONG_RELEASE [true]
homegear/1234-5678-9abc/event/45/1/SIM_COUNTER [132]
``´

PRESS_LONG and PRESS_CONT are published roughly every 200 ms for the duration of the button press.

Thanks, that's going to help sorting this out.
I'm not 100% sure how to handle this situation in a way that doesn't break the current "parameter set" design (which I really like to keep).
Extending your proposal to send all other actions as false if a new action is received as true would work here but it would still send more than one message in short succession (and then repeat them):

install_test -> true, others false
press_long -> true, others false
press_cont -> true, others false

It would also require adding more metadata to the device description since currently receive parameters are handled without any type information (only write params have them). That could be extracted from the source XML so it's not that big a change but it would still be a necessary one.

I made the pull request and noticed channel 3 was already there - twice. The XML file contains definitions for all 4 channels. It seems there went something wrong during the conversion.
Regarding the dynamic channel count: This is difficult to handle statically. But if you send me a list of devices you need the channel count for, let me see what I can do (I should be able to get the channel count for most devices). Alternatively you could just accept all channels when there is a dynamic count? Or is that difficult to handle?

If you want to keep the "parameter set" design, I don't think there is a good way to avoid sending multiple successive messages. But I also don't think that is a problem.

Knowing the actual channel count is required in two places:

for the homegear-mqtt-out node to be able to display the supported parameters to send the value to
for the homegear-mqtt-in node it's required to build the parameter set dictionary

Eliminating the first one is something I don't think can be done easily without sacrificing the UI comfort.
The second one could actually be replaced by a version of auto-discovery which would use the result of getAllValues to determine what should be in a complete parameter dict.
Will getAllValues really supply all readable parameters (including actions etc.)?

Yes, getAllValues returns really all readable parameters.

Alternative approach if the device has readable actions:

add a second output-port which will send a message containing the action name on trigger
exclude these actions from the parameter set send out by the normal output

This operation mode could also have a separate option to enable it.

I like the first option, so you always have all data and the name of the triggered variable.


Add lando to Development Setup

Lando is a local environment development tool which offers a Laravel recipe.
I'm using it as my main development environment when developing Laravel apps.

+1


vba-web in word 2010 windows

Hi all,
sorry, I didn't found a way to ask my question elsewhere and didn't found the information in the docs.
Does VBA-Web useable in a word document?
if yes, how can I use it in word?
Thank you for your help
Gérald

Hi @gerald2545 I have tested it in Word 2013 and it works, so it should work in 2010, but if it doesn't please let me know in case there are some compatibility changes I can make.
How to install manually (needed for Word and Powerpoint):

Download the latest release
Import everything from src to your project except for WebAsyncWrapper (only compatible with Excel + Windows)
Download the latest release of VBA-Dictionary and import to your project

(I'll add the above to the Wiki shortly)
Let me know if this works for you. Note, some of the examples are Excel-only, but the maps example should work in Word. Add Maps.bas to your project and then add the following to a new module:
Sub TestDirections()
  MsgBox Maps.GetDirections("New York, NY", "San Francisco, CA")
End Sub

@timhall Did you ever add the instructions? I can't seem to use the installer for Excel 2010, it says the workbook is protected but it is not. Even if I make a brand new xlsm file and try to use the installer on it, it fails. So I need an alternative installation method, I'll try importing from the src folder as you described.

I did get it to work by just adding all the src files. What is the purpose of the installer?


refactor: fix [TypeError: Cannot read property split of undefined] in tests

resolves #2115

Codecov Report

Merging #2127 into dev will decrease coverage by 0.1%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##              dev    #2127      +/-   ##
==========================================
- Coverage   95.65%   95.54%   -0.11%
==========================================
  Files          15       15
  Lines         966      966
==========================================
- Hits          924      923       -1
- Misses         42       43       +1

Impacted Files
Coverage Δ

lib/common/options.js
86.2% <ø> (-1.73%)
: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 de2b0a6...2228bf4. Read the comment docs.

:raised_hands:

Thanks!


Prevent Dispose from being called twice on ServiceProvider

Fix #292, bug introduced in bbb9acf101d4f9b3b818834c60572f67ec16ac63

Hi @natemcmaster, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

:shipit:


Proposal: Use dhall for yaml generation instead of (mostly) python

I know that this has been talked about for a while, but I would like to formally make my proposal to use Dhall as our kubernetes yaml-templating solution. I have a working implementation to demonstrate as well, which can be found on the branch s-zeng/dhall_config. See below for more
Problem
Python, as a general purpose language, can often be not the most ergonomic language to write configurations in.
Our current process with mkchain.py involves quite a number of steps - we have a variety of existing yaml templates, which we consume as python data structures to edit a handful of them in place, and then spit everything back out as yaml again.
In particular, we have a main loop which involves looking through every yaml template, wherein we check each template for the appropriate name to apply a particular patch on. Essentially:
if safeget(k, "metadata", "name") == <a>:
    # apply patch <a>
    ...
if safeget(k, "metadata", "name") == <b>:
    # apply patch <b>
    ...

This style, in my opinion, obfuscates the relationship between the original templates and the logic that goes into adjusting them, and can make it hard to follow how the inputs become the final outputted yaml file.
Why Dhall
Unlike Python, Dhall is purpose-built as a configuration language, with a number of features designed specifically to this end. A few for summary:

Essentially JSON or YAML, but with functions
Strong types: Has a type system in the vein of ML/Haskell. Even has dependent types (!) if one is so inclined to go that far. Allows for much stronger guarantees about the structure of data
Pure and non-turing complete: unlike general-purpose languages, guarantees lack of IO, and guarantees termination. Dhall is a strongly-normalizing language, so every expression is guaranteed to normalize into a most-reduced form
Can output to always-correct JSON or YAML

Below are snippets from my prototype dhall implementation, along with comparisons to the original python if applicable.

main mkchain function (only have mkchain create implemented right now but should be trivial to implement invite:

let tezos = ./tezos/tezos.dhall

let k8s = tezos.common.k8s.Resource

let create =
      λ(opts : tezos.chainConfig.Type) →
        [ k8s.Namespace tezos.namespace
        , k8s.Secret (tezos.chainConfig.makeK8sSecret opts)
        , k8s.ConfigMap tezos.utilsConfigMap
        , k8s.ConfigMap (tezos.chainConfig.makeChainParams opts)
        , k8s.StatefulSet (tezos.makeNode opts)
        , k8s.Job (tezos.bootstrap.makeActivateJob opts)
        , k8s.Service tezos.bootstrap.port_services.rpc
        , k8s.Service tezos.bootstrap.port_services.p2p
        , k8s.Deployment (tezos.bootstrap.makeDeployment opts)
        , k8s.PersistentVolumeClaim tezos.bootstrap.pvc
        , k8s.PersistentVolumeClaim tezos.zerotier.pvc
        , k8s.ConfigMap (tezos.zerotier.makeZTConfig opts)
        , k8s.DaemonSet tezos.zerotier.bridge
        ]

in  { tezos, create }

Sample config + running (current weakness: stil needs an external script to generate things like keys and such. see below for more info):

let mkchain = ./mkchain.dhall

let opts =
      mkchain.tezos.chainConfig.ChainOpts::{
      , chain_name = "simons_chain"
      , baker = True
      , keys = toMap
          { baker_secret_key = "..."
          , bootstrap_account_1_secret_key = "..."
          , bootstrap_account_2_secret_key = "..."
          , genesis_secret_key = "..."
          }
      , bootstrap_timestamp = "2020-10-27T20:44:49.522093+00:00"
      , genesis_chain_id = "BL4D6Gg3XArdsawVRcvMiyny2QEhWtUzi4CXgzemUKkEnuedDQG"
      , additional_nodes = 4
      , zerotier_network = "6ab565387a53269c"
      , zerotier_token = "agnshaxe0mqF1WAiWDVHw1lIRbds9xyq"
      , zerotier_hostname = "46305149-64cb-4f74-aea0-7f249324b574"
      }

in  mkchain.create opts

The above can be used to output yaml with the following command:
dhall-to-yaml --documents <<< sample.dhall

Templating activate job in dhall:

let makeActivateJob =
      λ(opts : chainConfig.Type) →
        let varVolume =
              merge
                { minikube = common.volumes.bootstrap_pvc_var
                , eks = common.volumes.var
                }
                opts.cluster

        let spec =
              k8s.JobSpec::{
              , template = k8s.PodTemplateSpec::{
                , metadata = k8s.ObjectMeta::{ name = Some "activate-job" }
                , spec = Some k8s.PodSpec::{
                  , initContainers = Some
                    [ jobs.make_import_key_job opts
                    , jobs.config_generator
                    , jobs.wait_for_node
                    , jobs.make_activate_container opts
                    , jobs.make_bake_once opts
                    ]
                  , containers =
                    [ k8s.Container::{
                      , name = "job-done"
                      , image = Some "busybox"
                      , command = Some
                        [ "sh", "-c", "echo \"private chain activated\"" ]
                      }
                    ]
                  , restartPolicy = Some "Never"
                  , volumes = Some
                    [ common.volumes.config, varVolume, common.volumes.utils ]
                  }
                }
              }

        in  k8s.Job::{
            , metadata = common.tqMeta "activate-job"
            , spec = Some spec
            }

Compared to python yaml template + if statement:
apiVersion: batch/v1
kind: Job
metadata:
  name: activate-job
  namespace: "tqtezos"
spec:
  template:
    metadata:
      name: activate-job
    spec:
      initContainers:
      - name: import-keys
        command: ['sh', '/opt/tqtezos/import_keys.sh']
        envFrom:
        - secretRef:
            name: tezos-secret
        volumeMounts:
        - name: tqtezos-utils
          mountPath: /opt/tqtezos
        - name: var-volume
          mountPath: /var/tezos
      - imagePullPolicy: Always
        name: tezos-config-generator
        image: python:alpine
        command: ["python", "/opt/tqtezos/generateTezosConfig.py"]
        envFrom:
        - configMapRef:
            name: tezos-config
        volumeMounts:
        - name: config-volume
          mountPath: /etc/tezos
        - name: tqtezos-utils
          mountPath: /opt/tqtezos
        - name: var-volume
          mountPath: /var/tezos
      - name: wait-for-node
        image: busybox
        command: ['sh', '-c', 'until nslookup tezos-bootstrap-node-rpc; do echo waiting for tezos-bootstrap-node-rpc; sleep 2; done;']
      - name: activate
        command: ["/usr/local/bin/tezos-client"]
        volumeMounts:
        - name: config-volume
          mountPath: /etc/tezos
        - name: var-volume
          mountPath: /var/tezos
      - name: bake-once
        command: ["/usr/local/bin/tezos-client"]
        args: ["-A", "tezos-bootstrap-node-rpc", "-P", "8732", "-d", "/var/tezos/client", "-l", "bake", "for", "baker", "--minimal-timestamp"]
        volumeMounts:
        - name: config-volume
          mountPath: /etc/tezos
        - name: var-volume
          mountPath: /var/tezos
      containers:
      - name: job-done
        image: busybox
        command: ['sh', '-c', 'echo "private chain activated"']
      restartPolicy: Never
      volumes:
      - name: config-volume
        emptyDir: {}
      - name: var-volume
        emptyDir: {}
      - name: tqtezos-utils
        configMap:
          name: tqtezos-utils

                if safeget(k, "metadata", "name") == "activate-job":
                    k["spec"]["template"]["spec"]["initContainers"][0][
                        "image"
                    ] = c["docker_image"]
                    k["spec"]["template"]["spec"]["initContainers"][3][
                        "image"
                    ] = c["docker_image"]
                    k["spec"]["template"]["spec"]["initContainers"][3]["args"] = [
                        "-A",
                        "tezos-bootstrap-node-rpc",
                        "-P",
                        "8732",
                        "-d",
                        "/var/tezos/client",
                        "-l",
                        "--block",
                        "genesis",
                        "activate",
                        "protocol",
                        c["protocol_hash"],
                        "with",
                        "fitness",
                        "-1",
                        "and",
                        "key",
                        "genesis",
                        "and",
                        "parameters",
                        "/etc/tezos/parameters.json",
                    ]
                    k["spec"]["template"]["spec"]["initContainers"][4][
                        "image"
                    ] = c["docker_image"]

                    if args.cluster == "minikube":
                        k["spec"]["template"]["spec"]["volumes"][1] = {
                           "name": "var-volume",
                           "persistentVolumeClaim": {
                             "claimName": "tezos-bootstrap-node-pv-claim" } }

With the introduction of optional zerotier containers and init containers present across the bootstrap nodes and the statefulset nodes from #42 , I feel that we've hit the limit of what Dhall is capable of. Until dhall-lang/dhall-haskell#2040 is merged, there simply is no ergonomic way to create generic helm charts with Dhall. While it is a nice and idealistic configuration paradigm, it is in a too immature state for our purposes right now. As such, closing until further notice.


packagecloud - ERROR: undefined method `[]' for nil:NilClass

I am trying to install runit (latest version) and it seem to use packagecloud. What am I doing wrong?
Here is the debug info:
==> broker01:  39:  case node['platform_family']
==> broker01:  40:  when 'rhel', 'fedora'
==> broker01:  41:
==> broker01:  42>>   packagecloud_repo 'imeyer/runit' unless node['runit']['prefer_local_yum']
==> broker01:  43:    package 'runit'
==> broker01:  44:
==> broker01:  45:    if node['platform_version'].to_i == 7
==> broker01:  46:      service 'runsvdir-start' do
==> broker01:  47:        action [:start, :enable]
==> broker01:  48:      end
==> broker01:  49:    end
...
==> broker01: [2015-09-21T04:02:10+00:00] ERROR: undefined method `[]' for nil:NilClass
I also tried changing it to:
packagecloud_repo "imeyer/runit" do
type "deb" # or "rpm" or "gem"
end
I get a diff error
No resource or method named packagecloud_repo' for Chef::Recipe "default"'

The ERROR: undefined method []'` error seems to be coming from this part of line 42:
unless node['runit']['prefer_local_yum']

which is part of the runit cookbook, so asking there might answer your question.
The second error you got:
No resource or method named packagecloud_repo' forChef::Recipe "default"'

Sounds like you don't have the packagecloud cookbook installed, included, or something else with your local dev environment.
Going to close this issue because as far as I can tell, this is not related to the cookbook itself but the local dev environment or runit.


Implement per-title-encoding

Inspired by this Netflix article implement support for encoding many bitrates and select only a few, which provide the best quality for the least bitrate.

@ongobongo any progress on this?

@michaelelleby any progress on this?

@michaelelleby any progress on this?

I found that https://github.com/antoinehng/per-title-analysis


Make checkstyle fail the build

Information

JIRA story QPPCT-490.

Changes proposed in this PR:

Updated checkstyle and checkstyle maven plugin

Checklist

[X] All JUnit tests pass (mvn clean verify).
[X] New unit tests written to cover new functionality.
[X] Added and updated JavaDocs for non-test classes and methods.
[X] No local design debt. Do you feel that something is "ugly" after your changes?
[X] Updated documentation (README.md, etc.) depending if the changes require it.

@halprin the test code actually still needs to be formatted. I started on it but realized maven wouldn't verify (was being verified in my IDE). I added a story for that though.


Postgres: Cannot bulk insert UInt64 values "Can't write CLR type System.UInt64 with handler type NumericHandler"

When trying to use bulk operations with postgres I cannot insert models that have unsigned longs. This does however work normally with EFCore as it converts the value to a numeric(20, 0), but it does not with bulk operations.
When I try with bulk extensions the following exception is thrown:

Can't write CLR type System.UInt64 with handler type NumericHandler

EF Core: v6
Bulk Extensions: v6.4.2
Npgsql.EntityFrameworkCore.PostgreSQL: v6.0.3

I've also got the same issue with the Postgres driver:
// DbContext
protected override void ConfigureConventions(ModelConfigurationBuilder configurationBuilder)
{
    base.ConfigureConventions(configurationBuilder);

    configurationBuilder.Properties<EntityId>().HaveConversion<EntityIdConverter>();
}

public class EntityIdConverter : ValueConverter<EntityId, Guid>
{
    public EntityIdConverter()
        : base(
            v => v.Value,
            v => new EntityId(v))
    {
    }
}

public record EntityId(Guid Value);

'Can't write CLR type TyGoTech.Core.Data.EntityId with handler type UuidHandler'

I've submitted a PR to resolve #792

Merged, Thx for contrib.


Don't use the project readme when testing the renderer

The current renderer end-to-end test generates an index.html file based on the project readme. While we want to check that the renderer converts markdown to HTML, it is problematic to use the project readme. Any contributions to improve the readme will fail the CI because they also require updating the specs.
The typedoc application config in the render.ts spec file should be updated to point to a static dummy readme that does not change as frequently as the project readme.
Steps

Add dummy readme that has some basic markdown to convert
Update application config in src/test/renderer.ts to point to readme
Update specs

I'll take this


Use no ML version of Talon.

Automated message from Dropbox CLA bot
@umairwaheed, it looks like you've already signed the Dropbox CLA. Thanks!

@timabbott

@umairwaheed please provide a bit more explanation for things like this in the commit message -- it really helps developers in the future understand why we made a particular change.  Here's the version of the commit message we should use:
Use a version of Talon hardcoded to use the --no-ml argument.

This works around https://github.com/pypa/pip/issues/3845, where the
`--install-option` argument was incorrectly polluting other
dependencies).

Also, I think we shouldn't be using a branch (rather than a commit ID) for this because it doesn't produce deterministic results.  So how about we:
(1) Rebase your changes on top of a more recent talon release (might as well upgrade)
(2) switch back to using a commit ID

please provide a bit more explanation for things like this in the commit message

Sure.

Rebase your changes on top of a more recent talon release (might as well upgrade)

I tried the latest version of Talon first but that was not working in Python 3. So, we can either fix the Python 3 issue in the latest Talon version or we can use the most recent version which works with Python 3 as well.

switch back to using a commit ID

OK

OK, re: Python 3 -- we can stick with our current version if newer Talon doesn't work with Python 3.  I assume they have an open issue on that?

Yes, https://github.com/mailgun/talon/issues/42. Though, this issue is for all of the Talon library.

@timabbott done

Merged, thanks @umairwaheed!


Unordered List can't be followed by horizontal rule

Currently when parsing unordered lists, list items are appended as long as the next line begins with a dash.
This conflicts with the horizontal rule parsing since that element also begins with a dash.
The parsing will need to change to accommodate this scenario.

Fixed by


[TASK] HW #2 - Navigation

added navigation logic
added screens
renamed ImageSmart to the SvgContainer smart component
style fixes


When creating a build with 7i97 selected, and no daughterboard selected, I get an error

I get the following error:

Mesact Version: 2.0.8 Build Date: 12/27/2023
  File "libmesact/buildconfig.py", line 57, in build
    buildhal.build(parent)
  File "libmesact/buildhal.py", line 197, in build
    halContents.append(f'net joint.{i}.output => hm2_[MESA](BOARD).0.{daughter_card}.0.{port}.analogout{i}\n')
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnboundLocalError
cannot access local variable 'port' where it is not associated with a value
Please file an issue at
https://github.com/jethornton/mesact/issues

It appears MesaCT doesn't want to configure an axis to the 7i97 analog out.

I've fixed that error but there are still some bugs with the 7i97 because it's so different. I'll try and sort that out. There is a sample 7i97 config on the Mesa site and I'm using that to fix my tool.
JT

I have a 7i97T now and I'm working on making a working configuration for it

Mesa CT will build a config that does not error out with a 7i97T. I do not have any hardware connected to my 7i97T so I can't test further. If everything works for you please close this issue.


Hyper-v cmdlets can't use wsl paths

This issue is a problem I'm having using Add-VMHardDiskDrive. Documentation is fine!
I am not able to use a WSL path as argument.
Add-VMHardDiskDrive -VMName test  -Path \\wsl$/Ubuntu/home/<image path>

This command launches the next error
Add-VMHardDiskDrive : 'test' failed to add resources to
'test'.
An unexpected error occurred: The network name cannot be found. (0x80070043).
'test' failed to add resources. (Virtual machine ID
4F4777B2-4DFD-4A07-89B6-44FFC5BE2D3F)
'main-image-1611598805' encountered an unexpected error: The network name cannot be
found. (0x80070043). (Virtual machine ID 4F4777B2-4DFD-4A07-89B6-44FFC5BE2D3F)
At line:1 char:1
+ Add-VMHardDiskDrive -VMName test  -Path \\wsl$/Ubunt ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Add-VMHardDiskDrive], Virtualizatio
   nException
    + FullyQualifiedErrorId : OperationFailed,Microsoft.HyperV.PowerShell.Commands.A
   ddVMHardDiskDrive

It seems the cmdlet can't access paths located in other network devices.

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

ID: 9c8343dc-9023-5a5c-c9fc-7f5d76c855ca
Version Independent ID: 32a3f4e4-64da-438c-8c7d-130210c9742a
Content: Add-VMHardDiskDrive (Hyper-V)
Content Source: docset/windows/hyper-v/Add-VMHardDiskDrive.md
Product: w10
Technology: ****
GitHub Login: @Kateyanne
Microsoft Alias: v-kaunu

It seems that this question can best be answered via PowerShell Community Links
The issues section of this repository is for content fixes regarding documentation.
Thank you.


Chapter 3; question 1 "Three in One"; Multistack solution

I apologize for the late review. Github notifications are not reaching my inbox for some reason. I will review ASAP.


ARROW-4940: [Rust] Enable warnings for missing docs, add docs in datafusion

This is the datafusion part of ARROW-4683.
Adds a warn lint to the crate root for missing docs, and attempts to add
docs for anything missing at the time of writing.
Overall, I felt like I was delivering a weak product here. Most of the stuff that didn't have docs really didn't seem to need them. I'm not sure how much value is being added here. Notably, I actually opted to allow missing docs on one enum for aggregate function types since the only thing I could think to add in a docstring would be virtually identical to the name of the variant.
I'd welcome suggestions for rephrasing, etc.

I must be tired. There are still a few symbols missing docs. Will update the diff.

Codecov Report

Merging #3952 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3952      +/-   ##
==========================================
+ Coverage   87.81%   87.82%   +<.01%
==========================================
  Files         728      728
  Lines       89822    89825       +3
  Branches     1252     1252
==========================================
+ Hits        78879    78887       +8
+ Misses      10822    10821       -1
+ Partials      121      117       -4

Impacted Files
Coverage Δ

go/arrow/math/uint64_sse4_amd64.go
0% <0%> (-100%)
:arrow_down:

go/arrow/math/float64_sse4_amd64.go
0% <0%> (-100%)
:arrow_down:

go/arrow/memory/memory_sse4_amd64.go
0% <0%> (-100%)
:arrow_down:

go/arrow/math/int64_sse4_amd64.go
0% <0%> (-100%)
:arrow_down:

js/src/ipc/metadata/message.ts
92.99% <0%> (-1.28%)
:arrow_down:

js/src/schema.ts
88.77% <0%> (-1.03%)
:arrow_down:

go/arrow/math/float64_amd64.go
33.33% <0%> (ø)
:arrow_up:

go/arrow/math/int64_amd64.go
33.33% <0%> (ø)
:arrow_up:

go/arrow/math/uint64_amd64.go
33.33% <0%> (ø)
:arrow_up:

cpp/src/arrow/util/bpacking.h
99.81% <0%> (ø)
:arrow_up:

... and 6 more

Continue to review full report at Codecov.

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

@andygrove thanks for the feedback. I really struggled to divine the intent here, coming at things cold. I'll do another pass and incorporate your recommendations.

I haven't just walked off, never to return. I'm reading more source and working up to some examples/doc tests for these struct docs. The "initializer" stuff was weak and I can do better with more study, slowly.

Hi @onelson Could you fix the merge conflicts, then I can go ahead and merge this. Thanks!

Noticed some new test failures when I ran the suite locally post-rebase. I don't believe they are related, but I haven't checked to see when they were introduced.

Ready if you are @andygrove


Connection being closed when CalculateStats set to true

Tested on Postgres
Found strange behavoir when turning on CalculateStats. After Bulk-method being run database connection became closed
After some digging found potential cause in method GetStatsNumbersPGAsync. It closes connection on every call even if it was opened Explicitly

Hi, can you write entire code snipped where the issue would be reproducible, or write a test for this.

        var c1 = new BulkConfig { CalculateStats = true };
        var c2 = new BulkConfig { CalculateStats = true };

        await _dbContext.BulkInsertOrUpdateAsync(importData.Objects, c1);

        // connection is closed here. Next calls to BulkInsertOrUpdateAsync will fail due to closed db connection

        await _dbContext.BulkInsertOrUpdateAsync(importData.History, c2); // <-- fails

Here you can find stacktrace
System.InvalidOperationException: Connection is not open
   at Npgsql.ThrowHelper.ThrowInvalidOperationException(String message)
   at Npgsql.NpgsqlConnection.CheckReady()
   at Npgsql.NpgsqlConnection.BeginTransaction(Boolean async, IsolationLevel level, CancellationToken cancellationToken)
   at Npgsql.NpgsqlConnection.BeginTransaction(IsolationLevel level)
   at Npgsql.NpgsqlConnection.BeginTransaction()
   at EFCore.BulkExtensions.SqlAdapters.PostgreSql.PostgreSqlAdapter.GetStatsNumbersPGAsync(DbContext context, TableInfo tableInfo, Boolean isAsync, CancellationToken cancellationToken)
   at EFCore.BulkExtensions.SqlAdapters.PostgreSql.PostgreSqlAdapter.GetStatsNumbersPGAsync(DbContext context, TableInfo tableInfo, Boolean isAsync, CancellationToken cancellationToken)
   at EFCore.BulkExtensions.SqlAdapters.PostgreSql.PostgreSqlAdapter.MergeAsync[T](DbContext context, Type type, IEnumerable`1 entities, TableInfo tableInfo, OperationType operationType, Action`1 progress, Boolean isAsync, CancellationToken cancellationToken)
   at EFCore.BulkExtensions.SqlAdapters.PostgreSql.PostgreSqlAdapter.MergeAsync[T](DbContext context, Type type, IEnumerable`1 entities, TableInfo tableInfo, OperationType operationType, Action`1 progress, Boolean isAsync, CancellationToken cancellationToken)
   at EFCore.BulkExtensions.SqlAdapters.PostgreSql.PostgreSqlAdapter.MergeAsync[T](DbContext context, Type type, IEnumerable`1 entities, TableInfo tableInfo, OperationType operationType, Action`1 progress, CancellationToken cancellationToken)
   at EFCore.BulkExtensions.SqlBulkOperation.MergeAsync[T](DbContext context, Type type, IEnumerable`1 entities, TableInfo tableInfo, OperationType operationType, Action`1 progress, CancellationToken cancellationToken)
   at EFCore.BulkExtensions.DbContextBulkTransaction.ExecuteAsync[T](DbContext context, Type type, IEnumerable`1 entities, OperationType operationType, BulkConfig bulkConfig, Action`1 progress, CancellationToken cancellationToken)

Yes, that seems to be a bug.
Closing segment is removed from GetStatsNumbersPGAsync so should be fixed now.
Change is committed and it will be published with next nuget.


Next Gen Voltz Beta testing?

Hi, just wondering if you have any idea how the intial set up for the next gen voltz version is coming along? I would love to be a part of the beta testing team.

Not the place to ask about voltz, but its going slow as always. At the moment I'm mainly just waiting on a few mods to finish up. Then I'll see about releasing the modpack.


[Fixes #56] Fix CORS Issue

The web client was making API calls to the wrong port, and therefore triggering CORS. The docker-compose stack should work in any normal browser now.
Depends on #66

The fix should make it possible to use the app with and without docker.

The fix should make it possible to use the app with and without docker.

Here's the package that we could use to allow CORS requests to the API. Mainly the info that we have to provide is the CORS_ORIGIN, which would have to be either '*' (we allow cross-origin requests from any client; this seems unnecessarily loose security-wise) or we create a list of allowed origins (which would be one item containing the hostname [including port] that the web client is being served from, e.g. "http://localhost:80").
I'm not sure where to get that list of allowed origins from. The Config has an items for SERVER_HOST, SERVER_PORT, SERVER_PROTOCOL for the backend, but nothing for the front end. Should we add that for the front end?

Here's the package that we could use to allow CORS requests to the API. Mainly the info that we have to provide is the CORS_ORIGIN, which would have to be either '*' (we allow cross-origin requests from any client; this seems unnecessarily loose security-wise) or we create a list of allowed origins (which would be one item containing the hostname [including port] that the web client is being served from, e.g. "http://localhost:80").
I'm not sure where to get that list of allowed origins from. The Config has an items for SERVER_HOST, SERVER_PORT, SERVER_PROTOCOL for the backend, but nothing for the front end. Should we add that for the front end?

Depends on #66

@cascadianblue I'm merging this PR so that 1) I can deploy a preview version of the app on AWS, 2) we can get feedback on the UI from react engineers, and 3) we can start integrating this app to the CloudFormation template we will develop to easily deploy the full NLP Sandbox stack to Sage AWS production environment. I'll also create a "docker-compose.yml" to enable a user to deploy the full stack anywhere and play with it (I will host this docker-compose.yml in the main repo).


Satellite_Example.ipynb Broken

HTTPError: 404 Client Error: 404 for url: https://thredds.ucar.edu/thredds/catalog/satellite/WV/WEST-CONUS_4km/current/catalog.xml

Looping @wendiflynn into the conversation.

The 404 is because I took down that entry from the THREDDS catalog--but I took it down because that data is no longer being shipped on NOAAPORT. @dcamron can you update this example to use GOES-16 or 17? It should be as easy as replacing the GiniFile stuff with a call to remote_access(use_xarray=True) I think (with some other variable name updates). I think.

Looks like that data re-appeared, but currently the data on thredds.ucar.edu is stale (from sept 2020 as of this writing). Need to update this example, because it tries to get GFS output from September and fails.


File Manager Fails to unzip "large" files

Product

[X] Panel

Type

[X] Bug or Issue

What Happens
When attempting to unzip a 143MB zip file, the panel takes abnormally long and eventually fails. "Woops! an error while trying to process this request." Upon review of the files, some data was decompressed but the decompression never finishes.
How to Reproduce

Upload a large zip file
Attempt to decompress using the file manager

Error Logs
21:57:00.122Z ERROR wings:  (server=e525a791-6fb5-43c5-ae35-a8e844ecefc3, error={}, memo="self-thrown from progress event")
    file: {
      "name": "FTBInfinityLite110Server_1.2.0.zip",
      "mtime": "2016-11-28T21:53:27.617Z",
      "encoding": "octet",
      "clientDetail": {},
      "meta": {
        "path": "",
        "identifier": "5g44tx602cn88pzsjbovb73nmi"
      },
      "id": 7,
      "size": 150405576,
      "bytesLoaded": 100044800,
      "success": false,
      "base": "FTBInfinityLite110Server_1.2.0",
      "pathName": "/srv/daemon-data/infini_e525a791/data/FTBInfinityLite110Server_1.2.0.zip",
      "writeStream": {
        "_writableState": {
          "objectMode": false,
          "highWaterMark": 16384,
          "needDrain": false,
          "ending": false,
          "ended": false,
          "finished": false,
          "decodeStrings": true,
          "defaultEncoding": "utf8",
          "length": 0,
          "writing": false,
          "corked": 0,
          "sync": false,
          "bufferProcessing": false,
          "writecb": null,
          "writelen": 0,
          "bufferedRequest": null,
          "lastBufferedRequest": null,
          "pendingcb": 0,
          "prefinished": false,
          "errorEmitted": false,
          "bufferedRequestCount": 0,
          "corkedRequestsFree": {
            "next": null,
            "entry": null
          }
        },
        "writable": true,
        "domain": null,
        "_events": {},
        "_eventsCount": 3,
        "path": "/srv/daemon-data/infini_e525a791/data/FTBInfinityLite110Server_1.2.0.zip",
        "fd": 15,
        "flags": "w",
        "mode": "0666",
        "autoClose": true,
        "bytesWritten": 99942400
      }
    }

What happens if you set the uploads.maxfilesize to a higher value in the configuration?

I can confirm this is due to exceeding the maximum filesize limit set in the configuration.

closed in Pterodactyl/Daemon@f84877e and Pterodactyl/Panel@72ad6d5


Teams logging workflow error: InvalidParameter

Hi there thank you for your great work on this package.
I've successfully tested this package sending notifications in teams channel calling e.g.
Log::channel('teams')->debug('This is an error message');
However I've encountered an error when adding it as a custom driver in config/logging.php like this:
    'channels' => [
        'stack'      => [
            'driver'            => 'stack',
            'channels'          => ['daily', 'teams'],
            'ignore_exceptions' => false,
        ],
        // ...
        'teams' => [
            'driver' => 'custom',
            'via' => \Osama\LaravelTeamsNotification\Logging\TeamsLoggingChannel::class,
            'webhook_url' => env('TEAMS_WEBHOOK_URL'),
            'level'    => env('LOG_LEVEL', 'critical'),
        ],
        // ...
    ]

Now when an error occurs it does trigger the webhook call, however the Teams workflow then fails:
Error
Action 'Post_card_in_a_chat_or_channel' failed
InvalidParameter

Any clues how this can be solved?

Hi @henrikhb
Thank you for reaching out and your feedback on my package.
It’s great to hear that the package has been working well for direct logging calls. Regarding the issue you’re facing with the custom driver setup, I recommend ensuring that your package version aligns with v2.1.2, as I have confirmed this version operates correctly under similar testing conditions.
Additionally, could you please provide the version of Laravel you are using? This will help me replicate your environment more accurately and conduct further tests to better assist you.
Looking forward to your response!


Hotstart repoting HTTP Error 403

Checklist

[ x] I'm reporting a broken site support
[ x] I've verified that I'm running youtube-dl version 2<IP_ADDRESS>
[ x] I've checked that all provided URLs are alive and playable in a browser
[ x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[ x] I've searched the bugtracker for similar issues including closed ones

Verbose log

rohnch:~/$ youtube-dl --verbose 'https://www.hotstar.com/in/tv/mahapeeth-tarapeeth/s-1991/ma-tara-is-enraged/1000246671'
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.hotstar.com/in/tv/mahapeeth-tarapeeth/s-1991/ma-tara-is-enraged/1000246671']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2020.06.06
[debug] Python version 3.8.3 (CPython) - Linux-5.7.2-arch1-1-x86_64-with-glibc2.2.5
[debug] exe versions: ffmpeg 4.2.3, ffprobe 4.2.3
[debug] Proxy map: {}
[hotstar]<PHONE_NUMBER>: Downloading webpage
[hotstar]<PHONE_NUMBER>: Downloading JSON metadata
ERROR: Unable to download JSON metadata: HTTP Error 403: Forbidden (caused by <HTTPError 403: 'Forbidden'>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "/usr/lib/python3.8/site-packages/youtube_dl/extractor/common.py", line 627, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/lib/python3.8/site-packages/youtube_dl/YoutubeDL.py", line 2238, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib/python3.8/urllib/request.py", line 531, in open
    response = meth(req, response)
  File "/usr/lib/python3.8/urllib/request.py", line 640, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.8/urllib/request.py", line 569, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.8/urllib/request.py", line 649, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
[1]

Description

The url is working in browser, but reporting error in youtube-dl.

You must provide proxy/VPN.

Even when in India?


docs: fix the README at "Thanks Remix Icon" level

Changes description 🧑💻

Fix the README file.
Before

After

You can download the apk here :
sample-debug.apk :
https://app.bitrise.io/app/e9ae480151be4514/build/176225d3-6a2f-4202-b496-a4f7497de03c/artifact/7cde75fe6520bb00/p/0aee63c609a20ba4b3278fca3ab77a72


[tool_crash] During cache unzip: RangeError (index): Index out of range: no indices are valid: 0

Command
flutter doctor

Steps to Reproduce

...
...
...

Logs
IndexError: RangeError (index): Index out of range: no indices are valid: 0
#0      Uint8List.[] (dart:typed_data-patch/typed_data_patch.dart:2209:7)
#1      InputStream.readUint16 (package:archive/src/util/input_stream.dart:190:20)
#2      GZipDecoder._readHeader (package:archive/src/gzip_decoder.dart:89:27)
#3      GZipDecoder.decodeBuffer (package:archive/src/gzip_decoder.dart:26:5)
#4      GZipDecoder.decodeBytes (package:archive/src/gzip_decoder.dart:17:12)
#5      _WindowsUtils.verifyGzip (package:flutter_tools/src/base/os.dart:294:21)
#6      CachedArtifact._downloadArchive.<anonymous closure> (package:flutter_tools/src/cache.dart:531:20)
#7      CachedArtifact._withDownloadFile (package:flutter_tools/src/cache.dart:563:26)
#8      CachedArtifact._downloadArchive (package:flutter_tools/src/cache.dart:530:12)
#9      CachedArtifact._downloadZippedTarball (package:flutter_tools/src/cache.dart:555:12)
#10     GradleWrapper.updateInner (package:flutter_tools/src/cache.dart:992:12)
#11     CachedArtifact.update (package:flutter_tools/src/cache.dart:496:11)
#12     Cache.updateAll (package:flutter_tools/src/cache.dart:394:24)
#13     FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:602:19)
#14     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:522:33)
<asynchronous suspension>
#15     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:29)
#16     _rootRun (dart:async/zone.dart:1126:13)
#17     _CustomZone.run (dart:async/zone.dart:1023:19)
#18     _runZoned (dart:async/zone.dart:1518:10)

[!] Flutter (Channel master, v1.13.6-pre.44, on Microsoft Windows [Version 10.0.17763.914], locale en-US)
  • Flutter version 1.13.6-pre.44 at D:\flutter
  • Framework revision e768c92fbc (10 hours ago), 2019-12-30 17:12:19 -0800
  • Engine revision bdc9708d23
  • Dart version 2.8.0 (build 2.8.0-dev.0.0 c547f5d933)
  ✗ Downloaded executables cannot execute on host.
    See https://github.com/flutter/flutter/issues/6207 for more information

[✗] Android toolchain - develop for Android devices
  ✗ Unable to locate Android SDK.
    Install Android Studio from: https://developer.android.com/studio/index.html
    On first launch it will assist you in installing the Android SDK components.
    (or visit https://flutter.dev/setup/#android-setup for detailed instructions).
    If the Android SDK has been installed to a custom location, set ANDROID_HOME to that location.
    You may also want to add it to your PATH environment variable.

[!] Android Studio (version 3.5)
  • Android Studio at D:\Android studio
  ✗ Flutter plugin not installed; this adds Flutter specific functionality.
  ✗ Dart plugin not installed; this adds Dart specific functionality.
  • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

[!] Connected device
  ! No devices available

! Doctor found issues in 4 categories.

Flutter Application Metadata
No pubspec in working directory.

We think that this is fixed via additional debug checks added to tool downloads https://github.com/flutter/flutter/commit/23032d772d80d531fdbc483de131f066a783f75c


Schema Compare publish to project doesn't add indexes correctly

When comparing two projects where one has a table with a non-clustered index and the other doesn't, the non-clustered index does not get added to the project when the changes are applied.
Steps to repro:

Create project1 with the script:

CREATE TABLE [dbo].[Table1] (
    [Id]       INT NOT NULL PRIMARY KEY NONCLUSTERED ([Id] ASC),
    [column_1] INT CONSTRAINT [df_col2] DEFAULT ((1)) NULL,
    [column_2] INT NULL,
    [column_3] INT NULL,
    CONSTRAINT [CK_1] CHECK ([column_3]>(0))
);

GO
CREATE NONCLUSTERED INDEX [Index_1]
    ON [dbo].[Table1]([column_2] ASC);

Create project2 with the script:

CREATE TABLE [dbo].[Table1]
(
  [Id] INT NOT NULL PRIMARY KEY
)

Schema compare the two projects

Apply the changes.

Expected:  scripts should be the same
Actual: project2 does not have Index_1

dropping an index also doesn't work

Same thing happens with Primary keys, Foreign keys, and constraints.
I do the same exact steps as the issue and the constraints don't go through.

fixed in DacFx and will be in the June release


Theme selector has incorrect colors on Windows

Requirements

[X] I have verified there are no duplicate active or recent bugs, questions, or requests

URL
https://jahir.dev/blog
Operating System
Windows
Browser
Chrome
Browser Version
123.0.631
What happened?
View count
View count is not updating not route change.
Dark mode
Background cover of dropdown is hiding text of other mode.
Reproduction Steps
Maybe you can check lee robinson and his blog.
I also tried this on my blog patelvivek.dev.
Expected behavior
No response
Screenshots or videos
https://github.com/jahirfiquitiva/jahir.dev/assets/43227010/80684469-08c0-44ad-a30c-dd88cfdc3c9f
Code and/or Logs
No response
Additional context or info
No response

@patelvivekdev
Thanks for the report...
The views count is cached, that's why it isn't updated as you navigate, but if you refresh the site, the count will be updated.
I will look into the issue with the select colors


Add strings before commit to preferences.xml

Remove Hard Coded Strings to allow translation (1/2)

Same comment as on PR #213


Set "File Upload" Button type to "button"

Describe the bug
Most browsers the default type of button is submit.
If click "File upload" button, form will submit.
To Reproduce

Click 'Choose a file'
See "form submit"

Expected behavior
Not form submit.
Desktop (please complete the following information):

OS: macOS
Browser chrome

Additional context
Add any other context about the problem here.

@subicura
Oh..I missed this part. I will change it to the button type.
Thanks!!


Enable partial update of Parent records in batch

I run batch updates of Opportunities overnight, triggering code which updates child records, which then triggers a DLRS update of the parent Opportunities. If the resulting update to the parent Opportunity hits a validation rule or error, every Opportunity in the batch is not updated.
Could a checkbox be added to the Lookup Rollup Summary records to enable users to allow partial success of the bulk DML operation on the Parent records? I'm thinking of the use of a Database Class Method, rather than DML Statement.

Sounds like a valid use case, i've marked this as an enhancement. My question in the meantime would be what behaviour would you want in terms of how errors are expressed to the user? Would the DLRS trigger just set the addError on the child records that corrsespond to the failed parents? Then in your own code you can use more granular error handling via Database methods to allow partial updates on the child records? What do you think, other thoughts?

Apologies for the slow reply.
I could be misinterpreting your question but I'm not proposing any changes to the way that errors on child records are handled. It's only the resulting update to the parent record that I need to manage with a Database Class Method.
Am I correct in thinking that currently any errors on the child records will prevent the DLRS update on the parent from being triggered anyway? In which case, I wouldn't need errors on the child records to be managed differently.
The issue occurs when the DLRS tries to update a parent record once the child record's have been changed, that update causes an error on the parent and then the rest of the parent records in the batch aren't updated as a result.

Ok i understand. I'm just wondering to make it a complete solution what you would want DLRS to do with the errors, i'm not sure just ignoring them makes for a good implementation, even though you may not be interested in them. If you don't have any preference thats cool, i'll come up with some approach that works for you and delivers the applicable error handling if some of the parent updates fail.

Ok that sounds good.
I would have liked to have saved you having to work out an approach for handling the child's errors. But my assumption is that errors on the child records will prevent the DLRS from being triggered at all (which would be fine for me), it sounds like that's incorrect. But I'm not sure why you would still want the DLRS to execute after the error, since I would have thought any resulting rollups to the parent would be missing values from the child record that hit the error.

I think there is some confusion here between us. I've been re-reading your original post. So you have a rollup defined that has Opportunity as the parent and child, yes? And you have some Apex code that is updating some Opportunity records. Say for example 10 of them, 5 of them belong to a parent Opp that is ok to update, 5 of them don't. Yet when the DLRS trigger processes its fails the whole DML operation, is this correct? This is regardless if you use the Database methods to allow partial updates, yes?

Yes it sounds like we're getting more confused with every comment but we'll get there!
The child records that are related to the Opportunities are another object's. Here's the Lookup Rollup Summary record that's causing me the issue, as an example -

My process is reasonably complicated - the scheduled update changes Opportunity fields, an Opportunity trigger then fires which updates the related Monthly_Revenue_Forecast__c child records, those updates trigger the DLRS and then if the resulting update to the Aggregate Result Field (AFR) on the parent triggers the parent's validation rule or some other error, it's that error that I need to handle with the database class method.
So to answer the question in your first response, you would need to addError on the child records, to prevent them from being updated at any time throughout the course of the process because obviously if the child records are updated but the parent's AFR isn't then the AFR will probably be displaying an incorrect value. It sounds like you understood the implications for the end to end process before me there. But I am assuming that the error's on the child records won't block the updates on the remaining parent records in the scheduled update's batch, if they would, that would be an issue..

 If you are using the Salesforce ui, if the dlrs update due to a child update breaks a validation rule, it will throw an error and not allow the child update. I would think, in bulk, you just want to prevent the children updates for the children that would break a parent validation rule(or log them out) but you want the rest to succeed. Right?

Thanks, yes this is in bulk and yes that's the behaviour I'm looking for.
On Fri, 25 Dec 2015 at 15:57, Wes Weingartner<EMAIL_ADDRESS>wrote:

Are you trying this in a bulk context? If you are using the Salesforce ui,
if the dlrs update due to a child update breaks a validation rule, it will
throw an error and not allow the child update. I would think, in bulk, you
just want to prevent the children updates for the children that would break
a parent validation rule(or log them out) but you want the rest to succeed.
Right?
—
Reply to this email directly or view it on GitHub
https://github.com/afawcett/declarative-lookup-rollup-summaries/issues/259#issuecomment-167246743
.

Ok...i think... this is what i ment by "Would the DLRS trigger just set the addError on the child records that correspond to the failed parents?" earlier. Its probably best to repo this in my test org and perhaps if your game invite you into the org take a look and confirm.

That sounds good and yes I can certainly take a look at the org once you're set up.


allow whitespace after tag

Allow whitespace after tag like below
const style = css `
  color: black;
`;

I'm a TypeScript user.
README says css-literal-loader must be called before ts-loader, but it's difficult because css-literal-loader can't parse typescript code which contains complex generics.
If this PR is merged, we can put css-literal-loader after ts-loader on the condition that "css" must be declared as global.
This works
declare function css(strings: TemplateStringsArray, ...interpolations: any[]): any;

const style = css`
  ...
`;

This still does not work
import { css } from "css-literal-loader/styled";
const style = css`
  ...
`;

but it's difficult because css-literal-loader can't parse typescript code which contains complex generics

We should allow tweaking the parser config here to accommodate this. babel can parse typescript now but it needs to be enabled, we can't do it automatically tho because it will conflict with flow if someone is using that...we could probably do it per file extension as best effort default tho


Getting "NameError: name 'ir' is not defined" in octopus_energy/init.py line 91

Describe the bug
Since updating to the newest version 6.3.1 via HACS, the Octopus Energy integration is not starting. All sensors are reporting "this entity is no longer being provided".
It seems that the integration is erroring on startup. The relevant log entry is below.
My guess is that commit 1198034, committed just before the 6.3.1 release, may be responsible.
To Reproduce
Upgrade to 6.3.1 and restart HomeAssistant.
Expected behavior
The integration to provide sensors with data.
Home Assistant Version
2023.3.6
Integration Version
6.3.1
Fresh Install?
Upgrade using HACS from 6.0.0 to 6.3.1
Home Assistant Logs
Logger: homeassistant.components.sensor
Source: helpers/update_coordinator.py:197
Integration: Sensor ([documentation](https://www.home-assistant.io/integrations/sensor), [issues](https://github.com/home-assistant/home-assistant/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+sensor%22))
First occurred: 23:36:26 (1 occurrences)
Last logged: 23:36:26
Error while setting up octopus_energy platform for sensor

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 225, in _async_refresh
    self.data = await self._async_update_data()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 181, in _async_update_data
    return await self.update_method()
  File "/config/custom_components/octopus_energy/__init__.py", line 150, in async_update_electricity_rates_data
    tariff_codes = await async_get_current_electricity_agreement_tariff_codes(hass, client, account_id)
  File "/config/custom_components/octopus_energy/__init__.py", line 91, in async_get_current_electricity_agreement_tariff_codes
    ir.async_delete_issue(hass, DOMAIN, f"account_not_found_{account_id}")
NameError: name 'ir' is not defined

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 289, in _async_setup_platform
    await asyncio.shield(task)
  File "/config/custom_components/octopus_energy/sensor.py", line 129, in async_setup_entry
    await async_setup_default_sensors(hass, entry, async_add_entities)
  File "/config/custom_components/octopus_energy/sensor.py", line 141, in async_setup_default_sensors
    await rate_coordinator.async_config_entry_first_refresh()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 197, in async_config_entry_first_refresh
    raise ex
homeassistant.exceptions.ConfigEntryNotReady: name 'ir' is not defined

Sorry, this was caused by a silly mistake by myself that wasn't caused by my CI. I'm planning on adding some additional checks to ensure this doesn't happen again. A new release (https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/releases/tag/v6.3.2) should rectify this.


Value of sender_id in staged parameters of receiver after processing an SDP, should it be null?

In https://raw.githubusercontent.com/AMWA-TV/nmos-device-connection-management/v1.0.x/APIs/schemas/v1.0-receiver-stage-schema.json the description for sender_id indicates that the sender_id should be null if the receiver has not been configured to receive anything or if it is receiving from a non-NMOS sender.
Does this mean that when using the nmos-explorer to paste an SDP into a receiver, it should be assumed that the SDP is for a non-NMOS sender and that the sender_id should be set to null? (Maybe somewhere in handle_connection_resource_patch() in nmos/connection_api.cpp)

Andrew Bonney responded to https://github.com/AMWA-TV/nmos-device-connection-management/issues/59 and you are exactly right. It is the responsibility of the client to set all the relevant information and the server should not make any assumptions.
Closing this issue since it seems that further discussion is not needed.
Thanks.


Create common behavior for components in groups

See #12

If you want to detect parent is a *Group then maybe this can work:
this.$parent.constructor.options.name === 'SuiStatisticGroup'

I believe that works. It would be nice to have a mixin we can reuse in multiple components

Maybe we can add something like this in src/lib/utils.js
export const classMixin = {
  methods: {
    getUIClass() {
      const ownName = this.constructor.options.name;
      const parentName = this.$parent.constructor.options.name;
      return parentName.match(new RegExp(`${ownName}.*Group$`)) ? '' : 'ui';
    },
  },
};

and in component we can do
...
mixins: [classMixin]
...
classes(
  this.getUIClass(),
...


有人在用吗？能用于生产环境吗？

有人将这个应用于生产吗？

Hi, welcome!
Would you please update the title and description using English? Dubbo is a global community and we would like the issue to be seen by people all over the world.
Questions like this are expected to be asked in the mailing list, you can subscribe and ask there.


Add a feature to scale all of the ui

on small resolution screens the ui takes up way too much screen real estate, wou,d it be possible to make all the ui parts scalable? mainly the cvic and tech research part and the bottom right main bit.

No, sorry


plex: Don't overwrite primary database on restart

Motivation for this change
This change fixes two major issues:

If you don't use SIGQUIT to stop Plex it will corrupt its own
database :(

Newer versions of Plex keep metadata in the
com.plexapp.plugins.library.db database.  This is the file that
we copy into /var/lib/plex/.skeleton.  If we copy the empty
database on top of this one the user will lose their entire
library metadata.  This change skips the copy if the file
already exists.

Goes with #24138
Things done

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

[X] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

Sounds like a bad bug to me, does this need to be picked to the release branch as well?

That would probably be a good idea.

Done :)


hippunfold simple use case returns error

Hi all,
having the following data structure:
test_data/
└── sub-100307/
    └── anat/
        ├── sub-100307_T1w.nii.gz
        └── sub-100307_T1wT2w.nii.gz

I have called this command:
$ hippunfold test_data test_out participant --modality T1w  --cores 8 --use-singularity
which resulted in following error:
MissingInputException: Missing input files for rule copy_to_results:
work/sub-100307/surf/sub-100307_hemi-L_space-T1w_den-0p5mm_label-hipp_surfaces.spec
WorkflowError:
    WorkflowError:
        MissingInputException: Missing input files for rule copy_to_results:
        work/sub-100307/surf/sub-100307_hemi-L_space-T1w_den-0p5mm_label-hipp_surfarea.shape.gii
        CyclicGraphException: Cyclic dependency on rule warp_gii_to_native.
    MissingInputException: Missing input files for rule copy_to_results:
    work/sub-100307/surf/sub-100307_hemi-L_space-T1w_den-0p5mm_label-hipp_gyrification.shape.gii

It looks like hippunfold complains about missing *gii files.
The error was identical while trying to run the test data set.
Can anyone else reproduce this error, ie. using the test data set?
Provided is my python environment laplac, at which hippunfold was installed as instructions recommend:
conda activate laplac
git clone https://github.com/khanlab/hippunfold.git
pip install hippunfold/

laplac.txt

So, python=3.8 and hippunfold==1.0.1rc2

What is the output you get if you run the following (from within the hippunfold directory):
hippunfold test_data/bids_T1w test_out participant --modality T1w --dry-run

It should just output all the rules it will run, but not actually run anything. Let me know if you get an error there.
Note that the test data here: https://github.com/khanlab/hippunfold/tree/master/test_data
is just for dry-run only, ie they are zero-sized niftis, so if you run without the -n or --dry-run option it will fail.

it still gives the same error with --dry-run option on the test_data, searching for some *gii files and cannot find.
$ hippunfold bids_T1w test_out participant --modality T1w --dry-run
Config file config/snakebids.yml is extended by additional config specified via the command line.
Building DAG of jobs...
WorkflowError:
MissingInputException: Missing input files for rule copy_to_results:
work/sub-001/surf/sub-001_hemi-L_space-T1w_den-0p5mm_label-hipp_surfaces.spec
WorkflowError:
    MissingInputException: Missing input files for rule copy_to_results:
    work/sub-001/surf/sub-001_hemi-L_space-T1w_den-0p5mm_label-hipp_gyrification.shape.gii
    WorkflowError:
        MissingInputException: Missing input files for rule copy_to_results:
        work/sub-001/surf/sub-001_hemi-L_space-T1w_den-0p5mm_label-hipp_surfarea.shape.gii
        CyclicGraphException: Cyclic dependency on rule warp_gii_to_native.

@jordandekraker : Did you also get the same error while running it on the test_data ?
@akhanf : It could be that you are running hippunfold with singularity or docker, so maybe that's why you don't get this error.

Hmm if the dry run isn't working then some required file from the workflow is missing or can't be found. The dry run should work even if not using singulairty/docker. The only difference in my dev environment from yours is I am using poetry to install instead of pip install, but both should work (conda/pip is used in the dockerfile).
Can you paste the full output from the dry run with --debug-dag?
Also, did you run hippunfold_download_models first?

Ah yes I see now that the current instructions don't state this is needed, sorry we need to update that! This is likely the root of the error.
Re: it not finding the env var, that is strange, could something be resetting your environment?
One alternative to try:
HIPPUNFOLD_CACHE_DIR=/data/p_02542/dekrak/.cache/hippunfold/ hippunfold_download_models

perfect, the above trick looks to be downloading it to the desired destination.

I think for future calls to hippunfold to recognize this cachedir, you'll want to run
export HIPPUNFOLD_CACHE_DIR=/data/p_02542/dekrak/.cache/hippunfold/
similarly, you may want to run something like this for the later steps inside hippunfold involving singularity:
export SINGULARITY_CACHEDIR=/data/p_02542/dekrak/.cache/singularity
export SINGULARITY_BINDPATH=/data:/data

I'll add a bit of text on this in the Documentation's Contributors section.

download with hippunfold_download_models was successful.
HIPPUNFOLD_CACHE_DIR is now exported.
dry run on test_data was also successful: hippunfold bids_T1w test_out participant --modality T1w --dry-run
... now going to run it with my data.

Alright, the command below was not successful running on my data:
$ hippunfold test_data test_out participant --modality T1w --cores 8 --use-singularity
Here is the log file:
2022-02-09T184907.566293.snakemake.log

I also included the debug option as @akhanf was asking earlier:
$ hippunfold test_data test_out participant --modality T1w --cores 8 --use-singularity --debug-dag
2022-02-09T190252.666003.snakemake.log

are you running on MacOS by any chance? This looks like the same error from https://github.com/khanlab/hippunfold/issues/165

Some stderr output might not make it into the snakemake log - but it looks like maybe the run_inference step is failing?
Can you provide the contents of that log?
logs/sub-100307/sub-100307_hemi-R_space-corobl_nnunet.txt

@jordandekraker : it is all running on Ubuntu
bayrak@comps06h03~ $ lsb_release -a
LSB Version:	core-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.6 LTS
Release:	18.04
Codename:	bionic

and comps0603 has 400 GB ram.
@akhanf : attached is the log file. Apparently a python package torch is missing. I will try to load it and give another try.
sub-100307_hemi-R_space-corobl_nnunet.txt

Looks like torch is installed for you (looking at your python environment), so not sure why you are getting that error, but likely some conflict in dependencies. Given the problems you're having with setting up the environment, I recommend you run from the hippunfold singularity container - either with the instructions on the docs, or if you want to be able to edit the workflow you can do this:
singularity exec -e docker://khanlab/hippunfold:latest <path_to_cloned_repo>/hippunfold/run.py

The other possible issues could GPU/CUDA related (it may be the issue you are currently facing), and could be avoided by disabling the GPU when you run hippunfold:  CUDA_VISIBLE_DEVICES="" or if using singularity: SINGULARITYENV_CUDA_VISIBLE_DEVICES=""  (the inference is fast enough without GPU anyhow)

Looks like torch is installed for you (looking at your python environment)

this was indeed not true anymore, since I had re-generated my conda environment laplac at some point, which was missing torch.
Now, torch package is installed and it looks all running.
... will report the results here after (hopefully) a successful run.

Alright, all worked out.

As a summary:
conda create --name laplac python=3.8
conda activate laplac
conda install -c pytorch pytorch
git clone https://github.com/khanlab/hippunfold.git
pip install hippunfold/
export HIPPUNFOLD_CACHE_DIR=/data/p_02542/dekrak/.cache/hippunfold/
hippunfold_download_models
hippunfold test_data test_out participant --modality T1w --cores 8 --use-singularity

thanks a lot for the step-by-step debugging here! It was amazing to get it run with @akhanf  & @jordandekraker

all with pleasure :)


New EventSource APIs

This PR adds two new EventSource APIs, that turned out to be really useful and generic:
EventSource.waitUntil()
While working on rewriting some of the unit tests, I found that the pattern of "wait until some event fires, then observe some property" was really useful to express. Setting up a one-time event listener, then tearing it down again became quite verbose to do often, until I realized that it would be much more elegantly expressed as a promise, and I realized every event source could easily turn itself into such promise. This isn't recommended for use in production apps, as you risk waiting forever, but use in unit tests it's great.
EventSource.pause() / EventSource.unpause()
This allows pausing/unpausing event delivery for an event source. I have this particular situation in the connection manager where events can be delivered before listeners are ready to receive them. By programmatically pausing and unpausing event delivery, I can better control when events get emitted. If an event source is unpaused (= the default), then there is no overhead, and calling .notify() will instantly emit the events, like before. But if the event source is paused, those events are buffered in-memory instead, until .unpause() is called, at which time it will instantly emit all the buffered events, and free up that memory. Of course, because of this increased memory pressure, you should only use pausing temporarily.

On the topic of new APIs, I've recently had the need to know more about the number of subscribers (e.g. to implement a clean-up-if-last-to-unsubscribe system). Could we formalize that? I'm not entirely sure what would be the way/granularity to expose that especially because of the two lists of subscribers (infinite and one-time). Here's what I had for my use case:
function hasObservers() {
  return _onetimeObservers.size + _observers.size > 0;
}

I suppose formalizing the total subscriber count wouldn't hurt? How about returning this as a number instead of a boolean?
/**
 * Returns the number of active subscribers for this event source.
 */
function count() { return _onetimeObservers.size + _observers.size }

@marcbouchenoire Implemented your request in 7e7ecd3266aad0a96820b7bb617fa6b10336c3fa, and added JSDoc comments for all methods in 51ee33f284e8a8723ec4d94719d6abd52ad6d3ae.


Events are not being broadcasted unless I open Dashboard

Took me a while to figure it out. It was, at first, looking like it was not working at all. I had just installed it and configured like I use to do with Pusher, then added the proper ports and so, but nothing was hitting the terminal log, so I finally opened the dashboard, then magically events started to show up on the terminal and the front end.
So I disconnected the dashboard, closed the page and created and, after a while, created a new event, which again was not showing up on terminal, so I opened the dashboard and voilá! there was it, working.
Then I moved to my home machine, git pull, composer install, migrate, npm run watch, opened the interface, it connected successfully to the server, but not a single event is showing in terminal log, all I get is ping and pongs.

Never mind. My bad.

@antonioribeiro What did you do wrong?
My situation is like this, very similar:
Run php artisan websockets:serve, then open website with Echo on it. It fails so connect to socket, I see a disconnect message where I'm running  websockets:serve. But when opening the dashboard and hitting 'connect', suddenly it works.

Still unsure, but this time it got back working without connecting the dashboard, so I have to assume it's something I'm doing, or not doing... Moving to Pusher to test if things are working helped make it get back to normal too

Some tips:

Check if you are broadcasting (order.1) and listening (order.1) to the very same channel
Check if the event name (OrderUpdated) is correct, double check them
Check if the server is up and you can connect to it
Execute telnet <websockets server hostname or ip> 6001 to test the connection
If you are using ngrok to test, you may have to change echoConfig.wsHost = window.location.hostname to your physical IP address
MIX_PUSHER_??? variables get cached weirdly, and sometimes reloading the page, config:clear, cache:clear, and whatever else is not enough, so:
Config variable types are strict: encrypted: 'true' will raise errors, it must be encrypted: true or encrypted: process.env.MIX_PUSHER_ENCRYPTED === 'true'
When moving from Pusher to Laravel Websockets or after editing your .env:

Delete app.js
Re-run npm run watch, because only forcing a rerun doesn't work sometimes

Don't forget to hard reload your browser tab just in case


"add_to_cart" Event Fired When Updating Cart

I have the Olo Serve tag and template implemented as instructed.

My GTM trigger is also set up as instructed in the ReadMe.

During QA, I performed these steps and received the following results in my data layer:

First add 2 of the same item to the cart.

"add_to_cart" event pushes as expected.

Click on the item in the cart to go to the edit screen where I reduce quantity to 1.

I click "Update Cart" and the data layer shows an "add_to_cart" event instead of "remove_from_cart".

Go back to the edit screen and change the spice level of the dish.

Clicking "Update Cart" triggers an "add_to_cart" event instead of "update_item".

Go back to the edit screen and change quantity from 1 to 2.

Clicking "Update Cart" sends an "add_to_cart" event that says I added 2 more items even though I only added 1.

Is this because both the "Add to Cart" and "Update Cart" buttons both have the same data-test-button and data-serve-element CSS selectors? As you can imagine, it messes up the sales funnel rather severely to have 3 items add to cart, 1 item remove from cart, and 1 item updated to instead report as 6 items added to cart.

Hello @Emmazingness . Thank you for the detailed question. I have tested this locally and see what you're seeing. I have created a bug on our internal system which will follow through our normal prioritization and scheduling process. I will write a note on there to update this Github Issue when that fix is released.
One thing I wanted to mention is that there is no update event, only add and remove.

Yes I know there isn't a specific update event, but I didn't know what else to call it in the meantime. Thanks so much for the update, @danlash!

Hey @Emmazingness we have fixed this issue as of 2022-11-14T22:04Z now such that:

on update, if quantity is decreased, then fire remove_from_cart with quantity that was removed (before we would wrongly fire add_to_cart)
on update, if quantity is increased, then fire add_to_cart with quantity that was added (before we would wrongly fire add_to_cart with total quantity after update)
on quick add (the + button), fire add_to_cart, but with quantity of 1 (before we would wrongly fire add_to_cart with total quantity after update)

Let me know if you have any further questions 👍


Swagger UI with GitHub pages for AgStack APIs

https://github.com/agstack/agstack-website/issues/2

I haven't hooked up Swagger UI with GitHub Pages, but the instructions seem straightforward. Basically change out the path of the sample https://petstore.swagger.io/v2/swagger.json to our own file--I'm not sure if this library supports YAML. If it doesn't, you may need to use the .json file.

Deleted the download from my computer, going to start over with this effort. Closing this PR


support prefixed deployments in the www theme / search app

Description/Context
In ocw-studio, you can use the upsert_mass_build_pipeline management command to generate a pipeline in Concourse that will build all publishable websites that ocw-studio knows about and deploy them. This command has an argument called --prefix. When this argument is set the prefix is applied to the baseURL argument when Hugo is run, and the site is deployed to the prefixed URL.
In the www theme, we have a number of hard coded links that do not respect the Hugo baseURL setting. Search results from the search app also do not respect this setting. So, in order for the prefixed sites to be fully self-contained, we will need another way to set the prefix so it can be respected when building a root website with the www theme.
Plan/Design

Create an environment variable for storing the prefix, something like OCW_OUTPUT_PREFIX (name tbd)
If this prefix is set, apply it to links that need it (this list may not be complete and should be updated):

Header links

Logo (home)
About
Contact

Course carousels

Featured Courses
New Courses

Home page collections
OCW Stories
Footer links

Terms & Conditions
About

Search

Search and explore buttons on home page
Links to search results

Courses
Resources

Link to terms & conditions page at the bottom of the facets area

Just confirming, should this be in Needs triage or Ready ?

Just confirming, should this be in Needs triage or Ready ?

As long as there isn't anything else high priority, I'd say you can grab it. I put it in "needs triage" because fixing this isn't really super critical. There are plenty of workarounds for viewing prefixed pages that aren't too frustrating to use, such as visiting pages directly. I put up the other PR in ocw-studio because it was an easy win. We only had to change a few lines of code to get Hugo to render the prefix. This one is a bit more complicated, and will require another PR in ocw-studio afterward to set the env variable mentioned above.
Another complication that comes to mind, now that I'm thinking about it, with the links built into search. Since we build theme assets once per branch of ocw-hugo-themes using the theme assets pipeline, then consume those with each site build, whatever env value is used during the theme assets build will determine what the links in search results are. So, it would be impossible to create two different prefixed builds pointing at the same branch of ocw-hugo-themes. I don't think this is something we would commonly do, if ever, but it does make the --prefix argument on the mass build pipeline a bit disingenuous because setting the prefix there would do nothing for the links in search.


FeignClientBuilder.Builder is generic but the builder DRY methods don't return Builder

FeignClientBuilder.Builder<T> is generic but none of the DRY methods return the generic Builder<T> type, instead they return Builder.
The following code does not compile without an explicit cast because the generic type is lost..
SomeApi someApi = feignClientBuilder.forType(SomeApi.class, "something")
                    .url("http://something/something")
                    .build();

this code however does compile:
SomeApi someApi = (SomeApi) feignClientBuilder.forType(SomeApi.class, "something")
                    .url("http://something/something")
                    .build();

If the DRY methods returned Builder<T> we wouldn't need to do the cast.

Duplicate of #215


Soulbound NFTs

Think about this. What about a freeze authority? Event ticketing (freeze after a certain point or after usage).
https://vitalik.ca/general/2022/01/26/soulbound.html

That makes a lot of sense, it's also something that I saw Cardinal is exploring too


Update predict.py

That really wouldn't work. Those are your filenames and they don't work for everyone. Plus, you can only load 1 file. Do I even have to respond after like 10 months. Also this project is basically dead. However, you could parse all HDF5 file names, find their loss value, and pick the one with the least loss. That would be pretty cool


Payment Support: Mollie

Mollie provides payment methods that are all hosted on their own payment page.
https://github.com/mollie/magento2
Support would be great, as it's one of the most used payment providers in BE/NL.

@BrentRobert There is a Mollie integration by @vberthet / Maison Du Net:
https://github.com/MdnAgency/magento2-hyva-checkout-mollie
I would love some feedback on the integration so we can list it under our supported payment methods :)

@wigman We used this module in couple of projects and it works as expected. There are some eslint/prettier problems reported initially when we add this module. I created a pull request for the same to resolve the problem.
We used credit card payment from mollie so far. I am not sure about other payment methods supported by mollie though.


Dismiss button for banner

Summary
Added button to dismiss recruitment banner. Dismissal persists in window.localStorage.dismissedRecruitmentBanner

Test Plan
Check that the banner disappears after click and does not re-display in subsequent sessions.
Issues
Closes # 428

Whoops I need to fix this action, forgot it doesn't work when merging from branches outside this repo. Anyways my only comment is could we add an outline so it looks more like a banner? Otherwise your code and changes look great!

Thanks! Here it is (7221802):

One thing I'm wondering - if they click the x, they'll never see the recruitment banner again. Like ever. Is this what we want? I wonder if there should be a timeout (a quarter / year) before it's shown again, or if dismissedRecruitmentBanner should just be saved to AppStore so that it resets on page refresh.

Good point. One quarter timeout sounds like the best option to me.

Address the comments and make the dismissal only persist for a quarter

How should I define the quarter? 11 weeks?

How should I define the quarter? 11 weeks?

Good question. 11 weeks sounds fine.

Now that the recruitment-banner PR is merged, I changed the base branch of this PR to main. You now need to rebase your commits on the fork on top of origin/main and force-push to your branch to rewrite the history to include the squash-merged commit on main. Here is a diagram of what I'm talking about (not to scale w.r.t. number of commits):

This tutorial explains rebasing in basic detail: https://www.atlassian.com/git/tutorials/rewriting-history/git-rebase. Let us know if you need help with this. Also, I say this whole thing with 90% but not 100% confidence. If we don't need to rebase here, someone please comment.

Admittedly, I'm not sure how to rebase. I figured I could just pull from main and resolve the conflict (92c0c) so that by branch can be merged intto main. Please do tell me if I messed something up. Thanks!

Looks like all Chase's concerns were met so I'm gonna override and merge.


Iframe in Chrome, after add padding-left & padding-right, The content can't respond to media quiries

Iframe in Chrome, after add padding-left & padding-right, The content can't respond to media quiries

We'll need a reproducible JS Bin example if you wish us to try to debug this. I've not seen any problems with using our media queries in iframes to-date though.

Closing this until/unless the requested JS Bin gets posted.


Retool Resources

Hi Ben,
I've been looking over the resources page, and it seems we could beef it up--maybe make it more of a collection of resources, since right now, the feel of the page is that it's more a collection of quotes regarding burnout. I'm not sure if this is the intent, or if you're open to changing it, but I'd love to help in any way I can.
Aaron

My original thought was that the quotes could help guide a visitor to relevant resources, but I see how the implementation almost emphasizes the quote over the resource.
There was another interesting idea (#22) to break the resources out into their own self-contained entity, but we haven't made much progress yet.
We're certainly in a state of flux, at this point. Any thoughts on direction are welcome!

Ah! Cool, then I guess this one's set--may as well put the effort into #22 :)


fs methods should expose error.code

Is your feature request related to a problem? Please describe:

When writing a file to a non-existing directory, the error thrown does not expose the error code, making it hard to handle the error.
try {
  await webcontainer.fs.writeFile('non-existent-path/new-file.ts', content);
} catch (err: any) {
  console.log(error.code) // undefined
}

Describe the solution you'd like:

The error thrown should match Node.js's fs errors, at least exposing error.code to allow error handling.
try {
  await webcontainer.fs.writeFile('non-existent-path/new-file.ts', content);
} catch (err: any) {
  if (error.code === 'ENOENT') {
    await webcontainer.fs.mkdir('non-existent-path', {
      recursive: true,
    });

    await webcontainer.fs.writeFile('non-existent-path/new-file.ts', content);
  }
}

Describe alternatives you've considered:

No response
Additional context:

No response

Hey @leoortizz ! This is a pretty nice idea, I like it a lot. I'll add this to our internal tracking system.


Clean up seqr-reference-data

I've reviewed and cleaned up the majority of this bucket. There are still a couple files I am unsure about that I plan to move to a new bucket and if anyone complains, I can move them back. Otherwise I'll delete them after a reasonable amount of time -- need to discuss this.


Fix pcolormesh with str coords

[x] Closes #6775
[x] Tests added
[x] User visible changes (including notable bug fixes) are documented in whats-new.rst
[x] ~New functions/methods are listed in api.rst~

Nice! (at one point we can consider removing infer_intervals as this is now also done in matplotlib and cartopy).

Nice! (at one point we can consider removing infer_intervals as this is now also done in matplotlib and cartopy).

Yeah, I was wondering why we do this explicitly.
Should we remove it now already, or is there something that still requires it (like older matplotlib versions etc)?

:+1: to getting rid of it.
We should raise a deprecation warning first though


Update WebCL code to drop value conversion macros in sync with Upstream

To reflect following changes from upstream,
https://codereview.chromium.org/946973005
https://codereview.chromium.org/1013643002

lots of changes :o
@junmin-zhu, can you double-check if the code's OK?

@junmin-zhu : my review comments are in fact for you.

@darktears, thanks, I think there are correct, it caught my mistake. Thanks @mrunalk for you patch. LGTM.


Convert BuiltInScalarFunction::{Rank, PercentRank, DenseRank}  to a user defined functions

Is your feature request related to a problem or challenge?
Part of https://github.com/apache/datafusion/issues/8709
There is now no difference between "built in" / "prepackaged"  scalar and aggregate functions in DataFusion, however there are still some "built in" window functions  -- see the current source for BuiltInWindowFunction for the up to date list of what remains
The problem with having two different kinds of window functions is

There are some features that may not be available to User Defined Window Functions that rely on built in
Users can not easily choose which window functions to include or override the behavior if they need something different

Describe the solution you'd like
I would like to remove the "built in" version of this function and convert it to a user defined function
Describe alternatives you've considered
At a high level the process is:

Add a new WindowUDFImpl in the functions-window crate
Port the code from the relevant existing implementation of the the built in functions in datafusion/physical-expr/src/window
Remove the BuiltInWindowFunction variant and then get everything to compile (the compiler will show you where the existing implementations are)

Additional context
Here are some good examples:

@jcsherin  ported RowNumber in https://github.com/apache/datafusion/pull/12030

I think this is a good first issue for someone skilled in rust that wants to get a handle on how datafusion works. If you hit issues, let us know

take

take

If you don't mind . Can i work on this issue @hailelagi ?

take
Thanks @hailelagi

take

Convert BuiltInScalarFunction:: -> Convert BuiltInWindowFunction::{NthValue}

@jatin510, are you working on this ticket? I'm new comer to contribute. Could this ticket assign to me? cc @alamb

Thanks for reaching out. I’m actually already working on this issue, and it’s my first task in the project as well. I’d like to continue with it. @SteNicholas

@SteNicholas You maybe interested in picking up ntile window function? It is also pending conversion to a user-defined window function. It looks like a good first issue to me.
See https://github.com/apache/datafusion/blob/main/datafusion/physical-expr/src/window/ntile.rs.


No Results

So i tried the plugin but i don't get any response from ChatGPT. I have my open ai key set in the env. At least an error message of what went wrong would be nice.

Okay i found the issue. I did set the API key wrong. I suggest you also look for OPENAI_API_KEY as that is used by various other apps. And if it's not found through an erro.

Fixed in 71339b5


Fluteline IBM Watson adapter ready

Thanks @julianhough! Let me know if you need any help in writing the tagger fluteline class. I can also help in adapting the examples. Looking forwards to it!

Hi @julianhough. I think the incremental_asr module is completely unneeded now, isn't it? Do you want another PR? :-)

Hi Tom, done. I had to re-implement the logic that was in there in the IBMWatsonAdapter class, but thanks to you it's much cleaner now. The asr_demo.py should work as expected now.


Reference Error: window is not defined

While building and deploying an app. window is not defined error appear

Once you have the app working try to deploy your app.

it says
Consider wrapping code producing error in: 'if (typeof window !== "undefined") { ... }'
This should be able to work.
Need your help TIA

Could you give a little more information about your development environment ?

I'm running into the same issue. It's related to Server Side Rendering(SSR). For me, I'm trying to build a Gatsby project and running into this issue. You would run into the same issue with NextJS as well, since they are both doing SSR.

I'm running into the same issue. It's related to Server Side Rendering(SSR). For me, I'm trying to build a Gatsby project and running into this issue. You would run into the same issue with NextJS as well, since they are both doing SSR.

https://wakirin.github.io/Litepicker/docs/examples#how-to-add-litepicker-to-nuxtjs-

https://wakirin.github.io/Litepicker/docs/examples#how-to-add-litepicker-to-nuxtjs-


Locate v2 API country filter fails with many geographically dispersed servers in country

The query http://locate.measurementlab.net/v2/nearest/ndt/ndt7?country=US appears to return results simply based on the "country" center point (e.g. Kansas for the US) but in the US there are many geographically dispersed servers and the servers returned by the US country filter are not optimal test servers.
$ curl -is 'http://locate.measurementlab.net/v2/nearest/ndt/ndt7?country=US' | egrep -B 1 'country|^X-'
Cache-Control: no-store
X-Locate-Clientlatlon: 37.09024,-95.712891
X-Locate-Clientlatlon-Method: user-country
--
        "city": "Omaha",
        "country": "US"
--
        "city": "Dallas",
        "country": "US"
--
        "city": "Dallas",
        "country": "US"
--
        "city": "Dallas",
        "country": "US"

But, without the US country filter, the results are a more logical server subset.
$ curl -is 'http://locate.measurementlab.net/v2/nearest/ndt/ndt7' | egrep -B 1 'country|^X-'
Cache-Control: no-store
X-Locate-Clientlatlon: 38.840391,-77.428877
X-Locate-Clientlatlon-Method: appengine-latlong
--
        "city": "Washington",
        "country": "US"
--
        "city": "Washington",
        "country": "US"
--
        "city": "Washington",
        "country": "US"
--
        "city": "Washington",
        "country": "US"

I recommend that the logic behind the country filter first perform a geographic select then a text string country filter.
The filter logic should also support a country filter list.
$ curl -is 'http://locate.measurementlab.net/v2/nearest/ndt/ndt7?country=US&country=PR&country=VI&country=GU&country=MP&country=AS' | egrep -B 1 'country|^X-'
Cache-Control: no-store
X-Locate-Clientlatlon: 37.09024,-95.712891
X-Locate-Clientlatlon-Method: user-country
--
        "city": "Omaha",
        "country": "US"
--
        "city": "Dallas",
        "country": "US"
--
        "city": "Dallas",
        "country": "US"
--
        "city": "Dallas",
        "country": "US"

@mrdvt92: I apologize that this issue went unanswered for so long. You may or may not be aware of this, but I believe your suggestion was already implemented in the Locate Service with this PR:
https://github.com/m-lab/locate/pull/177
Try adding the query string ?country=US&strict=true. I'm going to close this issue because a) I believe it is resolved b) it is not related to ndt-server. If something is still wrong, please open a new issue on the Locate repository.


Indicator for retired katas

At the moment, retired katas don't have any indicator that they're retired beside "(retired)". One can still submit the solution to test against the hidden test cases, but that's it.
I think there should be some hint that you won't get honour for solving this kata.

I large issue of this bug is that they are still searchable within the catalog. Sometimes the index doesn't get properly updated.

BTW the kyu badge should say "retired". Does it not?
I'm working on fixing the index issue now

BTW the kyu badge should say "retired". Does it not?

No, still says 7 kyu:

Is this still valid? I don't think it is, right?

It's still valid, Voile. You can still attempt the prime kata, but you can never completely submit your solution and get honour for that. The only indicator is (retired).

@jhoffner was this Prime kata retired differently from now?

Fixed


Set start goal latlon

Change the start and goal latlons from arguments
roslaunch local_pathfinding all.launch start_lat:=40 start_lon:=-125 goal_lat:=39.8 goal_lon:=-125.1

Code is clear and works as expected


update OBS UMN according to helpcenter 2.0.17

Added the description about the SMN message structure: smn-enabled-event-notification.md
Fixed some descriptive and ease-of-use issues.
Deleted unnecessary .rst files.

1. Does this mean that all .rst files in the current repository are built automatically and that we only need to update the .md file when updating the document?

They are not built automatically, but manually. If you look at index.rst in the doc/source/index.rst you will see what it includes and so on and so on. rst files are currently describing the whole skeleton of the documentation, while the text itself remains in md files

2. If a new .md file is added during the update, how can the system identify the location of the new file in the document directory structure? Is the document tree built based on the Help Center production environment? If so, then I understand the logic here.

When a "leaf" .md file is introduced it must be included in the .rst file of the corresponding documentation level.
When a index like .md file is introduced (what previously was used for creating sections of the documentation) a corresponding .rst file pointing to the leaf .md files should be introduced. It (in turn) is then included in the index.rst of the upper level - See like obs/UG/cors.rst is including cors-overview-(console).md and configuring-cors.md while being itself included in obs_console_operation_guide.rst (included in index.rst). The best way of file structuring is currently implemented in vpcep service where the dirctory structure stricktly follows expected documentation structure what makes it really easy to navigate in the repo. It would be really great if every service starts using this structure to make all our lives easier.

I think I see what you mean. My colleagues and I need to analyze this requirement before communicating with you. Thank you.