remote_read & remote_write not propagating to pod config

What did you do?
made a helm deployment of prometheus-operator
What did you expect to see?
output from the following should show 1 line
$ kubectl -n telemetry exec prometheus-prometheus-operator-prometheus-0 -c prometheus -- cat /etc/prometheus/config_out/prometheus.env.yaml | grep remote_read
  remote_read:

$

I'd expect to see remote_read and remote_write as below in the prometheus crd.
$ kubectl get prometheus -oyaml

apiVersion: v1
items:
- apiVersion: monitoring.coreos.com/v1
  kind: Prometheus
  metadata:
    creationTimestamp: 2018-11-16T15:35:30Z
    generation: 1
    labels:
      app: prometheus-operator-prometheus
      chart: prometheus-operator-0.1.7
      heritage: Tiller
      release: prometheus-operator
    name: prometheus-operator-prometheus
    namespace: telemetry
    resourceVersion: "494198"
    selfLink: /apis/monitoring.coreos.com/v1/namespaces/telemetry/prometheuses/prometheus-operator-prometheus
    uid: 3faeb197-e9b5-11e8-9359-026a3a65bb10
  spec:
    additionalScrapeConfigs:
      key: additional-scrape-configs.yaml
      name: prometheus-operator-prometheus-scrape-confg
    affinity:
      podAntiAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
        - labelSelector:
            matchLabels:
              app: prometheus
              prometheus: prometheus-operator-prometheus
          topologyKey: kubernetes.io/hostname
    alerting:
      alertmanagers:
      - name: prometheus-operator-alertmanager
        namespace: telemetry
        port: web
    baseImage: quay.io/prometheus/prometheus
    externalUrl: https://prometheus.lucifer-primary.devel.finbourne.com
    listenLocal: false
    logLevel: info
    paused: false
    podMetadata:
      labels:
        app: prometheus
        k8s-app: prometheus
    remote_read:
      url: http://influx-influxdb:8086/api/v1/prom/read?db=prometheus
    remote_write:
      url: http://influx-influxdb:8086/api/v1/prom/read?db=prometheus
    replicas: 2
    retention: 10d
    routePrefix: /
    ruleSelector:
      matchLabels:
        app: prometheus-operator
        release: prometheus-operator
    scrapeInterval: 5s
    serviceAccountName: prometheus-operator-prometheus
    serviceMonitorNamespaceSelector: {}
    serviceMonitorSelector:
      matchLabels:
        release: prometheus-operator
    version: v2.5.0
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""

What did you see instead? Under which circumstances?
nothing
$ kubectl -n telemetry exec prometheus-prometheus-operator-prometheus-0 -c prometheus -- cat /etc/prometheus/config_out/prometheus.env.yaml | grep remote_read

$

$ kubectl get prometheus -oyaml

apiVersion: v1
items:
- apiVersion: monitoring.coreos.com/v1
  kind: Prometheus
  metadata:
    creationTimestamp: 2018-11-16T15:35:30Z
    generation: 1
    labels:
      app: prometheus-operator-prometheus
      chart: prometheus-operator-0.1.7
      heritage: Tiller
      release: prometheus-operator
    name: prometheus-operator-prometheus
    namespace: telemetry
    resourceVersion: "494198"
    selfLink: /apis/monitoring.coreos.com/v1/namespaces/telemetry/prometheuses/prometheus-operator-prometheus
    uid: 3faeb197-e9b5-11e8-9359-026a3a65bb10
  spec:
    additionalScrapeConfigs:
      key: additional-scrape-configs.yaml
      name: prometheus-operator-prometheus-scrape-confg
    affinity:
      podAntiAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
        - labelSelector:
            matchLabels:
              app: prometheus
              prometheus: prometheus-operator-prometheus
          topologyKey: kubernetes.io/hostname
    alerting:
      alertmanagers:
      - name: prometheus-operator-alertmanager
        namespace: telemetry
        port: web
    baseImage: quay.io/prometheus/prometheus
    externalUrl: https://prometheus.lucifer-primary.devel.finbourne.com
    listenLocal: false
    logLevel: info
    paused: false
    podMetadata:
      labels:
        app: prometheus
        k8s-app: prometheus
    replicas: 2
    retention: 10d
    routePrefix: /
    ruleSelector:
      matchLabels:
        app: prometheus-operator
        release: prometheus-operator
    scrapeInterval: 5s
    serviceAccountName: prometheus-operator-prometheus
    serviceMonitorNamespaceSelector: {}
    serviceMonitorSelector:
      matchLabels:
        release: prometheus-operator
    version: v2.5.0
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""

Environment

Prometheus Operator version: v.0.25.0
Kubernetes version information: v1.12.1
Kubernetes cluster kind: typhoon
Manifests:

#... earlier alertmanager etc values
# this is the interesting stuff.
prometheusOperator:
  enabled: true
  serviceAccount:
    create: true
    name: ""
  createCustomResource: true
  cleanupCustomResource: false
  podLabels: {}
  kubeletService:
    enabled: true
    namespace: kube-system
  serviceMonitor:
    selfMonitor: true
  resources:
    limits:
      cpu: 200m
      memory: 200Mi
    requests:
      cpu: 100m
      memory: 100Mi
  nodeSelector: []
  tolerations: {}
  affinity: {}
  image:
    repository: quay.io/coreos/prometheus-operator
    tag: v0.25.0
    pullPolicy: IfNotPresent
  configmapReloadImage:
    repository: quay.io/coreos/configmap-reload
    tag: v0.0.1
  prometheusConfigReloaderImage:
    repository: quay.io/coreos/prometheus-config-reloader
    tag: v0.25.0
  hyperkubeImage:
    repository: gcr.io/google-containers/hyperkube
    tag: v1.12.1
    pullPolicy: IfNotPresent
prometheus:
  enabled: true
  serviceAccount:
    create: true
    name: ""
  rbac:
    roleNamespaces:
      - kube-system
  podDisruptionBudget:
    enabled: false
    minAvailable: 1
    maxUnavailable: ""
  ingress:
    enabled: true
    annotations:
      kubernetes.io/ingress.class: nginx
    labels: {}
    hosts:
    - prometheus.example.com
    tls:
    - secretName: telemetry-tls
      hosts:
        - prometheus.example.com
  serviceMonitor:
    selfMonitor: true
  prometheusSpec:
    scrapeInterval: "5s"
    evaluationInterval: ""
    listenLocal: false
    image:
      repository: quay.io/prometheus/prometheus
      tag: v2.5.0
    tolerations: {}
    alertingEndpoints: []
    externalLabels: {}
    externalUrl: ""
    nodeSelector: []
    secrets: []
    ruleNamespaceSelector: {}
    ruleSelector: {}
    serviceMonitorSelector: {}
    serviceMonitorNamespaceSelector: {}
    retention: 10d
    paused: false
    replicas: 2
    logLevel: info
    routePrefix: /
    podMetadata:
      labels:
        app: prometheus
        k8s-app: prometheus
    podAntiAffinity: "hard"
    remote_read:
      url: "http://influx-influxdb:8086/api/v1/prom/read?db=prometheus"
    remote_write:
      url: "http://influx-influxdb:8086/api/v1/prom/write?db=prometheus"
    resources: {}
    storageSpec: {}
    additionalScrapeConfigs: []
    additionalAlertManagerConfigs: []
    securityContext: {}
    priorityClassName: ""
    thanos: {}
    containers: []
    additionalScrapeConfigsExternal: false

  additionalServiceMonitors: []

Prometheus Operator Logs:

nothing but sync's

The fields are called remoteRead and remoteWrite.

ah.  Thanks @brancz


Add support for disable_key, enable_key, cancel_key_deletion, schedule_key_deletion to KMS

Resolves #1853 (adds schedule_key_deletion), and also adds support for disable_key, enable_key and cancel_key_deletion to KMS.

Coverage decreased (-0.2%) to 92.374% when pulling 181e9690b84db61f180d31f30ea3e92776cb9a49 on jrbeilke:feature-schedule_key_deletion into dfa7935e13e6065810d6fc4e1edbf3e86499aea5 on spulec:master.

Looks great. Thanks and welcome to Moto!


Documentation request

Levee is an exciting project, thanks for working on it and sharing, guys!
An awesome tool, fascinating ideas brought together.
I hate to be whining, but IMO the current docs are, unfortunately, scarce =(
For example:

Presentation says that levee can interact with consul, but there are no examples, nor docs upon what part of consul API is covered.
Levee comes bundled with siphon, "a library of highly optimized parsers for common protocol and data formats". It's not clear though exactly what formats and protocols are covered? Seems to be JSON, MsgPack, HTTP, but examples of usage and docs would help a lot
Generally, it would be great to have documented all the included libraries upon which levee is built. For example, LPeg library seems to be built in, but not mentioned in the docs/examples.
Can levee be used with luarocks? Is it possible to build binaries with luarocks modules built in as well?
Did I mention examples? =)

Hi @epicfilemcnulty!
Yes, of course, you're totally right.
If you were to prioritize the items you've listed for someone who had say, 30 mins a week to contribute documentation, which items would you place first?
Do you have a project or use case you're currently interested in / working on?

Well, my prioritization will be biased =)

Consul interaction
MsgPack usage & conversion between JSON and MsgPack examples.
Using external libraries with levee.

Yes, I have a couple of design ideas for a configuration manager tool for debian and alpine systems. And I'd like it to be fully integrated with consul when consul is availabe. Most probably sqlite library will be used as well. I was going to implement that project in lua (using luajit and building a static binary as a  result), but levee seems a perfect solution to build upon, so I'm very excited to try.

Feel free to be biased :)
Thanks, this helps. I direct documentation energy in these directions as I
have time!
On Tue, Aug 9, 2016 at 2:35 AM, Vladimir Zorin<EMAIL_ADDRESS>wrote:

Well, my prioritization will be biased =)

Consul interaction
MsgPack usage & conversion between JSON and MsgPack examples.
Using external libraries with levee.

Yes, I have a couple of design ideas for a configuration manager tool for
debian and alpine systems. And I'd like it to be fully integrated with
consul when consul is availabe. Most probably sqlite library will be used
as well. I was going to implement that project in lua (using luajit and
building a static binary as a result), but levee seems a perfect solution
to build upon, so I'm very excited to try.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/imgix/levee/issues/26#issuecomment-238503098, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAFcj53WAoDRWBmRNVNYt3Wt4VeuXjKks5qeEn9gaJpZM4JZJ8c
.


Improved resource error handling and translations, improved side button layout, fixed rescan duplicates, and more

-Improved handling of missing resources so the user knows what file is missing.
-Improved some misspelled english words and changed some text to be more clear
-Added file path to error message when vital resources are missing
-Moved side buttons to the bottom for much better visual clarity

I want to congratulate you for having the courage to understand such a messed up source code.
I still have to test the changes you've made and figure out whether to merge your code or create a dedicated branch on github. thank you for your interest.


How do I use it?

When I saw this program I perked up and tried to use it, but when I started the setup.exe, it gave me this message: "Press enter to exit, or give ESP path here". Do you know what I mean?

The readme file is a .txt

Just add .txt to the end of it

If you have notepad++ then right click and click edit with notepad++

You can see README.md online here: https://github.com/Metabolix/HackBGRT/blob/master/README.md


Try online: whitespace lacks text for textarea

Moved from marko-js/marko#1390 because this seems to be a site-specific bug, not with marko the library proper.
Marko Version: 4.18.5
Opening Firefox’s Debugger devtools tab has multiple instances of marko$4.18.5, which seems like a safe bet.
Details
The sample template is:

  By default, pre tags have
  their whitespace preserved

<textarea>
  Same for
  text areas!
</textarea>

Expected Behavior
I would assume this template to transform into basically its source code.
Actual Behavior

  By default, pre tags have
  their whitespace preserved

<textarea></textarea>

Your Environment

Firefox 70.0a1
MacOS

Steps to Reproduce
Visit https://markojs.com/try-online/?file=%2Fmarko-language-guide%2Fcomponents%2Fwhitespace&gist=

Looks to be fixed now https://markojs.com/try-online/?file=%2Fcomponents%2Fwhitespace%2Findex.marko


Legacy stats depreciation information

It has been known for some time that legacy stats have indeed been killed off by ubisoft. I've been working on a redesign of the site, and have a few things to share:

It looks like all stats under the legacy namespace of this api have been frozen
They were frozen at the end of Crystal Guard (season 23)
Seasonal stats still work, and in the latest api update we added support for casual stats, so it is possible to aggregate both sources to get the current stats
All other stats are basically dead and should only be used for archival purposes. I'm going to add obsoletion notices to all of them, but won't remove them for the foreseeable future (or when ubisoft close that whole system down)

Hey there,
I have basically no experience with C#, but I did just rewrite my Python Siege API library (siegeapi) to ditch the old frozen stats and added in the new ones
So if you wanna know anything about the new endpoints, I'm happy to share 😃

Cheers @CNDRD, most of the modern stats have been added in #280, just need to add the deathmatch board pvp_warmup, newcomer playlist and add a note about skill records not returning the most recent season.
I'll take a look at your python api and see if there's anything else I've missed.

closing as all guidance should be accurate and all planned features have been added (and are in a stable build)


Docstring for rotate function

Hi team, I have added a docstring for my function. Feel free to merge the pull request after reviewing and let me know if I need to add anything else.

Looks good to me


Android: Fix unzip failure if destDir has 2+ folders to mkdir

one character change - mkdirs() creates all the folders in the path. mkdir() will only create one level.

Thanks!


Using tabs into disabled fieldset not working with Firefox

Hi,
I'm creating a form containing a fieldset inside which is a set of tabs.
When the fieldset is disabled (using an associated checkbox), the navigation tabs are still usable to display tabs contents when using Chrome or Chromium, which is the behaviour I'm looking for!
But with Firefox, the tabs are not working: clicking on a tab is just updating the window hash with the ID of the tab specified into tab's link href!
I've tried to add a JQuery listener on tab's click event, but this one doesn't seems to be triggered in Firefox!
So is it a bug ? Or is there any way to have the same behaviour in Firefox as in Chrome?
Best regards,
Thierry

As per the issue template...please provide an isolated reproducible test case example.

OK... should an HTML extract be enough in this use case?

The issue template for reporting a bug includes all the details we ask you to provide:

Before opening:

Search for duplicate or closed issues
Validate and lint any HTML to avoid common problems
Read the contributing guidelines

Bug reports must include:

Operating system and version (Windows, macOS, Android, iOS)
Browser and version (Chrome, Firefox, Safari, Microsoft Edge, Opera, Android Browser)
Reduced test case and suggested fix using CodePen or JS Bin

Here is a small CodePen sample: https://codepen.io/tflorac/pen/pojKNLW
The problem occurs actually on Windows and Linux with Firefox 68.7.0esr.

Per https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset:

If this Boolean attribute is set, all form controls that are descendants of the <fieldset>, are disabled, meaning they are not editable and won't be submitted along with the <form>. They won't receive any browsing events, like mouse clicks or focus-related events. By default browsers display such controls grayed out. Note that form elements inside the <legend> element won't be disabled.

Just to be sure to understand correctly, are links ( elements) considered as "form controls" as long as they are located inside a fieldset?

I think the issue title caused some confusion there. no, links themselves should not be considered "disabled" inside a disabled fieldset. this may well be a bug in Firefox.

I opened a Firefox bug report for this issue: https://bugzilla.mozilla.org/show_bug.cgi?id=1637321


[fix][broker] Fix ledger cachemiss size metric

Motivation
ledger cache miss rate should be same as ledgerFactory cache miss rate
Modifications
ledger cache miss rate should be same as ledgerFactory cache miss rate
Verifying this change

[x] Make sure that the change passes the CI checks.

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: https://github.com/AnonHxy/pulsar/pull/38

We don't need valueRate, so it seems no need to fix.

seems no need to fix.

The major fix is not the valueRate. It's that the count always increace 1 when entriesToReturn.size() is greater thant one, e.g., line453 at RangeEntryCacheImpl.java @Technoboy-

seems no need to fix.

The major fix is not the valueRate. It's that the count always increace 1 when entriesToReturn.size() is greater thant one, e.g., line453 at RangeEntryCacheImpl.java @Technoboy-

Hi @Technoboy-  Do you have any other comments:)  thanks

seems no need to fix.

The major fix is not the valueRate. It's that the count always increace 1 when entriesToReturn.size() is greater thant one, e.g., line453 at RangeEntryCacheImpl.java @Technoboy-

Hi @Technoboy- Do you have any other comments:) thanks

Make sense. So we'd better update the motivation.

Make sense. So we'd better update the motivation.

OK. Updated


Add a command to attach an existing branch to a story

Currently, when a branch that is associated with a story on one machines is pushed to a central server, the metadata about the issue does not go along with it.  This means that while the branch may be checked out on a different machine, git finish will not work properly, because it's not clear what the root and story-id are.
A command needs to be added (or a command extended) to allow the user to attach a branch to a particular story.
Reported by @glyn

+1
I have the problem that if I ever push a "started" branch to a central server, I can never git finish it—even from the same machine. If I do nothing, there is a complaint about the remote repository; if I eliminate the branch on the remote server first, then the complaint is that there is no remote information. If I put in some remote information, I don't seem to be able to satisfy it with the right stuff.  I have to commit, merge, push and mark the stories by hand.


Paradox/add bpi collateral

Now, if we want to handle the collateral mechanism, like creating collateral, it's Tx fee, and adjusting expected values. We can just use initCollateral on test wallets and it will take care of everything (i.e. initialize the collateral, adjust the values, etc), so the only changes that users need to make in their tests is use initCollateral and everything will work accordingly.

Looks great to me!
Can you also update CNAGELOG.md by mentioning withCollateral there please.


Dataprovider unlock

adding unlock data provider which retrieves all keys for the lock, associated to https://github.com/sismo-core/sismo-hub/issues/1428

hey @sampolgar there are a lot of modifications probably cause by your linter. Is it possible for you to remove al these changes?
Thanks!

Sorry @MartinGbz - that's updated!

Thanks @MartinGbz


virtualenv links against wrong python #978

Addressing #978. It seems cleaner.
PS. In case this gets accepted please squash.

Thanks for this improvement @themperek, looks cleaner indeed.
However, I'm a bit worried about the performance impact of calling Python multiple times. Can we get away with calling PYTHON_BIN once, and then letting make split the result into the individual variables?

Can we get away with calling PYTHON_BIN once, and then letting make split the result into the individual variables?

We can but then we need to parse this with some Unix tools and this will be ugly (in my opinion).

What if we invoked python once, and had it output makefile syntax? $(eval $(shell cocotb-config get-makefile-vars))

Seems like we still (how long @imphil ?) want to be able to use cocotb without cocotb-config?

Make can do word-splitting natively with $(word n,text) (https://www.gnu.org/software/make/manual/html_node/Text-Functions.html), with one important limitation: spaces spaces in paths are not supported. This is a general make limitation, not only for this function.
However, it feels to me that the "no spaces in paths" rule wasn't as important until now as most paths to source files are relative. With absolute paths and Windows added to the mix it's a whole different story.
So:

I'd take this patch as-is, as it strictly improves things.
Open a follow-up trying to find a sane way to avoid these multiple calls to an external tool, be it PYTHON_BIN or cocotb-config. (It's the same overhead.)

Seems like we still (how long @imphil ?) want to be able to use cocotb without cocotb-config?

We can require cocotb-config. We just cannot require it being installed into PATH. Instead, we need to look it up from the old COCOTB environment variable. (I will do that in #990 when I find time for it, hopefully in the next couple of days.)

Alternatively, we go into the direction to generate some makefile with cocotb-config with all this configuration handled in python?

It looks to me it is OK. And seems to work across diffrent build environments.
The objection I would have is that "LDLIBRARY"/"LIBRARY" variable is not really documented although a GitHub search suggests this is widely used.


Please package pre-compiled version

I use create-react-app and one of my dependencies is audio-play. Sadly I can't build my create-react-app due to this error:
▶ yarn build
yarn run v1.6.0
$ react-scripts build
Creating an optimized production build...
Failed to compile.

Failed to minify the code from this file:

 	./node_modules/audio-play/browser.js:16

As per their instructions to resolve this it says

"Open an issue on the dependency's issue tracker and ask that the package be published pre-compiled."

So can we please have a pre-compiled version within the package?

same problems here, it's hard to play babel 7

Do you know why it doesn't minify/compile?

@latel  @peterbe try 2.2.1 - that has ES5 code. Tested that with uglifyjs - works fine.
If that does not help, the problem is not in this package.

It works! I'm using audio-loader and audio-play and now I can run yarn run build in my create-react-app project. Thanks!


rkt: Add --force flag to image rm subcommand

It would be nice to be able to force the removal of images. Currently there is no way to do that, afaik.
My proposal...
If the image does not have references things would be as they are now. If there are references, we'd require confirmation after showing the list of references that would be removed by the image removal.
To enable scripting this would also require something list a "-y" flag to automatically answer "yes".
Is this something that would be desired and I should work on?

@blixtra FYI #1240 is going to change it. With it images in the store are not needed anymore after prepare. What is needed are the tree stores but they are completely decoupled from images and will be removed by a garbage collection #1487 .

@sgotti Thanks for pointing that out. This won't be necessary at all then.


'Module' object has no attribute 'cnn_face_detection_model_v1'.

Hi! I have updated to dlib 19.7 with pip install... but trying to run detector on CPU always caused MemoryError, so i found here a solution to setup dlib from this repository.
I have uninstalled old dlib with:
pip uninstall dlib
Then I have downloaded this repo and used python setup.py install --yes USE_AVX_INSTRUCTIONS to install it.
After those manipulations I'm getting error:
'Module' object has no attribute 'cnn_face_detection_model_v1'.
Also calling dir(dlib) shows no traces of this function/
PS: I'm trying to run code from python_examples/cnn_face_detector.py
Version: 19.7.99
From current github repo
Ubuntu 14.04.3 x64 on VMWare, no GPU, no CUDA, 16Gb RAM
Compiler: GNU 4.8.4

You must have an older version of dlib installed and not realize it if it's missing that function since there is no way to compile dlib without it.  So if you don't have it it's because you have an old version of dlib.

I find the reason now. Because windows Anaconda has installed dlib with early version by default. It is not in pip install env but in conda install env. You can try to pip uninstall dlib. Then enter python, import dlib, print dlib.__version__ to verify it. The solution is conda uninstall dlib, then install a newer one.


add socket.io-parser 4.2.4 in the package.json/package-lock.json

@reda-idtaleb  Is this PR a Draft or was it tested ?

Oops! that's a draft sorry. There was something strange that i don't understand. Should ignore this PR for now, sorry.


ipmi fru: Add membufs manufacturing date

The IPMI FRU message now contains the manufacturing date of
a memory buffer.
Signed-off-by: Artem Senichev<EMAIL_ADDRESS>

Thanks!


DefaultConcurrencyAbstractionLayer.StartTimer might cause System.ArgumentOutOfRangeException when calling Task.Delay(TimeSpan delay, CancellationToken cancellationToken), possible duplicate of Issue #85

Error frequency: 70% of Android application users would experience it once a week.
System.Reactive v3.1.1
Xamarin <IP_ADDRESS>
Xamarin.Android <IP_ADDRESS>
System.ArgumentOutOfRangeException: The value needs to translate in milliseconds to -1 (signifying an infinite timeout), 0 or a positive integer less than or equal to Int32.MaxValue. Parameter name: delay 	at System.Threading.Tasks.Task.Delay(TimeSpan_delay__CancellationToken_cancellationToken.args:1337) 	at System.Reactive.Concurrency.TaskHelpers.Delay(TimeSpan_delay__CancellationToken_token.args:1337) 	at System.Reactive.Concurrency.DefaultConcurrencyAbstractionLayer.StartTimer(System.Action1_action__System.Object_state__TimeSpan_dueTime.args:1337) 	at System.Reactive.Concurrency.EventLoopScheduler.Run(.args:1337) 	at System.Reactive.Concurrency.Thread.Run(.args:1337) 	at System.Threading.Tasks.Task.InnerInvoke(.args:1337) 	at System.Threading.Tasks.Task.Execute(.args:1337)
Stacktrace is almost identical to already fixed issue from two years ago.
https://github.com/Reactive-Extensions/Rx.NET/issues/85
Thank you in advance.

We are seeing this exception in Xamarin Android, as well as Xamarin Mac for sure. We are running Rx version 2.2.5, which is before the fix for #85 (we use RxUI so we are stuck on 2.2.5).
Looking at the Rx source code, I believe the issue is around the calculation of the next due time in EventloopScheduler.Run() if the Queue is still > 0. Link
If due is < -1, when Task.Delay is called in DefaultConcurrencyAbstractionLayer.StartTimer, the exception will be thrown. The fix for #85 guarded against values > Int32.MaxValue, but didn't do anything for values < -1.
I believe the fix would be to schedule the work to run immediately if the due time is less then 0.

Looks like the windows version doesn't suffer from this. It has a normalize function in it's implementation of ConcurrencyAbstractionLayer.

@onovotny Duplicate of #85 which has been closed. Please close.


AttributeError: 'ProgbarLogger' object has no attribute 'log_values'

This is my code

-- coding: utf-8 --
"""
Created on Fri Mar 03 10:07:42 2017
@author: Shreyans
"""
import os
import pickle
import numpy as np
from keras.models import Sequential
import gensim
from keras.layers.recurrent import LSTM, SimpleRNN
from sklearn.model_selection import train_test_split
import theano
theano.config.optimizer = "None"
import sys
#sys.setdefaultencoding("ISO-8859-1")
#conversation.pickle.encode('utf-8').strip()
with open('chatbot.pickle', 'rb') as f:
(vec_x, vec_y) = pickle.load(f)
print("results")
print(vec_x)
vec_x = np.array(vec_x, dtype=np.object)
vec_y = np.array(vec_y, dtype=np.object)
x_train, x_test, y_train, y_test = train_test_split(vec_x, vec_y, test_size=0.2, random_state=1)
model = Sequential()
model.add(LSTM(output_dim=500, input_shape=x_train.shape[1:], return_sequences=True, init='glorot_normal', inner_init='glorot_normal', activation='sigmoid'))
model.add(LSTM(output_dim=300, input_shape=x_train.shape[1:], return_sequences=True, init='glorot_normal', inner_init='glorot_normal', activation='sigmoid'))
model.add(LSTM(output_dim=300, input_shape=x_train.shape[1:], return_sequences=True, init='glorot_normal', inner_init='glorot_normal', activation='sigmoid'))
model.add(LSTM(output_dim=300, input_shape=x_train.shape[1:], return_sequences=True, init='glorot_normal', inner_init='glorot_normal', activation='sigmoid'))
model.compile(loss='cosine_proximity', optimizer='adam', metrics=['accuracy'])
model.fit(x_train, y_train, nb_epoch=500, validation_data=(x_test, y_test))
model.save('LSTM5000.h5')
predictions = model.predict(x_test)
mod = gensim.models.Word2Vec.load('word2vec.bin')
[mod.most_similar([predictions[10][i]])[0] for i in range(15)]

**error getting **
model.add(LSTM(output_dim=300, input_shape=x_train.shape[1:], return_sequences=True, init='glorot_normal', inner_init='glorot_normal', activation='sigmoid'))
/usr/local/lib/python3.5/dist-packages/keras/models.py:939: UserWarning: The nb_epoch argument in fit has been renamed epochs.
warnings.warn('The nb_epoch argument in fit '
Train on 0 samples, validate on 1 samples
Epoch 1/500
Traceback (most recent call last):
File "chatbotlstmtrain.py", line 54, in
model.fit(x_train, y_train, nb_epoch=500, validation_data=(x_test, y_test))
File "/usr/local/lib/python3.5/dist-packages/keras/models.py", line 960, in fit
validation_steps=validation_steps)
File "/usr/local/lib/python3.5/dist-packages/keras/engine/training.py", line 1657, in fit
validation_steps=validation_steps)
File "/usr/local/lib/python3.5/dist-packages/keras/engine/training.py", line 1233, in _fit_loop
callbacks.on_epoch_end(epoch, epoch_logs)
File "/usr/local/lib/python3.5/dist-packages/keras/callbacks.py", line 73, in on_epoch_end
callback.on_epoch_end(epoch, logs)
File "/usr/local/lib/python3.5/dist-packages/keras/callbacks.py", line 307, in on_epoch_end
self.progbar.update(self.seen, self.log_values, force=True)
AttributeError: 'ProgbarLogger' object has no attribute 'log_values'

I also have this same problem, sometimes it works, sometimes it doesn't, it doesn't happen on linux for me, only on windows. There is no obvoius cause and I can't replicate this bug at all, it will suddenly appear and then disappear on random code changes.

I also met this problem but fixed. I found my data list is empty.

将batch_size设置为较小的数字。当您的batch_size设置为比样本集大小更大的值时，会出现此错误。

没错确实是这个问题 十分感谢

Please, see PR with fix above.
It fix this and some related bugs and contains tests for regressions and related bugs manifestation. Concerns behind change set are described as well.

This type of error occurs when we use a small size dataset and large batch size. So I replace batch size with 4 and it works.
Happy Coding.

I also met this problem but fixed. I found my data list is empty.

Yes it is like that.


Cache not working

I start the app, authenticate, all it's good, and the cache stores the token in the file.
But everytime I restart the app, although the cache has the token, the authentication process mandates me to insert the credentials again.
Wasn't it supposed to be a Single visual login process?

Thanks for posting in GH.  Did you change the sample code at all?  Upon restart, at which point does the app ask you to login again? After you click the 'Sign In' button?


feature: enable plugin on function call

Did you check the docs?

[X] I have read all the lazy.nvim docs

Is your feature request related to a problem? Please describe.
There is stevearc/dressing.nvim, rcarriga/nvim-notify which hooks into neovim's internal function. And I have to force them being loaded because currently there's no way to detect if a function is called.
Describe the solution you'd like
Just wrap around the function in question and load it.
Describe alternatives you've considered
Allow hooks for arbitrary function.
Additional context
No response

It's already easy enough to accomplish what you need. See the example below for nvim-notify:
{
  "rcarriga/nvim-notify",
  lazy = true,
  init = function()
    vim.notify = function(...)
      vim.notify = require("notify")
      return vim.notify(...)
    end
  end,
}


enabled the settings, but nothing changed

put the chrome folder in the profile, enabled toolkit.legacyUserProfileCustomizations.stylesheets and svg.context-properties.content.enabled, and tried userChrome.Tabs.Option13.Enabled, but nothing changed

restarting it seemed to do something. though idk its hard to see the tabs


Feature Request: Middleware decorator on Server

Is it possible to declare once that you want the middleware to apply to every route you make on a server, not just a controller?
If it is possible, could you let me know what I missed, and if not, consider this a feature request that I may very well be able to make a PR for, just wanted to check in first.

Hello,
This is possible with normal express before adding controllers. See gist here.

I you want a middleware to apply to every route on all controllers, just add it to the root parent controller.
@Controller('parent')
@ClassMiddleware( ... ) <--- Put you're middleware here
@ChildControllers([
    new ChildA1Controller(),
    new ChildA2Controller(),
    new ChildB1Controller(),
])
export class ParentController {

    @Get()
    private get(req: Request, res: Response) {
        const message = 'Hi I\'m the parent controller';
        Logger.Info(message);
        return res.status(OK).json({message});
    }
}

@seanpmaxwell i don’t have a root controller in this app though, that’s why I want it to apply to the server.


Homepage Handlebars Setup

Progress - Homepage routes are set up, main handlebars display the nav bar and the body on the express server, and the homepages are 50% completed to allow the group to work off the current file structure and setup.
Questions - Please reach out to me for any issues with the code!

looks great


bad gateway

two physical machine with intel nic 82599,they connect directly no swither
one machine ip addr <IP_ADDRESS>,the other one is <IP_ADDRESS>
./build/dperf -c test/http/client-cps-82599.conf
EAL: Detected 56 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: No available hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: PCI device 0000:af:00.0 on NUMA socket 1
EAL:   probe driver: 8086:10fb net_ixgbe
socket allocation succeeded, size 0.01GB num 131070
bad gateway
file client-cps-82599.conf  content show below:
mode        client
cpu         0
duration    60s
cps         10k
port        0000:af:00.0    <IP_ADDRESS>   <IP_ADDRESS>
client      <IP_ADDRESS>      2
server      <IP_ADDRESS>      1
listen      80           1

'bad gateway' means that dperf cannot resolve gateway's mac address.
you cant append  the mac address at 'port' to avoid this  error.


Sort providers list in /docs/concepts/cluster-administration/cloud-providers/

**Problem:
all the cloud providers should be sorted alphabetically

Good idea @jessie123jiang
/retitle Sort providers list in /docs/concepts/cluster-administration/cloud-providers/
/kind cleanup
/language en

This is a good idea! approve for this issue.


npm run build is showing number of issues.

npm run build is showing number of issues.

Hi, I added the build command with webpack (b9782827ef05498f18d8ce016a7203dc0bcc5cd0). When I run npm run build everything builds fine.


AsyncHTTPClient

So here it is. I eventually decided to take on integrating the SSWG AsyncHTTPClient into aws-sdk-swift-core. This isn't final and will need a lot of testing but I thought I would put it up so everyone can have a look. I warn you there are a lot of changes. I had to keep our own HTTPClient around as well for the builds using NIOTransportServices ie iOS and currently macOS (although macOS can switch between the two). A lot of the work was setting up choosing between clients. SSWG are looking into supporting NIOTransportServices with AsyncHTTPClient https://github.com/swift-server/async-http-client/issues/127 so maybe eventually we can remove the selection code and our own HTTPClient altogether.
Below is a list of everthing I did.
(Edited to reflect changes discussed below)

Created a protocol AWSHTTPClient defining a common interface for a HTTP Client. Set this up to hide implementation details of HTTP client from AWSClient.
Extended both our HTTPClient and the AsyncHTTPClient to conform with the AWSHTTPClient protocol.
Renamed HTTPClient to NIOTSHTTPClient and removed all non NIO Transport services code from it. We are only using this client when we are using NIO Transport services.
Added AWSClient.createHTTPClient which creates HTTP client based on the eventLoopGroup provided to the client. Choose NIOTSHTTPClient if the AWSClient has been initialised with an eventGroup of type NIOTSEventLoopGroup. Otherwise use AsyncHTTPClient.
For signing I introduced my own aws-signer module as it had a cleaner interface to work with than the V4 signer in aws-sdk-swift-core.
HTTP requests are created signed instead of creating an HTTP request and then signing it. This code has been moved to AWSRequest.
Given manageCredential() was in Signers.V4 before I have moved this to AWSClient. The code doesn't just replace the credential it now makes a new signer. Replacing signer helped with the following.
As the signer is the one point in the client object that can be read and written by different threads I have protected access to this with an NSLock. Also when a request accesses the signer it makes a copy of it and uses that copy from then on.
Create HTTPClient at AWSClient initialisation instead of recreating for every request
Provide the MetaDataService with the HTTPClient in AWSClient

I think that's it.
Things to do:

At the point credentials are about to expire, multiple calls to the client could instigate multiple calls to the MetaDataService. We could probably protect against this by wrapping the signer in a Future and when the signer exprires the future becomes the result of the MetaDataService look up mapped to a signer. Maybe this is for another PR.

This code has so far been tested on Mac with both HTTP clients. It has been tested with services ApiGateway, CloudFront, CognitoIdentityProvider, DynamoDB, EC2, Glacier, IAM, MediaConvert, Pinpoint, S3, SES, SNS, SQS, STS (some more comprehensively than others).

Since writing this I have done basic tests on EC2. And fixed a signing issue and the expiring credentials.

I will look into this deeper. Very exciting that you have already done such a massive move into the direction of using AsyncHTTPClient. Thank you! 👍
I just came across:
            if usingNIOTransportServices {
                let request: AWSHTTPClient.Request = try createHTTPRequest(awsRequest, signer: signer)
                return invokeAWSHTTPClient(request).map { $0 }
            } else {
                let request: AsyncHTTPClient.HTTPClient.Request = try createHTTPRequest(awsRequest, signer: signer)
                return invokeAsyncHTTPClient(request).map { $0 }
            }

I wonder why we don't use the AsyncHTTPClient.HTTPClient.Request for everything?

I wonder why we don't use the AsyncHTTPClient.HTTPClient.Request for everything?

It's quite an opaque type. I would have to rewrite a chunk of code in AWSHTTPClient for extracting the body. Just didn't see any worth in doing that. The request and response protocols allows for us to inject any HTTPClient into AWSClient.

Had a deeper look into this and I'm really excited about your progress!
Just as a side note I work for company that is really interested in using swift on the server and we need a great aws-sdk for this. That's why I am here and want to get involved.

The request and response protocols allows for us to inject any HTTPClient into AWSClient.

Would you mind pointing me to where I can find these protocols?

I would have to rewrite a chunk of code in AWSHTTPClient for extracting the body. Just didn't see any worth in doing that.

Well IMHO this has a certain code smell in the long run and is creating some code duplications where I think code duplications are not needed. Also this makes the cleanup for an AsyncHTTPClient that supports NIOTS way harder.
When I thought about creating a PR my thoughts went into this direction (see below). This is just a though map and I'm probably missing something that would prevent us from going into this direction. If you have the time I would love your feedback on this.
// create a protocol that has no type constraints. Therefore can be used as is.
protocol AWSHTTPClient {
  func execute(request: AsyncHTTPClient.HTTPClient.Request, eventLoop: AsyncHTTPClient.HTTPClient.EventLoopPreference, deadline: NIODeadline? = nil) -> EventLoopFuture<AsyncHTTPClient.HTTPClient.Response>
  func syncShutdown() throws
}

// already conforms to this
extension AsyncHTTPClient.HTTPClient: AWSHTTPClient {}

#if canImport(Networking)
class NIOTSHTTPClient: AWSHTTPClient {
  // reimplementation based on the protocol. Probably could be
  // ton's of copy and paste from the AsyncHTTPClient just based
  // on the NIOTLSBootstrap
}
#endif

class AWSClient {
  ...
  // can be used on every request. or later once at client init.
  private func createHTTPClient(for group: EventLoopGroup) -> AWSHTTPClient {

  }
  ...
}

As a great side effect this should make testing of the AWSClient a breeze. Currently the public send functions are untested.

Also if there is something I can do to move this forward, don't hesitate to reach out!

Protocol for request creation: https://github.com/swift-aws/aws-sdk-swift-core/blob/async-http-client/Sources/AWSSDKSwiftCore/HTTP/HTTPRequest.swift
Protocol for accessing body of response: https://github.com/swift-aws/aws-sdk-swift-core/blob/6c4b21f883b4d32b8b72af6786cff0a2c35b238b/Sources/AWSSDKSwiftCore/HTTP/HTTPResponse.swift
I could add a protocol for a http client which has two associated types request and response and then we can plug in any http client.

I could add a protocol for a http client which has two associated types request and response and then we can plug in any http client.

We could do this. But in this case, if we want to keep the HTTPClient around for longer (as a property), we would need to have the types on the AWSClient.
I'm still strongly in favor of keeping the httpClient around for longer (not just one request). But I don't think we want to expose the Request and Response types to the AWSClient consumer.
class AWSClient<Request: HTTPRequestDescription, Response: HTTPResponseDescription > {
  ...
  var httpClient: HTTPClient<Request, Response>
  ...
}

If you want me to I could try my best in implementing my proposed NIOTSHTTPClient.

Regarding keeping the client around for longer I don't think this is a huge priority. If we are supplying it with an eventLoopGroup (which we are) the initialisation/destruction is super basic and takes no time at all. Also if this is something desired I think we can cover this in a separate PR.
We have an HTTPClient that works with NIOTS why do we need a new one?

Ok not sure the client protocol with associated types would work. Can't pass around references to the HTTPClientProtocol (as it has associated types) and it doesn't seem possible to call functions from some HTTPClientProtocol with its associated types.

Regarding the NIOTSHTTPClient which takes AsyncHTTPClient Request structures and generates AsyncHTTPClient response structures. I guess you could take the current HTTPClient and fix up the HTTPClientRequestSerializer and HTTPClientResponseHandler.
Not sure I want to tie myself to the AsyncHTTPClient structures though. Would prefer to hide them behind protocols. Whats to say the HTTPClient needs replaced again a few years down the line.
One thing for sure that could be done is reducing our current HTTPClient down to NIOTS only. It is unnecessary to support NIOSSL as we are using AsyncHTTPClient for those situations.

Not sure I want to tie myself to the AsyncHTTPClient structures though. Would prefer to hide them behind protocols. Whats to say the HTTPClient needs replaced again a few years down the line.

Highly unlikely but I think that's a fair point.
What do you think about the following.
struct AWSRequest {
  let headers: [String: String] // incl. signed headers
  let body: ByteBuffer
}

struct AWSResponse {
  let headers: [String: String]
  let body: ByteBuffer
}

// create a protocol that has no type constraints. Therefore can be used as is.
protocol AWSHTTPClient {
  func execute(request: AWSRequest, eventLoop: EventLoopPreference, deadline: NIODeadline? = nil) -> EventLoopFuture<AWSResponse>
  func syncShutdown() throws
}

// already conforms to this
extension AsyncHTTPClient.HTTPClient: AWSHTTPClient {

  func execute(request: AWSRequest, eventLoop: EventLoopPreference, deadline: NIODeadline? = nil) -> EventLoopFuture<AWSResponse>
  {
    let nioRequest = request.toNIORequest()
    return self.execute(request: nioRequest, eventLoop: eventLoop, deadline: deadline)
      .map() { return $0.toAWSResponse }
  }

}

#if canImport(Networking)
class NIOTSHTTPClient: AWSHTTPClient {
  // reimplementation based on the protocol. Probably could be
  // ton's of copy and paste from the AsyncHTTPClient just based
  // on the NIOTLSBootstrap
}
#endif

class AWSClient {
  ...
  // can be used on every request. or later once at client init.
  private func createHTTPClient(for group: EventLoopGroup) -> AWSHTTPClient {

  }
  ...
}

This way we could use a protocol that doesn't need associated types and we do have clear level of separation.

One thing for sure that could be done is reducing our current HTTPClient down to NIOTS only. It is unnecessary to support NIOSSL as we are using AsyncHTTPClient for those situations.

I love that!

Protocol could probably work. I don't mind using NIO structures in the protocol, also request would need a method so could be
struct AWSRequest {
  let method: HTTPMethod
  let headers: HTTPHeaders // incl. signed headers
  let body: ByteBuffer
}

I'm gonna reduce AWSHTTPClient down to NIOTS first and rename it to indicate it's usage. Then we can look at this.

Regarding keeping the client around for longer I don't think this is a huge priority. If we are supplying it with an eventLoopGroup (which we are) the initialisation/destruction is super basic and takes no time at all.

This is true for the time being. Right now the performance benefit would be just saving the malloc. But we need to consider the environment in which we want aws-sdk-swift to be used. If the sdk is used on a server that runs 10k req per second and each request has to make two request two DynamoDB to serve some data, this is 20k mallocs each second.
If we then consider the performance gains through connection pooling that is currently being implemented in the AsyncHTTPClient we compare 20k new TLS Handshakes vs. basically none since the open connections are reused over and over again. I think we look at potentially huge performance gains in this regard.
Also if this library is used on mobile the same performance gains apply, which could lead to better battery life and so on and so forth.

Also if this is something desired I think we can cover this in a separate PR.

Yes, I am super in favour of this. I just wanted to make sure, that we don't make future refactoring harder than it needs to be.

Yes, I am super in favour of this. I just wanted to make sure, that we don't make future refactoring harder than it needs to be.
We can keep that in mind

I really, really like where this is going!

I think this PR is ready to merge. Guys can I get a review.

@adam-fowler would you mind committing your AWSSigner library into this pr?
A couple of changes I would propose to the AWSSigner lib.

Naming. I think a Credential should be a protocol that have the properties accessKeyId, accessKeyId, secretAccessKey. An implementation of this could be a StaticCredential.

Credentials should be injected into the signer at every request. Therefore the signer becomes stateless and can stay as a property on the AWSClient for the complete lifecycle.

The changes are already implemented here with the tests also running:
https://github.com/adam-fowler/aws-signer/pull/2/files

I like the shortcut you propose at https://github.com/swift-aws/aws-sdk-swift-core/pull/160#issuecomment-562098040.
Though I would like to underline a couple of naming conventions, that I really would like to see:

Something that serves/gives a Credential is a CredentialProvider. I stay away as far as possible from names with Future in it. For me Futures are always typealiases to some EventLoopFuture.

/// Protocol for providing credential details for accessing AWS services
public protocol CredentialProvider {
    func getCredential() -> EventLoopFuture<Credential>
}

Separating CredentialProvider and Signing

Once you have your credential you can then create an AWSSigner with that and sign your request. I'm not a bug fan of the splitting of AWSSigner into credential data and the code that uses that credential data.

Why are you not a big fan of this? I'm pretty sure the CredentialProvider part of this is nowhere reusable. The AWSSigner part is (that's why I would try to keep it as NIO free as possible). I basically have the same implementation in a couple of iOS projects that need to sign requests against APIGateway. Using a protocol to inject the Credential makes it super easy for a consumer to use it. The AWSClients task is then to put the pieces together. IMHO this a super clear separation of concerns.

Initializing the CredentialProvider in the init and keeping it as a property for the complete lifetime of the AWSClient.

@adam-fowler would you mind committing your AWSSigner library into this pr?
A couple of changes I would propose to the AWSSigner lib.
1. Naming. I think a `Credential` should be a protocol that have the properties `accessKeyId`, `accessKeyId`, `secretAccessKey`. An implementation of this could be a `StaticCredential`.

2. Credentials should be injected into the signer at every request. Therefore the signer becomes stateless and can stay as a property on the `AWSClient` for the complete lifecycle.

The changes are already implemented here with the tests also running:
https://github.com/adam-fowler/aws-signer/pull/2/files

I'm just in the process of doing this. While I'm not that bothered about the naming. Not so sure about the second point. The signer doesn't become stateless as it still has the signing name and region. I'd prefer we just create a new signer, with each request. It seems a little cleaner.

I'd prefer we just create a new signer, with each request. It seems a little cleaner.

If we make it a struct I'm all for it! There is no need for the signer to be a class.

If we make it a struct I'm all for it! There is no need for the signer to be a class.
It was a class because of previous requirements which are not valid anymore


Detr module doesn't work out of the box

There are a variety of issues with the code suggested in the README of the detr baseline. Some of these are resolvable, but it feels like this should be updated accordingly. I haven't yet gotten the detr implementation to train successfully, so I'm not able to make a pull request yet. Would someone be able to assist in getting a minimal version up and running?
Here the changes I've made thus far to get rid of errors.

flax needs to be set to version 0.5.3, so flax.optim is available. (Probably it should be updated to work with optax).
There is no call to builder.download_and_prepare in scenic/projects/baselines/detr/input_pipeline_detection.py (line 169), so the coco dataset isn't downloaded.
By default, the scenic package looks for a file instances_val2017.json in the package installation directory itself, rather than allowing the user to specify it. This becomes a bit annoying if you pip install as the README on the scenic github suggests. I think this could be fixed by adding a keyword argument annotations_loc in the call to DetrGlobalEvaluator (line 418 in trainer.py), maybe by adding annotations_loc to the config file? Either way, it would be ideal if scenic just automatically downloaded the annotations file, since right now it isn't specified anywhere.
The training loop asks for a meta_data property, but doesn't provide it. I think this is because this version of the project is still dependent on train_lib_deprecated; switching to train_lib seems to solve this.
The compilation of the module pmap_train_step takes a very long time, and eventually just gets killed.

As a general comment, it feels like the detr codebase has a lot of internal dependencies within scenic that lead to breaking changes. I think it would be helpful if there was a minimal file just to get spun up (perhaps getting rid of a lot of the training loop logic, since that seems to be where a lot of the errors arise and I think most people looking to extend would write custom training loops anyway). If someone can help me just get a basic version running I'd love to make the changes + do a pull request.

Thank you @rdilip for your feedback and for listing all the issues. We are aware of almost all these and planning to fix them up, but it'll take some time (hopefully these will be fixed before end of the year). In the meantime, we open-sourced the Deformable DETR, in which many of these issues are resolved.
I'll keep this issue open and will ping back when these are fixed.
Thanks again for using scenic and  to care enough to spend time and write detailed comment for us.

@MostafaDehghani Do you accept community PR contributions for this?


Turkish characters support!

This is a great utility. I use it with my British keyboard. Only missing character for Turkish is "Ş" or "ş". If you can add these characters to "S" or "s" it will be compatible with Turkish alphabet. Thanks in advance.

Hello, thanks :)
Is this "ş" is the only Turkish character you are using there?
I plan to add settings by country. So I can add all Turkish characters in the same time.

Thanks for replying back. Here is the all Turkish characters.
I hope it helps.
ğ, Ğ, ç, Ç, ş, Ş, ü, Ü, ö, Ö, ı, İ

Thank you! good to know. I will integrate them and let you know when the release is done :)

I appreciate it. Thank you very much

Development still ongoing. For now it will look like that:

You will be able to choose the country, (here Turkish alphabet is selected), more will come for the next release.

Wow it looks great. I believe your app is now integrated with Powertoys if i am not wrong.

Yes, release of PowerToys is live, an the tool in known in Powertoys as "Quick Accent".

Release there:
https://github.com/damienleroy/PowerAccent/releases/tag/1.3.0


SMTP not working

Maybe need to update Laravel

It's working with a recent dev-version for me. I also ran composer.

Strange, there weren't changes there. Did you run composer update? Maybe something updated which fixed a bug. The Laravel, etc, versions are quite behind

That's interesting. I only ran composer install after drap & drop and overwrite the files on my webroot.


Allow .uv.toml

Like for most of the tools out there, ruff included, would it be possible to allow the configuration file to be prefixed with .: .uv.toml?

uv already supports uv.toml. Besides, you can also specify options in the [tool.uv.*] sections in pyproject.toml
Relevant docs here: https://docs.astral.sh/uv/configuration/files/

uv already supports uv.toml. Besides, you can also specify options in the [tool.uv.*] sections in pyproject.toml Relevant docs here: https://docs.astral.sh/uv/configuration/files/

I know uv supports uv.toml, like ruff supports ruff.toml: I'd also like uv to support .uv.toml like ruff supports .ruff.toml.


Check Ignition Engine Version

I am using Flatcar AMI to launch instance.
How can I check ignition engine version and schema version supported

Hello,
good question. On https://www.flatcar-linux.org/releases/ you can find which Ignition release is in which channel. We have 0.34.0 everywhere now. You can see the supported specifications here: https://coreos.com/ignition/docs/0.34.0/index.html There you can find that 0.2.3 is the highest supported schema version for 0.34.0 but 0.2.4 available in experimental mode.
(For example, if you change the Ignition version in the selector on that web page to 0.35.0 you would see that 0.2.4 is supported officially there.)
P.S.: The overview of latest official AMIs is always here: https://docs.flatcar-linux.org/os/booting-on-ec2/

I want to know Ignition engine and schema details for AMI version 2303

As said, we currently have Ignition 0.34.0 (https://coreos.com/ignition/docs/0.34.0/index.html) and the highest specification version you can use is v2.3.0, but v2.2.0, v2.1.0, and v2.0.0 are also available.
In case you want to use an AMI for an older Flatcar version then for example in Ignition 0.33.0 the same versions are available. Yet, as the instances will be updated directly anyway, I recommend that you use the current Stable AMIs which you can find on the given link (https://docs.flatcar-linux.org/os/booting-on-ec2/).
You can either use the Ignition JSON format or use the config transpiler (cat cl-config.yaml | docker run --rm -i quay.io/coreos/ct:latest-dev > ignition.json) to generate an Ignition config from a Container Linux Config (see https://docs.flatcar-linux.org/os/provisioning/ and https://docs.flatcar-linux.org/container-linux-config-transpiler/doc/overview/)

By the way, if you write the JSON by hand, I recommend you to validate it before you try to use it: https://coreos.com/validate/


juju config oidc-gatekeeper client-secret returns an empty string

It should not return an empty string - rather it should return the client-secret value.

Reasons behind this are discussed in canonical/minio-operator#35.  Whatever action is taken there can be taken here as well

Closing as this will not be implemented.  If you need to reuse the password outside of the charm, for now the recommendation is to set the password yourself via config (juju config charmname client-secret=xxx) and then you can use it however you like (including pull it back out again with juju config)


ocamlPackages.rpclib: init at 5.9.0

Motivation for this change
Add rpclib: A library to deal with RPCs in OCaml.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

I believe the minimumOCamlVersion should be 4.04, according to the https://github.com/mirage/ocaml-rpc/blob/2525190d7c95c4ad19f90e0d90796a59fa320847/rpclib.opam#L24

@GrahamcOfBorg build ocamlPackages.rpclib


Clean up unused methods and classes

Utilities:

Move FindMotif to a SequenceUtilities class

Misc:

Retire Maps class
Retire FastaSequence class

1bb37a8ac6aa668f07e14f4ae52482808bbfb871


[Summer of code] Record haconnection's lastCaughtUpTimeMs in haService's map

Make sure set the target branch to develop
What is the purpose of the change
tracking issue: https://github.com/apache/rocketmq/issues/4330
Brief changelog
Record haconnection's lastCaughtUpTimeMs in haService's map
Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Failed tests:
AutoSwitchRoleIntegrationTest.testCheckSyncStateSet:117 expected:<1> but was:<2>


Change postgres disk mountpoint

This will allow us to upgrade postgresql versions more easily by creating the new data directory next to the old one on the same volume.
This will allow us to mount the volume at the new path (e.g. /var/opt/rh/rh-postgresql95/lib/pgsql) while also having separate data directories for the upgrade and allowing us to use hardlinks to perform the upgrade to save space on the disk.
@jrafanie please review
/cc @gtanzillo @Fryguy

LGTM, just confirm when the 3 are ready to go

Merged based on https://github.com/ManageIQ/manageiq/pull/11597#issuecomment-250793985

Euwe Backport details:
$ git log
commit 152dd4845a80c0d8ddede6d4f3b47428552e5812
Author: Joe Rafaniello<EMAIL_ADDRESS>Date:   Fri Sep 30 13:19:32 2016 -0400

    Merge pull request #165 from carbonin/move_the_postgresql_mountpoint_up

    Change postgres disk mountpoint
    (cherry picked from commit 1f8fa5fbaf79d00cccec7c42034a2e0f54a1d8e9)


Fix occurance

Fix or rename as now it can be > 100% like for https://data.gov.cz/sparql

I'm not really sure how to handle this. In this case there are on average >17 labels for each entity.
Maybe rename to "Prevalence" or "Frequency"?


CFList Type 1 has wrong endianness

It looks like the 16-bit channel mask values in the CFList my devices are receiving in US915 are not in little-endian format as required by the LoRaWAN specification:
PDU (enc): 20 3B42 5A36CF59 1606D739 A4 8E 75F7A66EFB3F2144F46FE5BBE31375B8 AF176C59
PDU (dec): 20 D35E C4486532 4C000048 08 00 FF000000000000000000000000000001 546D3D38

Join accept:
{'AppNonce': 12869331,
 'CFList': {'chmask': 'FF0000000000000000000000000000', 'type': 1},
 'DLSettings': 8,
 'DevAddr':<PHONE_NUMBER>,
 'MHdr': 32,
 'MIC': 943549780,
 'NetID': 3302728,
 'RxDelay': 0,
 'statusMIC': True}

ChMask0 is thus FF00 i.e. 0x00FF, enabling channels 0-7 and leaving the Helium channels of 8-15 disabled.

And there seems to be no channel 65 ( 904.6 MHz / SF8 / BW500 )

And there seems to be no channel 65 ( 904.6 MHz / SF8 / BW500 )

Yes, that is correct. Not sure if that's intentional, but at least it's the same as is done via the LinkAdrReq command:
FOpts  : x0310000070031000FF00
         LinkADRReq<x03 u1(TXPow:0-3=0,DR:4-7=1) u2(ChMask:0-15=x0) u1(NbTrans:0-3=0,ChMaskCntl:4-6=7,RFU:7=0)>
         LinkADRReq<x03 u1(TXPow:0-3=0,DR:4-7=1) u2(ChMask:0-15=xFF00) u1(NbTrans:0-3=0,ChMaskCntl:4-6=0,RFU:7=0)>

The first command disables all channels (0-71), and the second enables channels 8-15.

@mkuyper
LinkADRReq controls datarate, CFList doesn't.
The sample you provided sets DR1, so there's no need in channel 65.

@mkuyper  Can you please point me to the paragraph in LoRaWAN spec or regional settings doc which prohibits disabling the channels you don't need right now and in the foreseeable future? In US in most cases you cannot disable all 125 KHz channels as they shall be used for data rate back-off, but DR4 never can be DRNext.

@pvolodin I fear that we are getting way off topic here in this issue, but the intention of the channel mask is to convey to the device all possible channels that can be used for uplink. There is nothing in the specification that forbids the LNS to dynamically enable and disable channels, but it limits the device's choices. In US915, if no 500 kHz channels are enabled, the device won't be able to transmit on DR4. Recall that a device is allowed at any time to make its own decision regarding datarate, and whether it wants to participate in ADR. For this to work meaningfully, the device needs to know the networks full capabilities. In general, the channels masks provided in the CFList and ones sent down in LinkAdrReq commands should match.

...Not sure if that's intentional,...
...
The first command disables all channels (0-71), and the second enables channels 8-15.

A comment I foind in the sources:

%% Region-specific Data Rate encoding table.
%%
%% TODO: bandwidth is not currently used because we're artificially
%%       filtering the regional parameters for only 125kHz channels. Does
%%       this make sense?

So probably that's really intentional.

Thanks for the report.
The code and logs you posted appear correct.  The CFList array is displayed byte by byte.  Therefore the 2-byte chmask for channels 8-15 should be the most signficant bits and display as FF00.
Later you display a log of the mask: ChMask:0-15=xFF00, which is also a correct value.
I manually tested the code which computes the ChMask

Chans = [{8, 15}],
ChMaskTable = [
    {2, mask, build_bin(Chans, {0, 15})},

This is computing the value 65,280 or 0xFF00 which is also correctly setting channels 8 to 15.
Are you not observing your device sending data on channels 8 to 15 between 903.9 and 905.3 MHz?
We'll investigate further if you believe this is not the case.

The code and logs you posted appear correct. The CFList array is displayed byte by byte. Therefore the 2-byte chmask for channels 8-15 should be the most signficant bits and display as FF00.

No, the CFList is not correct. It is true that the channel mask value for ChMask0 should be 0xFF00, but the correct little-endian representation of that value is 00FF.

Later you display a log of the mask: ChMask:0-15=xFF00, which is also a correct value.
That is the value that is sent down later in LinkAdrReq commands, which is correct.

Are you not observing your device sending data on channels 8 to 15 between 903.9 and 905.3 MHz?
No, my device is sending on channels 0-7. I will personally vouch for the correctness of the device's behavior :wink:

@mikev

The code and logs you posted appear correct.

let's take another look at the logs @mkuyper provided:

'CFList': {'chmask': 'FF0000000000000000000000000000', 'type': 1},

and

FOpts  : x0310000070031000FF00

One of the masks marked with bold is incorrect, right?

Fix will be deployed with release 66.5

@mikev Thank you for tackling this issue. The CFList is now correct for devices on the staging console, but now the channel mask sent down in LinkADRReq commands has the wrong endianness (it was correct before):
PDU    : 600A0800488A010003000000700300FF000032B8A5CB

MHdr   : x60 DADN RFU:0 MAJOR:0
DevAddr: x4800080A/1207961610
FCtrl  : x8A ADREN:1 ADRARQ:0 ACK:0 MORE:0 OPTLEN=10
FCnt   : x0001/1
FOpts  : x03000000700300FF0000
         LinkADRReq<x03 u1(TXPow:0-3=0,DR:4-7=0) u2(ChMask:0-15=x0) u1(NbTrans:0-3=0,ChMaskCntl:4-6=7,RFU:7=0)>
         LinkADRReq<x03 u1(TXPow:0-3=0,DR:4-7=0) u2(ChMask:0-15=xFF) u1(NbTrans:0-3=0,ChMaskCntl:4-6=0,RFU:7=0)>
FPort  : ---/---
FRMPayl: --
MIC    : xCBA5B832/-878331854

This will have a huge impact on US915 devices if this hits production. This seems pretty critical to me, should I open a new issue for this?

We are going to revert this change.  Our own hardware testing on stage shows this change causes incorrect behavior for both the Join and the LInkADDR reply.
Join Reply
CFList: Some([Frequency([0, ff, 0]), Frequency([0, 0, 0]), Frequency([0, 0, 0]), Frequency([0, 0, 0]), Frequency([0, 0, 0])])
LinkADDRReq Reply
LinkADRReq(LinkADRReqPayload([0, 0, 0, 70]))    LinkADRReq(LinkADRReqPayload([0, ff, 0, 0])) (edited)
Both should be 0xFF00
@mkuyper - Is it possible that your end-device is incorrectly parsing the CFList on the Join reply?  If you look at SemTech's reference implementaiton you'll note that a big-endian device must swap the bytes.  Here is the C code from SemTech's reference implementation:
    // Parse ChMask
    linkAdrParams->ChMask = ( uint16_t )payload[2];
    linkAdrParams->ChMask |= ( uint16_t )payload[3] << 8;

Our own hardware testing on stage shows this change causes incorrect behavior for both the Join and the LInkADDR reply.

Hmm, that's strange. But not necessarily surprising; there are a few borked stacks out there. What implementation are you testing with?

Is it possible that your end-device is incorrectly parsing the CFList on the Join reply? If you look at SemTech's reference implementaiton you'll note that a big-endian device must swap the bytes.

No, that's highly unlikely. I am using Basic MAC, the LMiC/TrackMAC successor which has successfully passed the LoRaWAN certification test suite in US915, and I have also manually parsed out the PDUs to verify. But here's the code from Semtech's LoRaMAC-Node that processes the CFList:
https://github.com/Lora-net/LoRaMac-node/blob/edff6ce161773e888687a9cd352ce2e2234e6b0d/src/mac/region/RegionUS915.c#L452-L453
        RegionNvmGroup2->ChannelsMask[chMaskItr] = (uint16_t) (0x00FF & applyCFList->Payload[cntPayload]);
        RegionNvmGroup2->ChannelsMask[chMaskItr] |= (uint16_t) (applyCFList->Payload[cntPayload+1] << 8);

As can be seen, the 16-bit mask is being read in little-endian order, i.e. the mask for channels 0-7 would be at offset cntPayload, and the mask for channels 8-15 would be at offset cntPayload+1.

@mkuyper - We have put a possible fix for the join problem on stage.  Can you test your end-device against staging again?
If this fixes your problem, we'll go ahead and push a commit to fix this.

@mikev Yes, it works now! :tada:
Device Log:
[2021-12-20 19:38:26] lwm: TXSTART
[2021-12-20 19:38:26] TX[fcnt=-1,freq=904.7,sf=10,bw=125,pow=30,len=23]:<PHONE_NUMBER>BBFFFFFF4101052BAAFFFFFF170D847A7415
[2021-12-20 19:38:26] lwm: TXDONE
[2021-12-20 19:38:31] RX[freq=925.7,sf=10,bw=500,rssi=-76,snr=7.00,len=33]: 20B5F20F87EF3DC5D9553C8629129DDEBC04ACC85F33FFA1CC6960CFD9D9E493E7
[2021-12-20 19:38:31] channel mask: ________ XXXXXXXX ________ ________ ________ ________ ________ ________ ________
[2021-12-20 19:38:31] lwm: JOINED
[2021-12-20 19:38:31] lwm: TXSTART
[2021-12-20 19:38:31] TX[fcnt=0,freq=905.3,sf=10,bw=125,pow=21,len=18]:<PHONE_NUMBER>8000000F59602153B6A0B80D23
[2021-12-20 19:38:32] lwm: TXDONE
[2021-12-20 19:38:33] RX[freq=927.5,sf=10,bw=500,rssi=-85,snr=7.50,len=22]:<PHONE_NUMBER>8A00000300000070030000FF0087A3172C
[2021-12-20 19:38:33] lwm: DATARATE
[2021-12-20 19:38:33] channel mask: ________ XXXXXXXX ________ ________ ________ ________ ________ ________ ________
[2021-12-20 19:38:33] lwm: TXCOMPLETE

Join Accept:
PDU: 20B5F20F87EF3DC5D9553C8629129DDEBC04ACC85F33FFA1CC6960CFD9D9E493E7

Join accept:
{'AppNonce': 12909039,
 'CFList': {'chmask': '00FF00000000000000000000000000', 'type': 1},
 'DLSettings': 8,
 'DevAddr':<PHONE_NUMBER>,
 'MHdr': 32,
 'MIC': -1364451544,
 'NetID': 3302728,
 'RxDelay': 1,
 'statusMIC': True}

LinkAdrReq MAC command:
PDU:<PHONE_NUMBER>8A00000300000070030000FF0087A3172C

MHdr   : x60 DADN RFU:0 MAJOR:0
DevAddr: x48000808/1207961608
FCtrl  : x8A ADREN:1 ADRARQ:0 ACK:0 MORE:0 OPTLEN=10
FCnt   : x0000/0
FOpts  : x0300000070030000FF00
         LinkADRReq<x03 u1(TXPow:0-3=0,DR:4-7=0) u2(ChMask:0-15=x0) u1(NbTrans:0-3=0,ChMaskCntl:4-6=7,RFU:7=0)>
         LinkADRReq<x03 u1(TXPow:0-3=0,DR:4-7=0) u2(ChMask:0-15=xFF00) u1(NbTrans:0-3=0,ChMaskCntl:4-6=0,RFU:7=0)>
FPort  : ---/---
FRMPayl: --
MIC    : x2C17A387/739746695

Thank you again!

@mkuyper - Excellent - that is good news.
The fix is here - https://github.com/helium/router/pull/555/files
We should be able to deploy this fix in this release.

Close Summary
Helium was returning an incorrectly encoded cflist (which includes chmask values) on the Join reply.  This issue was masked because we had implemented a work-around which also returned an empty list, i.e. multiple replies were returned for Join.
The work-around still exists and we'll remove it in another release, after we're sure this fix doesn't break any end-devices.

workaround #556


docs: chapter 00 to PT

Configuração do ambiente.

Hi Victor! Thank you for the translation for issue #51! Since this is the first PR for Portuguese 🥳, could you please move your translation to a new pt folder (you can create it) inside the chapters folder of this repo?

Hi Victor! Thank you for the translation for issue #51! Since this is the first PR for Portuguese 🥳, could you please move your translation to a new pt folder (you can create it) inside the chapters folder of this repo?

Sure I can!


feat(9): optimised the robot file & added sitemap & metadata for the …

Optimised the robot file and added sitemap and added metadata for the website

@Vlas-Pravsha please resolve the git conflicts with the 5-make-website-layout branch


Allow examples to run locally

When trying to run the Rocket Postgres and URL Shortener examples locally, they fail due to a compilation error:
error[E0433]: failed to resolve: use of undeclared crate or module `shared`
  --> src/lib.rs:52:19
   |
52 | async fn rocket(#[shared::Postgres] pool: PgPool) -> shuttle_service::ShuttleRocket {
   |                   ^^^^^^ use of undeclared crate or module `shared`

I tried to fix it with this PR https://github.com/shuttle-hq/shuttle/pull/249, but when the CI ran, it gave me the following error here:
error: resource needs an attribute configuration

 = help: Try adding a config like `#[shared::Postgres]`

 --> src/lib.rs:52:17
   |
52 | async fn rocket(pool: PgPool) -> shuttle_service::ShuttleRocket {
   |                 ^^^^

I have struggled to find documentation on this error and this annotation, so it has been difficult to try to make a fix for  this.

This annotation is for the new release which was finally released this morning :tada:
You should no longer getting this error after updating using:
cargo install cargo-shuttle

Would you mind confirming if the update fixes it?

Just tested and it looks like it's working great now!
It might make sense to link to the example code for the latest released version of cargo-shuttle rather than main, to avoid similar confusion for first-time users in the future.


Fixed error in automate simulation

Fixed bug causing
[----] F, [2015-03-05T12:06:00.786179 #18188:3fa7486e7e98] FATAL -- : Error caught: [NoMethodError] undefined method `last' for nil:NilClass /home/rblanco/manageiq/vmdb/app/controllers/application_controller/automate.rb:110:in `resolve_button_simulate' /home/rblanco/manageiq/vmdb/app/controllers/application_controller/automate.rb:160:in `resolve'
error after performing steps described in #2002

@akarol : please, verify, confirm


Cleanup

some pretty minor changes I noticed while working on redux-mouse

Im going to bump the version number and then publish


Retry Elide use of M4 within the Go build process

This is a retry of #6 to see if we just need another PR with another branch

This is not needed, as #6 is working.