[Bug]: ProtoMessageSchema.getSchema fails on proto3 messages with optional fields

What happened?
proto3 optional fields gets compiled into oneof fields and ProtoSchemaTranslator wrongly assumes they are actual oneof resulting getSchema method to crash.
How to reproduce?
Add an optional field to any of the test proto messages and run tests.
  optional int64 optional_single_int64 = 10;
  optional OptionTestSubMessage optional_single_message = 11;

As a simple workaround, excluding descriptors with isSyntactic() is true in here makes it work.
  if(oneofDescriptor.isSynthetic())
    continue;

Issue Priority
Priority: 1 (data loss / total loss of function)
Issue Components

[ ] Component: Python SDK
[X] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam YAML
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Infrastructure
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

.add-labels java,protobuf

.add-label protobuf

fyi @nbali :)


Don't forget nuspec file location

A bug fix for one of my previous PRs

@hvanbakel I confused things a bit here by not tidying up. There are two commits, one is the needless obj filter which I should revert, the other is the actual fix that I was putting in and I think is still needed.

Thanks, it's now pulled in the revert, so it's ready for you to check whenever you want


Feature request: support for storage pools

Currently, the disks of all nodes are added to a single storage pool. This implies that all disks have the same IO performance (otherwise, it becomes a random choice how fast the provided volume actually is).
In a setting with heterogeneous nodes (e.g. some have SSDs, some HDDs), the following features would be very helpful:

assign disks to storage pools (e.g. "hdd-pool", "sdd-pool")
create storage classes (e.g. "fast", "medium", "slow") referencing these storage pools such that PVCs can be automatically provisioned based on the resources from the given storage pool. this would allow developers to make a specific and reliable choice about the IO performance they request (and actually get)

+1 would like to see this as we utilize bare-metal servers that have both HDD and SSD storage.

We can also add node level tags. The disks in each node will inherit that node tags then users can control which group of nodes can be used for storage.

This would mean that some nodes should only have fast storage and some slow? So no mixing storage classes in nodes?

@mmriis No. The nodes tag are not overriding the disk tag.
For example, the node tag can be storage_main for node 1-5, storage_backup for node 6-10. The disk A tag for node 1 can be fast, disk B for node 1 can be slow. Internally, we will treat disk A on node 1 as both fast and storage_main, disk B on node 1 as slow and storage_main.

+1 that would be greate to have a SSD and HDD pool
:)

@smallteeths backend merged. We can start  UI development.

@ttpcodes can you write the API reference for the feature? @smallteeths needs it for UI

@ttpcodes There is no connection between node tags and disk tags. When I create volume, I select one of node tags and one of disk tags. However, this node does not contain the disk tag, which fails to create volume.It would be nice to add a parameter in the 'disktags' API to return the appropriate disktags

Steps to test:

Create 4 nodes cluster, with each node have main disk A, and additional disk B
Deploy Longhorn, create longhorn StorageClass.
for each node, make sure you added the extra disks and scheduling is enabled on them.
for Nodes 1 & 2 : Create a node tag main
for Nodes 3 & 4 : Create a node tag backup
Create a disk tag ssd-pool for

Node 1 Disk A
Node 2 Disk A
Node 3 Disk A
Node 4 Disk A

Create a disk tag hdd-pool for

Node 1 Disk B
Node 2 Disk B
Node 3 Disk B
Node 4 Disk B

Create a volume-1, and only set Node Tag to main
Expected result: volume replicas should be  scheduled on nodes 1 & 2

Create a volume-2, and only set Node Tag to backup
Expected result: volume replicas should be  scheduled on nodes 3 & 4

Create a volume-3, and only set Disk Tag to ssd-pool
Expected result: volume replicas should be  scheduled on all nodes on A Disks

Create a volume-4, and only set Disk Tag to hdd-pool
Expected result: volume replicas should be  scheduled on all nodes on B Disks

Create a volume-5, set Node Tag to main , and Disk Tag to ssd-pool
Expected result: volume replicas should be  scheduled on nodes 1 & 2 on A Disks

Create a volume-6, set Node Tag to main , and Disk Tag to hdd-pool
Expected result: volume replicas should be  scheduled on nodes 1 & 2 on B Disks

Create a volume-7, set Node Tag to backup , and Disk Tag to ssd-pool
Expected result: volume replicas should be  scheduled on nodes 3 & 4 on A Disks

Create a volume-8, set Node Tag to backup , and Disk Tag to hdd-pool
Expected result: volume replicas should be  scheduled on nodes 3 & 4 on B Disks

Stop scheduling on Node 1
Create a new node Node 5 with 2 disks A and B, make sure disks added and scheduling is enabled
Create Node Tag main on Node 5
Create Disk Tag ssd-pool on Node 5, Disk A
Create Disk Tag hdd-pool on Node 5, Disk B

Delete some/all volume-1 replicas on Node 1
Expected result: replicas should start rebuilding on Node 5, on Both Disks A & B.

Delete some/all volume-5 replicas on Node 1
Expected result: replicas should start rebuilding on Node 5, on Disk A

Delete some/all volume-5 replicas on Node 1
Expected result: replicas should start rebuilding on Node 5, on Disk B

Greetings,
Any recent update on having storage pools? This is over 2 years later.

@iomari are you looking for across cluster sharding instead? https://github.com/longhorn/longhorn/issues/1061


Initial Hero Section Figma Design

Summary:
Design the Hero Section for 'Le Jardin' website Landing Page on Figma.
Acceptance criteria:
1.Follow the Web Content Accessibility Guidelines (WCAG) to make the website accessible to all.
2.Use Hero Image Or video that signifies the brand persona Explorer.
3. Use Hero text that signifies the brand persona Explorer.
4. Add Call to action 'Join club' button, which will lead to sign up page.
5.Use Compnent Library like MUI and NextUI.
6.Adhere to the Brand Archetype persona 'Explorer'.
7.Use Adobe color wheel for color selection of the Website components https://color.adobe.com/create/color-wheel.

updated Hero section design on figma https://www.figma.com/file/puog0pDY0mW5VGzuivGCi1/Final-Group-Project--Bakery?type=design&node-id=0%3A1&mode=design&t=QsCIpjv2i3C0tP7D-1


Unable to view the status dashboard

In today's experiments with Dask + dask-jobqueue, I found that I could not load the Bokeh dashboard that @mrocklin keeps showing me :smile:, which has kept me wondering what exactly is the progress on my simple, embarrassingly parallel task of "loading ~900+ matlab .mat matrices into memory".
The URL provided by the client is: http://<IP_ADDRESS>:8787/status.
I'm able to ping the IP address in there:
$ ping <IP_ADDRESS>

However, I'm unable to access the page in my browser; I get a timeout error.
In terms of network settings, I'm on my work VPN.
Is there something that's blocking access that I'm missing?

Are you, by any chance, setting your network interface when using
dask-jobqueue?  If so can you try not doing that and see if there is an
effect?
On Fri, Jun 15, 2018 at 5:11 PM, Eric Ma<EMAIL_ADDRESS>wrote:

In today's experiments with Dask + dask-jobqueue, I found that I could not
load the Bokeh dashboard that @mrocklin https://github.com/mrocklin
keeps showing me 😄, which has kept me wondering what exactly is the
progress on my simple, embarrassingly parallel task of "loading ~900+
matlab .mat matrices into memory".
The URL provided by the client is: http://<IP_ADDRESS>:8787/status.
I'm able to ping the IP address in there:
$ ping <IP_ADDRESS>
However, I'm unable to access the page in my browser.
In terms of network settings, I'm on my work VPN.
Is there something that's blocking access that I'm missing?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask-jobqueue/issues/71, or mute the thread
https://github.com/notifications/unsubscribe-auth/AASszJE7-6b-olJ9P9mJCWtgCqA3b0J_ks5t9CMDgaJpZM4UqJ7-
.

Originally, I did not:
cluster = SGECluster(queue='default.q', walltime="1500000", processes=10, memory='20GB')

This gave the client address:
http://<IP_ADDRESS>:8787/status

After setting the interface:
cluster = SGECluster(queue='default.q', walltime="1500000", processes=10, memory='20GB', interface='eth0')

the client address is:
http://<IP_ADDRESS>:43906/status

This was not accessible (also timed-out).
I also tried setting the cluster interface to ib0. The client address then became:
http://<IP_ADDRESS>:8787/status

This also timed-out.

Is there something that's blocking access that I'm missing?

Maybe.  It might be worth checking with your IT staff.
You might consider seeing if machines on the SGE cluster can see that address, perhaps by using requests to download that page, both from the client machine, and possibly from one of the workers:
import requests
requests.get(addr)  # does this work?

client.run(requests.get, addr)  # does this work?

@mrocklin thanks for the help! I tried the following:
import requests
addr = "http://cluster.server.ip.addr:port/status"  # with appropriate modifications.
requests.get(addr)  # times out

In the absence of any information from IT, my current hypothesis is that there is something blocking the opening of ports from node to node. I'll continue to keep tabs on this issue.

The way I have got a similar setup to work in the past is to do ssh tunneling:
ssh -fN your-login@scheduler-machine -L 33023:localhost:33023

Then I can just open http://localhost:33023 on my local machine and see the status page. Slightly cumbersome but I am afraid I don't know of a more convenient way of doing it. This approach (which is not dask-specific at all) is mentioned in the distributed doc.

@lesteve thank you for the excellent tip! I have added this to my TextExpander snippets :smile:

@ericmjl - would you be interested in adding a note in the dask-jobqueue documentation identifying this issue? I suspect other users will run into the port-forwarding issue.

you may also be interested in this PR: https://github.com/pangeo-data/pangeo/pull/317

We also do the same thing as @lesteve has suggested.
At some point we may consider revitalizing the JupyterLab extension for Dask (especially as JupyterLab has become more stable), which would make adding the extra ssh tunnel unnecessary. AIUI JupyterLab developers are eager to have users that can give feedback on this sort of thing. So getting help shouldn't be too hard if someone has cycles/interest to pursue this.
ref: https://github.com/dask/dask-labextension

Issue ( https://github.com/dask/dask-labextension/issues/15 ) had some discussion about how this might be done. Not sure if that advice is still current.

@jhamman happy to do so. Give me a few hours (busy till later) and I'll be happy to PR in.


Fix handling of ROS1 string constants, add test case

Closes: #129

I still don't think this logic is perfect.
I think to technically be in compliance with ROS1 we would have to very intentionally not strip comments from lines that are string constants, but that is an edge case I just don't want to deal with today.

Again, should be noted CI failure is not related to this changes, and addressed elsewhere.

@ssnover I think the algorithm is now correct, but I want #127 to merge first so I can do proper error handling in this MR.
Will also probably add units test then too, annoying while it doesn't return result


Exit with error code -1 if there are any errors cloning repositories

Right now:
==============================
TITLE_PR: DO NOT MERGE!!! Fake PR to test ruby style checks, NR: 2210
==============================
failure
Cloning into 'spacewalk'...
Warning: Permanently added the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts.

Already on 'Manager'

Warning: Permanently added the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts.
From github.com:SUSE/spacewalk
 * branch                  Manager    -> FETCH_HEAD
fatal: 'origin/ruby-style-test' is not a commit and a branch 'PR-ruby-style-test' cannot be created from it

ERROR: Repository not found.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
error: Could not fetch remruby-style-test
Fetching origin
Fetching remruby-style-test

ERROR: Repository not found.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

fatal: 'remruby-style-test/ruby-style-test' is not a commit and a branch 'PR-ruby-style-test' cannot be created from it

Inspecting 0 files

0 files inspected, no offenses detected

The test proceeded even if there was an error cloning, and exits with return code 0, so the test is marked as successful at the PR status.

@juliogonzalez afaik you reproduce it with private clone ? can we have maybe a simple use case to reproduce it?

Let me check, but I think a private clone is not needed per se to reproduce.
As long as SSH key used by gitbot is not authorized at the forked repo, it should fail (you can clone public repos using https without special right, but to use SSH your user must be authorized by the repository owner).
I will try it and will let you know.

So far I am not able to reproduce it with public repos, but I will email you a link (private) so you can have a look.

https://github.com/openSUSE/gitbot/commit/02d494fec5c940a250eb3fca838c3fa6d8665674

thx julio!


add tools for upsert table heap usage estimation

Per #6729, add a tool to estimate heap usage for upsert table keySpace and valueSpace
Calculated keySpace by the following formula
UpsertFrequency = 1 - (nums of records / nums of skipUpsert records).
unqiue Keycombination = messageRate * retentionValue * (1 - upsertFrequency).
KeySpace = bytesPerKey * uniqueCombinations
ValueSpace = bytesPerValue * uniqueCombinations

Estimated heap usage for the table
EstimateHeapSize -tableName meetupRsvp -schemaFile meetupRsvp_schema.json -tableConfigFile meetupRsvp_realtime_table_config.json -messageRate 1000
schema file		/var/folders/dr/xqtm8ycd4fq6fctr4vkz37th0000gn/T/1643757837546/meetupRsvp/meetupRsvp_schema.json
table config file		/var/folders/dr/xqtm8ycd4fq6fctr4vkz37th0000gn/T/1643757837546/meetupRsvp/meetupRsvp_realtime_table_config.json
column stats		8
bytes per key		8
bytes per value		64
message rate per second		1000.0
retention		1DAYS
nums of record		12
nums of record (skipUpsert)		12
Upsert frequency		1.0
Estimated total key space (GB)		0.64373016
Estimated total value space (GB)		5.1498413
Description

Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes (Please label as backward-incompat, and complete the section below on Release Notes)

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes (Please label this as backward-incompat, and complete the section below on Release Notes)

Does this PR otherwise need attention when creating release notes? Things to consider:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

[ ] Yes (Please label this PR as release-notes and complete the section on Release Notes)

Release Notes

Documentation

cc: @yupeng9 @chenboat

Codecov Report

Merging #8108 (ca91053) into master (3c98a44) will decrease coverage by 0.04%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #8108      +/-   ##
============================================
- Coverage     71.35%   71.31%   -0.05%
  Complexity     4303     4303
============================================
  Files          1617     1617
  Lines         83874    83874
  Branches      12537    12537
============================================
- Hits          59851    59812      -39
- Misses        19943    19979      +36
- Partials       4080     4083       +3

Flag
Coverage Δ

integration1
28.86% <ø> (-0.14%)
:arrow_down:

integration2
27.67% <ø> (+0.01%)
:arrow_up:

unittests1
67.91% <ø> (+<0.01%)
:arrow_up:

unittests2
14.14% <ø> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...data/manager/realtime/DefaultSegmentCommitter.java
0.00% <0.00%> (-80.00%)
:arrow_down:

...ller/helix/core/minion/TaskTypeMetricsUpdater.java
80.00% <0.00%> (-20.00%)
:arrow_down:

...er/api/resources/LLCSegmentCompletionHandlers.java
43.56% <0.00%> (-18.82%)
:arrow_down:

...nction/DistinctCountBitmapAggregationFunction.java
41.96% <0.00%> (-12.96%)
:arrow_down:

...data/manager/realtime/SegmentCommitterFactory.java
88.23% <0.00%> (-11.77%)
:arrow_down:

...altime/ServerSegmentCompletionProtocolHandler.java
51.42% <0.00%> (-6.67%)
:arrow_down:

...ller/validation/OfflineSegmentIntervalChecker.java
76.40% <0.00%> (-3.38%)
:arrow_down:

.../java/org/apache/pinot/spi/data/TimeFieldSpec.java
88.63% <0.00%> (-2.28%)
:arrow_down:

...core/query/pruner/SelectionQuerySegmentPruner.java
86.36% <0.00%> (-2.28%)
:arrow_down:

...core/startree/operator/StarTreeFilterOperator.java
85.31% <0.00%> (-2.10%)
:arrow_down:

... and 28 more

Continue to review full report at Codecov.

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

nums of records itself should be the unqiue Keycombination. The formula can be simplified

nums of records itself should be the unqiue Keycombination. The formula can be simplified

Thanks @Jackie-Jiang for review.
I added another optional parameter for unqiue Keycombination.
If unique key combination parameter is provided, the command can use the simplified formula to calculate the estimated key space and value space.
if unique key combination is not provide, the command will calculate the unique key combination.
We want to use the tool on staging table which has fewer records, so the nums of records here might not reflect to the unique key combinations in prod table with longer retention.


Wrong nbHits when using distinct attribute

There's an example in meilisearch documentation https://docs.meilisearch.com/reference/features/distinct.html#example
As shown below, the dataset contains three documents representing different versions of a Lee jeans leather jacket.
[
  {
    "id": 1,
    "description": "Leather jacket",
    "brand": "Lee jeans",
    "color": "brown",
    "product_id": "123456"
  },
  {
    "id": 2,
    "description": "Leather jacket",
    "brand": "Lee jeans",
    "color": "black",
    "product_id": "123456"
  },
  {
    "id": 3,
    "description": "Leather jacket",
    "brand": "Lee jeans",
    "color": "blue",
    "product_id": "123456"
  }
]

After setting the distinct attribute (product_id), querying for lee leather jacket would only return the first document found.
{
  "hits": [
    {
      "id": 1,
      "description": "Leather jacket",
      "brand": "Lee jeans",
      "color": "brown",
      "product_id": "123456"
    }
  ],
  "offset": 0,
  "limit": 20,
  "nbHits": 1,
  "exhaustiveNbHits": false,
  "processingTimeMs": 0,
  "query": "lee leather jacket"
}

Example shows nbHits: 1 is expected. I agree with that nbHits value. Nevertheless in our project it returns nbHits: 3, it counts every document from the dataset.
Meilisearch versions: 0.22.0, 0.25.2
P.S.  Facet distribution counts every document from the dataset (3 rather than 1), despite there's a distinct attribute.

Hello @bsurai
thanks for your report, we will investigate on it

I have opened a pr on milli's side to fix that, it should make it to 0.27.0

Reopening since it's not introduced in meilisearch yet.
Still need to

release milli
update the milli version on meilisearch side.

Fixed by #2321

Hey,
Confirming #232 fixes the issue.
However count numbers are still wrong in facetsDistribution count (still doesn't dedup from distinct entries) but only if there are no filter set in the query.
Should I open a new issue for that one?

Hello @paraboul
I've tried with the following documents
[
  {
    "id": 1,
    "description": "Leather jacket",
    "brand": "Lee jeans",
    "color": "brown",
    "product_id": "123456"
  },
  {
    "id": 2,
    "description": "Leather jacket",
    "brand": "Lee jeans",
    "color": "black",
    "product_id": "123456"
  },
  {
    "id": 3,
    "description": "Leather jacket",
    "brand": "Lee jeans",
    "color": "blue",
    "product_id": "123456"
  }
]

and the following settings:
{
  "distinctAttributes": "product_id",
  "filterableAttributes": "brand"
}

and I get this with this search: { "facetsDistribution": ["brand"] }
{
    "hits": [
        {
            "id": 1,
            "description": "Leather jacket",
            "brand": "Lee jeans",
            "color": "brown",
            "product_id": "123456"
        }
    ],
    "nbHits": 1,
    "exhaustiveNbHits": false,
    "query": "",
    "limit": 20,
    "offset": 0,
    "processingTimeMs": 1,
    "facetsDistribution": {
        "brand": {
            "Lee jeans": 1
        }
    },
    "exhaustiveFacetsCount": false
}

Could you please open a new issue with detailed steps so that we can reproduce it? It would be really helpful to fix this bug

@curquiza Thank you.
I've tested on v0.27.1. As I see, there's still some issue:

It works well for relatively small search results (less then 40-50 distinct documents).
Though, if there're 100+ distinct documents in search result I get a wrong number of distinct documents, returns number of all documents instead of number of unique (distinct) documents.
When I use offset (and limit) to get the latest documents in search results, I see the proper count of distinct documents.

My parameters:

1000+ distinct (unique) documents in a dataset. Every distinct document has 2-3 variations. So, the dataset may contain 2000+ documents.
searching by filters may return 100+ distinct (unique) documents.
limit = 36 documents per search.

Hello @bsurai can you open an issue please with an example, please?

I get a wrong number of distinct documents, returns number of all documents instead of number of unique (distinct) documents.

We need the number you expect, the number you get, and if possible a sample of your dataset. It would be definitely helpful to reproduce your issue.
If you are not comfortable showing even a piece of your datasets, you can send it by email!
Thanks again for your help, it is definitely help us improving the project 😄

@curquiza I still have to find how to reproduce this easily but I'm seeing the same things as @bsurai

Ok, let us know (by opening a new issue) if you have found a way to reproduce. Sorry for the bug, and thanks a lot for your report and help 🙏

@curquiza I have to create a test case, because I'm not allowed to expose our product details.

@curquiza I've created a new repository contain dataset, meilisearch settings, test case and screenshots.

Thank you so much @bsurai
We'll dig into it asap!
Thanks again for making us improve Meilisearch

Hey there, facing the same issue here, any updates on the fix?

Hello @lebadapetru
what is your version? if it's v0.28.1, can you open another issue with detailed steps so that we can reproduce it? We fixed this specific problem some months ago.


Move Gltf-Pipeline to Source/Scene

Part of https://github.com/CesiumGS/cesium/issues/9473.
Since there were eslint errors throughout I had to add a line to .eslintignore. Should these be fixed in Gltf-Pipeline? As far as I could tell they were all in one file so it shouldn't be to big of a fix.
Should there be a CHANGES.md line for this?

Thanks for the pull request @ebogo1!

:heavy_check_mark: Signed CLA found.
:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.
[ ] Works (or fails gracefully) in IE11.

Build issues look to be due to prettier no longer ignoring GltfPipeline and something else with the tsconfig stage that I'm looking into.

Thanks, once you have the tooling issues sorted out this should be good to merge. Eventually we'd like to use npm instead. Can you open an issue for that?
I checked over all the files to make sure gltf-pipeline wasn't getting into the CesiumJS documentation. I noticed that some functions weren't marked as @private. I pushed a fix in gltf-pipeline here: https://github.com/CesiumGS/gltf-pipeline/commit/93f69ec1e6e13b451f7508f4bd16829df1b5ba5e and made the same fix here: https://github.com/CesiumGS/cesium/pull/9699/commits/c0be36390327217e9798ed193693cd24e736e747

Should there be a CHANGES.md line for this?

Nope, this is all internal so no CHANGES.md entry required.

It looks like I was using an outdated version of gltf-pipeline. To revert the prettier changes I added a line in 3764981 to .prettierignore and copied the files over from the latest commit in gltf-pipeline, which looks like it added a few lines for meshopt in removeUnusedElements.js.

@lilleyse I had to restart CI for a bunch of spec errors that I couldn't reproduce locally with our Travis build steps and it worked the second time. I think this is good to merge.


.array() method of a reactive array triggers autorun

I want to get contents of reactive array in autorun without depending on it - similar to vm.property.value.
How can I do that?
If I try to use .array() method of ReactiveArray - it adds a dependency and triggers reruns on array contents change.

Tracker.nonReactive
On Aug 26, 2016 1:48 PM, "Kat KatKat"<EMAIL_ADDRESS>wrote:

I want to get contents of reactive array in autorun without depending on
it - similar to vm.property.value.
How can I do that?
If I try to use .array()method of ReactiveArray - it adds a dependency
and triggers reruns on array contents change.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ManuelDeLeon/viewmodel/issues/269, or mute the thread
https://github.com/notifications/unsubscribe-auth/AED31kIUDdqZytsUQAdY4zplbkxMMFFwks5qj0MIgaJpZM4JuaDl
.

Now that I think of it .value should give you a non reactive array. I'll
update it later. In the meantime use tracker non reactive.
On Aug 26, 2016 1:49 PM, "Manuel De Leon"<EMAIL_ADDRESS>wrote:

Tracker.nonReactive
On Aug 26, 2016 1:48 PM, "Kat KatKat"<EMAIL_ADDRESS>wrote:

I want to get contents of reactive array in autorun without depending on
it - similar to vm.property.value.
How can I do that?
If I try to use .array()method of ReactiveArray - it adds a dependency
and triggers reruns on array contents change.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ManuelDeLeon/viewmodel/issues/269, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AED31kIUDdqZytsUQAdY4zplbkxMMFFwks5qj0MIgaJpZM4JuaDl
.


Bugfix/Show correct result in result component in exercise detail row

Checklist

[x] I tested the changes and all related features on the test server https://artemistest.ase.in.tum.de.
[x] I documented my source code using the JavaDoc / JSDoc style.
[x] ~I added integration test cases for the server (Spring) related to the features~
[x] I added integration test cases for the client (Jest) related to the features
[x] I added screenshots/screencast of my UI changes

Motivation and Context

Bug report from https://github.com/ls1intum/ArTEMiS/issues/556.
When going back and forth between the code-editor/exercise detail component and the exercise row component, not the most recent graded result was shown.
I saw a couple of issues in the code that I addressed (see below).
Description

Issues addressed in this PR:

The updating result component did not select the most recent graded result for programming-exercises, but the first in the array (which is normally the oldest). Regardless of the exercise type, we should in my opinion always check the result array and get the latest result from it. Otherwise we might forget to add the check for another exercise type in future.
The websocket subscription was not created if the due date has passed (we should still create it, but filter out ungraded results if necessary as it is an option for the result component to show ungraded results)
There was an unnecessary permission check in the setup for the result websocket subscription

While I was at it, I also made some small changes to show ungraded results in the code-editor (see screenshot below).
Steps for Testing

:warning: This concerns all areas in which the result component is used! :warning:
This is how to verify the reported bug:

Check exercise row result for a programming-exercise
Go to exercise detail component and compare result
Go back to exercise row and compare result
-> All results should be the same

Screenshots

@thilo-behnke I tested your changes with all exercise types and it works fine for me :) I

@thilo-behnke I tested the last deployment of this branch and everything worked for me :)


Feature Timeline disappearing from collection, is there a new version that doesn't have the Beta Epic Roadmap.

Describe the bug
Our enterprise instance of TFS is running v0.0.238 of the Feature Timeline extension and has been experiencing some collections having the Feature Timeline disappear.  We would like to try a newer version of this extension to see if it fixes the issue but we cannot deploy the current version that includes the Beta Epic Roadmap.  Any beta cannot be deployed at an enterprise level for us.
Is there a version available that does not include the Beta?
Browser
Choose a browser
[X] IE11
[ ] Chrome
[X] FireFox
[ ] Safari
Version
[ ] Azure DevOps/VSTS
[ ] TFS 2017 Update 2/3
[X] TFS 2018
Screenshots
If applicable, add screenshots to help explain your problem.

no sorry, the beta of the porfolio hubs is part of the features timeline. You are welcome to fork the the repo and take out the Portfolio Hubs from the manifest and deploy on your own

Is there an available download of a prior version w/o the beta but later than the 0.0.238 version we currently have installed.

Or do you have any suggestions on why Feature Timeline disappears from some of our collections?


Enabling Cluster Monitoring through API sets different memory limits than UI

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Create clusterA (default options, using 3 nodes as worker/cp/etcd)
Enable cluster monitoring in UI with default values by going to Tools -> Monitoring, and clicking Enable button
Create clusterB (default options, using 3 nodes as worker/cp/etcd)
Enable cluster monitoring in API by selecting View in API for cluster, click Edit in top right corner under operations, check the enableClusterMonitoring checkbox, click Show Request button. Click Send Request button.

Result:
For clusterA, the prometheus memory limit is 1 CPU. For clusterB, the prometheus memory limit is 500m CPU. These should be the same. Preferably should change the API default to 1 CPU, not 500m.
cluster A:
> kubectl get statefulset -A -o yaml | grep limits -A2
            limits:
              cpu: "1"
              memory: 1000Mi
--
            limits:
              cpu: 100m
              memory: 25Mi
--
            limits:
              cpu: 100m
              memory: 25Mi
--
            limits:
              cpu: 100m
              memory: 100Mi
--
            limits:
              cpu: 500m
              memory: 200Mi

cluster B:
> kubectl get statefulset -A -o yaml | grep limits -A2
            limits:
              cpu: "1"
              memory: 500Mi    <----- this does not match
--
            limits:
              cpu: 100m
              memory: 25Mi
--
            limits:
              cpu: 100m
              memory: 25Mi
--
            limits:
              cpu: 100m
              memory: 100Mi
--
            limits:
              cpu: 500m
              memory: 200Mi

Other details that may be helpful:
Should make sure all UI and API defaults match.
API defaults appear to come from here for these particular limits:
https://github.com/rancher/system-charts/blob/dev/charts/rancher-monitoring/v0.0.7/values.yaml#L326-L328
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI):
v2.3.4
Installation option (single install/HA):
single install

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported):
Custom
Machine type (cloud/VM/metal) and specifications (CPU/memory):
t3a.medium on aws
Kubernetes version (use kubectl version):

> kubectl version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.1", GitCommit:"d647ddbd755faf07169599a625faf302ffc34458", GitTreeState:"clean", BuildDate:"2019-10-02T17:01:15Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.2", GitCommit:"59603c6e503c87169aea6106f57b9f242f64df89", GitTreeState:"clean", BuildDate:"2020-01-18T23:22:30Z", GoVersion:"go1.13.5", Compiler:"gc", Platform:"linux/amd64"}

Docker version (use docker version):

$ docker version
Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea838
 Built:             Wed Nov 13 07:22:05 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.12
  Git commit:       633a0ea838
  Built:            Wed Nov 13 07:28:45 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

gz#8107
SURE-1691

Seems like we need a small change in the monitoring chart to address fixes in https://github.com/rancher/rancher/issues/19349 such that our monitoring chart matches the latest CPU / Memory defaults set by the UI.

We'll need to update the following to match:
https://github.com/rancher/ui/blob/d2363de9fdcb3341910a1549dc2ac87253404a74/lib/monitoring/addon/components/enable-monitoring/component.js#L54-L55
https://github.com/rancher/ui/blob/d2363de9fdcb3341910a1549dc2ac87253404a74/lib/monitoring/addon/components/enable-monitoring/component.js#L59-L60
https://github.com/rancher/system-charts/blob/c82034fb29da6194b1da696ad1cea39d9f697c35/charts/rancher-monitoring/v0.3.1/values.yaml#L328-L333
Where the Monitoring chart needs to be updated.

@prachidamle As the PR is going to dev-v2.5, can you actually make a backport issue for 2.5 as well as create a dev-v2.6 PR to link to this issue?

Pass Verified in 2.6-head Commit ID 8cc8121

created cluster a
created cluster b
switch to ember UI
enable monitoring v1 via UI for cluster a
enable monitoring v1 via API for cluster b

Result: Limits match when enabled from UI or API


Define what minimal haproxy metrics we need to log

currently we log all fields from HAproxy, at minimum we need 3 ('ft' (frontend id - based on gateway), 'Tt' (response time), 'ST' (status code)), we need to investigate if these are enough to log and what needs to be done to implement this.

These are the required fields, additional information is being logged still although redundant logging has been fixed as mentioned in #23
Closing as the required fields are being logged already.


Doesn't work on Laravel 7.x, PHP 7.4

# php artisan laracrud:package Laracrud
mkdir(): No such file or directory on line 67 in /application/vendor/digitaldream/laracrud/src/lara-crud/Crud/Package.php

# php artisan laracrud:mvc users --api
in_array() expects parameter 2 to be array, null given

# php -v
PHP 7.4.4 (cli) (built: Mar 20 2020 13:47:45) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.4, Copyright (c), by Zend Technologies

# composer info | grep laravel/
laravel/framework                     v7.18.0    The Laravel Framework.
laravel/horizon                       v4.3.3     Dashboard and code-driven configuration for Laravel queues.
laravel/passport                      v9.3.0     Laravel Passport provides OAuth2 server support to Laravel.
laravel/tinker                        v2.4.0     Powerful REPL for the Laravel framework.
laravel/ui                            v2.1.0     Laravel UI utilities and presets.

Current 4.* version does not work with Laravel 7 and php 7.4.
I am working with a complete refactoring on next version 5.0 where this problem will no longer exists.


Add job id to agency/category list

https://twitter.com/arielmai/status/1062402651726532608

Added in 3734996


Feature Request: Out-of-the-box token fetching when using code generated with the openapi-generator for talking to BTP reuse services

Is your feature request related to a problem? Please describe.
During tenant onboarding, we want to create a destination in the tenant's subaccount. We tried to implement this by using the  openapi-generator to generate code for the destination service. In order to make it work, we had to fetch the auth token for talking to the destination service ourselves.
It would be more convenient if the SDK did that for me out-of-the-box.
Describe the solution you'd like
I have already spent some thoughts and boundary conditions and possible solutions, though my list is very likely not exhaustive.
Currently, there are two options to fetch the token:

Do it yourself
Reuse the destination service's token fetching capabilities.

Doing it myself is possible, but inconvenient.
Reusing the destination service's token fetching capabilities is fine if the the target system is maintained as a destination anyway (e.g. SAP Successfactors). However, for reuse services, this isn't something I'd typically do since they're already in my VCAP_SERVICES. The destination service is an awkward example, so feel free to mentally substitute it by a different service.
My best guess for a solution currently is instead of passing a DestinationOrFetchOption to the execute function, it should be possible to specify service credentials instead (e.g. by service type, label, instance name, etc., or even a combination of these; I guess similar to how xsenv structures its input). The SDK should then be able to fetch a token with the information from the service binding and construct a destination that it can use for the actual request.
Of course, this should be tenant-aware, i.e. it should be possible for me to specify on behalf of which tenant I want to execute the request (looking at our specific scenario, even without a full user JWT!).
Additional complexity could come from some service bindings being maintained via the service manager instead of via VCAP_SERVICES / volume mounts directly.
Describe alternatives you've considered
We have a workaround, so all good.
Impact / Priority
Inconvenience, no timeline.
Additional context
Are you aware of the tokenServiceURL.headers.<header-key> (and analogous) properties? (See docs). This did not help us with our problem, but at least judging from the type definition/autocomplete, it looks like the SDK does not explicitly support these yet.

Hi @mr-flannery,
thank you for opening a feature request. I agree the current API is not really nice if you want to consume BTP service via the SDK using a generated clients, because you do not have a destination for that and also you do not want to have a destination, because it is sort of static information.
However, I am also a bit afraid to add more and more options to the DestinationOrFetchOption. Just that I get it 100% correct. You have the destination properties like url and only need the token for a given service. Could you perhaps reuse  the serviceToken to get a token for the BTP service you want to call and assemble a destination from there?
I know that the destination object with its authproperty is not nice to use. Perhaps it makes sense to include some helper method in the SDK to do that for you for the BTP services. I have to discuss this with the team.
Best
Frank

Hey @FrankEssenberger,

Could you perhaps reuse the serviceToken to get a token for the BTP service you want to call and assemble a destination from there?

I mentally filed that under "doing it myself", but yes, that should work as well.

Just that I get it 100% correct. You have the destination properties like url and only need the token for a given service.

Almost. Taking a binding for the destination service as example:
{
   "binding_guid": "2e1f2f11-a7fd-4cb2-8699-589c42669fb6",
   "binding_name": null,
   "credentials": {
    "clientid": "<redacted>",
    "clientsecret": "<redacted>",
    "credential-type": "binding-secret",
    "identityzone": "cpaxref-provider",
    "instanceid": "e351ccda-512c-4833-9cf2-e4a48889506a",
    "tenantid": "2311cb3a-ea84-448f-a3c5-6e4b8f3f2928",
    "tenantmode": "dedicated",
    "uaadomain": "authentication.sap.hana.ondemand.com",
    "uri": "https://destination-configuration.cfapps.sap.hana.ondemand.com",
    "url": "https://cpaxref-provider.authentication.sap.hana.ondemand.com",
    "verificationkey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAud3C00gz1ugiCLfr/uiH\nUuS1sGp1atHHN2piTnBs1JjGLdEnJMHUrvL9YmCAbEWJHGCGZXqweQwtpjNglQb0\n/feG8d+dhKzHop4a4IXtYUBUwU6VrySddBO4KdBzV64zzfVjSXHaLK0zkXcLOuJQ\n/hKhM4oMVMlyzaDkO7gF8jz1Re7NZ30jLOPAdRZSWsdtZh/rVOPQRu479PlTmADx\nNsCfa0NVGrpEZOrcLbVDOSt4PUBSUZXC0rJofVS3YcCNntXbD87IbScc6RxBR0tb\nSiV6IMcAVoQ2ma/jGsIsCzk9l3qYKXmyX2Mzzp1bQZicXkLfYLcnUQkUXrrnbTAp\nqQIDAQAB\n-----END PUBLIC KEY-----",
    "xsappname": "clonee351ccda512c48339cf2e4a48889506a!b19550|destination-xsappname!b433"
   },
   "instance_guid": "e351ccda-512c-4833-9cf2-e4a48889506a",
   "instance_name": "crm-destination",
   "label": "destination",
   "name": "crm-destination",
   "plan": "lite",
   "provider": null,
   "syslog_drain_url": null,
   "tags": [
    "destination",
    "conn",
    "connsvc"
   ],
   "volume_mounts": []
}

I would expect to get the baseURL, the token URL and the credentials from the service binding, the tenant context (subdomain/zoneId) from the user (e.g. passed as parameter to the execute function) and the rest from the generated code (API path, params, body, etc.).

However, I am also a bit afraid to add more and more options to the DestinationOrFetchOption.

On the hand I can relate to that, this type has always felt pretty unwieldy. On the other hand I don't really see a way around that, at least not without breaking changes to the API. Maybe the type hint would be slightly more helpful if you got rid of the DestinationOrFetchOption type and just typed the function with an inline union type (e.g. Destination | DestinationFetchOptions | ServiceBindingDescriptor).
Currently in my vscode it looks like this:

My hope would be that an explicit union type would also be displayed there and would therefore better convey what options a user has here.
Also I forgot to mention it in my original description, but I think my suggestion isn't much different from #2060 . We may even have the same problem.
Best,
Dennis

Ah to see this in line with #2060 is a clever idea. Some of the service bindings have explicit destinations defined, but one could extend this to also create destinations for all bound services.
We already adjusted the code that the transformFn to handle the transformation form the binding to the destination is async so that token exchange can be performed in there: https://github.com/SAP/cloud-sdk-js/pull/2551.
We would then just need more reasonable default transformFn and in case you need something different/special you can extend/reimplement the existing method.

We would then just need more reasonable default transformFn and in case you need something different/special you can extend/reimplement the existing method.

This is pretty important, I think. My understanding of the Open Service Broker spec is that service bindings must contain a credentials object (they call it "hash", I understand that as "HashMap" or what Ruby calls a Hash, i.e. an object), but the concrete format is up to the provider. And I can think of at least one example (MDI) that differs from most other services.

I create a backlog item and also add some bullet points and linking the two feature requests.

Oh hey, wasn't aware you'd be tackling this issue so quickly! I took a look at the PR, I'm unsure about what the consumption would look like exactly. Is this integrated into the generated API clients so that the following magically works:
await new DestinationService().operation().execute("my-destination-service-binding");

Or am I expected to to the translation from the service binding name to the destination myself:
await new DestinationService().operation().execute(destinationFromServiceBinding("my-destination-service-binding"));

The first one where my-destination-service-binding is the name of the service binding.  Your case is really a brain twister because you want to call the destination service :-) but it will behave the same for any other service like business-logging, workflow etc.

Nice! Do you want feedback before merging/releasing this feature? I can't make any statements regarding timelines right now, but I'd like to try this out rather soon, have to check with the team.

we can also do a quick review from our side merge it and you check out the canary release and give us feedback from your experience.

@mr-flannery PR is merged. New canary version should be available in a few minutes. Is it ok to close the issue for now and you reopen it when something is not working?

Since the requested feature has been delivered and the other issues are tracked in different tickets, I'm fine with closing this issue.

Thanks for keeping track of our tickets.


Optionally download snapshot from S3 or R2 on first run to make syncing a node be faster

@tchardin , I'm assigning this to you because this requires the snapshots to be available. Tell me when there are publicly available snapshots and I'll add this.

Yes. My Redstone node is alternating between being fully in sync, and being one block behind.

Because synchronization is not instantaneous. There is always a time lapse between the time a new block is created, and the time it's available on a replica.


Refactor in_context_learning_evaluation.py

What does this PR do?

Refactors the classes in composer/datasets/in_context_learning_evaluation.py to inherit from a single class
Adds parsing of arbitrary HuggingFace datasets
Cleans up memory usage while loading the datasets

What issue(s) does this change relate to?

Makes the code a little more managable, and reuses code between eval classes significantly more.
Moves the long context eval code found in this llm-foundry PR to composer. There will still need to be an llm-foundry PR that allows a user to specify a small python function that parses arbitrary datasets in a more advanced way than the default that goes here.
Effectively implements @dakinggg 's PR seen here.

Comments
This is a pretty big change to the icl datasets. Please pick it apart with scrutiny, I will not be offended.  Please note additional needed tests or code smells that you see.
All the tests pass and the eval_gauntlet runs. Before merging, I need to rerun EleutherAI/gpt-neo-125m on the gauntlet w/o my changes, as well as 7b w/ and w/o my changes.
Before submitting

[X] Have you read the contributor guidelines?
[X] Is this change a documentation change or typo fix? If so, skip the rest of this checklist.
[X] Was this change discussed/approved in a GitHub issue first? It is much more likely to be merged if so.
[ ] Did you update any related docs and document your change?
No, some large comments explaining classes/functions (and thus their documentation as well) still need to be updated. In addition, we should properly add the right classes here.
[ ] Did you update any related tests and add any new tests related to your change? (see testing)
Yes but please pick them apart and make me make more tests to ensure things are as we expect.
[X] Did you run the tests locally to make sure they pass?
[X] Did you run pre-commit on your change? (see the pre-commit section of prerequisites)

Oooh hoo hoo. I love a good refactor

README.md says "This is version v0, in the coming weeks we will update the mixture to include more benchmarks." We should list it as v0.1.0 and not promise to add things so quickly lol

@bmosaicml

BaseClass is never used directly, and I've refactored collate_fn such that it's super by subclasses throughout.
I'm gonna remove the RAG gen task and just make that a new PR onto this or onto main once this is merged
A dictionary of necessary parameters would be neater, but might be a breaking change. We can check for missing params within the classes themselves.
Got the gen args from HF.

AFAICT, top_p and top_k are never set when initializing InContextLearningCodeEvalDataset, so they are always the default set in the init func. Given that we want to encourage people to use generation_kwargs instead of setting a few directly, I'm going to remove them unless there is a good reason not to.


optimize: usbredir

Is your feature request related to a problem? Please describe:
Currently, the implementation of virtctl usbredir may like the pic below(correct me if I'm wrong) :

Problems it may happen :

Let say I deploy all kubevirt components in master node,  all data goes through master node, it makes some pressure on master node.
When I make a redirection from mass storage usb device to vm,  the performance may deteriorate.

Describe the solution you'd like:
Detect if the execution of virtctl usbredir and the vm is on the same node, if so, make the connection directly from virtctl to vm other than to virt-api.

Yes, there are lots of possible improvements around remote USB.

In KubeVirt, as you mention
In usbredirect and/or QEMU like this issue

This tool can be quite powerful but need more people/eyes on it.
If you do write a PR, feel free to tag me.


Wrong link to the Jonathan Coulton case study in License and Examples

Thanks for reporting an issue, to help us file this efficiently we made this template. Feel free to ignore the template if you wish :)
If this is a bug or a problem with one of our websites or page on one of our sites, please put the URL or page address here:
Please tell us the steps to reproduce the problem, if needed:

https://creativecommons.org/share-your-work/licensing-types-examples/licensing-examples/#nc
Look at the end of the Jonathan Coulton example
Note that it says "Case Study: Jonathan Coulton Commoner Letter: Jonathan Coulton", but it only links to the commoner letter. The link to the case study is missing.

Please tell us a little bit about how you're accessing the site or page, such as which web browser and which version of the browser:
Mozilla Firefox Nightly for Ubuntu 58.0a1 (2017-11-05) (64-bit)
(You can also vist https://aboutmybrowser.com/ which will give you a link you can share with us that'll tell us everything we need to know)
You can also attach a screenshot to this issue if you have a visual bug to report. That'll help us figure it out faster. http://www.take-a-screenshot.org/ has instructions on taking screenshots.
Finally, we're going to put someone's name here, so they get alerted to the new issue and can assign it to the right person. @robmyers @little-wow

you're so great, thank you!

You are the ones doing all the hard work :) Thanks!


Update jp.m3u

Addendum to https://github.com/luongz/iptv-jp/pull/83
Fixed EPG for Music Japan TV.

You know, I was thinking about adding more channels. Right now, I could think of some of them such as History Channel, National Geographic and QVC, and there is also some other channels from the IPTV-org list that could be added to the Test, such as TV Shizuoka, GSTV and Shop Channel.


Use the GA score when available

Hi
I'm comparing results with DefenseFinder, and for some systems, for example, SoFic, you are not using the GA score. If I don't misunderstand this HMM and system is coming from DefenseFinder model and hmm. In this case, my predictions differ from this model, and I can generalize them to other HMM and systems from DefenseFinder. So it could be good to launch HMMSearch 2 times and concat the results. Or maybe I miss something and the results are expected to be different.
Thanks

Hey Jérôme,
Apologies for the delayed reply. For now, this is the expected behaviour. We are having ongoing discussions about converting DefenseFinder gathering thresholds (GAs) to E-values (for compatibility with PADLOC), or incorporating GA into PADLOC's system identification, but I'm not promising it will be implemented any time soon.
If you wanted a more direct comparison with results from DefenseFinder you could do some post hoc filtering of the .domtblout files generated by PADLOC (e.g. to drop any hits with bitscore below the GA scores that were pre-assigned in the HMM file) then delete the _padloc.csv files and re-run PADLOC. It will redo the system identification step by reading in the edited .domtblout files that already exist.
That being said, for some of these systems there are not enough experimentally verified examples to form a useful 'ground truth' for determining appropriate scoring cutoffs, so use your best judgement when determining what looks like a legit hit or not!
Cheers

Hi,
Thanks for your reply. Indeed, I now annotate the HMM separately from Defensefinder and PADLOC and join the result before the system identification.
I agree that there is no 'ground truth,' I hope discussion and more experimental verification will bring us better results that we can compare to question the method rather than the HMM.
Thanks again


[WIP] Keras - WandbClassificationCallback

Added WandbClassificationCallback for confusion matrix and confusion examples logging.
Not sure how to deal with imports and dependencies here.
Suggestions are welcome, tests needs to be done.

Nice ! Keep me updated !
If you want some help with something, do not hesitate to ask !
I will be happy to work on that with you !

This is so cool!  Thanks for the PR.  I want to think about this a little more.  We can import the libraries on demand using util.get_module but I want to do this in a more general way.  I'm thinking of adding some interface methods to WandbCallback that let's you sub class it and define custom metrics, import libraries, etc. to enable more callbacks like this.  I'll take a closer look this weekend.

Any news? I'd be happy to help!

Makes perfect sense!  Will do! Thanks!

I guess you could actually just import the modules in your custom init instead of making the load_modules hook, that's simpler. You'd still want to use the wandb.util.get_module trick to give users nice error messages.

Done some work, let me know what you think of it !

This is AWESOME! I've left a few *nits but I think we're close. We should also add a test, I'm happy to help on this one. For reference, this is a basic one: https://github.com/wandb/client/blob/master/tests/test_keras.py#L71
Specific test's can be run locally with `pytest tests/test_keras.py -k my_test'

It seem's that the test you referred to is failing (because of wandb_init_run fixture)

I just merged into a feature branch in the mainline, I'll fix the test and have a couple of our engineers review.


custom profile field: Remove order column in custom-field-choices.

This is removes order column in choices and add drag & drop type of rows for ordering.
Fixes #10129
GIFs or Screenshots:
Before:

After:

I posted one comment; also, the dragging to reorder fields in the field-edit UI doesn't work for me (it only works in the "new field" UI).

OK, I cleaned up that prepartory refactor commit as the 3 commits ending in aa14d24618b29990fbdf83ebb22265926e909df0 and merged them, thanks for finding those issues @YJDave!
To save you a bit of potential rebase work, I pushed to this PR the remaining 2 commits; I'm going to wait on further review on them for you to fix the custom profile fields edit UI I mentioned in my last comment.  Thanks @YJDave!

@timabbott Thanks for reviewing and refactoring!
Updated PR, edit UI is working now.

Nice, this looks great, merged after adding a choice_list.off() statement to avoid double-registering click handlers for the + buttons, thanks @YJDave!  There's a few small follow-ups to fix:

The + buttons only add slots at the end.  We should either change that, or perhaps we should just rearrange things so that you can only add a new slot at the end (i.e. just have one +, or even just have a field with a blank value at the bottom that if you start typing into generates a new field below it).  @rishig thoughts?
I think we could reasonably have the trash-can button available on all of the choices (so you don't need to move around the first one to get rid of it), and just not let you save a field with 0 choices.
This probably should just be moved to a new issue since it's a backendy thing and not directly related, but I'm not sure the right thing happens for users who set e.g. their editor to "Emacs" before that choice value is deleted; I think everyone should be reverted to the "Not selected" value, but I'm not sure that's what happens.  @YJDave can you verify the bug and if present, open an issue?

just have a field with a blank value at the bottom that if you start typing into generates a new field below it

This sounds good to me.


Override default template

At the moment by default content:

forms
headers
footer

Each uses his own div we should update this in order to make it more pluggable by allowing the override of the default structure of the form.
Related with #41

I did discuss with Andres the possibility of overriding directive templates in the app's folder. This would apply to all components, not just gforms.

Ok. But I think we need some kind of solutions similar to the way filters works in order to be more easy to update.

On May 2, 2016, at 6:24 PM, Adam Fenton<EMAIL_ADDRESS>wrote:
I did discuss with Andres the possibility of overriding directive templates in the app's folder. This would apply to all components, not just gforms.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub https://github.com/moxie-leean/ng-patternlab/issues/48#issuecomment-216394035

At the moment the GForm template has a hardcoded base-template in the form HTML parsers for the form layout and the HTML to show an error if the form doesn't load from API properly.
These could be extracted into a separate file and loaded when the component bootstraps, that would enable you to customize the main templates when you work out how, though the form item rendering is currently all done in code, so you would still get a  of form elements.

Thanks for the information. Yes we need a way to be able to overwrite this kind of templates on some scenarios or specific forms.

The main thing is to be able to override individual form controls - e.g. to add the select-ul attribute directive, or add a class to an input so it renders differently form the default.
This should be tied in with patternlab. So taking the 2nd example - say we have 2 types of submit inputs (buttons) in our app - default and small. These 2 should be registered with patternlab as per normal, then we need a way of telling gforms which to use for a given form.


Module not found: Error: Can't resolve 'img/network/cross.png'

Hello Guys,
im not sure if im right here or if this is just a webpack config issue.
i cant load the module.
this is my error:
ERROR in css-loader?sourceMap&modules&importLoaders=1&localIdentName=[name][local]_[hash:base64:5]!./~/vis/dist/vis.css

@ASVBPREAUBV this comment might help? https://github.com/Lighthouse-io/react-visjs-timeline/issues/2#issuecomment-249730054

@ASVBPREAUBV also make sure you have install vis as a dependency


Split *.MTS files into groups

We need to be able to divide MTS files into groups, depending on the recording time and the time of lectures. This problem arises from the fact that we have a 128GB SD card, and we record lectures throughout the weeks. As a consequence, at the end of each week we have a bunch of files of this kind:
00000.MTS
00001.MTS
00002.MTS
00003.MTS
...
00027.MTS

For each, you can get the date of creation and group it with the help of the lecture schedule.
# OS X has "%SB" flag
$ stat -f%SB -t '%Y-%m-%d_%H.%M.mp4' ./00001.MTS

But I prefer a python (platform independent) implementation. it is highly recommended to write tests (we will connect them to TravisCI soon).

Look at that nice wrapper https://pymediainfo.readthedocs.io/en/latest/

Well, now we need some intelligent grouping algorithm, based on schedule.json and (start, duration) info.


ARIA controls don't work

Controlling playback with keyboard no longer works (Arrow keys and space, at least). These keys were removed in commit 616569799c7cb52f49b218e7257605e3b95f77b5 but ARIA should enable them, right?
Version: 2.9.0
Browser: Iceweasel (Firefox) 31.3.0

Bump

The migration log and change log hold info on this change:
https://github.com/happyworm/jPlayer/blob/master/MIGRATION.md
The keys were changed, since space and arrow keys are supposed to be reserved for ARIA operations.

The documentation had also been updated...
http://jplayer.org/latest/developer-guide/#jPlayer-option-keyBindings

Indeed. It seems I misunderstood how ARIA should work (These keys are reserved for std navigation).


Automated cherry pick of #1689: auto create subnet on host register

Cherry pick of #1689 on release/2.11.
#1689: auto create subnet on host register

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.11@e119d7f). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.11   #1818   +/-   ##
==============================================
  Coverage                ?    7.6%
==============================================
  Files                   ?     412
  Lines                   ?   63533
  Branches                ?       0
==============================================
  Hits                    ?    4834
  Misses                  ?   58290
  Partials                ?     409

Flag
Coverage Δ

#aFlag
7.6% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/networks.go
0.86% <0%> (ø)

Continue to review full report at Codecov.

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

/lgtm
/approve


[ListItem] Fix: secondaryTextColor hardcode

This is in reference to #2490.  @mbrookes I guess this is a good way :grin:

@heetvachhani That looks godd :+1:.

@oliviertassinari thanks. that's  fast  :smile: :+1:

Great job @heetvachhani. You extended theme support and were able to drop an import directly from Typography in the process. This is exactly what I like to see :+1: :smile:

@heetvachhani Thanks a lot, this is looking good :+1:

I won't be able to do without your help . so thank you guys :smile:


How do u use more java than python and c++

Private repos lmao

wait so you do code in java

I have a couple projects but I'm no where near proficient -- same concepts do apply tho.

holup then are u cooking up a multiplatform library of some kind w/ holden

i'm not doing anything with holden bruh

wait so ur cooking up a multiplatform library without holden

who knows?


Open Sound Control plugin

As mentioned in JupiterBroadcasting/CasterSoundboard#22 the sound-desk at JBHQ is a Behringer X32 which can be controlled with Open Sound Control (OSC) commands.
I've opened this to get the word out and to hopefully track any ideas relating to further automating the studio (Assuming this is the right place for it, if not, my apologies - feel free to close this issue).

Don't really want to consider this until #20 is solved

Oops, sorry, thought I'd commented on this!
Fair enough 👍 I'll see if there's anything I can do to help out around here


reCAPTCHA v3

I notice that django-recaptcha supports reCAPTCHA v3. Any plans to support this version in wagtail-django-recaptcha? I tried following the django-recaptcha instructions for configuring reCAPTCHA v3 (adding a captcha field to my form with the v3 widget) but I suspect the client side code in wagtail-django-recaptcha needs to support this for it to work.

@ar4s Hi Arkadiusz,
Was there anything else needed to get v3 working aside form your snippet above?
I tried to implement it on my dev site (v2 working fine), changed keys to v3 keys (localhost added to domains). I see the 'Protected by Captcha' slider in the bottom right, all the code for the captcha above the submit button, but no captcha displays.

@enzedonline have you figured it out as mine also not working

@Aman-garg-IITian no, I put this onto a to-do list for now. It's a hard one to troubleshoot since v3 captchas don't display, it's a hidden control. I do need to find a solution though, v2 captcha is kind of useless these days, my sites get flooded with Russian bot spam these last few months.

@Aman-garg-IITian I revisited this again, set it up from scratch and now have it working. I can only guess there was some fundamental mistake I'd been making in last iteration. The above solution is correct in getting it working, however there is a change needed - Recaptcha tokens have a 2 minute lifetime. With V2, this starts when the user clicks the captcha checkbox. With the above solution, the key is loaded on page load. By the time the user fills in the form, it can be expired already.
The solution is that the challenge should be bound to the form submit as per google docs.
The form builder needs a bit of a rewrite to accommodate this.

@enzedonline i tried this and filled the form faster just for testing purpose but stull i couldn’t see any change in the captcha v3 admin dashboard to verify if its working. it didn’t work, is the part where you are including api.js to the header also required?

@Aman-garg-IITian I think it takes a while before Google collates the report.

Note: The scores for this site may not be accurate before running with sufficient live traffic. Please see our developer site for more information.

There's a new version of django-recaptcha out today, this fixes the V3 timeout issue.
https://github.com/torchbox/django-recaptcha/discussions/319
The namespace has changed so it's worth reading the changelog before updating.
It does break the import on wagtailcaptcha/forms.py line 4:
from captcha.fields import ReCaptchaField
needs updating to
from django_recaptcha.fields import ReCaptchaField


TreeViewFilter

I've just been playing around with creating a tree view filter to modify tables.
This is what I've got so far.
use std::ptr;
use libc::c_void;
use libc::{c_int, c_char, c_uchar, c_float, c_uint, c_double};
use glib_sys::{gboolean, gconstpointer, gpointer};
use glib::Value;

let filter = TreeModelFilter::new(&boilingview.get_model().unwrap(),None);

unsafe extern "C" fn test( a : *mut gtk_sys::GtkTreeModel,b: *mut gtk_sys::GtkTreeIter, c: *mut gobject_sys::GValue, d: c_int, e : gpointer ){

    gobject_sys::g_value_set_int(c,1 as c_int);
    println!("filter");

}
unsafe {

 let mut xs: [GType; 3] = [G_TYPE_INT,G_TYPE_INT,G_TYPE_INT];
 let x = Some(test as unsafe extern "C" fn (  *mut gtk_sys::GtkTreeModel, *mut gtk_sys::GtkTreeIter, *mut gobject_sys::GValue, c_int,gpointer ));
gtk_sys::gtk_tree_model_filter_set_modify_func(filter.to_glib_none().0,3,xs.as_mut_ptr(),x,ptr::null_mut(),None);

}

I'd be interested to know of your opinions on how to convert test into a closure instead.
And also if I can use some other technique to set the value other than ` gobject_sys::g_value_set_int(c,1 as c_int)', which seems somewhat low-level.
Thanks a lot!

These examples don't do?
https://github.com/gtk-rs/examples/blob/pending/src/gtktest.rs#L148-L151
https://github.com/gtk-rs/gtk/blob/master/src/signal.rs#L1818-L1845

GValue already rustified in https://github.com/gtk-rs/glib/blob/master/src/value.rs

Thanks a lot, I'll have another go with that information :)

Manual part TreeModelFilter in https://github.com/gtk-rs/gtk/blob/master/src/tree_model_filter.rs.
It will be good if you make PR with working set_modify_func

Was done for https://github.com/gtk-rs/gtk/pull/279

use libc::{c_int, c_char, c_uchar, c_float, c_uint, c_double};
use glib_sys::{gboolean, gconstpointer, gpointer};
use libc::c_void;
use glib::Value;
use std::mem::transmute;

let mut xs: [GType; 4] = [G_TYPE_INT,G_TYPE_INT,G_TYPE_INT,G_TYPE_INT];

pub trait TreeModelFilterSignals {
    fn set_modify_func<F: Fn( *mut gtk_sys::GtkTreeModel, *mut gtk_sys::GtkTreeIter, *mut
gobject_sys::GValue, c_int,  gpointer ) + 'static>(&self,n_columns : i32,types : *mut GType,f: F) ;
}

impl TreeModelFilterSignals for TreeModelFilter {
    fn set_modify_func<F: Fn(  *mut gtk_sys::GtkTreeModel, *mut gtk_sys::GtkTreeIter,  *mut gobject_sys::GValue, c_int, gpointer ) + 'static>(&self,n_columns : i32,types : *mut GType,f: F) {
            unsafe {
                use std;
                gtk_sys::gtk_tree_model_filter_set_modify_func(self.to_glib_none().0,n_columns,types,transmute(modify_func as usize),std::ptr::null_mut(),None);
            }
    }
}

unsafe extern "C" fn modify_func( a : *mut gtk_sys::GtkTreeModel,b: *mut gtk_sys::GtkTreeIter, c: *mut gobject_sys::GValue, d: c_int, e : gpointer, f : &Box<Fn(*mut gtk_sys::GtkTreeModel, *mut gtk_sys::GtkTreeIter, *mut gobject_sys::GValue, c_int,  gpointer ) + 'static> ){

    // Segfault here
    f(a,b,c,d,e);

}

filter.set_modify_func(4,xs.as_mut_ptr(),move |a : *mut gtk_sys::GtkTreeModel,b: *mut gtk_sys::GtkTreeIter, c: *mut gobject_sys::GValue, d: c_int, e : gpointer| {

    unsafe {
        gobject_sys::g_value_set_int(c,1 as c_int);
    }

});

I've got a little bit further, but I'm currently getting a segfault when the closure is called for some reason, if I place 'gobject_sys::g_value_set_int(c,1 as c_int);' in the extern 'C' definition it seems to work weirdly (instead of calling a closure).

You don't pass f in gtk_tree_model_filter_set_modify_func,
also Fn need converted to trait and boxed as modify_func wait it.

Currently we use double boxing but it seems also work with single, see into_raw in manual part of TreeModelFilter

Thanks for the pointers, going to have another attempt in a bit

use libc::{c_int, c_char, c_uchar, c_float, c_uint, c_double};
use glib_sys::{gboolean, gconstpointer, gpointer};

//use std::ptr;
use libc::c_void;
use glib::Value;
use std::mem::transmute;

let mut xs: [GType; 4] = [G_TYPE_INT,G_TYPE_INT,G_TYPE_INT,G_TYPE_INT];

fn into_raw<F>(func: F) -> gpointer
    where F: Fn(*mut gtk::TreeModel, *mut gtk::TreeIter, *mut gobject_sys::GValue,c_int,gpointer) -> bool +  'static {
    let func: Box<Box<Fn(*mut gtk::TreeModel, *mut gtk::TreeIter, *mut gobject_sys::GValue,c_int,gpointer) -> bool + 'static>> =
        Box::new(Box::new(func));
    Box::into_raw(func) as gpointer
}

pub trait TreeModelFilterSignals {
    fn set_modify_func<F: Fn( *mut gtk::TreeModel, *mut gtk::TreeIter, *mut gobject_sys::GValue, c_int,  gpointer ) -> bool + 'static>(&self,n_columns : i32,types : *mut GType,f: F) ;
}

impl TreeModelFilterSignals for TreeModelFilter {
    fn set_modify_func<F: Fn(  *mut gtk::TreeModel, *mut gtk::TreeIter,  *mut gobject_sys::GValue, c_int, gpointer ) -> bool + 'static>(&self,n_columns : i32,types : *mut GType,f: F) {
            unsafe {
                use std;
                gtk_sys::gtk_tree_model_filter_set_modify_func(self.to_glib_none().0,n_columns,types, Some(modify_func),into_raw(f),None);
            }
    }
}

unsafe extern "C" fn modify_func( a : *mut gtk_sys::GtkTreeModel,b: *mut gtk_sys::GtkTreeIter, c: *mut gobject_sys::GValue, d: c_int, e : gpointer) {
    let e: &Box<Fn(&gtk::TreeModel, &gtk::TreeIter, *mut gobject_sys::GValue, c_int) -> bool> = transmute(e);
    e(&gtk::TreeModel::from_glib_none(a),&gtk::TreeIter::from_glib_none(b),c,d);
}

filter.set_modify_func(4,xs.as_mut_ptr(),move |a : *mut gtk::TreeModel,b: *mut gtk::TreeIter, c: *mut gobject_sys::GValue, d: c_int, e : gpointer| {
    unsafe {
        println!("In closure");
        gobject_sys::g_value_set_int(c,10 as c_int);
    }
    true
});

It seems to be almost working :)
The only thing I'm really confused about is, I've got a table with > 4 columns, but it's only seemingly
changing 3 columns to 10's.

Strange, it must change first 4 columns, not 3. May be first column hidden?

  I forgot the first column is an invisible ID field. cheers

I'm just trying to use Value now instead of GValue, but I seem to be getting the following:
src/hymntoninkasi.rs:814:11: 814:19 error: no method named `set_some` found for type `*mut glib::Value` in the current scope
src/hymntoninkasi.rs:814         c.set_some(&20);

Its defined only for TypedValue ?

I'm struggling to work out, is it possible to convert a Value to a TypedValue?
cheers

http://gtk-rs.org/docs/glib/value/struct.Value.html#method.downcast

I assume I'm doing something wrong, I keep getting:
error: no method named `downcast` found for type `*mut glib::Value` in the current scope

Rust doesn't auto-dereference raw pointers. You shouldn't have a reason to have a *mut glib::Value anyway.

Unfortunately it looks like I'd have to use a *mut Value, as it seems to expect:
pub type GtkTreeModelFilterModifyFunc = Option<unsafe extern "C" fn(*mut GtkTreeModel, *mut GtkTreeIter, *mut gobject::GValue, c_int, gpointer)>;

I'll have a play with de-referencing

Don't confuse GValue the FFI type with Value. The way Values are acquired via 'out' parameters can be observed in TreeModel::get_value.

Oh doh, sorry yeah I was mixing those.  So now I'm wondering, is it possible to convert a GValue --> Value, which I can pass from the extern 'C' function, to the closure?

It's more involved than just converting the from one to another because Value is an owned type (which in turn owns a GValue) but the callback only borrows a pointer to a GValue. The way I'd handle this is roughly
// create an owned temporary
let mut new_value = Value::uninitialized();
// set its type to the type of the `value` we got
g_value_init(new_value.to_glib_none_mut().0, (*value).g_type);
// call the closure giving it a mutable borrow of temporary value
closure(blah, blah, &mut new_value, blah, blah);
// move all data from the temporary to `value`
ptr::copy_nonoverlapping(new_value.to_glib_none().0, value, 1);
// prevent double-free
mem::forget(new_value);

This outlines the intent but would be more verbose in reality, e.g. getting at g_type requires a hack.

Thanks for taking the time to explain that, I think I've managed to possibly grab g_type through transmute.
I'm just a bit stuck with the closure part, I note you're passing new_value as &mut.  So I have the following parameters in the closure:
filter.set_modify_func(4,xs.as_mut_ptr(),move |a : *mut gtk::TreeModel,b: *mut gtk::TreeIter, c: &mut glib::Value, d: c_int, e : gpointer| {
        let mut z = c.downcast::<i32>().unwrap();
        z.set_some( &666 );
    true
});

When I try to use downcast on the &mut I get the following:
src/hymntoninkasi.rs:875:21: 875:22 error: cannot move out of borrowed content [E0507]
src/hymntoninkasi.rs:875         let mut z = c.downcast::<i32>().unwrap();

Oookay... this could suggest that that consuming self in downcast was not a good choice.
You can pass it to the closure by value though: let new_value = func(blah, blah, new_value, blah, blah);

Oookay... this could suggest that that consuming self in downcast was not a good choice.

I disagree, it's an excellent idea. If you need the object and its downcast object, either you clone it before downcasting or you execute all parent object operation before downcasting (so in this case, the first solution is preferred).

Thanks to you all for you're help, it does work now :)
use libc::{c_int, c_char, c_uchar, c_float, c_uint, c_double};
use glib_sys::{gboolean, gconstpointer, gpointer};
use libc::c_void;
use std::mem::transmute;
use glib::object::Downcast;

let mut xs: [GType; 4] = [G_TYPE_INT,G_TYPE_INT,G_TYPE_INT,G_TYPE_INT];

fn into_raw<F>(func: F) -> gpointer
    where F: Fn(*mut gtk::TreeModel, *mut gtk::TreeIter, glib::Value,c_int,gpointer) -> glib::Value +  'static {
    let func: Box<Box<Fn(*mut gtk::TreeModel, *mut gtk::TreeIter, glib::Value,c_int,gpointer) -> glib::Value + 'static>> =
        Box::new(Box::new(func));
    Box::into_raw(func) as gpointer
}

pub trait TreeModelFilterSignals {
    fn set_modify_func<F: Fn( *mut gtk::TreeModel, *mut gtk::TreeIter, glib::Value, c_int,  gpointer ) -> glib::Value + 'static>(&self,n_columns : i32,types : *mut GType,f: F) ;
}

impl TreeModelFilterSignals for TreeModelFilter {
    fn set_modify_func<F: Fn(  *mut gtk::TreeModel, *mut gtk::TreeIter,   glib::Value, c_int, gpointer ) -> glib::Value + 'static>(&self,n_columns : i32,types : *mut GType,f: F) {
            unsafe {
                use std;
                gtk_sys::gtk_tree_model_filter_set_modify_func(self.to_glib_none().0,n_columns,types, Some(modify_func),into_raw(f),None);
            }
    }
}

unsafe extern "C" fn modify_func( a : *mut gtk_sys::GtkTreeModel,b: *mut gtk_sys::GtkTreeIter, c: *mut gobject_sys::GValue, d: c_int, e : gpointer) {
    let e: &Box<Fn(&gtk::TreeModel, &gtk::TreeIter,&mut glib::Value, c_int) -> glib::Value> = transmute(e);

    use gobject_sys::g_value_init;
    use std::ptr;
    use std::mem;
    // create an owned temporary
    let mut new_value = Value::uninitialized();
    // set its type to the type of the `value` we got

    use glib_sys::GType;

    #[repr(C)]
    pub struct GValue2 {
        pub g_type: GType,
        pub data: [c_double; 2],
    }

    let array: &mut GValue2 = unsafe { mem::transmute(c) };

    g_value_init(new_value.to_glib_none_mut().0, array.g_type);
    // call the closure giving it a mutable borrow of temporary value
    let new_value =  e(&gtk::TreeModel::from_glib_none(a),&gtk::TreeIter::from_glib_none(b),&mut new_value,d);

    // move all data from the temporary to `value`
    ptr::copy_nonoverlapping(new_value.to_glib_none().0, c, 1);
    // prevent double-free
    mem::forget(new_value);
}

filter.set_modify_func(4,xs.as_mut_ptr(),move |a : *mut gtk::TreeModel,b: *mut gtk::TreeIter, c:  glib::Value, d: c_int, e : gpointer| {
    let mut z  = c.downcast::<i32>().unwrap();
    z.set_some( &123 );
    z.to_value()
});

Is there any chance you could make  g_type of GValue public, or are there reasons that would be a bad idea?

Is there any chance you could make g_type of GValue public, or are there reasons that would be a bad idea?

Technically we should treat GValue as opaque and use  G_VALUE_TYPE macro... In all supported libgobject versions though this macro expands to value->g_type so the hacks should be safe for now.

I disagree, it's an excellent idea. If you need the object and its downcast object, either you clone it before downcasting or you execute all parent object operation before downcasting (so in this case, the first solution is preferred).

The disposition is a bit different with objects and Value (which isn't an object). I wanted the only cost of TypedValue to be the type check itself. The need to clone a Value would sort of defeat that goal.

There are bindings for TreeModelFilter since a long time now


TypeError: login() got an unexpected keyword argument 'msi'

This is autogenerated. Please review and update as needed.
Describe the bug
The command was executed from a bash terminal with kali-linux, a similar error occurs on the powershell and cmd terminal as well. I'm new to bug reporting btw, Sorry for the inconveniences!
Command Name
az login Extension Name: azure-ml-admin-cli. Version: 0.0.1.
Errors:
The command failed with an unexpected error. Here is the traceback:
login() got an unexpected keyword argument 'msi'
Traceback (most recent call last):
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 231, in invoke
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 658, in execute
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 721, in _run_jobs_serially
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 692, in _run_job
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 328, in __call__
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler
  File "C:\Users\Felix\.azure\cliextensions\azure-ml-admin-cli\azext_admin\custom.py", line 82, in mls_login
    return login(username=username,
TypeError: login() got an unexpected keyword argument 'msi'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az login

Expected Behavior
Interactive login with azure
Environment Summary
Windows-10-10.0.19043-SP0
Python 3.10.4
Installer:

azure-cli 2.36.0

Extensions:
azure-ml-admin-cli 0.0.1

Dependencies:
msal 1.17.0
azure-mgmt-resource 20.0.0

Additional Context

@jiasli for awareness

Oh just wanted to follow up on this, kali-linux rolling is running this.
Turns out I already have the azure client terminal installed alongside Windows Terminal. I will try with ubuntu WSL2 now and see if anything changes.

@felix-rojas azure-ml-admin-cli is for Machine Learning Server. This product is being retired.
Are you looking for the CLI for Azure Machine Learning? Installation instructions are available here.


addresses issue #45

Small tweak in the @sk_model macro so that

in the multi-target case, fit expects a table for y and predict outputs a table
the name of the targets are passed

note: here, like in GLM, there is this slightly clunky way of passing additional informations along the "actual" fitresult which is used by the external package for the prediction; I believe it's fine for now but in some future it may be relevant to have fit return a 4-tuple with
return fitresult, aux_infos, cache, report

where aux_infos is possibly nothing or stuff like target names etc which would be passed along fitresult to predict. (we can discuss this some other time)

Awesome. This was evidently quite tedious to fix.
Yeah, we need an aux_info.
Many thanks.


how to hide warnings in Python?

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
how to hide warnings in python?
I tried with
#!/usr/bin/env python3
from yt_dlp import YoutubeDL
url = "https://acdn.ak-stream-videoplatform.sky.it/secure/hls/2024/05/26/928242/master.m3u8?hdnts=st=1717337831~exp=1717338131~acl=/secure/hls/2024/05/26/928242/*~hmac=173bc3f36631ea24fc8ea8040887f4f4ba3d9fa8888f063f797ad3a727b5dcaa"
params = {'downloader' : 'ffmpeg', 'hlsusempegts': True, 'nowarnings' : True, 'quiet': True, 'noprogress': True}
with YoutubeDL(params) as ydl:
    ydl.download(url)

but I stll receive
WARNING: Live HLS streams are not supported by the native downloader. If this is a livestream, please add "--downloader ffmpeg --hls-use-mpegts" to your command
Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

Don't guess the parameters, but use devscript/cli_to_api.py.
It's 'no_warnings': True, 'hls_use_mpegts': True, and 'external_downloader': {'default': 'ffmpeg'}


On Demand Scale Tests MVP

As a Marathon developer I would like to run a scale test against a custom cluster on demand so that I can generate test results and compare them over time.
Jenkins Job

Takes parameters:

Marathon URL
Meta data
Credentials

Runs all scale test against Marathon URL
Archives results from CSV on Jenkins

Includes meta data
Includes error messages

Limitations

Does not create a Marathon cluster for user.
Does not provide any visualization or analytics of results.
The tests do not install Marathon or make any assumptions of the cluster and the version.

FYI: this test configuration will be limited to scaling up to 2400 tasks

https://phabricator.mesosphere.com/D494

https://jenkins.mesosphere.com/service/jenkins/view/Marathon/job/scale/job/marathon-root-scale-pipeline/


[BUG] It does not work

get no point, it does not work now.

Hello, thanks for the feedback! I will have a look a it today, could you specify if any error message appeared or what part didn't work? Thanks a lot!

Hello, thanks for the feedback! I will have a look a it today, could you specify if any error message appeared or what part didn't work? Thanks a lot!

no error message, but no point is gotten
LOG
[2/10 10:52:2 - LOG] System Loaded
[2/10 10:52:3 - LOG] The app is up to date! 1.0.0
[2/10 10:52:38 - LOG] Starting...
[2/10 10:52:38 - LOG] trying to connect MY ID into hitsquadgodfather
[2/10 10:52:50 - LOG] MY IDconnected to hitsquadgodfather

Both 1.0.0 and dev version are not working.

Dev and 1.0.0 are basically the same if I'm not mistaken. You are trying to farm the custom points on the chat or the native ones?

Dev and 1.0.0 are basically the same if I'm not mistaken. You are trying to farm the custom points on the chat or the native ones?

I am farming the channel, and I followed these step,

First, add all the channel names that will be "viewed" on the top left menu.

Now add your username and authentication token(can be acessed here) on the bottom right menu.

Click Start and leave it running.

Enjoy those effortless points!

https://twitchapps.com/tmi/ get the oauth:XXXXXXX
just copy the XXXXXX as token, right?

You copy all of it, including the oauth: part. I should write that to the Readme later, kinda confusing haha

You copy all of it, including the oauth: part. I should write that to the Readme later, kinda confusing haha

Oh, I try again, and then tell you result.

You copy all of it, including the oauth: part. I should write that to the Readme later, kinda confusing haha

Same result, not working, no point is gotten.
These are so many twitch drop/ points bot are broken in GITHUB,
due to twitch update to against bots,
maybe it is a reason.

You copy all of it, including the oauth: part. I should write that to the Readme later, kinda confusing haha

I remember it worked even if I copy the token only, but it is long time ago (the latest version).


refactor project

Been having too much bugs and commit fixes due to the fast growth of the package.
Will be refactoring all and properly add unit tests to minimise these issues.
Please create issues if you find any bugs.
TODO:

[ ] Unit tests with Mocha/Chai/SinonJS and Istanbul on Atom's Custom Package Specs,
[x] Refactor Group Model,
[ ] Refactor Group View,
[ ] Refactor Project Model,
[ ] Refactor Project View,
[ ] Code coverage as close as possible to 100%,
[ ] Travis CI integration,
[ ] more tasks will be added.

:shipit:

this is still alive...

Have been making an approach on the package that I think it would be interesting to see how it flows.

Also, posted an entry on the Atom discussion about the future of this package here.
A lot on my mind about this direction

There is also a discussion on project-plus https://github.com/mehcode/atom-project-plus/issues/36 regarding the direction of this and possible other packages.

latest update on the refactor.
Still a big mess but hope it will be a clean and performant at the end.
please comment and ideas for improvement
https://github.com/jccguimaraes/atom-project-viewer/tree/refactor

Hi all,
Can you give me feedback on the new idea for adding items (clients, groups or projects)? Thankz

As well as this

Hi
Second capture looks nice, with ergonomic evolve
Frist capture, I don't see. Actual interface with all vertical step looks enough. This proposition as tab looks more complicate.
As in these propositions, clients have same behavior than group, miss  an action to add a (sub)subgroup.

I think it's looking good!  I initially thought it might be cool to have shortcuts for creating new Clients/Groups on the "Project" tab, but that's overkill after thinking about it more.  My thought was to save a few UI interactions if you just want to create a new Project (with a new Client/Group at the same time)- but it's really not worth the effort (and risk for introducing bugs, etc).

@camlafit, the reason I did this aproach was to make it look & feel like Atom styleguides. There are no select / option component to my like in the current styles. And the native ones just seems out of place.
But I agree that they do the job.
@skratchdot, I am thinking of a statusbar on the panel with some shortcuts, but they will be for another time :)
Probably add some alerts / warning icons when there are some problems instead of the intrusive popups the plugin currently has. Are you okay with the new Add modal?

autoclose popups now :p

@jccguimaraes - definitely okay with it!!!  It looks great.  I only put that one comment about shortcuts because you asked for feedback (and it popped into my head).  I don't think those shortcuts are worth any time or effort though- only mentioned it because it was the first idea that popped into my head.
Keep up the good work!

nice :)

really valuable input. thanks guys

Nice :)

it's almost done @camlafit ! :)


[vtk] vtkWrapHierarchy have wrong rpath after move into tools folder

Describe the bug
When building vtk, the tools, for example vtkWrapHierarchy-9.3, will install it in to ${CURRENT_PACKAGES_DIR}/tools/vtk from "${CURRENT_PACKAGES_DIR}/bin/
But that means that the relative path to the libs folder that used to be ../lib will no longer work
hence no tools will work with dynamic linking.
Environment

OS: MacOS 14.4.1
Compiler: Xcode 15.4

To Reproduce
Steps to reproduce the behavior:

./vcpkg install vik
run vtkWrapHierarchy-9.3 in the tools/vtk dir

Failure logs
./vtkWrapHierarchy-9.3
dyld[65642]: Library not loaded: @rpath/libvtkWrappingTools-9.3.1.dylib
  Referenced from: <20530CCC-714A-390F-9702-D2A5E336E14D> /Users/peter/Documents/Inviwo/build/inviwo-vcpkg-dynamic/vcpkg_installed/arm64-osx-dynamic/tools/vtk/vtkWrapHierarchy-9.3
  Reason: tried: '/Users/peter/Documents/Inviwo/build/inviwo-vcpkg-dynamic/vcpkg_installed/arm64-osx-dynamic/tools/lib/libvtkWrappingTools-9.3.1.dylib' (no such file), '/Users/peter/Documents/Inviwo/build/inviwo-vcpkg-dynamic/vcpkg_installed/arm64-osx-dynamic/tools/lib/libvtkWrappingTools-9.3.1.dylib' (no such file)
zsh: abort      ./vtkWrapHierarchy-9.3

Additional context
Add any other context about the problem here.

Will probably be fixed by #36556

fixed in #39313


⚠ Bofrost.gr has degraded performance

In f91f5f6, Bofrost.gr (https://www.bofrost.gr) experienced degraded performance:

HTTP code: 200
Response time: 2179 ms

Resolved: Bofrost.gr performance has improved in a624693 after 7 minutes.


Avoid an unnecessary call to Gnista::Hash#include? on get

Previously we called include? to decide whether or not to return the default value instead of just checking the value. This ensures that a stored false or nil value would not fall back to the default. However, this is unnecessary because false and nil cannot be stored in Gnista hashes, only strings are allowed and strings are truthy in ruby.
@schleyfox as we discussed this should be safe, but please double-check the specs to see if I'm missing a test case.

:+1:

:rocket:


import of participants does not check for doublings

import a CVS file with participants
now try to import the same file again

result: OpenSlides does correctly nothing because the content is already in the system but it tells you that something will happen:

now imagine you get a phone call that surprisingly 15 persons will participate. So you will add them to you CSV file and import it again

result: OpenSlides imports also the already existing participants again and not only the new ones

Already fixed in current master.

Many thanks for the new feature to decide for every user if it should be overwritten or not. This eases real life a lot.


vdj mkref no longer available?

Hi, following the commands in this page, when I type command "celescope vdj mkref", an error occurred:
celescope vdj: error: invalid choice: 'mkref' (choose from 'sample', 'barcode', 'cutadapt', 'consensus', 'mapping_vdj', 'count_vdj')
It looks mkref is no longer available in "celescope vdj"? If so, how should I index vdj reference? Thanks.

celescope vdj mkref is only available in the lastest beta version v1.14.0b0.
pip install celescope==1.14.0b0

Thanks. I installed 1.14.0b0 by commands below:
mamba create -y --prefix /install/path --file CeleScope/conda_pkgs.txt
conda activate /install/path
pip install celescope==1.14.0b0

The installation looks ok. Then I used commands "celescope vdj mkref human TR" to index reference. The screen output is:

2022-12-08 17:31:36,150 - celescope.vdj.mkref.combine_seq - INFO - start...
2022-12-08 17:31:36,282 - celescope.vdj.mkref.combine_seq - INFO - done. time used: 0:00:00.130503
2022-12-08 17:31:36,283 - celescope.vdj.mkref.build_index - INFO - start...
/bin/sh: edit_imgt_file.pl: command not found
Traceback (most recent call last):
  File "/mnt/sata/mao/za/bcr.tcr/Singleron/celeScope3/bin/celescope", line 8, in
    sys.exit(main())
  File "/mnt/sata/mao/za/bcr.tcr/Singleron/celeScope3/lib/python3.9/site-packages/celescope/celescope.py", line 44, in main
    args.func(args)
  File "/mnt/sata/mao/za/bcr.tcr/Singleron/celeScope3/lib/python3.9/site-packages/celescope/vdj/mkref.py", line 75, in mkref
    runner()
  File "/mnt/sata/mao/za/bcr.tcr/Singleron/celeScope3/lib/python3.9/site-packages/celescope/vdj/mkref.py", line 36, in __call__
    self.build_index()
  File "/mnt/sata/mao/za/bcr.tcr/Singleron/celeScope3/lib/python3.9/site-packages/celescope/tools/utils.py", line 46, in wrapper
    result = func(*args, **kwargs)
  File "/mnt/sata/mao/za/bcr.tcr/Singleron/celeScope3/lib/python3.9/site-packages/celescope/vdj/mkref.py", line 69, in build_index
    subprocess.check_call(f"edit_imgt_file.pl {file} > {out_file_name}.fa", shell=True)
  File "/mnt/sata/mao/za/bcr.tcr/Singleron/celeScope3/lib/python3.9/subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'edit_imgt_file.pl TRV.fasta > TRV.fa' returned non-zero exit status 127.

Then I ran "celescope vdj mkref human IG", the output is similar:

2022-12-08 17:31:39,733 - celescope.vdj.mkref.combine_seq - INFO - start...
2022-12-08 17:31:39,848 - celescope.vdj.mkref.combine_seq - INFO - done. time used: 0:00:00.113806
2022-12-08 17:31:39,848 - celescope.vdj.mkref.build_index - INFO - start...
/bin/sh: edit_imgt_file.pl: command not found
Traceback (most recent call last):
  File "/mnt/sata/mao/za/bcr.tcr/Singleron/celeScope3/bin/celescope", line 8, in
    sys.exit(main())
  File "/mnt/sata/mao/za/bcr.tcr/Singleron/celeScope3/lib/python3.9/site-packages/celescope/celescope.py", line 44, in main
    args.func(args)
  File "/mnt/sata/mao/za/bcr.tcr/Singleron/celeScope3/lib/python3.9/site-packages/celescope/vdj/mkref.py", line 75, in mkref
    runner()
  File "/mnt/sata/mao/za/bcr.tcr/Singleron/celeScope3/lib/python3.9/site-packages/celescope/vdj/mkref.py", line 36, in __call__
    self.build_index()
  File "/mnt/sata/mao/za/bcr.tcr/Singleron/celeScope3/lib/python3.9/site-packages/celescope/tools/utils.py", line 46, in wrapper
    result = func(*args, **kwargs)
  File "/mnt/sata/mao/za/bcr.tcr/Singleron/celeScope3/lib/python3.9/site-packages/celescope/vdj/mkref.py", line 69, in build_index
    subprocess.check_call(f"edit_imgt_file.pl {file} > {out_file_name}.fa", shell=True)
  File "/mnt/sata/mao/za/bcr.tcr/Singleron/celeScope3/lib/python3.9/subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'edit_imgt_file.pl IGD.fasta > IGD.fa' returned non-zero exit status 127.

Anything wrong?

edit_imgt_file.pl is icluded with igblast.
https://github.com/singleron-RD/CeleScope/blob/01df672ce67088f0a812207d4daabc2f4ef2eb83/conda_pkgs.txt#L10
You can check if you have installed igblast with:
which igblastn
which edit_imgt_file.pl

Thanks. Problem solved!


[poap-with-weights] Poap with weight

Fixes Added POAP with weight.
Changes proposed in this pull request:
Each POAP is implemented as an erc721 with a max supply tokens.
This strategy weights the vote with a specific ERC721 NFT with a given TokenId according to the holdings of each POAP and relative scarcity of each NFT.

@gawainb Could you remove changes on package-lock.json? Also import the README.md file in the strategy code, see example https://github.com/snapshot-labs/snapshot-strategies/blob/master/src/strategies/erc20-balance-of/index.ts#L5-L10

Removed aboutFile

@gawainb Please update your fork's branch with the latest changes in the latest branch, Thanks :)

@gawainb Please resolve conflicts, i cant resolve it because this branch is not allowed changes from maintainers
Also when I run this in my local I get the following error, make sure to run npm run test --strategy=poap-with-weight and make sure everything is passed
Test strategy "poap-with-weight" › Strategy should run without any errors

    FetchError: invalid json response body at https://api.thegraph.com/subgraphs/name/poap-xyz/poap/graphql reason: Unexpected token N in JSON at position 0

      58 |         body: JSON.stringify({ query: json_to_graphql_query_1.jsonToGraphQLQuery({ query }) })
      59 |     });
    > 60 |     const { data } = await res.json();
         |                      ^
      61 |     return data || {};
      62 | }
      63 | exports.subgraphRequest = subgraphRequest;
      ```

Yes, I'm not getting my object of addresses for some reason...

@ChaituVR Can you look on this?