How-to use MongoDB index directly for querying

Hi there,
I have a MongoDB collection that contains time series data. It contains several million entries. There is an index on the "createdAt"-Field. I want to select a subset of the data (e.g. one month) and do some computation/transformation with Spark on it.
I have written the following code to select the data:
val builder = MongodbConfigBuilder(Map(Host -> List("<host>:<port>"), Database -> "<database>", Collection -> "<collection>", Credentials -> List(MongodbCredentials("<username>","<database>","<password>".toCharArray))))
val config = builder.build()

val schema = StructType(Seq(
		StructField("createdAt",TimestampType,true),
		// some more fields
))

val mongoRDD = sqlContext.fromMongoDB(readConfig, Some(schema))
mongoRDD.registerTempTable("mytable")
val resultFromMongo = sqlContext.sql("SELECT * FROM mytable WHERE createdAt >= '2015-12-01' AND createdAt < '2016-01-01'")

The select is quite slow even if I change the code to only select on day. It seems to me (I am quite new to Spark), that the whole collection data is loaded and the filtering is done by Spark in memory. I would like to only select and fetch the data of the given period directly from MongoDB.
Is it possible to achieve this with your connector?
BTW: Your connector already helped me a lot. Thank you very much for your effort!

Is it possible that, even that the schema is specified, sampling is still being used?
As you can see at
https://github.com/Stratio/spark-mongodb/blob/0.10.1/spark-mongodb/src/main/scala/com/stratio/datasource/mongodb/MongodbRelation.scala#L60
only schema is inferred when no other one has been provided (which is not the case). What do you think @pmadrigal ?

You are right @JSantosP , whole collection shouldn't be loaded.
@psh-tc could you give us more info?
Spark and connector version?

I am using the spark-mongodb_2.10-0.10.1 - Package with Spark 1.5.2.

Hi @psh-tc,
Unlikely, Spark cannot convert some predicates into data source filters using SQL, so in this case the whole collection is loaded. When working with timestamp, Spark only supports equal filters pushdown.
Try using DataFrame DSL, It makes the type explicit and should solve the issue:
val df = sqlContext.table("mytable")
val resultFromMongo = df.filter(df("createdAt") >= java.sql.Timestamp ...)
I hope this help

Hi there,
I've finally had some time to examine the issue further.
By setting the following in MongoDB I've had a look at the queries that are executed:
db.getProfilingStatus()
{ "was" : 2, "slowms" : 10 }

db.system.profile.find().pretty()

The following Spark code
val df = sqlContext.table("mytable")
val resultFromMongo1 = df.filter(df("createdAt") >= java.sql.Timestamp.valueOf("2015-11-14 10:00:00")).filter(df("createdAt") < java.sql.Timestamp.valueOf("2015-11-14 10:05:00"))
resultFromMongo1.count()

val resultFromMongo2 = sqlContext.sql("SELECT * FROM mytable WHERE createdAt >= CAST('2015-11-14 10:00:00' AS TIMESTAMP) AND createdAt < CAST('2015-11-14 10:05:00' AS TIMESTAMP)")
resultFromMongo2.count()

results in the same query (from the profiling information):
{
        "op" : "query",
        ...
        "query" : {
                "find" : "<collection>",
                "filter" : {
                        "createdAt" : {
                                "$gte" : ISODate("2015-11-14T10:00:00Z"),
                                "$lt" : ISODate("2015-11-14T10:05:00Z")
                        }
                },
                "max" : {
                        "_id" : ObjectId("<some id>")
                },
                "min" : {
                        "_id" : ObjectId("<some id>")
                }
        },
        "keysExamined" : 6757,
        "docsExamined" : 6757,
        "cursorExhausted" : true,
        ...
        "nreturned" : 0,
        "responseLength" : 20,
        "millis" : 123,
        "execStats" : {
                "stage" : "PROJECTION",
                "nReturned" : 0,
                "executionTimeMillisEstimate" : 120,
                ...
                "inputStage" : {
                        "stage" : "FETCH",
                        "filter" : {
                                "$and" : [
                                        {
                                                "createdAt" : {
                                                        "$lt" : ISODate("2015-11-14T10:05:00Z")
                                                }
                                        },
                                        {
                                                "createdAt" : {
                                                        "$gte" : ISODate("2015-11-14T10:00:00Z")
                                                }
                                        }
                                ]
                        },
                        "nReturned" : 0,
                        "executionTimeMillisEstimate" : 120,
                        "works" : 6758,
                        "...
                        "docsExamined" : 6757,
                        "alreadyHasObj" : 0,
                        "inputStage" : {
                                "stage" : "IXSCAN",
                                "nReturned" : 6757,
                                "executionTimeMillisEstimate" : 15,
                                "works" : 6758,
                                "advanced" : 6757,
                                ...
                                "keyPattern" : {
                                        "_id" : 1
                                },
                                "indexName" : "_id_",
                                ...
                        }
                }
        },
        "ts" : ISODate("2016-01-21T15:13:00.580Z"),
        ...
}

I found while my spark job is running lots and lots ot these entries appear within the profiling output. The queries are executed within a interval of only some milliseconds.
With both variations DataFrame and Spark SQL the count of some thousand documents took 6-7 min (there are several million documents within the collection). From my perspective this takes to long for a simple count on some thousand documents (even if the documents are fetch by Spark).
Conclusion:
--> The conversion of a Spark filter (Spark SQL or DataFrame) using timestamp type into the respective MongoDB query works correctly
Therefore the following new questions (also as I am not an expert in reading the mongoDB query profiling output):

Why are that many queries triggered within MongoDB? (Probably due to a cursor, but why is "cursorExhausted" : true in the mongoDB profiling output?)
It seems that the IXSCAN happens on the _id field. I had expected it on the createdAt field? (Probably due to the fact that min, max on the _id field is added to the query by some kind of cursor or pagination?)
Why is "nreturned" always 0 (from what I can see in the output)?

At the moment it seems to me that the cursor / pagnation funtionality triggered by the connector is related to this issue.

Hi there, any news on this issue? Could anyone reproduce this behaviour?

I guess I finally understood how the connector works for non-shared collections:

The whole collection is splitted into partitions via the splitVector command of MongoDB. The splitKey field (by default "_id") is used to determine the min/max borders of each partition.
The query is then applied to each partition (see query with min/max above)

For our use case this behaviour results in thousand of queries that are fired via mongodb (as the result of the split are thousand of partitions). But, as the query only effect data in 1 or 2 partitions, most of these queries return empty.
Therefore this behaviour results in a very poor performance for use cases where you only want to work on a small subset of a collection.
I think the best solution would be to add min and max boundaries to the splitVector command (as also proposed in #53). This would make it possible to set the boundaries for the split command to the same values as of the query (or it would even make is unnecessary to set $lt and $gt in the query).
So the connector would the run e.g. the following command:
´´´
var result = db.runCommand({splitVector: 'mydb.mycollection', keyPattern: {createdAt: 1}, min: {createdAt: new ISODate("2015-11-14T10:00:00.000Z")}, max: {createdAt: new ISODate("2015-11-14T10:05:00.000Z")}, maxChunkSize: 1})
´´´
Something similar is implemented in:
https://github.com/mongodb/mongo-hadoop/blob/master/core/src/main/java/com/mongodb/hadoop/splitter/StandaloneMongoSplitter.java

@pmadrigal: would it be possible to add min/max for the splitVector in the next version? This issue is really a blocker for us.
I would happily contribute in adding some documentation on the partioning behaviour via the splitVector command for non-shared collections.

@psh-tc splitVector with min/max support is available in this PR #98, so you can check it.

@pmadrigal I found one issue. Details about it in the PR.

@psh-tc it is already fixed and merged in branch 0.11 ;)
Thanks for your feedback!

Perfect! This is a fantastic improvement for my use case. Can't wait until this is releases ;) I guess it will be in 0.11.1, correct?


different default atol, btol for lsqr, lsmr

The default atol and btol for lsqr is 1.0e-8, but only 1.0e-6 for lsmr.

Hi, thanks. But should it be the same values? Is there underlying assumptions supporting that? What about specifics of the current implementation?

But should it be the same values?

From the docstring of lsmr:

If both tolerances are 1.0e-6 (say), the final norm(r) should be accurate to about 6 digits.

and lsqr:

If both are 1.0e-9 (say), the final residual norm should be accurate to about 9 digits.

When tossing the same problem at lsqr and lsmr, I think the expectation should be that they (try to) solve the problem up to the same default accuracy. Note they they both measure the same thing, namely the residual norm.

Ok, I actually checked the paper of LSMR (https://arxiv.org/pdf/1006.0758.pdf) and in their comparison they say that they used the same tolerances.

3.6. Practical stopping criteria. For LSMR we use the same stopping rules
as LSQR [16], involving dimensionless quantities ATOL, BTOL, CONLIM

Still, in the end the tolerance depends on the problem at hand and one should adjust it. The issue with changing default values is that we could potentially break lot of codes. Maybe we could increase the tolerance of LSMR to 1e9 to match the one of LSQR. I will let another reviewer with more background here judge.

Still, in the end the tolerance depends on the problem at hand and one should adjust it.

Then it shouldn't have a default value, right? I actually think this is a good idea, but that'd certainly break people's code.

depends on the problem

Indeed, so you plug the same problem into these two different methods, by default you should expect it to be solved with the same tolerance.

Maybe we could increase the tolerance of LSMR to 1e9 to match the one of LSQR. I will let another reviewer with more background here judge.

:+1:


Error with 3.7.0: Unable to import module 'lambda_function': cannot import name '_rand' from 'ddtrace.internal'

Describe the bug
Hey there, so I recently attempted an upgrade of this module to the latest version (3.7.0) from 3.1.1 and the forwarder Lambda started failing and spitting out these logs:
[ERROR] Runtime.ImportModuleError: Unable to import module 'lambda_function': cannot import name '_rand' from 'ddtrace.internal' (/var/task/ddtrace/internal/__init__.py)

I was previously pinned to version 3.1.1 of this module and 3.40.0 of the Datadog forwarder and tried to update to 3.7.0 and 3.44.0, respectively. Though if I pin to 3.7.0 and forwarder version 3.40.0, I see this in the plan and it still breaks:
  ~ resource "aws_lambda_function" "this" {
      ~ architectures                  = [
          + "x86_64",
        ]
        id                             = "preprod-datadog-logs-forwarder"
      ~ last_modified                  = "2022-03-23T17:50:35.000+0000" -> (known after apply)
      ~ runtime                        = "python3.7" -> "python3.9"
        tags                           = {
            "DD_FORWARDER_VERSION" = "3.40.0"
            "Env"                  = "preprod"
        }
        # (20 unchanged attributes hidden)

        # (2 unchanged blocks hidden)
    }

I'm guessing this has to do with the architecture and Python runtime updates introduced in v3.5.0, and I found your GitHub issue with the exact same log over here: https://github.com/DataDog/datadog-lambda-python/issues/88 ...but I'm not clear on how to remediate and I'd love any insight or suggestions you might have as it seems you've dug into it pretty deep.
To Reproduce
This is my old configuration:
module "datadog_log_forwarder" {
  source = "clowdhaus/datadog-forwarders/aws"
  version = "3.1.1"

  dd_api_key            = ""
  dd_api_key_secret_arn = var.api_key_secret_arn
  kms_alias             = var.kms_key_alias

  log_forwarder_version = "3.40.0"
  log_forwarder_name    = "${var.environment_name}-datadog-logs-forwarder"
  log_forwarder_environment_variables = {
    DD_TAGS = "env:${local.dd_env}"
  }
  bucket_name             = "my-bucket-name"
  create_vpc_fl_forwarder = false
}

And this is the new configuration that broke, though the log_forwarder_version can be set to 3.40.0 and the error still occurs:
module "datadog_log_forwarder" {
  source = "clowdhaus/datadog-forwarders/aws"
  version = "3.7.0"

  dd_api_key            = ""
  dd_api_key_secret_arn = var.api_key_secret_arn
  kms_alias             = var.kms_key_alias

  log_forwarder_version = "3.44.0"
  log_forwarder_name    = "${var.environment_name}-datadog-logs-forwarder"
  log_forwarder_environment_variables = {
    DD_TAGS = "env:${local.dd_env}"
  }
  bucket_name             = "my-bucket-name"
  create_vpc_fl_forwarder = false
}

Expected behavior
The forwarder Lambda function continues to run without error
Thanks!

Closed with #17

@bryantbiggs @Vrtak-CZ Thank you!

Hello,
I just got the same error while using 4.1.0 version of this module.
I can still see references to python3.9 here (which I assume is what caused my deployment to use python 3.9)
https://github.com/terraform-aws-modules/terraform-aws-datadog-forwarders/blob/c7e6d1995b0aabd98557932c7735d08c285777ed/variables.tf#L208
. Should these occurrences be changed to 3.7 too?

@jhrcek thats probably because we are using only log_forwarder submodule. So I updated config only for log_forwarders not for the whole module. Datadog says the forwarders should run with Python 3.7 so the default for all forwarders should be 3.7.


nixos/prowlarr: add options for package, dataDir, user and group

Description of changes
This is a small update to the module for Prowlarr that introduces the option to customise the prowlarr package used.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Previous work:

user and group: https://github.com/NixOS/nixpkgs/pull/236428
dataDir: https://github.com/NixOS/nixpkgs/pull/215817

@jian-lin fair enough. I've removed the user/group/dataDir stuff for now, and just left the option to customise the package.


Autodetect font files

Closes fontist/formulas#53
See also fontist/formulas#55

@ronaldtse Please review :)

Great work. Thanks @alexeymorozov !


Monitor - Master

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
I need a screenshot of the Master in Chinese
Documentation Links
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

who have ,I need fast

this is in Monitor - Master


every time same issue

Describe clearly what is your issue, and what you expect from an answer of this issue.
Provide as much information as possible.

Hi @Expertasif,
The npm scripts were a mess, I just did a new commit for kinda improve it.
So get the latest version and run:
npm install -g yarn npx
npm run install-with-deps
npm run start

again same issue

Can you add the output of 'npm run build-with-deps' here?
Also, from the name where you have the project, you probably have the wrong vulnerable app... The vulnerable app for smart contracts is DamnVulnerableDefi

closing due to lack of response


Refactor dropdown buttons

Moved core button functionality to Button.js from ActionView.js
Refactored OverlayActionListView to use the new button tag
Added keyboard navigation to OverlayDropdown and OverlayActionListView to improve accessibility
LanguageChoiceView and UserNavigationInfoView now use OverlayActionListView in order to display menus

Has merge conflicts.

@kgrgreer fixed merge conflicts


[BUG] Inject CoreDNS netaddr.ParseIPPrefix fail

What did you do

How was the cluster created?

k3d cluster create my-cluster --no-lb --k3s-arg "--no-deploy=traefik@server:*"

What did you expect to happen
Cluster starts up, can be accessed via kubectl
What actually happens
Creation of cluster crashes.
netaddr.ParseIPPrefix is looking for a / in the IPPrefix which is doesnt have. Is it maybe expecting a subnet but gets passed an IP?
Screenshots or terminal output
INFO[0000] Prep: Network
INFO[0000] Created network 'k3d-my-cluster'
INFO[0000] Created volume 'k3d-my-cluster-images'
INFO[0000] Starting new tools node...
INFO[0000] Starting Node 'k3d-my-cluster-tools'
INFO[0001] Creating node 'k3d-my-cluster-server-0'
INFO[0002] Using the k3d-tools node to gather environment information
INFO[0002] HostIP: using network gateway <IP_ADDRESS> address
INFO[0002] Starting cluster 'my-cluster'
INFO[0002] Starting servers...
INFO[0002] Starting Node 'k3d-my-cluster-server-0'
INFO[0009] All agents already running.
INFO[0009] All helpers already running.
INFO[0009] Injecting '<IP_ADDRESS> host.k3d.internal' into /etc/hosts of all nodes...

ERRO[0010] Failed Cluster Start: error during post-start cluster preparation: failed to get cluster network k3d-my-cluster to inject host records into CoreDNS: failed to parse IP of container k3d-my-cluster: netaddr.ParseIPPrefix("<IP_ADDRESS>"): no '/'

ERRO[0010] Failed to create cluster >>> Rolling Back
INFO[0010] Deleting cluster 'my-cluster'
INFO[0011] Deleting cluster network 'k3d-my-cluster'
INFO[0011] Deleting image volume 'k3d-my-cluster-images'
FATA[0011] Cluster creation FAILED, all changes have been rolled back!

Which OS & Architecture

Ubuntu 20.04 container with podman as a drop-in-replacement for Docker

Which version of k3d
k3d version v5.2.2
k3s version v1.21.7-k3s1 (default)

Which version of docker
Using podman instead of docker
# Output of `podman info:`
host:
  arch: amd64
  buildahVersion: 1.23.1
  cgroupControllers:
  - cpuset
  - cpu
  - cpuacct
  - blkio
  - memory
  - devices
  - freezer
  - net_cls
  - perf_event
  - net_prio
  - hugetlb
  - pids
  - rdma
  cgroupManager: cgroupfs
  cgroupVersion: v1
  conmon:
    package: 'conmon: /usr/libexec/podman/conmon'
    path: /usr/libexec/podman/conmon
    version: 'conmon version 2.0.30, commit: '
  cpus: 2
  distribution:
    codename: focal
    distribution: ubuntu
    version: "20.04"
  eventLogger: file
  hostname: agent-deployment-123
  idMappings:
    gidmap: null
    uidmap: null
  kernel: 5.4.0-1067-azure
  linkmode: dynamic
  logDriver: k8s-file
  memFree: 493694976
  memTotal:<PHONE_NUMBER>
  ociRuntime:
    name: crun
    package: 'crun: /usr/bin/crun'
    path: /usr/bin/crun
    version: |-
      crun version UNKNOWN
      commit: ea1fe3938eefa14eb707f1d22adff4db670645d6
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +CRIU +YAJL
  os: linux
  remoteSocket:
    path: /run/podman/podman.sock
  security:
    apparmorEnabled: false
    capabilities: CAP_CHOWN,CAP_DAC_OVERRIDE,CAP_FOWNER,CAP_FSETID,CAP_KILL,CAP_NET_BIND_SERVICE,CAP_SETFCAP,CAP_SETGID,CAP_SETPCAP,CAP_SETUID,CAP_SYS_CHROOT
    rootless: false
    seccompEnabled: true
    seccompProfilePath: /usr/share/containers/seccomp.json
    selinuxEnabled: false
  serviceIsRemote: false
  slirp4netns:
    executable: /usr/bin/slirp4netns
    package: 'slirp4netns: /usr/bin/slirp4netns'
    version: |-
      slirp4netns version 1.1.8
      commit: unknown
      libslirp: 4.3.1-git
      SLIRP_CONFIG_VERSION_MAX: 3
      libseccomp: 2.4.3
  swapFree: 0
  swapTotal: 0
  uptime: 296h 48m 3.93s (Approximately 12.33 days)
plugins:
  log:
  - k8s-file
  - none
  - journald
  network:
  - bridge
  - macvlan
  volume:
  - local
registries:
  search:
  - docker.io
  - quay.io
store:
  configFile: /etc/containers/storage.conf
  containerStore:
    number: 0
    paused: 0
    running: 0
    stopped: 0
  graphDriverName: overlay
  graphOptions:
    overlay.mountopt: nodev,metacopy=on
  graphRoot: /var/lib/containers/storage
  graphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "true"
  imageStore:
    number: 5
  runRoot: /run/containers/storage
  volumePath: /var/lib/containers/storage/volumes
version:
  APIVersion: 3.4.2
  Built: 0
  BuiltTime: Thu Jan  1 01:00:00 1970
  GitCommit: ""
  GoVersion: go1.16.6
  OsArch: linux/amd64
  Version: 3.4.2

CNI Network Info:
[
    {
        "cniVersion": "0.4.0",
        "name": "podman",
        "plugins": [
            {
                "bridge": "cni-podman0",
                "hairpinMode": true,
                "ipMasq": true,
                "ipam": {
                    "ranges": [
                        [
                            {
                                "gateway": "<IP_ADDRESS>",
                                "subnet": "<IP_ADDRESS>/16"
                            }
                        ]
                    ],
                    "routes": [
                        {
                            "dst": "<IP_ADDRESS>/0"
                        }
                    ],
                    "type": "host-local"
                },
                "isGateway": true,
                "type": "bridge"
            },
            {
                "capabilities": {
                    "portMappings": true
                },
                "type": "portmap"
            },
            {
                "type": "firewall"
            },
            {
                "type": "tuning"
            }
        ]
    }

Hi @strikeout , thanks for opening this issue!
This is a known problem with Podman that will be fixed on Podman side soon.
Podman support on k3d's side is tracked in this issue until then: https://github.com/rancher/k3d/issues/84
If you still think this issue is needed nonetheless, feel free to reopen :)


Revert default hash changes

Why is this being reverted? I don't think we should land this, if this is associated with the recent runtime crashes I am quite sure the problem is somewhere else (pretty sure the problem is related to incremental snapshots).

I prepared this since it seemed like the most likely culprit in the event that the crashes were related to runtime changes. I'll close this for now. Should be easy to reopen if necessary later.


How do u do this?

I can't find the class that you mixin to. Like, anywhere. How do you do this????

dw Intermediary helped me out


Make URN namespace configurable

Is your feature request related to a problem? Please describe.
Currently, urns have the namespace "li". We've received requests to make this configurable on a per-company basis.
Describe the solution you'd like
A way to configure a valid URN namespace.
Places we'd need to change:

GMS
Metadata Ingestion framework

This change should be sequenced after the cleanup GMS PR.
Describe alternatives you've considered

Continuing to disallow configurability.
Removing namespace from the URN

Additional context

Update:
The ideal solution is to remove the "li" portion of URNs altogether (instead have "urn:dataset:"), but unfortunately that would require a data migration for all existing deployments without supporting multiple concurrent code paths (although this is an option).
After consulting with the team, we've decided to de-pri this for now. Will come back to it in some time

We are now managing feature requests through our new portal to improve visibility & prioritize work into our public roadmap. If this request is still relevant, please create a new issue so we can gauge current interest from the Community & prioritize work accordingly.
We'll close out this issue in the meantime. Feel free to reach out to me on DataHub Slack with any questions!


Map compare performance improvement

Codecov Report

Merging #703 into 7.x will decrease coverage by 0.01%.
The diff coverage is 90.69%.

@@             Coverage Diff              @@
##                7.x     #703      +/-   ##
============================================
- Coverage     58.54%   58.52%   -0.02%
+ Complexity    12553    12549       -4
============================================
  Files          1754     1754
  Lines         64497    64512      +15
  Branches       6381     6383       +2
============================================
- Hits          37757    37754       -3
- Misses        23737    23752      +15
- Partials       3003     3006       +3

Impacted Files
Coverage Δ
Complexity Δ

...pare/ConceptMapCompareConfigurationProperties.java
80.64% <50.00%> (-10.66%)
9.00 <1.00> (+1.00)
:arrow_down:

...snowowl/core/request/ConceptMapCompareRequest.java
100.00% <100.00%> (ø)
17.00 <12.00> (-2.00)

...om/b2international/index/es/log/Slf4jAppender.java
52.94% <0.00%> (-11.77%)
4.00% <0.00%> (-1.00%)

...ational/snowowl/core/domain/ConceptMapMapping.java
67.34% <0.00%> (-8.85%)
22.00% <0.00%> (-1.00%)

...onal/snowowl/snomed/core/tree/TerminologyTree.java
80.76% <0.00%> (-1.93%)
20.00% <0.00%> (-1.00%)

...index/src/com/b2international/index/es/EsNode.java
84.88% <0.00%> (-1.17%)
15.00% <0.00%> (-1.00%)

.../snomed/core/ecl/SnomedEclRefinementEvaluator.java
88.04% <0.00%> (+0.58%)
110.00% <0.00%> (ø%)

...c/com/b2international/index/revision/ObjectId.java
81.81% <0.00%> (+4.54%)
13.00% <0.00%> (+1.00%)

Continue to review full report at Codecov.

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


Last event item date is affected by cancelling an event dialog, causing a bug when moving the event around.

Hi, this is a great library that I stumble upon recently and I have been trying very hard to customise and fit your great work into my project.
I have discovered that there is one bug that seems to cause the last event end date to be changed to the start date of the event dialog's start date when the event dialog is cancelled.
I tried replicating the steps for the bug on your example app (https://clickermonkey.github.io/dayspan-vuetify/example/) and it always recreates the same issue.
Step 1: click on a date on the calendar and create an event. Save the event!

Step 2: click on a later date on the calendar and create an event, but press cancel instead.

Step 3: when you drag the saved event, the end date will be = to the cancelled event start date OR the days between the first saved event and the cancelled event.

new update: If the drag feature is disabled, the issue seems to be resolved.
this.$dayspan.features.drag = false;

Thanks for discovering this, I've seen this before but could never replicate it! Next version should have a fix.


Populate document_type_id in metadata_revisions

Populate document_type_id in metadata_revisions table with the data from the documents table as a part of work to allow Content Publisher to change document types.
In the next step we will switch the application to use data from the new column.
Trello card

Merging this as Aga is on leave


Support more types by default. Expand UserDefaultsSerializable to support Int8, Int16, NSArray, NSNumber, etc.

Have you read the Contributing Guidelines?
General Information

Project version:
1.0.0

Platform/OS version:
iOS 13+

Any related GitHub issues:

Describe the bug
The current implementation of UserDefaultsSerializable is too simplistic because it only defines a subset of the values that can be automatically stored in UserDefaults:

Only Bool, Int, Float, and Double are currently supported numeric types, although UserDefaults can store ANY numeric type that is supported by NSNumber. This includes Int8, Int16, UInt8, UInt16, etc.
The Dictionary support seems to be JSON based [String:: Value.StoredValue]) where UserDefaults actually allows any supported UserDefaults value for a key ([Key.StoredValue: Value.StoredValue])
Oobjective-C values that are directly s supported by UserDefaults are all missing: NSString, NSNumber, NSDictionary, NSArray, etc.

Steps to reproduce
NA
Expected behavior
Clearly and concisely describe what you expected to happen.
Stack trace, compiler error, code snippets

Possible solution to (1): See example one below.
Possible solution to (2): See example two below
Exercise left to the reader

Example 1 (NSNumber values)
public protocol UDS_NSNumber: UserDefaultsSerializable where StoredValue == NSNumber { }

extension Bool: UDS_NSNumber {
    public var storedValue: NSNumber { return self as NSNumber }

    public init(storedValue: NSNumber) {
        self = storedValue.boolValue
    }
}

extension Int: UDS_NSNumber {
    public var storedValue: NSNumber { return self as NSNumber }

    public init(storedValue: NSNumber) {
        self = storedValue.intValue
    }
}

extension Int8: UDS_NSNumber {
    public var storedValue: NSNumber { return self as NSNumber }

    public init(storedValue: NSNumber) {
        self = storedValue.int8Value
    }
}
extension Int16: UDS_NSNumber {
    public var storedValue: NSNumber { return self as NSNumber }

    public init(storedValue: NSNumber) {
        self = storedValue.int16Value
    }
}
extension Int32: UDS_NSNumber {
    public var storedValue: NSNumber { return self as NSNumber }

    public init(storedValue: NSNumber) {
        self = storedValue.int32Value
    }
}
extension Int64: UDS_NSNumber {
    public var storedValue: NSNumber { return self as NSNumber }

    public init(storedValue: NSNumber) {
        self = storedValue.int64Value
    }
}

extension UInt: UDS_NSNumber {
    public var storedValue: NSNumber { return self as NSNumber }

    public init(storedValue: NSNumber) {
        self = storedValue.uintValue
    }
}
extension UInt8: UDS_NSNumber {
    public var storedValue: NSNumber { return self as NSNumber }

    public init(storedValue: NSNumber) {
        self = storedValue.uint8Value
    }
}
extension UInt16: UDS_NSNumber {
    public var storedValue: NSNumber { return self as NSNumber }

    public init(storedValue: NSNumber) {
        self = storedValue.uint16Value
    }
}
extension UInt32: UDS_NSNumber {
    public var storedValue: NSNumber { return self as NSNumber }

    public init(storedValue: NSNumber) {
        self = storedValue.uint32Value
    }
}
extension UInt64: UDS_NSNumber {
    public var storedValue: NSNumber { return self as NSNumber }

    public init(storedValue: NSNumber) {
        self = storedValue.uint64Value
    }
}

extension Float: UDS_NSNumber {
    public var storedValue: NSNumber { return self as NSNumber }

    public init(storedValue: NSNumber) {
        self = storedValue.floatValue
    }
}
extension Double: UDS_NSNumber {
    public var storedValue: NSNumber { return self as NSNumber }

    public init(storedValue: NSNumber) {
        self = storedValue.doubleValue
    }
}

Example 2 (Dictionary)
extension Dictionary: UserDefaultsSerializable where
    Key: UserDefaultsSerializable,
    Key.StoredValue: Hashable,
    Value: UserDefaultsSerializable {

    public var storedValue: [Key.StoredValue: Value.StoredValue] {
        reduce(into: [:]) {
            $0[$1.0.storedValue] = $1.1.storedValue
        }
    }
    public init(storedValue: [Key.StoredValue : Value.StoredValue]) {
        self = storedValue.reduce(into: [:]) {
            $0[Key(storedValue: $1.0)] = Value(storedValue: $1.1)
        }
    }
}

Screenshots
N/A
Additional context
N/A

Thanks so much for filing this issue, @Larry-Gensch ! 👏🏼
These omissions were actually intentional, but I'll be happy to add support (or accept PRs) if there is demand from people who are using this library. 😊
My reasoning below:

Only Bool, Int, Float, and Double are currently supported numeric types, although UserDefaults can store ANY numeric type that is supported by NSNumber. This includes Int8, Int16, UInt8, UInt16, etc.

The Swift programming guide explicitly discourages the use specific integer sizes, and instead encourages using "plain" Int. Based on these general language conventions, and the specific context of UserDefaults, I think it will be very rare that anyone wants to explicitly store something other than Int.
However, I think there is a case to be made for supporting "plain" UInt. We should probably do that.
Of course, supporting Int8, Int16, etc. is trivial -- I'm curious how many people are actually storing these types in UserDefaults instead of plain Int.

The Dictionary support seems to be JSON based [String:: Value.StoredValue]) where UserDefaults actually allows any supported UserDefaults value for a key ([Key.StoredValue: Value.StoredValue])

This isn't true, actually. It's not JSON-based, it's PropertyList-based. Non-string keyed dictionaries are not property list types.
From the Property List Programming Guide, emphasis mine:

If an array or dictionary contains objects that are not property-list objects, then you cannot save and restore the hierarchy of data using the various property-list methods and functions. And although NSDictionary and CFDictionary objects allow their keys to be objects of any type, if the keys are not string objects, the collections are not property-list objects.

Attempting to store a dictionary with non-string keys will throw an exception. I tried. 😊

Objective-C values that are directly supported by UserDefaults are all missing: NSString, NSNumber, NSDictionary, NSArray, etc.

This was also intentional, under the assumption that most people are almost always using Swift types. Again, specifically in the context of UserDefaults -- if you have a Swift project (even if it's mixed with ObjC) and you want to use a Swift-only feature (this property wrapper), why would you opt for NSNumber or NSDictionary when the Swift alternatives are typically a much better choice?
Again, if there's a demand here, I'm happy to add this. But I don't expect there to be a high demand for this...

My mistake regarding Dictionary. I also accept your comments.
Using NSDictionary or NSArray instead of Dictionary and Array is sometimes necessary for class semantics for optimal resource storage/retrieval.

@Larry-Gensch no problem! 😄

sometimes necessary for class semantics for optimal resource storage/retrieval.

I suspect if you are having this problem, the data you are trying to store in UserDefaults is too large and you should probably be using a database, right?

@jessesquires  Can you add support  UserDefaultsSerializable to  NSColor or can you provide an example of user define type
that conform to UserDefaultsSerializable  protocol?  The doc "Adding support for custom types is possible by conforming to UserDefaultsSerializable"  is too little information to me.
My use case is :  I want to store use customized color settings in UserDefaults.
Thanks.

hey @yujinqiu -- all you need to do is declare conformance to the protocol and implement the methods on your custom type
https://github.com/jessesquires/Foil/blob/main/Sources/UserDefaultsSerializable.swift#L32-L44
struct MyModel: UserDefaultsSerializable {

    var storedValue: [Float] {
         // todo
    }

    init(storedValue: [Float]) {
         // todo
    }
}

Hi @jessesquires  thanks for your example for custom type.  It works when the MyModel is  Struct.  But when it comes to  NSColor which is Cocoa Class,  it failed.  I try to give a POC below.
// we cannot add code inside MyModel here directly,  NSColor is Cocoa Class
class MyModel {
    init() {}
}

extension MyModel: UserDefaultsSerializable {
    public var storedValue: MyModel {
        return MyModel()
    }

    public required convenience init(storedValue _: MyModel) {
        self.init()
    }
}

We'll get Xcode error
'required' initializer must be declared directly in class 'MyModel' (not in an extension)

My current working around is convert  NSColor  variable  to   Data Type  and save it with Foil,  but it's not elegant :-( .  Is there any suggestion to store Class type in UserDefaults ?

Hey folks 👋🏼
I feel like the initial, main concern here has been sufficiently discussed and addressed. I'm going to close this issue.
Feel free to open a new issue for follow-ups! 😄


MultilineArrayTrailingCommaFixer - fix case with short array on return

MARK FOR MERGE INTO 2.0 by @keradus
move logic into transformer

fix #983

PR has been merged.


Potential async support

Hi, hi!
Would you consider adding async support to this crate? This is no a deal-breaker for me but I am evaluating this crate in an async environment (using tokio) and this could be a nice addition. I am not sure what's the story like for Rust libraries supporting both sync and async code... Seems a bit messy, and my async Rust skills are not good enough to be able to assess this well.
Currently using this library without spawning tokio::task::block_in_place can cause runtime panics. Currently investigating this, but will update the issue once I understand this a bit better.

Cool, thanks for the link, I'll take a look and see if I can wrap my head around the async world 😄


Error detected but minimap launches to some extent

I'm in Arch and I installed both "nvim" and "phyton-pynvim" packages.
When I launch the minimap I get this error:

Error detected while processing function minimap#ShowMinimap[4]..provider#python3#Call:
line   18:
Error invoking 'python_execute' on channel 3 (python3-script-host):
Traceback (most recent call last):
File "", line 1, in
File "/home/ndranc/.config/nvim/plugged/vim-minimap/autoload/minimap.py", line 96, in showminimap
vim.command(":call minimap#UpdateMinimap()")
File "/usr/lib/python3.8/site-packages/pynvim/api/nvim.py", line 287, in command
return self.request('nvim_command', string, **kwargs)
File "/usr/lib/python3.8/site-packages/pynvim/api/nvim.py", line 182, in request
res = self._session.request(name, *args, **kwargs)
File "/usr/lib/python3.8/site-packages/pynvim/msgpack_rpc/session.py", line 102, in request
raise self.error_wrapper(err)
pynvim.api.common.NvimError: Vim(return):Error invoking 'python_execute' on channel 3 (python3-script-host):
Traceback (most recent call last):
File "", line 1, in
File "/home/ndranc/.config/nvim/plugged/vim-minimap/autoload/minimap.py", line 160, in updateminimap
vim.current.window = minimap
File "/usr/lib/python3.8/site-packages/pynvim/api/nvim.py", line 534, in window
return self._session.request('nvim_set_current_win', window)
File "/usr/lib/python3.8/site-packages/pynvim/api/nvim.py", line 182, in request
res = self._session.request(name, *args, **kwargs)
File "/usr/lib/python3.8/site-packages/pynvim/msgpack_rpc/session.py", line 102, in request
raise self.error_wrapper(err)
pynvim.api.common.NvimError: Failed to switch to window 1001
Press ENTER or type command to continue

The minimap proceeds to open but it looks like this:

Not sure if that is the way it's supposed to look but maybe I have to change the font since it doesn't seem to match the content very well. The minimap seems to "function" but I'm unable to toggle it or close it getting the following error when I try:

Error detected while processing function minimap#CloseMinimap[4]..provider#python3#Call:
line   18:
Error invoking 'python_execute' on channel 3 (python3-script-host):
Traceback (most recent call last):
File "", line 1, in
File "/home/ndranc/.config/nvim/plugged/vim-minimap/autoload/minimap.py", line 213, in closeminimap
vim.current.window = minimap
File "/usr/lib/python3.8/site-packages/pynvim/api/nvim.py", line 534, in window
return self._session.request('nvim_set_current_win', window)
File "/usr/lib/python3.8/site-packages/pynvim/api/nvim.py", line 182, in request
res = self._session.request(name, *args, **kwargs)
File "/usr/lib/python3.8/site-packages/pynvim/msgpack_rpc/session.py", line 102, in request
raise self.error_wrapper(err)
pynvim.api.common.NvimError: Failed to switch to window 1001
Press ENTER or type command to continue

EDIT: My :CheckHealth gives me this error:

Not sure if it's relevant to the plugin but I have both python3 (3.8) and python2 (2.7) installed and under $PATH.

im getting the same result. seems to be related to or duplicate of #42 . i would try following the instructions given in :help provider-python first. but there doesnt seem to be resolution to the 42 issue

i did something horrid to avoid the message of error when u start:
sys.tracebacklimit = 0
and wrap the functions inside toggle with try except pass
    minimap = getmmwindow()
    if minimap:
        try:
            closeminimap()
        except:
            pass
    else:
        try:
            showminimap()
        except:
            pass

forgive me


Memory Leak

The react-sizeme component uses this package. It creates a resizeDetector singleton. The problem that we experience is that the resizeDetector retains memory (both dom elements and listeners). The component calls removeAllListeners in componentWillUnmount what seems like the correct approach.
I have create an issue in react-sizeme with a solution (https://github.com/ctrlplusb/react-sizeme/issues/131) but I'm not convinced the issue is within the react-sizeme package.

Hi, I believe you should call uninstall rather. The removeAllListeners still keeps the detection system of the element for fast listener attachments in the future. This will retain memory.

Let's reopen the issue if it doesn't solve the issue for you :)

Brilliant! Thanks for this insight @wnr 👍
Oh, and huge love to you again for this amazing library 😘

Thanks ❤


ensure chainwork is correctly initialized when deploying to Frontier

on Morden, it is a known issue that the chainwork is NOT accurate.  Need to make sure it is correct when deploying to Frontier.
also, replace "cumulative difficulty" with chainwork to be more accurate with terminology

fixed in 1466934


Remove tight coupling between this service and RabbitMQ

The service should not instantly crash when RabbitMQ is not running, and if messages fail to be published they should be retried. The current implementation of RabbitMQ publishing is extremely ugly.

The service no longer crashes when rabbitmq is not running


Clash on __pycache__ directory

If an app has gained a top-level __pycache__ directory (e.g. because you ran the app locally to test it) then this causes sls deploy to fail:
$ sls deploy
Serverless: Packaging Python WSGI handler...
Serverless: Packaging required Python packages...
Serverless: Linking required Python packages...

  Serverless Error ---------------------------------------

  Unable to link dependency '__pycache__' because a file by the same name exists in this service

Workaround is to rm -rf __pycache__ first.
(Aside: I wonder if the requirements bundle should also exclude *.pyc files, so they are rebuilt server-side when the application starts up)

Yes, perhaps we should keep a blacklist of what to omit when packaging requirements. Regarding .pyc files, actually Zappa (at one point, at least) would compile the bytecode and only package the .pyc files to reduce package size and improve performance. The bytecode files are cross-platform compatible, so they shouldn't be rebuilt on the server-side AFAIK.
So ignoring .pyc files should probably stay opt-in through an exclude rule, but let's avoid these packaging conflicts by default.

perhaps we should keep a blacklist of what to omit when packaging requirements

Yes, although in this case I had explicitly defined only include: requirements:
package:
  exclude:
    - "**"
  include:
    - "*.py"

I was surprised when the presence of __pycache__ caused a conflict error from serverless-wsgi, when __pycache__ was not going to be bundled anyway.
Now: python3.2 changed from having .pyc files adjacent to the .py files, to having a __pycache__ directory.
I wondered why a requirements bundle would ever have a top-level __pycache__ directory.  The answer is because I'm using xmltodict, and this plops xmltodict.py at the top level, rather than using a package (xmltodict/__init__.py):
$ unzip -v .serverless/xxxxx.zip  | grep " __pycache__"
   13913  Defl:N     6989  50% 1980-01-01 00:00 81ca3cca  __pycache__/xmltodict.cpython-35.pyc

If you needed to upload your own __pycache__ directory, and also the requirements has a top-level __pycache__ directory, that's a pain.  serverless would have to merge the contents of the two directories.

The bytecode files are cross-platform compatible, so they shouldn't be rebuilt on the server-side AFAIK

That's good.  Is that true even across python versions - in particular if I create .pyc files on python 3.5 under Ubuntu 16.04, they are usable on python 3.6 under Lambda?  If so then I don't really mind that they're there.
Omitting them would make the zip file a tiny bit smaller, which might help if you're getting near the 50MB limit, but is a minor optimisation.  Adding a few milliseconds to the first time a lamdba starts, I don't really care about.

Unfortunately the fix doesn't work for me.
$ sls deploy
Serverless: Packaging Python WSGI handler...
Serverless: Packaging required Python packages...
Serverless: Linking required Python packages...

  Serverless Error ---------------------------------------

  Unable to link dependency '__pycache__' because a file by the same name exists in this service

  Get Support --------------------------------------------
... etc

$ npm -g list | grep wsgi
└─┬<EMAIL_ADDRESS>
$ grep pycache /usr/lib/node_modules/serverless-wsgi/requirements.py
        'setuptools-*', 'easy_install.*', '__pycache__']

Workaround is still: rm -rf __pycache__/ at the top level of the project before sls deploy

@candlerb Could you try removing .requirements and __pycache__ and try again?

That's the point: if I rm -rf __pycache__ then it works fine.  If I don't, I get the failure.

On second thought, since __pycache__ may be created again after building the .requirements folder, a blacklist in the plugin (where the symlinks are created) is still needed. The current blacklist only skips the __pycache__ folder that pip creates initially.

Ah I see.
Initial status: both .requirements and __pycache__ exist.
$ sls deploy
Serverless: Packaging Python WSGI handler...
Serverless: Packaging required Python packages...
Serverless: Linking required Python packages...

  Serverless Error ---------------------------------------

  Unable to link dependency '__pycache__' because a file by the same name exists in this service

Now I mv .requirements .requirements.old
$ sls deploy
Serverless: Packaging Python WSGI handler...
Serverless: Packaging required Python packages...
Serverless: Linking required Python packages...
Serverless: Packaging service...
Serverless: Excluding development dependencies...
Serverless: Unlinking required Python packages...
Serverless: Uploading CloudFormation file to S3...
Serverless: Uploading artifacts...
Serverless: Uploading service .zip file to S3 (11.15 MB)...

This works, thanks!  (The top-level __pycache__ directory still exists)
I notice that the .requirements.old directory contains a __pycache__ directory, but the new .requirements does not.


waitForEx

flutter pub global activate get_cli   are not working

+1

flutter pub global activate get_cli are not working

use flutter pub global activate -s git https://github.com/jonataslaw/get_cli

@jinxiaoman worked

flutter pub global activate get_cli are not working

@aktarulahsan try
dart pub global activate get_cli


Possible contribution of PHP tools

I have initial support for PHP linting via php -l and PHP code style checks via phpcs. In the future, I plan to implement other tools from the PHP QA Toolchain.
Would you like a pull request for these initial hooks?

Yes, absolutely we would. Please be sure to include specs and thanks for offering to help out!

Hi @lencioni - Where do you prefer that fixture files be located? I was expecting spec/overcommit/fixtures but don't see anything there.


[USB-User. Замовлення] The order does not consist of 'Частково оплачено' in user's 'Замовлення' tab notwithstanding the fact that in admin tab the status is changed on 'Частково оплачено'

Environment: OS Windows 11 PRO Version 21H2, Browser Google Chrome Version 98.0.4758.102
Reproducible: always
Build found: 21.02.2022
Preconditions

Logged in to GreenCity as a User [https://ita-social-projects.github.io/GreenCityClient/#]
The tab "Замовлення" in the personal cabinet is opened
Opened orders page - "Поточні замовлення" tab
Client has orders with status ‘Сформовано’ payment
Log out from User's page

Steps to reproduce

Login as admin
Click on the last paid order
Chanhe the order details (add some additional packeges so that the price is higher than it was before)
Click on 'Зберегти'
Check if the order status is 'Сформовано' and 'Частково оплачено'
Log out from admin page
Log in as a User
Click on 'Замовлення'
Check if the order status has been changed

Actual result
The order status of the user is without changes (See the attachment 1)
Expected result
The order status of the user is changed both in Admin tab and User tab (See the attachment 2)
User story and test case links
User story #3488
Test case (https://jira.softserve.academy/projects/GC?selectedItem=com.thed.zephyr.je:zephyr-tests-page#test-cycles-tab)

Expected result

The payment status 'Частково оплачено' changes temporarily until the 'Зберегти' button is pressed.
On the user page, the status 'Оплачено'also does not change.

https://user-images.githubusercontent.com/102656931/167251113-fb029d31-0e71-407a-a485-ae62ebeb71f3.mp4


publish signed hashes for binaries

As a user who downloaded Cisco's binary build I would like to verify that the module is really what was published by Cisco.
For example you could publish GPG-signed hashsums (e.g. sha + md5) for the binaries.

is this related to https://github.com/cisco/openh264/issues/893?

Well, #893 is a much broader approach. I was thinking about something much more light-weight:
I assume that Ciscos build process is fine and I trust Cisco for openh264 binaries but still I want to verify that I downloaded indeed Ciscos code and not some random bits from a man-in-the-middle attack (or Cisco's server was hacked).
Of course reproducible builds could be considered a solution for that situation but that requires me to build the binaries myself for comparison.
My suggestion was just to sign the hashes (md5, sha1, ...) with GPG as it is common for open source software. That way I can verify that I got the right binary – regardless of how I retrieved the binary bits. This should be very easy to implement as part of the release process and requires no code changes.

This seems pretty reasonable. For Firefox releases we publish a list of file hashes, and sign the hash file, so for example:
http://ftp.mozilla.org/pub/firefox/releases/42.0/
has:
http://ftp.mozilla.org/pub/firefox/releases/42.0/SHA512SUMS
and http://ftp.mozilla.org/pub/firefox/releases/42.0/SHA512SUMS.asc

@FelixSchwarz  Current release binaries have all signatures from Cisco. Hope this can completely solve your issue.

@FelixSchwarz Current release binaries have all signatures from Cisco. Hope this can completely solve your issue.

Ah, great :-)
Where can I find  these binaries? The release page does not list them as far as I can see: https://github.com/cisco/openh264/releases

@FelixSchwarz a latest release named 1.7.0 will soon be available :)


Select2 does not respond to clicking the label

Prerequisites

[x] I have searched for similar issues in both open and closed tickets and cannot find a duplicate
[x] The issue still exists against the latest master branch of Select2
[x] This is not a usage question (Those should be directed to the community)
[x] I have attempted to find the simplest possible steos to reproduce the issue
[ ] I have included a failing test as a pull request (Optional)

Steps to reproduce the issue

Make a select with <label> for it.
Try clicking on label.

Expected behavior and actual behavior
When I follow those steps, I see nothing. Select does not get focues.
I was expecting focused select.
Environment
Browsers

[x] Mozilla Firefox
[ ] Google Chrome
[ ] Internet Explorer

Operating System

[x] Windows
[ ] Mac OS X
[ ] Linux
[ ] Mobile

Libraries

jQuery version: 1.11.3
Select2 version: 4.0.0

Isolating the problem

[x] This bug happens on the examples page
[ ] The bug happens consistently across all tested browsers
[x] This bug happens when using Select2 without other pluigns
[x] I can reproduce this bug in a jsbin: https://jsbin.com/muhirunowi/edit?html,output
#2311 #198

Happens to me too

I came here to ask about this exact issue - how can one make it focus so users can utilise the keyboard like they can with a standard select list?

Discussion continued in #5137.


Added 'processing' status as valid challenge status

In ACME draft 10+, section 8 lists the valid challenge status' as:
status (required, string):  The status of this challenge.  Possible       values are: "pending", "processing", "valid", and "invalid".
In acme/client.go the "processing" status is missing as a possible return value.

Hey, thanks for the PR!
The processing status was left out intentionally so it can be handled by the default branch of the switch as it does not indicate an error but rather that the challenge is still being validated by the server.
Adding it to the switch like this would break the logic as it would end the loop and report an error, which would not be true at all.

Hi xenolf-
Sorry for the confusion on my part - I don't completely understand.  If the server replies with a challenge status of processing, the default switch case does not wait and throws the error the server returned an unexpected state - and processing stops.  Should this be the case?

@nelsonkram Sorry, I completely misread the code on mobile. You are right and the status was missing! :)


feat(template): added pf1 template

Missing a few sanity checks and community feedback but so far seems good

Don't forget to update TEMPLATE_LIST.md

Since the mod doesn't support rowspan, if you can manually split the vision into multiple columns that will help with cases like the first row of Borug. It might make the result look a bit weird if there are value(s) in row 1/3 but not row 2, but I think overall that will give a better result for trying to view the data in the rest of the columns so they're not "too tall" for an actor that has a lot of various vision abilities.

Other suggestion from discord Vision -> Senses

Since the mod doesn't support rowspan, if you can manually split the vision into multiple columns that will help with cases like the first row of Borug. It might make the result look a bit weird if there are value(s) in row 1/3 but not row 2, but I think overall that will give a better result for trying to view the data in the rest of the columns so they're not "too tall" for an actor that has a lot of various vision abilities.

Or wait for #39

Also @LeCuay @dmrickey feel free to add me on discord if you want. My handle is the same as my github name (if you're not already in my server).

Okay this is how it looks on d1f6e9a

Added few icons

This is using Pro FontAwesome icons, I need to revisit

⚠ This is using Pro FontAwesome icons, I need to revisit

Okay now is ready


continuousUnitTest depends on "setup"

The tasks continuousUnitTest & unitTest fail because the dependency ginko isn't loaded yet into .go-cache.
Should there be a "prerequisites: \n\t - setup" in there or is that not how it's supposed to be used?

Hi @sbalnojan, thanks for the feedback. On my machine, setup still takes a few seconds. Therefore I'd rather only run it when I need to, rather than on every invocation of every task that requires the dependencies to be downloaded, which is what would happen if setup is listed in prerequisites. It's a personal preference thing, so it would be perfectly valid to include it as a prerequisite if you'd like to.
I've added some extra explanation to the readme to clarify this. Please let me know if you have any further questions or suggestions!


Prerequisites on Windows

The installation instructions say to install both VS 2013 and VS 2017 - why both? In another issue (#43) I saw that the CI build was referenced  - would following the CI commands suffice to complete the pre-reqs and then install nodec?
If so, could the installation instructions for windows on the readme be updated? Directly downloading python/ruby/squash/node/npm seems more doable and easier to pitch to ~my~ any team than having to download two version of visual studio, and then also needing to use the visual studio shell. (Can't I just use git bash or power shell?) Now, most teams interested in this actually already might have both visual studios, but maybe not. Maybe they're a custom nodejs shop and have cross platform teams working in vim / vscode / sublime / atom etc.
But idk, maybe not.
Thanks for reading <3<3 Feel free to disregard / close. If those instructions are what's needed, than that's that. Just an honest question 😃
$.02

It's not both. Either should suffice. Let me update the readme. Following CI commands could serve as a good example to make it work.

Thanks @pmq20


Orchard Ambassadors ideas

For anyone not on today's Community Meeting, this is now open: http://ambassadors.orchardproject.net/. The point is to gather community members who want to evangelize Orchard and give them various help to do this better and easier.
Under this issue we can discuss ideas related to Orchard Ambassadors. Below are some ideas that came up on the meeting.

Also add highlights for content editors who know nothing technical under "How to present Orchard to specific audiences" on http://ambassadors.orchardproject.net/resources-for-orchard-ambassadors. Any suggestions on this?
Having a slide deck and an elevator pitch for different audiences (including non-technical) would indeed be useful. Non-developers could also use this (e.g. "I'm a project manager and I like how my dev team works with Orchard.")
Would pre-prepared basic code demos be useful? (Not tutorials, just some code to give a half an hour demo to a C# dev audience on how Orchard development works.) BTW we at Lombiq commonly use the Abstractions module's (https://github.com/Lombiq/Orchard-Abstractions-Examples) simplified content part development model to showcase content part development by keeping the core concept but shaving off the boilerplate.
Let's formulate the vision of Orchard, i.e. why is there an Orchard if there is also an Umbraco and DNN for example? What is the main distinction?
Let's not have a barrier of entry to become an ambassador apart from some basic check that the person doesn't just want to promote their presence. On a related note, who should check applications? At the moment Benedek and me get the e-mail notifications and if it's just a simple check we can do it.
Badges on the websites with specialties of the person: e.g. Azure, AngularJS.... This way it's visible how the person's viewpoint on Orchard can be different (e.g. how do you host it in the cloud? How does it play together with modern client-side frameworks, how to I build SPAs with it?).
Accept contributions in some form. We could e.g. have an "Ambassador's Swiss Army Knife" GitHub repo with everything in it: slide deck PPTX, elevator pitch in Markdown... This could be even synced to content items on the site, i.e. the textual content could be browsable there too.
Free custom domain usage for Ambassadors on DotNest to be able to create a quick portfolio/introduction site?

Anything else? What would you need to evangelize Orchard to fellow devs or to "sell" it to prospective users?
BTW if anybody wants access to the website, just ask.
Who have taken part in the discussion, FYI: @bleroy @sebastienros @DanielStolt @sfmskywalker @roballred @jersiovic

I'm in 👍

Added Abhishek's profile.

In! This is a great idea, and I am looking forward to getting involved.
I think that it would be useful to have a datasheet of CMS features that compares Orchard side by side with some of the other popular CMSes. It would help with proposals where the client is considering multiple options but leaning toward a particular CMS.
I like the idea of the Swiss Army Kit repo.
Another thing that would be great to have would be some all inclusive quickstart website samples for different types of Orchard websites. For example a business website, personal portfolio, e-commerce, simple blog, etc. I'm talking about not just themes, but actual content with nice design, full module configuration according to best practices, etc. This is something which IMO would greatly simplify adoption of Orchard by developers who might otherwise feel lost when starting up. It would also make it easier for us to set up demos to present to prospective clients.

Do you have some specific format for the datasheet in mind @durkc , or any examples where there are CMSs listed already and we could add Orchard?
For the website quickstarts, I think that's a good idea we could implement even with DotNest (there's a similar older idea to have some typical websites pre-baked, like a better Blog recipe): there could be recipes to do the various configuration and add some test content. These recipes could be used in a stand-alone way too (or on DotNest for quick demo sites), given they only use freely available modules and themes.


Add core-dump-handler

Closes: #122
Add core-dump-handler application that send coredump of binaries into a S3 bucket.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Ready to be reviewed/merged.

Thanks @guikcd !   I took a quick look and at the code and it looks good.
And yes, the Velero S3 bucked is not cleaned up and I think it's fine to leave it. As far as I know, there isn't a single, simple API call to delete a bucket that has data. It requires deleting all the data first.
My goal is to get a release out this week. So I'll review early in the week so we can include the core-dump-handler in the release.
Thanks again for the PR!


Help to setup: system.js seed

I am trying to run the latest code in the way done in five min quick start, the compete code is here:
https://github.com/panacloud/learn-angular2/tree/master/step03_twitter_bootstrap
It is giving the following error:

It seems that this 5 min start are simply not ready for using ng2 modules

https://github.com/pkozlowski-opensource/ng2-play/pull/34/files
this could be helpful

I have used this https://github.com/pkozlowski-opensource/ng2-play/pull/34/files and quick start to build this repo https://github.com/panacloud/learn-angular2/tree/master/step03_twitter_bootstrap but it is not working :(

I have renamed an issue, system js is not a the standard way
I will try to get to this today, but most probably I will get to this tomorrow

Thanks

@ziaukhan  I got the beta.0 working with System.js. I show you what i do.
System.JS config:
System.config({
	packages: {
		"app": {
			"defaultExtension": "js"
		},
        "lib/ng2-bootstrap": {
			"defaultExtension": "js"
		}
	},
	paths: {
        "ng2-bootstrap/ng2-bootstrap":   "lib/ng2-bootstrap/ng2-bootstrap"
	}
});

As you can see i refer to lib/ instead of node_modules/, this is because i use gulp to copy the needed files from node_modules to lib. In your case that might be node_modules....
After that you can simply use it in a component like:
import { Progressbar } from "ng2-bootstrap/ng2-bootstrap";
@Component({
    selector: "my-app",
    directives: [
        Progressbar
    ],
    template: "<progressbar></progressbar>"
})

Thats all i do, and it works like a charm :+1:

@basvandenheuvel thanks for helping

@basvandenheuvel Yes it worked, Thank you so very much.
The complete updated code is available at:
https://github.com/panacloud/learn-angular2/tree/master/step03_twitter_bootstrap

@ziaukhan  You're welcome ;) SystemJS can be a b*tch if you don't fully understand it.

@basvandenheuvel thanks! :)

https://github.com/angular/angular.io/pull/681

@basvandenheuvel After hours of trying to figure this out, your suggestion put me on the right track. I do not use gulp, but still had to add this one line.

Check readme quick start part, I have added system.js bundles

Hi, so I managed to get by the first issue being:
Error: XHR error (404 Not Found) loading http://localhost:3000/ng2-bootstrap/ng2-bootstrap(…)
Got by this by implementing the changes you guys recommended to the systemjs.config.js file as below:
`(function(global) {
// map tells the System loader where to look for things
var map = {
'app':                        'app', // 'dist',
'rxjs':                       'node_modules/rxjs',
'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api',
'@angular':                   'node_modules/@angular'
};
// packages tells the System loader how to load when no filename and/or no extension
var packages = {
'app':                        { main: 'main.js',  defaultExtension: 'js' },
'rxjs':                       { defaultExtension: 'js' },
'angular2-in-memory-web-api': { defaultExtension: 'js' },
"node_modules/ng2-bootstrap": { defaultExtension: 'js' }
};
var paths = {
    'ng2-bootstrap/ng2-bootstrap':   "node_modules/ng2-bootstrap/ng2-bootstrap"
};
var packageNames = [
    '@angular/common',
    '@angular/compiler',
    '@angular/core',
    '@angular/http',
    '@angular/platform-browser',
    '@angular/platform-browser-dynamic',
    '@angular/router',
    '@angular/router-deprecated',
    '@angular/testing',
    '@angular/upgrade'
];
// add package entries for angular packages in the form '@angular/common': { main: 'index.js', defaultExtension: 'js' }
packageNames.forEach(function(pkgName) {
    packages[pkgName] = { main: 'index.js', defaultExtension: 'js' };
});
var config = {
    map: map,
    packages: packages,
    paths: paths
}
System.config(config);

})(this);
`
My issue is now that it is giving me the following error:
Error: XHR error (404 Not Found) loading http://localhost:3000/moment(…)
I am not sure what I need to implement further as moment is not one of the packages i have installed.

check this out it should help
https://github.com/valor-software/angular2-quickstart

Guys. still have a problem:
error appears:
zone.js:101 GET http://localhost:8080/ng2-bootstrap/ng2-bootstrap 404 (Not Found)
zone.js:323 Error: Error: XHR error (404 Not Found) loading http://localhost:8080/ng2-bootstrap/ng2-bootstrap(…)

My index.html:
<html>
<head>
<title>Angular 2 TypeScript Gulp QuickStart</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
<!-- Polyfill(s) for older browsers -->
<script src="lib/es6-shim/es6-shim.min.js"></script>
<script src="lib/zone.js/dist/zone.js"></script>
<script src="lib/reflect-metadata/Reflect.js"></script>
<script src="lib/systemjs/dist/system.src.js"></script>
<!--ng2-bootstrap-->
<script src="node_modules/ng2-bootstrap/bundles/ng2-bootstrap.min.js"></script>
<!-- 2. Configure SystemJS -->
<script src="systemjs.config.js"></script>
<!--ng-bootstrap-->
<!--<script src="node_modules/ng2-bootstrap/bundles/ng2-bootstrap.min.js"></script>-->
<script>
    System.import('app')
            .then(null, console.error.bind(console));
</script>
</head>
<!-- 3. Display the application -->
<body>
<my-app>Loading...</my-app>
</body>
</html>

part of app.component.ts:
import {Component} from '@angular/core';
/datepicker
import {DATEPICKER_DIRECTIVES} from 'ng2-bootstrap/ng2-bootstrap';
@Component({
selector: 'my-app',
styleUrls: ['app/app_component.css'],
templateUrl: './app/main_app_template.html',
directives: [ ROUTER_DIRECTIVES, DATEPICKER_DIRECTIVES],
providers: [ SendLoginService, AuthenticationService, ConfigurationService, SetupIntervalService]

})
systemjs.config.js:
(function (global) {

// map tells the System loader where to look for things
var map = {
    'app': 'app', // 'dist',
    'rxjs': 'lib/rxjs',
    '@angular': 'lib/@angular',
     moment: 'node_modules/moment/moment.js',
};

// packages tells the System loader how to load when no filename and/or no extension
var packages = {
    'app': {main: 'main.js', defaultExtension: 'js'},
    'rxjs': {defaultExtension: 'js'},
};

var packageNames = [
    '@angular/common',
    '@angular/compiler',
    '@angular/core',
    '@angular/http',
    '@angular/platform-browser',
    '@angular/platform-browser-dynamic',
    '@angular/router',
    '@angular/router-deprecated',
    '@angular/testing',
    '@angular/upgrade'
];

// add package entries for angular packages in the form '@angular/common': { main: 'index.js', defaultExtension: 'js' }
packageNames.forEach(function (pkgName) {
    packages[pkgName] = {main: 'index.js', defaultExtension: 'js'};
});

var config = {
    map: map,
    packages: packages
};

// filterSystemConfig - index.html's chance to modify config before we register it.
if (global.filterSystemConfig) {
    global.filterSystemConfig(config);
}

System.config(config);

})(this);

package.json:
...
"ng2-bootstrap": "1.0.17",
...
Would be very appreciative if some one could help.

@meksikann You add ng2-bootstrap like this:
You did not map ng2-bootrsap in your systemJS configuration. Try to add
ng2-bootstrap': 'node_modules/ng2-bootstrap',
or
*': 'node_modules',

I have changed to:
    var map = {
    'app': 'app', // 'dist',
    'rxjs': 'lib/rxjs',
    '@angular': 'lib/@angular',
    'ng2-bootstrap': 'node_modules/ng2-bootstrap',
     moment: 'node_modules/moment/moment.js'
};

But still have:
zone.js:323 Error: Error: XHR error (404 Not Found) loading http://localhost:8080/node_modules/ng2-bootstrap/ng2-bootstrap(…)

@meksikann Have you added the defaultJSExtensions: true, in your config?

no I don't see it in system.config.js. Can you tell me where to set it? So I will try right away.(i am new in A2).

I've added:
var packages = {
    'app': {main: 'main.js', defaultExtension: 'js'},
    'rxjs': {defaultExtension: 'js'},
    'ng2-bootstrap': {defaultJSExtensions: true}
};

Have almost the same error . but with js in the end:
 Error: XHR error (404 Not Found) loading http://localhost:8080/node_modules/ng2-bootstrap/ng2-bootstrap.js(…)

@meksikann It seems like your node_modules is either not present or broken. Can you tell me, why @angular is under lib and not under the node_modules?

@meksikann can you create a sample repo with your config and share link here?
it will be much faster

I've uploaded system config.js in some old existing repo.
here is config https://github.com/meksikann/Makrame/blob/master/systemjs.config.js

@meksikann I would suggest that you do your stuff with a startet like https://github.com/mgechev/angular2-seed

I found an issue: I've moved 'moment' and 'ng2-bootstrap/components" folders and ng2-bootstrap.js into build/lib folder. So now at least I don't get errorrs ans see datepicker.
but now question is:   I've moved it manually. But how to set this stuff, to move automalicly into lib this folders??


optional proxy bug

@SylvainCorlay this is the origin of one of the errors in xoptional_assembly.

woot!


Template for people to have a proper format for bug fix, pull requests, new feature addition etc.

Field
Value

About
Template for people to have a proper format for bug fix, pull requests, new feature addition etc.

Title
Feature request

Is your feature request related to a problem? Please describe.
New Contributors are not able to follow a proper format to create issue for bug fixes, pull request,  new feature additions etc.

Describe the solution you'd like
I can provide ".github" folder with all the necessary templates required it will not only help the contributors but mentors as well

Additional context
I am from GSSOC'23 you can assign this issue to me

I'll start working on this!

Sure, I'll do that.

@Astrodevil Hey! I have completed the task. Please check


Release newer code

It's related to this https://github.com/django-crispy-forms/django-crispy-forms/issues/1345  and this commit actually solves it https://github.com/django-crispy-forms/crispy-bootstrap4/blame/main/crispy_bootstrap4/templates/bootstrap4/layout/radioselect.html#L4
but it seems that there's no release that include that code on pypi. Can someone do the release?

Pip has support for installing straight from GitHub (until the next release is available)
https://pip.pypa.io/en/stable/topics/vcs-support/


Update to use res.status().send()

express is deprecating the res.send(status, body). Should update this.

Hi @mkretschek ,
I created a PR for this #2.

Awesome! Thanks, man. I completely forgot about this. hahah
I just have to check what's wrong with the build. Will do that later today.
The change itself seems fine, though.


RuntimeError: "slow_conv2d_cpu" not implemented for 'Half'

Thanks for your excellent work:)
But I got a problem..

/home/wga/miniconda3/envs/mmdiffusion/lib/python3.8/site-packages/torchvision/io/image.py:13: UserWarning: Failed to load image Python extension: '/home/wga/miniconda3/envs/mmdiffusion/lib/python3.8/site-packages/torchvision/image.so: undefined symbol: _ZN5torch3jit17parseSchemaOrNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'If you don't plan on using image functionality from torchvision.io, you can ignore this warning. Otherwise, there might be something wrong with your environment. Did you have libjpeg or libpng installed before building torchvision from source?
warn(
Traceback (most recent call last):
File "py_scripts/multimodal_sample_sr.py", line 309, in
main()
File "py_scripts/multimodal_sample_sr.py", line 125, in main
sample = dpm_solver.sample(
File "/home/wga/wga/MM-Diffusion/mm_diffusion/multimodal_dpm_solver_plus.py", line 1293, in sample
x = self.singlestep_dpm_solver_update(x, vec_s, vec_t, order, solver_type=solver_type, r1=r1, r2=r2)
File "/home/wga/wga/MM-Diffusion/mm_diffusion/multimodal_dpm_solver_plus.py", line 1060, in singlestep_dpm_solver_update
return self.singlestep_dpm_solver_third_update(x, s, t, return_intermediate=return_intermediate, solver_type=solver_type, r1=r1, r2=r2)
File "/home/wga/wga/MM-Diffusion/mm_diffusion/multimodal_dpm_solver_plus.py", line 819, in singlestep_dpm_solver_third_update
model_s = self.model_fn(x, s)
File "/home/wga/wga/MM-Diffusion/mm_diffusion/multimodal_dpm_solver_plus.py", line 449, in model_fn
return self.noise_prediction_fn(x, t)
File "/home/wga/wga/MM-Diffusion/mm_diffusion/multimodal_dpm_solver_plus.py", line 417, in noise_prediction_fn
return self.model(x, t)
File "/home/wga/wga/MM-Diffusion/mm_diffusion/multimodal_dpm_solver_plus.py", line 350, in model_fn
return noise_pred_fn(x, t_continuous)
File "/home/wga/wga/MM-Diffusion/mm_diffusion/multimodal_dpm_solver_plus.py", line 305, in noise_pred_fn
video_output,audio_output = model(x["video"], x["audio"], t_input, **model_kwargs)
File "/home/wga/miniconda3/envs/mmdiffusion/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1519, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/home/wga/miniconda3/envs/mmdiffusion/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1528, in _call_impl
return forward_call(*args, **kwargs)
File "/home/wga/wga/MM-Diffusion/mm_diffusion/multimodal_unet.py", line 1085, in forward
video, audio = module(video, audio, emb)#
File "/home/wga/miniconda3/envs/mmdiffusion/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1519, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/home/wga/miniconda3/envs/mmdiffusion/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1528, in _call_impl
return forward_call(*args, **kwargs)
File "/home/wga/wga/MM-Diffusion/mm_diffusion/multimodal_unet.py", line 45, in forward
video, audio = layer(video, audio)
File "/home/wga/miniconda3/envs/mmdiffusion/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1519, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/home/wga/miniconda3/envs/mmdiffusion/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1528, in _call_impl
return forward_call(*args, **kwargs)
File "/home/wga/wga/MM-Diffusion/mm_diffusion/multimodal_unet.py", line 694, in forward
return self.video_conv(video), self.audio_conv(audio)
File "/home/wga/miniconda3/envs/mmdiffusion/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1519, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/home/wga/miniconda3/envs/mmdiffusion/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1528, in _call_impl
return forward_call(*args, **kwargs)
File "/home/wga/wga/MM-Diffusion/mm_diffusion/multimodal_unet.py", line 96, in forward
video = self.video_conv_spatial(video)
File "/home/wga/miniconda3/envs/mmdiffusion/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1519, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/home/wga/miniconda3/envs/mmdiffusion/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1528, in _call_impl
return forward_call(*args, **kwargs)
File "/home/wga/miniconda3/envs/mmdiffusion/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 460, in forward
return self._conv_forward(input, self.weight, self.bias)
File "/home/wga/miniconda3/envs/mmdiffusion/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 456, in _conv_forward
return F.conv2d(input, weight, bias, self.stride,
RuntimeError: "slow_conv2d_cpu" not implemented for 'Half'

I know the bug. It`s the torch version and CUDA version issue.

How to resolve this issue?

How to resolve this issue?

It was resolved simply by upgrading pytorch

How to resolve this issue?

update the torch version to match your machine CUDA version. No need to use author`s version~

Is it possible to know how to fix this issue? On my side I can't install cuda, I have a Mac with M3 chips, and when looking at the command to install pytorch in my miniconda environment, I executed this line: conda install pytorch-nightly::pytorch torchvision torchaudio -c pytorch-nightly - instead of this one: conda install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch-nightly -c nvidia. I am guessing that this same error that I have ""slow_conv2d_cpu" not implemented for 'Half'" is related to not installing cuda, but I am not sure, and if I have to adapt the code, is it possible to know where to do the changes?


Create Launchpad project page and PPA repos

Having a daily built development PPA on Launchpad would ease testing of latest code. Adding a PPA is one of the easiest ways for users to access packages outside their distros and lowering this barrier as much as possible can help attract more testers.
Also, a built-on-request stable package PPA would ease installation for less savvy users under Ubuntu. Read more on why.
The way to accomplish this is using Launchpad's "packaging recipes" and code imports from the appropiate branches at Github.
DNSCrypt's Launchpad page is already set up at:
https://launchpad.net/dnscrypt-proxy
Currently imported code branch is at:
https://code.launchpad.net/~dnscrypt-proxy/dnscrypt-proxy/master
However, code import is failing because of submodules present in commit logs. Couldn't submodules be removed from history now that they are no longer present? I know that in a perfect world no one should modify history, but it's a fair tradeoff, IMO. It also would encompass some advanced git-fu, if even possible as suggested here.
This issue is opened to track the process and get visibility for the effort. If you are interested, join the dnscrypt-team on LP. See LP "needs-packaging" bug at https://bugs.launchpad.net/ubuntu/+bug/1092673 .
Other dnscrypt pages on LP:
https://launchpad.net/~xuzhen666/+archive/dnscrypt
https://launchpad.net/~shnatsel/+archive/dnscrypt
(report any other you know of to add it)

What is the currently recommended PPA? The only one supporting Ubuntu 15.04 appears to be https://launchpad.net/~xuzhen666/+archive/dnscrypt , but I am only seeing @Shnatsel's PPA recommended.

I have a "really right and proper this time" update in the works which should automatically switch to local DNS on start and switch back to regular dns on stopping dnscrypt service, without the need to enter the local address in networkmanager manually. Unfortunately I'm currently busy with other things, and likely will remain that way for serveral more months.
I have to admit I've dropped the ball pretty hard on PPA maintenance. Other people are of course welcome to step up and provide packages. To clarify, I've never uploaded anything to the official-ish https://launchpad.net/~dnscrypt-proxy PPAs. Furthermore, ~xuzhen666 has access to it already in case he needs it.


How do I trigger regeneration?

If I have a process running in the nginx-proxy container, how can I trigger docker-gen to regenerate the templates if it is using the -watch flag? Is there a command to touch the docker configuration that I'm not aware of?
The reason I want to do this is because I have updated the certificates in nginx-proxy and I want to regenerate the configuration with those files present.

I don't think this is currently possible. I think it would be cool if this were possible by sending a SIGHUP to docker-gen.

A workaround it to run docker-gen again with the same parameters minus the -watch.


Select Items/Lists in Drawer Menu

Add a dropdown/picker for selecting items/lists: Include:

All
None
Attributes on lists and items

This menu item should only be visible when select items (switch) is active).

commit: https://github.com/johneastman/todo/commit/bf76b63df8bd4951d7aa923a370c1189383d3c47


How to pass model into TimeDistributed layer ? (or convert model to layer?)

Here's I tried to pass model into TD layer
enc_outputs = TimeDistributed(sample_encoder(inputs=[inputs, enc_padding_mask]))  # sample_encoder - is model
And I get this error:
ValueError: Please initialize TimeDistributed layer with a tf.keras.layers.Layer instance. You passed: KerasTensor(type_spec=TensorSpec(shape=(None, None, 128), dtype=tf.float32, name=None), name='sample_encoder/encoder_layer_1/layer_normalization_3/batchnorm/add_1:0', description="created by layer 'sample_encoder'")

related to this issue
https://github.com/keras-team/keras/issues/15515

@tempdeltavalue
In order to expedite the trouble-shooting process, please provide a code snippet to reproduce the issue reported here. Thanks!

@sushreebarsa
Hi.🍏
Is colab convinent for you ?
https://colab.research.google.com/drive/1X6zuidDqZqf4xM5YBEygPlyy6KVJwYC1?usp=sharing

@tempdeltavalue Thank you for the update!
@gowthamkpr I was able to replicate the issue on colab , please find the gist  here.Thanks!

@sushreebarsa @gowthamkpr
Hi ✋
Any updates?

@tempdeltavalue, have you tried implementing a custom keras layer using this guide - https://keras.io/guides/making_new_layers_and_models_via_subclassing/ . you can call the model in call(). All the operations in call should be differentiable.

@tempdeltavalue I see that you are passing the outputs(kerasTensor) of a model to TimeDistributed layer. you can pass the model to the TimeDistributed layer directly and try it out.

@divyashreepathihalli Hmmm.. not sure what I'm get you
I'm passing to TD layer
TimeDistributed(sample_encoder)
where is sample_encoder is
tf.keras.Model(inputs=[inputs, padding_mask],
outputs=outputs,
name=name)

@divyashreepathihalli soo, any suggestions how to do that ?

@tempdeltavalue, I dont see this error anymore in the colab script -
NotImplementedError: Exception encountered when calling layer "time_distributed" (type TimeDistributed). Please run in eager mode or implement the compute_output_shape method on your layer (TFOpLambda).
Regarding the "notImplementedError" that I now see on your colab, here is another thread - https://github.com/keras-team/keras/issues/16656

@divyashreepathihalli 🤔
I'll check it in some "future"
Thank you )


ConnectableObservable & publish typings are wrong

Bug Report
Current Behavior
Typings for connectableObservable when using publish are wrong
Reproduction

REPL or Repo link:
https://stackblitz.com/edit/rxjs-nsj1hs?file=index.ts

import { of, ConnectableObservable,timer } from 'rxjs';
import { map, publish } from 'rxjs/operators';

const stall$: ConnectableObservable<number> = timer(100).pipe(publish());
stall$.connect();

There is a TS error on declaration of stall$
Expected behavior
Should infer the type w/o annotating. If I do chose to annotate, no type error should occur.

I think it's a duplicate of #2972

Closing as dupe as commented.

Closing as dupe as commented.


webpack-dev-server v4 config updated

#20
Updated webpack-dev-server config options, from v3 to v4 config options

LGTM 👍


Add ability to immediately complete current flight

In an application I'm working on, I need the ability to immediately finish a flight in progress and just jump to the end.  We already have a cancelFlight to cancel an in-progress flight, so completeFlight makes sense here as well.

This issue should be closed, as the feature has since been added.


Fixed #30904 -- Doc'd caveat about using filtered queryset with select_for_update() on MySQL.

ticket 30904

@saad-alsaad Thanks for this patch :+1: I pushed small rewording.
Welcome aboard :boat:


issue with bot for slack.

I follow the steps to set up slack channel. and I had bot join the slack channel as well.
However, when i tried to talk to bot. It message me back "Unauthorized".....
I am sure the secret is correct. anyone knows why?

Did you follow all the instructions? It worked yesterday for me.
The only think that didn´t worked was to get a Api Token from the application so that the Bot couldn´t connect to my server.

Yes, I followed all the instructions. and done it three times.
I can't sure which step I did wrong.

create an app in slack. with Redirect Url.
add bot User
get client id & Secret paste into "MyBot Slack Channel configuration"
save

After you pasted in the Client Id and Client Secret, did you clicked on the button under the input boxes? The button should be named "Autorize" or similar

does it work in the test panel ?
Try pointing the emulator at your deployed url to validate that it is the right url and right appid/appsecret.
Then make sure that the portal has same url with same appid/appsecret
Also note that the url needs to be HTTPS if you have basic auth turned on (if it is HTTP we don't send the appId/AppSecret because it would be in the clear, which means you need to disable basic auth if you are going to use HTTP)

It Works.
the reason cause my problem is I Use http not https. Once I Change to Https://......
Everything is working.
Thanks for Help


python312Packages.influxdb3-python: add optional-dependencies

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 356094

x86_64-linux

:white_check_mark: 4 packages built:

python311Packages.influxdb3-python
python311Packages.influxdb3-python.dist
python312Packages.influxdb3-python
python312Packages.influxdb3-python.dist


Changed from "elm" to "Elm"

The page title says "Elm" and also the rest of the page says "Elm" so I was wondering why on this place it is written "elm".

Typesetting. In logo form I use elm because it looks more balanced, but in written stuff, it needs to be capitalized.


Hashing of properties or resources

In #1003, the idea was raised of providing a hash so that users could verify incoming and outgoing data for Data Curator.
While we used custom key/value pairs to attempt to overrcome some of the issues raised there, the idea of a hash seems worthy of consideration for other use cases.

Came here to say this as well ... preserving a hash of the original data would be beneficial in my use case.
Often I have a desire to be able to have reassurance that data is exactly as received from a data custodian. The amounts of time I've seen people open a CSV in say Excel and see undesired coercion and that then saved is too high!
I also think the option to lock the data so it can't be edited within DC would be beneficial as well (happy to create another issue if you would prefer) + potentially having password protected locks in place for both the schema and data would be useful. Beyond this, having a place when you can verify that data has been checked against the schema and QAd would be potentially of use as well (I can extend on this is you are interested / feel what I've suggested is a bit vague).
I would like to think I could get custodians to start using DC, but realistically, I want to look at potentially receiving data + adding it to a DC project and then disseminating data as a zipped DC repo (then educating people on the receiving end).


Resynchronization

muon is awesome, but the one thing it is lacking versus line-by-line json is ability to seek around randomly in the stream.
the jsonl separator \n is hard to beat, but support for raw data makes that impossible.
I have found the AVRO strategy of picking a random 16-byte delimiter is nice.
I think some byte (maybe 0xf0) should indicate a delimiter follows.  the first time will define the delimiter (which is chosen randomly); subsequent times should just be validated.

Please check out chaining: https://github.com/vshymanskyy/muon/tree/master/docs#chaining
If that is not enough, please explain your use case and how delimiters could help. Thanks!

@davebenson how about using a list as a root object, and applying a 0x8B (size) tag to every element?
This will make any clashes with any randomly selected delimiter impossible.

I think having a random delimiter could be a good idea, however I think 16-byte delimiter is an overkill.
Maybe something like: 1 tag byte + 6x payload bytes + 1 byte checksum.

It might be a good idea to also allocate 1 byte for the counter (increases with each delimiter). In this case:
tag (1B) + random (5B) + counter (1B) + checksum (1B)

@davebenson please provide some real-world use cases or elaborate on the motivation of this request.
Currently, muon objects can be concatenated as-is so Muon doesn't need any additional separators (i.e. JSONL is an extension of JSON, but Muon doesn't need any separators).
Also, you can reuse Muon magic or padding tags to have some kind of separator.

Here is an idea for supporting random delimiters without actually having to change the current format. Not sure if that is actually something to worry about (it's not like there are a ton of muon parsers out there that would break, nor that muon is considered a stable format yet), but it might help to keep the core format itself smaller.
Let's assume that we're using the chaining approach suggested in the docs for concatenating muon objects.
The main idea would be to encode the delimiter in one or more valid muon objects. Then one can inject this (sequence of) object(s) as the delimiter between the muon objects we actually care about during concatenation. A parser that knows we are using this approach could avoid allocating the delimiter objects, improving performance. Otherwise they would have to be removed after parsing. Since we're creating a list, that would mean removing every other entry.
To signal that we're using delimiter objects we could do something similar to JavaScript's "use strict"; approach. If the first item of a chained list is a magic string - e.g. "seekable"or "resynchronizable" (eight or sixteen bytes + zero terminator, respectively), it implies we are using delimiters. If we want the delimiters to stay user-definable we could say the second object then determines what the object is (but that would be incompatible with @vshymansky's idea of adding a counter to it).
Next question: which object would be most suitable for this?

Hidden: boring analysis of typed arrays, base-64 strings and LEB128 encoded values, before I realized all of which them are utterly inferior to using one or two U64 values
First, we could try a typed array. Doing so would add a storage overhead of three bytes - 84, B4, XX where the last byte is the length of the array (eight, sixteen, whatever we settle on). A significant downside would be that Typed Array allocation is both really, really slow in JavaScript, and has a relatively high memory overhead (in the order of 200 bytes), so using this object type would likely have a negative impact on performance on the parsing end when not discarding delimiters. Based on that I would advise against using them for this purpose.
One could store the separator as a base64-encoded string. That would increase the size by 1/3 since it encodes only six bits per byte, plus a final zero-terminator byte. Rounding up encoding 16 bytes would take up 23 bytes this way, and 8 bytes would take 12. A bit bigger, but on the other hand string creation and memory overhead are both a lot more optimized in JS engines.
Another option is LEB128 encoding (or whatever varint encoding Muon will settle on - see #8). That would imply an overhead of 0xBB for the start, followed by seven bits per byte - encoding 16 bytes this way would take up 20 bytes, 8 bytes would take up 11 - almost as good as typed arrays! In JavaScript this would imply creating BigInts, for which I do not know where they stand in terms of memory overhead/performance. Given that they're supposed to be used for calculations (meaning they change a lot) one would hope that at least some effort has been put into optimizing them though.

The most efficient option is to use 0xB7 followed by eight bytes. It's the cheapest in terms of added storage overhead (from 8 bytes to 10 bytes, from 16 bytes to 18 bytes), and BigInts in JavaScript should be relatively cheap to create, so that shouldn't add too much overhead when dealing with parsers oblivious to this protocol. The only slightly tricky thing is that in that case, when filtering out the delimiters afterwards, the 16-bytes option would require skipping two delimiter objects for each "real" object in our list.
Again, just some thoughts on how to support this with relatively low complexity without actually having to change the Muon format.

i'm not opposed to adding a specialized tag for this. we have more than enough unallocated markers. just need to understand the rationale

@davebenson waiting for your inputs here

I think it's probably fine to not implement this stuff in core muon.
Probably searching, indexing, and resynchronization are beyond the core
standard.
(JSONL isn't really an extension of JSON; it's a way of framing (aka
packetizing) json that provides certain conveniences that raw concatenated
json doesn't have.  Assuming that your stream is objects and arrays, JSON
doesn't need end-of-record delimiters either)
But, JSONL is binary-searchable -- assuming the lines are sorted.  And
files can be broken apart without reading the whole file - which is
important if you want to get parallelism in processing a single file.  And
it is resynchronizable as well, meaning that you can seek midway into a
huge file, and also that corrupt entries can be skipped.
On Fri, Aug 19, 2022 at 5:15 AM Volodymyr Shymanskyy <
@.***> wrote:

@davebenson https://github.com/davebenson waiting for your inputs here
—
Reply to this email directly, view it on GitHub
https://github.com/vshymanskyy/muon/issues/18#issuecomment-1220605454,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACNSBSF64GG26ABCM7ZW63VZ53H7ANCNFSM55U3VHCQ
.
You are receiving this because you were mentioned.Message ID:
@.***>