Condition support compare 2 fields

Motivation
To write more flexible rules
Feature
Falco macro or rule condition can comparisons of two fields, such as for setuid syscall, we can fillter events with macro user_known_non_sudo_setuid_conditions:
- macro: user_known_non_sudo_setuid_conditions
  condition: (user.name=root or evt.arg.uid=user.uid)

Additional context
In alpine:3 image, when run grep process with non-root user can trigger "Non sudo setuid" rule.
{
  "hostname": "ec2",
  "output_fields": {
    "container.id": "65b387993dfc",
    "container.name": "modest_lamarr",
    "evt.arg.uid": "demo",
    "evt.time":<PHONE_NUMBER>817250149,
    "evt.type": "setuid",
    "proc.cmdline": "grep localhost /etc/hosts",
    "proc.exepath": "/bin/busybox",
    "proc.name": "grep",
    "proc.pname": "sh",
    "proc.tty": 34816,
    "user.loginuid": -1,
    "user.name": "demo",
    "user.uid": 1000
  },
  "priority": "Notice",
  "rule": "Non sudo setuid",
  "source": "syscall",
  "tags": [
    "T1548.001",
    "container",
    "host",
    "maturity_incubating",
    "mitre_privilege_escalation",
    "users"
  ],
  "time": "2024-12-19T10:43:12.817250149Z"
}

When strace  grep we got:
ec2:~$ strace grep localhost /etc/hosts
...
setgid(1000)                            = 0

Hi,
This is already possible since Falco 0.38 with the operator val()
- macro: user_known_non_sudo_setuid_conditions
  condition: (user.name=root or evt.arg.uid=val(user.uid))

Regards

Hi,
This is already possible since Falco 0.38 with the operator val()
- macro: user_known_non_sudo_setuid_conditions
  condition: (user.name=root or evt.arg.uid=val(user.uid))

Regards

Thanks, I have verified. It would be more reasonable if evt.arg.uid returned a numeric value
...
 "output_fields": {
    "evt.arg.uid": "demo",
    "user.name": "demo",
    "user.uid": 1000
...
  },

Already supported in Falco 0.38


RBAC not reflected in UI

Describe the bug
We want to introduce role based access to our clusters where we are creating kubeconfigs from a service account. To the service accounts we granted various rights read/write over different resources on namespace level, also on resource on the cluster level. So far so good, when using generated config we have desired outcome when playing with kubectl, but once we use the exact same kubeconfig on Lens, it shows only resources that belongs to the service account namespace (rights on namespaces level) and namespaces(rights on cluster level).
A sample of our rbac looks like this:
apiVersion: v1
kind: ServiceAccount
metadata:
  name: qa-lsng
  namespace: qa-lsng
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: qa-admin
rules:
- apiGroups: [""]
  resources: ["namespaces"]
  verbs: ["get", "list"]
- apiGroups: ["","apps","extensions", "batch", "metrics.k8s.io"]
  resources: ["deployments", "configmaps", "pods", "secrets", "ingresses", "cronjobs", "services", "statefulsets", "pods/log", "events"]
  verbs: ["create", "get", "delete", "list", "update", "edit", "exec"]

---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: qa-ns1
  namespace: qa-ns1
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: qa-admin
subjects:
- kind: ServiceAccount
  name: qa-lsng
  namespace: qa-lsng

---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: qa-ns2
  namespace: qa-ns2
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: qa-admin
subjects:
- kind: ServiceAccount
  name: qa-lsng
  namespace: qa-lsng

To Reproduce
Steps to reproduce the behavior:

Create RBAC structure from above
Insert generated kubeconfig in Lens
Enjoy

Expected behavior
If with generated kubeconfig from above RBAC structure I can have above mentioned rights, why do I miss them in Lens? Am I missing something in the above configurations or is it just a bug in UI?
Screenshots
From the last screenshot (cli) it can be seen that I can see resources from another ns rather than qa-lsng and also I see clusterscope resources

Environment (please complete the following information):

Lens Version:
Lens: 5.3.4-latest.20220120.1
Electron: 13.6.1
Chrome: 91.0.4472.164
Node: 14.16.0
© 2021 Mirantis, Inc.
OS: MacOs Monterey v12.0.1
Although the issue might not relay on this specific Lens version or PC OS, because this replicates across my team (various windows/linux machines with different Lens versions).

What does your kubeconfig look like? Does it have a user setup?

Below you can find my kubeconfig:
apiVersion: v1
kind: Config
clusters:
  - name: cluster-aks
    cluster:
      server: >-
        https://cluster.hcp.westeurope.azmk8s.io:443
      certificate-authority-data: >-
        ${cert}
      insecure-skip-tls-verify: false
users:
  - name: cluster-qa-lsng-token-user
    user:
      token: >-
        ${token}
contexts: []
preferences: {}
current-context: qa-lsng

I have updated kubeconfig. Interesting thing is that if you remove namespace it will ask you to configure the namespaces where you have access. After listing all the namespaces where Service Account has, it works.
Is there a shortcut where those extra steps can be bypassed ?

It should only ask you to configure the namespaces if you do not have list permissions on namespaces.

As it can be seen in my ClusterRole, I do have "get" and "list" permissions (confirmed via cli also), but I still need to do those extra steps - add namespaces in Lens where I have access

Any ideas how this can be solved?


⚠ ClamAV has degraded performance

In d392d8c, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 69 ms

Resolved: ClamAV performance has improved in 71c2d0e.


Edit names of files after creating them

You can't edit the names of files after creating them.
Workaround: create new file, copy paste content, delete old file.
One issue to consider is that imports might break, e.g. if you've referenced your new file from the main script.
We should see if Pyright has any rename refactoring support we can leverage.

CC @microbit-katie who reported it.


about the data and model link

Thank you for your wonderful work, and I am working on reproducing, and could you please share the data and model link? Thanks a lot.

Thanks for your comments.
Nevertheless, what is the  the data and model link you refer to?

I am not sure how to generate the train_data='okvqa_train_t5_v5_frequent_bm25.json' in .sh file, maybe the output file 'vqa2_train_t5_3_v5_frequent_bm25' of vqa2_deal.py?

could you please give me a requirements.txt file, thanks a lot.
when i run bash run_okvqa_train.sh, found this error:
transformers==3.0.2
Traceback (most recent call last):
File "train_reader.py", line 231, in
tokenizer = transformers.T5Tokenizer.from_pretrained(model_name, cache_dir=cache_dir)
File "/mnt/lustre/lidedong1/.local/lib/python3.6/site-packages/transformers/tokenization_utils_base.py", line 1140, in from_pretrained
return cls._from_pretrained(*inputs, **kwargs)
File "/mnt/lustre/lidedong1/.local/lib/python3.6/site-packages/transformers/tokenization_utils_base.py", line 1246, in _from_pretrained
list(cls.vocab_files_names.values()),
OSError: Model name 't5-base' was not found in tokenizers model name list (t5-small, t5-base, t5-large, t5-3b, t5-11b). We assumed 't5-base' was a path, a model identifier, or url to a directory containing vocabulary files named ['spiece.model'] but couldn't find such vocabulary files at this path or url.
transformers==4.10.0
Traceback (most recent call last):
File "train_reader.py", line 281, in
tokenizer
File "train_reader.py", line 87, in train
dev_em = evaluate(model, eval_dataset, tokenizer, collator, opt, tk_tokenizer, pt_stemmer)
File "train_reader.py", line 145, in evaluate
max_length=50
File "/mnt/lustressd/lidedong1/workspace/MLP/projects/LaKo/src/model.py", line 60, in generate
max_length=max_length
File "/mnt/cache/share/spring/conda_envs/miniconda3/envs/s0.3.4/lib/python3.6/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "/mnt/lustre/lidedong1/.local/lib/python3.6/site-packages/transformers/generation_utils.py", line 933, in generate
raise ValueError("Make sure that model_kwargs include encoder_outputs of type ModelOutput.")
ValueError: Make sure that model_kwargs include encoder_outputs of type ModelOutput.
Can you figure out why?

If I want to test a new image with the well-trained model, how should I do it? Could you please provide this part of the script? Thanks!

You can understand that okvqa and vqa2.0 have the same data processing

You can understand that okvqa and vqa2.0 have the same data processing

Is there any parameters change in function load_init() for okvqa/vqa2.0?

load_init()

I'm under the impression it's pretty much the same, you can look at the file directory of the data.

load_init()

I'm under the impression it's pretty much the same, you can look at the file directory of the data.

data_process/data/okvqa have 3/train.json and 1/valid.json, however data_process/data/vqa2.0 donnot have the train/valid file.

Well, in fact some data is generated by our scripts. You could firstly look through the original OKVQA/VQA2.0 resource and find their distinction compared with our data source.
This could really help you understand our motivation and data processing process.

Well, in fact some data is generated by our scripts. You could firstly look through the original OKVQA/VQA2.0 resource and find their distinction compared with our data source.
This could really help you understand our motivation and data processing process.

OK, Thanks for your reply.

I am not sure how to generate retriever_train_data="okvqa_train_t5_v5_frequent_bm25_${attention_part}${model_size}with${attention_score_style}${version}.json";
and retriever_eval_data, could you please interpret how to generate them? Thanks a lot :)

This is the attention score style(max/mean) and attention_part(half/full):

Model_size could be large/base
I suggest you understand the principle of FiD and DPR

The following two paper may be help for reference:

Leveraging passage retrieval with generative models for open domain question answering
Dense Passage Retrieval for Open-Domain Question Answering
Distilling knowledge from reader to retriever for question answering

Thank you for your help and patience, it helps me a lot.


Option to omit proofs up to line

Add an option to CoqToLine (CoqToLine!) to omit the body of and admit all opaque proofs (those ending in Qed or Admitted) up to the specified line. Works similarly to Proof General's proof-omit-proofs-option.
Caveats:

Proofs must begin with Proof.
A proof is considered non-opaque and is not omitted if it contains a nested non-opaque proof.
Proofs in sections may need to list the variables they depend on with Proof using in order to get the right type when the proof body is omitted.

Closes #320.
TODO:

[x] Highlight omitted proof start and end.
[x] Documentation.

@lgaeher I've done some basic testing and this seems to work, but I'm going to try using this branch for a couple days before merging just to make sure I didn't miss anything obvious. If it isn't too much trouble, it would be very helpful if you could do the same.

Yep, I set it up as soon as I saw it -- I will report if I notice anything odd. Thanks for implementing this so quickly! :)

One thing that doesn't seem quite right yet is the highlighting of omitted proofs.
It seems like after starting scripting in a file and using :CoqToLineOmit, at most the first two proofs to omit will be highlighted -- all proofs after that will still be skipped, but without highlighting their Proof and Qed.
This even holds true if I skip proof 1, do not skip proof 2, skip proof 3, do not skip proof 4, etc: proof 1 and 3 will be highlighted as skipped, but none after that.

It looks like the issue is that Vim <=8.2 has a limit on the number of matches that can be added at once with matchaddpos(). That should be a pretty easy fix, I'll try to get to it soon.

Actually, I'm on
NVIM v0.8.3
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by<EMAIL_ADDRESS>
Features: +acl +iconv +tui

But maybe nvim has the same limitation?

Relatedly, I've noticed some inconsistencies with the highlighting -- I'm not sure if that is intended or not.
In the following image, the first two proofs were stepped over with :CoqOmitToLine, while the last two proofs were stepped over with :CoqToLine. They are highlighted differently. I would probably have expected that the omitted proofs are highlighted in the same way as regular admitted proofs.

The matchaddpos patch was ported to nvim, but it is not included in the stable release yet. https://github.com/neovim/neovim/commit/85c7d4f7a92326dcd70317b048bafe96c8051701

The issue with giving matchaddpos() too many matches at once should be fixed now.
As for the highlighting being different, one issue is the match range is off; it should start at the beginning of the word, not the line. That should also be fixed now. I'm not completely sure what's going on with the different colors though. The omitted Proof and Qed sentences are highlighted with CoqOmitted, which, by default, is mapped to coqProofAdmit (which maps to coqError, which maps to Error), which is the same as what Admitted and Abort use. Highlighting added by matchadd() or matchaddpos() has a higher priority than regular syntax highlighting so maybe it's something to do with that?
Are you overriding any of the default highlighting with autocmd ColorScheme or g:CoqtailHighlight()? You can check what syntax rules are being applied to the text at the cursor position with map(synstack(line('.'), col('.')), {_, id -> [synIDattr(id, 'name'), synIDattr(synIDtrans(id), 'name')]}) (this won't include highlighting from matchadd() or matchaddpos()).

Thanks, this works!
Regarding the different colours, the issue persists when I remove all autocmd ColorScheme and g:CoqtailHighlight from my rcfile. I'll try to debug this more later on.
One other issue I've encountered is that having a comment before a Qed. or Admitted. ending a proof, CoqOmitToLine will not correctly detect the proof as something to omit. For instance, this occurs with
Lemma bla : True.
Proof.
  exact I.
  (* *)
Qed.

CoqOmitToLine will actually interpret the proof. When removing the comment, it is correctly omitted.
It seems like the issue is with detecting the closing Qed.. When I put the following code after the above code, the closing Qed. of the obligation will be detected as belonging to the lemma above, leading to the Check in the following line to fail (since, in fact, the whole Program Definition has been omitted):
Program Definition blub : True := _.
Next Obligation.
  exact I.
Qed.
Check blub.

Good catch on the comment issue. I thought I had tested that, but I wasn't checking the case where it's in the same sentence as Qed or Proof. I believe that's fixed now. At least your example works as expected for me.

Highlighting added by matchadd() or matchaddpos() has a higher priority than regular syntax highlighting so maybe it's something to do with that?

I've experimented a bit more and the highlighting is also different when I've got basically nothing in my rcfile.
It seems like the different highlighting is rather caused by the "proof-checked" region highlighting overriding some of the regular error highlighting for Admitted.: the "proof omitted" highlighting is consistent with the highlighting for unchecked Admitted.s. So this doesn't seem like an issue in the context of this PR.
Otherwise, I haven't encountered any other issues in the past couple of days of using this feature.

Thanks, it's been working for me too so I'm going to go ahead and merge. Feel free to open a separate issue for the highlighting problem.


Support address.code in sema

You also need an evm test cases without errors

@seanyoung it's already covered because it decreases the failing EVM tests. But I added a bunch more, can't harm to have our own.


cannot import name 'cached_path' from 'transformers'

from transformers import cached_path
ImportError: cannot import name 'cached_path' from 'transformers' (/root/anaconda3/envs/transformers/lib/python3.10/site-packages/transformers/init.py)

how to fix this???? i try many things for hours and nothing :/

I had to upgrade transformers version to 4.12.5. But be careful with the interact.py https://github.com/huggingface/transfer-learning-conv-ai/issues/98
Hope this helps thanks!

Hello. I have the same problem.  when I want to install transformers==2.5.1
this error happens:
Building wheels for collected packages: tokenizers
error: subprocess-exited-with-error
× Building wheel for tokenizers (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
Building wheel for tokenizers (pyproject.toml) ... error
ERROR: Failed building wheel for tokenizers
Failed to build tokenizers
ERROR: Could not build wheels for tokenizers, which is required to install pyproject.toml-based projects


Can't use WhereFilterType.Contains for property of type int

When I use filter for searching objects by property of type int (or non-string but numeric) with WhereFilterType.Contains exp is thrown.
I tried this:
if (prop.Type == typeof(string))
                    {
                        return Expression.Call(prop, ContainsMethod, Expression.Constant(filter.Value, StringType));
                    }

                    if (int.TryParse(filter.Value.ToString(), out int numericValue))
                    {
                        return Expression.Call(prop, ContainsMethodAsInt, Expression.Constant(numericValue, IntType));
                    }

but I got error:
The binary operator OrElse is not defined for the types 'System.Boolean' and 'System.Int32'.
System.Linq.Expressions.Expression.OrElse(Expression left, Expression right, MethodInfo method)
System.Linq.Expressions.Expression.OrElse(Expression left, Expression right)
Any idea how to search by numeric property?

Contains method searching only in string.

@mrxten  is there any way, how to search in numeric type with usage of QueryDesigner?

No ofc. How you imagine it in Expression and finally in SQL?

On 4 Mar 2019, at 11:09, jetro44<EMAIL_ADDRESS>wrote:
@mrxten is there any way, how to search in numeric type with usage of QueryDesigner?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@mrxten
I looking for something like this:
SELECT Id,ColumnAsInt
FROM SomeTable
WHERE ColumnAsInt like CAST(527 as nvarchar) + '%'

527 is search value
RESULT:
Id	ColumnAsInt
3742	52700
3416	52701
2578	52704
2448	52705

Hmm, could you show how would you implement this request via Entity Framework?

@mrxten
I see, why you ask this question... CAST seems to be not supported in EF, but it is possible to call something like this:
query = query.where(o => EF.Functions.Like(o.ColumnAsInt .ToString(), "%" + searchValue + "%"))

I apologize for my insufficient knowledge. However, this is one of the reasons I would like to implement searching via your QueryDesigner. If you have any idea, how to search in int columns (and other numerous types), I will appreciate it.
Nevertheless, thanks for QD, its helpful.

Entity framework doesn't support extended method ToString. I'm afraid this cannot be implement via .net expression. Or I just didn't find way.

Thanks @mrxten. I'll try to make some overriding on business layer of our solution (but in combination of your QD). We should wait for EF improvement...


[TC-I-2.2] Identify-time attribute is not counting down

Problem
The identify-time attribute is not counting down while an identity is active. It remains at the last set value either by and identify command or an attribute write.
Test Cases
TC-I-2.2 | Primary functionality with server as DUT
Logs
21-11-16_23:19:49_TC-I-2.2.log
DUT

commit f51eeb39de1e58c8f55a13cfc59782e8e11c6948 (HEAD -> test_event_7, origin/test_event_7
ESP32 Platform
On/Off Light Switch

@andrew-lifx and @wqx6 , is this fixed by PR #12082?

@franck-apple Yes, it is fixed now.


using the katex plugin from a web source?

Hi, sorry this is a bit of a novice question and I couldn't find an IRC channel for reveal.js..
How would I use the katex plugin without a local checkout? I mean refering to the script source on the web? In your README you mention to use these lines.
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.9.0-alpha2/katex.min.css" integrity="sha384-exe4Ak6B0EoJI0ogGxjJ8rn+RN3ftPnEQrGwX59KTCl5ybGzvHGKjhPKk/KC3abb" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.9.0-alpha2/katex.min.js" integrity="sha384-OMvkZ24ANLwviZR2lVq8ujbE/bUO8IR1FdBrKLQBI14Gq5Xp/lksIccGkmKL8m+h" crossorigin="anonymous"></script>

I presume that this goes below the head section in the html document, yes?
Do I then need to initialize the plugin somewhere?
Just adding those lines to the head will not result in math content to be rendered..
Thanks for any pointers!

Yes, those go within <head>. To then autorender math in your HTML, you'll want to also include the KaTeX autorender script and call it, as described in the autorender documentation. Let us know if you have trouble.

exactly what I was missing. Thanks a lot for your quick response!


Added j, k to scroll.  Command line args.

Sorry, meant too make this a PR to my fork.
It's not cross-platform, so no need to merge.


Error when fitting a model to a measurement file

Bug when performing a fit:
When one first selects a distribution and then selects another distribution one gets an error in case the first distribution had selected a depdency function for a parameter which the second distribution does not have.
Step 1:

Step 2: (Change from Log-normal to Weibull which has only two of the three parameters)

Resulting error:

Solution:
When the distribution is changed the dependency function needs to be reset.

This issue was solved at the 23th of April in issue#41. But at the moment it is not merged into the master branch.

I don't think it was solved in issue#41. I just tried with the feature-branch and still got the error.


fix memory leak problem of vector

We cannot directly clear vector of pointers. Memory should be deallocated first.

Thanks for the update!


fix: Remove duplicate _requestUpdate

I think DOMElement should be rewritten (no API changes, I promise!). Currently there is state all over the place, messy code and probably some weird bugs.
Was talking to @DnMllr about that before. Appropriate Privotal Tracker story has been created.

@alexanderGugel Looks good.


Add vuex support

@klarkc what is the best practice for handling this situation?

@IvoPereira I think it's not healthy to use vuex in such context, maybe you should use event bus instead, more about this.

In an usual case I would understand, however my main component has a lot of organized child components and passing props between all them may become a mess in the hand.
Vuex would make this so easier. Do you have at least any idea on how would you implement it?

One of things that Vuex want to resolve is to centralize the state. So hiding the state inside the component is a bad pratice, so what you can do is expose the state to who gonna use your component.
You can simple use internal state (this.$store.state), call actions and mutations and document this to who gonna use your component. Also you must expose default implementations for state, actions and mutations to who gonna use the component (you can expose a whole vuex module for this).
Or... You can ignore all best pratices and just import Vue + Vuex, use the Vuex plugin and expose the stateful component through entry file. Expect strange things for this :rofl:
One use case is this vuex plugin, that must have state, and expose things to user handle it.

In my specific use case, I am creating an UMD build to implement into my own project, so I don't have to worry with third-parties.
Just need a clean way to have separate components and implement them wherever I need in my existing project.
Isn't there a way to define some default properties for new Vue instances? That way I would be able to pass the store automatically from the component side whenever a new Vue instance is created.

@IvoPereira I think you can pass the store though a prop without issues, what you should not do is change the state directly, but if you are calling mutations and actions through $store prop there will be no problem

Also on parent, you can just do this to generate the store for the components:
import {myChildStore} from 'my-child';

Vue.use(Vuex);
const store = new Vuex.Store({ modules: {myChildStore} });
new Vue({template: '<my-child :store="$store" />', components: {myChild}, store)

this way, you are not doing bad pratices, and user knows that there are internal state being managed by the child component.


Update file system id generation to expected regex

This change intends to address https://github.com/getmoto/moto/issues/8148
Modifies how fsx fs id is generated so that:

there are not collisions for requests that happen in parallel
it complies with the expected regex.

@rpmcginty great enhancement. I can't recall why I did it that way, although it was my 1st moto contribution. Thx!

@rpmcginty Actually, you should add this to the offical repo.
https://github.com/getmoto/moto

Please merge to https://github.com/getmoto/moto

Oh shoot! sorry that was a mixup on my end.
And thank you for putting this together in the first place, it was greatly appreciated!


Print a log instead raising an exception in @select(flushMessageQueue:)

If raise an exception in @select(flushMessageQueue:), it will be raising to WebView Call stack through @select(webView:decidePolicyForNavigationAction:decisionHandler:).
Sometimes It will cause memory leaks on devices (not on simulators), and the WebView will not be release as soon as possible.
Bad idea to throw an exception there!

Thanks @yirenjun!


modern-cv:0.4.0

I am submitting

[ ] a new package
[x] an update for a package

Changes

Support for more languages
Improve configuration for languages that use non-Latin based characters
Added more options to improve flexibility of the template

See https://github.com/DeveloperPaul123/modern-cv/releases/tag/0.4.0 for more.

[x] ensured that my package is licensed such that users can use and distribute the contents of its template directory without restriction, after modifying them through normal use.

Thank you!


Feature Request: Scroll from selection dragging out of window

Summary of the new feature/enhancement
prereq: make sure you can scroll in the instance you're on

begin making a selection
As you move your mouse and expand the selection, move it towards a scrollable part of the buffer (so, up or down)

As of now, the selection "stops" at the end of the window.
The feature is that it should act like regular ConHost instances where it starts scrolling for you so that you can keep expanding the selection.
Proposed technical implementation details (optional)
I'm hoping this isn't too difficult. We would have to detect when the mouse gets close/past the edge of the window. Then, when that actually occurs, communicate with the scrollBar and move it.

Is this #1083?

Is this #1083?

To my understanding, #1083 is more about the selection updating its y-position when the cursor goes off of the right/left side. This one is goes into effect when moving the cursor off of the top/bottom side.
E.g.: If the terminal can be scrolled up, begin making a selection and move the cursor over the top of the terminal. The terminal should start scrolling for you to continue making a selection.

Is this #1083?

To my understanding, #1083 is more about the selection updating its y-position when the cursor goes off of the right/left side. This one is goes into effect when moving the cursor off of the top/bottom side.
E.g.: If the terminal can be scrolled up, begin making a selection and move the cursor over the top of the terminal. The terminal should start scrolling for you to continue making a selection.

For impact this also affects the PSReadline CaptureScreen function, which is really useful.


Rewrite CHANGELOG to follow keepachangelog format

Also updated/added all notable changes after v1.8.0.
refs #171

Code review checklist

[ ] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR)
[ ] Title summarizes what is changing
[ ] Commit messages are meaningful (see this for details)
[ ] Tests have been included and/or updated
[ ] Docstrings have been included and/or updated, as appropriate
[ ] Standalone docs have been updated accordingly
[ ] Changelog(s) has/have been updated, as needed (see CHANGELOG.md).

@goto40 Please read the new CHANGELOG. Also, a new template for PRs is in place that should help in raising the quality of our code and git log history. The idea is that reviewer should check and tick all checks boxes above while doing the review.

I will do it. Good checklist!


KOGITO-1788: Desktop sort recently opened files

Hi @jomarko , thanks for the review.

Thanks for the PR. Only one comment, actually when you click twice on the button there won't be a "reverse order", the files will return to the original default order, which is by access time (latest opened first). Nevertheless, I think the PR is still valid, so I merged it. I only modifed the parts where you wrote "reverse order" to "access time order".

I couldn't reproduce this order, for me it was: (1. a.dmn, 2. b.bpmn, 3. b.dmn, 4. c.bpmn), as I would expect. I wrote another test with this exact case and it resulted in the same order inside the snapshot.


linalg/hypre.cpp line 1548: cannot convert

The error claims that there cannot be a conversion from ‘mfem::Array’ to ‘hypre_IntArray*’
specifically for CF_marker which is still identified as mfem::Array even though it was initialized as hypre_IntArray. The updated code in https://github.com/mfem/mfem/blob/1361e3907d00583b42bff44997c5b70f56b47c4c/linalg/hypre.cpp works for me when compiling in serial except for this line. Is there a fix?
Thanks,
Adam

This issue should be resolved in the master branch of MFEM.

I cloned into the master and still had issues. I was able to get most things to function until attempting to "make  parallel" and continue to get: linalg/superlu.cpp:20:10: fatal error: superlu_defs.h: No such file or directory
20 | #include "superlu_defs.h"
When searching for the file, I do not see anything but https://github.com/mfem/mfem/blob/a4f5cc53ca87d60795f85f36401789932c98409c/config/cmake/modules/FindSuperLUDist.cmake . Any tips?

It looks like you are enabling the external library SuperLU_DIST which is disabled by default. Check the config files config/defaults.mk and config/user.mk (optional, if you created it) if you accidentally set MFEM_USE_SUPERLU to YES. Here is where the default value is set: https://github.com/mfem/mfem/blob/4bcbff0a57bde835bdc3d65a7c1d97e0893db200/config/defaults.mk#L127

Got it, thanks.


fix: refresh token expired check issue

Coverage increased (+0.05%) to 89.828% when pulling f59a23981fbcec68c66144bccee987d557761a62 on embbnux:fix/refreshTokenValid into 2a70eafc69da98b56959ffe6fa0251d93dd119d0 on ringcentral:master.


Expose Device change events in the Calling and CallWithChat adapters

What

Update device change events in Calling and CallWithChat Adapters

'selectedCameraChanged'
'selectedMicrophoneChanged'
'selectedSpeakerChanged'

Why

Exposes these events so that contoso can perform actions on them

https://skype.visualstudio.com/SPOOL/_workitems/edit/2842399
How Tested

Ran locally with these outputs in CallWithChat sample

Do we need to expose new events?
I thought onStateChange event listener would suffice


Access interconnected attribute

Hey,
my API returns data in the format (extract only):
[
        {
            "id": 1,
            "address": {
                "street": "Heidberg",
                 "postal_code": "75385"
            }
        },
        {
            "id": 2,
            "address": {
                "street": "Heinrich-Böll-Str.",
                "postal_code": "70707"
            }
        },
        ...
]

How can I access for instance the street attribute? It would be nice, if I could access it directly by nga.field('address.street'), but that does not seems to work. Of course I could define the field as template field and write a directive. But when I've many of such fields, that would not be so nice. Or is there another, simple way?

I think this is what you are looking for:
app.config(function(RestangularProvider) {
    RestangularProvider.addElementTransformer('books', function(element) {
        for (var key in element.values) {
            element[key] = element.values[key];
        }

        return element;
    });
});

I copy paste this from the documentation

Indeed, we can do it currently the way @karantan suggested. ng-admin doesn't support the dot notation. But that's indeed a good idea. I keep the issue opened to not forget it. :)

Related to #68 and #390

Good news: that's now possible in the master branch, thanks to #549 being merged.


[SPARK-5496][MLLIB] Allow both classification and Classification in Algo for trees.

to be backward compatible.

Test build #26393 has started for   PR 4287 at commit a025c53.

This patch merges cleanly.

Test build #26393 has finished for   PR 4287 at commit a025c53.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class TreeEnsembleModel(JavaModelWrapper):
class DecisionTreeModel(JavaModelWrapper):
class RandomForestModel(TreeEnsembleModel):
class GradientBoostedTreesModel(TreeEnsembleModel):
class GradientBoostedTrees(object):

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/26393/
Test PASSed.

Merged into master.


Login error management

removes unnecessary error return from SetLogin
adds state tracking for login manager

@redhatHameed
I must reemphasize that the client library, via the login manager, expects to be decorated with a working credential provider. Given its asynchronous nature, a direct error path originating from the login manager is prone to issues.
SetLogin does not and did not trigger a login event, it merely updates the source of credentials for the login manager; it never returned an error and would not going forward.
Given the discussion, I have extended the CredentialProvider interface to provide an error alongside the LoginCred. It does not make sense to be a part of that type. In doing so, there's an opportunity to check the validity of the CredentialProvider before relying on it to provide the credentials to the login manager. The error return gives less ambiguity between a zero-value credential and an error occurring when retrieving one from another source.
I have updated the KubeSecretCredentialProvider initialization in the inventory controller to do a check for the error return and for zero value as error conditions in its operation - hopefully this addresses the visibility concerns you have. Beyond validating the CredentialProvider creation, the client's login state can be inspected via GetLoginState and calls to data functions return errors if the LoginState is not active during the prechecks run prior to executing the API calls.
Please let me know if you have remaining concerns.

@redhatHameed
I must reemphasize that the client library, via the login manager, expects to be decorated with a working credential provider. Given its asynchronous nature, a direct error path originating from the login manager is prone to issues.
SetLogin does not and did not trigger a login event, it merely updates the source of credentials for the login manager; it never returned an error and would not going forward.
Given the discussion, I have extended the CredentialProvider interface to provide an error alongside the LoginCred. It does not make sense to be a part of that type. In doing so, there's an additional opportunity to check the validity of the CredentialProvider before relying on it to provide the credentials to the login manager. The additional error return reduces ambiguity between a zero-value credential and an error occurring when retrieving one from another source.

make sense. Thanks

I have updated the KubeSecretCredentialProvider initialization in the inventory controller to do a check for the error return and for zero value as error conditions in its operation - hopefully this addresses the visibility concerns you have. Beyond validating the CredentialProvider creation, the client's login state can be inspected via GetLoginState and calls to data functions return errors if the LoginState is not active during the prechecks run prior to executing the API calls.

sounds good to me.

Please let me know if you have any remaining concerns.

during my testing I found, issue in updating the secret,
for example created the inventory cr, before creating a secret. it gives me a valid error, which is totally fine

in the second step I have created a secret, but still getting the same error, while I saw the operator is reconciling. Any thoughts ?

@redhatHameed
I must reemphasize that the client library, via the login manager, expects to be decorated with a working credential provider. Given its asynchronous nature, a direct error path originating from the login manager is prone to issues.
SetLogin does not and did not trigger a login event, it merely updates the source of credentials for the login manager; it never returned an error and would not going forward.
Given the discussion, I have extended the CredentialProvider interface to provide an error alongside the LoginCred. It does not make sense to be a part of that type. In doing so, there's an additional opportunity to check the validity of the CredentialProvider before relying on it to provide the credentials to the login manager. The additional error return reduces ambiguity between a zero-value credential and an error occurring when retrieving one from another source.

make sense. Thanks

I have updated the KubeSecretCredentialProvider initialization in the inventory controller to do a check for the error return and for zero value as error conditions in its operation - hopefully this addresses the visibility concerns you have. Beyond validating the CredentialProvider creation, the client's login state can be inspected via GetLoginState and calls to data functions return errors if the LoginState is not active during the prechecks run prior to executing the API calls.

sounds good to me.

Please let me know if you have any remaining concerns.

during my testing I found, issue in updating the secret,
for example created the inventory cr, before creating a secret. it gives me a valid error, which is totally fine

in the second step I have created a secret, but still getting the same error, while I saw the operator is reconciling. Any thoughts ?

Please ignore, it works I was referring to a different namespace. Thanks


Windows support (driver, runtime etc)

See subj.
Wondering why AMD always releases their frameworks on Linux / Unix platforms only.
Guys, do you have in mind that GPGPU developers can't build their products for Windows users (98% of them in mass markets)?
This problem relates to the problem of compiling C++11 - compatible code for AMD GPU as well. I see that AMD puts a lot of efforts to use HIP infrastructure to build nvcc - compatible code (with its own C++ implementation) but all of these efforts are useless considering no Windows support. Yet.

This is just an observation as an outsider.
I think ROCm requires extensive OS support. So, for AMD to support Windows, MS has to be willing to modify Windows to accommodate it. Given that 1) AMD cannot change Windows development schedule/roadmap. 2) HPC business is high margin business and use Linux. I think it makes sense for them to target Linux and go after HPC/Datacenter business first.
Just my 2 cents.

@briansp2020,
The typical open-sourcer overview you posted here. So why didn't ask Apple to do the same? And how the NVIDIA is able to build its own dev driver years ago (!) for all OSes including C++ support? Interesting to know your opinion.
And please do not even tell me that HPC / GPGPU business is something enterprise - oriented only. AMD already missed mass markets such as automobile etc. But I don't care, I'm just wondering that huge corporation supports C99 - compatible compilers only for Windows OS (the most popular OS on the planet, CO). Today is 2016. Great job, AMD, you did.
The AMD politics / roadmap for last five years leads company to decreasing market share (people vote using their money). Only Apple contracts keep the AMD GPU division alive.
I'm sorry for the offtopic.
I really start thinking that since AMD purchased ATI they ruinthe last one as MS did with Nokia (but this is just my personal opinion, do not keep it in mind).

@ugahugo
What AMD is doing with ROCm is much more than what NVidia is currently offering. When NVidia launches a kernel, it has to ask OS to launch it for the user. With ROCm, kernel launch does not involve OS system call. This seemingly simple difference actually requires huge change in OS and is fundamental in making GPU to become as important as CPU.
If you are interested, read up on HSA and its advantages over traditional GPGPU programming model. It is true that AMD has suffered market loss and had many missteps in the past. They had problem getting people to rewrite their applications using OpenCL. However, I think they have found the right programming model to promote. Since they do not have the resources to do everything, they have to do what will make them most money first. I'm sure MS Windows & Apple MAC support will come in due time.

All right than,
AMD implements some special way to execute GPU calls, so what are the benefits of this?
For now AMD has no OCL 2.1 supports and even has no plans to support C++ soon (the HIP infrastructure is a kind of exception for Linux OS, I suppose), see the official AMD forum topics or use the forum search.
This fact completely destroys any modern development process. We have GPGPU solution (12 products) that we want to push to the target industry soon and we can't do this for AMD GPUs because of no C++ support (no templates, no virtuals etc).
I checked all the stuff AMD supported last years - OCL, OCL using SPIR (including the V - version of it), SYCL and you know, what I can tell about that? This is a huge waste of money and time because of no C++ support.
All of this supported stuff didn't make any profit for GPGPU developers at all (comparing with NVIDIA - compatible framework and libraries) and even for AMD itself.
I have nothing to say. I wish only to say again: C99 at 2016. Great job.

What's the exact reason of closing this topic?
There is no official answer for the issue, @gstoner, could you provide some details please?

We here your request for Windows support of the ROCm tools, but the direction you took the conversation became unprofessional.   For ROCm the issue management tool is for exactly this issue and feature requests it where the conversation should have stopped.
Thank you for your input.

We should also praise AMD for going the open source route instead of creating yet another walled garden. And this is for the long term benefit of all developers and users. I wish things could get ready faster and I'm sure there is always room to improve how things are done. But they deserve more respect IMO than what I see in this discussion.
Sorry for the off topic but couldn't resist.

Guys,  Step 1 is getting foundation on Windows that support what we doing.  This is happing.   We will have HIP and the LC compiler on Windows the work is in full earnest.  This step one.  Once we have this in place,  everything else can fall into place.

ETA?
Just kidding. I know you can't really say it in public. But glad to hear confirmation of windows support.
One serious question. once windows support arrives, would it be possible to use ROCm docker image on window? I'm ok with using linux for ML development and stuff since ML frameworks are better supported under linux. But I still prefer windows for all other things. So, I think it would be perfect for me if I can have ROCm in docker under windows (or ROCm in Linux subsystem for windows, which ever is easier). Do you think that will be a possibility in the near future?

Guys, Step 1 is getting foundation on Windows that support what we doing. This is happing. We will have HIP and the LC compiler on Windows the work is in full earnest. This step one. Once we have this in place, everything else can fall into place.
...Ok, so,
It took two years to tell us that you actually started your work on Windows driver for HIP compiler (and so far no Mac OS / UNIX support announced yet)...
HIP tricky compiler support means lots of consequences such as no Driver API direct support, lots of difficulties in work with ISA ASM AMD did etc.
Also, HIP compiler will definitely kill any program that operates in low latency mode because of solution requirements (e.g. frames more than 200 etc).
Good job guys, hope that your HSA will do all things you do (for whom actually? For 3rd party developers? For what sort of developers? Who works on the biggest market / Windows OS? lmao)

@gstoner Any AMD compiler available to generator HSACO code or LLVM-IR only on windows platform? I just require this kind of compiler to get the device code on windows like what KMDUMPISA=1 on Linux does, not necessarily to get the full stack of ROCm for windows such as execution and related driver.

It's simply astonishing to see how neglected Windows is in terms of SW support. I'm out of words here...

Agreed. It's no wonder adoption is low

Almost three years since I started this thread and still no changes...
All efforts they put to support obsolete Thrust and TensorFlow may be measured with 0 output.
We built a low-latent GPU AUDIO brand technology using CUDA and its driver API. Since 2016, Nvidia released RTX technology, custom precision support and other incredible things based on new hardware and what we have here, at AMD, for third-party developers? 2019 and still no C++ support for Windows!

@ugahugo There is a way to run ROCm applications using Windows Bash system, which has been verified.

@ugahugo There is a way to run ROCm applications using Windows Bash system, which has been verified.

Yeah but still there is no way to compile them under Windows, correct?

@ugahugo Compiling also works using Windows Bash of course, as long as you install ROCm toolkit in Windows Bash.

@ugahugo Compiling also works using Windows Bash of course, as long as you install ROCm toolkit in Windows Bash.

Excuse me, may I ask you to link any appropriate example? Am I correct that ROCm driver is a kinda implemented for Windows, so I'm able to compile HIP sources under Windows and run the output binary?

Compiling HIP sources doesn't need ROCm driver, you can try compiling a hip code yourself over WSL.

WSL

This means that it will work with HIP over CUDA - implemented code, so no CUDA driver API and other stuff? I shall handle any third-party library calls within my code etc? So this means almost no usefulness...

https://github.com/ROCm-Developer-Tools/HIP/blob/master/docs/markdown/hip_porting_guide.md
I also shall wrap calls by ROCm infrastructure which supports the obsolete versions of libraries. A whole solution is just meaningless, sorry.
The only way to make an appropriate workaround is to build ROCm driver for each OS.

@ugahugo It is not related to CUDA, the compilation of HIP for HCC platform is always working at the moment for WSL, including generating related device codes and binaries, and you can regard it as a cross compiling. However, if you want to execute it on Windows, it is possible but requires some virtualization techniques.

@ugahugo It is not related to CUDA, the compilation of HIP for HCC platform is always working at the moment for WSL, including generating related device codes and binaries, and you can regard it as a cross compiling. However, if you want to execute it on Windows, it is possible but requires some virtualization techniques.

yes, I know that. But maximum you may achieve by putting big efforts to do that is the inpredicteble performance on obsolete libraries and Linux-based stack...
The point of why the ROCm will never support a normal way of HIPify your solution or will never support other ways to get C++ for AMG GPUs under Windows because of the fact that only 2 persons are sitting in a chair and deciding this:
https://github.com/HSAFoundation
One is a Linux Kernel Developer, so this is why you will always have anything on Linux stack, the whole Boltzmann Initiative was designed only for this and this was the original mistake. The only hope is that AMD will fail again on the market and this initiative will be frozen and, e.g., OCL 2.1. will finally be supported by AMD GPUs (and we will see C++ for AMG GPUs for almost any platform we want).

Is OCL 2.1 not supporting Windows at the moment?

I ask @gstoner to do not clean offtopic comments because people will finally understand the nature of your decision and never will ask questions about AMD GPUs C++ on Windows support regarding ROCm environment you develop. I hope, you understand me very well and thank you.

Is OCL 2.1 not supporting Windows at the moment?

OCL 2.1 for AMD GPUs which shall support C++ - not. This fact is my original point where I started to look for any other solution and why I (and most of the developers, I'm sure) came here.
And even 2.0. Sorry for the off topic again.

@ugahugo It's interesting AMD OCL 2.x is not supporting Windows at the moment?

@ugahugo It's interesting AMD OCL 2.x is not supporting Windows at the moment?

Yes, and Mr. Stoner is directly responsible for this fact...
https://community.amd.com/thread/209410

@ugahugo So what is this file used for in Windows: amdocl64.dll?

Hello @ugahugo
I'm locking this conversation because it has devolved from a technical request to insults and griping. This is not a forum for insulting members of the ROCm team. Thank you.


⚠ PrivateHD has degraded performance

In 3fbceeb, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 3156 ms

Resolved: PrivateHD performance has improved in 75d8af7.


image/jpeg: add a jpeg option to disable chroma subsampling

It seems that golang's jpeg encoder only supports downsampling. It would be nice to be able to fine-tune what kind of subsampling is used when encoding jpegs, or alternatively disable downsampling when using a large quality value.
This is a continuation of:
https://groups.google.com/forum/#!topic/golang-nuts/VJY87VQpgws

/cc @nigeltao @robpike

Yeah, it's a valid bug, but I don't know when I'll have time to fix it.


Try to fix SIGSEGV view server in Travis on Ubuntu 12.04

Install libmozjs185-dev

+1

+1. Could you only please remove Try from commit message since it helps?

I put "try" in there because it needs another pr:
https://github.com/apache/couchdb-couch/pull/117
to work. By itself it doesn't fix the issue.

Let's pick something neutral then like "Ensure libmozjs 1.8.5 get installed". Still good improvement if one day libmozjs-dev will point on some incompatible version.

Agreed. Updated title.

@nickva

Ensure libmozjs185-dev gets installed.
Install libmozjs185-dev

There is no need to duplicate the same things (:

@kxepal  Sorry, fixed.

It looks like libmozjs-dev is a virtual package in Ubuntu 12.04, and it points to mozjs-dev.
http://packages.ubuntu.com/precise/libmozjs-dev
We could still merge it to be explicit which version we require, but it shouldn't affect test results.

Yea, good idea. +1


Unite the UIs

Unite the roots-react-native-experiemental and RootsWallet UIs into the roots-react-native repository so that projects can fork it and add native/backend logic.

@AlexAndrei98 will work on the bottom slider next.

https://github.com/roots-id/roots-react-native-experimental/pull/3

buttons from slider shouldn't be greyed out:

Error from settings screen:

android loads (after it fails and i reload), but not getting material design icons

@AlexAndrei98 will disable pin feature.
@2byrds will find fixes for button colors.


node distances for updown

Add the ability to specify a "node" distance for updown. I.e., if there are no target sequences within the specified snp distance limit, instead of pushing the boundary to the next closest snp distance using --dist-push, you could specify that the next n closest snp-distances should be included, whatever their actual values.
This could be done by providing an integer to --dist-push instead of treating it like a boolean flag?

Add the ability to push out node distances further even when there are some targets in the relavent bin (but fewer than the specified number of nodes under the defined distance). In general, work out what would be most useful for civet.
Could add a set of --node-up / --node-dist-up arguments?
@aineniamh is interested in this...

Fixed in version 1.1.0 I think


Not deterministic output: yarn-project.nix content

Hi all,
I noticed that running yarn against the same project multiple times (even if in a short time period where no dependencies change in the npm registry) may result in generating two distinct yarn-project.nix files.
I checked this diff deeply and I noticed that the only change is the order of the generated cacheEntries; i.e. they are not sorted. I have two considerations.

this suggests me that for nix related purposes the order of cacheEntries is not relevant;
if we add yarn-project.nix to git, this may be cause of lots of merge conflicts which could be actually avoided if cacheEntries had a fixed order.

If my assumption (1) is correct, I would like to produce deterministic yarn-project.nix files to avoid merge conflicts.
Is my assumption correct?
In affermative case, is there a way to configure the the plugin to produce fixed sorted cacheEntries in yarn-project.nix or addressing this would require a change?
Thank you

I believe I fixed this a couple of weeks ago in 26d88f0295028f4fb1f1ddc7a77f93f432fc971a. Could you try updating the plugin to see if that fixes it?

Checked and verified: I confirm.
Thank you very much @stephank !


Using pyecharts?

PyEcharts is a comprehensive interactive chart library built on Echarts which is open source and perfect for Shiny interactivity (I use R package echarts4r which wraps Echarts for R Shiny).
https://github.com/pyecharts/pyecharts
https://pyecharts.org/#/en-us/
I've tried using it with Shiny for python with no success as a plot, ui and ipywidget.  Below is one attempt which isn't working.
from shiny import App, render, ui
from pyecharts.charts import Bar
from pyecharts import options as opts
from shinywidgets import output_widget, render_widget

app_ui = ui.page_fluid(
    ui.layout_sidebar(
        ui.panel_sidebar(
        ),
        ui.panel_main(
            ui.output_ui("echart_test"),  #guessing here
        )
    )
)

def server(input, output, session):

    @output
    @render.ui
    def echart_test():
        bar = (
            Bar()
            .add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])
            .add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
            .add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])
            .set_global_opts(title_opts=opts.TitleOpts(title="某商场销售情况"))
        )
        return bar.render() #guessing here too

app = App(app_ui, server)

curious, did you ever figure this out?  I'm trying to use easychart (https://pypi.org/project/easychart/) with no luck..  pretty confused how to output viz

For pyecharts, like you have it but return ui.HTML(bar.render_embed()) almost works. It renders for me in the VS Code previewer but not in Chrome.
@bkxndata I was able to get easychart working, but I'm not happy about the code that's necessary:
import html

import easychart
import easychart.templating

from shiny import App, render, ui

app_ui = ui.page_fluid(
    ui.layout_sidebar(
        ui.panel_sidebar(),
        ui.panel_main(
            ui.output_ui("easychart_test"),
        ),
    )
)

def server(input, output, session):
    @output
    @render.ui
    def easychart_test():
        chart = easychart.new("column")
        chart.title.text = ("France Olympic medals",)
        chart.subtitle.text = "by year and by medal class"
        chart.yAxis.title.text = "medals"
        chart.categories = ["Gold", "Silver", "Bronze"]
        chart.plot([7, 16, 18], name=2008)
        chart.plot([11, 11, 13], name=2012)

        grid = easychart.render(chart)
        template = easychart.templating.render(grid)
        return ui.HTML(
            f'<iframe style="border:0;outline:none" height="{grid.height}" width="{grid.width}" srcdoc="{html.escape(template)}"></iframe>'
        )

app = App(app_ui, server)

Officially, Shiny currently supports Matplotlib-based static plots via render_plot, and ipywidgets via shinywidgets. We can also render HTML via ui_output.
pyecharts and easychart are neither of these, instead they are notebook HTML objects which we don't currently support. There's some discussion about this in https://github.com/rstudio/py-shiny/issues/303.

Thanks for the suggestion @jcheng5.  Is there any guidance on using echarts.js directly or should I wait till pyecharts is supported?  We've got a lot of custom charts in R using echarts4r which we'd like to port over to Shiny for python.  @bkxndata Easychart looks nice, we've tried out highcharts previously, there are a few customisations that echarts has over highcharts that we use.

Looking at this again in 2024, this is working after a fashion with render_embed() but there is a race condition if pyecharts is only loaded dynamically, not as part of the page load. See this example:
from shiny.express import input, render, ui
from pyecharts import options as opts
from pyecharts.charts import Bar

ui.input_slider("n", "N", 0, 100, 20)

@render.express
def dynamic_echart():
    chart = (
        Bar()
        .add_yaxis("foo", list(range(input.n())))
    )

    ui.HTML(chart.render_embed())

shinylive link
When the page loads, there's an error in the JS console echarts is not defined, but if you move the slider then it starts working. And if the static part of the page also includes an echarts chart, then both work.
from shiny.express import input, render, ui
from pyecharts import options as opts
from pyecharts.charts import Bar

ui.input_slider("n", "N", 0, 100, 20)

@render.express
def dynamic_echart():
    chart = (
        Bar()
        .add_yaxis("foo", list(range(input.n())))
    )

    ui.HTML(chart.render_embed())

# This static chart makes the dynamic chart work right

chart = (
    Bar()
    .add_yaxis("foo", list(range(10)))
)

ui.HTML(chart.render_embed())

shinylive link

Hi all, I recently released an ipywidgets version of Echarts at https://github.com/trungleduc/ipecharts. Most of the code are generated automatically from Echarts API. I think it will work out of the box with shinywidgets

@trungleduc very cool! can you provide an example of how that can work within shiny express. Example I want to add 4 gauges of these reactively with input values. this  works in your notebook sample, but am doesnt work within shiny
from ipecharts import EChartsRawWidget option = {   "series": [     {       "type": 'gauge',       "axisLine": {         "lineStyle": {           "width": 30,           "color" : [             [0.3, '#67e0e3'],             [0.7, '#37a2da'],             [1, '#fd666d']           ]         }       },       "pointer": {         "itemStyle": {           "color": 'auto'         }       },       'axisTick': {         'distance': -30,         'length': 8,         'lineStyle': {           'color': '#fff',           'width': 2         }       },       'splitLine': {         'distance': -30,         'length': 30,         'lineStyle': {           'color': '#fff',           'width': 4         }       },       'axisLabel': {         'color': 'inherit',         'distance': 40,         'fontSize': 20       },       'detail': {         'valueAnimation': True,         'formatter': '{value} km/h',         'color': 'inherit'       },       'data': [         {           'value': 70         }       ]     }   ] }


SC-1817 - code changes for content validation against course

closing this PR as changes has been done in flink job


Google Analytics logo is a broken image in v0.26 Meltano UI on /pipelines/extractors

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/677
Originally created by @dmor on 2019-06-03 20:57:47

Repro Steps

Install latest version of Meltano to your project
Navigate to http://localhost:5000/pipelines/extractors/
Observe broken image icon for the Google Analytics extractor:

Expected behavior: no broken image, either a working image or no image at all

View 2 previous comments from the original issue on GitLab


[Security] Workflow build.yml is using vulnerable action actions/checkout

The workflow build.yml is referencing action actions/checkout using references v1. However this reference is missing the commit a6747255bd19d7a757dbdda8c654a9f84db19839 which may contain fix to the some vulnerability.
The vulnerability fix that is missing by actions version could be related to:
(1) CVE fix
(2) upgrade of vulnerable dependency
(3) fix to secret leak and others.
Please consider to update the reference to the action.

Fixed by #26


go get: confusing message: installing executables with 'go get' in module mode is deprecated

What version of Go are you using (go version)?

$ go version
go version go1.17.1 darwin/arm64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="arm64"
GOBIN=""
GOCACHE="/Users/andig/Library/Caches/go-build"
GOENV="/Users/andig/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="arm64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/andig/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/andig/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/opt/homebrew/Cellar/go/1.17.1/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/opt/homebrew/Cellar/go/1.17.1/libexec/pkg/tool/darwin_arm64"
GOVCS=""
GOVERSION="go1.17.1"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/andig/htdocs/cashterminal/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/sv/rs_453y57xj86xsbz3kw1mbc0000gn/T/go-build2392128046=/tmp/go-build -gno-record-gcc-switches -fno-common"
GOROOT/bin/go version: go version go1.17.1 darwin/arm64
GOROOT/bin/go tool compile -V: compile version go1.17.1
uname -v: Darwin Kernel Version 20.6.0: Mon Aug 30 06:12:20 PDT 2021; root:xnu-7195.141.6~3/RELEASE_ARM64_T8101
ProductName:	macOS
ProductVersion:	11.6
BuildVersion:	20G165
lldb --version: lldb-13<IP_ADDRESS>
Swift version 5.5-dev

What did you do?

Require a module:
❯ go get github.com/evcc-io/evcc@master

What did you expect to see?
No error
What did you see instead?
Alias tip: gog github.com/evcc-io/evcc@master
go: downloading github.com/evcc-io/evcc v0.0.0-20211008101320-ad0211e9c660
go: downloading github.com/pascaldekloe/name v1.0.1
go get: installing executables with 'go get' in module mode is deprecated.
	To adjust and download dependencies of the current module, use 'go get -d'.
	To install using requirements of the current module, use 'go install'.
	To install ignoring the current module, use 'go install' with a version,
	like 'go install example.com/cmd@latest'.
	For more information, see https://golang.org/doc/go-get-install-deprecation
	or run 'go help get' or 'go help install'.
go get: added github.com/evcc-io/evcc v0.0.0-20211008101320-ad0211e9c660
go get: upgraded github.com/magiconair/properties v1.8.4 => v1.8.5
go get: upgraded github.com/pelletier/go-toml v1.8.1 => v1.9.3
go get: upgraded github.com/spf13/afero v1.4.1 => v1.6.0
go get: upgraded github.com/spf13/cobra v1.1.1 => v1.2.1
go get: upgraded github.com/spf13/viper v1.7.1 => v1.8.1
go get: upgraded github.com/thoas/go-funk v0.7.0 => v0.9.0
go get: upgraded golang.org/x/net v0.0.0-20201010224723-4f7140c49acb => v0.0.0-20210805182204-aaa1db679c0d
go get: upgraded golang.org/x/text v0.3.3 => v0.3.6

As modules user this is highly confusing for me as I did not intent to install executables, much less as part of a dependency.
As module author I would wonder what to do to make my consumers not subject to this hint?

@seankhliao I feel this is the right place. The issue here is that updating a module for  go.mod triggers an (invalid) install warning. This happens for modules that provide both packages and binaries apparently.

The fact that it is confusing is why there's a deprecation warning. It also mentions the other commands users should (have) used. See also #43684


refactor: move to ES module

@davidmerfield this PR is similar to #111 - but it no longer uses Rollup as a dependency to output a UMD bundle. This means it's a breaking change though, as anyone who used to consume this as a UMD module will need to change how they import it.

Looks good – will draft a breaking release – thanks for your years of patience on this!

Less about patience and more understanding. Open source moves by motivation not profit!


mj-group is ignored on iphone 5 Gmail app

<mj-group> does not work as intended on iphone 5 Gmail app. The grouped columns stacks vertically instead of horizontally.
Reproduction Steps:

Copy the sample code for the group tag in the documentation.
Paste the sample code into MJML App (v2.9.0).
Send email from the app through Mailjet API.
Check email on:

PC-Windows-Chrome-Gmail
PC-Windows-Chrome-Gmail (responsive) -> inspect page -> toggle device toolbar -> select a device with a small screen e.g., iphone 5. (May require to refresh the page after selecting device.)
iphone_5-GmailApp
huawei_p10_lite-GmailApp

Expected behavior:
On both desktop view (large screen) and mobile view (small screen) the two columns should stack horizontally.
Observed behavior:

On desktop and mobile view using PC-Windows-Chrome-Gmail (normal and responsive) the columns are stacked horizontally as expected.
On mobile view using huawei_p10_lite-GmailApp the columns are stacked horizontally as expected.
On mobile view using iphone5-GmailApp the columns are stacked vertically.

Screenshots and GIFs

Working as intended on PC-Windows-Chrome-Gmail:

Not working as intended on iphone5-GmailApp:

MJML version:
MJML v^4.0.3
Email clients the bug is seen on:
iphone5 Gmail v5.0.180408
NOTE
I did further testing, which I did not include above. I reduced the width of the images and all wrappers (columns, group, body, etc.). After doing that the columns stacked as intended on iphone5-GmailApp as well, but this doesn't seem like an optimal solution.
Is this a bug or are grouped columns just forced to stack vertically when the screen is too small? (Is the iphone 5 screen considered too small / out of date?)

Did you try minifying the output as suggested in the documentation?

iOS 9 Issue: If you use a HTML beautifier for MJML output, iOS9 will render your columns inside a mj-group as stacked. On the output HTML, remove the blank space between the two columns inside a mj-group

Good point. It was checked off. I'll test it quickly.

Ah. That solved it. I missed that particular warning... Thanks for the quick response!

No worries, glad it solved your issue!
It's true the message isn't that clear, PR appreciated to make it easier to understand!

Funny 😀

Like mentioned here, minifying the whole HTML will solve the issue.
There's an issue with minifying on 4.0.5 that will be fixed in 4.1.0, but you can use http://kangax.github.io/html-minifier/ (it's the one we're using) and uncheck "Minify CSS" to minify your HTML.

Thanks for the quick response! I will try it.

for anybody whom minifying didn't help
there is another fix - set last column width  width - 1% or experiment what would work to you eg  width - 0.5% etc
for example:

<mjml>
  <mj-body>
    <mj-wrapper background-color="white" padding="0 32px 0 32px">
      <mj-section>
        <mj-group>
          <mj-column width="40%" border="1px solid red">
            <mj-image width="137px" height="185px" padding="0" src="https://mjml.io/assets/img/easy-and-quick.png" />
            <mj-text align="center">

Easy and quick

Write less code, save time and code more efficiently with MJML’s semantic syntax.

            </mj-text>
          </mj-column>
          <mj-column width="59%" border="1px solid blue">
            <mj-image width="166px" height="185px" padding="0" src="https://mjml.io/assets/img/responsive.png" />
            <mj-text align="center">

Responsive

MJML is responsive by design on most-popular email clients, even Outlook.

            </mj-text>
          </mj-column>
        </mj-group>
      </mj-section>
    </mj-wrapper>

  </mj-body>
</mjml>

https://mjml.io/try-it-live/h0vcqNO99u

Thanks that solved the issue for me, but that causes issues with the Outlook 2016 and Outlook 2019 versions

Any ideas.


Cannot add multiple OPNSense instances

Hi,
Firstly, apologies if this has already been asked, I did have a look through the previous issues but was unable to find an answer.
I am running two instances of OPNSense in a HA arrangement on two different Proxmox nodes.
Adding the first instance of OPNSense (OPNSenseMaster) was without issue and is displaying correctly within HA.
Sadly when attempting to add the second instance (OPNSenseBackup) it does not complete and I am greeted with "Unexpected error".
Checking the logs I cna see the following:

Logger: custom_components.opnsense.config_flow
Source: custom_components/opnsense/config_flow.py:148
Integration: OPNsense (documentation, issues)
First occurred: 1:24:02 AM (1 occurrences)
Last logged: 1:24:02 AM
Unexpected err=AbortFlow('Flow aborted: already_configured'), type(err)=<class 'homeassistant.data_entry_flow.AbortFlow'>

Is there any way to add a second instance of OPNSense within HA?
Kind regards,
Damien

Now I am receiving a different error when attempting to add the second OPNSense instance:

This error originated from a custom integration.
Logger: custom_components.opnsense.pyopnsense
Source: custom_components/opnsense/pyopnsense/init.py:100
Integration: OPNsense (documentation, issues)
First occurred: 2:22:56 PM (3 occurrences)
Last logged: 2:29:37 PM
Unexpected get_system_info error err=TypeError("string indices must be integers, not 'str'"), type(err)=<class 'TypeError'>

What version of opnsense is on the device? Does it have a hostname and domain properly set?

Hi Travis,
Apologies for the slow reply.
Both instances of OPNSense are running v24.1.2_1-amd64
They have unique hostnames set, as well as a common domain.
Regards,
Damien

The method that fails is pretty basic, not sure what could possibly break there :(

I've even tried creating a fresh HA VM, nothing but HACS and the OPNSense integrations installed, new users on each of the OPNSense installations each with new API keys and sadly still no go.  Same errors.

The method that fails is pretty basic, not sure what could possibly break there :(

Could it be that in an HA arrangement the unique id is the same?

It shouldn’t no. And even if it did the error would be different.

Sadly I still encounter the same issue, still receiving the error:
Unexpected err=AbortFlow('Flow aborted: already_configured'), type(err)=<class 'homeassistant.data_entry_flow.AbortFlow'>
Is anyone else having this issue when attempting to add a second instance of OPNSense to the HA intergration?


SIGTERM handler on docker container

When trying to stop the docker container, it takes 10 seconds. I believe this is when docker SIGKILLs the container if it doesn't stop.

Completed upstream's issue 662


How to use confusion matrix for cross validation?

How to use confusion matrix .for cross validation im confused by classes matrictargets OR metricId Or evaluationMETRIC ETC ETC.cant find a good model summarization after digging for 3 hours in Java DocS.guide me through please?

What do you want to use as the metric to optimize? You shouldn't need to use the confusion matrix class directly unless you are trying to maximise or minimise a specific element of the matrix. If you want to maximise precision, recall or per class versions of those metrics then you can pass in that metric target. Or just aggregate the whole lot and look at the descriptive statistics object that is related to the metric you care about.

No basically i m using evalautionaggregation and passing evaluation list
..but getting metrics id and descriptive stats ..i want to be inside
confusion matrix to get clear rrsult with f1 score of each evaluation done
by k fold cv.just like in python..how can i get it.
On Thu, 12 Nov 2020, 1:07 a.m. Adam Pocock<EMAIL_ADDRESS>wrote:

What do you want to use as the metric to optimize? You shouldn't need to
use the confusion matrix class directly unless you are trying to maximise
or minimise a specific element of the matrix. If you want to maximise
precision, recall or per class versions of those metrics then you can pass
in that metric target. Or just aggregate the whole lot and look at the
descriptive statistics object that is related to the metric you care about.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/oracle/tribuo/issues/86#issuecomment-725620531, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AL3BT7DPFP343JIC4FKGBSTSPLRXNANCNFSM4TSLZYIQ
.

A quick example of getting the f1 scores is as follows:
CrossValidation cv = new CrossValidation(trainer,trainingDataset,new LabelEvaluator(),5);
List<Pair<LabelEvaluation,Model<Label>>> evaluations = cv.evaluate();
List<Double> f1s = evaluations.stream().map(Pair::getA).map(LabelEvaluation::macroAveragedF1).collect(Collectors.toList());

if you want the descriptive stats then this would work:
DescriptiveStats f1Stats = EvaluationAggregator.summarize(evaluations.stream().map(Pair::getA).collect(Collectors.toList()),LabelEvaluation::macroAveragedF1);

thanks a lot bro it helps a lot.is there any new version coming out for
tribou with better docs because there are lot of thing has to handle in
java and it needs a good documenrtations which should cover most of the
important features and parts and 'HOW TO DO's' in java.because most of the
devs specially my friends are not handy in new java syntax.i m considering
to implement tribou in my web app for production just small ml projects so
good documentations will surely help me?
On Thu, 12 Nov 2020 at 20:24, Adam Pocock<EMAIL_ADDRESS>wrote:

A quick example of getting the f1 scores is as follows:
CrossValidation cv = new CrossValidation(trainer,trainingDataset,new LabelEvaluator(),5);List<Pair<LabelEvaluation,Model>> evaluations = cv.evaluate();List f1s = evaluations.stream().map(Pair::getA).map(LabelEvaluation::macroAveragedF1).collect(Collectors.toList());
if you want the descriptive stats then this would work:
DescriptiveStats f1Stats = EvaluationAggregator.summarize(evaluations.stream().map(Pair::getA).collect(Collectors.toList()),LabelEvaluation::macroAveragedF1);
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/oracle/tribuo/issues/86#issuecomment-726127247, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AL3BT7AUXXVR6YOR65T7Y33SPPZI7ANCNFSM4TSLZYIQ
.

There is a documentation update for the website with the extra javadocs and tutorials from 4.0.2 here - https://github.com/oracle/tribuo-site/pull/4. We'll merge it in to update the website once the 4.0.2 binaries are live on Maven Central, which should be this week or early next week.
We can add more documentation for the cross validation and evaluation aggregators as those are currently underdocumented, but we're doing this alongside new feature development and bug fixes, all of which take time. If you want to contribute to the docs we're happy to accept pull requests that improve them.

i appreciate it ...i m too excited for NEW ml features from tribou and
looking ahead from sklearn hope many will use java for ml in upcoming
years..
On Thu, 12 Nov 2020 at 22:36, Adam Pocock<EMAIL_ADDRESS>wrote:

There is a documentation update for the website with the extra javadocs
and tutorials from 4.0.2 here - oracle/tribuo-site#4
https://github.com/oracle/tribuo-site/pull/4. We'll merge it in to
update the website once the 4.0.2 binaries are live on Maven Central, which
should be this week or early next week.
We can add more documentation for the cross validation and evaluation
aggregators as those are currently underdocumented, but we're doing this
alongside new feature development and bug fixes, all of which take time. If
you want to contribute to the docs we're happy to accept pull requests that
improve them.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/oracle/tribuo/issues/86#issuecomment-726210278, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AL3BT7FRU3VWRV6T3ETCG3TSPQI3FANCNFSM4TSLZYIQ
.


View Applications needs rewriting (Distrobox 1.7)

https://cubiclenate.com/2024/03/02/distrobox-with-boxbuddy-on-opensuse/

This once worked. I am not sure if an update in Tumbleweed broke it, distrobox or boxbuddy. Did not yet wrap my head around it 😄
Happens with podman as container runtime as well.
I'll try to figure out what actually is broken.

Just found another issue which is totally up to distrobox. Since it's latest release and their "improvements" to the nvidia driver integration distrobox will get stuck at "Setting up host's nvidia integration..." and never proceed. You have to enter the container a 2nd time until it works.
As fetching installed apps is done using distrobox enter tumbleweed -- bash -c grep -L "NoDisplay=true" /usr/share/applications/*.desktop this feature is broken as of distrobox 1.7.0 on nvidia distroboxes.

Regarding the actuall issue. My findgns so far are two blank lines in the command output of distrobox enter tumbleweed -- bash -c grep -L "NoDisplay=true" /usr/share/applications/*.desktop
Example output from my rocky linux box:
>  GSETTINGS_SCHEMA_DIR=../../ ./boxbuddy-rs
/usr/share/applications/com.blackmagicdesign.rawplayer.desktop
/usr/share/applications/com.blackmagicdesign.rawspeedtest.desktop
/usr/share/applications/com.blackmagicdesign.resolve-CaptureLogs.desktop
/usr/share/applications/com.blackmagicdesign.resolve-Installer.desktop
/usr/share/applications/com.blackmagicdesign.resolve-Panels.desktop
/usr/share/applications/com.blackmagicdesign.resolve.desktop
/usr/share/applications/nvidia-settings.desktop

What is interesting though is, it actually returns the list of applications but seems not to properly parse them for display in the UI.

Hm, looking further into the matter I found the follwoing:
/usr/bin/distrobox-enter: eval: line 614: unexpected EOF while looking for matching `"'

/usr/bin/distrobox-enter: eval: line 614: unexpected EOF while looking for matching `"'

/usr/bin/distrobox-enter: eval: line 614: unexpected EOF while looking for matching `"'

/usr/bin/distrobox-enter: eval: line 614: unexpected EOF while looking for matching `"'

/usr/bin/distrobox-enter: eval: line 614: unexpected EOF while looking for matching `"'

/usr/bin/distrobox-enter: eval: line 614: unexpected EOF while looking for matching `"'

/usr/bin/distrobox-enter: eval: line 614: unexpected EOF while looking for matching `"'

Which is what get_pieces_cmd actually contains after:
let get_pieces_cmd = get_command_output(
            String::from("distrobox"),
            Some(&[
                "enter",
                &box_name,
                "--",
                "bash",
                "-c",
                &format!(
                    "NAME=$(grep -m 1 \"^Name=\" {}
            | sed 's/^Name=//');
            EXEC=$(grep -m 1 \"^Exec=\" {}
            | sed 's/^Exec=//' | tr -d '\n');
            ICON=$(grep -m 1 \"^Icon=\" {}
            | sed 's/^Icon=//' | tr -d '\n');
            echo \"${{NAME}} | ${{EXEC}} | ${{ICON}}\"",
                    line, line, line
                ),
            ]),
        );

Yeah, I traced it back to that same place. Updates to Distrobox have changed how the shelling-out is handled, so now the stuff in $() is being executed on the host, when it was previously being done in the container.
This means if I have geany in the container but not on the host, it's doing:
$(grep -m 1 \"^Name=\" /usr/share/applications/geany.desktop | sed 's/^Name=//')

on the host, which has no /usr/share/geany.desktop.
I'm gonna have to redo this to do all the parsing in Rust, which is a pain. When I was doing it in python it was unusably slow; of course Rust is faster than Python but I'll need to see if it's acceptable.
I assume shelling-out to distrobox is fairly slow, so I'm wondering if I can be clever and do something like
for df in desktopFiles do
    cat df
    echo "---BoxBuddy---"
end

(not real bash syntax)
Then get one big string, which I can split on the ---BoxBuddy--- into a Vec, so I'm only shelling out once.

 It works very well. Many thanks. ❤

2.1.4 now on flathub


User Input Values for 'Your Name' and 'Meeting Topic' Overwritten in Meeting Details from the browser extension

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
The expected behavior is to initially auto-populate fields with information from the Chime meeting. However, if a user manually overwrites these fields, they should not be auto-populated again from the Chime meeting.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Fixed in #17


Option for users to broadcast party search

Users could enable an option to broadcast their party search to party.toolbox.com, similarly to the bots

This is not a good idea, its like kamadan chat allowing people to send bullshit trade messages

Yeah it'd suffer from the same issues as kamadan (and require similar fixes), but a lot of people would find it really useful

Or let's see if there will be people asking for this


Convert disk specs to allow decoders.

#664 introduces decoders/verifiers for vm specs. Disk specs should have this ability too.
Perhaps create a base spec class inherited by both.

The plan here is to introduce a BaseSpec object w/ #664. This also introduces features that make it easy for a spec's ConfigOptionDecoder to construct a sub-spec object from a decoded yaml object.
Next, in a separate PR, the BaseDiskSpec will be modified to also derive from BaseSpec and use ConfigOptionDecoders.
In the future, larger pieces of the yaml post-parsing verification process can be wrapped into decoders. The flow then goes yaml -> python dicts & lists -> spec objects. We can then add new functionality to the spec objects to generate yaml help showing options and usage.

Fixed in #779.


Purpose of the NetworkManager dispatcher scripts

Hi,
What is the purpose of the NetworkManager dispatcher scripts?
I couldn't find any info on why doh needs to be restarted every time an interface goes up or down.

This dispatcher scripts simply restarts the DoH client or server when there is a network change.
This prevents various bugs related to connection pooling.
If you don't use NetworkManager, you can write similar scripts to achieve the same purpose.
If you don't observe this kind of issue, you can safely ignore these scripts.

I see, thanks for clearing it up.


Backend - Interest Area New Tag Suggestion APIs

Tag suggestions were asked by customer at Milestone-2.
Features:

Other users should be able to suggest new tags for an interest area.
Owner of the interest area should be able to list, accept, and reject tag suggestions to the interest area.

This issue includes:

[ ] Creating TagSuggestionController

add suggestTag api
add getSuggestedTags api
add acceptSuggestedTag api
add rejectSuggestedTag api

[ ] Creating TagSuggestionService
[ ] Creating TagSuggestion models
[ ] Creating TagSuggestion repository
[ ] Changing PostService and InterestAreaService accordingly
[ ] Adding new apis to Postman and test them

Done! #663
See APIs in Collection:

Created:

WA-61
WA-62
WA-63
WA-64