[provider lease-shell] akash provider may not select the correct pod

Akash provider should update its reference to the deployment when it got its name changed for whatever reason.
Or, it should create the deployment in a way that it would terminate the deployment instead of recreating it with the new name?
Reproducer:

create a deployment;
akash provider lease-shell is working;
create a file larger than requested storage set in the deployment manifest;
akash provider lease-shell stops working;

$ akash provider lease-shell --tty --stdin --from default --dseq 3944427 --provider akash1nxq8gmsw2vlz3m68qvyvcf3kh6q269ajvqw6y0 -- echoserver sh
Error: lease shell failed: remote command execute error: service with that name is not running: the service has failed

I think the reason why this happens is because echoserver-5b5556d669-jbfhn gets replaced by echoserver-5b5556d669-ldsc4 and akash provider does not update the handle to the new pod.
root@akash-master-01:~# kubectl get pods -A -o wide |grep echos
tb1ruhqstd7u1qvpe94dqv6e4n92ffiqd3pgulv5vrroq   echoserver-5b5556d669-jbfhn                          0/1     ContainerStatusUnknown   1              9m53s   <IP_ADDRESS>    akash-worker-04.nixaid.com   <none>           <none>
tb1ruhqstd7u1qvpe94dqv6e4n92ffiqd3pgulv5vrroq   echoserver-5b5556d669-ldsc4                          1/1     Running                  0              2m1s    <IP_ADDRESS>    akash-worker-04.nixaid.com   <none>           <none>

root@akash-master-01:~# kubectl get events --sort-by='.metadata.creationTimestamp' -A | tail -10
tb1ruhqstd7u1qvpe94dqv6e4n92ffiqd3pgulv5vrroq   9m17s       Normal    Pulled                    pod/echoserver-5b5556d669-jbfhn                         Container image "gcr.io/google_containers/echoserver:1.10" already present on machine
tb1ruhqstd7u1qvpe94dqv6e4n92ffiqd3pgulv5vrroq   9m16s       Normal    Started                   pod/echoserver-5b5556d669-jbfhn                         Started container echoserver
tb1ruhqstd7u1qvpe94dqv6e4n92ffiqd3pgulv5vrroq   9m17s       Normal    Created                   pod/echoserver-5b5556d669-jbfhn                         Created container echoserver
tb1ruhqstd7u1qvpe94dqv6e4n92ffiqd3pgulv5vrroq   87s         Normal    Killing                   pod/echoserver-5b5556d669-jbfhn                         Stopping container echoserver
tb1ruhqstd7u1qvpe94dqv6e4n92ffiqd3pgulv5vrroq   87s         Warning   Evicted                   pod/echoserver-5b5556d669-jbfhn                         Container echoserver exceeded its local ephemeral storage limit "134217728".
tb1ruhqstd7u1qvpe94dqv6e4n92ffiqd3pgulv5vrroq   87s         Normal    SuccessfulCreate          replicaset/echoserver-5b5556d669                        Created pod: echoserver-5b5556d669-ldsc4
tb1ruhqstd7u1qvpe94dqv6e4n92ffiqd3pgulv5vrroq   86s         Normal    Scheduled                 pod/echoserver-5b5556d669-ldsc4                         Successfully assigned tb1ruhqstd7u1qvpe94dqv6e4n92ffiqd3pgulv5vrroq/echoserver-5b5556d669-ldsc4 to akash-worker-04.nixaid.com
tb1ruhqstd7u1qvpe94dqv6e4n92ffiqd3pgulv5vrroq   85s         Normal    Pulled                    pod/echoserver-5b5556d669-ldsc4                         Container image "gcr.io/google_containers/echoserver:1.10" already present on machine
tb1ruhqstd7u1qvpe94dqv6e4n92ffiqd3pgulv5vrroq   84s         Normal    Created                   pod/echoserver-5b5556d669-ldsc4                         Created container echoserver
tb1ruhqstd7u1qvpe94dqv6e4n92ffiqd3pgulv5vrroq   84s         Normal    Started                   pod/echoserver-5b5556d669-ldsc4                         Started container echoserver

root@akash-master-01:~# kubectl get pods -A |grep echos
tb1ruhqstd7u1qvpe94dqv6e4n92ffiqd3pgulv5vrroq   echoserver-5b5556d669-jbfhn                          0/1     ContainerStatusUnknown   1              8m5s
tb1ruhqstd7u1qvpe94dqv6e4n92ffiqd3pgulv5vrroq   echoserver-5b5556d669-ldsc4                          1/1     Running                  0              13s
root@akash-master-01:~# kubectl -n tb1ruhqstd7u1qvpe94dqv6e4n92ffiqd3pgulv5vrroq describe pod echoserver-5b5556d669-jbfhn
...
...
Events:
  Type     Reason     Age    From               Message
  ----     ------     ----   ----               -------
  Normal   Scheduled  8m16s  default-scheduler  Successfully assigned tb1ruhqstd7u1qvpe94dqv6e4n92ffiqd3pgulv5vrroq/echoserver-5b5556d669-jbfhn to akash-worker-04.nixaid.com
  Normal   Pulled     8m15s  kubelet            Container image "gcr.io/google_containers/echoserver:1.10" already present on machine
  Normal   Created    8m15s  kubelet            Created container echoserver
  Normal   Started    8m14s  kubelet            Started container echoserver
  Warning  Evicted    25s    kubelet            Container echoserver exceeded its local ephemeral storage limit "134217728".
  Normal   Killing    25s    kubelet            Stopping container echoserver

cc @boz @dmikey

Hi Andy, thanks for the thorough investigation! This is an interesting corner case. I will do some more investigation and identify a fix for this. It should be pretty easy.

Reproducing this was easy. Just use akash provider lease-shell to run a shell then run  dd if=/dev/zero of=/x inside the shell. The pod has the following events
│   Normal   Scheduled  104s  default-scheduler            Successfully assigned sg4o8bsmkkvb9umbhu2c3bgmsv94r52u92k0p3vbc7gjm/web-bd9d4dd97-ljs4d to kube-control-plane                        │
│   Normal   Pulled     103s  kubelet, kube-control-plane  Container image "quay.io/ovrclk/demo-app" already present on machine                                                                 │
│   Normal   Created    103s  kubelet, kube-control-plane  Created container web                                                                                │
│   Normal   Started    103s  kubelet, kube-control-plane  Started container web                                                                                │
│   Warning  Evicted    53s   kubelet, kube-control-plane  Container web exceeded its local ephemeral storage limit "134217728".                                                                │
│   Normal   Killing    53s   kubelet, kube-control-plane  Stopping container web

The container dies. The pod condition becomes Ready = false. I'm going to update the code to check for this since we should not be trying to invoke a shell on a pod that isn't actually ready. This will return an error message to the client that is more informative.


[scale-ts] tracing for decoders

unless i'm mistaken, i don't think there is a way to trace the path a decoder took when deserializing a scale binary. I'd suggest adding a decorator-like pattern for a decoder that lets you "trace the path it took" while also not sacrificing performance because its a decorator.

unless i'm mistaken, i don't think there is a way to trace the path a decoder took when deserializing a scale binary.

This is something that can be accomplished via composition. So, if you need tracing, then you could easily create traceable codecs using the codecs of this library.

I'd suggest adding a decorator-like pattern for a decoder that lets you "trace the path it took" while also not sacrificing performance because its a decorator.

I don't understand how decorators are relevant to this library... Please keep in mind that this library doesn't expose any classes, it only exposes functions.

Just to provide a "quick" and "dirty" example of how that could be possible, consider this code:
import { StringRecord, Codec, Struct as _Struct, createCodec } from "scale-ts"
import { mapStringRecord } from './utils'

class TraceableCodecError extends Error {
  codedTrace: string
  constructor(previous: Error, trace: string) {
    super(previous.name)
    this.cause = previous.cause
    this.stack = previous.stack
    this.codedTrace =
      previous instanceof TraceableCodecError
        ? trace + "." + previous.codedTrace
        : trace
  }
}

export const traceableFunction =
  <A extends Array<any>, T>(
    fn: (...args: A) => T,
    trace: string,
  ): ((...args: A) => T) =>
  (...args) => {
    try {
      return fn(...args)
    } catch (e) {
      if (e instanceof Error) {
        throw new TraceableCodecError(e, trace)
      } else {
        throw new TraceableCodecError(new Error(`uknown error ${e}`), trace)
      }
    }
  }

const traceableStructure = <Inner extends (...args: any[]) => any>(
  fns: StringRecord<Inner>,
): StringRecord<Inner> =>
  mapStringRecord(
    fns,
    (fn, key) => traceableFunction(fn, key as string),
  )

const StructEnc: typeof _Struct.enc = (encoders) =>
  _Struct.enc(traceableStructure(encoders))

const StructDec: typeof _Struct.dec = (decoders) =>
  _Struct.dec(traceableStructure(decoders))

export const Struct: typeof _Struct = <A extends StringRecord<Codec<any>>>(
  codecs: A,
) =>
  createCodec(
    StructEnc(
      mapStringRecord(codecs, (x) => x[0]) as StringRecord<A[keyof A][0]>,
    ),
    StructDec(
      mapStringRecord(codecs, (x) => x[1]) as StringRecord<A[keyof A][1]>,
    ),
  )

Struct.enc = StructEnc
Struct.dec = StructDec

This code creates a Struct codec creator with the same public API as the one in scale-ts, which has some traceability baked in. So, we could do the same with all the other codec-creators of scale-ts and then export that into a library like @scale-ts/traces and then make the development build use that library instead of scale-ts... That's just one example, of something that could be done on top of the current primitives... And please believe me: if it wasn't for the fact that I currently have bigger fish to fry, I would be building this kinds of things 🙂.
All I"m saying is that it's 100% possible to have really good traceability without baking it into the core primitives.


Exposing the builder methods that accepts the client certificate as an InputStream in the ClientCertificateCredentialBuilder

Description
Allowing the usage of the builder methods that accept the certificate as an InputStream in the ClientCertificateCredentialBuilder class.
This PR resolves #33951 issue.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes. (Test coverage already present)

@viswatejan thank you for this contribution.  @g2vinay could you please take a look and assist @viswatejan?

@viswatejan
Thank you for opening this PR.
This work requires API design change and cannot be released as it is with the public modifier.
I will link the PR here that will be opened by our team.


Button scroll to top align in small screens

Related Issue
Fixes:  #2135
Description
Adjust scrolltotop and chatbot buttons align in small screens.

Type of PR

[x] Bug fix
[ ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
Before

After

Checklist:

[x] I have made this change from my own.
[x] I have taken help from some online resources.
[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers and screenshots after making the changes.

@huamanraj @RishabhDhawad @RitiChandak @anuragverma108 Please check it and merge !

@RishabhDhawad You forgot to give labels please give labels.

@huamanraj Can you please give me labels for this my PR.


Move generic type to QuerierWrapper

Moves the generic type for the custom query from the custom_query method to the QuerierWrapper instance. This way we gain type safety once a QuerierWrapper is created.
By constructing QuerierWrapper on demand in Deps::custom_querier() we keep deps free of this generic.

This doesn't really address my use case, but did inspire me. I added a few more comments on #1075

Added one more commit. This moves the generic type to deps and has to be added to all entry points as well. This is heavy but seems to be okay from the user's perspective.

BTW, you have to use Clone not Copy as PhantomData requires that C implement Clone or Copy, right? Even though that is not really needed on the runtime.
If that is the case, since you already have a lifetime, you should be able to use PhantomData<&'a C> which always has Clone and Copy like any non mutable reference. At least I remember doing something like this in the past

BTW, you have to use Clone not Copy as PhantomData requires that C implement Clone or Copy, right?

No. The primary motivation is then #[derive(Copy)] on a type with generic C only implements Copy for C: Copy. I.e. an impl<C: Copy> Copy for MyType<C> is derived. Since our CustomQuery is not Copy, #[derive(Copy)] does nothing on QuerierWrapper and Deps. It would be possible to implement Copy manually for all C.
I wonder if we really want to guarantee that such complex types can always implement Copy. Maybe it works now. With Clone we are much more flexible.

I agree. We do not want to require C: Copy. That would be bad.
But we can require &C implements Copy as that is given for all C.

@ethanfrey please have a look at the last commit 64d61a6. There you see what it takes to keep the Copy implementation. This is not so much about PhantomData.
The main question is if we WANT to implement Copy for those types. This comes with the restriction that we can never add any field that is not Copy. My feeling is no, because they are too complex. But it is possible.

I looked at this, and then tried modifying it to PhantomData<&'a C> and deriving Copy. Which failed (as you found out already).
Seemed odd, as PhantomData always implements Copy.  As well as &T for all T.
But this is a limitation of device, not Copy, as explained here: https://stackoverflow.com/a/60907370
Since this is just about the issues with derive macro, and the manual implementation will fail if we add a field that does not implement Copy, I think your solution in https://github.com/CosmWasm/cosmwasm/commit/64d61a65a0e3bf05575cf461ee7fc0a739de94df is nice and least API breaking, most flexible to work with. I tested this, by adding a fake String to the type, and got this error:
error[E0204]: the trait `Copy` may not be implemented for this type
   --> packages/std/src/traits.rs:149:26
    |
142 |     foo: String,
    |     ----------- this field does not implement `Copy`
...
149 | impl<'a, C: CustomQuery> Copy for QuerierWrapper<'a, C> {}
    |                          ^^^^

error: aborting due to previous error

All in all, I think this is a very nice PR, which adds type safety for contracts that use custom queries and has zero impact for contract developers who do not.

Alright. This got a bit bigger now because I change the (almost forgotten) IBC exports as well. Otherwise no big news. Ready for merge from my point of view.


Support Aurelia Plugin syntax

JSPM supported a plugin syntax to Aurelia.  It seems that webpack does not support this.
Repro:

Start with the webpack typescript skeleton project.
run npm install aurelia-dialog
Add this to the main.ts : .plugin('aurelia-dialog') right after .developmentLogging().

Expected
Running the skeleton project will correctly add aurelia-dialog as a plugin.
Actual
Running the skeleton project gives the following error:

Cannot find module './aurelia-dialog'.

As a side note, none of these work either:
 .plugin('node_modules/aurelia-dialog/dist/commonjs/aurelia-dialog')
 .plugin('node_modules/aurelia-dialog/dist/commonjs/aurelia-dialog.js')
 .plugin('../node_modules/aurelia-dialog/dist/commonjs/aurelia-dialog')
 .plugin('../node_modules/aurelia-dialog/dist/commonjs/aurelia-dialog.js')

They all give a variation of the above error message.

There's a setting you have to configure on the webpack plugin. See this PR for some notes: https://github.com/aurelia/skeleton-navigation/pull/393

@EisenbergEffect Thanks!
I am presenting Aurelia at the Utah Code Camp on Saturday, and I would love to do with with Webpack.  But so far it is kicking my but.

(I mostly have JSPM figured, so I can present Aurelia using that if I can't get Webpack to work.)

Excellent to hear you are presenting it! Thanks for helping to spread the word.
There are a couple of webpack fixes we have. I’ll do a release in the next day or two. Maybe some of that will help you.

On Apr 11, 2016, at 1:55 PM, Vaccano<EMAIL_ADDRESS>wrote:
@EisenbergEffect
Thanks!
I am presenting Aurelia at the Utah Code Camp on Saturday, and I would love to do with with Webpack. But so far it is kicking my but.

(I mostly have JSPM figured, so I can present Aurelia using that if I can't get Webpack to work.)
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

@EisenbergEffect Just by chance, do any of those fixes have to do with console not being defined?  (as in console.log is not a function).
That is what is messing me up right now and if there is a fix for it, well, I can stop hitting my head against that wall.

I haven't heard anything about that actually...


error when running scTAD.py

Hello,
I get the following error when running scTAD.py with default (just python Higashi/higashi/scTAD.py -c config.JSON)

However, if I run at --window_ins 2000000 --window_tad 2000000 it seems to work. Could you let me know why this is the case? Do i need to increase the resolution from previous steps? I set my resolution in config file as follows:

Thank you!!

The window_ins and window_tad needs to be at least 2x the resolution you use for training and imputation.
And 1mb is probably too large for calling TADs


process with -- in args being mishandled

cc @siggisim

fixed in 2ad6ac0b656567415c84319f79de81f108b7fd87
I'll cut a release


Integrate with IAM

Add configuration to support SSO, you can choose use it or not.

Login by Oauth2
Record generation history
The admin can view this records

I don't understand this feature request
The spring initialize doesn't have a user system, nor required login to use

rethinking this, I think this is a valid requirement.
we may support such configuration:
login.required=true -- which is false by default.
when this is set to true, it is required to login before using this service.
And there is already a https://github.com/Azure/azure-spring-initializr/blob/main/initializr-extension/src/main/java/com/azure/spring/initializr/web/project/ProjectGenerationListener.java, currently it is just logging the project generation result ( success or fail ) to log, but it is easy to implement another listener to log the generation result to database, with current login user info, if the login.required property is enabled.

drop from plan


MicrobitV2 get LED brightness returns wrong values

Describe the bug

The get LED brightness block does not return values ranging from 0-9.
Instead it returns doubling values till 256 (0,1,2,4,8,16,32,64,128,256)
This bug is not reproducible in the python editor by microbit. This most likely means that this issue would get resolved by updating the firmware hex used to generate the hex file in the lab.

To Reproduce
Steps to reproduce the behavior:

Go to microbit v2
Go to the expert toolbox
Set the LED brightness to a value greater than 2
Read the LED brightness via the display or serial
See Error

Expected behavior

The get LED brightness block should return values from 0-9 that match the value set in the set LED brightness block.

Screenshots
Example program showing the blocks affected:

Additional context

This should also be tested on the original microbit.

Solved with latest release.


[Suggestion] Allow for inverse sorting order

An option to switch the order of the armor pieces in your armor bar.
Instead of sorting top to bottom: helmet, chestplate, leggings, boots. It would sort bottom to top: boots, leggings, chestplate, helmet.
So wearing a gold helmet would put the gold piece at the very end of your armor bar, instead of at the beginning.

Added in 2.6 version. thanks for your suggestion.


training efficientDet-d0 over VOC0712 dataset, cpu cost is  very high,  always over 85%. can anybody tell me what happens ? thanks

Any description?

I train efficientdet d0 on voc0712, i didnt get attention with cpu cost, have u test on voc2007?
whats the mAP u got?
mine is as:
AP for aeroplane = 0.8431
AP for bicycle = 0.8494
AP for bird = 0.7730
AP for boat = 0.6617
AP for bottle = 0.5781
AP for bus = 0.8470
AP for car = 0.8763
AP for cat = 0.8507
AP for chair = 0.6052
AP for cow = 0.8176
AP for diningtable = 0.6236
AP for dog = 0.8137
AP for horse = 0.8629
AP for motorbike = 0.8339
AP for person = 0.7785
AP for pottedplant = 0.5108
AP for sheep = 0.8022
AP for sofa = 0.6860
AP for train = 0.8568
AP for tvmonitor = 0.7898
Mean AP = 0.7630

I run the eval.py with the pre-trained model EfficientDet-d0 on VOC2007 test dataset, but the map is only 56. Do you know why? Can you share the model you trained?


Tabs height animation not working with display-directive="show"

TuSimple/naive-ui version (版本)
2.29.0
Vue version (Vue 版本)
3.2.34
Browser and its version (浏览器及其版本)
Chrome(102.0.5005.61)
System and its version (系统及其版本)
MacOS(12.4)
Node version (Node 版本)
v16.15.0
Reappearance link (重现链接)
https://codesandbox.io/s/confident-khayyam-577zk5?file=/src/App.vue
Reappearance steps (重现步骤)
Open the link to CodeSandbox and switch between the Login and Registration tab or:
Create an NTabs component with animated prop and two NTabPanes inside. Use display-directive="show" with both tab panes and make the content of the second pane larger than the first pane. Then switch between the two tabs.
Expected results (期望的结果)
When switching between the tabs, the height of the pane wrapper should transition smoothly according to the height of the content.
Actual results (实际的结果)
Only when switching from the tab with smaller height to the tab with larger height is the height of the pane wrapper animated, not vice versa.
Remarks (补充说明)
With display-directive="if" the height transition is working in both directions, but I need to preserve state between tab switches.

This is a interesting bug. The reason is that beforeLeave hook & enter hook of vue's transition-group children is not consistent.


Feature request: RAG for search and chat

Ollama for local embedding
RAG algorithm similar to LlamaIndex.TS
IndexedDB for vector store (currently not supported by LlamaIndex.TS)

Links:
https://ollama.com/blog/embedding-models
https://ts.llamaindex.ai/

hi I know my ollama connection is active and serving. When i connect to http://<IP_ADDRESS>:11434 in the web browser it said ollama is active and serving. But when i put that into the obsidian plugin it always said time out or not connected. What is wrong and how do i fix it?


Add LMQL llm [wip]

My attempt at integrating LMQL as an LLM class in langchain. Example usage will be like:
from langchain.llms import LMQL
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate

lmql_str = '''lmql
argmax
    """
    A list of things to not forget when going to sea (not travelling):
    """
    backpack = []
    for i in range(5):
        "-[THING]"
        backpack.append(THING.strip())
    print(backpack)
from
    "openai/text-davinci-003"
where
    STOPS_AT(THING, "\\n")
'''

lmql = LMQL()
result = lmql.generate([lmql_str])
print(result)
# -> generations=[[Generation(text='\nA list of things to not forget when going to sea (not travelling):\n- Life jackets\n- Emergency flares\n- First aid kit\n- Navigation equipment\n- Anchor and chain\n', generation_info={'THING': ' Anchor and chain\n'})]] llm_output=None

You can use it in an LLMChain.
prompt = PromptTemplate.from_template(lmql_str)
chain = LLMChain(llm=lmql, prompt=prompt)
print(chain.run({}))
# -> A list of things to not forget when going to sea (not travelling):
# -> - Life jackets
# -> - Emergency flares
# -> - First aid kit
# -> - Navigation equipment
# -> - Anchor and chain

Well it seems that lmql Python requirement is incompatible with langchain.
The current project's Python requirement (>=3.8.1,<4.0) is not compatible with some of the required packages Python requirement:
  - lmql requires Python >=3.10, so it will not be satisfied for Python >=3.8.1,<3.10

Closing this PR.


minor improvements to istio cni

Please provide a description of what this PR is for.
This PR adds some minor improvements to istio-cni-taint-controller
i) Logging of errors when processing istio cni pods from the workqueue
ii) Consistent usage of namespace
iii) Adding standard labels to the istio cni taint controller manifests
And to help us figure out who should review this PR, please
put an X in all the areas that this PR affects.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ ] Does not have any changes that may affect Istio users.

@tariq1890: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
598c36ca8c9ad9c7b0872334e12b543633054524
link
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test release-notes_istio

1.15 support is being removed in 1.10, and has already started.
But if we do change the default we will probably break upgrades
On Tue, Feb 23, 2021 at 9:29 AM Tariq Ibrahim<EMAIL_ADDRESS>wrote:

@tariq1890 commented on this pull request.
In manifests/charts/istio-cni/templates/daemonset.yaml
https://github.com/istio/istio/pull/30944#discussion_r581237684:

@@ -148,7 +148,7 @@ spec:
- name: "TAINT_CONFIGMAP-NAME"
value: "istio-cni-taint-configmap"
- name: "TAINT_CONFIGMAP-NAMESPACE"

       value: "kube-system"

       value: {{ .Release.Namespace | quote }}

@rlenglet https://github.com/rlenglet We use a custom namespace to
deploy istio-cni. Our daemonsets are marked as system-node-critical which
is higher than system-cluster-critical.
Deploying into kube-system is not an option for us. I believe this might
be a limitation in kubernetes versions 1.15 and lower.
Is there any plan to retire k8s 1.15 support at all?
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/30944#discussion_r581237684, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXN7ZFWLRGUDP3WHHH3TAPQZLANCNFSM4X324RIA
.

@howardjohn Are you sure that this will "break" upgrades? Isn't the taint controller used in an experimental mode. At its current state, the taint controller isn't really usable. Wouldn't it be safe to just make this change and stop hard-coding namespaces before this is termed as release-ready?

If CNI suddenly ends up in a different namespace I suspect we would end up
with 2 copies which will probably conflict with each other, etc. The taint
controller is in the same daemonset as the core CNI so I don't think you
can just change the namespace of the tainy controller?
On Tue, Feb 23, 2021 at 9:43 AM Tariq Ibrahim<EMAIL_ADDRESS>wrote:

@howardjohn https://github.com/howardjohn Are you sure that this will
"break" upgrades? Isn't the taint controller used in an experimental mode.
At its current state, the taint controller isn't really usable. Wouldn't it
be safe to just make this change and stop hard-coding namespaces before
this is termed as release-ready?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/30944#issuecomment-784380319, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXMUXTLDVAMXSWBZLQLTAPSLTANCNFSM4X324RIA
.

@howardjohn How about creating  a values.yaml parameter to make this configurable? The value can default to kube-system

@howardjohn @rlenglet Requesting your response. Harcoding kube-system puts us in a difficult place. It doesn't fit with how we manage our istio lifecycles.
Would using a helm value for this work?

We have been running istio cni in our custom namespace since Istio 1.6

One thing I am confused of: our docs say --set components.cni.namespace=kube-system

@howardjohn This is applicable only for GKE as per the docs. These instructions won't apply to us as we use custom Kubernetes clusters built on AWS

I think this needs a release note, @tariq1890 ?

+1 on release note.  @tariq1890 can you also describe any impact of upgrade? A little nervous on the namespace change and its impact to upgrade

Sure, could you point me to the steps of writing a release note? I'm happy to provide the necessary details there.
I don't think the upgrade should break the deployment since you're deploying the configMap to a different namespace (it is now being deployed in the right namespace, in fact) and the daemonSet has also been updated to point to the new namespace of the train configMap.
Additionally, I believe Istio CNI is not necessarily a GA component and the taint controller is an experimental mode within Istio CNI. The taint controlled is also disabled by default.
Finally, I'd like to add that we faced multiple issues when turning on the taint controller. I don't think the taint controller is in a usable state currently. Is the taint controller being tested by Istio upstream's test suite?


Add "SE-0187 Introduce Sequence.filterMap(_:)"

Please ignore me, I somehow was looking in the wrong directory.


[BUG] SubmitOnEnter not working in antd useForms

Describe the bug
submit on enter doesn't work for antd.
Steps To Reproduce

Go to UseForm dictionary,
Write refineCoreProps
undefined value type for refineCore Propes
Actual ui form don't respond enter key.

Actaul code in documentaion Below;
submitOnEnter
When it's true, submitOnEnter will submit the form when the enter key is pressed. It can be used to prevent the user from accidentally leaving the page. It is false by default

useForm({
  refineCoreProps: {
    submitOnEnter: true,
  },
});

my code block is below

import { IResourceComponentsProps, useTranslation, useGetIdentity, useNotification  } from "@refinedev/core";
import { Create, TextField, useForm, useSelect } from "@refinedev/antd";
import { DatePicker, Form, Input, InputNumber, Select } from "antd";
import React from "react";

import { Permission, Role } from "@refinedev/appwrite";

import { appwriteClient, appwrite_function, account } from "../../utility";

import { linkDocumentId } from "../../AppwriteConf";

export const LinksCreate: React.FC<IResourceComponentsProps> = () => {

    const { formProps, saveButtonProps  } = useForm({
        refineCoreProps: {
            submitOnEnter: true,
        },
        meta: {
            writePermissions: [Permission.write(Role.user(identity!.$id))], // müsteri id'si basılmalı
            readPermissions: [Permission.read(Role.user(identity!.$id))],
        },
        successNotification: (data, values, resource) => {
        return {
            message: `Link Oluşturma Başarılı`,
            type: "success",
        };
        },
        // it will be called when the form is submitted with errors
        // By setting it to `false`, you can disable the notification.
        errorNotification: (error, values, resource) => {
        return {
            message: `Link Oluşturma Başarısız`,
            description: `Lütfen yönetinizi bildirin.`,
            type: "error",
        };
        },
        onMutationSuccess : async (data, variables, context, isAutoSave) => {
            console.log(data.data.id); // link id'li nesneye permission yaz
            // customer.data?.data.at(0).id

            console.log("data")
            console.log(data)

            console.log("variables")
            console.log(variables)

            console.log("customer id");
            console.log(data.data.customers.$id)

            // documentId, collectionId, roleUserId

            let jsonBody = `{"documentId":"${data.data.id}", "collectionId":"${linkDocumentId}", "roleUserId":"${data.data.customers.$id}"}`

            console.log(jsonBody);
            var result = await appwrite_function.createExecution("66c726de00252fd5c7b6", jsonBody);

            if (result.response != "Doküman Update Başarılı.") {
                open?.({
                type: "error",
                message: "Linkler Müşterinize tanımlanamadı, Lütfen müşterinize başvurun.",
                description: result.response.toString(),
                key: "unique-id",
                });

            } else {
                open?.({
                type: "success",
                message: "Linkler müşterinize tanımlandı." ,
                //description: "I <3 Refine",
                key: "unique-id",
                });
            }
        }
    });
...

Expected behavior
submit on enter trigger sumbit event
Packages
@refinedev/antd
Additional Context
No response

Hey @onrdmr sorry for the issue! Looks like we've some issues in our documentation. The submitOnEnter prop works as expected but it should be passed directly to the useForm rather than wrapping inside refineCoreProps 🤦
Try using like this:
const { formProps } = useForm({
  submitOnEnter: true,
});

Keeping the issue open to update the documentation. We need to fix the code samples in the documentation of useForm of @refinedev/antd, we don't even have refineCoreProps in those hooks 😅 Let us know if you want to work on this, we'll be happy to see your contribution 🙏

I have made the changes and issued a PR at #6322. Do the needful


PR: Deactivate class fuction dropdown by default

Fixes: #4948

I left a minor comment, then I'll merge.


feature: support eager agg for Plan inside project.

Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 32.58 seconds
stream load tsv:          427 seconds loaded<PHONE_NUMBER>9 Bytes, about 167 MB/s
stream load json:         21 seconds loaded<PHONE_NUMBER> Bytes, about 107 MB/s
stream load orc:          60 seconds loaded<PHONE_NUMBER> Bytes, about 17 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230413102309_clickbench_pr_128545.html


Audio signal processing using Matlab

We ask that you please be patient as our team works through approving and publishing all articles/tutorials in a timely manner. Allow 1-3 days for a topic to be reviewed and/or approved - allow 3-7 days for an articles to be reviewed and/or published.
Be sure to visit our Resources Page for tools, resources, and example articles to go over.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
NOTE: We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
We're looking for the first 2-3 paragraphs of the article that appropriately summarize what your article will be about.
Audio signal processing using Matlab
Introduction:
A signal describes how some physical quantity varies over time and/or space. Signal processing involves the manipulation of signals to change their characteristics or extract information. Matlab provides a tool for the creation and manipulation of discrete-time signals. This involves the reading and analysis of this signal. It focuses on altering the sounds, methods used in musical representation, and telecommunication sectors.
In this article, we will discuss the filtering methods for various signals. We will also look at the graphic equalizer, echo effect, flange, and reverb effect. We will look at the low pass filter which is used to remove the white Gaussian noise from a signal.  We major on the spectral processing techniques of relevance for the description and transformation of sounds, practical knowledge with which to analyze, synthesize, transform and describe audio signals in the context of music applications
Key takeaways:

Understanding and using the signal processing toolbox
Understanding basic filtering:low pass filter.
understanding the practical implementation of signal processing in audio signal processing.

References:
Please list links to any published content/research that you intend to use to support/guide this article.
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

seems like a helpful topic - lets please be sure it add value beyond what is in the official docs and that it does not overlap with any existing EngEd articles or incoming topic suggestions (if you haven't already) to avoid any potential article closure. - approved @queenterbruce063


Add GraphQL setup

I don't think we should merge this. See comment on #20.
We should have a proper Relay setup including the standard Relay root query fields (see https://jobs.zalando.com/tech/blog/building-a-relay-compatible-graphql-server/?gh_src=4n3gxh1 for details).
Implementing all relay specs (node resolver, viewer type, and using connections) will enable us to leverage GraphQL in a more efficient way.
I don't see the point of merging an Apollo setup for now. We should discuss this

Following up on this
After thoroughly reviewing this setup, I have several remarks. I will try to give links and proper documentation for each of the points I make.
Graphql files
I do not think we should be writing .graphql files ourselves. Those files are the transposition of our application's typing system into the GraphQL shorthand typing system. They should be generated automatically for two reasons :

Automating this process can help detecting schema errors that we could introduce if we modified the schema ourselves. The schema we expose through our API is public and will be used by all of the consumers (our own and potential others). Breaking the schema is easy, hard to debug without tools, and will break the prod instantly.
Generating the schema will enable us to use structures like interfaces that will be automatically generated

In my opinion, we should define types as code, and have them generated automatically to create a single schema.graphql file.
See examples of schema defined as code :

graphql-relay-js definition of GraphQL's test schema
Relay fullstack repo graphql schema

Those two particular examples don't use stitching, but we could make it work, defining a schema per model and stitching them when generating the .graphql files.
I'm leaning toward stitching myself, and I know @tombonnike wants it (let me know what you think).
Relay specs
Both the examples above implement Relay specs using graphql-relay-js, which is a library exposing Relay specific patterns as types and interfaces.
Those patterns can be summarized as such :
The Connection interface
The connection system in Relay is designed to help manipulate collections through a GraphQL API.
It comes with a built-in cursor based pagination which makes it easy for the consumer to know at all times how much of the collection he has received, how much is left, and which part of the collection he is currently manipulating.
The connection can be seen as a one to many relationship between different types.
A connection looks like this :
# A connection to a list of items.
type UserProjectsConnection {
  # Information to aid in pagination. (type provided by Relay)
  pageInfo: PageInfo!

  # Actual data (an edge type)
  edges: [ProjectsEdge]
}

# An edge in a connection.
type ProjectsEdge {
  # The item at the end of the edge.
  node: Project

  # A cursor for use in pagination. (cursor is the place of our object in the connection)
  cursor: String!
}

The Node interface
The node interface defines the creation of a unique ID for each object manipulated by the API. This ID is standardized. It takes the application layer arbitrary ID (generally a database ID for example) and the object Type and generates an ID that should be unique across the whole application. Final ID is a base64 encode of TypeName:ArbitraryId
This enables any node to be resolved with a single resolver : the node resolver. The node resolver takes a Relay ID as input and resolves the type of the object first, then the object itself (using the arbitrary ID).
This resolver is very versatile and very useful (when fetching info for a particular element in a list for example).
The Root Query
In Relay, the typical root Query should only have two fields, and in GraphQL shorthand type system looks like this :
type QueryRoot {
  # Fetches an object given its ID
  node(
    # The ID of an object
    id: ID!
  ): Node

  # The viewer ; May not be connected
  viewer: Viewer
}

The Viewer type is conceptually the user that requests the page, which makes permissions management a bit easier.
There are other concepts such as MutationId, but we might not use this for now, and we can still implement this later. Subscriptions are also brought by Relay and enable realtime con
Naming conventions
In Relay, especially on the front-end part, there are conventions for typing and naming.

Expected user input and API response should be typed, and the names of those types should respectively be MutationNameInput and MutationNamePayload
Connections should be named

Overall
I think we should follow those specs. They might be a bit harder to implement at first, but all the handy stuff will greatly improve the reliability of our app and the strict conventions will make it less hard to contribute to.
I'm in favor of declaring our schema as code in order to leverage the relay-graphql-js package which will let us use Relay patterns in our code (cursor system is deeply linked to db queries for example) across the whole app.

I mainly agree with @Tom-Bonnike on this one. Relay is very opinionated, and that's a good think. But to be honest, I think Relay lacks of examples and documentation on some topics.
In my opinion, using Relay is great in a React-oriented environment, but I think it will cause us some pain to work with when it comes to the CLI for exemple.
Moreover, I think using Relay will be a strong entry barrier for some newcomer who would like to contribute to our project.
TL;DR:
Should we use Apollo?

If both of you prefer to use Apollo it's fine.
A few things however:

If I’m not mistaken, Relay was built to be used with React only…
One could also argue that because we use Relay, our consumers will HAVE to use a relay-compliant client
Relay are just specs on top of GraphQL, so any GraphQL client should be able to use a Relay Server just as well a any other. Front-end Relay helps leveraging all Relay server Specs but (in the GraphQL spirit really), in the end it's all just specs that you can chose to use or not.

Server-side rendering support is also not as great
I might be wrong but I don't think we will need that

I think Relay lacks of examples and documentation on some topics.
That's true especially on the front-end side. Examples exist but they are sometimes hard to find.

Should we use Apollo?
I mean yeah, if you want to.

Relay are just specs on top of GraphQL, so any GraphQL client should be able to use a Relay Server just as well a any other. Front-end Relay helps leveraging all Relay server Specs but (in the GraphQL spirit really), in the end it's all just specs that you can chose to use or not.

I get that. But we’d still be forcing ourselves into respecting opinionated specs that we won’t benefit from in our CLI and that might make our lives harder. For example, we can build our pagination system the way we want if we ever need to adapt it for our CLI.
We can totally cherry-pick some of Relay’s rules, though.


[PluggableDevice] add DEVICE_DEFAULT for iterator/optional ops

Add DEVICE_DEFAULT for iterator/optional ops. This PR is for PluggableDevice.

@saxenasaurabh Can you please review this PR ? Thanks!

Hi @quintinwang5,
Sorry for the long silence! We have been having an internal discussion about this.
@jsimsa doesn't think tf.data kernels are "device independent". He said that while they register the same kernel for each device, the registration used different priorities to override default placement decisions. In other words, tf.data kernels should not be run on any device.
I'm closing this PR now. If you have questions, please feel free to ask @jsimsa here directly.


New workspaces have a lot of random, unreadable files

I've started a workspace, and there are a lot of files in in besides the notebook I created:

If I try to open in the UI:

File Load Error for<PHONE_NUMBER>.919012.sh
Invalid response: 404 Not Found

But the same files are readable from the shell:
mccalluc@1605958a36bd:~/43$ ls
1656438429.919012.sh   JupyterLabJob_50_config.py   JupyterLabJob_51_config.py   notebook.ipynb
1656445414.2997541.sh  JupyterLabJob_50_output.log  JupyterLabJob_51_output.log
1656445508.3097498.sh  JupyterLabJob_50_venv        JupyterLabJob_51_venv
mccalluc@1605958a36bd:~/43$ head<PHONE_NUMBER>.919012.sh
#!/bin/bash
# Let's assume that the module/virtualenv set-up can be moved else-where
# TODO: Make this configurable
virtualenv -p python3.8 "JupyterLabJob_49_venv"
source "JupyterLabJob_49_venv/bin/activate"
pip install jupyterlab

# All we really need is this part

CONFIG_FILE="$(pwd)/JupyterLabJob_49_config.py"

Should these be visible at all? They seem like a distraction.
If they should be visible, they should be openable in the UI without a 404

Consideration:

Move these files/directories under a "jobs" directory to avoid confusion.

Investigate:

Non-Jupyter Notebooks cannot be read from JupyterLab session (throw 404). Issue appears to be related to query params, as the URL w/o those query params returns file metadata.

Solution:

Hiding config/scripts for jobs under a dot directory so that they're not visible from the JupyterLab UI.

Investigate:

Still need to investigate the 404 errors since this would cause issues with any scripts/files that are created through the API that aren't Jupyter Notebooks.

Solution for un-readable files:
TLDR: Keyword conflict between dependency and JupyterLab
django-rest-framework relies on format in the query_params to "intelligently" determine what type of output to generate. JupyterLab also relies on this same parameter. This was causing conflicts as django-rest-framework was not routing calls appropriately. Turning off this setting URL_FORMAT_OVERRIDE resolved this issue.


Make Boolean Directrix Fisherman Directrix and document it

identical to #778 except the profession is fisherman, because shepherd feels a bit too generic and also is harder to level

went with shepherd


Error: Cannot transition to abstract state 'settings.tokens'

View details in Rollbar: https://rollbar.com/Azavea/RasterFoundry/items/455/

Error: Cannot transition to abstract state 'settings.tokens'
  File "webpack:///./~/angular-ui-router/release/angular-ui-router.js", line 3196, in Object.transitionTo
  File "webpack:///./~/angular-ui-router/release/angular-ui-router.js", line 3121, in Object.go
  File "webpack:///./~/angular-ui-router/release/angular-ui-router.js", line 4195, in eval
  File "webpack:///./~/angular/angular.js", line 19945, in eval
  File "webpack:///./~/angular/angular.js", line 6048, in completeOutstandingRequest
  File "webpack:///./~/angular/angular.js", line 6327, in eval

On the home page the "Manage API Tokens" link should take you to the correct page for token management.


python36Packages.django_extensions: 2.0.7 -> 2.1.3

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python3.6-django-extensions/versions.
meta.description for python36Packages.django_extensions is: '"A collection of custom extensions for the Django Framework"'.
Compare changes on GitHub

Checks done (click to expand)

built on NixOS

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 2.1.3 with grep in /nix/store/wmwqj52gakby4w5wg0ad3q3gbsgvxj5f-python3.6-django-extensions-2.1.3

directory tree listing: https://gist.github.com/e435e7386aa5569a7c989c85305b1936

du listing: https://gist.github.com/bd569093658425610cb6ea4eea40d366

Outpath report (click to expand)

Outpath difference report
8 total rebuild paths
2 package rebuilds
2 x86_64-linux rebuilds
2 i686-linux rebuilds
2 x86_64-darwin rebuilds
2 aarch64-linux rebuilds
First ten rebuilds by attrpath
python27Packages.django_extensions
python36Packages.django_extensions

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/wmwqj52gakby4w5wg0ad3q3gbsgvxj5f-python3.6-django-extensions-2.1.3 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A python36Packages.django_extensions https://github.com/r-ryantm/nixpkgs/archive/dd2534b287df4ce3aa23170b9f30733a29e70c92.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/wmwqj52gakby4w5wg0ad3q3gbsgvxj5f-python3.6-django-extensions-2.1.3
ls -la /nix/store/wmwqj52gakby4w5wg0ad3q3gbsgvxj5f-python3.6-django-extensions-2.1.3/bin

Success on aarch64-linux (full log)
Attempted: python36Packages.django_extensions
Partial log (click to expand)
django_extensions/utils/text.py                                          19      4    79%
django_extensions/validators.py                                          45     25    44%
-----------------------------------------------------------------------------------------
TOTAL                                                                  6872   3157    54%
Coverage HTML written to dir htmlcov

==================== 237 passed, 9 skipped in 19.49 seconds ====================
pytestcachePhase
/nix/store/1x4palbgpaszps45hv2hzbi3id7j3nwy-python3.6-django-extensions-2.1.3

Success on x86_64-linux (full log)
Attempted: python36Packages.django_extensions
Partial log (click to expand)
django_extensions/utils/text.py                                          19      4    79%
django_extensions/validators.py                                          45     25    44%
-----------------------------------------------------------------------------------------
TOTAL                                                                  6872   3157    54%
Coverage HTML written to dir htmlcov

==================== 237 passed, 9 skipped in 33.92 seconds ====================
pytestcachePhase
/nix/store/wmwqj52gakby4w5wg0ad3q3gbsgvxj5f-python3.6-django-extensions-2.1.3

Success on x86_64-darwin (full log)
Attempted: python36Packages.django_extensions
Partial log (click to expand)
django_extensions/utils/dia2django.py                                   142    129     9%
django_extensions/utils/text.py                                          19      4    79%
django_extensions/validators.py                                          45     25    44%
-----------------------------------------------------------------------------------------
TOTAL                                                                  6872   3157    54%
Coverage HTML written to dir htmlcov

==================== 237 passed, 9 skipped in 10.45 seconds ====================
pytestcachePhase


Make the linter run yarn tslint instead of just tslint

I have tslint globally installed but due to the way my projects are set up it doesn't really work correctly to run tslint directly, rather I always run yarn tslint which works as expected.
I've poked around all the docs on SublimeLinter and this plugin, and as far as I can tell the tslint command is hardcoded into the plugin. Is there any way to specify to run yarn tslint instead?

Something like this is possible in SL4, you need to set 'executable' to ['yarn', 'tslint'] in the linter settings.

Thanks for the help @kaste. This seems to work. I'm having another problem but it looks like others are tracking the same issue here (#28) so I'll chime in on that thread. Thanks!


default plan admission controller: filter list of service plans/service classes by the class name

when getting list of plans to determine default plan name, limit the service classes and plan names we consider by only including those associated with the specified class name.
fixes #1346

needs unit coverage

@pmorie let's discuss.  I added additional unit test but I'm not in favor of this approach.

Looks like an import mismatch somewhere? Bad merge?

I addressed Ville's review and remerged to address compilation issue with unit test.  All set now.

@pmorie good catches.  I've removed the lister, the WaitForReady check,  bogus comment and updated the error with both k8s and internal class name addressing all of your review comments.  Thanks for the review.

LGTM with one caveat, surprised the tests passed however?


Remove deprecated FluentIterable/Throwables usages

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@5e6d896). Click here to learn what that means.
The diff coverage is 71.42%.

@@            Coverage Diff            @@
##             master    #6020   +/-   ##
=========================================
  Coverage          ?   83.09%
  Complexity        ?    12418
=========================================
  Files             ?     1434
  Lines             ?    46983
  Branches          ?     5776
=========================================
  Hits              ?    39041
  Misses            ?     5257
  Partials          ?     2685

Impacted Files
Coverage Δ
Complexity Δ

.../crate/operation/projectors/IndexNameResolver.java
73.68% <100%> (ø)
9 <0> (?)

...src/main/java/io/crate/analyze/symbol/Literal.java
84% <100%> (ø)
50 <0> (?)

...java/io/crate/executor/transport/StreamBucket.java
78.16% <60%> (ø)
16 <3> (?)

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 5e6d896...fdb99ca. Read the comment docs.


Guide: how to flash the newest PCB revision

After struggling a lot with the newest revision and many hours of trial and error this is the solution.
I have done this with MacOS but it should be the same on Linux. Feel free to convert the guide to a Windows friendly version.l
As the chip is read/write protected and locked one cannot backup the original firmware or overwrite without erasing the chip first. That is why the original firmware is needed. For now it can be obtained here:
https://github.com/fhempy/fyrtur-motor-board
Do not proceed without the original firmware!!!
Step 1 prepare the PCB:
Cut the trace between pin 31 (BOOT0) and pin 32 (GND).  Check with a multimeter that pin 31 and pin 32 is not shorted.

Solder one end of a wire to pin 31 (BOOT0) and the other end to 3.3V. On the bottom side of the PCB a 3.3V test point is easy accessible.

Step 2 unlock the the chip
If using an unofficial programmer one does not need to connect external power to the PCB as power will be provided by the programmer. If using the official ST-LINK (I have only tested V3) external power is needed as stated in the original instructions.
Unlock the chip with openocd (credits to @sjorge):
openocd -f interface/stlink-v2.cfg -f target/stm32f0x.cfg -c "init" -c "halt" -c "stm32f1x unlock 0" -c "reset halt" -c "exit"
Disconnect power from the board for about 30 seconds and the connect the flasher again and run:
st-info --probe
If the output is similar to this the unlock succeeded:
Found 1 stlink programmers
version:    V2J29S7
serial:     53FF68065056705424410481
flash:      32768 (pagesize: 1024)
sram:       4096
chipid:     0x444
dev-type:   STM32F03x
Step 3 flash the firmware:
As the chip is read/write protected one cannot backup the current firmware nor can one overwrite the chip with cusom firmware and preserve the parameters that is not provided in the custom firmware.

Erase the chip with the command
st-flash erase
Flash the chip with the original firmware that was downloaded from the link provided in the beginning
st-flash write original-fyrtur-fw.bin 0x8000000
Flash the custom firmware of your choise
st-flash write fyrtur-0.87-sleep-5RPM.bin 0x8000000

Step 4 reassemble the motor board and enjoy

How do I know if I have the new revision?
Mine has the bridge between pin 31 and pin 32, and it says revision 1.1 on the sticker on the back of the PCB.
Not sure if due to bad soldering or new revision :)
% st-info --probe
[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
[!] send_recv STLINK_GET_VERSION
[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
[!] send_recv STLINK_GET_CURRENT_MODE
[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
[!] send_recv STLINK_APIV3_GET_COM_FREQ
[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
[!] send_recv STLINK_GET_CURRENT_MODE
[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
[!] send_recv STLINK_DEBUG_ENTER
[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
[!] send_recv STLINK_JTAG_READDEBUG_32BIT
[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
[!] send_recv STLINK_JTAG_DRIVE_NRST
[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
[!] send_recv STLINK_JTAG_DRIVE_NRST
[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
[!] send_recv STLINK_DEBUG_RESETSYS
[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
[!] send_recv STLINK_DEBUG_READCOREID
[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT
[!] send_recv STLINK_JTAG_READDEBUG_32BIT
Found 1 stlink programmers
  version:    V3
  serial:     001B003B3133510A36303739
  flash:      0 (pagesize: 0)
  sram:       0
  chipid:     0x0000
  descr:      unknown device

Hi I will give it a shot!
Just to double check. 3v goes to T_VCC and is used as the target voltage only, and then using the battery as power source?

Hmm Im stuck with:
% openocd -f interface/stlink.cfg -f target/stm32f0x.cfg -c "init" -c "halt" -c "stm32f1x unlock 0" -c "reset halt" -c "exit"
Open On-Chip Debugger 0.12.0
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
Info : clock speed 1000 kHz
Info : STLINK V3J14M5B5S1 (API v3) VID:PID 0483:374F
Info : Target voltage: 3.259535
Warn : target stm32f0x.cpu examination failed
Info : starting gdb server for stm32f0x.cpu on 3333
Info : Listening on port 3333 for gdb connections
Error: Target not examined yet

Ive soldered PIN31 to 3.3V

I'm stuck with this error after programming with the original firmware:

Thanks for putting together your findings. Still, I seem to have some problems.
I had an identical solder between the pin and ground, but even after following your instructions and then using the openocd command, I've not been able to connect to the board.
I get this output:
$ openocd -f interface/stlink.cfg -f target/stm32f0x.cfg -c "init" -c "halt" -c "stm32f1x unlock 0" -c "reset halt" -c "exit"
Open On-Chip Debugger 0.12.0+dev-01759-gedf2c82cf (2024-10-08-21:08)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
Info : clock speed 1000 kHz
Info : STLINK V3J15M7 (API v3) VID:PID 0483:3754
Info : Target voltage: 3.277198
Error: init mode failed (unable to connect to the target)

$ st-info --probe
Failed to enter SWD mode
Found 1 stlink programmers
  version:    V3J15
  serial:     002A00343433510837363934
  flash:      0 (pagesize: 0)
  sram:       0
  chipid:     0x000
  dev-type:   unknown

I've tried both clone and authentic st-link. And ensured the correct pins too many times, while using battery of course.
Is there something I've missed, or could I have got an even newer version which new different problems?
This is the markings on my board processor.
CKS32F
030K6T6
NSLM9
2322 A
CKS

https://www.st.com/en/microcontrollers-microprocessors/stm32f030k6.html
2322 A seems to be date code for year 23 and week 22.
Might still be the same microcontroller but in slightly different format
The board also got a sticker specifying:
TQL25-KT(13R+265)
20230920027 9/25


Log tag issue in coroutine blocks

I call a logcat function with default parameters in my kotlin coroutine block like viewModelScope.launch {}, but the tag name seems get from the nested class not from the root class  (Eg. StandaloneCoroutine: xxxx). Should we make the tag name more generally or something just like Timber is doing?

I wrote something similar to this library for our internal use and I also faced the same issue. I solved it by just calling the logcat function with the root class's scope like this<EMAIL_ADDRESS>{ "my log" }.


TypeError: t is undefined in Dashboard image module

https://sentry.io/organizations/dotkom/issues/894784938/?referrer=github_plugin
TypeError: t is undefined
  at imagesObject (./assets/dashboard/core/Gallery.js:79:23)
  at i (/jquery-2.2.4.min.js:2:27151)
  at fireWith (/jquery-2.2.4.min.js:2:27914)
  at z (/jquery-2.2.4.min.js:4:12059)
  at c/< (/jquery-2.2.4.min.js:4:15619)
...
(1 additional frame(s) were not displayed)

Possibly related
Sentry issue: ONLINEWEB-4-5H


nixos/docker: warn about changing storageDriver and remove devicemapper value

Add warning to the documentation of
virtualisation.docker.storageDriver that changing will cause any existing containers and images to become inaccessible.
Edit:
Also removes the devicemapper value for storageDriver, as it has been "Disabled by default in Release: v23.0".
Things done

Built on platform(s)

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

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

[x] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

Hmmm, would it be better to assert the value instead and throw an error if the docker version is 23 or newer and devicemapper is used?
I should have come up with this in the first place.

Don't think that would be worth the extra complexity. It's just gonna be dead code in a year.


Python code cleaning

Some are serious:

Use partial functions instead of lambdas referencing iterators in loop
(that's probably a bug)
Do not use list or sets as default parameters (that may lead to a bug)

Some are minors:

Remove useless import
Remove unused variables
Remove lambda when the lambda body could be used instead

Some are cosmetic:

Rename unused parameters
Use isinstance instead of type

@pbrunet: travis is ok now

Changes Unknown when pulling de472b4ee96568d1adfe49008cc8f84002065bf4 on bugfix/pylint into ** on master**.


Ldap Auth Example

Hi,
Last couple of days I tried to setup LDAP auth with Nagios by Chef. I can auth with user from ldap, but it is working for all users. Is it possible to grant login only for some users or for one group where I have users/members?
Thank you so much for help and answer.
Best,
Rafal

default['nagios']['server_auth_method'] = 'ldap'
default['nagios']['ldap_authoritative'] = 'On'
default['nagios']['ldap_bind_dn']       = 'CN=binddn,DC=example,DC=com'
default['nagios']['ldap_bind_password'] = '<apply_in_databag>'
default['nagios']['ldap_url'] = 'ldap://ldap.example.com'
default['nagios']['server_auth_require'] = 'ldap-group CN=SecretTeam,OU=Groups,DC=example,DC=com'

Thank you! Works!
Rafal


Using kallax migrate command in Windows

kallax migrate up --dir ./migrations/ --dsn testing:testing@<IP_ADDRESS>:5432/testing?sslmode=disable --version<PHONE_NUMBER>
returns
kallax: unable to open a connection with the database: parse file://d:\P\Go\pupkindt\src\ktest\migrations: invalid character "\" in host name
Debugging shows that error appears in function getscheme.
I think problem in using Parse from standard package net/url
The second issue is message "unable to open a connection with the database" - message must be about invalid --dir option

Can you try now with version v1.2.11?

next iteration, result:
kallax: unable to open a connection with the database: open /d:/P/Go/pupkindt/src/ktest/migrations: the filename, directory name, or volume label syntax is incorrect.
May be problem in package github.com/mattes/migrate ?
func New(sourceUrl, databaseUrl string) (*Migrate, error)
...
schemeFromUrl(sourceUrl)
// schemeFromUrl returns the scheme from a URL string
func schemeFromUrl(url string) (string, error) {
u, err := nurl.Parse(url) // nurl "net/url"
if err != nil {
return "", err
}
......
}
But url.Parse don't understand Widows path?

OK, we'll investigate further this issue when we can find some time. Thanks!

This is fixed by #194

Thank you!


[Bug]: Ross Carbonite Black Solo nolonger works after update

What happened?
A bug happened!
I am getting the following error now:
There was an unexpected error. Please open a bug report on the project's Github page or contact one of the developers.
Stacktrace:
TypeError: Cannot read properties of undefined (reading 'find')
at _loop_2 (C:\Users\LFCH\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:340:84)
at _loop_1 (C:\Users\LFCH\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:353:21)
at RossCarboniteSource.updateRossCarboniteTallyData (C:\Users\LFCH\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:367:13)
at RossCarboniteSource.addRossCarboniteTally (C:\Users\LFCH\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:296:26)
at RossCarboniteSource.processRossCarboniteTally (C:\Users\LFCH\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:263:18)
at Parser. (C:\Users\LFCH\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:245:31)
at Parser.parse (C:\Users\LFCH\AppData\Local\Programs\tallyarbiter\resources\app.asar\node_modules\packet\index.js:446:25)
at Socket. (C:\Users\LFCH\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:247:30)
at Socket.emit (node:events:517:28)
at addChunk (node:internal/streams/readable:335:12)
Error datetime
2024-01-08 09:00:36
Logs:
[2024-01-08 08:59:20] info: Starting OSC Setup.
[2024-01-08 08:59:20] info: Loading the stored Tally Arbiter configuration file.
[2024-01-08 08:59:20] info: Tally Arbiter Sources loaded.
[2024-01-08 08:59:20] info: 1 Sources configured.
[2024-01-08 08:59:20] info: Tally Arbiter Devices loaded.
[2024-01-08 08:59:20] info: 8 Devices configured.
[2024-01-08 08:59:20] info: Tally Arbiter Device Sources loaded.
[2024-01-08 08:59:20] info: 0 Device Sources configured.
[2024-01-08 08:59:20] info: Tally Arbiter Device Actions loaded.
[2024-01-08 08:59:20] info: 0 Device Sources configured.
[2024-01-08 08:59:20] info: TSL Clients 1 Second Updates are turned off.
[2024-01-08 08:59:20] info: Tally Arbiter Cloud Destinations loaded.
[2024-01-08 08:59:20] info: Tally Arbiter Cloud Keys loaded.
[2024-01-08 08:59:20] info: Initiating Setup for Source: Carbonite
[2024-01-08 08:59:20] info: Source: Carbonite Creating Ross Carbonite Black Solo connection.
[2024-01-08 08:59:20] info: Source: Carbonite Creating connection.
[2024-01-08 08:59:20] info: Source: Carbonite Reconnect attempts 5.
[2024-01-08 08:59:20] info: Source: Carbonite Default reconnect timeout: 5000.
[2024-01-08 08:59:20] info: Source: Carbonite Connect triggered at startup.
[2024-01-08 08:59:20] info: Source: Carbonite Closed Ross Carbonite Black Solo connection.
[2024-01-08 08:59:20] info: Source Setup Complete.
[2024-01-08 08:59:20] info: Setting up the Main HTTP Server.
[2024-01-08 08:59:20] info: Main HTTP Server Complete.
[2024-01-08 08:59:20] info: TallyArbiter advertised over MDNS.
[2024-01-08 08:59:20] info: Starting socket.IO Setup.
[2024-01-08 08:59:20] info: Socket.IO Setup Complete.
[2024-01-08 08:59:20] info: Starting Listener Providers.
[2024-01-08 08:59:20] info: Starting VMix Emulation Service.
[2024-01-08 08:59:20] info: Starting TSL Listener Service.
[2024-01-08 08:59:20] info: Initiating 0 TSL Client Connections.
[2024-01-08 08:59:20] info: Finished TSL Client Connections.
[2024-01-08 08:59:20] info: Starting HTTP Server.
[2024-01-08 08:59:20] info: OSC Sending Port Ready. Broadcasting on Port: 5958
[2024-01-08 08:59:20] info: Source: Carbonite Connected.
[2024-01-08 08:59:20] info: Source: Carbonite Ross Carbonite Black Solo Connection Opened.
[2024-01-08 08:59:20] info: Finished VMix Emulation Setup. Listening for VMix Tally Connections on TCP Port 8099.
[2024-01-08 08:59:20] info: Tally Arbiter running on port 4455
[2024-01-08 08:59:39] info: Device Source Added: CAM1 - Carbonite
[2024-01-08 08:59:39] info: Config file saved to disk.
[2024-01-08 09:00:00] info: Device Source Edited: CAM1 - Carbonite
[2024-01-08 09:00:00] info: Config file saved to disk.
[2024-01-08 09:00:11] error: Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
[2024-01-08 09:00:11] error: Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
[2024-01-08 09:00:26] info: Device Source Edited: CAM1 - Carbonite
[2024-01-08 09:00:26] info: Config file saved to disk.
[2024-01-08 09:00:36] error: Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
Config file:
{
"security": {
"jwt_private_key": ""
},
"users": [],
"device_actions": [],
"device_sources": [
{
"deviceId": "ebe3664f",
"sourceIdx": "0",
"address": "1",
"bus": "me1",
"sourceId": "6b0985f4",
"id": "c67cbcbe"
}
],
"devices": [
{
"name": "CAM1",
"description": "Camera 1",
"tslAddress": 1,
"enabled": true,
"id": "ebe3664f",
"linkedPreview": false,
"linkedProgram": false
},
{
"name": "CAM2",
"description": "Camera 2",
"tslAddress": 8,
"enabled": true,
"id": "5855afca",
"linkedPreview": false,
"linkedProgram": false
},
{
"name": "CAM3",
"description": "Camera 3",
"tslAddress": 3,
"enabled": true,
"id": "a559df42",
"linkedProgram": false,
"linkedPreview": false
},
{
"name": "CAM4",
"description": "Camera 4",
"tslAddress": 2,
"enabled": true,
"id": "5987c046",
"linkedPreview": false,
"linkedProgram": false
},
{
"name": "CAM5",
"description": "Camera 5",
"tslAddress": 5,
"enabled": true,
"id": "b78a84b2",
"linkedPreview": false,
"linkedProgram": false
},
{
"name": "CAM6",
"description": "Camera 6",
"tslAddress": 4,
"enabled": true,
"id": "dc963603",
"linkedPreview": false,
"linkedProgram": false
},
{
"name": "CAM7",
"description": "Camera 7",
"tslAddress": 6,
"enabled": true,
"id": "b9bc17a5",
"linkedPreview": false,
"linkedProgram": false
},
{
"name": "CG",
"description": "CG",
"tslAddress": 7,
"enabled": true,
"id": "69c13eab",
"linkedPreview": false,
"linkedProgram": false
}
],
"sources": [
{
"data": {
"port": 4459,
"transport_type": "tcp"
},
"name": "Carbonite",
"sourceTypeId": "e1c46de9",
"reconnect": true,
"enabled": true,
"id": "6b0985f4",
"max_reconnects": 5,
"connected": true
}
],
"bus_options": [
{
"id": "e393251c",
"label": "Preview",
"type": "preview",
"color": "#3fe481",
"priority": 50
},
{
"id": "334e4eda",
"label": "Program",
"type": "program",
"color": "#e43f5a",
"priority": 200
},
{
"id": "12c8d699",
"label": "Aux 1",
"type": "aux",
"color": "#0000FF",
"priority": 100
},
{
"id": "12c8d689",
"label": "Aux 2",
"type": "aux",
"color": "#0000FF",
"priority": 100
}
],
"externalAddress": "http://<IP_ADDRESS>:4455/#/tally",
"remoteErrorReporting": false,
"uuid": ""
}
Version
3.0.6
Distribution
Source
OS
Windows
What browsers are you seeing the problem on?
Chrome
If applicable, What Listener Clients are You Using?
M5 Stick
TallyArbiter configuration
{
  "security": {
    "jwt_private_key": "92R1Mq9xUgIZNeoGccmymSe8gXHCo1zY5evFFNmrpxhpAAYfvw3SdyBiz3KcWPjyGUPrGxh/EnWU4IdPch9Jxr8jtjaiPcNI7XeeacJOSA/ER9pwoSTZ8Akw49kdqSVG4DErDuDyGYiVXp0wldFt8ICAeHv9O5/Y25wUWwMDY4+s9QTQYUTTMVT+hJQclLOcohKkMtmKvFMRo1ydeqt3FUnLJiNLq0EHtTEM8faIpMUlErHjEhqpl+4EG4sd2x7LmPeLAMZC3FGj6GrEIpi4ZgAD8ljNwTnzzOKcaHFP2gYEqA6Xbtc8KHOYRuALUZ3aGKhi4UcWB7PfGQpCvSq+LQ=="
  },
  "users": [
    {
      "username": "producer",
      "password": "$2b$10$Htc0mXvL/4wc0CdGgutBTOhDgja8lCeZcCS57Fp/TXifSD1x6Qz.q",
      "roles": "producer"
    },
    {
      "username": "admin",
      "password": "$2b$10$PQlKbIIFS4tRw53TsrqV.OHZWcl8fhu5QPnQjKT6Pig8SunWD33uG",
      "roles": "admin"
    }
  ],
  "cloud_destinations": [],
  "cloud_keys": [],
  "device_actions": [],
  "device_sources": [
    {
      "deviceId": "ebe3664f",
      "sourceIdx": "0",
      "address": "1",
      "bus": "me1",
      "sourceId": "6b0985f4",
      "id": "c67cbcbe"
    }
  ],
  "devices": [
    {
      "name": "CAM1",
      "description": "Camera 1",
      "tslAddress": 1,
      "enabled": true,
      "id": "ebe3664f",
      "linkedPreview": false,
      "linkedProgram": false
    },
    {
      "name": "CAM2",
      "description": "Camera 2",
      "tslAddress": 8,
      "enabled": true,
      "id": "5855afca",
      "linkedPreview": false,
      "linkedProgram": false
    },
    {
      "name": "CAM3",
      "description": "Camera 3",
      "tslAddress": 3,
      "enabled": true,
      "id": "a559df42",
      "linkedProgram": false,
      "linkedPreview": false
    },
    {
      "name": "CAM4",
      "description": "Camera 4",
      "tslAddress": 2,
      "enabled": true,
      "id": "5987c046",
      "linkedPreview": false,
      "linkedProgram": false
    },
    {
      "name": "CAM5",
      "description": "Camera 5",
      "tslAddress": 5,
      "enabled": true,
      "id": "b78a84b2",
      "linkedPreview": false,
      "linkedProgram": false
    },
    {
      "name": "CAM6",
      "description": "Camera 6",
      "tslAddress": 4,
      "enabled": true,
      "id": "dc963603",
      "linkedPreview": false,
      "linkedProgram": false
    },
    {
      "name": "CAM7",
      "description": "Camera 7",
      "tslAddress": 6,
      "enabled": true,
      "id": "b9bc17a5",
      "linkedPreview": false,
      "linkedProgram": false
    },
    {
      "name": "CG",
      "description": "CG",
      "tslAddress": 7,
      "enabled": true,
      "id": "69c13eab",
      "linkedPreview": false,
      "linkedProgram": false
    }
  ],
  "sources": [
    {
      "data": {
        "port": 4459,
        "transport_type": "tcp"
      },
      "name": "Carbonite",
      "sourceTypeId": "e1c46de9",
      "reconnect": true,
      "enabled": true,
      "id": "6b0985f4",
      "max_reconnects": 5,
      "connected": true
    }
  ],
  "tsl_clients": [],
  "tsl_clients_1secupdate": false,
  "bus_options": [
    {
      "id": "e393251c",
      "label": "Preview",
      "type": "preview",
      "color": "#3fe481",
      "priority": 50
    },
    {
      "id": "334e4eda",
      "label": "Program",
      "type": "program",
      "color": "#e43f5a",
      "priority": 200
    },
    {
      "id": "12c8d699",
      "label": "Aux 1",
      "type": "aux",
      "color": "#0000FF",
      "priority": 100
    },
    {
      "id": "12c8d689",
      "label": "Aux 2",
      "type": "aux",
      "color": "#0000FF",
      "priority": 100
    }
  ],
  "externalAddress": "http://<IP_ADDRESS>:4455/#/tally",
  "remoteErrorReporting": false,
  "uuid": "c7ad43ce"
}

Relevant log output
1/8/24 8:59 AM] Starting OSC Setup.
[1/8/24 8:59 AM] Loading the stored Tally Arbiter configuration file.
[1/8/24 8:59 AM] Tally Arbiter Sources loaded.
[1/8/24 8:59 AM] 1 Sources configured.
[1/8/24 8:59 AM] Tally Arbiter Devices loaded.
[1/8/24 8:59 AM] 8 Devices configured.
[1/8/24 8:59 AM] Tally Arbiter Device Sources loaded.
[1/8/24 8:59 AM] 0 Device Sources configured.
[1/8/24 8:59 AM] Tally Arbiter Device Actions loaded.
[1/8/24 8:59 AM] 0 Device Sources configured.
[1/8/24 8:59 AM] TSL Clients 1 Second Updates are turned off.
[1/8/24 8:59 AM] Tally Arbiter Cloud Destinations loaded.
[1/8/24 8:59 AM] Tally Arbiter Cloud Keys loaded.
[1/8/24 8:59 AM] Initiating Setup for Source: Carbonite
[1/8/24 8:59 AM] Source: Carbonite Creating Ross Carbonite Black Solo connection.
[1/8/24 8:59 AM] Source: Carbonite Creating connection.
[1/8/24 8:59 AM] Source: Carbonite Reconnect attempts 5.
[1/8/24 8:59 AM] Source: Carbonite Default reconnect timeout: 5000.
[1/8/24 8:59 AM] Source: Carbonite Connect triggered at startup.
[1/8/24 8:59 AM] Source: Carbonite Closed Ross Carbonite Black Solo connection.
[1/8/24 8:59 AM] Source Setup Complete.
[1/8/24 8:59 AM] Setting up the Main HTTP Server.
[1/8/24 8:59 AM] Main HTTP Server Complete.
[1/8/24 8:59 AM] TallyArbiter advertised over MDNS.
[1/8/24 8:59 AM] Starting socket.IO Setup.
[1/8/24 8:59 AM] Socket.IO Setup Complete.
[1/8/24 8:59 AM] Starting Listener Providers.
[1/8/24 8:59 AM] Starting VMix Emulation Service.
[1/8/24 8:59 AM] Starting TSL Listener Service.
[1/8/24 8:59 AM] Initiating 0 TSL Client Connections.
[1/8/24 8:59 AM] Finished TSL Client Connections.
[1/8/24 8:59 AM] Starting HTTP Server.
[1/8/24 8:59 AM] OSC Sending Port Ready. Broadcasting on Port: 5958
[1/8/24 8:59 AM] Source: Carbonite Connected.
[1/8/24 8:59 AM] Source: Carbonite Ross Carbonite Black Solo Connection Opened.
[1/8/24 8:59 AM] Finished VMix Emulation Setup. Listening for VMix Tally Connections on TCP Port 8099.
[1/8/24 8:59 AM] Tally Arbiter running on port 4455
[1/8/24 8:59 AM] Device Source Added: CAM1 - Carbonite
[1/8/24 8:59 AM] Config file saved to disk.
[1/8/24 9:00 AM] Device Source Edited: CAM1 - Carbonite
[1/8/24 9:00 AM] Config file saved to disk.
[1/8/24 9:00 AM] Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
[1/8/24 9:00 AM] Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
[1/8/24 9:00 AM] Device Source Edited: CAM1 - Carbonite
[1/8/24 9:00 AM] Config file saved to disk.
[1/8/24 9:00 AM] Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
Tally Data
[1/8/24 9:00 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:00 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:00 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:00 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:00 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:00 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:00 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:00 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:00 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:00 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:00 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:01 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:01 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:01 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:01 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:01 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:02 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:02 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:02 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:02 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:03 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:03 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:03 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:03 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:04 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:04 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:04 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:04 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:04 AM] Source: Carbonite Address: c67cbcbe No busses
[1/8/24 9:04 AM] Source: Carbonite Address: c67cbcbe No busses
Version 3.0.6 - Go to error reports list

Error stacktrace (if applicable)
No response

Did it crash after editing a device source? It looks in the attached log that you edited the source Carbonite for the device CAM1.
Does it crash everytime you edit the device source?
Does TA work after restart?

In a sense yes it crashes after editing a device source. To explain what i mean. It lets me add the Source and in our case its the Carbonite Black Solo. When i go to edit the device source it will let me add it then then it does not keep it. I then have to shut down the application and restart it and have to attempt it a few times to get the device source to take it. Once it takes one it will take it on all of the other devices. from there i am getting the error  or the bug report when i switch to the first source.
In previous versions of TA the Ross Carbonite Black Solo source did not work and I had to use a generic TLS device option but i have found when setting it up that way there is no option to select the bus and i get a bus not selected error. I just performed an update to 3.0.7 and its still giving me an error.
Here is the stacktrace from the error.
TypeError: Cannot read properties of undefined (reading 'find')
at _loop_2 (C:\Users\LFCH\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:340:84)
at _loop_1 (C:\Users\LFCH\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:353:21)
at RossCarboniteSource.updateRossCarboniteTallyData (C:\Users\LFCH\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:367:13)
at RossCarboniteSource.addRossCarboniteTally (C:\Users\LFCH\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:296:26)
at RossCarboniteSource.processRossCarboniteTally (C:\Users\LFCH\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:263:18)
at Parser. (C:\Users\LFCH\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:245:31)
at Parser.parse (C:\Users\LFCH\AppData\Local\Programs\tallyarbiter\resources\app.asar\node_modules\packet\index.js:446:25)
at Socket. (C:\Users\LFCH\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:247:30)
at Socket.emit (node:events:517:28)
at addChunk (node:internal/streams/readable:335:12)
I am happy to do a remote session of some kind if its easier for you to diagnose whats happening on the device and specific configuration. I know its hard to reproduce a specific error without the known hardware.

One thing that has always bothered me and i can never remember in the device source it asks for an address. Is this supposed to be the TLS address or is this supposed to be the IP address of the source? I have tired both and i think i am getting more information from the TLS address.

It’s always supposed to be the tsl address or the physical input number depending on your device type. Never IP address in this area because you’ve already associated the IP at the source level.

Thanks for the the note on the intention for the Address field. There is one place that the Device Edit info I see a field labled TLS address so that one is very clear what its intended for. under the device source there is an Address field that is just listed as Address. IF this is supposed to also be a TSL address then maybe its best for that field to have a label of TSL address instead of just Address.
For the Ross Carbonite Black solo device and the i don't enter an IP address its just a port number. there is not anywhere that I can enter an IP address. I am associating the IP address of the computer running the software from our video switcher. So i think the data is still coming across from that direction.
With my current configuration setup as the Source as Ross Carbonite Black Solo Port 4459 using TCP here are the issues i am seeing:

After entering the main source I still have to quit TA and relaunch it to be able to edit the device sources. and I think by your standards this is the application crashing?
With only one device configured on TSL 1 when the Switcher changes inputs that input in the info log i am getting "[1/11/24 10:49 AM] Caught exception: TypeError: Cannot read properties of undefined (reading 'find')"
I have the busses configured on the device but when i switch to any input i am seeing this in the Tally Data log: [1/11/24 11:00 AM] Source: Carbonite R Address: 2fdf24ae No busses"

Again if its easier to have access to this computer for diagnosis I am Happy to work with you to make that happen. If its a configuration issues on my end please let me know what I need to change.

If TA is acting as a client, that source type will have an IP. If it is the server, it’s just listening on a port. In your case with a Carbonite, it is the client sending data to TA.
I have 3 carbonites. Just no free time to fix this.

Ok. I will roll back to the working version that I have. From my understanding I think my use case has TA as the server and its distributing the tally to the M5sticks that I have and its coming from Carbonite. I will look for an update here some time later on.
Thanks for your hard work on this! Its a great project that helps me out a lot and I know it does others.
If there is any way that I can assist with this feel free to ask, I am happy to help in any way.

Hello just following up to see if this was addressed in the last update or if this issue is still present before I try an attempt at 3.0.8

Still present

just checking in to see if this issue has been addresed in 3.0.10?

You can view the commit history here at any time to know if the change was addressed and I will generally try to follow up on issues as they are fixed or related: https://github.com/josephdadams/TallyArbiter/commits/master/

I am also encountering this bug on a different model of Carbonite switcher.
Back
:(
There was an unexpected error. Please open a bug report on the project's Github page or contact one of the developers.
Stacktrace:
TypeError: Cannot read properties of undefined (reading 'find')
at _loop_2 (C:\Users\MediaRoom\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:340:84)
at _loop_1 (C:\Users\MediaRoom\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:353:21)
at RossCarboniteSource.updateRossCarboniteTallyData (C:\Users\MediaRoom\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:367:13)
at RossCarboniteSource.removeRossCarboniteTally (C:\Users\MediaRoom\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:320:22)
at RossCarboniteSource.processRossCarboniteTally (C:\Users\MediaRoom\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:281:38)
at tslumd. (C:\Users\MediaRoom\AppData\Local\Programs\tallyarbiter\resources\app.asar\dist\sources\RossCarbonite.js:233:23)
at tslumd.emit (node:events:517:28)
at Parser. (C:\Users\MediaRoom\AppData\Local\Programs\tallyarbiter\resources\app.asar\node_modules\tsl-umd\index.js:35:9)
at Parser.parse (C:\Users\MediaRoom\AppData\Local\Programs\tallyarbiter\resources\app.asar\node_modules\packet\index.js:446:25)
at Socket.  Broadcasting on Port: 5958
[2024-06-11 16:56:15] info: Finished VMix Emulation Setup. Listening for VMix Tally Connections on TCP Port 8099.
[2024-06-11 16:56:15] info: Tally Arbiter running on port 4455
[2024-06-11 16:56:26] error: Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
[2024-06-11 16:56:26] error: Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
[2024-06-11 16:56:34] error: Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] error: Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:34] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:35] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:35] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:35] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:35] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:35] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:35] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:35] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:35] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:35] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:35] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:35] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:35] info: Sending TSL data for CCU3 to 1 client.
[2024-06-11 16:56:54] error: Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
[2024-06-11 16:56:54] error: Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
[2024-06-11 16:56:54] error: Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
[2024-06-11 16:57:01] info: Config file saved to disk.
[2024-06-11 16:57:15] info: Source Edited: Main Carbonite Switcher
[2024-06-11 16:57:15] info: Config file saved to disk.
[2024-06-11 16:57:20] error: Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
[2024-06-11 16:57:20] error: Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
[2024-06-11 16:57:20] error: Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
[2024-06-11 16:57:34] error: Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
[2024-06-11 16:58:34] error: Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
[2024-06-11 16:59:35] error: Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
[2024-06-11 17:00:35] error: Caught exception: TypeError: Cannot read properties of undefined (reading 'find')
Config file:
{
"security": {
"jwt_private_key": ""
},
"users": [],
"device_actions": [
{
"deviceId": "5f4a2261",
"data": {
"ip": "<IP_ADDRESS>",
"port": 8900,
"index": 0,
"screen": 0,
"text_tally": "2"
},
"busId": "334e4eda",
"active": true,
"outputTypeIdx": "7",
"outputTypeId": "8b99d588",
"id": "63fb8a8a"
}
],
"device_sources": [
{
"deviceId": "5f4a2261",
"sourceIdx": "0",
"address": "3",
"bus": "onair",
"sourceId": "ceff3707",
"id": "b940ceec"
}
],
"devices": [
{
"name": "CCU3",
"description": "HDCU3100",
"tslAddress": 3,
"enabled": true,
"id": "5f4a2261"
}
],
"sources": [
{
"data": {
"port": 9383,
"transport_type": "udp"
},
"name": "Main Carbonite Switcher",
"sourceTypeId": "039bb9d6",
"reconnect": false,
"enabled": true,
"id": "ceff3707",
"max_reconnects": 5,
"connected": true
}
],
"bus_options": [
{
"id": "e393251c",
"label": "Preview",
"type": "preview",
"color": "#3fe481",
"priority": 50
},
{
"id": "334e4eda",
"label": "Program",
"type": "program",
"color": "#e43f5a",
"priority": 200
},
{
"id": "12c8d699",
"label": "Aux 1",
"type": "aux",
"color": "#0000FF",
"priority": 100
},
{
"id": "12c8d689",
"label": "Aux 2",
"type": "aux",
"color": "#0000FF",
"priority": 100
}
],
"externalAddress": "http://<IP_ADDRESS>:4455/#/tally",
"remoteErrorReporting": false,
"uuid": ""
}

Same problem here.

Ok. I will roll back to the working version that I have (2.0.16 if anyone else needs to know). From my understanding I think my use case has TA as the server and its distributing the tally to the M5sticks that I have and its coming from Carbonite. I will look for an update here some time later on.
Thanks for your hard work on this! Its a great project that helps me out a lot and I know it does others.
If there is any way that I can assist with this feel free to ask, I am happy to help in any way.

All other platforms running correctly. We roll back to 2.0.16 but it does not work.

If TA is acting as a client, that source type will have an IP. If it is the server, it’s just listening on a port. In your case with a Carbonite, it is the client sending data to TA.
I have 3 carbonites. Just no free time to fix this.

How do you have them connected? Could you add a snapshot of your configuration on Carbonite and TA?

How do you have them connected? Could you add a snapshot of your configuration on Carbonite and TA?

Yes please see my attached screenshots here:

Sorry I didn't see this right away.


scale_*_log2() as a shortcut for trans='log2'

scale_x_log2() and scale_y_log2() can be used as shorcuts for  scale_*_continuous(trans='log2') on top of #828. This already exists for log10 on lets_plot and log2 one is available in ggplot2.

Added in v4.2.0.


SharpShell's property sheets are not shown when running in a virtual machine.

Hi.  Related to this problem I'm having with SharpShell in my main OS: https://github.com/dwmkerr/sharpshell/issues/177
I decided to try register "FileTimesPropertySheet" shell extension in a fresh Windows 10 x64 installation (in a virtual machine) to see if it works fine and then it can help me to try discard problem causes.
The problem is that the property sheet is never shown for any kind of file. I also installed and registered my own property sheet which has an association to all files (like the "FileTimesPropertySheet" has) but my property sheet is not shown too.
These are the specifications:
Windows version: Windows 10.16299.15 (x64)
VM software: VmWare Workstation 14.x
Is UAC enabled?: Nope.
I have admin rights?: Yes, in fact I'm using the default and hidden user-account with name "Administrator" that has elevated privileges.
I have installed any kind of 3rd party programs in the virtual OS?: Nope. I just installed the MVC++ runtimes (2010, 2012, 2015 and 2017) to try make sharpshell work, just trying a random solution, of course it didn't worked.
Which build configuration I used to compile SharpShell native bridge?: SDK Windows 10.16299, Platform Toolset v141, Debug, Mixed Platforms.
As you can see in the image below, the ServerManager says the shell extension is installed and registeed, but the property sheet tab is not shown when opening the details of a file...

Please note that I restared explorer process, and I restarted the virtual machine to see whether changes where applied. Note also that for my own shell extension (that with name "hello1") I also tried association by class name (".dll") and extension name (".dll"), it didn't worked.
Why sharpshell's property sheets are not shown when running in a virtual OS?

Please refer to my comment https://github.com/dwmkerr/sharpshell/issues/177#issuecomment-419977280

This is closed now I think, but please re-open if needed.