Implemented K8s patch version masking in the registry matrix of the Installer

What this PR does / why we need it:
Implements masking of patch versions of K8s (e.g.: 1.22.*)
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #411
Additional information
The way it works is the same as the OS version patch (e.g.: Ubuntu_20.04.*). It adds a filter to the patch version witch masks any version number.

Codecov Report

Merging #430 (54f3117) into main (ecdbe20) will increase coverage by 0.26%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #430      +/-   ##
==========================================
+ Coverage   67.97%   68.23%   +0.26%
==========================================
  Files          23       23
  Lines        1705     1719      +14
==========================================
+ Hits         1159     1173      +14
  Misses        474      474
  Partials       72       72

Impacted Files
Coverage Δ

agent/installer/installer.go
77.43% <100.00%> (+0.56%)
:arrow_up:

agent/installer/registry.go
100.00% <100.00%> (ø)

I removed the hardcoded K8s version in the addBundleInstaller(); Also I refactored the K8s map to an array of filters. Updated the e2e tests as well.
I however have the feeling that my implementation is not good.
The addBundleInstaller() introduces a new argument which is the k8s version -- whenever it is empty it defaults to v1.22.3. I really don't like that and I will need your input for better implementation that will conform the usage of the API by the rest of the TKG components.
I'm very open for comments and opinions.


[BetterMouseYoke]Cannot work on FFA320(V1.4&V1.5)

I tried use this plugin on my FFA320 aircraft, it cannot work no matter ground or air, could i use old version? or another repair method？ thanks.

The BetterMouseYoke FlyWithLua edition maybe can fix this issue, please download and de-compress this lua file and put it into "./Resources/plugins//FlyWithLua/Script" folder. then open the game and setting BetterMouseYoke hotkeys in setting-keyboard menu.
BetterMouseYoke.zip


createflaskapp.config does not exists.

Hi!
I'm 'husudosu' from Reddit r/flask. After cloning your project I tried to start the migration procedure  but  config.py file missing by default. I'd suggest using creating config.py by default on the package and maybe use a class-based Config.
I imagine something like this:
# This is config.py

# In my opinion better practice to use .env files instead requiring users/developers to edit .py files before starting out with a project.
# you could load environment file based on FLASK_DEBUG environment variable. If FLASK_DEBUG not present on the system, it means we running on production config.
# dotenv is a 3rd party lib https://pypi.org/project/python-dotenv/
from dotenv import load_dotenv

if os.environ.get("FLASK_DEBUG") == 1:
    load_dotenv("development.env")
else:
    load_dotenv("production.env")

class Config:
    SQLALCHEMY_DATABASE_URI = os.environ.get("SQLALCHEMY_DATABASE_URI")
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SECRET_KEY = os.environ.get("SECRET_KEY")
    # Other options...

# createflaskapp.__init__.py
# You import Config class and

app.config.from_object(Config)

# And you don't need to set SECRET_KEY, DATABASE URI or other options on your __init__.py.

Note: This implementation only a draft, so this is not the full code. I'm using pattern like this on my production projects.

Hey, thanks for pointing this out.
I thought about it before posting on Reddit but forgot to remove it. It's clear that you should only use some config file or the environmental files. I currently removed the necessity of the config file with the latest commit so it works on the go.
Please do another pull now and let me know.


Fix for Issue #580 [Angular] Javascript error when moving items between two lists very fast #683

Sometimes evt.from is different from evt.item.parentNode because the item has been moved already so using evt.item.nextSibling won't work when doing evt.from.insertBefore, because nextSibling is not a child of evt.from.
So in those cases we use evt.clone.nextSibling instead.

Ok.


I wish ignores could be regexp

There are a few places in the config file (ignore_files and ignore_folders) that accept literal names.  Sometimes I wish they could be regexp patterns instead so that you can keep ancillary folders in the dir structure and have them hidden systematically.

Not a bad idea, the only thing is that the more regex, the bigger impact on performance.  So it needs to be done carefully...
For example, the ignore_files is currently handled like this:
                // Update the last modified if it's newer than already found
                if (!in_array($file->getBasename(), $this->ignore_files) && ($modified = $file->getMTime()) > $last_modified) {
                    $last_modified = $modified;
                }

So to use regex, it will get a lot more messy with another internal loop.


Rename default branch from "master" to "main"

Is your feature request related to a problem? Please describe.
Rename default branch from master to main, on the git repo level as well as references in code and documentation.
Additional context
adobe/helix-home#140

:tada: This issue has been resolved in version 1.8.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[multistage] explain plan to visualization

support printing out plan visualization in dot writer format (for GraphViz tools)

Codecov Report

Merging #9280 (2f7a9fc) into master (88bb40c) will decrease coverage by 4.82%.
The diff coverage is 52.94%.

@@             Coverage Diff              @@
##             master    #9280      +/-   ##
============================================
- Coverage     68.42%   63.59%   -4.83%
+ Complexity     5016     4993      -23
============================================
  Files          1864     1813      -51
  Lines         99469    97291    -2178
  Branches      15133    14886     -247
============================================
- Hits          68060    61873    -6187
- Misses        26560    30846    +4286
+ Partials       4849     4572     -277

Flag
Coverage Δ

integration2
?

unittests1
67.12% <81.81%> (+0.03%)
:arrow_up:

unittests2
15.31% <52.94%> (+0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

...requesthandler/MultiStageBrokerRequestHandler.java
0.00% <0.00%> (ø)

.../java/org/apache/pinot/query/QueryEnvironment.java
82.75% <80.00%> (-5.00%)
:arrow_down:

...a/org/apache/pinot/query/planner/PlannerUtils.java
90.47% <100.00%> (+1.00%)
:arrow_up:

...va/org/apache/pinot/core/routing/RoutingTable.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...va/org/apache/pinot/common/config/NettyConfig.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...a/org/apache/pinot/common/metrics/MinionMeter.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...g/apache/pinot/common/metrics/ControllerMeter.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../apache/pinot/common/metrics/BrokerQueryPhase.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../apache/pinot/common/metrics/MinionQueryPhase.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ache/pinot/server/access/AccessControlFactory.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 371 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


update_chroot: Avoid a portage crash while upgrading binutils

This omits the toolchain packages' version-pinning flag for the binutils package while it is being upgraded.  It also removes older versions installed in parallel that cause unwanted rebuilds.
When stable has the upgraded version, this can be reverted.
Part of coreos/portage-stable#586.

Including this, I end up running into:

This worked in Jenkins builds, I haven't tried it locally for a while.

Turns out it was my amd64-usr copy of binutils it was complaining about. After manually depcleaning that, this seems to work fine.


Propagated trace ID changed unexpectedly

Bug description
I have two applications (namely A & B) running on the namespace. The request flow would be like below
Client -> Istio ingressgateway -> App A -> App B
A trace ID would be generated by the ingressgateway, both A, B are instrumented to propagate tracing headers.
However, I have met the situation that the trace id is modified when pass on to app B.
The logs of both application are as below
App A logs
Route /send
request header { host: '<IP_ADDRESS>',
  'cache-control': 'max-age=0',
  'upgrade-insecure-requests': '1',
  'user-agent':
   'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36',
  accept:
   'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
  'accept-encoding': 'gzip, deflate',
  'accept-language': 'zh-HK,zh-TW;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6',
  'if-none-match': 'W/"16-AyckYgrkAeF1fMc1+tTxlLJ8Of8"',
  'x-forwarded-for': '<IP_ADDRESS>',
  'x-forwarded-proto': 'http',
  'x-request-id': '253a8939-661e-97f1-80c5-e0bd81d2a57f',
  'content-length': '0',
  'x-envoy-internal': 'true',
  'x-b3-traceid': 'b551dcc09f045657e3ced8e9010ec440',
  'x-b3-spanid': 'de5bc54c53e7160c',
  'x-b3-parentspanid': 'e3ced8e9010ec440',
  'x-b3-sampled': '1' }
build header 1 { 'x-b3-traceid': 'b551dcc09f045657e3ced8e9010ec440',
  'x-b3-parentspanid': 'de5bc54c53e7160c',
  'x-b3-spanid': 'aabe57e21b9d6914',
  'x-b3-sampled': '1',
  'x-custom-tag': 'send' }

App B logs
receive header { host: 'node-app-b:3000',
  'x-forwarded-proto': 'http',
  'x-request-id': '2567e78f-c8e6-9081-b75e-a371d591a1ae',
  'content-length': '0',
  'x-b3-traceid': '39afe2c9b3726360563e3f897b1bf368',
  'x-b3-spanid': 'fdbc4ce0abc93537',
  'x-b3-parentspanid': '563e3f897b1bf368',
  'x-b3-sampled': '1' }
forward header { 'x-request-id': '2567e78f-c8e6-9081-b75e-a371d591a1ae',
  'x-b3-traceid': '39afe2c9b3726360563e3f897b1bf368',
  'x-b3-spanid': 'fdbc4ce0abc93537',
  'x-b3-parentspanid': '563e3f897b1bf368',
  'x-b3-sampled': '1' }

So you can see from the trace ID in header sent from ingressgateway is b551dcc09f045657e3ced8e9010ec440 (App A request header)
The trace ID in header sent to App B is also b551dcc09f045657e3ced8e9010ec440 (App A build header)
The trace ID in header sent from A to B has changed to 39afe2c9b3726360563e3f897b1bf368 (App B request header)
The app above are using with jaeger client.
I have also tried to use without instrumentation by just pass the span headers directly, but it doesn't have the issue.
Expected behavior
the trace id should be propagate properly
Steps to reproduce the bug
Version (include the output of istioctl version --remote and kubectl version and helm version if you used Helm)
istioctl output
client version: 1.4.2
control plane version: 1.4.2
data plane version: 1.3.0 (6 proxies), 1.4.2 (5 proxies)

kubectl version
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.1", GitCommit:"4485c6f18cee9a5d3c3b4e523bd27972b1b53892", GitTreeState:"clean", BuildDate:"2019-07-18T09:18:22Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"14+", GitVersion:"v1.14.8-aliyun.1", GitCommit:"51888f5", GitTreeState:"", BuildDate:"2019-10-16T08:29:13Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}

How was Istio installed?
Using helm with customization
Environment where bug was observed (cloud vendor, OS, etc)
Istio 1.4.2, Kubernetes 1.14.8

I have the same issue too! wanna know why....

Most likely proxy of App A generates a new trace id because it cannot find any trace context in the headers of App A -> App B call.

I have also tried to use without instrumentation by just pass the span headers directly

Do you mean you tried manually copy trace context headers (trace id, span id etc), and then app B could receive the same trace id? I have never use jaeger client, but seems like the jaeger client is not properly used to populate trace context for correlated calls.

Most likely proxy of App A generates a new trace id because it cannot find any trace context in the headers of App A -> App B call.

I have also tried to use without instrumentation by just pass the span headers directly

Do you mean you tried manually copy trace context headers (trace id, span id etc), and then app B could receive the same trace id? I have never use jaeger client, but seems like the jaeger client is not properly used to populate trace context for correlated calls.

Yes, I have tried another version of the program without using Jaeger client, which directly copy trace context header then app B can correctly receive the trace context.

@bianpengyuan
Without instrumentation, pass through header

Instrumented, using jaeger client

there would be an error showing invalid parent span id

So all the spans share the same trace id? istio proxy supposes to copy span id to the parent span id. Could you check whether the invalid parent span id is the same as node-app-a.default server span id? Anyway, it does not look like an istio issue. Most likely it is because jaeger client does not work along with istio proxy.

@kelvin-yue-scmp Seems like two different issues - in your original description you were showing that the trace id from service A was different to service B. However in the screenshots above it shows that service A and B are both reporting spans for the same trace id. So it looks like your originally described issue no longer exists.
In both trace views, with and without jaeger java client, it shows the same number of spans. So the most likely cause of the issue is that your jaeger java client instrumented app is creating spans within the app, but they are not being reported to the backend. So as these intermediate spans are not available in the backend, the full end to end trace cannot be represented in the UI.

@bianpengyuan @objectiser Thanks for the reply, have some inspiration for solving the issue.


feat: define topology on Lp for all p

This way we can talk about Dense etc without asking for 1 ≤ p.

[ ] depends on: #6819

There are many examples of spaces with a distance satisfying dist x z \le C (dist x y + dist y z) (or C * max (dist x y) (dist y z)), for which the very same construction would apply. Don't you think it would be worth making a general theory for these?

What are other examples (besides Lp and lp)? How should I call this typeclass?

Here is an example in a completely different setting. When you define the distance on the boundary of a hyperbolic group, it depends on a parameter epsilon. This is a genuine distance if epsilon is small enough, but for a general epsilon it is only a quasi-distance in the above sense. This is still enough to define a lot of things (Hausdorff measure and Hausdorff dimension, for instance).
On the wikipedia page https://en.wikipedia.org/wiki/Metric_space, these are called inframetrics but I don't think I had seen this name before.

I once intended to develop the theory of F-spaces as explained for instance in Kalton-Peck-Robert's book "An F-space sampler" (London Math Series 89). In particular, all $\ell^p$ and $L^p$ (for $0 < p \leq 1$) are F-spaces. Would it be reasonable to try to join forces? Some very minor advances we made with @hrmacbeth are in (Lean 3! and in) the branch https://github.com/leanprover-community/mathlib/tree/lp_p_le_one

What is the definition of an F-space? The Wikipedia says that it has to be a metric space, then says that $$L^{1/2}[0, 1]$$ is an F-space. Both can't be true.

What is the definition of an F-space? The Wikipedia says that it has to be a metric space, then says that L1/2[0,1] is an F-space. Both can't be true.

Why do you say so? Beware that in the definition, the metric is not required to be homogeneous, simply translation-invariant and satisfying the triangle inequality. The definition given by wikipedia considers the metric as part of the data, whereas Kalton-Peck-Robert say that  "A metrizable topological vector space (or metric linear space) is called an F-space if it is complete for an invariant metric (and hence for every invariant metric.)" (everything over $\mathbb{C}$ or $\mathbb{R}$). In particular, you can square the $L^{1/2}$-norm to obtain an equivalent topology (uniform structure, in fact), together with subadditivity, see for instance the section "When 0 < p < 1" in the Wikipedia page on Lp spaces.


Missing training and testing code on AG-ReID dataset under fastreid/data/dataset

Hello how did you train and test on the AG-ReID dataset? I didn't find from the open source code how you loaded the AG-ReID dataset and trained it. I tried to load it using the official AG-ReID loading code and the training results are quite different from what you have in your paper. Can you provide the dataset loading code? Thanks a lot!

May I ask if you have solved the above problem?

请问您使用的是AG-ReID的V1版本还是V2版本呢？


just including this in your project breaks things (if its not from hex)

Unchecked dependencies for environment dev:
* exthereumex (https://github.com/exthereum/ethereumex.git)
  could not find an app file at "_build/dev/lib/exthereumex/ebin/exthereumex.app". This may happen if the dependency was not yet compiled, or you specified the wrong application name in your deps, or the dependency indeed has no app file (then you can pass app: false as option)
** (Mix) Can't continue due to errors on dependencies

@vans163 what version of elixir do you use? everything works find on elixir 1.6.5
  defp deps do
    [
      # {:dep_from_hexpm, "~> 0.3.0"},
      {:ethereumex, git: "https://github.com/exthereum/ethereumex"}
    ]
  end

@ayrat555 1.6.6


Add styles to google tracking pixel

@k-macmillan @mjones-oddball This PR has been outstanding for a long while.  Should we merge or close?


Remove Cloud APIs

To reduce confusion, all Google Cloud APIs should be removed in favor of the library/classes in Google Cloud PHP

Resolved - we are not doing this across languages


Implement Discord functionality

Context
This application is a replacement for both minmatar.org, tools.minmatar.org, and auth.minmatar.org.
We are replacing the Discord integration from auth.minmatar.org. I've actually done this before with this library. We should be able to rip a lot of the code from there.
Recommended steps

Rip the major components of django discord connector and put them in the discord app (tasks, etc)
Set up a way to fetch discord groups from remote server
Set up celery to periodically update discord groups
Set up signals.py to apply discord groups immediately when a group is assigned / removed

Additional libraries

Django Discord Connector

Completed


Make local tests pass

At least in my development environment, some tests (~3) won't pass.

Not relevant or documented.


Jade templates (or others) support

There is any way to support Jade templates (or others)? I used to extend gulpfile with a task from previously version of ionic, but now better if it can be done with this tool

You should be able to use you're own rollup config, and add a rollup jade plugin to it: https://github.com/rollup/rollup/wiki/Plugins
However, this is not something we'll be supporting out of the box with Ionic. Thanks

Ok nice, looks that I can use pug plugin for jade templetes

Hi!
As I have understood, it is needed to modify how view templates are inlined into resulting JS code. Inlining is done (was done till yesterday) by internal Rollup plugin ng-template. There is existing Rollup plugin (https://github.com/cebor/rollup-plugin-angular) who can inline templates and allows to use transpilers, but I have not yet tried to do it yet instead of ng-template.
Also now process is changed and there are no "ng-template" plugin anymore, so all my investigation was just waste of time :(

@valdisz: Hm. If I'm not mistaken, Rollup plugins like that would still suffer from my issue of only getting invoked after ionic-app-scripts has failed to copy over the relevant template files, no? If you do manage to get this working in the Ionic 2 RC context though, I'd be pretty curious!

@tycho01 After some more investigation I tend to think that only way how to support HTML transpilers like Pug, is to run parallel process before Ionic build, which will transpile pug sources into html. Because in prod mode they run ngc which don't have any extension points and in dev mode Rollup plugin from Ionic will fire first regardless of supplied configuration. I will try to implement this approach using Gulp and hooks.

Got working solution with Pug and Gulp. Here (https://github.com/valdisz/ionic2-pug) is demo app.

Is there a possibility to add a custom webpack config that process pug files?

@MaciejCaputa I've customized the webpack build for app-scripts to enable async-await using an extra babel compilation step, but they run it after the other steps (including tsc/rollup).
By that point the files are no longer where you'd want it to look for them -- see my comment above on app-scripts' TS compiler first copying over everything needed for TS compilation, so excluding other files you might want around.
I'd settled on an extra gulp step, though I'm kind of unhappy about the dozens of dependencies it brings. That said, if you're not using plugins for Pug, the pug cli itself might help you as well.


feat: inline documentation within the configuration file

Summary
This PR attempts at bridging the gap between the project's configuration file and the documentation. The goal is for users to find the information they need more intuitively, and build a working implementation frictionlessly.
Check out the new config file →
The problem
When we did user research, we realized that many people directly go into editing the configuration file, without referring to the documentation. Depending on their level of Algolia/InstantSearch knowledge, they make assumptions. Still, there are grey areas that remain, and we realized that almost nobody tries browsing the documentation to find answers.
In almost all cases, nobody was able to put together a working implementation.
What it tells us is twofold:

We need better, more explicit errors in development mode.
We need to bridge the gap between the configuration file and the documentation.

@francoischalifour and I already have a plan for the first issue. This PR addresses the second problem.
The solutions
Since people have to edit the configuration file, we need to bring the knowledge here. We don't want to move the entire documentation in the configuration file or duplicate documentation data and have to maintain it twice. Instead, provide essential information and links to precise sections of the documentation that relate to what people are editing at a given moment.
To do so, we break the file down into several logical sections:

Base configuration
Insights, Analytics, and Personalization
Sort-by
Refinements
Query Suggestions
Styles

We introduce each section with a paragraph that provides essential information and a short link to the documentation's relevant part.
This model is heavily inspired by the TailwindCSS v0.x configuration file. With this solution, we increase documentation discoverability and optimize the back-and-forth between the editor and the docs by redirecting people to the right place.
To do before we release
This PR isn't ready to merge. Before doing so, if we agree with the model, we need to:

Adapt the documentation accordingly. We can't create short link redirects to anchor links, so we need to break options down into several pages.
Generate alg.li short links once we have the final documentation URLs.

Once we're good on the model and format, we can take care of these two steps, then merge the PR.

I love the idea - great iteration.
Something I noticed with the current config file is that some people are not clear what value to change with their own due to the fact we provide an already filled config file. What do you think of the idea of providing by default an empty one, and providing the filled one (current one) in addition as an example?
Maybe we could have in the command line a command "run demo" that uses our config file instead of their own.
WDYT?

@seafoox Hmmm, I'm not sure. With an empty configuration file, there are many things that users may miss and I'm afraid that:

They forget a mandatory setting and they try running the demo only to see it fail.
They don't intuitively understand what to change a demo value with and they need to go to the documentation too much while they could have picked on the example instead.
They will miss on features.

For example, right now we have this for the base configuration:
export const inputContainer = '#search-button';
export const inputContent = 'Search for products';
export const keyboardShortcuts = ['/'];
export const appId = 'latency';
export const searchApiKey = '6be0576ff61c053d5f9a3225e2a90f76';
export const hitComponent = Hit;
export const index = {
  indexName: 'instant_search',
  searchParameters: {
    analytics: true,
    clickAnalytics: true,
    hitsPerPage: 18,
    attributesToSnippet: ['description:25'],
  },
};

If we empty it, we'll may have something like this:
export const inputContainer = '';
export const inputContent = '';
export const keyboardShortcuts = [];
export const appId = '';
export const searchApiKey = '';
export const hitComponent = Hit;
export const index = {
  indexName: '',
  searchParameters: {},
};

Here, I don't have a clear idea of what options like inputContainer, inputContent, or keyboardShortcuts must contain. If I'm new to Algolia, I don't even know what appId, searchApiKey and index.indexName are about. Additionally, if I go through and run the demo successfully, I may not pay much attention to index.searchParameters and miss out on critical search parameters such as analytics and clickAnalytics.
If we still provide an example config in addition to the empty one, I think we're adding complexity instead of making things easier.
Do you have examples of what users found hard to understand or didn't know how to change (or if they had to at all)? I'm wondering if this isn't something we should fix with better docs instead.

@sarahdayan Actually, re-reading the thread I realize I was more thinking about something in between. Where some values could stay by default like the keyboardShortcuts or inputContent to only name those two, and the one we expect the user to change at the first place to be replaced by explicit placeholders eg YOUR_SEARCH_INPUT_HERE with an inline example if relevant.
export const inputContainer = 'YOUR_SEARCH_INPUT_HERE'; // e.g #search-button
export const inputContent = 'Search for products';
export const keyboardShortcuts = ['/'];
export const appId = 'ALGOLIA_APPID';
export const searchApiKey = 'ALGOLIA_SEARCH_ONLY_API_KEY';
export const hitComponent = Hit;
export const index = {
  indexName: 'instant_search',
  searchParameters: {
    analytics: true,
    clickAnalytics: true,
    hitsPerPage: 18,
    attributesToSnippet: ['description:25'],
  },
};

As for the different widgets we use, they could be by default commented, and for the users to un-comment them along the way. Allowing them to get something working with minimal configuration, where today it often fires errors in the JS console.

Do you have examples of what users found hard to understand or didn't know how to change (or if they had to at all)? I'm wondering if this isn't something we should fix with better docs instead.

I think remember Marine mentioning something on that, but it was already a few weeks ago, and my memory might be playing tricks on me.

@seafoox Okay I see! This is definitely interesting. With such an approach, we could indeed have two files: one for users to change with more explicit placeholders, and the fully pre-filled one with the data from the latency app. We could then have a demo command if people want to see a working example with that data.
Let's tackle this in another PR so we can elaborate and share ideas there.

Okay, the documentation is updated and the short links are ready. This can be reviewed.
I'll change the link to the config file to settings.js in the docs as soon as we release.

Sounds good thanks
[image: Alexandre COLLIN Avatar]
[image: Algolia's logo] https://algolia.com/
Alexandre COLLIN
Data & Program Manager - Customer Care
<EMAIL_ADDRESS>[image: LinkedIn icon] https://www.linkedin.com/in/alexandrecollin/ [image:
GitHub icon] https://github.com/seafoox [image: Twitter icon]
http://twitter.com/alexandrecollin
For details about what personal information we collect and why, see our
Privacy Policy at https://www.algolia.com/policies/privacy
On Mon, Jul 27, 2020 at 12:49 PM Sarah Dayan<EMAIL_ADDRESS>wrote:

Okay, the documentation is updated and the short links are ready. This can
be reviewed.
I'll change the link to the config file to settings.js in the docs as
soon as we release.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/algolia/unified-instantsearch-ecommerce/pull/139#issuecomment-664312527,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIM3JGX2ZFBSZDDPPXI6W3R5VLS3ANCNFSM4PF4SSOQ
.


Read full article

Hello,
I don't know if the question has been asked before or not. I know I can read the article by opening the RSS feed in the browser.
But would it be possible to implement the reading of the complete article in newsboat directly?
Thank you

Hi! For some feeds, it's possible if you set download-full-page. This doesn't always work, though, since the article might be formatted in a way that's too complex for Newsboat to handle, or it might require JS to render.
Does that answer your question?

Cool! I'll close the issue, then.


[20.03] opencv3, opencv4: use openblasCompat

Motivation for this change
Without master's fix in #83888, opencv3 and opencv4 end up with an 8-byte openblas, which it does work with. However this causes the python bindings to also end up with an 8-byte openblas, which numpy doesn't work with. Force 4-byte openblas for opencv.
This is quite a big rebuild (for me, given my current setup), so I've only checked some key reverse dependencies (facedetect digikam gmic gimpPlugins.gmic python37Packages.vidstab gmic-qt) on linux x86_64 and macos 10.14.
Things done

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

[ ] NixOS
[x] macOS
[x] 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 nixpkgs-review --run "nixpkgs-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)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@GrahamcOfBorg build facedetect digikam gmic gimpPlugins.gmic python37Packages.vidstab gmic-qt quilter gnome3.shotwell caffe python38Packages.caffe

rebased.
@ofborg eval build facedetect digikam gmic gimpPlugins.gmic python37Packages.vidstab gmic-qt quilter gnome3.shotwell caffe python38Packages.caffe

Friendly bump

Yup, just kinda waiting on a review from someone really...

Rebased again.
@ofborg build facedetect digikam gmic gimpPlugins.gmic python37Packages.vidstab gmic-qt quilter gnome3.shotwell caffe python38Packages.caffe


Bug: Unexpected state result in the release file

What happened?
I noticed the state field was empty in the release file while receiving the termination signal during the kusion apply process.
What did you expect to happen?
The resources list in the state field should match exactly with the resources that have been deployed successfully during this singular kusion apply operation.
How can we reproduce it (as minimally and precisely as possible)?
Terminate the kusion apply process halfway. (Better leverage a spec with multi-deployments and multi-services that have dependency relationships so that at least some of the resources are pending)
Anything else we need to know?
No response
Kusion version

$ kusion version
# paste output here

OS version

# On Linux:
$ cat /etc/os-release
# paste output here
$ uname -a
# paste output here

# On Windows:
C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
# paste output here

Install tools

This bug might have been fixed with https://github.com/KusionStack/kusion/pull/1279.

After my verification, I think #1279 has fixed the problem, so I'll close this issue.


How to get value of the edge storage key without subquery

For example, can I get the owner_id while getting the Pet object without subquery. I know "Eager Loading" can be used to achieve the goal, but the subquery is not necessary because the fields I need are already in the car table, and this is not efficient.

Hey @Siceberg and thanks for opening this issue.
This is duplicate of #869 and should be addressed soon with https://github.com/facebook/ent/pull/1046.
Closing, but I'll will update this issue once https://github.com/facebook/ent/pull/1046 is merged 😃

Hey @Siceberg and thanks for opening this issue.
This is duplicate of #869 and should be addressed soon with https://github.com/facebook/ent/pull/1046.
Closing, but I'll will update this issue once https://github.com/facebook/ent/pull/1046 is merged 😃

Hi @a8m , this is great, thanks for your reply

Hi @a8m , this is great, thanks for your reply


embedding ejs templates in markdown?

here's my page: https://alloyed.me
most of the content is a single file named "index.md", but I wanted to automatically generate the html for the button bar so I moved that into an ejs template and a json data file (let's call it .buttons.html.ejs and .buttons.json)
my first attempt was renaming index.md to index.md.ejs and including my templating code directly:
# website
blah blah blah
<%- include(".buttons.html", JSON.parse(include(".buttons.json") %>

this didn't work, my file was no longer recognized as the index of my site. to fix this I moved it into my default.ejs instead, outside of the content of my home page
<html>
<%- output.content %>
<%- include(".buttons.html", JSON.parse(include(".buttons.json") %>
</html>

It would have been nice if the first thing worked, though.
(also this is in no way your fault but the upstream EJS docs are really really bad! figuring out how to pull in a data file, and how the second parameter to include is used, was a whole ordeal)

Thanks for the report!
Yeah, EJS vs markdown are both considered "processors" and only one can run on a given file. My main worry about allowing both to run on a file is that you either make it a special-case (EJS files that produce an .md file are then also processed as markdown) or you make it generic and infinitely nestable (EJS files that produce other EJS files that produce OTHER EJS files) and I think either of those goes beyond the level of complexity I want Phantomake's model of processing to have.
It's not a great alternative but the other option would be to use ctx.renderMarkdown to render a markdown string to HTML in the file (renaming it to index.html.ejs so that this outputs an index.html file for your site index):
<div>
  <%- include('.buttons.html', JSON.parse(include('.buttons.json')) %>
  <%- ctx.renderMarkdown(`
    hi it's me kit again

    # [links](https://example.com)

    it remains to be seen which of these I will actually be active on.

    - [cohost (RIP)](https://example.com)
    - [mastodon](https://example.com)
  `) %>
</div>

RE: EJS, that's a fair point and I wouldn't be opposed to adding an EJS primer / cheatsheet to the doc site. I'll keep it in mind.
As for the EJS in markdown, I probably won't add it, so I'll close this issue. Thanks for using Phantomake!


Hide taskbar labels without combining icons

Summary of the new feature/enhancement
Windows doesn't provide an option to hide open apps labels without combining them together. Such a thing would be useful when you want to quickly switch between open windows of the same app.
Proposed technical implementation details (optional)
A place when I can choose those two options separately: 1. combined or not, 2. show/hide labels.

YES! This is a feature many Windows users want. If you search for "windows 10 never combine hide labels" you'll see how many people want this. For example in the Feedback Hub this always got many votes. At the moment you need 7+ Taskbar Tweaker for this. In my opinion this would be a perfect little tweak to include in PowerToys, something old-school TweakUI style.
At the moment, if you go to Settings > Personalization > Taskbar, there are only three options under "combine taskbar icons":

Always, hide labels
When taskbar is full
Never
It needs a 4th option: Never, hide labels.

This is a feature people have asked for for years, via forums, the feedback hub, the Microsoft community. In Windows 7 you could get this behaviour via a registry tweak, but not anymore.
If you have the taskbar on the left, it leads to very stupid behaviour when the label begins with a thin character, see this:

There needs to be an option to hide these labels, without getting the unwanted behaviour of grouped taskbar buttons.

Worth keeping on this thread from @korhun:

https://superuser.com/questions/947070/how-can-i-hide-taskbar-labels-in-windows-10-without-combining-icons

Hey all, just popping in a (admittingly general) comment here. Just came across a video of Thio Joe where he quickly shows a number of apps, regarding tweaking Windows: https://www.youtube.com/watch?v=n7lykL7ZELQ
Not promising everything for this issue, but the Stardock app is interesting! :)

Worth keeping on this thread from @korhun:
https://superuser.com/questions/947070/how-can-i-hide-taskbar-labels-in-windows-10-without-combining-icons

7+ Taskbar Tweaker doesn't support windows 11. Any alternatives?

7+ Taskbar Tweaker doesn't support windows 11. Any alternatives?

An option was recently added to just hide the labels in the taskbar-labels mod for Windhawk (same author as 7+ Taskbar Tweaker)

Windhawk (same author as 7+ Taskbar Tweaker)

Thank you very much. This is exactly what I've been looking for!
https://windhawk.net/mods/taskbar-grouping

Windhawk work but it seem conflict with some applications, for me Gameloop will not start if Windhawk installed, after uninstall Windhawk working fine. Maybe because of anti-cheat? Whatever, this setting look like very simple and it should official support from Windows itself, hope will see it soon.


NMS

There are no codes for Non Maxima Suppression or post processing in the code  for inference in python, and tensorRT NMS C++ plugin is not used in that inference. Is it going to be implemented? or it will be used only in TensorRT

Apologies my mistake, it's implemented. Closing Issue.


Git-Trees API

I somehow managed to butcher the PR at #4185
This is an updated PR with a couple changes.

correct git route. (/trees -> /git/trees)
additional commenting.
Changed the types used as per https://github.com/go-gitea/go-sdk/pull/94 (GitTreeEntry -> GitEntry) - superficial naming changes only.

Edit: Requires the PR at https://github.com/go-gitea/git/pull/123

should fix #1978

go-gitea/git#123 merged, please update dep

Codecov Report

Merging #5403 into master will decrease coverage by 0.06%.
The diff coverage is 4.22%.

@@            Coverage Diff             @@
##           master    #5403      +/-   ##
==========================================
- Coverage   37.57%   37.51%   -0.07%
==========================================
  Files         313      314       +1
  Lines       46617    46688      +71
==========================================
- Hits        17515    17513       -2
- Misses      26607    26679      +72
- Partials     2495     2496       +1

Impacted Files
Coverage Δ

routers/api/v1/repo/tree.go
0% <0%> (ø)

routers/api/v1/api.go
74.63% <100%> (+0.15%)
:arrow_up:

modules/process/manager.go
76.81% <0%> (-4.35%)
:arrow_down:

models/repo_list.go
63.29% <0%> (-1.27%)
:arrow_down:

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 08bf443...1985243. Read the comment docs.

@lunny @lafriks please update review


CALL_AND_RETRY_LAST allocation failed

I'm migrating to rc0 and using app-scripts version 0.0.27
with the latest ionic-cli<EMAIL_ADDRESS>After a while running ionic serve i get the following output:
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

npm
 ERR! Windows_NT 10.0.10586
npm
 ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "watch"

npm
 ERR!
 node v6.6.0

npm ERR! npm
 v3.10.8
npm ERR! code
 ELIFECYCLE
npm ERR!
 perkd@ watch: `ionic-app-scripts watch`
npm ERR! Exit status 3

npm ERR!

Hello, thanks for using Ionic. I am going to be closing this issue as a duplicate of https://github.com/driftyco/ionic-app-scripts/issues/62. Thanks!


Apple Sign In with Rails and Kamal raises ActionController::InvalidAuthenticityToken error

Context: Apple sign-in with omniauth-apple worked fine until a week ago when the company moved the app to Kamal. We started getting this error:
ActionController::InvalidAuthenticityToken (HTTP Origin header (https://appleid.apple.com/) didn’t match request.base_url (https://www.myapp.com/))

I found a suggestion to forward the X-Forwarded-Proto and X-Forwarded-Ssl headers. The X-Forwarded-Proto is configurable in Kamal but it didn't fix the issue. X-Forwarded-Ssl doesn't seem to be configurable.
I also found a suggestion to set the Origin header to your own domain, but I don't think that's configurable with Kamal.
Is there another way to configure these headers? Any help fixing this issue is appreciated too.

It looks like Apple performs a POST to the redirect uri instead of the usual OAuth flow. I assume that the error you see happens at that stage since the POST triggers the CSRF check.
There are some interesting links in this issue with all sorts of solutions (watch out for the insecure hacks!).
I'd speculate that in the process of moving to Kamal, some other workarounds that your company had in place were removed.


[NG] Main Container + Header Oompa Loompa

Fixes: #1268
clr-header - Oompa Loompa
clr-main-container - Willy Wonka
Tested on: Chrome
Also added the ks-app node-modules to the ignore sources array to avoid tslint from checking it.
cc: @hippee-lee
Signed-off-by: Aditya Bhandari<EMAIL_ADDRESS>

@adityarb88 btw, is this using classList to add a class?
https://github.com/vmware/clarity/pull/1536/files#diff-56a5778083a74a9c97a3c700f7590187R29

@Shijir: Yes. It is using class list to add the class. The reason we do that is because the directive is the same but different levels use different class names. We could have done this with this host binding too but not sure why i did it this way :-/ :D


Events added

onSuccess & onError added

Hi,
this is not an event, that is a callback.
There is already a success and error functions. I'm OK if you want trigger an event, but not for callback, sorry.

@Alex-D Hi, by saying "Events" I meant the callbacks for the corresponding events.
The problem with the current implementation is: I don't want to override the default behavior of these callbacks, I just want to have "my callbacks" dispatched when the default methods are finished.

So I should make another PR which triggers these events or it's already implemented?

You can make a PR, that would be awesome :)

@Alex-D Please check my latest PR #309 ;)


feat: change label for apply filters button

Changed label for button.
Removed unnecessary tests
Jira: FX-3010
Before

After

Going to go ahead and merge this in.


libswiftCore.dylib`swift_unknownUnownedLoadStrong:

    My App is crashing here line 485 in DropDown.swift . I cant figure out why . I am not using DropDown in viewcontroller it is crashing .

    dispatch_async(dispatch_get_main_queue()) { [unowned self] in
        self.tableView.flashScrollIndicators()
    }
    super.updateConstraints()

I am having this same issue. did you figure it out?

This problem is probably caused because you do not retain the drop down in a variable outside of a scope that ends just after the call to show().
You are probably doing this:
func someMethod() {
   let dropDown = DropDown() // var declared + instantiated
   // dropDown setup...
   dropDown.show()
} // dropDown var is released

The dropDown var is actually not retained by any view (its anchorView does not retain it), so it is released at the end of the scope.
What you have to do is retain it somewhere like this for example:
class MyVC: UIViewController {
   let dropDown = DropDown() // class instance var, is now retained by its instance

   override open viewDidLoad() {
      super.viewDidLoad()
      // dropDown setup...
   }

   func someMethod() {
      dropDown.show()
   }
}

Can you confirm it solves the problem? :)

Actually I am creating and storing them in an Array [DropDown].
`
//at the global class variables
var arrDropDown: [DropDown] = []
//before anything fill the array
self.arrDropDown = [DropDown](repeating: DropDown(), count: self.data.count)
//inside function
  let drop = DropDown()
  self.arrDropDown.insert(drop, at: indexPath.row)

 //also doing
 self.arrDropDown[indexPath.row] = drop

`

I just commented the line
self.tableView.flashScrollIndicators()
and the exception is gone, but now I get an advice
[LayoutConstraints] Unable to simultaneously satisfy constraints.

Same issue here

Hello!
I've pushed a new commit that should fix this problem (80a125b on master)


⚠ Bofrost.at has degraded performance

In f763981, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2384 ms

Resolved: Bofrost.at performance has improved in fdfe0b9.


How to change admin password?

First of all, I'm really happy with this project, its great!
Only one issue, I see no way to change the default admin password.
I use docker-compose.
Any suggestions?
Thanks,
Thomas

Hi,
You need to log in with the original admin user . Create a new user with Admin rights. Login with that user and delete the original admin user.
Patrik

Hi,
You need to log in with the original admin user . Create a new user with Admin rights. Login with that user and delete the original admin user.
Patrik

Thanks, that makes sense.  Sorry for the stupid question

Created a Config setting where everyone can list the user that they want to enforce in the app. (You also set it through env variables) It should be secure as if you set the password in the config.json, the app will write back the salted, encrypted version and delete the clear text.

Updated the MANPAGE.md in 58e1857 that shows the usage of the config.

Could you feasibly update the instructions to state that a new user needs to be created + the old "admin" user must be deleted? I also got super confused by this, initially just looking for a "change password" prompt.


NSUUID not supported

When having property of type UUID, serialization throws an exception
@property (nonatomic) NSUUID *uuid;
*** Terminating app due to uncaught exception 'Value transformer not found', reason: '[JSONValueTransformer __JSONObjectFromNSUUID:] not found'
Expected behavior would be to use [uuid UUIDString] method.

the error message clearly says that you did not create a method to convert a UUID to a string. if you don't know how to write a custom value transformer read up this tutorial: http://code.tutsplus.com/tutorials/beyond-the-basics-of-jsonmodel--cms-20731


Use fallback for wait() from ember-test-helpers

Solves https://github.com/san650/ember-cli-page-object/issues/309.

Please, see my questions in #309

@YoranBrondsema Thank you for taking the time to work on this PR.
I'll try to review and test this PR thoroughly over the next weekend. I don't want to introduce breaking changes and ensure we support older versions of ember.

@san650 Of course, I appreciate you looking into this!

Thanks for the contribution and sorry for the delay in merging this!

@san650 No problem, thanks for merging!

@san650 Do you mind releasing a patch release to get this in? Then I can remove the hacks I've been adding to my test suite :-)

@YoranBrondsema I'll do this today!
Thanks for the reminder (I forgot about it 😞 ).

Don't worry about it, thanks for the prompt reply!

I'll do this today!

@san650 today is already 12 days ago 😝  Just ran into this as well, would appreciate a bug fix release as well!

@YoranBrondsema @simonihmig Sorry about this, I didn't want to do a release because for some reason the build started to fail with ember@canary and wanted to double check first. I have some free time next weekend to look into this, if I can't fix the issue, I'll just cherry-pick this PR and release a patch version.
Sorry for the delay!

@san650 No problem! Just wanted to have a look at the failing build you mentioned, but I see all the latest builds all green!? https://travis-ci.org/san650/ember-cli-page-object/builds/249460658

@simonihmig I'll fire a rebuild in travis. I got the failings in my local dev env when I was about to publish.
Come back to you in a sec.

@simonihmig I run the tests in travis-ci and everything is green, ember@canary still fails locally, so there's something strange there.
https://travis-ci.org/san650/ember-cli-page-object/builds/249460658
Because it's ember@canary the one that fails, I'll release the version now and investigate later what the problem is.

https://github.com/san650/ember-cli-page-object/issues/320


Consumer Group - Quietly Fails to Read any Kafka Messages [v1.1.4]

Hey @twmb ,
There was an incident where unfortunately, franz-go Kafka client never read any of its designated topics, and there were no error or fatal logs reported.
Here are the logs that I do see (business sensitive details hidden):
[2021-10-20 00:53:39.429] [INFO] beginning to manage the group lifecycle; group: <consumer_group_name>
[2021-10-20 00:53:39.429] [INFO] joining group; group: <consumer_group_name>
[2021-10-20 00:53:39.437] [INFO] join returned MemberIDRequired, rejoining with response's MemberID; group: <consumer_group_name>, member_id: kgo-f7332df0-e4c7-49c0-bf88-dc72bd906db4
[2021-10-20 00:53:39.539] [INFO] producing to a new topic for the first time, fetching metadata to learn its partitions; topic: <topic_1>
[2021-10-20 00:53:39.539] [INFO] producing to a new topic for the first time, fetching metadata to learn its partitions; topic: <topic_2>
[2021-10-20 00:53:39.553] [INFO] done waiting for metadata for new topic; topic: <topic_2>
[2021-10-20 00:53:39.553] [INFO] done waiting for metadata for new topic; topic: <topic_1>

When setting up the consumer group (g.manage and g.joinAndSync), it did fail once due to a rebalance in progress but seemed to correctly recover and started the heartbeat monitoring.
[2021-10-20 00:54:16.303] [INFO] joined, balancing group; group: <consumer_group_name>, member_id: kgo-f7332df0-e4c7-49c0-bf88-dc72bd906db4, instance_id: <nil>, generation: 4, balance_protocol: cooperative-sticky, leader: true
[2021-10-20 00:54:16.303] [INFO] balancing group as leader
[2021-10-20 00:54:16.303] [INFO] balance group member; id: kgo-f7332df0-e4c7-49c0-bf88-dc72bd906db4, interests: interested topics: [<topic_2>], previously owned:
[2021-10-20 00:54:16.304] [INFO] balanced; plan: kgo-f7332df0-e4c7-49c0-bf88-dc72bd906db4{<topic_2>[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]}
[2021-10-20 00:54:16.304] [INFO] syncing; group: <consumer_group_name>, protocol_type: consumer, protocol: cooperative-sticky
[2021-10-20 00:54:16.306] [INFO] synced; group: <consumer_group_name>, assigned: <topic_2>[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]
[2021-10-20 00:54:16.306] [INFO] new group session begun; group: <consumer_group_name>, added: map[<topic_2>:[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]], lost: map[]
[2021-10-20 00:54:16.306] [INFO] beginning heartbeat loop; group: <consumer_group_name>
[2021-10-20 00:54:16.306] [INFO] heartbeat errored; group: <consumer_group_name>, err: REBALANCE_IN_PROGRESS: The group is rebalancing, so a rejoin is needed.
[2021-10-20 00:54:16.306] [INFO] fetching offsets for added partitions; group: <consumer_group_name>, added: map[<topic_2>:[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]]
[2021-10-20 00:54:16.306] [INFO] cooperative consumer calling onRevoke at the end of a session even though no partitions were lost; group: <consumer_group_name>
[2021-10-20 00:54:16.307] [INFO] heartbeat loop complete; group: <consumer_group_name>, err: REBALANCE_IN_PROGRESS: The group is rebalancing, so a rejoin is needed.
[2021-10-20 00:54:16.307] [ERROR] fetch offsets failed due to context cancelation; group: <consumer_group_name>
[2021-10-20 00:54:16.307] [INFO] joining group; group: <consumer_group_name>
[2021-10-20 00:54:16.309] [INFO] joined, balancing group; group: <consumer_group_name>, member_id: kgo-f7332df0-e4c7-49c0-bf88-dc72bd906db4, instance_id: <nil>, generation: 5, balance_protocol: cooperative-sticky, leader: true
[2021-10-20 00:54:16.309] [INFO] balancing group as leader
[2021-10-20 00:54:16.309] [INFO] balance group member; id: kgo-f7332df0-e4c7-49c0-bf88-dc72bd906db4, interests: interested topics: [<topic_1> <topic_2>], previously owned: <topic_2>[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]
[2021-10-20 00:54:16.309] [INFO] balanced; plan: kgo-f7332df0-e4c7-49c0-bf88-dc72bd906db4{<topic_2>[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15], <topic_1>[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]}
[2021-10-20 00:54:16.309] [INFO] syncing; group: <consumer_group_name>, protocol_type: consumer, protocol: cooperative-sticky
[2021-10-20 00:54:16.312] [INFO] synced; group: <consumer_group_name>, assigned: <topic_1>[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15], <topic_2>[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]
[2021-10-20 00:54:16.312] [INFO] new group session begun; group: <consumer_group_name>, added: map[<topic_1>:[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]], lost: map[]
[2021-10-20 00:54:16.312] [INFO] beginning heartbeat loop; group: <consumer_group_name>
[2021-10-20 00:54:16.312] [INFO] fetching offsets for added partitions; group: <consumer_group_name>, added: map[<topic_1>:[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]]
[2021-10-20 00:54:16.312] [INFO] fetched committed offsets; group: <consumer_group_name>

However, not a single read happened for those topics. I know this because:

We log whenever we receive a new Kafka message from the topic and saw none in the logs (code snippet below)
We have metrics hook for OnFetchBatchRead -  this was never called
We also use kowl to monitor the kafka topics; new messages were definitely coming in

The Exact Client Code Loop
	for {
		select {
		case <-ctx.Done():
			c.Logger.Log(kgo.LogLevelInfo, fmt.Sprintf("context closed for kafka consumer with topics %v", c.Topics))
			return nil
		default:
		}
		fetches := c.client.PollFetches(ctx)
		if errs := fetches.Errors(); len(errs) > 0 {
			c.Logger.Log(kgo.LogLevelWarn, fmt.Sprintf("kafka fetch failed because of errs: %v", errs))
		}
		if fetches.IsClientClosed() {
			return nil
		}

		iter := fetches.RecordIter()
		for !iter.Done() {
			record := iter.Next()
			c.Logger.Log(kgo.LogLevelInfo, fmt.Sprintf("received kafka msg (topic %v, partition %v): %v", record.Topic, record.Partition, string(record.Value)))

Hypothesis
My speculation is that somehow, this consumer loop exited silently with fetches.IsClientClosed and therefore stopped polling and reading.
The Workaround
A simple restart seemed to fix the issue.
Questions

Other alternative hypothesis is that maybe the internal client code reached a deadlock and got stuck somewhere. Could this be a possibility?
If you agree it's most likely IsClientClosed exit loop, is it to be expected that there were no errors or warning signs indicating this in the logs?
Also based on the comments, fetches.Errors() is supposed to include an injected ErrClientClosed but that was never written out. Are the comments wrong?
We're adding robustness to this loop where if we encountered that error, we simply reconnect by creating a newfranz-go client. Does this seem like a correct workaround to you or is there unintended side-effects with re-creating clients?

More Details

We're running our services via docker containers and for now, have two replicas
For each instance, we create 2 kgo.Client - one responsible for producing [writing to topics] & another for consuming [reading from topics]
I performed an upgrade via docker-compose down and docker-compose up to a new image
Briefly glanced at our metrics and had quick sanity test, everything seemed working
However, turns out that one of the two services completely failed to consume its topic and wasn't discovered til much later since only happened with 1

Another interesting tidbit is that producing for that instance was fine; only consuming from topics was failing

Hi there,
As a long delayed update, I found a small bug in the patch while writing another feature (so, the bug was not actually encountered, but it's worth it to fix): https://github.com/twmb/franz-go/commit/02560c7
This is released in v1.3.4.

Excellent, thanks for the update Travis!


Create an SPDX file for online tools

Request from @kestewart on the 4 August tech call to add an SPDX file for the online tools as part of our deployment efforts.

@ekongobie Is your python plugin ready to try on the online tools?

@tsteenbe offered to run ORT - suggest we do this once we have the image we plan to deploy.


getting-started: replace all beta site refs with production

Signed-off-by: Matthew Croughan<EMAIL_ADDRESS>This replaces all the beta site references I made in the getting-started in a single commit so we can revert it and resume work later.

Docs for 3184fb4f11b318801c8fec5cd660ad4d300bc52a are browesable at: https://ci.foundries.io/projects/fio-docs/builds/622/docs/artifacts/html/index.html


Update the editor when value is an empty string

Previously, when the value from the ngModel changed to an empty string, the Monaco editor wouldn't update to show that value. Now the value is checked for null (or undefined), letting "" show in the editor.

Verify if this solves the problem
Set value to empty string in case or empty/null/undefined values


Ion Storm Laws Review

About the PR
Needed a pass and people were talking about a different PR in the Contributors chat on the Discord.
Why / Balance
Have reviewed the Ion Storm law dictionary and tidied it up.
Specifically I've tried to keep the same number of entries in each section, or slightly increased them, where I've removed or altered a string.
Of note, specific colours and "rainbow" have been removed from adjectives and replaced with words like "Cheese-Eating", as colours are kinda boring themselves and they've been a cause of a few accidentally-racist etc laws. "Colourful" remains.
Also, references to a few things that don't exist on Wizden maps at the moment have been changed, although some common things like vampires and wizards have  been left in. This is so that a borg is more likely to get a law they can work with. This includes cat ears, which are really rare atm.
As is probably unavoidable when editing this file, I added one or two references I thought would be funny.
Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog
No CL as this is minor.

Other thoughts - there's a couple of direct copyright terms in the file such as the word Thundercats.

i say keep rap, for variety rather than remove just because bad rap makes you cringe (there's some borg out there that can rap)
and why remove "dickishness"

i say keep rap, for variety rather than remove just because bad rap makes you cringe (there's some borg out there that can rap) and why remove "dickishness"

Dickishness is just a weird word IMO, it sticks out in that list. "Nastiness" covers it and is more likely to be understood, especially by someone whose English is a second language.

...more likely to be understood, especially by someone whose English is a second language.
(in the context of nastiness/dickishness)

Debatable, "dick" is more common than "nasty", and -i(sh)ness is intuitively applied to both. However, this is anecdotal, I'm Russian.
Besides, dickishness sounds sillier than nastiness.

Yeah. Won't revert right now but it's a fair point

i think you can also implement all from #26698 and ill close my pr

i think you can also implement all from #26698 and ill close my pr

Will do, it's midnight tho so will be tomorrow 🙏

fixing #26766 in this PR would be cool too


Comments added to Class Documentation when in viewing the class in hierarchy mode are assigned to the last class

I added a comment for ZnIncomplete but it was saved in ZnInvalidUTF8.
This is only a problem when in hierarchy mode. It works in the Classes mode.

"Definitely" fixed in 3.0.53.  :)


t

Is your feature request related to a problem? Please describe.

Describe the solution you'd like:

Describe alternatives you've considered:

Additional context:

Not actionable


CRITICAL: One successfull payment in checkout Postfinance = two same paid orders in WAWI

it was only thanks to the attentiveness of an employee, who by chance packed both orders one after the other, that this was noticed.
Customer paid successfull (Payment process was extrem slow).
see the time stamps below:
13:00:40 Die Transaction wurde erstellt.
13:02:32 Die Zahlung über XX.XX CHF wurde empfangen.
I don't know if this problem is beacause processing was so slow or there is a other problem.
In the backend of the online shop it shows the same order twice (same order number). Time stamp difference 2 sec.
If you need any other informations, let Patricius get them on our shop. He has a login there.

Thank you for your Post.
In this case, please contact our Support directly to investigate this issue.
You can send all information to<EMAIL_ADDRESS>

@jbwallee @andrewrowanwallee @sauliususoniswallee @edgaraswallee
again today we had one successfull payment in Postfinance Checkout = 2 paid identical orders in the WaWi!
Patricius has Backend and SFTP access to our system. If you need more let me know exactly what!
Guys, this is critical and has to be fixed asap!

@jbwallee @andrewrowanwallee @sauliususoniswallee @edgaraswallee
Fantastic! Today we got for one payment 3 same orders in our system! Easy, take you time to fix this...

und heute erneut, EINE gültige Zahlung im Checkout, zwei gültige Bestellungen in der Wawi. Diesesmal genutztes Zahlungsmittel PF Pay.

wie ist hier der Stand?