Remote collections HTML being cut-out

So right now my blog uses remote collections to pull content from a Ghost backend. This content is returned in the form of HTML (and lots of other useful properties, but HTML is the important one here).
So, when I set up my remote collections, I noticed that my content was cropped.  I traced the problem down to the Blade parser, where I gave up and decided to search for another solution.
I ended up creating a custom Parser (with another hacky workaround I may document in another issue) and manually retrieving all of the downloaded files and adding spaces between HTML tags (as that, apparently, fixes the issue).
The source is available on this repo.
I don't really know if this is an extreme edge case or something that should be fixed, just wanted to document it so others with the same problem can solve a few debugging hours. Either way, I can provide reproduction steps if needed :)

This appears to be fixed with https://github.com/tightenco/jigsaw/pull/388 (in my testing,
The heading

The paragraph
 renders correctly in a remote collection), but let me know if you are still seeing this issue when using Jigsaw v1.3.14. The 1.3.14 update requires rolling back Parsedown and ParsedownExtra to earlier versions 1.7 and 0.7, respectively.


[ENHANCE] Im wondering if you would be able to integrate a ROBE_ACCURACY for X & Y endstops type of functionality

Please see here.
https://klipper.discourse.group/t/fr-probe-z-accuracy-or-probe-accuracy-equivalent-function-for-x-y-endstops/13986
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
XY homing accuracy can affect Z-offset accuracy with a dedicated z-homing switch that uses a pin, like with the voron 2.4.
It would also be good for diagnosing failing X&Y switches that have a shorter lifespan in heated enclosures.
For some type of setups X & Y accuracy can be more or less important. For instance with my voron the z-endstop accuracy is a product of hitting the pin dead in the center, so is then further reliant on XY accuracy.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Equivalent of PROBE_Z_ACCURACY or PROBE_ACCURACY function for X & Y endstops.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Doesn't seem to be any, I thought maybe a macro. Someone on klipper discourse suggested I look at your work.
Additional context
Add any other context or screenshots about the feature request here.

@PhilBaz if I understand correctly this is kind of something that already exists in AUTO_SPEED, where it measures the variance of the X/Y endstops. Is there something missing from that?
Are you requesting for that to be exposed so you can run it independently?

@Anonoei
Yes, exposing it to be run independently would be great. In order to quickly check the variance on the X & Y endstops.
I don't know if you are familiar with PROBE_Z_ACCURACY or PROBE_ACCURACY. But for instance I use PROBE_Z_ACCURACY with the z-endstop of my Voron 2.4, it hits the endstop 20 times and I can see the z-height at which the endstop triggers each time, then it calculates the mean, standard deviation, etc.
One nice thing about PROBE_Z_ACCURACY is that you can call it with variables like:
PROBE_Z_ACCURACY PROBE_SPEED=10 LIFT_SPEED=15 SAMPLES=20 SAMPLE_RETRACT_DIST=3
This is very nice if you want to see how speed affects the result, or run a short test vs a long test.
I hope that makes sense :)

@PhilBaz that makes sense!
I'll look how klipper implements it for the Z axis to see if there is something similar on X/Y. Since another user requested different homing speeds, I'll need to make something to control it for that anyway, which I can also add to the variance checking. This seems like it could actually be a pretty useful tool!
Should I implement it as PROBE_X_ACCURACY and PROBE_Y_ACCURACY, or something different?

@Anonoei
Ahh, fantastic. Yes, i think it would be very useful. It's such a fundamental functionality I was kind of surprised they didn't include it in native klipper function.
Sure, those names make perfect sense.
Ahh, very happy you like the idea. Very excited to try it out :)

Did this already make it into Auto? sorry been a while since i pulled my head out of the ground to look around :)


Board delegate method name fix

Corrected Board delegate method names that got out of sync.

/morph test


Improve PDI in docker experience

In GitLab by @ksiero on Jul 19, 2019, 14:23
Subtask of #147.
Create Docker images for testing. Take under consideration different compilers and libraries versions.
Related to #138.

closed via merge request !218


Install fails on Openshift 4.10.21

We couldn't get it to run on Openshift 4.10.21. Has it been tested on this version?
$ oc get clusterversion
NAME      VERSION   AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.10.21   True        False         67d     Cluster version is 4.10.21

The daemonset is created but the pods are not spinning up
NAME                                                  DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
daemonset.apps/csi-csi-secrets-store-provider-azure   0         0         0       0            0           kubernetes.io/os=linux   16m
daemonset.apps/secrets-store-csi-driver               0         0         0       0            0           kubernetes.io/os=linux   16m

I get this error in the Openshift events
8m20s       Warning   FailedCreate        daemonset/secrets-store-csi-driver                Error creating: pods "secrets-store-csi-driver-" is forbidden: unable to validate against any security context constraint: [provider "anyuid": Forbidden: not usable by user or serviceaccount, provider "pipelines-scc": Forbidden: not usable by user or serviceaccount, spec.volumes[0]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[1]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[2]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[3]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[4]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.containers[1].securityContext.privileged: Invalid value: true: Privileged containers are not allowed, provider "nonroot": Forbidden: not usable by user or serviceaccount, provider "hostmount-anyuid": Forbidden: not usable by user or serviceaccount, provider "machine-api-termination-handler": Forbidden: not usable by user or serviceaccount, provider "hostnetwork": Forbidden: not usable by user or serviceaccount, provider "hostaccess": Forbidden: not usable by user or serviceaccount, provider "node-exporter": Forbidden: not usable by user or serviceaccount, provider "ibm-monitoring-exporters-scc": Forbidden: not usable by user or serviceaccount, provider "privileged": Forbidden: not usable by user or serviceaccount, provider "privileged-routefix": Forbidden: not usable by user or serviceaccount]
Service accounts created by the helm install:
$ oc describe sa csi-secrets-store-provider-azure
Name:                csi-secrets-store-provider-azure
Namespace:           mite
Labels:              app=csi-secrets-store-provider-azure
                     app.kubernetes.io/instance=csi
                     app.kubernetes.io/managed-by=Helm
                     app.kubernetes.io/name=csi-secrets-store-provider-azure
                     app.kubernetes.io/version=1.3.0
                     helm.sh/chart=csi-secrets-store-provider-azure-1.3.0
Annotations:         meta.helm.sh/release-name: csi
                     meta.helm.sh/release-namespace: mite
Image pull secrets:  csi-secrets-store-provider-azure-dockercfg-44vcm
Mountable secrets:   csi-secrets-store-provider-azure-dockercfg-44vcm
                     csi-secrets-store-provider-azure-token-8cbz6
Tokens:              csi-secrets-store-provider-azure-token-8cbz6
                     csi-secrets-store-provider-azure-token-p9rpm
Events:              <none>

$ oc describe sa secrets-store-csi-driver
Name:                secrets-store-csi-driver
Namespace:           mite
Labels:              app=secrets-store-csi-driver
                     app.kubernetes.io/instance=csi
                     app.kubernetes.io/managed-by=Helm
                     app.kubernetes.io/name=secrets-store-csi-driver
                     app.kubernetes.io/version=1.2.3
                     helm.sh/chart=secrets-store-csi-driver-1.2.3
Annotations:         meta.helm.sh/release-name: csi
                     meta.helm.sh/release-namespace: mite
Image pull secrets:  secrets-store-csi-driver-dockercfg-bzk66
Mountable secrets:   secrets-store-csi-driver-token-vprn9
                     secrets-store-csi-driver-dockercfg-bzk66
Tokens:              secrets-store-csi-driver-token-ltwk8
                     secrets-store-csi-driver-token-vprn9
Events:              <none>

Attempts to give it full permissions did not make any difference:
oc adm policy add-scc-to-user pipelines-scc -z csi-secrets-store-provider-azure
oc adm policy add-scc-to-user pipelines-scc -z secrets-store-csi-driver

As suggested also tried to set these during the install so that it creates the required clusterrole and clusterrolebinding
helm install csi csi-secrets-store-provider-azure/csi-secrets-store-provider-azure --namespace mite --set secrets-store-csi-driver.enableSecretRotation=true --set secrets-store-csi-driver.rotationPollInterval=5m --set secrets-store-csi-driver.syncSecret.enabled=true
Anything else you would like to add:
It works perfectly on Openshift 4.6.53
Which access mode did you use to access the Azure Key Vault instance:
Service Principal
Environment:

Secrets Store CSI Driver version: 1.2.3
Azure Key Vault provider version: 1.3.0
Kubernetes version: v1.23.5
Cluster type: Openshift 4.10.21
Installation method: https://azure.github.io/secrets-store-csi-driver-provider-azure/docs/demos/standard-walkthrough/

Found the issue, it works only when deployed on tube-system namespace/project on Openshift


Consider increasing # of default workers?

Currently, there is one worker spawned per core (if I'm understanding correctly).
This severely limits concurrent connections as it appears only one request per worker can be handled at a time.
Changing this to 2x dramatically affects the techempower benchmarks:
from:
        {
          "latencyAvg": "421.56ms",
          "latencyMax": "3.65s",
          "latencyStdev": "766.41ms",
          "totalRequests": 74185,
          "startTime":<PHONE_NUMBER>,
          "endTime":<PHONE_NUMBER>
        }

to
        {
          "latencyAvg": "100.05ms",
          "latencyMax": "1.01s",
          "latencyStdev": "137.47ms",
          "totalRequests": 112578,
          "startTime":<PHONE_NUMBER>,
          "endTime":<PHONE_NUMBER>
        }

Anything beyond 2x has diminishing returns in my testing. FWIW, 2x on my hardware is 32 workers.

Somehow I tab+enter'd that. Didn't mean to submit yet.
What do you think about:

Allow specifying 2x, 2.5x, etc in worker config to get a multiplier of workers.
Make the default 2x the number of cores by default.

We should also update the documentation to recommend triggering the garbage collector of PHP after every request in worker mode. This should improve the performance.

Please, add the patch to the benchmark.
And later, you will know the next step.

When you want we talk!!
But more workers will be the worst, for a coroutines platform.
But the best, it's than you tried and we talk later.

The default number of workers is highly specific to the physical architecture it is running on but there's no actual scheduling of each worker on a different core. The default is wholly arbitrary and something that kinda makes sense. Right now, it appears the default is too low.
I have no desire to update the benchmarks, and that isn't all I tested with to arrive at 2x cores. I did share the fact that it improves the benchmark... because I'm trying to improve performance... and that would improve the benchmarks.
The nice thing about these benchmarks is that they're nicely reproducible and thus, useful.


Composer fails

Composer fails to install the bundle.  Specs are
 "php": ">=5.3.3",
 "symfony/symfony": "2.7.*",

Trace is:
- klaussilveira/neo4j-ogm-bundle dev-master requires hirevoice/neo4jphp-ogm dev-master -> satisfiable by hirevoice/neo4jphp-ogm[dev-master].
- Installation request for klaussilveira/neo4j-ogm-bundle dev-master -> satisfiable by klaussilveira/neo4j-ogm-bundle[dev-master].

Could you please make a release for that bundle ?

This is because you must add this to composer :
 "everyman/neo4jphp": "dev-master",
 "hirevoice/neo4jphp-ogm": "dev-master",
 "klaussilveira/neo4j-ogm-bundle": "dev-master"

just went through this myself. The Packagist listings arent properly connecting the dependency versions

I had to do this:
"minimum-stability": "dev",
"prefer-stable": true,
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.7.*",
"klaussilveira/neo4j-ogm-bundle": "dev-master@dev"
}


Fixing test waiter logic so that it properly reports when acceptance …

…tests can continue running

cc. @KevinJia191
Thanks for the update and fix. How can we test this test waiter to make sure it's working properly?

To test, we extract the function to be a pure function and then test all permutations.

Thanks for cleaning this up @lbdm44. That method being extracted + having well named variables makes this massively easier to understand. 👏👏


API calls should retry on HTTP error code 503?

When using vagrant-linode, I encountered this error on several machines:
An unexpected error occurred when executing the action on the
'osd28' machine. Please report this as a bug:

API threw HTTP error code 503

/home/pdonnell/.vagrant.d/gems/gems/linodeapi-1.0.1/lib/linodeapi/raw.rb:77:in `error_check'
/home/pdonnell/.vagrant.d/gems/gems/linodeapi-1.0.1/lib/linodeapi/raw.rb:72:in `call'
/home/pdonnell/.vagrant.d/gems/gems/linodeapi-1.0.1/lib/linodeapi/raw.rb:62:in `block in make_call'
/home/pdonnell/.vagrant.d/gems/gems/linodeapi-1.0.1/lib/linodeapi/raw.rb:63:in `make_call'
/home/pdonnell/.vagrant.d/gems/gems/linodeapi-1.0.1/lib/linodeapi/raw.rb:44:in `method_missing'
/home/pdonnell/.vagrant.d/gems/gems/vagrant-linode-0.2.7/lib/vagrant-linode/actions/create.rb:50:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in `call'
/home/pdonnell/.vagrant.d/gems/gems/vagrant-linode-0.2.7/lib/vagrant-linode/actions/connect_linode.rb:31:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in `call'
/home/pdonnell/.vagrant.d/gems/gems/vagrant-linode-0.2.7/lib/vagrant-linode/actions/message_not_created.rb:11:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builtin/synced_folders.rb:87:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builtin/provision.rb:80:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builder.rb:116:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/runner.rb:66:in `block in run'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/util/busy.rb:19:in `busy'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/runner.rb:66:in `run'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builtin/call.rb:53:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/warden.rb:34:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/builder.rb:116:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/runner.rb:66:in `block in run'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/util/busy.rb:19:in `busy'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/action/runner.rb:66:in `run'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/machine.rb:225:in `action_raw'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/machine.rb:200:in `block in action'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/environment.rb:561:in `lock'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/machine.rb:186:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/machine.rb:186:in `action'
/opt/vagrant/embedded/gems/gems/vagrant-1.8.5/lib/vagrant/batch_action.rb:82:in `block (2 levels) in run'

Perhaps related to throttling? I guess the API call function should be retrying after a timed wait?

Yes, it should handle errors like this, possibly retrying if the conditions are amenable.  The API returns 200s with ErrorCodes for most validation type errors and 429 for rate limited responses.  5xxs are unplanned.  Were your requests made during the 9/14 or 9/8 temporary API outages? https://status.linode.com/
If you continue to get these and you can provide more detail (the time of the request, at least) I can snoop around the other side of the curtain (Linode employee)
and determine exactly what should have happened during the client call. If the details are sensitive you can submit them in a Linode ticket.

This happened last night. It may be relevant that I was creating a lot of linodes at once, 30+.


remove binary deps

FYI You can base this project on my maven tree if you want
https://github.com/Alexwhite3000/wave

Nice!

That link is currently down, but I'd be happy to explore integrations with wave clients someday.


Add better error handling when no network connection

Add better error handling when there is no network connection and print something like: Please check your internet connection.

This can be solved in the btc-value repo.


How to disconnect users right ?

I can use telnet to disconnect
telnet <IP_ADDRESS> 5555
status
kill someip:someport
SUCCESS: 1 client(s) at address someip:someport killed
All seems fine until i get back to web page where i see that instead of a connections block i see
Could not connect to <IP_ADDRESS>:5555 (timed out)
What's going on ? Did i do something wrong ?
Thanks

you must set network as host mode on docker to connect from container to the host that run openopvn


Unable to login to freecodecamp.org using Github

Describe the bug
First I wanted to login to the forums with my Github profile. It pulled my information from Github, but kept forcing me to make a new profile with that information instead of just logging me in.
Then I tried logging in on the website itself, but was presented with "Oops! Something went wrong. Please try again in a moment.". I've tried both Firefox and Chrome, but the issue remained the same.
To Reproduce
Steps to reproduce the behavior:

Just try logging in with a Github profile. Not sure if it's me specific or everyone though.

Expected behavior
It should've just logged me in.
Screenshots

Desktop (please complete the following information):

OS: Windows 7
Browser Firefox / Chrome
Version Firefox 75.0 / Chrome 81.0.4044.122

Additional context
It might be a conflict with having 2 accounts on the same Github profile now. Since the forums kept forcing me to create a new profile instead of logging me in.

Closing as discussed over email.


New dense HyperLogLog format

This version tracks all overflows to avoid error compounding
when multiple HLL instances are merged.
For backward-compatibility, the implementation can still deserialize
the old representation, but will operate and serialize using the new
layout.

looks good


jump to index

when sharing uuids with others, they sometimes just give me the index, but i can't find a way to jump to a specific index... adding this feature would revolutionize the market of uuids and indexes

maybe we could add support for linking via a URL hash or query parameter? https://everyuuid.com/?index=123412341234 or something

Once that is implemented, there could also be an option to directly share your favorite UUID on social media or via email. (Preferably open social media platforma like Mastodon.)


[AzureRg] Changed the 'storageAccountName' text in overrideparam help…

…er marker as it is conflicting with azure ps cmdlet option.

looks fine


Default user unable to sudo after installing Ubuntu devel/zesty

Apparently the default user doesn't get added to the sudo group, so if you don't set a root password so you can su and add the user to the sudo group, you're stuck with a clean system with no way to install packages.

you can use lxsetup or some such to log you in as root.


DRILL-5895: Add logging mongod exception when failed to close all mon…

…god processes during provided timeout
Details in DRILL-5895.

+1. LGTM.


Pr1

As discussed, I make a first minimum PR with as few changes as possible

Thanks @psemdel ! To speed things up, can you please:

Explain what problem this PR is solving
Resolve the merge conflicts
Provide test code that would break before but works successfully with this PR


[Features] QR Code support

Hi,
Let's say that I have a Model with:
Product
Serial Number
Model Number
And I would like to add a new Column that would generate a QR Code based on Product+Serial+Model Number.
Can someone point me to the right direction?
Thank you

Sure, this is the place for your question:
https://stackoverflow.com/search?q=sqlalchemy

Been there, done that, 0 answers, have googled a ton, but nothing specific (to the point I was able to understand).
Thank's.


Add build parameters to docker app build command

- What I did
Pass --build-arg parameter to buildx to build service images
- How I did it
TDB
- How to verify it
TBD
- A picture of a cute animal (not mandatory but encouraged)

@glours can you rebase? 🦁

Is it possible to add some information to the PR description?


Next.js example with hooks

I'm getting an error when converting the next.js app to use makeStyles
Unhandled Rejection (Invariant Violation): Hooks can only be called inside the body of a function component.

  47 |
  48 | // Get the context of the page to collected side effects.
  49 | const pageContext = getPageContext();
> 50 | const page = renderPage((Page) => (props) => {
  51 |   //const pageWithContext = page as Component<InjectPageContext>;
  52 |   return (
  53 |     <JssProvider registry={pageContext.sheetsRegistry} generateClassName={pageContext.generateClassName}>

Would it be possible to update the example or provide tips on how to convert?

Hi, did you solve it ?

@revolunet I did not.

Are you using both react@next and react-dom@next?

Yes

#13920


RuntimeError when I use cuda (vad-crdnn-libriparty)

My test script:
`import torchaudio
from speechbrain.pretrained import VAD
test_file = 'a.wav'
vad_final = 'bond_vad.wav'

VAD = VAD.from_hparams(run_opts={"device":"cuda"}, source="speechbrain/vad-crdnn-libriparty", savedir="pretrained_models/vad-crdnn-libriparty")
boundaries = VAD.get_speech_segments(test_file)
VAD.save_boundaries(boundaries, save_path='VAD_file.txt')
upsampled_boundaries = VAD.upsample_boundaries(boundaries, test_file)
torchaudio.save(vad_final, upsampled_boundaries.cpu(), 16000)`
When I run it, the following error goes:
Traceback (most recent call last):   File "test.py", line 12, in <module>     boundaries = VAD.get_speech_segments(test_file)   File "/home/yehor/Tools/anaconda3/envs/my/lib/python3.8/site-packages/speechbrain/pretrained/interfaces.py", line 1861, in get_speech_segments     prob_chunks = self.get_speech_prob_file(   File "/home/yehor/Tools/anaconda3/envs/my/lib/python3.8/site-packages/speechbrain/pretrained/interfaces.py", line 1092, in get_speech_prob_file     small_chunks_prob = self.get_speech_prob_chunk(small_chunks)   File "/home/yehor/Tools/anaconda3/envs/my/lib/python3.8/site-packages/speechbrain/pretrained/interfaces.py", line 1203, in get_speech_prob_chunk     outputs = self.mods.cnn(feats)   File "/home/yehor/Tools/anaconda3/envs/my/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl     return forward_call(*input, **kwargs)   File "/home/yehor/Tools/anaconda3/envs/my/lib/python3.8/site-packages/speechbrain/nnet/containers.py", line 144, in forward     x = layer(x)   File "/home/yehor/Tools/anaconda3/envs/my/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl     return forward_call(*input, **kwargs)   File "/home/yehor/Tools/anaconda3/envs/my/lib/python3.8/site-packages/speechbrain/nnet/normalization.py", line 222, in forward     return self.norm(x)   File "/home/yehor/Tools/anaconda3/envs/my/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl     return forward_call(*input, **kwargs)   File "/home/yehor/Tools/anaconda3/envs/my/lib/python3.8/site-packages/torch/nn/modules/normalization.py", line 189, in forward     return F.layer_norm(   File "/home/yehor/Tools/anaconda3/envs/my/lib/python3.8/site-packages/torch/nn/functional.py", line 2486, in layer_norm     return torch.layer_norm(input, normalized_shape, weight, bias, eps, torch.backends.cudnn.enabled) RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0! (when checking argument for argument weight in method wrapper__native_layer_norm)

Hi @matt1209 is the error still happening on the latest version?
I deviated a bit from your snippet, also ran it on cpu, and it works - I used an example.wav file from SpeechBrain.
(Perhaps the issue doesn't appear with this audio file, which would be good to know - then our tests might need improvement.)
import torchaudio
from speechbrain.pretrained import VAD
test_file = 'example.wav'
VAD = VAD.from_hparams(run_opts={"device":"cpu"}, source="speechbrain/vad-crdnn-libriparty", savedir="pretrained_models/vad-crdnn-libriparty")
vad_final = 'example_vad.wav'
boundaries = VAD.get_speech_segments(test_file)
VAD.save_boundaries(boundaries, save_path='VAD_file.txt')
upsampled_boundaries = VAD.upsample_boundaries(boundaries, test_file)
torchaudio.save(vad_final, upsampled_boundaries.cpu(), 16000)

segment_001  0.00  8.60 SPEECH

I had difficulties reading through the formatting of the tracelog - is it that the error already happened here?
boundaries = VAD.get_speech_segments(test_file)
which could be because of the file?
Are there any properties to the audio that are much different than the SpeechBrain example audios?
https://github.com/speechbrain/speechbrain/tree/develop/tests/samples
https://github.com/speechbrain/speechbrain/tree/develop/tests/samples/VAD

Hello,
any news on this PR, please?

Hello,
it seems that there has been no activity for a long time, so I am closing this issue. Feel free to reopen it if the problem reappears on your side. 🙂

Hello,
I seem to have the same issue while getting the speech segment. This occurs only when I use cuda for VAD.
This is my code,
VAD = VAD.from_hparams(
                source="speechbrain/vad-crdnn-libriparty",
                savedir='pretrained/',
                run_opts={"device":"cuda"}
            )
speech = VAD.get_speech_segments(audio_file='file.wav')

Traceback (most recent call last):
File "/home/lakshmi/Documents/project/machinelearninglibrary/ml/speakerDiarization/vad.py", line 38, in get_speech_interval
speech = VAD.get_speech_segments(audio_file=audio_path, small_chunk_size=0.5, large_chunk_size=3.5)
File "/home/lakshmi/miniconda3/envs/LSM/lib/python3.9/site-packages/speechbrain/pretrained/interfaces.py", line 1895, in get_speech_segments
prob_chunks = self.get_speech_prob_file(
File "/home/lakshmi/miniconda3/envs/LSM/lib/python3.9/site-packages/speechbrain/pretrained/interfaces.py", line 1119, in get_speech_prob_file
small_chunks_prob = self.get_speech_prob_chunk(small_chunks)
File "/home/lakshmi/miniconda3/envs/LSM/lib/python3.9/site-packages/speechbrain/pretrained/interfaces.py", line 1230, in get_speech_prob_chunk
outputs = self.mods.cnn(feats)
File "/home/lakshmi/miniconda3/envs/LSM/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "/home/lakshmi/miniconda3/envs/LSM/lib/python3.9/site-packages/speechbrain/nnet/containers.py", line 144, in forward
x = layer(x)
File "/home/lakshmi/miniconda3/envs/LSM/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "/home/lakshmi/miniconda3/envs/LSM/lib/python3.9/site-packages/speechbrain/nnet/normalization.py", line 223, in forward
return self.norm(x)
File "/home/lakshmi/miniconda3/envs/LSM/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "/home/lakshmi/miniconda3/envs/LSM/lib/python3.9/site-packages/torch/nn/modules/normalization.py", line 189, in forward
return F.layer_norm(
File "/home/lakshmi/miniconda3/envs/LSM/lib/python3.9/site-packages/torch/nn/functional.py", line 2486, in layer_norm
return torch.layer_norm(input, normalized_shape, weight, bias, eps, torch.backends.cudnn.enabled)
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0! (when checking argument for argument weight in method wrapper__native_layer_norm)


Does not work on Windows

You asked for a Windows test and I did it on Win7.
The selection does not work well - I think the display is rewritten below (after) previous displays, instead of overwritten.
After selecting a process the message 'not supported by windows' is shown. And the process is not killed.

Thanks, I will set up win 7 virtualbox and debug it

This is the output I got on Windows 7:
/usr/bin/gkill: no process ID specified
Try '/usr/bin/gkill --help' for more information.

It works for me on Windows 10 / Powershell on ConEMU, although the terminal output is weird - every keypress rerenders the whole list after the original one, so I have 3 lists on one screen:

It seems that ansi cursor movements do not work correctly.

I decided to drop windows support for now but if someone is willing to fix these issues feel free to make PR. =)


Pipelines cause Invoke-Expression to work improperly

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
Invoke-Expression "cmd" -OutVariable ans
exit
$ans
Invoke-Expression "cmd" -OutVariable ans | Out-Host
exit
$ans

Expected behavior
PowerShell 7.4.0
PS C:\Users\steve02081504> Invoke-Expression "cmd" -OutVariable ans
Microsoft Windows [Version 10.0.19045.3803]
(c) Microsoft Corporation. All rights reserved.

C:\Users\steve02081504>exit
PS C:\Users\steve02081504> $ans
Microsoft Windows [Version 10.0.19045.3803]
(c) Microsoft Corporation. All rights reserved.

C:\Users\steve02081504>
PS C:\Users\steve02081504> Invoke-Expression "cmd" -OutVariable ans | Out-Host
Microsoft Windows [Version 10.0.19045.3803]
(c) Microsoft Corporation. All rights reserved.

C:\Users\steve02081504>exit
PS C:\Users\steve02081504> $ans
Microsoft Windows [Version 10.0.19045.3803]
(c) Microsoft Corporation. All rights reserved.

C:\Users\steve02081504>
PS C:\Users\steve02081504>

Actual behavior
PowerShell 7.4.0
PS C:\Users\steve02081504> Invoke-Expression "cmd" -OutVariable ans
Microsoft Windows [Version 10.0.19045.3803]
(c) Microsoft Corporation. All rights reserved.

C:\Users\steve02081504>exit
PS C:\Users\steve02081504> $ans
PS C:\Users\steve02081504> Invoke-Expression "cmd" -OutVariable ans | Out-Host
Microsoft Windows [Version 10.0.19045.3803]
(c) Microsoft Corporation. All rights reserved.

exit
C:\Users\steve02081504>
PS C:\Users\steve02081504> $ans
Microsoft Windows [Version 10.0.19045.3803]
(c) Microsoft Corporation. All rights reserved.

C:\Users\steve02081504>
PS C:\Users\steve02081504>

In the first Invoke-Expression the $ans variable is not updated correctly.
In the second Invoke-Expression there is a problem with the cmd display: the prompt is displayed after the command is entered.
Error details
No response
Environment data
PS C:\Users\steve02081504> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.4.0
PSEdition                      Core
GitCommitId                    7.4.0
OS                             Microsoft Windows 10.0.19045
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals
No response

Try this from a simple command prompt, ( eg nothing to do with PowerShell at all )
D:\somedir>%COMSPEC% >foo.1 2>foo.2
exit

Where you have to type exit
Then
D:\somedir>type foo.1
Microsoft Windows [Version 10.0.22631.2861]
(c) Microsoft Corporation. All rights reserved.

D:\somedir>
D:\somedir>type foo.2

So you can see what was written to stdout and what was written to stderr.
exit was written to neither as it was interactive input
So I suggest it is not pipelines, but interactive input that gives you a result different to what you were expecting

The behavior is arguably a bug, and it isn't specific to Invoke-Expression - Invoke-Command  is equally affected.
The stand-alone Invoke-Expression "cmd" -OutVariable ans call exhibits the bug, whereas the invocation with | Out-Host command behaves correctly.
However, your use of  cmd without /c or /k doesn't make sense, because it enters an interactive session, which then takes over the current PowerShell session - however, since stdout is captured by Out-Host, cmd.exe's prompt string doesn't print until after a command is interactively submitted, which is why in your case it prints last.
The true bug here is that Invoke-Expression and Invoke-Command do not honor the implied request to capture stdout output when Out-Variable is used (by contrast, use of |, as in your Out-Host example, always captures, which is why the bug didn't surface there):

The root cause is that output from native (external) programs by default bypasses PowerShell's success output stream unless it is captured - this is done both for efficiency and to allow native programs to directly control the terminal, for applications such as Vim.

In other words: in order for Invoke-Expression and Invoke-Command to honor their -OutVariable argument consistently, they'd have to explicitly enable capturing of external-program output in stand-alone invocations.

Workarounds:

Force capturing by appending a pipeline segment - which your ... | Out-Host call in effect did;
use ... | Write-Output if you want to preserve the output as success-output.

If up-front collection of all output lines is acceptable, enclose external-program calls in (...), which too forces capturing:
 # OK, due to (...) - ditto for Invoke-Expression
 Invoke-Command -OutVariable v { (cmd /c ver) }

Finally, you can use Tee-Object -Variable as an alternative.
# Note: There is generally *no* need to use Invoke-Expression to invoke external programs.
Invoke-Expression 'cmd /c ver' | Tee-Object -Variable v


[BUG] when you change static folder to public as recommend on nextjs last version

Describe the bug

I have updated nextjs version to latest and in a console show that static folder is deprecated and should use public/static ...
Dynamic route is not working
localhost:3000/en
or
localhost:3000/en
Shows 404

to solve all those issues:
The static directory has been deprecated in favor of the public directory. https://err.sh/zeit/next.js/static-dir-deprecated

I change /static to /public/static . When I did that:
throw new Error("Default namespace not found at ".concat(defaultNSPath));
        ^
Error: Default namespace not found at /home/ai/Documentos/Projetos/next-i18next/examples/simple/static/locales/en/common.json

then to solve this I changed i18n.js:

/*
  Do not copy/paste this file. It is used internally
  to manage end-to-end test suites.
*/

const NextI18Next = require('next-i18next').default

module.exports = new NextI18Next({
  otherLanguages: ['de'],
  localePath: typeof window === 'undefined' ? 'public/locales' : 'locales',
  localeSubpaths: {
    en: 'en',
    de: 'de'
  },
})

and moves locales to public folder
Occurs in next-i18next version
9.1.6
Please update the example

Fixed by #569.


Feature/Issue 10 - add logging, simplify imports and installs

This PR implements several items:

adds std python logging for code wherer missing (examples)
remedies need for specific "pip install -e" form "src" directory by simplifying imports and adding syspath (only for examples)
adds execute permissions on "bin" and "app" shells

in venv.sh you define the below parameter:
MAC_LINUX_PYTHON="/usr/local/bin/python3.10"

but then do not actually use it, but instead directly call
echo /usr/local/bin/python3.10

Either use or remove the env var.


Add resource_usage moved from oinq and hostname

Getting resource usage was implemented in oinq, but I think it would rather be included in roxy. So would getting a hostname.

This was closed by #87


Allow force application removal

Requirements
I would like to be able to "force" remove an application with the provider

Urgency
It would save from a weird workaround
Notes & References
Currently when removing an application which is in non-active status with the provider, the application will not be fully clean-up; instead it will be left with terminated lost. It would be nice if the provider allows user to specify a force argument to achieve the same result as juju remove-application <app_name> --force

The juju client --force flag does not fit into the terraform approach to doing things and should remain in the juju client world.
In general the --force flag is dangerous and is not recommended for use. It may have unintended side effects such as artifacts left behind within the juju database.
For juju itself, we are looking for ways to improve the destroy and remove experience where juju can do something. For example, ignore hook errors might help in some scenarios.


[Question] - Is there a version of this repo that exists for xamarin

Hi, im curios to know is there a build that exists out there for xamarin?
Ive done a fair amount of searching and i cant find it at all.
In work we use this library to query a js object on Xamarin Android, Is there any documentation how you would build it for Xamarin Android/Forms?
Many thanks

@DanielMcMahon I created Xamarin-v8 from this repository, https://github.com/web-atoms/xamarin-v8

@ackava Are there any details docs for this ? I can see the read.me but not the Full documentation ... I appreciate there not be any or in the process of building.
Many Thanks

There is no build needed, just import the nuget package and start using namespace Xamarin.Android.V8, I will update the doc.

@ackava Thats great, Thank you !


combine lock & unlock button into a single button + password field

This pull request combines the "Lock" and "Unlock" button into a single button which is toggled depending on the lock state.
Additionally, it will disable the password field when the wallet is unlocked.
Unlocked wallet:

Locked wallet:

This fixes #237, #279, #288

I like the idea but if you disable the password field when the wallet is unlocked what if a user changes their password while the wallet is unlocked?

Theoretically, nothing should happen as locking the wallet does not require a password. So people can change their password when the wallet is unlocked, press the "Lock" button and it just works.
When the wallet is locked and people try to change their password, this message shows.


Custom environments

It's be nice to allow the user to define custom environments, such as unskiparray in #971.
In LaTeX, \begin{foo} ... \end{foo} is equivalent to \foo ... \endfoo.  So one way would be for \begin{foo} to check whether \foo and \endfoo are defined, and if so, just expand to that.
Alternatively, we could add a custom environments argument to complement the custom macros.

If \begin{foo} and \end{foo} map to \foo and \endfoo respectively, how do arguments passed to \begin{foo} get transmitted to \endfoo?  From the description of \newenvironment I would expect any args to be available in both begdef and enddef, http://www.emerson.emory.edu/services/latex/latex_20.html.

That page says \enddef "may not contain any argument parameters. Only the \begindef gets the arguments.

Just to provide a more detailed doc about "custom environments". See Sec. 12.6 of LaTeX2e: An unofficial reference manual

Was this ever implemented? The README says that it is possible to map align to aligned, but I can't find a way to actually do this.

@aterenin good catch.  I should not have included that suggestion without trying it out first.

Hello, I used TeX and ConTeXT a lot (always hated LaTeX)
Is there a way to have
\startMatrix instead of \begin{matrix}
\stopMatrix instead of \end{Matrix}
Also, is there a way to define macro like in TeX like
\def\myMacro#1,#2\S{arg1 is #1 and arg2 is #2}
which is able to gobble stuff like \myMacro Wow, great!\S
and spit out arg1 is Wow and arg2 is   great
The TeX macro system is really powerfull (developped a xml parser for Jmdict and Kanjidic and a japanese dictonary with XeTeX once), but is KaTeX macro system on par or is it missing things ?

@Lakedaemon Can you ask your questions in a separate Discussion thread? It's not really related to this issue.

sure, sorry

That would be a great feature.


Search 1.0 end of life

Hi
Is it possible that the Maltego transform doesn't work anymore with the latest v2.0 API search? I get the following error when I try to use query a certificate in Maltego:
censys.common.exceptions.CensysSearchException: 200 (unknown): Search 1.0 has reached its End of Life. Please update your application to use the APIs available through Search 2.0. For more information visit https://support.censys.io/hc/en-us/articles/4404436837652-Search-1-0-and-IPv4-Banners-Deprecated-Resources-and-Available-Alternatives (from entity "example.net")

Hi @digihash,
I am in the process of upgrading various integration to V2. Thank you for reporting this.

Thanks @thehappydinoa, I guess this stays open until you upgraded everything. Let me know if you need help.

Hi there, I am in the process of updating this repo to point users towards the Maltego Censys Integration. I am going to go ahead and close this issue for now. Thanks for your patience.


Can't access the Homarr API

Environment
Cloud Service (Static)
Version
0.15.3
Describe the problem
My Homarr instance is running on the Home Assistant Add-on. I'm trying to use the Homarr API to ping certain apps or dashboards, but I keep getting unauthorized (I'm using the personal access token as bearer key from the Homarr Dashboard).
curl -H "Authorization: Bearer personal-access-token-here" http://<IP_ADDRESS>:7575/api/boards/all {"message":"UNAUTHORIZED","code":"UNAUTHORIZED"}%
I have tried various endpoints from the swagger interface, but that just shows "TypeError: Load Failed"
Logs
No response
Context

Please tick the boxes

[X] I confirm that I attached the proper logs
[X] I've read the docs
[X] I've checked for duplicate issues
[X] I've tried to debug myself

Hi, you might want to report this to the Home Assistant addon author. It is not maintained by us.

I am now running Homarr in Docker (using Docker Compose) and still getting the same message "Unauthorized" when calling the API with the bearer personal access token that is displayed on the API page.
curl -X GET http://<IP_ADDRESS>:7575/api/boards/all \ -H "Authorization: Bearer 9d9abfbe-e189-457b-be55-728d83c38e4a" {"message":"UNAUTHORIZED","code":"UNAUTHORIZED"}

Thanks for checking. I'll investigate this

I'm able to reproduce locally. It seems that the reason why it's working in the API documentation is that the cookie is sent by the browser.
As a workaround, you could send the same cookie @mSarheed

API support will be greatly improved in the upcoming v1 release
Closed by https://github.com/homarr-labs/homarr/pull/991
This feature will be part of v1.0, see https://github.com/ajnart/homarr/issues/1993


Haar feature evaluation is unsafe

Description of the bug
The haar feature detector does not sufficiently validate the input image size. Passing in an image smaller than the detector will cause it to unsafely access some of its pixels out of bounds.
extern crate image;
extern crate imageproc;

use image::*;

fn main() {
    let template = ImageBuffer::<Luma<u32>, _>::new(0, 0);
    let haar = imageproc::haar::enumerate_haar_features(4, 4).get(0).cloned().unwrap();

    // Segfaults
    let _ = haar.evaluate(&template);
}

Cause of the bug
https://github.com/PistonDevelopers/imageproc/blob/543ec60bec957b900e909cf7eb97b3fef4ab6359/src/haar.rs#L99
https://github.com/PistonDevelopers/imageproc/blob/543ec60bec957b900e909cf7eb97b3fef4ab6359/src/haar.rs#L229
This read function is called within evaluate, with some coordinates statically determined at construction (corresponding to the block boundaries). However, it is not validated that those coordinates are valid for the image.
Security Ramifications
By using particularly nasty selections of haar features, we can read outside the boundary of the image, but inside the boundaries of the underlying memory allocation. That means we can definitely dump internal memory, have a working version that I can provide upon request.
Fix
Validate that the input image is large enough, in both directions.

Thanks for the bug reports.

I just hope it doesn't feel disheartening or stressful to have these pop up all at once :)
Tell me if you want/need help with any of the fix implementations.

Not at all - it's a helpful reminder of the dangers of sprinkling 'unsafe' everywhere!


Project: M365ServiceHealth

Project name
M365ServiceHealth
Description
M365ServiceHealth
A Blazor WebAssembly site to browse latest M365 Service Announcements. These are tenant-scoped announcements that are sent to users via the Office 365 Message Center. By default, normal users don't really get visibility to this data - and even admins are limited to just seeing their tenant's announcements with little additional context.
This little project reads Service Announcements from multiple tenants, and presents them in a single view. It also provides a little more context around the announcements, such as where has it been encountered (data center geographical locations), when was it first seen, and how many times it's been updated.
Background
I built this primarily to try out the new(-ish) Service Announcements API in Graph API, but also to get some experience with Static Web Apps and see how easy it is to build and deploy this many moving parts with GitHub Actions.
It is built using the following technologies:

.NET 7 (and a dash of .NET 6)
Blazor WebAssembly
Azure Functions
Azure Static Web Apps
GitHub Actions
ASP.NET Core 7
Entity Framework Core 7
Azure SQL Database (even this UI had changed enough to warrant one more blog post since I've provisioned a database last time...)

It could've been built using a lot less components, but where's the fun in that? 😎
Almost all of this could've been constructed using Static Web Apps alone, but I hadn't really used Azure Functions in a while,
let alone configured GitHub Actions workflows for a variety of different projects.
Demo
Navigate to https://white-grass-0d81f3a03.2.azurestaticapps.net/. If GitHub Actions has run (it just broke due to runner updates, but it's probably up soon again), it should show the latest version of the app.
Repo URL
https://github.com/koskila/M365ServiceHealth
Team members
koskila

Cool @koskila! Would you be willing to record a short video to demonstrate the app? It's not required for the hackathon but it would help us showcase your work internally at Microsoft and publicly in the community 😊

Heh, I don't think that would be very valuable - the project used the Graph API very lightly and one of my 3 main goals (log incidents per data center) was unsuccessful, so this ended up mostly a nice little exploration to different Azure resources and automated deployments to them :)


Use messages for all component events

Instead of custom callbacks like "requestModalClosure".
This change should be done on all the components.

Fixed on the new release

Fixed on the new release


IPython console missing

Hello,
since I have updated my sypmy yesterday the IPython console is missing. I'm neither able to choose it in the menu.
I tried to update IPython and qtconsoles
Versions and main components

Spyder Version: 3.0.2
Python Version: 3.5
Operating system: Windows 7

Dependencies
jedi >=0.8.1     :  0.9.0 (OK)
matplotlib >=1.0 :  1.5.1 (OK)
nbconvert >=4.0  :  4.1.0 (OK)
numpy >=1.7      :  1.10.4 (OK)
pandas >=0.13.1  :  0.17.1 (OK)
pep8 >=0.6       :  1.7.0 (OK)
pyflakes >=0.6.0 :  1.0.0 (OK)
pygments >=2.0   :  2.1.3 (OK)
pylint >=0.25    :  1.5.4 (OK)
qtconsole >=4.2.0:  4.2.1 (OK)
rope >=0.9.4     :  0.9.4-1 (OK)
sphinx >=0.6.6   :  1.3.1 (OK)
Thanks in advance.

It's probably hidden. Please go to
View > Panes

to see if it's there or not.

Unfortunatly not...

Please go to
Help > Dependencies

and post a screenshot with the contents of our Dependencies dialog.

jedi >=0.8.1     :  0.9.0 (OK)
matplotlib >=1.0 :  1.5.1 (OK)
nbconvert >=4.0  :  4.1.0 (OK)
numpy >=1.7      :  1.10.4 (OK)
pandas >=0.13.1  :  0.17.1 (OK)
pep8 >=0.6       :  1.7.0 (OK)
pyflakes >=0.6.0 :  1.0.0 (OK)
pygments >=2.0   :  2.1.3 (OK)
pylint >=0.25    :  1.5.4 (OK)
qtconsole >=4.2.0:  4.2.1 (OK)
rope >=0.9.4     :  0.9.4-1 (OK)
sphinx >=0.6.6   :  1.3.1 (OK)

Please be sure to also install pyzmq and pygments.

The installation stops at this point (see attachement). It just doesn't do anything

I don't understand what happens, but this is really a problem in your system and not with Spyder :-/

okay... then I have a lot of problems..
Thank you anyway.

Ok, good luck with that.


Can use "mail" to find his "SKYPE ID"? Example: his mail is<EMAIL_ADDRESS>to find "live:.cid.17c7653000"

Excuse me, everyone
Can use "mail" to find his "SKYPE ID"?
Example: his mail is<EMAIL_ADDRESS>to find "live:.cid.17c7653000"
thanks a lot.
^V^

See SkypeContacts.search.


Dbeaver connnect with phoenix,the timestamp column value is added 8 hours.

Env:
Dbeaver: 4.1.0,4.1.1
Phoenix: 4.11
Dbeaver connnect with phoenix,the timestamp column value is added 8 hours.
I think that  this is a timezone problem, please tell me that how to reslove it, thanks. @serge-rider
correct value:  2017-02-27 10:04:35
display value:  2017-02-27 18:04:35

It's resolved.
Add this parameter in dbeaver path/dbeaver.ini.
-Duser.timezone=UTC
Refernce: https://github.com/serge-rider/dbeaver/issues/1224

correct display value:

Thanks for information

Use the parameter to test.
-Duser.timezone=UTC
or
-Duser.timezone=UTC+08:00


Update README.md

Add my project into README List

Cool @gruessung, thanks for adding your bot!
If you like, you (or I) can also add the direct link to the bot.
And then this is good to merge 👍

Currently its neccesary to Host Thema bot at own Webspace. A Link ist not productice imho.


Collect arrow

Hi @behrica, just some cosmetic changes for now, but I think there are a couple more things to do:

Get to 100% test coverage. Doesn't have to be now, but we need to check the ifs in typed-action.
Make sure that other parts of the repo have the right provided dependencies.

This is a very cool PR. Thank you so much for working on it!

Hi @behrica, just some cosmetic changes for now, but I think there are a couple more things to do:

Get to 100% test coverage. Doesn't have to be now, but we need to check the ifs in typed-action.
I saw the coverage report, and it is very strange that it marks some lines in typed-action as "non covered".

I am pretty sure, that they are all covered, because I did them test-first.
Is there something special in the coverage tool, because of the  nested "case" statement ?

Hi @behrica, just some cosmetic changes for now, but I think there are a couple more things to do:

Get to 100% test coverage. Doesn't have to be now, but we need to check the ifs in typed-action.

I saw the coverage report, and it is very strange that it marks some lines in typed-action as "non covered".
I am pretty sure, that they are all covered, because I did them test-first.
Is there something special in the coverage tool, because of the nested "case" statement ?
Maybe I hit this issue with cloverage ?
https://github.com/cloverage/cloverage/issues/82

Aha, yes, I should clarify. You have indeed tested them all, but cloverage can be quiet anal. It's honestly not a big deal, I think we can merge without the 100% test coverage.
However, if you're curious here's the partially missed lines highlighted in yellow:

I believe what it's saying is that we haven't tested then branch of the :get actions. So we need to put in some nils in our examples to check that indeed they get parsed to `nil``.

I believe what it's saying is that we haven't tested the then branch of the :get actions. So we need to put in some nils in our examples to check that indeed they get parsed to nil. And given that we missed one case in the case, the entire case is only partially covered too.

Yes, I will generate one file parquet file with all types and NA values

Hi @behrica, I've merged with your latest commit. Do you have any comments about the changes I've made here?
If you have no objections (most of them are cosmetics + some stuff for CI purposes), would you like to merge this PR, then I'll merge the one from upstream?

I just integrated your changes localy ...

I will just push it know.

@anthony-khong
I merged your latest changes in. You can merge from upstream


Update overview.md

add WXP content, expect to be published with MetaOS WXP public preview 100%, ETA 12/19/2024

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/overview.md
91
12
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/overview.md
91
12
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/overview.md
91
12
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.


toStayTheSame() function added w/o bump in package version number

Seems like an oversight here;  I installed the latest version via npm using
npm install --savedev reducx-testkit
and I received v1.0.6.
However, my version of Reducer.js inside the package does /not/ contain the .toStayTheSame() enhancement thereby making all of the examples fail.
I suspect this is because the package version number was not updated in the latest commit.

Any updates on this? Should be not that hard to do...

Can someone pls bump the version?


Creating DMs in dark mode results in text you cannot see.

Using BetterSeqta+ has shown something important that needs to be patched.
Whenever I type a DM into the Compose DM field, while dark mode is enabled, the text is unreadable.
I feel like when dark mode is enabled, the text in fields goes white and when light mode is enabled, the text goes dark.

That's weird! Are you able to send a bit more information? It seems to work for me? Or are you talking about something else?

Well, it musn't have updated for a bit, as now it works, but it didn't yesterday.
Sorry, I put down the wrong thing.
Here's the actual problem:

It does not redner properly. Disregard the assessment information.

The bug also happens with the assessment pages.

Did you patch it, it seems to work now...

Did you patch it, it seems to work now...

Perfect! If something else is broken feel free to reopen the issue!

Nope, the notifications still are broken...

Nope, the notifications still are broken...

aww man...

Have you tried different colours? That may help

Nope and it doesn't help, as I have 20+ machines running BetterSeqta+ and none of them display the notifications correctly. Even with different colours.

Here:

This is what happens. The subtitle is non-readable and for direct messages sent, it doesn't display the name correctly.

More bad ones:

okay, so basically just some colour issues. I'll put that on the todo list.

Yeah, notices as well.

Literally just checked.

lots of improvements between 9ec03ea4d9f21984bc057a32fcd5f65e3e911eda...83ffc0ea83c3f5c71b40a2010e64aa8c63639a34
Hopefully it's all good, just reopen the issue and notify us of any more issues if need be after the update


[AutoRelease] t2-connectedcache-2024-11-19-72393(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/5699
Recording test success

issue link:https://github.com/Azure/sdk-release-request/issues/5699

/azp run prepare-pipelines

Hi @lmazuel, first beta SDK pr merging is blocked for owing your review, could you help give an approval on it to allow the merging?


isBillingAvailable() Samsung IAP Service is not installed

The newest samsung store does not have a separate iap package so it seems the isBillingAvailable is failing. I am getting "isBillingAvailable() Samsung IAP Service is not installed" in the log in debug mode.
This same apk is working fine on old samsung device that has the iap package "com.sec.android.iap"
The new device with newer galaxy store does not have the package. Is there a different way to make it work on the new devices?
Thanks.

// LOG DURING SETUP
06-08 15:41:31.351: E/Zygote(30199): MountEmulatedStorage()
06-08 15:41:31.351: E/Zygote(30199): v2
06-08 15:41:31.351: I/SELinux(30199): Function: selinux_compare_spd_ram , priority [2] , priority version is VE=SEPF_SM-G925P_5.0.2_0009
06-08 15:41:31.351: E/SELinux(30199): [DEBUG] get_category: variable seinfo: default sensitivity: NULL, cateogry: NULL
06-08 15:41:31.351: I/art(30199): Late-enabling -Xcheck:jni
06-08 15:41:31.351: I/libpersona(30199): KNOX_SDCARD checking this for 10223
06-08 15:41:31.351: I/libpersona(30199): KNOX_SDCARD not a persona
06-08 15:41:31.371: D/TimaKeyStoreProvider(30199): TimaSignature is unavailable
06-08 15:41:31.371: D/ActivityThread(30199): Added TimaKeyStore provider
06-08 15:41:31.391: I/InjectionManager(30199): Inside getClassLibPath + mLibMap{0=, 1=}
06-08 15:41:31.391: I/InjectionManager(30199): Inside getClassLibPath caller
06-08 15:41:31.551: D/InjectionManager(30199): InjectionManager
06-08 15:41:31.551: D/InjectionManager(30199): fillFeatureStoreMap com.thuptencho.transitbus
06-08 15:41:31.551: I/InjectionManager(30199): Constructor com.thuptencho.transitbus, Feature store :{}
06-08 15:41:31.551: I/InjectionManager(30199): featureStore :{}
06-08 15:41:31.611: D/PhoneWindow(30199): FMB installDecor mIsFloating : false
06-08 15:41:31.611: D/PhoneWindow(30199): FMB installDecor flags : 8454400
06-08 15:41:31.631: D/AbsListView(30199): Get MotionRecognitionManager
06-08 15:41:31.641: D/AbsListView(30199): Get MotionRecognitionManager
06-08 15:41:31.651: D/OpenIAB(30199): checkOptions() Options={availableStores=[], availableStoreNames=[], preferredStoreNames=[], discoveryTimeoutMs=0, checkInventory=false, checkInventoryTimeoutMs=0, verifyMode=1, storeSearchStrategy=0, storeKeys={}, samsungCertificationRequestCode=899}
06-08 15:41:31.651: D/OpenIAB(30199): checkGoogle() verify mode = 1
06-08 15:41:31.651: D/OpenIAB(30199): checkSamsung() activity = com.hellothupten.transitcore.activities.MainActivity@2f86f29d
06-08 15:41:31.651: D/OpenIAB(30199): hasRequestedPermission() is true for com.nokia.payment.BILLING
06-08 15:41:31.651: D/OpenIAB(30199): checkNokia() has permission = true
06-08 15:41:31.651: D/OpenIAB(30199): checkFortumo() fortumo sdk available: false
06-08 15:41:31.651: D/OpenIAB(30199): checkFortumo() fortumo billing required: false
06-08 15:41:31.651: D/OpenIAB(30199): checkFortumo() ignoring fortumo wrapper.
06-08 15:41:31.651: D/OpenIAB(30199): checkAmazon() amazon sdk available: false
06-08 15:41:31.651: D/OpenIAB(30199): checkAmazon() amazon billing required: false
06-08 15:41:31.651: D/OpenIAB(30199): checkAmazon() ignoring amazon wrapper.
06-08 15:41:31.651: D/OpenIAB(30199): startSetup() options = Options={availableStores=[], availableStoreNames=[], preferredStoreNames=[], discoveryTimeoutMs=0, checkInventory=false, checkInventoryTimeoutMs=0, verifyMode=1, storeSearchStrategy=0, storeKeys={}, samsungCertificationRequestCode=899}
06-08 15:41:31.651: D/OpenIAB(30199): setupWithStrategy() store search strategy = 0
06-08 15:41:31.651: D/OpenIAB(30199): setupWithStrategy() package name = com.thuptencho.transitbus
06-08 15:41:31.651: D/OpenIAB(30199): setupWithStrategy() package installer = com.sec.android.app.samsungapps
06-08 15:41:31.651: D/OpenIAB(30199): packageInstalled() is true for com.sec.android.app.samsungapps
06-08 15:41:31.651: D/Activity(30199): performCreate Call Injection manager
06-08 15:41:31.651: D/OpenIAB(30199): isBillingAvailable() Samsung IAP Service is not installed
06-08 15:41:31.661: D/AbsListView(30199): Get MotionRecognitionManager
06-08 15:41:31.661: D/AbsListView(30199): Get MotionRecognitionManager
06-08 15:41:31.671: I/InjectionManager(30199): dispatchOnViewCreated > Target : com.hellothupten.transitcore.fragments.RoutesListFragment isFragment :true
06-08 15:41:31.691: D/PhoneWindow(30199): FMB installDecor mIsFloating : true
06-08 15:41:31.691: D/PhoneWindow(30199): FMB installDecor flags : 8388610
06-08 15:41:31.701: D/OpenGLRenderer(30199): Render dirty regions requested: true

//LOG WHEN MAKING A PURCHASE
06-08 15:44:01.571: D/ViewRootImpl(30199): ViewPostImeInputStage ACTION_DOWN
06-08 15:44:01.721: D/OpenIAB(30199): startSetup() options = Options={availableStores=[], availableStoreNames=[], preferredStoreNames=[], discoveryTimeoutMs=0, checkInventory=false, checkInventoryTimeoutMs=0, verifyMode=1, storeSearchStrategy=0, storeKeys={}, samsungCertificationRequestCode=899}
06-08 15:44:01.721: D/OpenIAB(30199): setupWithStrategy() store search strategy = 0
06-08 15:44:01.721: D/OpenIAB(30199): setupWithStrategy() package name = com.thuptencho.transitbus
06-08 15:44:01.721: D/OpenIAB(30199): setupWithStrategy() package installer = com.sec.android.app.samsungapps
06-08 15:44:01.741: D/OpenIAB(30199): packageInstalled() is true for com.sec.android.app.samsungapps
06-08 15:44:01.741: D/OpenIAB(30199): isBillingAvailable() Samsung IAP Service is not installed
06-08 15:44:01.741: D/OpenIAB(30199): finishSetup() === SETUP DONE === result: IabResult: 3, No suitable appstore was found (response: 3:Billing Unavailable) Appstore: null
06-08 15:44:01.741: D/OpenIAB(30199): dispose() was called for com.samsung.apps
06-08 15:44:01.741: D/OpenIAB(30199): startSetup() options = Options={availableStores=[], availableStoreNames=[], preferredStoreNames=[], discoveryTimeoutMs=0, checkInventory=false, checkInventoryTimeoutMs=0, verifyMode=1, storeSearchStrategy=0, storeKeys={}, samsungCertificationRequestCode=899}
06-08 15:44:01.741: D/OpenIAB(30199): setupWithStrategy() store search strategy = 0
06-08 15:44:01.741: D/OpenIAB(30199): setupWithStrategy() package name = com.thuptencho.transitbus
06-08 15:44:01.741: D/OpenIAB(30199): setupWithStrategy() package installer = com.sec.android.app.samsungapps
06-08 15:44:01.761: D/OpenIAB(30199): packageInstalled() is true for com.sec.android.app.samsungapps
06-08 15:44:01.761: D/OpenIAB(30199): isBillingAvailable() Samsung IAP Service is not installed
06-08 15:44:01.761: D/OpenIAB(30199): finishSetup() === SETUP DONE === result: IabResult: 3, No suitable appstore was found (response: 3:Billing Unavailable) Appstore: null
06-08 15:44:01.761: D/OpenIAB(30199): dispose() was called for com.samsung.apps

I haven't seen any announcements by Samsung, so I'm pretty sure they still use Samsung In-App Purchase app for billing. Galaxy Apps should promt you to install it when you try to download app with In-Apps.

when Samsung In-App Purchase app for billing is not installed on the device, do we need to resolve the issue ourselve or openiab resolves the Samsung In-App Purchase app's install/upgrade process?

Manually installed Samsung In-App Purchase on the device. On making a purchase forwarded me to Samsung Billing app on galaxy store after a dialog message that it requires this. On onIabSetupFinished, if billing is unavailable shouldn't similar behavior occur. ie. forward user to download Samsung In-App Purchase. thanks.

Samsung SDK does check for In-App Purchase app, however we wasn't able to use it in OpenIAB since it wasn't intended to be distributed as jar. Thus, all Samsung billing workflow was implemented from scratch. Behaviour you mentioned is not implemented due to some technical difficulties (we first need to connect to IAPConnector service and it's located within In-App Purchase app).
This problem however should be fixed here, new release with Samsung support (although with some limitations, Samsung billing is just awful) is scheduled pretty soon.

any updates?


Add FreeBSD support

Wouldn't it make more sense to change cfg(target_os = "linux") into cfg(and(unix, not(target_os = "macos"))) or cfg(any(target_os = "linux", target_os = "freebsd")) (since the former would also target Android and iOS) instead of duplicating entries?

This is possibly the case, but this is a wider patch. Project maintainers should decide.

hey, thanks for the PR!
echoing robbert's sentiments, if there's a broader "linux and BSDs" or "general non-macOS UNIX-like" feature we can select for, that would be preferable. i know there aren't many (any?) folks producing on openbsd, but that doesn't mean that baseview shouldn't work there.

if there's a broader "linux and BSDs" or "general non-macOS UNIX-like" feature we can select for, that would be preferable.

Yeah that's and(unix, not(target_os = "macos")). Though that also matches iOS and Android. Would have been nice if there was a default alias for that since it's used all over the place..

if there's a broader "linux and BSDs" or "general non-macOS UNIX-like" feature we can select for, that would be preferable

One potential issue I see with the "subtractive" definition of UNIX-like (i.e. cfg(and(unix, not(any(..))))) is that it may not produce a compilation error for an unsupported or untested target. For example, in addition to Android and iOS mentioned above, it also includes targets like aix, illumos, solaris. And it could hypothetically include any new targets added to the "unix" family in the future.
So the benefit of an explicit, "additive" definition, is that we make it very clear which targets we test/support, and we don't mislead any users on targets that are unsupported.

Since alternatives to the attached patch caused various concerns, maybe this PR can be merged to unblock it on FreeBSD, and let someone else could come up with further improvements in subsequent PRs?


Improve: List specified providers only

To describe this idea it's easier to see the example command first:
@foodaid eat --places:diszno,menza,klassz
Easy, right? It should list only the selected places (aka filter the output/run the selected places only).

Related to #11


Remove duplicated key from service page

Summary
Removes a duplicated key userAuthenticationDescription from the display_service manifest. Adds a schema validation to enforce unique items within a single group; better than nothing. Unfortunately I don't see a way to enforce uniqueness globally.
Ticket
https://trello.com/c/WtXwWwl8/507-authentication-field-repeating-in-manifest

:+1:


Status Bar and Debugger Drawer UI Improvements

Description
This PR contains various UI improvements mostly around the status bar and debug area that also fixes some of the UI regressions we've seen recently.
Status bar:

Hides unused picker menus
Corrects color for top border
Corrects icon sizes in status bar
Corrects drawer toggle icon

Debug drawer:

Fixes styles for terminal filter textfield
Adds padding to terminal
Adds background color beneath terminal so button toolbar also has terminal background

Editor View:

Changes 'No Editor' background

Related Issues
n/a
Checklist

[x] I read and understood the contributing guide as well as the code of conduct
[x] My changes generate no new warnings
[x] My code builds and runs on my machine
[x] I documented my code

Screenshots
Before

After

Sorry for OT: How did you format the prompt in that way? I really like it.

@24unix Not a problem. It's called powerlevel10k. Check it out here!

I notice these things too. I was mostly handling visual inconsistencies in this PR. Let's create issues and we can address them later. @Wouter01 may have insight into how to fix these (I believe it was introduced after his splitview PR, which is fine, we should get them fixed soon though).

I notice these things too. I was mostly handling visual inconsistencies in this PR. Let's create issues and we can address them later. @Wouter01 may have insight into how to fix these (I believe it was introduced after his splitview PR, which is fine, we should get them fixed soon though).
I wanted to address the visual inconsistencies in the tabs as well. I noticed that the background color for the active tab was changed and the borders and background around the tab and path bars are too prominent. The background should be .bar but I was struggling to do this because it was not the same type as the other background used when using native tabs.

Yeah I think I just removed the functionality while rewriting some things regarding the terminal view, and forgot to add them back in. I suggest making an issue for it so we can have a look at it later, instead of putting it in this PR


Classes vs Functions vs Variables

So, there are various approaches to writing controllers, services etc. Wanted to sum them up and write advantages and disadvantages so that we can discuss them.

Advantages:

Neat and readable syntax.
Easier way to extend.

Disadvantages:

this keyword pollution (even in this short example there are 5 this keywords).
No hidden (aka private) methods/functions or fields. Services are exposing all its functions.
If you look at scope fields you will see that all is exposed to $ctrl thus the state of the class can be modified from the outside.
We have to write angular things at the end of file (right now).
We have to rewrite all injected services, which is just a boilerplate code.

Disadvantages:

I can't see any.

Advantages:

Functions cannot be rewritten inside one file (not really huge advantage)

Disadvantages

In many cases we need to create functions in a reverse-book order.
We need to rewrite public API at the end of file, which is just a boilerplate code.

So naturally I am in favor of using old good functions right now. Syntax for me is still very readable and extensions can be performed using angular functions or other more powerful techniques like dynamic extensions and so on.
I am waiting for your opinion on this. I feel it should be one of the first things that we should decide on.

As an addition to discussion. Classes are a syntactic sugar around creating prototype chain. To be honest, I have quite scarcely seen prototype chain in angular application and now, suddenly, everyone wants to use prototypical inheritance pattern. If you would use prototypical inheritance regardless, use classes then. Otherwise, why bother?
Another thing strictly connected to classes is a 'new' keyword. I doubt if AngularJS uses that keyword internally while creating controllers or services. I saw model classes in SDK. Model objects are created using 'new' keyword. Class usage in this case seems to be fully justified.
All in all, I am of the opinion that we don't have to use them, not including situation, in which we would like to type *.prototype = something. Then I would gladly use classes as this is the very case why they were introduced to the language. Any thoughts?

I've been re-reading this series of articles that @terencemutizwa originally linked to which provides some good arguments against using classes (albeit not within the context of angular)
https://medium.com/javascript-scene/the-two-pillars-of-javascript-ee6f3281e7f3
The question is how do we want to share functionality? His talk suggests factory functions are the best way of doing that. Then any object an be extended with multiple different types of functionality being added to it.
If you need a controller to be able to access some API it could be extended with an object that provides that specific behaviour while also being extended with another object that allows it to do some other well defined behaviour.
I used to be in favour of classes simply because they look nice but I also didn't actually understand the fundamentals of JavaScript objects as thoroghly as I do now after a few months research.
The main point that needs to be answered is does a class add value that is not available by extending objects?

Some very contrived examples of composition instead of inheritance. Observe the console in this fiddle https://jsfiddle.net/L0kecvzo/
// Using Object.assign
let obj1 = {
    sayHello(name) {
        console.log(`Hello ${name}`);
    }
};

let obj2 = {
    sayGoodbye(name) {
        console.log(`Goodbye ${name}`);
    }
};

// Wooo multiple extension :O
let obj3 = Object.assign({}, obj1, obj2);

console.log(obj3);

obj3.sayHello('world');
obj3.sayGoodbye('world');

// Factory function with private data.

let factoryFn = function() {
    let privateName = 'privateName';

    let identifySelf = function() {
        console.log(privateName);
    };

    return {
        identifySelf
    };
};

// Update existing object with more behaviour, this time from a function.

Object.assign(obj3, factoryFn());

obj3.identifySelf();

console.log(obj3);

// Cannot be accessed
console.log(obj3.privateName);

// Let's try Object.create

let obj5 = Object.create({
    name: 'Roger',

    identifySelf() {
        console.log(`My name is ${this.name}`);
    },

    saySomething() {
        console.log('roger dodger');
    }
});

obj5.identifySelf();
obj5.saySomething();

// Not private
console.log(obj5.name);

Best thing about factory trait functions is that they give desired behavior and in many cases this behavior may be independent from the object which is extended. The less relations we have the more reliable and easy code we obtain.

One downside of using classes for components that I have found is when passing functions using the '&' binding.

import gridFilterTemplate from './bb_grid_filter.html';

class BBGridFilterCtrl {
    constructor() {
        this.inputValue = '';
    }

    handleFilterAction() {
        if (this.inputValue === '') {
            return;
        }
        const filterBy = `${this.column.key},${this.inputValue}`;
        this.filterAction()(filterBy);
    }
}

const bbGridFilter = {
    controller: BBGridFilterCtrl,
    controllerAs: '$BBGridFilterCtrl',
    templateUrl: gridFilterTemplate.id,
    bindings: {
        column: '<',
        inputValue: '<',
        filterAction: '&'
    }
};

angular
    .module('BB')
    .component('bbGridFilter', bbGridFilter);

If the component 'filterAction' was defined in was a class then when calling it from BBGridFilterCtrl you would lose the context of 'this' (it would be undefined)
Maybe there is a solution I am unaware of but in this case I changed the parent component to just be a function.

Here's another great article. It is part 3 of a series which I recommend reading in its entirety but in this part he goes deep into how the prototype system in the constructor pattern actually works. (Classes being syntactic sugar over this pattern)
https://davidwalsh.name/javascript-objects-deconstruction

Mark, this is something I was saying on Friday. Keyword this is quite dangerous. Basically it shouldn't be used at all in the context it is used. In JavaScript functions are not owned by any object. Object just holds them but does not own them.
https://jsfiddle.net/y71a0c2y/19/
In this fiddle it's easy to see how the use of function can devastate the very purpose of class. Arrow functions help but they cannot protect us from everything. Especially if we still want to use old plain functions not to mention we would like to be able to use partial functions or curried functions.

@damianpudlo @ParanormalCoder  @Joensg @DeanPalmer @terencemutizwa @TolgaCura @jonw-bb @WesleyPumpkinhead @flaviotulino @t-lardner @bogdansavin - Just a friendly reminder that we've set a deadline for commenting on this topic (Next retro - 20th September). Thanks to @PiotrSiatkowski @jthomas1 @MarkShakespeare for keeping the conversation going. Everyone else, try to throw your opinions in ASAP.
I'd like to add that whilst I've enjoyed using classes in components, the example that @MarkShakespeare has put up does seem a bit concerning. Anyone have any comments on that?
Either way, let's try wrap this badboy up so and take the first steps in our 'Angular Styleguide'.

Both styles has technically pros and cons, if I would look over the 2017 trends and the future, and to every programmer friend I know, and almost all the new projects around, they are using react, so inheritance style, so classes.
For bookingbug you can decide what you like, I am happy with both.

I highly recommend everyone read the articles I have linked to in previous comments for a deep dive into how JavaScript works under the hood, because there are no classes really ;)
It is one of the only truly object oriented languages because you can just create an object out of nothing {} without the need for a class!

I agree with Bogan that we should be keeping on top of trends and it seems classes will be sticking around for some time. Looking at the airbnb styleguide they seem to insist of classes. Also we need to think about why ECMAScript introduced classes. They must be moving towards a more OOP method of development. Shouldn't we be future-proofing out code by picking up this trend?
Also for the argument that classes exposes everything. I've just found out about static functions. This prevents the instance of the class having direct access to the functions whilst still giving us exposure to be able to run tests against. Keep in mind you can still access static functions using the constructor
class test {
	static staticFunction() {
    	console.log('static');
    }

  	publicFunction() {
      	this.constructor.staticFunction();
    	console.log('public');
    }
}

let myvar = new test();

myvar.publicFunction(); // 'public'

myvar.staticFunction(); // ERROR

myvar.constructor.staticFunction(); // 'static'

In brief: There are cases which bring function as a must, however, I agree with orientation to classes. From my personal view, I do not agree with orientation to functions, and having a minimum rate of use for classes.
As an example for the need of function, there is a case in:
https://github.com/BookingBug/bookingbug-angular/blob/IMPL-3208/src/core/javascripts/components/angular-hal.js
which made me to be happier to use function.

I think we should be wary of saying "lets do X because everyone else is doing it". There is nothing the class gives you that cannot be achieved with out it. But the inverse is not true (private data for example). In your example @TolgaCura  the reason that function is accessible from the constructor is due to the prototype chain.
I hate to sound like a broken record but please read the articles I have posted and they will hopefully provide some more eloquent arguments for where I'm coming from. (this one in particular https://davidwalsh.name/javascript-objects-deconstruction)
You don't need classes for object orientation. In fact, as one of the articles points out, JavaScript is more object orientated than classical languages because you can create an object out of nothing instead of needing a class first. You only ever deal with objects, even functions are objects.
With reference to the angular-hal.js you could write that base cache class like this:
const BaseCache = {
    data: [],
    set (key, val) {
        this.data[key] = val;
        return val;
    },

    get(key) {
        return this.data[key];
    },

    getObject(key) {
        return this.has(key) ? {[key]: this.data[key]} : {};
    },

    del(key) {
        delete this.data[key];
    },

    has(key) {
        return (key in this.data);
    },

    delMatching(str) {
        for (let key in this.data) {
            if (key.indexOf(str) !== -1)
                delete this.data[key];
        }
    }
}

// "Extend"
const DataCacheService = Object.create(BaseCache);

You actually write less than if you use a class! ;)
Tangentially I've spent a fair bit of time doing functional programming in Clojure over the past few years and that language provides no classes at all. You just deal with data and it works perfectly fine! I've worked with a huge Java code base in the past and the lack of needing concrete classes is one of the things I like most about Clojure and JavaScript.

I'd like to notice that the usage of static functions in Tolga's example may do more harm then good. I mean we should refrain ourselves from using language in the way it wasn't meant to be used. Static functions were mean to be used like they are in other languages for example:
MathToolkit.integrate()

In other languages static functions can alter static private fields, which I believe is not possible in JavaScript.
I don't know how react works but angular should be all about little independent modules (aka components). Module pattern depends on composition rather then inheritance.
Inheritance is the very thing that brought us scope dependency.
I think that following latest trends doesn't necessarily have to be the best thing as trends change very quickly. If people weren't using prototypes I don't know why they are suddenly using classes . It is the very same thing in fact (only more complicated internally as one of Jame's article pointed out).
In Mike's example please notice we define controller before component, whilst I believe that component definition is much more important and should be granted the first place in a code (in most cases we are not troubled by the controller logic which shouldn't be complicated but are looking for bindings and documentation).
I feel much safer to extend plain object or object with proxy then extending object with complicated prototype chain.
In language like TypeScript we can at least declare fields for classes. We cannot do this in Ecma Script thus I think it's some kind of self-limitation.
I'd like to mention that it's really easy to find real drawbacks of not only classes, but inheritance based design in the literature.
Before we make final decision let's just imagine how people will react to 20 line boilerplate constructor functions in every file ;)
Accessors in Java were once praised and deemed as a latest trend. Now everyone curses them and their creators xD

Very cool stuff in that article @jthomas1, it makes me think that classes are not needed at all but thats not for this discussion. I think using classes just as a way to identify usage. As in if its a class it has abstracted behaviour and is intended to be extended functions for anything else. I know it seems simple but nothing has really made me think that either way gives us any real advantages so technical feature discussions are kind of void at this point.

Very cool stuff in that article @jthomas1, it makes me think that classes are not needed at all but thats not for this discussion. I think using classes just as a way to identify usage. As in if its a class it has abstracted behaviour and is intended to be extended functions for anything else. I know it seems simple but nothing has really made me think that either way gives us any real advantages so technical feature discussions are kind of void at this point.

I've been playing devils advocate quite hard in the last week or so and it has been an interesting journey of discovery into the language :nerd_face: .
I think it is very important that we make a distinction between code style and fundamental application architecture. This is not a trivial style discussion like "use 2 spaces instead of 4 spaces", this is something that can have major ramifications down the line if we need to do refactoring.
This is also why I believe on this particular issue we should have discretion to use which method we feel is appropriate at a given time for the task we are trying to fulfil.

Yeah I guess I missed the point with how deep we are going with this guide. I don't think I have enough knowledge to have a constructive argument at this point.

Yeah no worries @DeanPalmer, I don't want to poo poo your suggestion of keeping it simple and I also don't want this discussion to go on forever. Pragmatism is the way forward.
I think the reason why it is adopted in React and Angular2 is because you tend to only ever extend once eg:
Class myComponent extends React.Component {
   //  blah blah blah
}

It would be quite rare for you to extend myComponent again, at least when I have been using React or Angular2 I've never done that since you don't need to. You abstract all the shared logic into a service instead and that service can be injected in all the components that need it.
They could have quite easily implemented the framework thus:
const myComponent = React.Component.createComponent();
// or
const myComponent = angular.module('blah').createComponent() //look familiar? :D

Facebook and Google have decided that extending classes is how they want to do it but it all results in the same thing: myComponent becomes an Object that has been provided with extra shared functionality that it didn't have before.
The argument against classical inheritance generally is that once you start creating a big chain the great-great-great-grandchildren end up with a whole bunch of stuff they don't need to know about.
It is much worse in Java and C# of course since they require that EVERYTHING be a class of some kind.

Yea I agree with @DeanPalmer. There's been a lot said in here which is great, but we still have people writing components using classes, and others using functions. We need to address this ASAP. Function composition vs Class inheritance should be covered at another time IMO.

Carlos you mean controllers for components, right? I gave some technical advantages I think, but I guess we will end up voting anyway ;)


Provide a way to listen to specific services instead of the whole catalog

spring-cloud-consul provides a Consul Catalog Watch that publishes heartbeat events on catalog changes. In an environment with many services the catalog can change rapidly (multiple times per second) causing heartbeat events to trigger for services which the application is not interested in.
For example, this mechanism is used in Spring Cloud Config Client if discovery is enabled link
In practice the config client is only interested in updates to the spring-cloud-config-server but this triggers each time the catalog updates.
The catalog services watch can already be disabled. It would be very useful if an alternative heartbeat event producer can be implemented which takes a list of relevant services and only publishes heartbeat events when those specific services are updated.
Currently any micro service in our organization will start generating many requests to consul just by adding spring-cloud-starter-consul-discovery. While the watch-delay is configurable it's less than ideal if your application is only interested in a subset of services. If the watch-delay is too high you risk not getting an immediate update when the services changes and if it's too low you get flooded with events.

The consul api we use does not provide filtering. https://www.consul.io/api/catalog.html#list-services

The consul api we use does not provide filtering. https://www.consul.io/api/catalog.html#list-services

Yes it doesn't provide filtering on the entire catalog. However, long polling watches can be created for each service that the application is interested in. The mechanism can be very similar to how it's done now with a background thread for each service.
https://www.consul.io/api/catalog.html#list-nodes-for-service

Having to explicitly list every service you want to watch doesn't seem scalable to me.

I think that applications which have many upstream services can continue using the existing catalog watch mechanism. However it would be nice if microservices which only have a couple of interfaces be able to watch those they are interested in instead of the entire catalog.
Here is some data on our own consul index and how quickly it changes
while true; do curl -s -v http://consul:8500/v1/catalog/services 2>&1> /dev/null | grep Index; sleep 5; done
< X-Consul-Index: xxxx59768
< X-Consul-Index: xxxx59896
< X-Consul-Index: xxxx59961
< X-Consul-Index: xxxx60067
< X-Consul-Index: xxxx60243
< X-Consul-Index: xxxx60415
< X-Consul-Index: xxxx60548
< X-Consul-Index: xxxx60743
< X-Consul-Index: xxxx60774

I think that is a rarity. As you mentioned, you can disable it and roll your own. We'll wait to see if there are more folks who want this.

Good afternoon,
Not sure what do you mean by rarity. It is very common to have hundreds of microservices and use continuous deployment strategies in huge organizations. May be you are operating at a different scale, but we have multiple datacenters and Consul catalog contains thousands of tags.
To be precise we started investigating high CPU/Memory/Network usage of some idle microservices running in the cloud. I profiled couple of them and found that they are all affected by the same problem. Spring schedules a task which continuously polls Consul and fetches updates (due to high rate of changes it happens every couple of seconds) it results in heavy memory consumption by underlying "com.ecwid.consul" library. This results in frequent garbage collections and high CPU usage.

Here is JProfiler hot spot allocation report. In reality absolutely idle service continuously uses around 400MB of memory. I am sorry but I think this implementation does not scale. We are currently suspended usage of it and looking for other ways to implement service discovery.

@alex-dubrouski please open a separate issue as that does not seem related to ConsulCatalogWatch. We'd be happy to entertain ways to make things more efficient as no one has reported anything similar.
What doesn't seem to be scalable is to have to manually add a service that needs to be watched for the OPs use case.

Spencer,
Please review the attached screenshot again. ConsulCatalogWatch schedules task which fetches catalog here:
https://github.com/spring-cloud/spring-cloud-consul/blob/master/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulCatalogWatch.java#L129
When rate of changes of Consul catalog is high and catalog itself is huge it results in this high memory allocation / CPU usage. Memory allocated for CatalogConsulClient.getCatalogServices()on attached picture is 289MB

Yes, but the image shows the trace coming thru the /health actuator endpoint. While they both call the same method, I think it's still a different situation.
Might be worth setting management.health.consul.enabled=true.

Only small percentage of calls is coming from health services, most of them is a result of discovery.

if that's the case, you can use tags to limit what is returned.

Yes, this is what we actually asked to implement. Currently ConsulCatalogWatch uses /catalog/services endpoint which does not provide filtering and does not accept tags (you said it yourself here https://github.com/spring-cloud/spring-cloud-consul/issues/566#issuecomment-501821619).
Fu asked to implement support for watching specific services as second possible path.

Do you both work together? For ConsulCatalogWatch there hasn't been a request for this. It may be worth implementing something on your own, seeing how it works and submitting a PR. #475 may be interesting to you as well.

I had added waitTime and index in getServers() of ConsulServerList.java.
This changed getHealthServices() to be a blocking query.
I also want to add cached parameter in it.
I think the catalogwatch was useless, and you should use getHealthServices() to watch the server list.@fuleow

I am sorry for delay,  yes we work together on one team. We will try to incorporate this research into our plans. BTW Fu already has an open PR for this repo.

Do you both work together? For ConsulCatalogWatch there hasn't been a request for this except for you. It may be worth implementing something on your own, seeing how it works and submitting a PR. #475 may be interesting to you as well.

Thanks @spencergibb I'll try to explore implementing something custom when I have some time. For the PR @alex-dubrouski mentioned I have that running on our Spring Boot Admin server and with catalog-services-watch-delay set to 10000 it's been working ok so far.

I need to implement the scenario in service1 where I want to know health of service2 and if it is up/running then will take action accordingly. I want to know the health of a service on a separate thread. How do I implement using catalog watch ? Is there any other way to implement as well ?


Remove redundant index on landing page

What landing page is this for?

Codecov Report

Merging #196 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #196   +/-   ##
=======================================
  Coverage   83.53%   83.53%
=======================================
  Files          37       37
  Lines        1464     1464
=======================================
  Hits         1223     1223
  Misses        241      241

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 e017ef6...da130f4. Read the comment docs.

@calvinnhieu for the HCA CLI read the docs


what the heck is this

i opened domino 144, exe only, and this showed up and domino didnt start

ok. i got the 144 zip version it opens fine, but the notes are silent when i place em, and it shows this when I click Open and then it shows Save As.

okay i was able to properly open a midi but it makes no sound. i clicked yes on this popup to open it.

:wave: Apologizes for responding it now. I was quite busy.
You should set up your port first. Check this section on the manual.

i did that before, it's been working for a while
thanks though

Alright. Glad to help!

i get this is like extremely late but why were the text boxes doing?


Avataars

We need to use the same avatars as in the superhero-wallet and superhero-ui.
Avatars in superhero and superhero-wallet are using the avataars npm package (https://github.com/aeternity/superhero-ui/blob/develop/package.json#L21-L22) with the following config: https://github.com/aeternity/superhero-ui/blob/develop/src/utils/util.js#L46-L66
We need to use the same one for generated avatars in jitsi instead of the robot one.

@mradkov - Do we need to use same avatars like superhero-ui or do we need to generate them in a same way like its implemented there?

@mradkov - Do we need to use same avatars like superhero-ui or do we need to generate them in a same way like its implemented there?

For the first version of this - let us generate them the same way. Afterward we can sync them to also display the custom user-uploaded ones.


[Cloud Sync] MQTT TLS Password storage

Describe the bug
The MQTT cloud sync can be run in secure mode by enabling the TLS. The method to pass password to CloudSync needs to be defined. Would like to get the opinion of other developers on the same.
Expected behavior
Secure method for the password to reach mqttconfig.
Test environment configuration (please complete the following information):

Firmware version: (OS type and version, e.g., Ubuntu 14.04, etc.)
Hardware: (e.g., x86-64, ARM, CPU type, RAM size, etc.)
Toolchain: (e.g., Docker and Go versions)
Edge Orchestration Release: (e.g., Alpha, Baobab, Coconut)

Additional context
Add any other context about the problem here.

@tdrozdovsky What if we save cert, username and password to boltdb? Is it good?

Passwords must be stored in encrypted form or as a hash. The certificate contains no sensitive information.
Therefore, storing passwords in an open database is prohibited.

@tdrozdovsky Is sending the result of mosquitto_passwd through REST API with HTTPS also a problem?

https://mosquitto.org/documentation/authentication-methods/
are the methods provided by mosquitto broker

What about the scenario below?
The service application uses edge-orchestration to the broker when the broker doesn't need Username and Password.
In other case, the service application should access the broker directly without edge-orchestration.

How about creating a textfile for storing password in location /var/edge-orhestration/data folder and then access this file from the code from the Cloudsync mgr package. Please provide your suggestions for the same so that i can raise a PR for it

Below article has discussed major methods for securing, thought of sharing the same.
https://www.vaadata.com/blog/how-to-securely-store-passwords-in-database/
Salt and Pepper combined with other methods seems to be widely used for storing the password into Db.