cammount on Mac OS X doesn't seem to work (?)

Current git version (as of yesterday or so)... works fine on Linux, but Mac OS X, with FUSE 3.4.0 it runs, spits out "help" and just sits there... no files visible.
./bin/cammount ~/test_mount                                                                                  master
2016/07/11 09:49:54 mount helper error:
2016/07/11 09:49:54 mount helper error: Available mount options:
2016/07/11 09:49:54 mount helper error:     -o allow_other         allow access to others besides the user who mounted
2016/07/11 09:49:54 mount helper error:                            the file system
2016/07/11 09:49:54 mount helper error:     -o allow_recursion     allow a mount point that itself resides on a OSXFUSE
2016/07/11 09:49:54 mount helper error:                            volume (by default, such mounting is disallowed)
2016/07/11 09:49:54 mount helper error:     -o allow_root          allow access to root (can't be used with allow_other)
2016/07/11 09:49:54 mount helper error:     -o auto_xattr          handle extended attributes entirely through ._ files
2016/07/11 09:49:54 mount helper error:     -o blocksize=    specify block size in bytes of "storage"
2016/07/11 09:49:54 mount helper error:     -o daemon_timeout=  timeout in seconds for kernel calls to daemon
2016/07/11 09:49:54 mount helper error:     -o debug               turn on debug information printing
2016/07/11 09:49:54 mount helper error:     -o default_permissions let the kernel handle permission checks locally
2016/07/11 09:49:54 mount helper error:     -o defer_permissions   defer permission checks to file operations themselves
2016/07/11 09:49:54 mount helper error:     -o direct_io           use alternative (direct) path for kernel-user I/O
2016/07/11 09:49:54 mount helper error:     -o extended_security   turn on macOS extended security (ACLs)
2016/07/11 09:49:54 mount helper error:     -o fsid=         set the second 32-bit component of the fsid
2016/07/11 09:49:54 mount helper error:     -o fsname=       set the file system's name
2016/07/11 09:49:54 mount helper error:     -o fssubtype=     set the file system's fssubtype identifier
2016/07/11 09:49:54 mount helper error:     -o fstypename=   set the file system's type name
2016/07/11 09:49:54 mount helper error:     -o iosize=       specify maximum I/O size in bytes
2016/07/11 09:49:54 mount helper error:     -o jail_symlinks       contain symbolic links within the mount
2016/07/11 09:49:54 mount helper error:     -o local               mark the volume as "local" (default is "nonlocal")
2016/07/11 09:49:54 mount helper error:     -o negative_vncache    enable vnode name caching of non-existent objects
2016/07/11 09:49:54 mount helper error:     -o sparse              enable support for sparse files
2016/07/11 09:49:54 mount helper error:     -o volname=      set the file system's volume name
2016/07/11 09:49:54 mount helper error:
2016/07/11 09:49:54 mount helper error: Available negative mount options:
2016/07/11 09:49:54 mount helper error:     -o noalerts            disable all graphical alerts (if any) in OSXFUSE Core
2016/07/11 09:49:54 mount helper error:     -o noappledouble       ignore Apple Double (._) and .DS_Store files entirely
2016/07/11 09:49:54 mount helper error:     -o noapplexattr        ignore all "com.apple.*" extended attributes
2016/07/11 09:49:54 mount helper error:     -o nobrowse            mark the volume as non-browsable by the Finder
2016/07/11 09:49:54 mount helper error:     -o nolocalcaches       meta option equivalent to noreadahead,noubc,novncache
2016/07/11 09:49:54 mount helper error:     -o noreadahead         disable I/O read-ahead behavior for this file system
2016/07/11 09:49:54 mount helper error:     -o nosynconclose       disable sync-on-close behavior (enabled by default)
2016/07/11 09:49:54 mount helper error:     -o nosyncwrites        disable synchronous-writes behavior (dangerous)
2016/07/11 09:49:54 mount helper error:     -o noubc               disable the unified buffer cache for this file system
2016/07/11 09:49:54 mount helper error:     -o novncache           disable the vnode name cache for this file system

@edrex @saljam @willnorris or anyone else with a mac, could you confirm/reproduce please?

@mpl I got this not using latest (b4af9400a22cbf6bde8424cf952ebad87393f669)
Using OSX FUSE 3.4.0.
cp at Chriss-MacBook-Pro in ~/src/camlistore/bin (master)
$ ./cammount ~/camlistore
2016/07/15 15:10:07 mount helper error:
2016/07/15 15:10:07 mount helper error: Available mount options:
2016/07/15 15:10:07 mount helper error:     -o allow_other         allow access to others besides the user who mounted
2016/07/15 15:10:07 mount helper error:                            the file system
2016/07/15 15:10:07 mount helper error:     -o allow_recursion     allow a mount point that itself resides on a OSXFUSE
2016/07/15 15:10:07 mount helper error:                            volume (by default, such mounting is disallowed)
2016/07/15 15:10:07 mount helper error:     -o allow_root          allow access to root (can't be used with allow_other)
2016/07/15 15:10:07 mount helper error:     -o auto_xattr          handle extended attributes entirely through ._ files
2016/07/15 15:10:07 mount helper error:     -o blocksize=    specify block size in bytes of "storage"
2016/07/15 15:10:07 mount helper error:     -o daemon_timeout=  timeout in seconds for kernel calls to daemon
2016/07/15 15:10:07 mount helper error:     -o debug               turn on debug information printing
2016/07/15 15:10:07 mount helper error:     -o default_permissions let the kernel handle permission checks locally
2016/07/15 15:10:07 mount helper error:     -o defer_permissions   defer permission checks to file operations themselves
2016/07/15 15:10:07 mount helper error:     -o direct_io           use alternative (direct) path for kernel-user I/O
2016/07/15 15:10:07 mount helper error:     -o extended_security   turn on macOS extended security (ACLs)
2016/07/15 15:10:07 mount helper error:     -o fsid=         set the second 32-bit component of the fsid
2016/07/15 15:10:07 mount helper error:     -o fsname=       set the file system's name
2016/07/15 15:10:07 mount helper error:     -o fssubtype=     set the file system's fssubtype identifier
2016/07/15 15:10:07 mount helper error:     -o fstypename=   set the file system's type name
2016/07/15 15:10:07 mount helper error:     -o iosize=       specify maximum I/O size in bytes
2016/07/15 15:10:07 mount helper error:     -o jail_symlinks       contain symbolic links within the mount
2016/07/15 15:10:07 mount helper error:     -o local               mark the volume as "local" (default is "nonlocal")
2016/07/15 15:10:07 mount helper error:     -o negative_vncache    enable vnode name caching of non-existent objects
2016/07/15 15:10:07 mount helper error:     -o sparse              enable support for sparse files
2016/07/15 15:10:07 mount helper error:     -o volname=      set the file system's volume name
2016/07/15 15:10:07 mount helper error:
2016/07/15 15:10:07 mount helper error: Available negative mount options:
2016/07/15 15:10:07 mount helper error:     -o noalerts            disable all graphical alerts (if any) in OSXFUSE Core
2016/07/15 15:10:07 mount helper error:     -o noappledouble       ignore Apple Double (._) and .DS_Store files entirely
2016/07/15 15:10:07 mount helper error:     -o noapplexattr        ignore all "com.apple.*" extended attributes
2016/07/15 15:10:07 mount helper error:     -o nobrowse            mark the volume as non-browsable by the Finder
2016/07/15 15:10:07 mount helper error:     -o nolocalcaches       meta option equivalent to noreadahead,noubc,novncache
2016/07/15 15:10:07 mount helper error:     -o noreadahead         disable I/O read-ahead behavior for this file system
2016/07/15 15:10:07 mount helper error:     -o nosynconclose       disable sync-on-close behavior (enabled by default)
2016/07/15 15:10:07 mount helper error:     -o nosyncwrites        disable synchronous-writes behavior (dangerous)
2016/07/15 15:10:07 mount helper error:     -o noubc               disable the unified buffer cache for this file system
2016/07/15 15:10:07 mount helper error:     -o novncache           disable the vnode name cache for this file system

Here's a shot in the dark: https://camlistore-review.googlesource.com/6909
Can you guys try that CL out and let me know if it fixes things for you please?
If anything, it looks like upgrading at least to https://github.com/bazil/fuse/commit/19db53613b8c45efbfe49d0fd6205077332915d0 is needed anyway.

That seems to work for me... I have FUSE 3.4.0 loaded and after this patch and a recompile, it mounts!
Thanks!

@bdillahu thanks


Use convention over configuration for object archetype icons

When loading an icon for an object archetype, follow the following sequence:

Look for it in profile_name/icons/icons.xml.
If not found, search for a class_name.png in profile_name/icons
If not found, search for a class_name.png in resources/icons/archetypes
If not found, use default icon

In this way, there is no need to declare obvious icons like "paragraph.png" for paragraph objects.

Both archetypes and documents (acronym related) icons are now loaded following the sequence:

Look for the key in icons.xml (profile and app loaded icons).
If not found, search for a class_name.png in profile_name/icons
If not found, default icon is used

Searching in resources/icons/archetypes was discarded because storing archetype information outside the profile is not recomended. Eventhough, app icons directory could still store archetype icons if they are configured in the app icons.xml.


chore:s3 static content for prod

Description

s3 static content for prod

Testing required outside of automated testing?

[x] Not Applicable

Screenshots (if appropriate):

[x] Not Applicable

Rollback / Rollforward Procedure

[ ] Roll Forward
[x] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Unittest tolerance handling improvements

Description
This PR moves to consolidate and standardize the way our data comparison routines in test_utils.py handle tolerances.  Over time, the number of these routines has grown and the approaches have diverged.  For example, two of the most frequently used routines are:
def assert_almost_equal(a, b, rtol=None, atol=None, …):
    rtol = get_rtol(rtol)
    atol = get_atol(atol)
    ….

and
def check_consistency(sym, …,  tol=None, … ):
    if tol is None:
        tol = {np.dtype(np.float16): 1e-1,
               np.dtype(np.float32): 1e-3,
               np.dtype(np.float64): 1e-5,
               …}
…

As show, assert_almost_equal() offers separate arguments for specifying relative and absolute tolerances (by default rtol, atol = 1e-5, 1e-20), but these do not vary with dtype.  In contrast, check_consistency() only has one tol argument, which it uses for both atol and rtol, but the tol default is dtype-dependent.
This PR unifies these approaches by having both check_consistency() and assert_almost_equal() support rtol and atol, drawing upon the same set of dtype-dependent defaults.  The goal here is for the testing framework to make sensible tolerance choices for our unittest data comparisons when possible, rather than burden each test developer to do so.  In effect, this PR addresses the current codebase TODO in test_utils.py:
def get_rtol(rtol=None):
    """Get default numerical threshold for regression test."""
    # _TODO: get from env variable, different threshold might
    # be needed for different device and dtype
    return 1e-5 if rtol is None else rtol

While I believe setting tolerances via env var is not appropriate, test tolerances should be a function of the dtype and device (i.e. context).  A first application for this concept is in support for the newly announced A100 GPU with its TensorFloat-32 (TF32) mode of computation.  The A100 will by default round the mantissa of float32 GEMM and Convolution inputs to a float16 precision.  Therefore, although operator i/o’s might be float32, the “effective dtype” for the purposes of tolerance selection is float16.  By consolidating the tolerance handling logic, this PR can now easily incorporate an effective_dtype(dat) routine based on context, so that unittests can run 32-bit models and seamlessly apply the appropriate tolerances for each context, be it A100 or non-A100.
This PR was developed on an in-house CI system that runs on many GPU architectures, including the A100.  As part of the PR development, some unittests were modified so that now all tests pass on the A100.  These tests had typically explicitly hard-coded a tolerance appropriate for a float32 test.  The modification for those tests involved dropping the fixed tolerance, allowing this PR’s adaptive context- and dtype-dependent tolerance selection logic to take over.
Thanks to @Kh4L for supplying the GEMM-flag adaptations for TF32 that are part of this PR.
Thanks also to @drivanov for his prior efforts to adapt assert_almost_equal() to work directly on ndarrays, thereby enabling context-dependent default tolerance selection.
@ptrendx @eric-haibin-lin @marcoabreu
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[X ] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[ X] Changes are complete (i.e. I finished coding on this PR)
[ X] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[ X] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at https://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[X ] To the best of my knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[ ] Feature1, tests, (and when applicable, API doc)
[ ] Feature2, tests, (and when applicable, API doc)

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

@DickJC123 thanks for the change and for fixing the issues you found along the way. Remember to mark the issues this PR resolve in the description.

Thanks for the fixes, @DickJC123. They are really helpful. I did a code review and examined the analysis included in each of them as well as the specific fixes.

Thanks @szha!  You probably saw that I've been struggling to get a passing CI- running into and fixing many issues along the way.


End of the one channel gateways ?

Hi,
I'm searching for the solution why my gateway is not working.
I came across this article from the things industries
https://www.thethingsnetwork.org/forum/t/single-channel-packet-forwarders-scpf-are-deprecated-and-not-supported/31117
Can someone elaborate a little more about this matter that scpf are not supported anymore.
With kind regards,
Peter

Of course dont work :( Its very sad

I can see this article is of 2019, and it worked somehow till 2021 :)
but current version of master branch of this repository does not work form me with ttn v3

Weather or not is appears to work to even the slightest extent is irrelevant, even trying to connect these to TTN is explicitly prohibited.

I am not 100% in the LoRaWAN spec but would it be possible to mimic to TTN-Server 100% compliant Nodes while in the backend sensor nodes could be anything, even raw Lora or anything else as long as you have the right receivermodule for it. I mean the whole back and forth communication from TTN through the gateway to the node should end in the gateway. If TTN sends some requests from the sensor the gateway should send the data TTN expects. The gateway manages my local nodes with keys, IDs, Join and anything else what TTN uses. This is mapped to my local sensors that can be anything.

would it be possible to mimic to TTN-Server 100% compliant Nodes while in the backend sensor nodes could be anything

Possibility would be irrelevant - doing so is a violation of TTN's terms of use.
TTN is a public LoRaWAN network, if you want to do something that is not LoRaWAN, you have to run your own servers to handle your unique traffic.  The public server instances exist only to support proper LoRaWAN traffic from the user community.


Prevent Django ManyToManyField from being imported through sortedm2m

At my workplace, we recently uncovered a bug (in our codebase) where we had defined a field in models.py as a SortedManyToManyField but created it in the migration as a ManyToManyField (i.e. an unsorted django.db.models.fields.related.ManyToManyField), which was inadvertently imported through sortedm2m with the following statement:
from sortedm2m.fields import ManyToManyField
The author clearly meant to use a SortedManyToManyField in the migration - since that would match the model field, and they were importing from sortedm2m - but through IDE autocomplete or simple human error, they imported the ManyToManyField.
This small change would prevent others making the same error.

Sweet catch and very nice that you thought of giving this back to the community! Thanks for your efforts here.


Cardinality aggregator throws ClassCastException in GroupBy query when queried from realtime node

When doing the following query on realtime node:
{
  "queryType": "groupBy",
  "dataSource": "events",
  "granularity": "all",
  "dimensions": ["site"],
  "aggregations": [
    {"type": "count", "fieldName": "userId", "name": "Events"},
    {"type": "cardinality", "fieldNames": ["userId"], "name": "Unique Users", "byRow": true}
  ],
  "intervals": ["2015-03-01T00:00/2015-04-01T00"]
}

Druid returns:
{ "error" : "java.lang.Double cannot be cast to io.druid.query.aggregation.hyperloglog.HyperLogLogCollector"}

Following exception can be found from realtime node's log:
java.lang.ClassCastException: java.lang.Double cannot be cast to io.druid.query.aggregation.hyperloglog.HyperLogLogCollector
	at io.druid.query.aggregation.hyperloglog.HyperUniquesAggregator.aggregate(HyperUniquesAggregator.java:46) ~[druid-processing-0.7.0.jar:0.7.0]
	at io.druid.segment.incremental.OnheapIncrementalIndex.addToFacts(OnheapIncrementalIndex.java:169) ~[druid-processing-0.7.0.jar:0.7.0]
	at io.druid.segment.incremental.IncrementalIndex.add(IncrementalIndex.java:431) ~[druid-processing-0.7.0.jar:0.7.0]
	at io.druid.query.groupby.GroupByQueryHelper$3.accumulate(GroupByQueryHelper.java:112) ~[druid-processing-0.7.0.jar:0.7.0]
	at io.druid.query.groupby.GroupByQueryHelper$3.accumulate(GroupByQueryHelper.java:104) ~[druid-processing-0.7.0.jar:0.7.0]
	at com.metamx.common.guava.MappingAccumulator.accumulate(MappingAccumulator.java:39) ~[java-util-0.26.14.jar:?]
	at com.metamx.common.guava.YieldingAccumulators$1.accumulate(YieldingAccumulators.java:32) ~[java-util-0.26.14.jar:?]
	at com.metamx.common.guava.BaseSequence.makeYielder(BaseSequence.java:104) ~[java-util-0.26.14.jar:?]
	at com.metamx.common.guava.BaseSequence.toYielder(BaseSequence.java:81) ~[java-util-0.26.14.jar:?]
	at com.metamx.common.guava.ResourceClosingSequence.toYielder(ResourceClosingSequence.java:41) ~[java-util-0.26.14.jar:?]
	at com.metamx.common.guava.YieldingSequenceBase.accumulate(YieldingSequenceBase.java:34) ~[java-util-0.26.14.jar:?]
	at com.metamx.common.guava.MappedSequence.accumulate(MappedSequence.java:40) ~[java-util-0.26.14.jar:?]
	at io.druid.query.GroupByParallelQueryRunner$1$1.call(GroupByParallelQueryRunner.java:115) ~[druid-processing-0.7.0.jar:0.7.0]
	at io.druid.query.GroupByParallelQueryRunner$1$1.call(GroupByParallelQueryRunner.java:106) ~[druid-processing-0.7.0.jar:0.7.0]
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) ~[?:1.7.0_25]
	at java.util.concurrent.FutureTask.run(FutureTask.java:166) ~[?:1.7.0_25]
	at io.druid.query.PrioritizedExecutorService$PrioritizedListenableFutureTask.run(PrioritizedExecutorService.java:202) ~[druid-processing-0.7.0.jar:0.7.0]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~[?:1.7.0_25]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~[?:1.7.0_25]
	at java.lang.Thread.run(Thread.java:724) [?:1.7.0_25]

The userId dimension is in format:<PHONE_NUMBER>12345678.
If the queryType is changed from groupBy to timeseries, the query is successful. If the query is made via broker node, the query is successful. Using Druid 0.7.0.

Semi-related issue: https://github.com/druid-io/druid/issues/1045
Can you share what the ingestion spec looks like with regards to dimensions and metrics which are in the query?

Also please include what version you are running in the issue description.

Sure. See the ingestor spec below. I edited the original issue description and bumped the version to the top to make it more visible.
[
  {
    "dataSchema" : {
      "dataSource" : "events",
      "parser" : {
        "type" : "string",
        "parseSpec" : {
          "type" : "tsv",
          "delimiter":"\t",
          "timestampSpec" : {
            "column" : "ts",
            "format" : "millis"
          },
          "columns" : ["userId", "cc", "site", "stream", "itemId", "format", "ts"],
          "dimensionsSpec" : {
            "dimensions": ["userId", "cc", "site", "stream", "itemId", "format", "ts"],
            "dimensionExclusions" : [],
            "spatialDimensions" : []
          }
        }
      },
      "metricsSpec" : [{
        "type" : "count",
        "name" : "count"
      }],
      "granularitySpec" : {
        "type" : "uniform",
        "segmentGranularity" : "minute",
        "queryGranularity" : "none"
      }
    },
    "ioConfig" : {
      "type" : "realtime",
      "firehose": {
        "type": "kafka-0.8",
        "consumerProps": {
          "zookeeper.connect": "{{ zookeeper_url }}:2181",
          "zookeeper.connection.timeout.ms" : "15000",
          "zookeeper.session.timeout.ms" : "15000",
          "zookeeper.sync.time.ms" : "5000",
          "group.id": "druid-ingestor",
          "fetch.message.max.bytes" : "1048586",
          "auto.offset.reset": "largest",
          "auto.commit.enable": "false"
        },
        "feed": "campaigns"
      },
      "plumber": {
        "type": "realtime"
      }
    },
    "tuningConfig": {
      "type" : "realtime",
      "maxRowsInMemory": 500000,
      "intermediatePersistPeriod": "PT10m",
      "windowPeriod": "PT60m",
      "basePersistDirectory": "/tmp/realtime/basePersist",
      "rejectionPolicy": {
        "type": "serverTime"
      }
    }
  }
]

@haadcode : Thanks, we are looking into this to try and make sure we understand why userId is showing up as a Double in IncrementalIndex

I believe the problem here is because the groupBy engine in 0.7.0 finalizes results when it really shouldn't have. Are you able to test against master?
The specific fix is https://github.com/druid-io/druid/pull/1044/files#diff-631de2c7bba9484c3ffd4a58b4cf691eR198 I believe

@haadcode this should have been fixed in the latest release, please reopen if this is still an issue


treewide: http -> https

more work on changing to TLS URLs

Is this automated? Because I just got something to work that could do this automatically, even for most urls in fetchurl and similar

@Infinisil Nope, I'm just manually going through the repology problems using https://github.com/samueldr/repology-autofixer problems.rb

Why does this rebuild 3 vim plugin packages according to ofborg?


"oops something went terribly wrong" even after reinstall

I have synctrazor installed on a laptop running the latest stable build of windows 10. Whenever I run synctrazor it crashes and tells me "oops something went terribly wrong". This problem still persists even after multiple reinstalls (done using BCUninstaller to make sure nothing is left behind in appdata, registry and the like). I also ran the windows integrity checker sfc /scannow for good measure but the problem still persists. The log file and a text file containing some more messages the app outputted have been attached.
out.txt
SyncTrayzor.log
I haven't had this problem on any of my other windows machines by the way, they are all running the latest version of synctrazor

this problem only started happening recently on my laptop, it used to work perfectly before on the laptop.

See #626 -- there's a fix linked there


Bug: Evaluating variable in two kernels of different sizes

This PR fixes a bug where jitc_eval  would crash when a variable is evaluated and used in two kernels of different sizes.
Here's a snippet that illustrates when this could occur:
import drjit as dr
from drjit.cuda import Float

a = dr.opaque(Float, 1)
b = Float([1, 2, 3])

c = a + 1 # c has size 1
d = b + c # d has size 3

dr.eval(d, c) # Two kernel launches (size 3 and 1)
print(c) # Crash here

During dr.eval(d, c)  both kernels execute as expected, and the scheduled variables for c and d  have the correct pointers to device memory. However, there is also an internal duplicate c of size 3 which is need to evaluate d.
When writing the device pointers back to the actual JIT variables the current code would sometimes (depending or kernel launch order) use the "duplicate" c rather than true c which has the correct size. This would effectively set the device pointer to nullptr for c and causes crashes whenever it's used later on.

Oops, this is likely a recent regression that I added. Sorry for making you debug this, the fix looks good to me.


Adapter doesn't start properly

Describe the bug
After start of the lg-thinq instance "Connected to device or service" goes in error state.
To Reproduce
Steps to reproduce the behavior:

Install Adapter / Instance
Fill Username and Password
Start Adapter
"Connected to host" and "Heartbeat" goes to green, "Connected to device or service" to red

Expected behavior
Adapter starts properly and connects to LG Cloud service.
Screenshots & Logfiles
Logs in debug mode:
lg-thinq.0 | 2023-04-12 21:52:54.449 | error | Error: connect ETIMEDOUT <IP_ADDRESS>:46030
lg-thinq.0 | 2023-04-12 21:50:43.735 | debug | de
lg-thinq.0 | 2023-04-12 21:50:43.720 | info | starting. Version 0.1.4 in /opt/iobroker/node_modules/iobroker.lg-thinq, node: v18.15.0, js-controller: 4.0.24
lg-thinq.0 | 2023-04-12 21:50:43.640 | debug | Plugin sentry destroyed because not initialized correctly
lg-thinq.0 | 2023-04-12 21:50:43.593 | debug | Plugin sentry Do not initialize Plugin (enabled=false)
lg-thinq.0 | 2023-04-12 21:50:43.513 | debug | States connected to redis: <IP_ADDRESS>:9000
lg-thinq.0 | 2023-04-12 21:50:43.453 | debug | States create User PubSub Client
lg-thinq.0 | 2023-04-12 21:50:43.452 | debug | States create System PubSub Client
lg-thinq.0 | 2023-04-12 21:50:43.439 | debug | Redis States: Use Redis connection: <IP_ADDRESS>:9000
lg-thinq.0 | 2023-04-12 21:50:43.422 | debug | Objects connected to redis: <IP_ADDRESS>:9001
lg-thinq.0 | 2023-04-12 21:50:43.420 | debug | Objects client initialize lua scripts
lg-thinq.0 | 2023-04-12 21:50:43.386 | debug | Objects create User PubSub Client
lg-thinq.0 | 2023-04-12 21:50:43.385 | debug | Objects create System PubSub Client
lg-thinq.0 | 2023-04-12 21:50:43.384 | debug | Objects client ready ... initialize now
lg-thinq.0 | 2023-04-12 21:50:43.361 | debug | Redis Objects: Use Redis connection: <IP_ADDRESS>:9001
Versions:

Adapter version: 0.1.4
JS-Controller version: 4.0.24
Node version: 18.15
Operating system: Ubuntu Server

The solution was too easy ;-) The tcp port was blocked on the firewall.


Speed up ser/deserialization of CheckResponse in envoy authz

Now CheckResponse is binary-encoded in protobuf wire format and stored
in DynamicMetadata as base64 string. This speeds up serialization, but
also deserialization (in metrics processor).
No changes in envoyfilter defition were needed as envoy's access logger passes
StringValue from dynamic meatadata as-is (previously, it was JSON-encoding a
StructValue into string)
Note: metrics processor still accepts JSON-encoding, so other SDKs should
continue working without changes.
Results
(Based on looking at pprof data)

createExtAuthzResponse went from total 18% to total 2.6% (from about 50% of
authz.Check to about 10%).
GetStruct went from total 6% to total 3% (from about 75% of
metricsprocessor.ConsumeLogs to about 40%)
total ~20% improvement
now agent's overhead is either comparable or slightly higher than istio
proxy's (before, it was noticably higher). (Note: istio proxy might also had
sped up as a result of this change due to not needing to serialize
protobuf.Struct in access logs, although I haven't measured this precisely)

Checklist

[x] Tested in playground or other setup

Partially addresses #880

This change is

This might (or perhaps not) require small tweaks in https://github.com/fluxninja/aperture/pull/816. Let's hold off merging until I check it.


Avoid partially hiding of chart tooltip near chart ends

Added new chart tooltip CSS classes to show tooltip without cutting near ends of the chart. This fixes #560.

What problem does this PR solve? The linked issue doesn't help a lot.

This PR solves the problem with hiding of part of chart tooltip if the data points are near to the for example top end of chart or window. The fist screenshot shows the problem, the second one shows how the tooltip will be rendered with changes from this PR.

Thank you for the clarification. While testing I found those issues:

Doesn't seem to work in Safari
.
The tooltip changes direction unexpectedly in some cases. Check this gif:
. There is enough room for the tooltip but it still flips which I think is unexpected.

Probably the issue is the boundary check function - it checks if the tooltip is within the chart wrapper element. I think a better implementation is to check for the screen boundaries. Already done by some components (check the openPopup function).

Thank you for testing. I will check and try to fix issues you found. Unfortunately only to check screen boundaries was not enough, in some situations a part of the chart is covered by other elements with higher z-order (header, footer etc.) and thus the chart tooltip can be covered by this elements too.

in some situations a part of the chart is covered by other elements with higher z-order (header, footer etc.) and thus the chart tooltip can be covered by this elements too.

This can't be always solved by flipping the direction alone. A 100% working solution would be to render the chart tooltip as RadzenTooltip which attaches at the <body> and overlays everything and has screen boundary detection as a built-in.

in some situations a part of the chart is covered by other elements with higher z-order (header, footer etc.) and thus the chart tooltip can be covered by this elements too.

This can't be always solved by flipping the direction alone. A 100% working solution would be to render the chart tooltip as RadzenTooltip which attaches at the <body> and overlays everything and has screen boundary detection as a built-in.

Good point, thank you. I would close this PR and try to reimplement the chart tooltip as RadzenTooltip and create a new PR later.
Should it be configurable whether to use RadzenTooltip instead of chart tooltip or should I simple replace current chart tooltip?

Hi @maxbruecken,
Replacing the chart tooltip with RadzenTooltip would be a big task so be prepared :)

The chart tooltip uses styling from the current series (to set the border to be of the same color).
RadzenTooltip relies on an ElementReference to open. The chart tooltip uses X and Y coordinates instead.

Should it be configurable whether to use RadzenTooltip instead of chart tooltip or should I simple replace current chart tooltip?

No as it would be very hard to explain why such an option even exists. However the current look and feel and behavior should be preserved as much as possible.


modelscope.cn上 非公开 模型/数据集 仓库存在“疑似越权漏洞” 的问题

Thanks for your error report and we appreciate it a lot.
Checklist

I have searched the tutorial on modelscope  doc-site
I have searched related issues but cannot get the expected help.
The bug has not been fixed in the latest version.

Describe the bug
找了modelscope所有代码仓库，没有看到modelscope.cn的issue区，所以只好提交到这里。希望对问题能够有所跟踪
步骤：
1.上传一个非公开模型或数据集
2.静待12-24小时
3.出现下载次数
过程中账号非共享，模型或数据集无外链。
以上 @yingdachen ，感谢跟踪解决问题！

私有模型下载计数的问题已经修复，可以验证一下。
目前唯一残留的一个不是非常自然的计数，是git push操作因为会自动涉及到和后端的交互，隐含一个pull，所以git push操作本身也会导致下载计数+1.

also i have removed all picture snapshot taken from chat history, since it does not appear to be  appropriate to share them here. thanks for your understanding

also i have removed all picture snapshot taken from chat history, since it does not appear to be appropriate to share them here. thanks for your understanding

yep, I completely understand. Please keep me upd with any news, thank u.

私有模型下载计数的问题已经修复，可以验证一下。 目前唯一残留的一个不是非常自然的计数，是git push操作因为会自动涉及到和后端的交互，隐含一个pull，所以git push操作本身也会导致下载计数+1. @okwinds

了解，我持续关注一下

please let us know if issue is resolved.

I uploaded the models okwinds/GPT-2 and the dataset okwinds/ptb_text_only for testing purposes yesterday.
Currently, okwinds/GPT-2 has been downloaded 4 times, and okwinds/ptb_text_only has been downloaded 3 times. Is this level of activity normal?

please let us know if issue is resolved.

I uploaded the models okwinds/GPT-2 and the dataset okwinds/ptb_text_only for testing purposes yesterday. Currently, okwinds/GPT-2 has been downloaded 4 times, and okwinds/ptb_text_only has been downloaded 3 times. Is this level of activity normal?

We have cross checked the access history of the aforementioned model and dataset, and things appear to check out:

model okwinds/GPT-2 was accessed via git four times in 11/27 evening
dataset  okwinds/ptb_text_only was accessed twice via git in 11/27 evening, and once via SDK once, also in 11/27 evening.

all accesses were authorized properly.

please let us know if issue is resolved.

I uploaded the models okwinds/GPT-2 and the dataset okwinds/ptb_text_only for testing purposes yesterday. Currently, okwinds/GPT-2 has been downloaded 4 times, and okwinds/ptb_text_only has been downloaded 3 times. Is this level of activity normal?

We have cross checked the access history of the aforementioned model and dataset, and things appear to check out:

model okwinds/GPT-2 was accessed via git four times in 11/27 evening
dataset  okwinds/ptb_text_only was accessed twice via git in 11/27 evening, and once via SDK once, also in 11/27 evening.

all accesses were authorized properly.

so,,
when uploading models and datasets using git push, does the characteristic of git lead to such counting in modelscope, right?
However, it seems that the number of model downloads (4 times) is one more than that of the datasets (3 times). Both are uploaded using git push.  Is this correct?
Thx ~

please let us know if issue is resolved.

I uploaded the models okwinds/GPT-2 and the dataset okwinds/ptb_text_only for testing purposes yesterday. Currently, okwinds/GPT-2 has been downloaded 4 times, and okwinds/ptb_text_only has been downloaded 3 times. Is this level of activity normal?

We have cross checked the access history of the aforementioned model and dataset, and things appear to check out:

model okwinds/GPT-2 was accessed via git four times in 11/27 evening
dataset  okwinds/ptb_text_only was accessed twice via git in 11/27 evening, and once via SDK once, also in 11/27 evening.

all accesses were authorized properly.

so,,
when uploading models and datasets using git push, does the characteristic of git lead to such counting in modelscope, right?
However, it seems that the number of model downloads (4 times) is one more than that of the datasets (3 times). Both are uploaded using git push. Is this correct?
Thx ~

yes. git push would lead to additonal pull-like behaviors, which would induce counting incrementation.
from what we can tell, the model has 4 git-related counting behavior and the dataset only has 2(another sdk download so total is 3).

please let us know if issue is resolved.

I uploaded the models okwinds/GPT-2 and the dataset okwinds/ptb_text_only for testing purposes yesterday. Currently, okwinds/GPT-2 has been downloaded 4 times, and okwinds/ptb_text_only has been downloaded 3 times. Is this level of activity normal?

We have cross checked the access history of the aforementioned model and dataset, and things appear to check out:

model okwinds/GPT-2 was accessed via git four times in 11/27 evening
dataset  okwinds/ptb_text_only was accessed twice via git in 11/27 evening, and once via SDK once, also in 11/27 evening.

all accesses were authorized properly.

so,,
when uploading models and datasets using git push, does the characteristic of git lead to such counting in modelscope, right?
However, it seems that the number of model downloads (4 times) is one more than that of the datasets (3 times). Both are uploaded using git push. Is this correct?
Thx ~

yes. git push would lead to additonal pull-like behaviors, which would induce counting incrementation.
from what we can tell, the model has 4 git-related counting behavior and the dataset only has 2(another sdk download so total is 3).

THX !


[ISSUE] CRITICAL:root:twint.run:Twint:Feed:noData'globalObjects' error on tweet id's

I have a data contained only tweet id's without any user information. I want to scap the tweets by their id. However, I got this error: CRITICAL:root:twint.run:Twint:Feed:noData'globalObjects'
Moreover, I'm using python 3.6.5 and when I try to search an experimental scrapping it works.
I've tried to execute following codes:
c = twint.Config()
c.Custom["tweet"] = ["id"]
c.Store_object = True
c.Pandas = True
c.output = name
twint.run.Search(c)
s = twint.Config()
s.Format = "ID {id}"
twint.run.Search(s)
However I still received the error.
I'm using Google Colab with MacOS.
Thanks in advance for all your help :)

Are you able to repeat the error in other environments as well? I have seen this error in VS Code and saw no support for the issue.


Error on Reload When Changing Template Code

Description
I am currently working on a project to evaluate the Vite plugin for server-side rendering (vite-plugin-ssr) and to learn how it works.
I have created a simple application using route functions, Pinia, and Express.
However, I have encountered a problem where changing something in a Vue-Component (e.g. +Page) in the index directory causes unexpected behavior.
To reproduce the issue, follow these steps:

Open the +Page in the index directory.
Add the following HTML snippet to the <template> section:
To-do List

Refresh the browser.
Check the console for any unexpected output.

But if you stop the server and start the server it works without any problems.
I have created a sample repository that reproduces the issue, which can be found at https://github.com/SquirrelCoder/vps-error-repo.
Stack Trace
useClientRouter.js?v=3c7e9834:131 Error<EMAIL_ADDRESS>Usage] /pages/index/+Page.vue should only have a default export: remove `export { _rerender_only }`
    at createErrorWithCleanStackTrace (createErrorWithCleanStackTrace.js?v=3c7e9834:8:15)
    at assertUsage (assert.js?v=3c7e9834:51:24)
    at assertSingleDefaultExport (assertDefaultExport.js?v=3c7e9834:37:13)
    at assertDefaultExportUnknown (assertDefaultExport.js?v=3c7e9834:10:5)
    at loadPageCode.js?v=3c7e9834:16:17
    at Array.forEach (<anonymous>)
    at loadPageCode (loadPageCode.js?v=3c7e9834:10:22)
    at async Promise.all (:3000/index 0)
    at async loadPageFilesClientSide (loadPageFilesClientSide.js?v=3c7e9834:13:24)
    at async getPageContextFirstRender (getPageContext.js?v=3c7e9834:35:39)
    at async fetchAndRender (useClientRouter.js?v=3c7e9834:124:35)
fetchAndRender @ useClientRouter.js?v=3c7e9834:131
await in fetchAndRender (async)
useClientRouter @ useClientRouter.js?v=3c7e9834:57
(anonymous) @ entry.js:7
+onRenderClient.ts:17 [Vue warn]: Hydration text content mismatch in
:
- Client: Pinia Example
- Server: 404 Page Not Found
  at <+Page is404=false >
  at <PageShell >
  at <App>
warn2 @ runtime-core.esm-bundler.js:40

Thank you very much ❤

Thanks for the bug report. Fix released in 0.4.121.


fix: rephrasing introduction.md and about.md since golang.org was replaced by go.dev

Rephrasing introduction and about, since golang.org was replaced by go.dev.
Fixes https://github.com/exercism/go/issues/2085

Thanks for the fix!


Tests are out of date

It looks like the tests/ folder is out of date. It tries to import conda_store instead of conda_store_server, and most are failing.

One major part that needs to be tested is the API.
@costrouc What's the best solution to test it ? in terms of lib, architecture, integration with github actions ...

After discussing with @costrouc :
Regarding Integration Tests :

The current tests suite is a cypress test, that tests the UI. It even generates a video of the result. (see the artifcats at the bottom of this page)
We could add a pytest after this test.

The only problem is that it's heavy to run this on our machines.
One alternative solution is to have the test suite with a similar environment than the example docker-compose ( at least conda-store-server + postgres + 1 worker), and the worker would be tweak to fake the build of the environments (which is the longest and most resource-consuming step).
Regarding Unit tests :
We mainly discussed testing the API - which is our topic these days.
One scenario is : let's make a SQLAlchemy script that mimics the creation of namespaces, environments, builds etc.
Use this to dump the Postgres DB and use it in our docker containers for the tests.
Updating the model will imply modifying this script and the SQL dump. That can seem boring but it's like modifying any other unit test when updating code.
Actions :
I'll explore this latest track for the API as this is the most needed at the moment.

Resolved since tests are now current.


Simple xyz format is not detected?

When uploading a measurement in contact.engineering, the help text states there is an input format for
"plain text (x,y,z coordinates)":

SurfaceTopography information can be provided as coordinate data. This is a text file that contains either two columns (for line scans) or three columns (for two-dimensional topographies) of data. The parser does not support reading header information. Units can therefore not be provided directly within this file format.
Line scans can be provided on a non-uniform grid. The x-coordinates do not need to be equally spaced and the surface specified in this format can be reentrant. The code interprets such topographies as piecewise linear between the points that are specified in the file.
Two-dimensional topography maps need to reside on a regular grid. The x- and y-coordinates need to be equally spaced.

When loading this simple text file
0 0 1
0 1 1
0 2 1
0 3 1
1 0 1
1 1 2
1 2 2
1 3 1
2 0 1
2 1 1
2 2 1
2 3 1
3 0 1
3 1 1
3 2 1
3 3 1

I would expect as result a 2D topography on a 4x4 map, the format should be xyz. Instead the format is
asc and the points are interpreted as a map with 3 columns and 16 rows:
In [17]: r=open_topography('simple_xyz.txt')

In [18]: r.format()
Out[18]: 'asc'

In [19]: r.topography()
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-19-3113e5da337a> in <module>
----> 1 r.topography()

~/work/imtek/topobank/venv/lib/python3.8/site-packages/SurfaceTopography/IO/FromFile.py in topography(self, channel_index, physical_sizes, height_scale_factor, info, periodic, subdomain_locations, nb_subdomain_grid_pts)
    122                 raise RuntimeError('Reader supports only a single channel 0.')
    123
--> 124             physical_sizes = self._check_physical_sizes(physical_sizes, self._topography.physical_sizes)
    125
    126             # Rewind to position where the data is. Otherwise this method

~/work/imtek/topobank/venv/lib/python3.8/site-packages/SurfaceTopography/IO/Reader.py in _check_physical_sizes(self, physical_sizes_from_arg, physical_sizes)
    302         if physical_sizes is None:
    303             if physical_sizes_from_arg is None:
--> 304                 raise ValueError("`physical_sizes` could not be extracted from file, you must provide it.")
    305         else:
    306             if physical_sizes_from_arg is None:

ValueError: `physical_sizes` could not be extracted from file, you must provide it.

In [20]: r.topography(physical_sizes=(1,1))
Out[20]: <SurfaceTopography.UniformLineScanAndTopography.Topography at 0x7f52aca91dc0>

In [21]: t=r.topography(physical_sizes=(1,1))

In [22]: t.heights()
Out[22]:
array([[0., 0., 0., 0., 1., 1., 1., 1., 2., 2., 2., 2.],
       [0., 1., 2., 3., 0., 1., 2., 3., 0., 1., 2., 3.],
       [1., 1., 1., 1., 1., 2., 2., 1., 1., 1., 1., 1.]])

Should the file be formatted in a different way? Then this should be mentioned in the help text.
Or is this a bug of the format detection?
This is probably also the cause for https://github.com/ContactEngineering/TopoBank/issues/585.

isn't xyz = asc ?
In the test of surface topography, read_xyz reads a two column asc file

No these are two different functions:
https://github.com/ContactEngineering/SurfaceTopography/blob/6487a85d7bb8ce162edecc50a99e17241ad368e1/SurfaceTopography/IO/Text.py#L64
https://github.com/ContactEngineering/SurfaceTopography/blob/6487a85d7bb8ce162edecc50a99e17241ad368e1/SurfaceTopography/IO/Text.py#L285

I think the problem is that both readers can successfully read this data. And read_asc is called before

So this can be probably be fixed by trying the xyz reader first?

Yes I saw that. It seems that we call asc text files in matrix format and xyz text files in xy or xyz format

Yes I agree.  If we ignore the edgecase where someone uploads a 3x3 topography in matrix format.
And I think we can ignore it.

Yes we could ignore that case I think.
Are you sure the file extension is taken into account?
Renaming doesn't seem not work. I've renamed by example above to simple_xyz.xyz and it's still format asc.

nono it doesn't take the extension into account. I just mean this confuses me.

:smile: misunderstood. Okay, I'm preparing a PR for this issue and also rename the test file.

Maybe we should invent some special comment in the header which proposes a file format, e.g.:
format: xyz

In the case of our colleague, he could circumvent the auto detection and upload his file nevertheless.

Alternative: Topobank could have a dropdown which allows to preselect the format and not to to autodetection.

Hm .. the file cannot be loaded with format specification either:
In [41]: r=open_topography('simple_xyz.xyz', format='xyz')
/home/michael/work/imtek/topobank/venv/lib/python3.8/site-packages/SurfaceTopography/IO/Text.py:333: RuntimeWarning: divide by zero encountered in true_divide
  binx = np.array(x / dx + 0.5, dtype=int)
/home/michael/work/imtek/topobank/venv/lib/python3.8/site-packages/SurfaceTopography/IO/Text.py:333: RuntimeWarning: invalid value encountered in true_divide
  binx = np.array(x / dx + 0.5, dtype=int)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-41-71c4282f24b3> in <module>
----> 1 r=open_topography('simple_xyz.xyz', format='xyz')

~/work/imtek/topobank/venv/lib/python3.8/site-packages/SurfaceTopography/IO/__init__.py in open_topography(fobj, format, communicator)
    194                 "{} not in registered file formats {}".format(
    195                     fobj, lookup_reader_by_format.keys()))
--> 196         return lookup_reader_by_format[format](fobj, **kwargs)
    197
    198

~/work/imtek/topobank/venv/lib/python3.8/site-packages/SurfaceTopography/IO/FromFile.py in __init__(self, fobj)
     92             if hasattr(fobj, 'tell'):
     93                 self._file_position = fobj.tell()
---> 94             self._topography = reader_func(fobj)
     95             if CHANNEL_NAME_INFO_KEY in self._topography.info:
     96                 self._channel_name = self._topography.info[CHANNEL_NAME_INFO_KEY]

~/work/imtek/topobank/venv/lib/python3.8/site-packages/SurfaceTopography/IO/common.py in func_wrapper(fobj, *args, **kwargs)
    109
    110         try:
--> 111             retvals = func(fobj_text, *args, **kwargs)
    112         finally:
    113             if is_binary_stream(fobj):

~/work/imtek/topobank/venv/lib/python3.8/site-packages/SurfaceTopography/IO/Text.py in read_xyz(fobj, physical_sizes, height_scale_factor, info, periodic, tol)
    332         dx = x[1] - x[0]
    333         binx = np.array(x / dx + 0.5, dtype=int)
--> 334         n = np.bincount(binx)
    335         ny = n[0]
    336         assert np.all(n == ny)  # FIXME: Turn assert into exception

<__array_function__ internals> in bincount(*args, **kwargs)

ValueError: 'list' argument must have no negative elements

This should be solved together with the original issue..

It seems that it doesn't allow for roundoff errors in the pixel positions

Ah okay - another thing is that it assumed the data is sorted such that the first column (x) varies before the second (y).
Otherwise
dx = x[1] - x[0]

would be zero, also on regular grids. This order is not the case in my test file. So we should order first maybe .. if this is feasible on large files.


feat(group-label): Add Label support

As the separator has been changed, is there anything else we need before merging?

Check failure seems to be from artifact signing in the check process rather than a code failure.
    ⨯ release failed after 343.03s error=sign failed: {{ .Env.GPG_FINGERPRINT }}: invalid template: template: tmpl:1:7: executing "tmpl" at <.Env.GPG_FINGERPRINT>: map has no entry for key "GPG_FINGERPRINT"
Error: The process '/opt/hostedtoolcache/goreleaser-action/0.159.0/x64/goreleaser' failed with exit code 1

@william20111 Once we have this and the other remaining PRs (minus the SDK update) merged, we and some other parties will be ready to put this into production.
With the previously mentioned issue resolved, is there anything else I can or need to do to make these acceptable?

lgtm if you bump to latest it will get the CI fix and will merge

@william20111 Thanks!  It all passes now.  I'll stay on top of the other PRs in case any merge conflicts arise as they're applied (though I'm not expecting them as it hasn't arisen in my testing).


Word Count brings up the delete box when in any other state than current mission.

Word Count brings up the delete box instead of the word count box when a mission is not in a state of current mission. Occurs for Upcoming Missions and Completed Missions.

Fixed

Fixed


CLI exit status should be improved

Description
Currently if you run cosign verify against a non existing image, against a not signed image, against a signed image with a different key, the exit status is the same (1)
This makes difficult to automate using cosign to verify stuff, especially in projects where the signing is starting or in which all artifacts may not be signed and those are out of your control.
cosign should probably try to exit with a different status code if the verify failed, or if the image is not verified.
Examples:
Image without signature:
error: fetching signatures: remote image: GET https://index.docker.io/v2/library/ubuntu/manifests/sha256-626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322.sig: MANIFEST_UNKNOWN: manifest unknown; unknown tag=sha256-626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322.sig
$ echo $?
1

Non existing tag
error: GET https://index.docker.io/v2/library/ubuntu/manifests/latestf: MANIFEST_UNKNOWN: manifest unknown; unknown tag=latestf
$ echo $?
1

Signature not matching
error: no matching signatures:
failed to verify signature
$ echo $?
1

Cheers!

+1 on this! We could switch to a different exit code.

@dlorenc  @Itxaka  Am happy to work on this, although there are some reserved exit codes that have their own definition across Windows and Linux. I was hoping to piggy back of existing codes that may have a common definition across operating systems (in the same way that HTTP Status Codes work), but it the fact that each operating system has its own defined set, we may have to define our own.
3,4,5 for the three cases above? If so, do we think this will have any knock-on effects on the system to which the cosign binary runs on? If not, am happy to put up a PR on this with:
3 - Image without signature
4 - Non existing tag
5 - Signature not matching

IMO any numbers not reserved will do, as long as there is a differentiation on the errors that are generated so automating things can work with those exit codes. for example, I can deal with error 4 (non existing tag) as that migth be a user error, but If Im checking images in an automated fashion and I get error 5 (signature not matching) that should raise an alert as the image might be compromised. Same with 4 (image without signature), as I can make an automated job that checks for that and signs the images if they dont have a signature.
This is real scenario BTW, we check for signatures on our github.com/rancher/elemental-toolkit packages and fi signatures are missing our job will sign it. Currently we have no way of knowing if the error is missing signature or other :)

IMO any numbers not reserved will do, as long as there is a differentiation on the errors that are generated so automating things can work with those exit codes

Strong +1 to this. @ChrisJBurns I'll assign this issue to you for now; if you come up with a convention, please document it (maybe README.md? I think long run we'll want to have this in the equivalent of a man page)

FYI for elemental-cli we also had to implement exit codes under a cobra cli and ended up with a constants file which had all the exit codes with an explanation comment and we have a job to autogenerate the docs with some go code
That means that we never forget to update the docs with the exit codes when new ones are added, and the docs always have a small explanation of what the exit code means, very handy :)

All, I have implemented a very draft-ish version of this in the following commit. It's not perfect, still needs a cleanup, but I've managed to get a custom exit code thrown back (12) for unmatching signature, in addition to doc generation via the example from elemental-cli (@Itxaka  hope you don't mind, I quite literally copied and pasted the GenerateDocs func as it worked perfectly just to get something).
The only thing left now is to probably conform to a pattern of how we do errors. Currently, I can see there is a mix and max of how we do this. One of the ways is that there is a VerificationError object and a NewVerificationError method in the errors.go file. But moving forward, we should probably conform around a CosignError object with a Message and Code variable, with a more generic RaiseError function that allows for the passing of a specific Error type struct (e.g. ErrNoMatchingSignatures = &CosignError{....}.
Welcome your thoughts @znewman01 @Itxaka @dlorenc. If we move towards the above approach, there's going to be a few changes around the code to ensure the rest of the errors are thrown the same way.

Awesome, thanks @ChrisJBurns! Something like that SGTM.
A couple main points of feedback:

I'd like to separate the CLI errors (which include exit status etc.) from general Cosign errors. So basically I'd suggest moving a lot of pkg/error to cmd/cosign/error.
Cosign pkg/error errors should get wrapped as they get handled in cmd/*

Otherwise I'm pretty happy with a cleaned-up version of what you proposed

@znewman01  Feel free to take a look (https://github.com/sigstore/cosign/pull/2673). Managed to keep code to minimum to reduce side affects on other functionality. Should be backwards compatible also and only affect code that explicitly has mapped error to exit codes, otherwise the standard exit code 1 is returned.
Should be somewhat extensible also, so for other errors and exit codes, it should be relatively easy to add the functionality for them. The PR contains not only the throwing of a custom exit code for "no matching signatures", but also for all supporting code to make this work. The next PR's that address the other 2 errors in the issue description, should be a matter of just adding the correct error types and exit codes and returning them in the places the error happens.

@Itxaka  @znewman01
I think this can be closed as completed with fixes implemented in:

https://github.com/sigstore/cosign/pull/2766 (fixed scenarios where image has no signature & verifying when the image tag doesn't exist)
https://github.com/sigstore/cosign/pull/2673 (fixed scenarios where there were images with no matching signatures).

If you run cosign through the following examples you'll get the correct exit codes as defined in https://github.com/sigstore/cosign/blob/main/doc/cosign_exit_codes.md.
$ cosign version
...
GitVersion:    2.0.0
GitCommit:     d6b9001f8e6ed745fb845849d623274c897d55f2
GitTreeState:  "clean"
BuildDate:     2023-02-23T19:26:35Z
GoVersion:     go1.20.1
Compiler:      gc
Platform:      darwin/amd64

Image with no signature
$ SRC_IMAGE=busybox
$ SRC_DIGEST=$(crane digest busybox)
$ IMAGE_URI=ttl.sh/$(uuidgen | head -c 8 | tr 'A-Z' 'a-z')
$ crane cp $SRC_IMAGE@$SRC_DIGEST $IMAGE_URI:1h
$ IMAGE_URI_DIGEST=$IMAGE_URI@$SRC_DIGEST
$ cosign verify --key cosign.pub $IMAGE_URI_DIGEST
Error: no signatures found for image
main.go:69: error during command execution: no signatures found for image
$ echo $?
10

Image with non existing tag
$ cosign verify --key cosign.pub ttl.sh/37708c4:1h
Error: image tag not found: GET https://ttl.sh/v2/37708c4/manifests/1h: MANIFEST_UNKNOWN: manifest unknown; map[Tag:1h]
main.go:69: error during command execution: image tag not found: GET https://ttl.sh/v2/37708c4/manifests/1h: MANIFEST_UNKNOWN: manifest unknown; map[Tag:1h]
$ echo $?
11

Image with no matching signature
$ cosign verify --key blue.pub $IMAGE_URI_DIGEST
Error: no matching signatures:
error verifying bundle: comparing public key PEMs, expected -----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEI2cpYDnNla7+kidLeulgtt3ZwAyC
m4PWQZO3mZA3Rxu6VRwtYpGTCflxteDrwgmQcrhHSyqyKxwQloLdPtHeaQ==
-----END PUBLIC KEY-----
, got -----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEi0+0MRDdb1d5A9dSEVJ/84fVjSVQ
IFYZl6hON0gEaFhzMogfyLT4lUVVoPc9LhwsQAeIWpamm6oInU5+FEGEfw==
-----END PUBLIC KEY-----
$ echo $?
12

Looking really good to me, thank you folks for implementing this!


[2.8] Rancher CLI panics when we try to switch context without any selection

backport #46869

This issue is resolved on v2.8-68e5d43e449fcd3ef73baf1caee98da6f0104eed-head
CLI version : rancher-v2.8.8-rc2
Below tests got validated:
TC 1: Validate rancher context switch

Create a rancher server on 2.8-head
Installed rancher cli version v2.8.8-rc2
Ran the rancher context switch without running the login command

TC 2: Validate rancher context switch error message
TC 3: Validate rancher context switch error message, login with a user and make sure the errors are not displayed


Highcharts from a external (non-required) source

I've got a situation where I've got to rely on highcharts already being defined on the page from outside my compiled source (I'm using grunt + browserify) and I get errors saying highcharts is already defined when using this module.
I thought I'd be able to get it to work with browserify-shim but I can't seem to find the correct setup for it. Previous versions of this module would assume you were including your own 'Highcharts' global or use the bundled version so I didn't need to try shim anything until now. The new version has changed and seems to no longer allow you choose which assumption to take.
Does anyone have a solution for this? Either correct browserify-shim settings or a way for react-highcharts to not assume an imported highcharts. I could be asking a dumb question here and be missing something obvious, if so, please also point this out me!

How exactly do you use it?

I'll try give what setup I can think of...
I've manually removed 'highcharts' from node_modules that react-highcharts requires. I did this because if it's there react-highcharts requires it and I get a duplicate defined highcharts error. What I am trying to do is have it take my global version of it.
I'm importing react-highcharts via
"import HighChartElement from "react-highcharts""
I'm running es2015 react with classes/import statements etc
I'm compiling everything via grunt commands + grunt-browserify + babel with following command:
 browserify: {
      build: {
        files: {
          "bundle.js": jsFileList,
        },
          transform: [['babelify', {presets: ["es2015", "react"]}]],
        },
      },

But I have the browserify-shim in my package.json (as it suggests) to try shim in highcharts with no success:
 "browserify-shim": {
    "highcharts": "global:Highcharts"

  },
  "browserify": {
    "transform": [
      ["browserify-shim", { "global": true}]
    ]
  },

I'm not sure there's anything else related to it that I can show.

Let me know if you still need help with this, I'll ping you on gchat, and we'll figure it out.

What was the resolution to this? I am having a similar issue

Similar issue +1.
How did you make using highcharts as an external source work as last?

I'd say try requiring
https://github.com/kirjs/react-highcharts/blob/master/src/chartsFactory.jsx
and passing your Highcharts instance like here:
https://github.com/kirjs/react-highcharts/blob/master/src/ReactHighcharts.jsx.

So sorry about never getting in contact with you or replying.
In regards to my 'solution', I just reverted to a previous version of react-highcharts where it worked... not a great solution I know!


Long loading times and breaking then

Laravel Version: 5.5.33
Voyager Version: 1.0.14
PHP Version: 7.1.7
Database Driver & Version: mysql  Ver 14.14 Distrib 5.7.19

Description:
I don't really know how to describe it. But on most pages, the Voyager admin pages seem to break. But not because of errors, that would be solvable, it just takes forever to load and stays unresponsive.
Steps To Reproduce:
The pages and actions that produce this issue are

on dashboard the clicking on users
updating admin title setting (also gives an error, unique constraint)
uploading profile image and saving the profile

I haven't explored it a lot yet because it keeps breaking, is this a known issue?

Certainly not a known problem.  Is this your local machine or a remote server?  Is it a fresh install, or have you added data?  The "browse" pages in Voyager tend to run a little slow if you have a lot of data without enabling server-side pagination, but that shouldn't affect image uploading or saving settings.

The instance runs in vagrant on a local machine. Except for voyager everything is really fast though. Further, e.g. I have around 800 users and opening the users-view takes forever and then after some time the page is breaking.
If I could change some settings (e.g. pagination) where would that be?
Apart from that, is there a way to give you some data to get a better understanding of what is not working? how would I produce them?

Ah... yeah, 800 users will definitely do that.  Server-side pagination can be enabled in the BREAD editor for your table.  I also think your profile image issue is related since you're dealing with users.
Your "admin title" setting issue is probably a different issue, but I'll need to see the specific error being returned to figure that one out.

I can send you a screenshot if it helps but it seems to be a database issue, I will enable pagination now and then see if this is solved

Here is the screenshot:

Sounds like you have a field on your users table called branches with a type of JSON, and you're not passing it JSON data

that is true, we have that but I'm not passing anything at all in voyager, this is done by voyager's controller somehow
I handle the branches column correctly in our application

the 1 and 0 seems to come from the checkboxes in the profile

We significantly decreased the query amount in https://github.com/the-control-group/voyager/pull/2812 and https://github.com/the-control-group/voyager/pull/2832
For your last problem, you might want to edit your BREAD-settings for the users-bread.


Can one custom agent serve all fetches?

The documentation on using a custom agent is located here:
https://github.com/bitinn/node-fetch#custom-agent
There, it seems to instruct that you must create a new custom agent for each fetch you do. However, I see that it also works to create one custom agent (in an outer scope) and then simply reference that exact same custom agent for all succeeding fetches.
Example:
import { default as fetch } from 'node-fetch';
import { default as http } from 'http';
import { default as https } from 'https';

const httpAgent = new http.Agent({ keepAlive: true });
const httpsAgent = new https.Agent({ keepAlive: true, rejectUnauthorized: false });

export async function post(obj, toURL)
{
	let options = {};
	options.method = "POST";
	// Other options are omitted here for the sake of brevity
	// The pertinent option is agent. Notice that the http and
	// https agents were created outside the scope of this function,
	// and are therfore reused each time this fucntion is called.
	options.agent = function (_parsedURL)
	{
		if (_parsedURL.protocol === 'http:')
		{
			return httpAgent;
		}
		else
		{
			return httpsAgent;
		}
	};
	return fetch(toURL, options);
}

Are there any draw-backs to only creating one custom https.agent, and thereafter referencing that singleton in the options of all succeeding fetches?

You can use the same Agent instance, in fact it's designed to be used this way. It's a nodejs core feature, you will learn more from their doc:
https://nodejs.org/api/http.html#http_class_http_agent


Config Export Issue

LP v5.0.70
SpongeForge 1.12.2-2838-7.1.8
/lp export doesn't export actions, not sure if intended or not
As a result of this actions aren't imported into MariaDB

I don't quite understand what the issue is here. What "actions"?

This is intended, actions aren't saved as part of the export process.


Could you share the dataset via gdrive?

Thanks for your great work. Could you please share the dataset through Google Drive or other cloud drives? If possible, please send a link to my email<EMAIL_ADDRESS>Thanks a lot!

Received a link from the author. Thanks a lot. Close this issue.


Komga

Scuffed and not touched for a long time. It probably works though, as there are few complaints from users from the aix I distributed in Discord.
Checklist:

[x] Updated source's version for individual source changes
[x] Tested the modifications by running it on the simulator or a test device

probably good enough


[WIP] Mustardwatching epoch- and pointer-based reclamation

Here is my note on my experiment on mixing epoch-based reclamation (EBR) and pointer-based reclamation (e.g. hazard pointers, HP).  My code is here: https://github.com/jeehoonkang/crossbeam/tree/snowflake/crossbeam-epoch  Currently it's neither tested nor documented, unfortunately...  Contributions or any form---code, documentation, comments, feedbacks---are very welcome!
Motivation
For safe memory reclamation (SMR) in concurrent data structures, a thread advertises (for experts: synchronizes reads-after-writes) that it is accessing some objects ("hazards") so that the other thread should not deallocate them.  In the design of SMR schemes, the granularity of hazards is one of the most important design choices the creator should make.  Roughly speaking, there are two representative choices: epoch-based reclamation (EBR) and pointer-based reclamation (e.g. hazard pointers, HP).
EBR is coarse-grained in that a thread advertises the epoch (think: timestamp) in which it is accessing the shared memory.  The idea is that the garbage that is thrown in old epochs are no longer accessible from any thread and is safe to deallocate.  An epoch can be incremented only if all the threads agreed to release all the pointers to the shared memory acquired in the previous epoch.  EBR is usually fast because a thread needs to advertise its epoch only.  On the other hand, it may not collect garbages in a timely fashion because of the coarse granularity: a thread may hold an epoch and disrupt garbage collection indefinitely.  Specifically, EBR doesn't work well if (1) there exist long-lived pointers to the shared memory (e.g. map/set or cache); or (2) there are a lot of threads so that each thread cannot easily make progress.  Previously long-lived pointers are handled with reference counting, which is sub-optimal because it writes to the memory even in the read path.  On the other hand, the second case usually happens when the number of threads exceeds that of CPU cores, so its problem can be mitigated by using thread pools.
On the other hand, HP is fine-grained in that a thread advertises the pointers to the hazardous objects (so the name "hazard pointers"), and it can collect garbages quite aggressively thanks to the fine granularity.  However, the problem is that it's often slow because a thread needs to advertise its hazard often and large.
Now time for mustardwatching!  We want to take the advtange of mixing both approaches: using EBR when we can properly increment epochs, and using HP otherwise.  I implemented a hybrid of EBR and HP on top of crossbeam-epoch.  By doing so, we can efficiently support long-lived pointers while retaining the benefits of EBR, by simply turning the pointers into hazard pointers.  The corresponding API is Guard::defend().
Performance
It's performance is comparable with the master branch in the absence of hazard pointers.  Here's a comparison of the results of cargo +nightly bench:
name                     control ns/iter  variable ns/iter  diff ns/iter   diff %  speedup
 multi_alloc_defer_free   2,060,746        2,177,730              116,984    5.68%   x 0.95
 multi_defer              1,329,516        1,451,704              122,188    9.19%   x 0.92
 multi_flush              12,558,094       28,366,437          15,808,343  125.88%   x 0.44
 multi_pin                4,283,460        4,174,085             -109,375   -2.55%   x 1.03
 single_alloc_defer_free  34               36                           2    5.88%   x 0.94
 single_defer             17               24                           7   41.18%   x 0.71
 single_flush             110              608                        498  452.73%   x 0.18
 single_pin               7                8                            1   14.29%   x 0.88

I fully expected that flush() becomes slower: now we're checking hazard pointers in addition to epochs, which this benchmark .  The performance of pin() is similar.  The performance of defer() drops a little bit, but from maual inspection of generated assemblies I think it's unavoidable.
Related Work: Snowflake
I took a lot of inspiration from Microsoft Research's Snowflake (so the branch name), but my implementation differs from Snowflake in that:

My implementation properly supports EBR and protects short-lived pointers much more efficiently, while Snowflake uses only the idea of EBR to optimize HP and it's not exposed to the users.
My implementation doesn't support ejection of ill-behaved threads from the protocol, which guarantees robust garbage collection (i.e. a ill-behaved thread cannot block the deallocation of arbitrarily many resources).

Roughly speaking, my implementation is EBR + HP, while Snowflake is HP (boosted with EBR idea) + ejection mechanism.  I've tried to design EBR + HP + ejection mechanism, but I believe EBR and ejection doesn't come along well.

Wow, this is really cool! I skimmed the code a bit and something that initially stood out is that it keeps hazards in the same bags as EBR deferred objects, which then requires a filter to ignore hazardous objects when dropping bags due to epoch expiration. Perhaps it would be possible to instead store hazards in a separate list, and give them a different type, (e.g. HazardBags), such that epoch bags can still be dropped safely without dropping for hazards? Or am I missing something that prevents this?

@Vtec234 Thanks for reading the code and giving a comment!  Yes, I'm also thinking about that.  Actually putting deferred functions and deferred deallocation together inside an enum type (Garbage) incurs overhead quite a lot.  Splitting them might be beneficial for performance.

This seems great! I feel very optimistic about this approach and believe with some work we could almost completely eliminate the overhead of hazard pointers.

 I've tried to design EBR + HP + ejection mechanism, but I believe EBR and ejection doesn't come along well.
I think you correct that if you are using EBR to protect the objects, not just to guarantee consistency of the hazard pointers, then you cannot add ejection.
P.S.  Happy to chat about the .NET version we prototyped.

A status update: I implemented a series of patches related to this issue in this branch.

Using small epoch numbers: the Snowflake paper basically describes how to ensure safety with only 5 epochs (wrapping around).  The commit is implementing that.  Now the epochs can be fit in only 3 bits!

Supporting hazard pointers along with EBR.  That's basically reimplementing what's described in this issue.  It supports both epoch- and HP-protected accesses to shared memory.  It now uses bloom filters.  What's interesting about epochs is they are now tagged (as 3 bits) in pointers to bloom filters.

Supporting hazard pointers and ejection.  It's dropping the support for epoch-protected accesses to shared memory, but hazard pointers are still managed with epochs.  Instead, it implements an ejection mechanism which may remove a (non-cooperating) thread from EBR in a lock-free manner.  As a result, it's robust (think: spatially non-blocking).

Currently they're not performing very well, and I'm trying to optimize them.  I think the first and second patches are worth merging, if they're suitably optimized, because they'll better support long-lived pointers than the current version.  But the third patch is not suitable for being merged in crossbeam-epoch, because it changes the API a lot.
I'm planning to write a paper on this, and to write a crossbeam RFC for merging the patches by August.  I will keep reporting the status!

@tomtomjhj and I just made an article on "supporting hazard pointers and ejection": https://cp.kaist.ac.kr/gc/  Comments and feedbacks are very welcome!

@jeehoonkang Very interesting, thanks for sharing!
Two questions occurred to me:

At one point you write:

We compare the performance of PEBR with that of the NR (noreclamation) and EBR implementations of Crossbeam. We do not compare it with that of PBR schemes because EBR is known to outperform them by a large margin [51]

And later:

Dice et. al. proposes a variant of HP that uses a compiler fence for shield protection (Shield::protect), which frequent, and a process-wide memory fence for reclamation (collect), which is less frequent. As a result, unlike HP, their scheme is fast.

What is the relationship between these two remarks? Is EBR also much faster than the Dice et al. version of PBR? (Or might that one be worth comparing against?)

What criteria are used to determine when a thread should be ejected?

@glaebhoerl Thank you for your interest in our article.

Yes, it would have been much better to compare the performance of PEBR and that of Dice et al.'s version of HP.  @tomtomjhj and I will work on it soon.  Thank you for the suggestion!

In crossbeam's terminology, we "try_advance" once every a few calls of defer_destroy (retire in the article), and we force_advance if try_advance fails for a pre-defined number of times.

@jeehoonkang Any updates on this?

We just got noticed that this work will be published at PLDI 2020 :)  But I'm still not sure how we can upstream our effort to Crossbeam (this repository).

@jeehoonkang Congratulations on the PLDI paper.

@jeehoonkang That’s awesome! Is there any particular reason it won’t be possible to upstream your efforts to crossbeam? Is it possible to get involved somehow? (I read somewhere that there optimizations are still possible).

It would be really good to have this or hazard pointers in crossbeam, especially for use cases where you have to hold a guard for a longer period (which can cause issues in EBR). :)


bug: tree information disapear after clicking in trees

if you select a tree, go to test details or build details page and click in Tree Details in breadcrumb, the tree information will not be shown in the header

Origin is also disappearing and should be fix by this ticket


Displacement filter weird artifacts when texture repeat is on

I'm trying to use a displacement filter to add ripples to the right edge of my orb, but when I turn on texture repeat, I get weird artifacts on the opposite side of the orb. Am I doing something wrong here? I've got a running example at the bottom for more details. My setup is:
Parent Container
    Orb Container - has displace filter applied
        Orb Sprite
    Displace sprite

Here's my setup showing the sprites:

Here it is with the filter on, but no texture repeat:

And here's the issue with texture repeat on. You can see the right side has the ripples, but the left side has some artifacts:

If I turn the filter scale way up, like to 1000, I get even weirder results:

pixi.js version: 5.0.0rc
Browser & Version: 72.0.3626.109
OS & Version: OSX
Running Example: https://www.pixiplayground.com/#/edit/gClnCCv0CEbxjnL77t7AG

Displacement is on repeat, that strange area takes pixels from the right and there's planet. With scale=100 it even reaches faaar to right side ;)

I'm not sure I understand you, but if you're saying it's going to the right and wrapping around, it doesn't look like it's doing that. The displacement map has red > 0.5 in the bump area, which makes the pixels displace to the left, not the right. Also, you can see that it is displacing correctly on the right side, with the lighter orb border being pushed into the middle of the orb.

red>0.5, taking pixels from the right of original pixel.

Hmm, so maybe the displacement filter isn't doing what I thought it was doing. In the world of 3d graphics, normally a displacement map moves the stuff directly under it. So if you have a pixel at (0, 0), and the displacement map pixel on top of it is (5, 0), it will move the source pixel 5 to the right. Are you saying pixi's displacement filter works in the opposite way, so that the displacement map doesn't actually move the pixels under it, but it instead looks up pixels according to the displacement?

How fragment shader works: you are given a pixel on screen, please provide color for it, its true for 3d graphics too. Displacement takes color with shifted coordinates.
As for direction, it doesn't matter, i dont even remember which sign is in fragment shader. The point is, where it takes a pixel from right side, in the period it also takes from right side. Whether red is negative or positive i dont know ;)

Ok, I see what you're saying. Now that I understand what it's actually doing, I can probably make it work. However, I would request that the docs be updated to be more clear. I'm coming from more of the 3d world, and this way of doing displacement is different from how 3d models are displaced, so I think it'd be good to be more explicit in the filter explanation.
I'd be open to doing a PR for it if you're ok with that.

=)

Yeah, try to explain it with your words and make PR. I cant imagine myself without this knowledge so its difficult to explain from my point of view. I'm loosy teacher

Here's is a gif that shows exactly what you described ;) https://twitter.com/rezoner/status/1096166766454210561

Interesting, makes sense. I guess for 3d displacement, it's different because you're moving vertices of a mesh instead of pixels, so you don't have to worry about interpolation because the verts are already connected by faces.
I did a PR with more documentation for the displacement filter. I'm open to feedback if you want to change something: https://github.com/pixijs/pixi.js/pull/5464

I have vertex displacement in a plugin: https://gameofbombs.github.io/examples-heaven/#/mesh/plane.js


Add documentation to make getting started with apicast easier

We wish to make it easier for people new to apicast (who maybe also new to nginx, openresty and lua) to get started, use it and add their customizations.
Here is a list of customization examples that we would like to have explained briefly how to do.

Adding a new server with own server name (ssl, nginx config)
Adding some nginx http block configuration (like resolver)
Adding custom lua config to override some existing functions
Adding a custom module (e.g. XC)

These could be short documents on each one, in the corresponding examples sub-folder or small sections in an overall "customizations" document in examples root, to accompany any code examples for the same in the examples folder

For the 'adding a custom module' there is something already I think, not sure if enough or needs to be completed. See https://github.com/3scale/apicast/blob/0f70f5ec90522d4e20df7ace42aef5c64e8c4135/examples/custom-module/README.md


docker-compose Failing When Running phoenix setup

I've successfully deployed asciinema-server on a number of different setups.  However, I'm currently running into the following error when running:
docker-compose run --rm phoenix setup

It runs for some time until it reaches the following step where it consistently fails:
Step 59/88 : COPY mix.* /app/
 ---> Using cache
 ---> 66e07aca1618
Step 60/88 : RUN mix deps.get --only prod && mix deps.compile
 ---> Running in e532a03ff097
  ...
  uuid 1.1.8
* Getting bamboo (Hex package)
* Getting bamboo_smtp (Hex package)
* Getting briefly (Hex package)
* Getting cowboy (Hex package)
* Getting ex_aws (Hex package)
* Getting exq (Hex package)
* Getting exq_ui (Hex package)
Request failed (:timeout)
If this happens consistently, adjust your concurrency and timeout settings:

    HEX_HTTP_CONCURRENCY=1 HEX_HTTP_TIMEOUT=120 mix deps.get
** (Mix) Package fetch failed and no cached copy available (https://repo.hex.pm/tarballs/exq_ui-0.9.0.tar)
ERROR: Service 'phoenix' failed to build: The command '/bin/sh -c mix deps.get --only prod && mix deps.compile' returned a non-zero code: 1

I tried it numerous times including starting over and remove all the docker images and containers but I keep running into this issue
I'm running Docker on Mac OS X (10.13.6) with the latest version of Docker (18.06.1-ce-mac73 (26764)
I also tried exporting the above environment variables but it looks like it doesn't read them from my environment.
Any ideas?  Thanks

That looks like timeout when fetching deps from https://hex.pm .
Do you still experience this?
Anyway, you can always pull prebuild image from docker hub:
docker pull asciinema/asciinema-server:latest

That will avoid whole build, saving time and problems :)

By the way, is this mentioned anywhere in the documentation?  I would think a lot of users would prefer this over the long build process.  I think it would also involve an updated docker-compose.yml file

@ossie-git it's an omsision on my part, I'll fix the docs.


CodeBlocks compile time error in api.h line no 39

Error says:
undefined reference to cpr::Session::Session()
undefined reference to cpr::Session::Get()
and so on.. seems like session got problem ??
#include < iostream>
#include <cpr/cpr.h>
int main(int argc, char** argv) {
auto r = cpr::Get(cpr::Url{"https://api.github.com/repos/whoshuu/cpr/contributors"});
std::cout << r.text;
return 0;
}
I have copypast include/cpr to MinGW/include/cpr
And I have download curl-7.59.0.tar.gz and copypast curl-7.59.0\include\curl to MinGW/include/curl
Can someone solve this thing.?

Thanks for @iPherian reply

You'll need to compile cpr. It will work on windows.
* Right click on code blocks project -> add files recursively -> select <repo_root>/cpr

* this is the folder which contains 'session.cpp' as well as others

* now it should compile but will complain of `undefined reference to curl_easy_setopt` and similar.

download curl from website (Windows)

Right click on code blocks project -> Build options.. -> Search directories tab -> Add -> Select <curl_root>/include -> OK

System error dialog said "libcurl.dll" missing. I copy from <curl_root>/bin/libcrul.dll to where the compiled exe file locates dir

It's work for me on Win7(x86)
If you cannot find code blocks project, you can find it on view -> Manager

If you are using a development environment, for example Dev-C++, don't forget to access Compiler Options>Directories>C++Includes and add the directory path of the "include" folder.


Pulse compiler skeleton

Summary
This PR introduces a skeleton of pulse compiler based on the BasePassManager.
Details and comments
Pulse compiler is expected to support multiple output format. The format can be set at run time, i.e. an argument of .run. As in the circuit transpiler, the pulse compiler has two base passes for transform and analysis. We expect that a system configuration is provided by Qiskit Target model. In future we may integrate workflow of circuit and pulse pass manager via the ConversionPass (namely scheduler). Because all circuit passes will gain the target object in their constructor, making the Target the single source of truth for quantum program compilation would simplifies our future compiler framework.
Note that pulse compiler passes must explicitly implement __eq__ method, otherwise two different objects with the same pass configuration are evaluated as different objects (because equivalence check is deleted to object where only object id is evaluated). Two passes with the same setup must behave identically, and they must be the same object from PulseIR's point of view. Target object doesn't need to be evaluated, because it doesn't implement __eq__ and we expect that the target object is not mutated during the single compilation run -- this information is identical to all running passes.

ScheduleBlock could do pseudo scheduling by flattening all instructions into left justified context with proper delay. This is how we currently convert backend calibrations in the Schedule format into ScheduleBlock. This is just for backward compatibility because we don't plan to support PulseQobj or QPy as a compiler backend; i.e.

channel model conversion -> legacy transform (ScheduleBlock to Schedule) -> assemble (Schedule to PulseQobj)

channel model conversion -> QPy (ScheduleBlock -> binary) -> IBM Provider

I think ScheduleBlock output is also convenient for the unit test of model conversion.


Add date of load information to the Sprint Reporter report page

For this page: https://cumc-dbmi.github.io/pmi_sprint_reporter/report.html
Can you add a date or timestamp that reflects when the data load was run?
I don't know how you are setting up this process so this might be a simple as a single run date at the top of the page..  but would be very helpful for the sites to know which of their submitted files are being referred to.
Thanks
-John

Thank you @johntmilnes, that's a great idea. We will think about how to go about it and keep you posted.


Extra Line When Creating a File

I'm seeing an extra line always below lightline. When I create a new file, it shows the file name. My .vimrc settings are:
set laststatus=2
set noshowmode

Screenshot attached. What am I doing wrong?

That line is called command-line and we cannot configure to remove the line of Vim. Plugin is not allowed to change the behavior too.

Also see https://superuser.com/q/619765/240925.

Excellent, thank you.

Can't we at least hide the name of the open buffers in the command line? I don't want to get rid of the line, just of the duplicate filenames...

You cannot do that without changing the source code of Vim.


Roll deps

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

The DEPS have already been updated. Based on the title I assume the new github action was not suppose to be part of this PR.


Internal bundle building

The io-ts and TypeScript wrappers will be generated and returned by calling a HTTP endpoint exposed by the dockerised contract. As we're currently constrained to the Docker runtime, calling the exposed endpoint directly as part of the load sequence cuts the complexity of the build process, and provides the opportunity for us to develop a standalone build step that we can use in any JS or TS environment.
Pre-built bundles will become more important when the contracts can run in a JS env.

Calling load should return the js io-ts schema for the client to use for local runtime validation

As a part of #85 I am moving the Endpoint and createEndpoint constructors into the SCB.
So the process for generating the bundle should look something like:

Load the contract
Generate the io-ts types by calling the schema endpoint of the contract. The end of these types should already make the call to createContract, but not include the import statement.
Write this string to a ts file, dynamically adding the appropriate io-ts and createEndpoint references
Compile this file with tsc
Use the js and .d.ts output to create the bundle, including a meta.json


HAVE A WORKING PHYSICAL PRODUCT

OUR WIRES ARE GOING HAYWIRE!!!!

Finished on Dec 4 in time for Final Showcase.


chore: release main

:robot: I have created a release beep boop
node-versions: 1.0.5
1.0.5 (2024-09-04)
Bug Fixes

update available Node.js versions (f1ef464)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

node-versions-v1.0.5
:sunflower:


--prefix dont work

Steps to reproduce
/!\ pkgdir is not empty it is equal to
/nfs/homes/nda-cunh/Desktop/script-suprapack/vim/pkg
i download `https://github.com/vim/vim/archive/refs/tags/v9.1.0304.tar.gz`
make distclean
./configure --prefix=$pkgdir/usr --bindir=bin --libdir=lib
make -j
make install

Expected behaviour
all workd but
cp vim /usr/local/bin
cp: cannot create regular file '/usr/local/bin/vim': Permission denied

force install to /usr/local/bin
Version of Vim
9.1.0304
Environment
zsh linux 86_64 ubuntu 22
Logs and stack traces
No response

Normally you need to use sudo to run make install (i.e. sudo make install).

closing as not a Vim issue.

Hmm, did I misunderstand this?
Did you specify --prefix with a directory other than /usr/local/ but vim is installed to /usr/local/?

./configure --prefix=$pkgdir/usr --bindir=bin --libdir=lib

This command shows an error:
configure: error: expected an absolute directory name for --bindir: bin


Add use cases from FORCE for motivation

Idea: visualization of OpenFOAM and ontology side by side (FORCE-workshop).

Comment: the motivation no longer exists, so there may be a use cases section of projects using SimPhoNy and how it helps reaching their goals.
Apache Airflow has a good example of such a section.


Feature/refactoring

I think they accidentally touched on the site's encoding, I'm checking it now.


Adding entry for ConcourseDB

Here is an updated pull request with a single commit relevant to ConcourseDB

thank you for merging! Looking forward to seeing the entry on the site :)

Online now. Thanks!


Using the new .component() syntax for components

So with angular 1.5 around the corner, I think it would be nice to refactor the components to use the new .compontent() declaration syntax. You can read more about it here: http://toddmotto.com/exploring-the-angular-1-5-component-method/
What do you think? I think I will give it a shot.

can you make a pull-request?

I submitted it a few days ago: https://github.com/AngularClass/NG6-starter/pull/72
Any thoughts?


RepositoryArgumentTransformer::isTableAndMatchesPattern doesn't support regular expression.

In 2.x
@Transform /^table:(.*)/

used to match all tables, but in 3.x it looks for first row in table for matching pattern. If I want to modify something in all tables then I have to add transformation like:
@Transform table:Firstname,XYZ

is there any specific reason for this change or it's a bug ?

I wouldn't say it is a bug. But it's definitely a missing feature from 2.5.

Thanks Konstantin,


Improve handling of settings and blueprints files

This makes a handful of changes that improve how settings and blueprints files
are handled:

The mechanism for including external YAML files no longer uses the YAML
parser itself. This was to support things like anchors and aliases across
files without having to resort to too much dark magic. Instead, the the
mechanism underpinning !include is as close to a textual include as
reasonably possible. The only "fancy" thing that is done when including files
is maintaining consistent indentation, relative to the !include directive.
Update calls to resolveMarkupInclusions() to point to the appropriate root
directory.
Implement proper cloning of included YAML files in the case/case suite
system.
Update numerous uses of DirectoryChanger to not dumpOnException; most of
these are in the case/case suite system, which really shouldnt making dump
directories when things fail.

Been testing this out on more complicated case suite scenarios, and it still needs some work. Mostly related to how blueprints snippets get copied around as part of a Suite, if the paths aren't relative to the settings file that uses them. I think I just got it sorted out though, will update PR soon if things look like they're working.


Batch-resolve unpublished claims

https://odysee-workspace.slack.com/archives/C02G20Z2AEL/p1655834884125409

Close in favor of 1758


change: MainConcept Transcoders update

MainConcept Transcoders update
Description 📝
MainConcept Transcoders links and name update
Changes  🔄
List any change relevant to the reviewer.

MainConcept Transcoders Link Updated
MainConcept P2 AVC-ULTRA name updated

Hyphen removed from MainConcept P2 AVC-ULTRA Transcoder name.

Hey @jongov, thank you for the contribution and sorry for my delay responding!
Would you mind providing a little bit of context for this change? For example, both the /mc2go and /transcoders webpages seem to contain similar content, and I see the product name stylized as MainConcept P2 AVC Ultra and MainConcept P2 AVC-ULTRA throughout the website, so I'm just curious about the motivation for this change.
Thanks again!

Hi @jdamore-linode ,
MC2GO products have been renamed to Transcoders. The /mc2go page will be removed soon and only /transcoders will remain.
On the P2 AVC-ULTRA name - this is the official name of the Panasonic format and how Panasonic recommend to be written - all caps with hyphen. There was an issue in the Linode platform with that hyphen so I removed it, but better to stick to the Panasonic's recommendation where possible.

Hi @jdamore-linode ,
MC2GO products have been renamed to Transcoders. The /mc2go page will be removed soon and only /transcoders will remain.
On the P2 AVC-ULTRA name - this is the official name of the Panasonic format and how Panasonic recommend to be written - all caps with hyphen. There was an issue in the Linode platform with that hyphen so I removed it, but better to stick to the Panasonic's recommendation where possible.

Understood. Thanks for the explanation, @jongov!