text:
Allow filtering / aggregating of events

What
This is a [WIP] PR to allow you to

Completely block certain events from being logged (optionally)
Aggregate certain events to be logged all at once together (optionally)

Why
If you have frequent repetitive events the current practice of logging everything indiscriminately can flood your console. More on this at #27
Highlights

I think I'll need to proxyquire nanoscheduler in order to test that it gets the data that we expect. Unless you have another idea in mind!

Reviewer Notes
Wanted to pause here and get a quick eye on the skeleton before proceeding. Surely not done or cleaned up - mainly hoping for any structural feedback. Namely.

Did I put the unit test in the correct place or would you prefer it elsewhere?
Do you see anything structurally in this WIP that you'd prefer to be changed.

Cheers!

Now that I've played with choo-devtools a bit more I'm seeing that your original, simpler solution actually solves all of my problems!
I can just use a simple filter and then intercept whatever events I want, aggregate them however I want and log them whenever I want.
Sorry for not seeing this sooner! I'll update this PR to just use a simple filter!

@yoshuawuyts alright all done here - let me know if anything needs changing and I'm more than happy to.

v2.5.0 :tada:

authors: chinedufn yoshuawuyts

repo: choojs/choo-devtools


text:
(misc) Exclude the .git directory when packaging

When building a package for the Puppet Forge, do not include the .git
directory.

thanks!

source: gharchive/pull-request

authors: ripienaar smortex

repo: choria-plugins/tasks-agent

license_type: permissive

license_source: github-api


text:
IndexError: shape mismatch: indexing arrays could not be broadcast together with shapes (22361,3) (22361,)

Hi @chrischoy @sjnarmstrong
Thank you for sharing this wonderful work!
When I run the train.py script with 3dmatch dataset, something goes wrong, the error was report below:
09/26 12:59:16 Resetting the data loader seed to 0
Traceback (most recent call last):
  File "train.py", line 84, in <module>
    main(config)
  File "train.py", line 63, in main
    trainer.train()
  File "/disk/tia/FCGF/lib/trainer.py", line 124, in train
    val_dict = self._valid_epoch()
  File "/disk/tia/FCGF/lib/trainer.py", line 314, in _valid_epoch
    input_dict = data_loader_iter.next()
  File "/home/ubuntu/.conda/envs/py3-fcgf/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 363, in __next__
    data = self._next_data()
  File "/home/ubuntu/.conda/envs/py3-fcgf/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 989, in _next_data
    return self._process_data(data)
  File "/home/ubuntu/.conda/envs/py3-fcgf/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 1014, in _process_data
    data.reraise()
  File "/home/ubuntu/.conda/envs/py3-fcgf/lib/python3.7/site-packages/torch/_utils.py", line 395, in reraise
    raise self.exc_type(msg)
IndexError: Caught IndexError in DataLoader worker process 0.
Original Traceback (most recent call last):
  File "/home/ubuntu/.conda/envs/py3-fcgf/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 185, in _worker_loop
    data = fetcher.fetch(index)
  File "/home/ubuntu/.conda/envs/py3-fcgf/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/home/ubuntu/.conda/envs/py3-fcgf/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in <listcomp>
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/disk/tia/FCGF/lib/data_loaders.py", line 252, in __getitem__
    pcd0.colors = o3d.utility.Vector3dVector(color0[sel0])
IndexError: shape mismatch: indexing arrays could not be broadcast together with shapes (22361,3) (22361,)

Cloud you please help me to solve this problem?
Thank you very much!

use sel0[1] instead of sel0

use sel0[1] instead of sel0

Thank you very much!
It seems right now

use sel0[1] instead of sel0

Hi @DiegoWangSys
during the test process,  something goes wrong, the error was reported below:
10/16 00:49:29 ['/disk/tia/FCGF/dataset/threedmatch_test/7-scenes-redkitchen', '/disk/tia/FCGF/dataset/threedmatch_test/7-scenes-redkitchen-evaluation', '/disk/tia/FCGF/dataset/threedmatch_test/sun3d-home_at-home_at_scan1_2013_jan_1', '/disk/tia/FCGF/dataset/threedmatch_test/sun3d-home_at-home_at_scan1_2013_jan_1-evaluation', '/disk/tia/FCGF/dataset/threedmatch_test/sun3d-home_md-home_md_scan9_2012_sep_30', '/disk/tia/FCGF/dataset/threedmatch_test/sun3d-home_md-home_md_scan9_2012_sep_30-evaluation', '/disk/tia/FCGF/dataset/threedmatch_test/sun3d-hotel_uc-scan3', '/disk/tia/FCGF/dataset/threedmatch_test/sun3d-hotel_uc-scan3-evaluation', '/disk/tia/FCGF/dataset/threedmatch_test/sun3d-hotel_umd-maryland_hotel1', '/disk/tia/FCGF/dataset/threedmatch_test/sun3d-hotel_umd-maryland_hotel1-evaluation', '/disk/tia/FCGF/dataset/threedmatch_test/sun3d-hotel_umd-maryland_hotel3', '/disk/tia/FCGF/dataset/threedmatch_test/sun3d-hotel_umd-maryland_hotel3-evaluation', '/disk/tia/FCGF/dataset/threedmatch_test/sun3d-mit_76_studyroom-76-1studyroom2', '/disk/tia/FCGF/dataset/threedmatch_test/sun3d-mit_76_studyroom-76-1studyroom2-evaluation', '/disk/tia/FCGF/dataset/threedmatch_test/sun3d-mit_lab_hj-lab_hj_tea_nov_2_2012_scan1_erika', '/disk/tia/FCGF/dataset/threedmatch_test/sun3d-mit_lab_hj-lab_hj_tea_nov_2_2012_scan1_erika-evaluation']
Format = auto
Extension = ply
10/16 00:49:29 0 / 60: 7-scenes-redkitchen_000
Traceback (most recent call last):
  File "/home/ubuntu/.conda/envs/py3-fcgf/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/ubuntu/.conda/envs/py3-fcgf/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/disk/tia/FCGF/scripts/benchmark_3dmatch.py", line 257, in <module>
    device)
  File "/disk/tia/FCGF/scripts/benchmark_3dmatch.py", line 65, in extract_features_batch
    skip_check=True)
  File "/disk/tia/FCGF/util/misc.py", line 82, in extract_features
    coords = coords[inds]
IndexError: shape mismatch: indexing arrays could not be broadcast together with shapes (18977,3) (18977,)

Cloud you please help me to solve this problem?
Thank you very much!

Fixed on the latest commit cc5b70008fd1282d19ee60f6c022d4b5d059f4bc.

Fixed on the latest commit cc5b70008fd1282d19ee60f6c022d4b5d059f4bc.

source: gharchive/issue

authors: DiegoWangSys Violetit chrischoy

repo: chrischoy/FCGF

license: MIT


text:
[ feature ] Support Power Lora Loader (rgthree) node

This is one of these nodes you could consider supporting the future.
But it will probably be hard to do.
This node has a toggle button, a COMBO box, and value widget, all in the same line !
And it has a button to add more lines !

(added at PR to rgthree - https://github.com/rgthree/rgthree-comfy/pull/379 - to avoid the need for special-casing)

Seems as if the Power Lora Loader node doesn't work with the @latest front end?

Seems as if the Power Lora Loader node doesn't work with the @latest front end? So I'm pausing support for it until that gets clarified!

Yes, there is a problem with the button that adds LoRAs to the node, rgthree raised an issue in Litegraph repo because of that.
The problem is caused by the Canvas Pointer API PR btw

@chrisgoringe They fixed the issue in 1.4.11 frontend

@tampadesignr Open separate feature requests for the nodes you want Controller to support

@tampadesignr Open separate feature requests for the nodes you want Controller to support

ohh.. i was just testing figured more info about same issue more code to look at and find a unified solution
my wish .. all nodes worked together perfectly..lol i want no issues .. i just want to create art
anyway my best to coders that are coders at heart

@tampadesignr Open separate feature requests for the nodes you want Controller to support

ohh.. i was just testing figured more info about same issue more code to look at and find a unified solution my wish .. all nodes worked together perfectly..lol i want no issues .. i just want to create art anyway my best to coders that are coders at heart

@tampadesignr Sorry, I didn't mean to be rude, it's just the way to request support for specific custom nodes. If you need a node to be supported by Controller, feel free to open a feature request about it!

When support was added for the Trung0246 switch, other nodes from the same node pack also started working.
Lets see if support for the Power Lora Loader, also brings other rgthree nodes like Fast Groups Muter and Fast Groups Bypasser.
We can already mute/bypass groups in the Controller, but these rgthree nodes have extra features.
For instance we can select 2 or more groups, and bypass/mute only one at a time, with a single click ( with the toggleRestriction property ).

as a fine artist i assimilate as much general info as possible to try and comprehend a fraction of what going on...
my latest thing is finding complex workflows and stretching them out till i can see the connections
i look forward to every advancement you all make. good luck with this

So the way it works is that support gets added for a particular custom
widget, in order to support a particular node.
Often other nodes in the same pack use the same widget, so they also start
working.
So once the LoRA loader works (soon…) check to see if the ones you want
also work! If not, raise a new issue to request them.
On Sun, 1 Dec 2024 at 8:44 am, mystifying @.***> wrote:

as a fine artist i assimilate as much general info as possible to try and
comprehend a fraction of what going on...
my latest thing is finding complex workflows and stretching them out till
i can see the connections
i look forward to every advancement you all make. good luck with this
—
Reply to this email directly, view it on GitHub
https://github.com/chrisgoringe/cg-controller/issues/106#issuecomment-2509394159,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABBLMA5HS63VOS45CCM5B4T2DIWUXAVCNFSM6AAAAABP3HXQ7OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMBZGM4TIMJVHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

oh this node aka future of comfy
is on my watchlist

This is now done (as far as I intend to do it). Please raise issues as new bugs.

repo: chrisgoringe/cg-controller


text:
Icons have a super low resolution

I have an HiDPI display and the icons look veeery pixelated. Is it possible to have some higher resolution icons? I can't find any SVG source file.

Ah, no, the icons are bitmaps that are generated by programatically joining together the 'subicons', which are also bitmaps (and they are pretty small bitmaps seeing as I want to be able to squish 4 'subicons' into each icon in order to show all the status information).
I've been planning on making them SVGs and programatically joining them using some SVG library, but I haven't done this yet.

I've updated the icons to be svgs. They are not the prettiest icons ever, but it should be an improvement. Could you let me know if it looks better on the high DPI display?

Now they don't show up at all lol

Maybe you should simply provide the bitmaps (i.e. use inkscape to raster-ize them), but also provide a 48x48 version as 24x24@2x like some themes do.

🤔🤔🤔🤔

Much better now!

Thank you!

Thanks and well spotted!
I was just copying example code from the svgutils docs that used strings with 'cm' the size, and I changed it to 'px' and it worked...not sure why that makes any difference (worked for me!) but glad it's fixed for you!

I tried to save it from Inkscape as optimized SVG and the plugin complained about an unrecognized "px" string.
There it is 😅

authors: Depaulicious chrisjbillington

license_source: bigquery


text:
Breaks with latest conda-build >= 24.1.0

Hi there,
It looks like the latest version of conda-build (24.1.0) no longer works with this package. The last known working version is 3.28.3. The reason is described in https://github.com/conda/conda-build/issues/5167 - invoking conda-build results in a non-zero return code, which raises an error when called here: https://github.com/chrisjbillington/setuptools-conda/blob/cdcc241b466f7015a886bda8b6585ba162790556/setuptools_conda/setuptools_conda.py#L706 . Thus, the packages are never copied to conda_packages.
I fixed this by pinning conda-build on my end but a better fix would be to update to conda build as conda-build is being deprecated.

Thanks for letting me know. Looks like this specific problem may be fixed: https://github.com/conda/conda-build/pull/5169
But I'll take a look at conda build when I get the time, since I've been a bit unhappy with what happens when you install conda-buid into the non-base environment (https://github.com/conda/conda-build/issues/3813 - don't know for sure if this is still an issue but I don't know of it being fixed). Perhaps the switch to a subcommand of conda (normally only installed to the base environment) is addressing that.

Yes that does look like the fix for the conda-build exit status, thanks for linking! Feel free to close this issue if you plan on addressing the conda build upgrade elsewhere.

authors: chrisjbillington paul-sud

repo: chrisjbillington/setuptools-conda


text:
Bot sometimes immediately forgets/removes last buy price, sells, marks it down as 100% loss

Hello there,
first off thank you for providing your bot and code. I have been testing it for months now and am very happy with the web UI and all the possible customizations.
I have found a big Issue that seems to happen multiple times per day.
The Bot buys a specific Coin, but then immediately forgets/deletes the last buy price, then immediately sells 100% of the coin and marks it down as a 100% loss. It thinks it bought the coin normally but sold it for 0 USD which simply isn't possible.
Here is an example of what this looks like in the Web UI:

To compare, here is what it looks like in Binance:

As you can see the bot bought FLOW at 1.107 but immediately sold it again 4 minutes after for 1.108 which I assume was the curent price. My profit margin is set to 0.3% so this sell was not triggered by a sell order.
I have seen this happen multiple times in both directions, it happens with profits too:

Sadly I couldn't grab the logs for these TRX and BTC trades. I do however have the logs for the FLOW trade listed above, attached:
https://drive.google.com/file/d/1uAUHsDuO_xWfJ-p4L0zQhQ0-qOOVOrDA/view?usp=sharing
Issue should've occured around 12:47 time in the log
I have just one theory on why this happens:
It seems to only happen once I raise the purchase amount above 1000USD or so. It seems like when buy or sell orders get stuck because they only get 5-10% partially filled, this issue is more likely to happen
UPDATE:
The bot has now bought FLOW again, sold it and added the missing amount to the profit:

I have uploaded the new log for this as well, tis occured at 13:07 in the log
https://drive.google.com/file/d/12mfMIVvkD7fsy1aMmYtm7TwCApj0w3b8/view?usp=sharing

Hi @DecisiveDesignDE
After carefully reviewing your log, I found some odd.
The log recorded at "2022-11-29T12:23:05.446Z" with the message "Placed new stop loss limit order for buying of grid trade #2.".
At that point, grid trade 1 is recorded as FILLED with 1801.62000000 quantity.
However, in your account, FLOW balance is only 249.05000000.
It means you were manually trading FLOW outside of the bot. So the bot does not know what is going on.
Were you buying/selling manually?

Thanks for the speedy response!
I did not touch the bot or trade manually at all during this time. I was simply observing my settings.
I feel like you described the issue correctly though - the bot thought it bought 1801 quantity but did not.
I have also seen this result in the bot buying a certain amount of currency but then completely forgetting it did while the currency just sits in my wallet unmonitored. It is very odd that only I seem to be having this issue.
If it helps I'm running everything with docker on an ubuntu server close to japan. Is there any data I can provide you that would help with this issue?

@DecisiveDesignDE

I am not running another bot, nor am I trading manually. I am just using your bot.

Noted.
Let me see the log. And get back to you.

Ok, I found an issue.

If you see the log, when there was a FILLED order, ensure-grid-trade-order-executed was triggered 3 times.
It is not an expected behaviour because 1st ensure-grid-trade-order-executed is still running until 2022-12-01T14:47:18.263Z.
2nd/3rd ensure-grid-trade-order-executed were triggered while 1st ensure-grid-trade-order-executed is running.
Firstly, the quantity is calculated wrong. It ended up 15561 quantity, which is incorrect.
Secondly, after the grid trade is updated at 2022-12-01T14:47:17.977Z, the last buy is removed because the base quantity is not updated. This is also not expected as ensure-grid-trade-order-executed is still running.
So long story short, this is a bug. I will find a way to fix it.

Hello @chrisleekr @DecisiveDesignDE
May I know on which version you are running the bot @DecisiveDesignDE ?

@DecisiveDesignDE
Hey just to make sure, are you running 3 bot instances by any chance? Probably not.!

@habibalkhabbaz I am using the most recent version of the bot on master
@chrisleekr nope, just the one! I'm glad you found something. It is in my opinion not a massive issue as you shouldn't leave a bot unattended anyways but definitely worth fixing

Hello @DecisiveDesignDE,
I reached the same conclusion as @chrisleekr

The log recorded at "2022-11-29T12:23:05.446Z" with the message "Placed new stop loss limit order for buying of grid trade https://github.com/chrisleekr/binance-trading-bot/issues/2.".
At that point, grid trade 1 is recorded as FILLED with 1801.62000000 quantity.
However, in your account, FLOW balance is only 249.05000000.

And based on what you explained here:

If you look at timestamps around 14:45 - 14:47 the Bot bought ZRX, but then immediately deleted the last buy price, acted like it never bought it and then tried to buy it again. This time interfere: I cancelled the second order and entered the last buy price manually. But the issue happened before that.

I will assume that the main issue is last buy price gets removed for ZRX and FLOW.
So what's your last buy price remove threshold setting?

@habibalkhabbaz
I was able to replicate the issue in my local.

Steps:

When the symbol has enough balance to sell, set the last buy price to trigger the sell action.
The bot will place an order.

However, I don't  expect the bot placing the sell order twice. 2nd determine-action is trigger while 1st job is running.
We do have concurrent 1 for the process, which supposes to prevent this kind of concurrency issue.
I am still digging.

@chrisleekr
Ops, I see.
So the issue might be with the concurrency.
The strange thing is that there are around 0.5 seconds between the 1st determine-action and the 2nd determine-action which is enough I think to not trigger two sell orders.
I will look into it while you are already checking.

@habibalkhabbaz
Yeah, please take a look. You may find something I miss. Thanks @habibalkhabbaz !!

@DecisiveDesignDE
Hi,
I have a fix for you.
It has many changes, but the main change is just setting the limiter for the queue.
Could you read what's changed, and if you are comfortable, could you test it, please?
https://github.com/chrisleekr/binance-trading-bot/pull/551
I've written the steps to get the test version.

@habibalkhabbaz
Yeah, please take a look. You may find something I miss. Thanks @habibalkhabbaz !!

Sorry for the late reply @chrisleekr
I did another scenario to replicate the issue but no luck. My queue only processes 1 job concurrently.
I am running Docker on Windows 11.
Here is what I did:

In executeFor function I intentionally added two calls for queue.add which will add 2 jobs for a symbol at the same time.
I added some delay in trailingTrade so that I can see if the jobs waiting for each other or not.
As a result, I see that the queue has 1 job running and the other job is waiting for the 1st job to finish and then start to process.

I am just curious how can the queue process two jobs at the same time.
Maybe the environment causes this?

@habibalkhabbaz
Yeah, it’s not happening every time.
After I took the screenshot, I also could not replicate.
I think with my change, it gives more confident it won’t have multiple jobs running.
@DecisiveDesignDE
Can you confirm the fix is working?

@chrisleekr Yes, ever since switching branches the issue has not occured again. Thanks a lot!

repo: chrisleekr/binance-trading-bot


text:
How to use?

Thank you for your work. Sorry, not an issue but rather a question if you don't mind.
To use these you specify in tailwind.config.js similar to the following?
const plugin = require('tailwindcss/plugin');
const postcss = require('postcss');
const postcssJs = require('postcss-js');

const clampGenerator = require('./src/css-utils/clamp-generator.js'); // just changing to .ts?
const tokensToTailwind = require('./src/css-utils/tokens-to-tailwind.js'); // just changing to .ts?

// Raw design tokens
const colorTokens = require('./src/design-tokens/colors.json');
const fontTokens = require('./src/design-tokens/fonts.json');
const spacingTokens = require('./src/design-tokens/spacing.json');
const textSizeTokens = require('./src/design-tokens/text-sizes.json');
...

// Process design tokens
const colors = tokensToTailwind(colorTokens.items);
const fontFamily = tokensToTailwind(fontTokens.items);
const fontWeight = tokensToTailwind(textWeightTokens.items);
const fontSize = tokensToTailwind(clampGenerator(textSizeTokens.items));
... etc ...

Thanks @RickCogley, yeah sorry it's a bit bare-bones here and has a some rough edges!
Yep you got it, my internal template looks like this:
import { clampGenerator, tokensToTailwind } from "@chriswilliams/tokens-to-tailwind";
import plugin from "tailwindcss/plugin";

// Design Tokens
import colorTokens from "./src/css/design-tokens/colors.json";
import fontTokens from "./src/css/design-tokens/fonts.json";
import spacingTokens from "./src/css/design-tokens/spacing.json";
import textSizeTokens from "./src/css/design-tokens/text-sizes.json";
import textWeightTokens from "./src/css/design-tokens/text-weights.json";
import viewports from "./src/css/design-tokens/viewports.json";

// Process tokens: note viewports is optional
const colors = tokensToTailwind(colorTokens.items);
const fontFamily = tokensToTailwind(fontTokens.items);
const fontSize = tokensToTailwind(clampGenerator(textSizeTokens.items, viewports));
const fontWeight = tokensToTailwind(textWeightTokens.items);
const spacing = tokensToTailwind(clampGenerator(spacingTokens.items, viewports));

Appreciate that! What generator are you using?

Just utopia.fyi, the same as the cube-boilerplate

authors: RickCogley chrismwilliams

repo: chrismwilliams/tokens-to-tailwind


text:
Add hyperlink to test network connectivitiy

Easy to say no network, put a link in to test

thats not a semantic link :(

authors: chrisns denhamparry

repo: chrisns/keymanagement


text:
Documentation

I think it's worth documenting that isLength(null, 0) and isLength(undefined, 0) will return true. I think this behavior is fine, just worth noting.

The documentation does mention that null and undefined are replaced with an empty string, since the library validates strings only.

Ah got it. Thanks!

authors: chriso wlingke

license: mit


text:
Font request: black blocks

Would like to try a version of the font that behaves the same way as now, but instead of replacing the feature tag with a {tagg}, just replace it with a plain black block. This could be used to create a machine-readable "bar code" of features that are enabled/disabled by the various switches.

so all features look the same?

e8316bc552780ae7aa2dbf26354552b950f8a4db


text:
Moving Geofencing points

Hello,
In your premium version, you speak about native geofencing.
If I understood, this permit to open our app when the device is inside a circular geofence.

Do this works even if the app is not opened ?

There is a solution to change the geofences to watch in background mode ?
Because the geofence to watch is another phone device, and so the geolocation change everytime.

So, inside the yourAjaxCallback function (when your plugin submit my geolocation to my server), my server could add in the response, the list of geofences to watch, then we could change it in theory ?
But do this works only in foreground ?
Regards,

Have you tried the Sample App?

Do this works even if the app is not opened ?

From Apple Documentation

"In iOS, the regions you register with the location manager persist between launches of your
application. If a region crossing occurs while your iOS app is not running, the system automatically
wakes it up (or relaunches it) in the background so that it can process the event. When relaunched, all
of the regions you configured previously are made available in the monitoredRegions property of any
location manager objects you create."

There is a solution to change the geofences to watch in background mode ?
Because the geofence to watch is another phone device, and so the geolocation change everytime.

You simply re-create the geofence each time the target device reports a new location.  A geofence created with the same identifier as an existing one will overwrite the previous.
  bgGeo.addGeofence({identifier: "target-phone", notifyOnEntry: true, latitude: 1, longitude: 1});
  .
  .
  .
  bgGeo.addGeofence({identifier: "target-phone", notifyOnEntry: true, latitude: 2, longitude: 2});
  .
  .
  .
  bgGeo.addGeofence({identifier: "target-phone", notifyOnEntry: true, latitude: 3, longitude: 3});
  .
  .
  .

Thanks !

authors: christocracy lakano


text:
Fix npm install

This fixes npm install command failing on main branch, which I also noticed on other PRs currently open. Hopefully this allows to get the other PRs being merged as well to get tests working and continue improvement of the repo.
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error
npm error While resolving: @caldwell619/react-kanban@0.0.8
npm error Found: eslint@8.57.1
npm error node_modules/eslint
npm error   dev eslint@"^8.24.0" from the root project
npm error
npm error Could not resolve dependency:
npm error peer eslint@"2.x - 6.x" from eslint-plugin-import@2.20.2
npm error node_modules/eslint-plugin-import
npm error   dev eslint-plugin-import@"2.20.2" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.

I use yarn, and it works as is. Interestingly, the lock files were previously in the gitignore. I didn't realize this when I ported the library.
To be transparent, I am hesitant to do a PR for npm when I use yarn successfully. Curious to see what others think. I of course have a lock file on my machine which is now part of the source, as I removed them from the gitignore.

Normally the project should stick to only one. Since this project already has a yarn.lock, the install should be with yarn.
I don’t know if theres another reason for using npm install, otherwise i dont think it is necessary.
Anyway, thanks for the PR.

npm and yarn are mostly interchangeable these days, but agreed you should normally stick with one. I tend to use yarn now as it has some useful performance optimizations and somewhat better support for monorepos.

authors: NathanC Sabrinovsky christopher-caldwell vjanssens

repo: christopher-caldwell/react-kanban


text:
[Install issue]: Dependency missmatch

What happened?
Running pip install chromadb results in a version conflict between types-requests==2.31.0.7 which requires urllib3>=2 and kubernetes==28.1.0 which requires urllib3<2.
Versions
python=3.11.5
Relevant log output
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
types-requests 2.31.0.7 requires urllib3>=2, but you have urllib3 1.26.18 which is incompatible.

Thanks, we don't have a hard bound on kubernetes, so we can make this dependency less restrictive.

Thanks, we don't have a hard bound on kubernetes, so we can make this dependency less restrictive.

@HammadB, upgrading Kubernetes to 29.0.0 fixed for me. Not sure if it's just a mattter of upgrading it here
pip install kubernetes==29.0.0 && pip freeze > requirements.txt

authors: HammadB pafi-code soutot

repo: chroma-core/chroma


text:
Organize Configuration Settings in config.py

This pull request organizes the configuration settings in the config.py file by grouping related settings into separate classes DatabaseSettings and ServerSettings. These classes are then included as submodels in the main Settings class.

Hi @adkri - this is great, but I think this would result in a breaking API change for users because the way you create the relevant settings changes. My intuition is that we should leave this as is for now since the refactor is mostly for cleanliness and not for functionality since it would break the API for users.

Going to close this issue for now as it is stale. @adkri happy to re-open it if you like to jump back in!

authors: HammadB adkri jeffchuber


text:
[ENH]: parallelize applying materialized log to segment writers

Description of changes
Summarize the changes made by this PR.

Improvements & Bug fixes

...

New functionality

...

Test plan
How are these changes tested?

[ ] Tests pass locally with pytest for python, yarn test for js, cargo test for rust

Documentation Changes
Are all docstrings for user-facing APIs updated if required? Do we need to make documentation changes in the docs repository?

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#3359  👈 (View in Graphite)
#3357
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


text:
Use different keywords to cycle through the search buttons on the same page

I have many keywords, and I want to get results by searching, what can I do to repeatedly click search on one page

You can modify this example a bit and then use xpath for selecting the node.

I assume @youshy's reply was helpful. In the future, please use the issue template.

authors: lnmput mvdan youshy

repo: chromedp/chromedp


text:
Whizle

Whizle: turn passive hours of YouTube watching into active learning. It takes the YouTube videos and articles which a professional consumes and converts them into quizzes, flashcards and summaries shared in a social feed.
https://whizle.com
@basheir
Please make sure your repository has a readme with instructions how to run and deploy your project.

please add a repo link

Done, please check, thank you
On Mon, Jan 23, 2023 at 10:31 PM Andreas Thomas @.***>
wrote:

please add a repo link
—
Reply to this email directly, view it on GitHub
https://github.com/chronark/starlog/issues/3#issuecomment-1401098741,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKPKEQDENCECWDW7M5EI7O3WT4BDHANCNFSM6AAAAAAUELIHSE
.
You are receiving this because you authored the thread.Message ID:
@.***>

it's a 404

Ok, I will check it, please note it is a private repository, does it have
to be public?
On Fri, Jan 27, 2023 at 8:39 AM Andreas Thomas @.***>
wrote:

it's a 404
—
Reply to this email directly, view it on GitHub
https://github.com/chronark/starlog/issues/3#issuecomment-1406182085,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKPKEQF4E5RYY3DJJAJPECLWUOCTZANCNFSM6AAAAAAUELIHSE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Yes it needs to be public, how else could people learn from it?

repo: chronark/starlog


text:
[Bug Report]全屏报错

系统：安卓8.0.0
插件版本：1.0.8
E/flutter ( 4166): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method SystemChrome.forceOrientation on channel sososdk.github.com/orientation)

E/flutter ( 4166): #0      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:319:7)

E/flutter ( 4166):  < asynchronous suspension >

E/flutter ( 4166): #1      OrientationPlugin.forceOrientation (package:orientation/orientation.dart:35:26)

E/flutter ( 4166): #2      _AwsomeVideoPlayerState.toggleFullScreen (package:awsome_video_player/src/video.dart:342:25)

E/flutter ( 4166): #3      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)

系统：安卓8.0.0
插件版本：1.0.8
E/flutter ( 4166): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method SystemChrome.forceOrientation on channel sososdk.github.com/orientation)

E/flutter ( 4166): #0      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:319:7)

E/flutter ( 4166):  < asynchronous suspension >

E/flutter ( 4166): #1      OrientationPlugin.forceOrientation (package:orientation/orientation.dart:35:26)

E/flutter ( 4166): #2      _AwsomeVideoPlayerState.toggleFullScreen (package:awsome_video_player/src/video.dart:342:25)

E/flutter ( 4166): #3      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)

全屏需要通过onfullscreen回调，隐藏掉页面掉其他元素，这个会在今后的几个版本中优化，最快这个周末完成

系统：安卓8.0.0
插件版本：1.0.8
E/flutter ( 4166): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method SystemChrome.forceOrientation on channel sososdk.github.com/orientation)

E/flutter ( 4166): #0      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:319:7)

E/flutter ( 4166):  < asynchronous suspension >

E/flutter ( 4166): #1      OrientationPlugin.forceOrientation (package:orientation/orientation.dart:35:26)

E/flutter ( 4166): #2      _AwsomeVideoPlayerState.toggleFullScreen (package:awsome_video_player/src/video.dart:342:25)

E/flutter ( 4166): #3      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)

全屏需要通过onfullscreen回调，隐藏掉页面掉其他元素，这个会在今后的几个版本中优化，最快这个周末完成

你好，不是这个问题，是直接报错了，没有进到回调方法里，报错信息如上

系统：安卓8.0.0
插件版本：1.0.8
E/flutter ( 4166): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method SystemChrome.forceOrientation on channel sososdk.github.com/orientation)

E/flutter ( 4166): #0      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:319:7)

E/flutter ( 4166):  < asynchronous suspension >

E/flutter ( 4166): #1      OrientationPlugin.forceOrientation (package:orientation/orientation.dart:35:26)

E/flutter ( 4166): #2      _AwsomeVideoPlayerState.toggleFullScreen (package:awsome_video_player/src/video.dart:342:25)

E/flutter ( 4166): #3      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)

全屏需要通过onfullscreen回调，隐藏掉页面掉其他元素，这个会在今后的几个版本中优化，最快这个周末完成

你好，不是这个问题，是直接报错了，没有进到回调方法里，报错信息如上

依赖没装好，或者是平台的问题，等我修复把，或者你用as打开项目，看看会不会安装一些插件

嗯，非常感谢，试了下debug不行，但是release是好的

补充一下
后来自定义UI的时候，封装到一个单独的Widget里面后全屏功能可以了。效果很棒😄

Hello. I have the similar problem. When I click on full screen icon, the screen changes orientation to Landscape mode; but it does not go to full-screen mode. I can still scroll. Please note that full-screen works perfectly fine with chewie.

Hello. I have the similar problem. When I click on full screen icon, the screen changes orientation to Landscape mode; but it does not go to full-screen mode. I can still scroll. Please note that full-screen works perfectly fine with chewie.

It will be optimized in a later release, and now you can hide other widget by calling back onfullscreen.
see example:
line: 40 and 360.

authors: chudongvip frankyvij slimcheng


text:
[Potential Bug] Only BOS token when the user only provides system message for LLAMA-3

Hi,
Thanks for maintaining this great repo. I recently find a potential bug: if the user only input the system message, applying LLAMA-3-Instruct template will only return <|begin_of_text|> and completely ignore the provided system message. I guess the problem is in {% set loop_messages = messages[1:] %} when len(messages)==1.
Here is a minimal example to reproduce:
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Meta-Llama-3-8B-Instruct")
chat_template_path = "chat_templates/llama-3-instruct.jinja"
chat_template = open(chat_template_path).read()
chat_template = chat_template.replace('    ', '').replace('\n', '')
tokenizer.chat_template = chat_template
prompts = ["Please help me classify:", "Hello!"]
processed_prompts = [tokenizer.apply_chat_template([{"role": "system", "content": p},  ], tokenize=False, add_generation_prompt=True) for p in prompts]
print(processed_prompts)

The result is:
['<|begin_of_text|>', '<|begin_of_text|>']

It is more of an analysis experiment -- we may want to analyze the controlling power of system prompts, and the necessity of the existence of system prompts. We can also try to investigate whether we can incorporate user inquiry as part of the system prompt. This may be especially helpful in the setting of agent initialization.
But even if we do not consider the specific applications, I still feel this is problematic -- why do we only get "bos_token" when we only input the system message? When setting up "GPTs" at the GPT store, basically we only give a system prompt.

I see. I think in most cases, the user input is still necessary, and the system message can be optional. I will add checks to ensure the chat_messages contain at least one user input.

I think at least, when there is only a system message, the input should be ended with [EOS] as well. While I agree my situation perhaps is not "in most cases", I do want to note that 1) there do exist a recent trend that people start to evaluate at system prompts, like: [1], [2]. 2) Whenever an unexpected input occurs, at least some default choice should be implemented. I do not understand the logic that the setup of the system prompt depends on the user input. It is weird and I do not believe many LLMs intend that.
Just a side question -- do you think you should collaborate with Huggingface to incorporate your template here to be part of their tokenizer naively? I feel this is somewhat not convenient in that every time I need to read the template here and set the tokenizer somehow.

For 1), I think the reference [1] does not adopt official chat templates, and the reference [2] always includes a user question.
For 2), I think it is not "the system prompt depending on the user input", but "prepending the system prompt before the user input". In other words, the system prompt should not be non-sensical if there is no user input.
In fact, I generally follow the logic of looping the non-system messages in llama-2-chat.
For the side question, I will give it a look and see whether it is possible to collaborate with the HF team.

I think there is a misunderstanding -- I cite those papers to prove I am not the only one looking at system prompts. They may conduct experiments in one way or another, but as people are getting interested in system prompt, I think my use case is actually not that rare.
I am confused about the comment that "the system prompt becomes non-sensical if there is no user input" -- why is that? Suppose I write "You are a helpful assistant" as a system prompt (a very commonly used one), it is valid and bears "alignment"/"principled" constraints for follow-up generations even without user inputs. It already changes the model output distribution somehow. Such a prompt is agnostic to what the user would write.
I just do not understand, why it is hard to implement some logic like (perhaps because I am new to Jinja),
if len(messages)==1 then....
else [default]

Great, now it seems we are on the same page. Thanks for the effort of implementing this logic. Let's discuss more on the implementation:
My case is actually:
[
    {"role": "system", "content": "..."}
]

But I think the case for:
[
    {"role": "user", "content": "..."}
]

is also not that rare -- not many people, especially non-NLP people knows the concept of "system prompt". So I would say both situations can happen.

Yes. Currently, the templates support
[
    {"role": "user", "content": "..."}
]

Again, my question is still when
[
    {"role": "system", "content": "..."}
]

will happen? If there is no user input, I think we may not need the "chat" template (as these is no chat).

In other words, I think the user input is necessary when you apply the chat template, no matter whether you prepend the system message.

I have talked about the potential application of system-only messages (I intentionally distinguish the usage of "messages" and "prompts" here. The "prompt" is the formatted "message".) in research. So let's talk more in the chat setting:
Suppose we want to build a streaming chatbot, and we have a long list of regulations (like in Constitutional AI, perhaps should not be trained to be part of the model for safety/legal/privacy concerns) to ask the model to conform with. Following one current popular deployment, we should tokenize this system-only message early and compute KV-cache correspondingly to save deployment costs. In that case, we cannot assume any user inquiry and we should get a properly formated prompt even with only system prompts. We input this prompt to the model and then we can compute the KV cache.

I understand the case of KV-cache. That is an excellent point. Thank you for sharing!
I just pushed the new implementation for simplification and unification. You may give it a try. But for the KV-cache case, one-by-one implementation is still needed for each model.
And once again, I do not recommend to pass
[
    {"role": "system", "content": "..."}
]

to the model. There may be unexpected outputs if no user inputs are provided.

Great work! Thanks for your contribution! I think it would be better if you could write a gentle caution to the user that some unexpected outputs can happen in some cases :-)
Would be happy to create one PR (ninja is not within my expertise so I hesitate to do that, sorry) or you can just write it. I actually think our discussion here has a lot of values for both research and application purposes.

Thanks for your advice. I will add this comment :)

Thanks!


text:
🛑 Hacker News is down

In 54d7847, Hacker News (https://news.ycombinator.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Hacker News is back up in c20ccaf after 10 minutes.

repo: chungvku/status


text:
Same object reference is used for every item in array

Hi there!
I have the following schema snippet:
{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"type": "object",

	"properties": {
		"osc": {
			"type": "object",
			"properties": {
				"address": {
					"type": "string",
					"description": "The IP address or hostname of a Behringer X32 digital mixer."
				},
				"gameAudioChannels": {
					"type": "array",
					"items": {
						"type": "object",
						"properties": {
							"sd": {
								"type": ["integer", "null"]
							},
							"hd": {
								"type": ["integer", "null"]
							}
						}
					},
					"minItems": 4,
					"maxItems": 4
				}
			},
			"required": ["address", "gameAudioChannels"]
		}
	}
}

(It's used to define some config parameters used to monitor the fader and mute status of certain audio channels on the Behringer X32 digital mixer, via its OSC protocol)
My expectation is that the resulting osc.gameAudioChannels would be an array of four unique empty objects. However, due to defaults.js#L194, the same object reference is pushed to every index of the array. This means that later on in my application when I try to mutate these objects, any mutation made to one index affects all indices.
I think that changing default.js#L194 to the following would be sufficient to resolve the problem:
values.push(cloneJSON(value));

Thanks for your time and for this very useful library!
Alex

Thanks for this suggestion, released as 0.3.0

authors: Lange petrbela

repo: chute/json-schema-defaults


text:
🛑 91家纺 is down

In 895ac2e, 91家纺 (https://www.91jf.com/) was down:

HTTP code: 403
Response time: 1181 ms

Resolved: 找家纺网 is back up in 6535bc5 after .

repo: chwang-team/status-hao


text:
ModuleNotFoundError: No module named 'lyrebird.mainwindow'

I just downloaded V1.0.1, when I try to launch it, I get this:
Traceback (most recent call last):
  File "/usr/local/bin/lyrebird/app.py", line 5, in <module>
    import lyrebird.mainwindow as mainwindow
ModuleNotFoundError: No module named 'lyrebird.mainwindow'

Lemme know what other details you need.

Oh, maybe it's a duplicate: https://github.com/chxrlt/lyrebird/issues/5#issuecomment-673480933

What distro are you on what app launcher are you using? Could you also run ls -la /usr/local/bin/lyrebird for me please?

What distro are you on and what app launcher are you using?

Linux Mint, with the Mate DE.
I get nothing when I try to run the shortcut, but if I take the command from the shortcut and try to run it on the terminal, I get the error mentioned above.

Could you also run ls -la /usr/local/bin/lyrebird for me please?

$ ls -la /usr/local/bin/lyrebird
total 48
drwxr-xr-x 3 root root  4096 Aug 13 15:12 .
drwxr-xr-x 3 root root  4096 Aug 13 15:12 ..
-rwxr-xr-x 1 root root   471 Aug 13 16:02 app.py
-rw-r--r-- 1 root root 30521 Aug 13 16:02 icon.png
drwx------ 3 root root  4096 Aug 13 15:12 lyrebird

I get this message as well when launching it using python3 in a terminal. When using dmenu it just never launches.
I am using Manjaro i3 edition.
ls -la /usr/local/bin/lyrebird output:
total 48
drwxr-xr-x 3 root root  4096 Aug 13 08:18 .
drwxr-xr-x 3 root root  4096 Aug 13 08:18 ..
-rwxr-xr-x 1 root root   471 Aug 13 08:18 app.py
-rw-r--r-- 1 root root 30521 Aug 13 08:18 icon.png
drwx------ 4 root root  4096 Aug 13 08:25 lyrebird

Thanks for the info, could you also run:

ls -la  /usr/local/bin/lyrebird/lyrebird/
cat /usr/local/bin/lyrebird/lyrebird/mainwindow.py | head -n 15
python3 /usr/local/bin/lyrebird/lyrebird/mainwindow.py

Sorry for all the commands, I'm just trying to figure out if mainwindow.py is installed and well on your system.
This is what I get for reference:

drwxr-xr-x 4 root root 4096 Aug 13 16:31 .
drwxr-xr-x 3 root root 4096 Aug 13 16:31 ..
drwxr-xr-x 3 root root 4096 Aug 13 16:31 core
-rw-r--r-- 1 root root    0 Aug 13 16:31 __init__.py
-rw-r--r-- 1 root root 8676 Aug 13 16:31 mainwindow.py
drwxr-xr-x 2 root root 4096 Aug 13 16:31 __pycache__

#!/bin/python

import gi
import subprocess

gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gdk, GdkPixbuf

# Core imports
import lyrebird.core.presets as presets
import lyrebird.core.state as state
import lyrebird.core.config as config
import lyrebird.core.utils as utils

from lyrebird.core.presets import Preset

Traceback (most recent call last):
  File "/usr/local/bin/lyrebird/lyrebird/mainwindow.py", line 10, in <module>
    import lyrebird.core.presets as presets
ModuleNotFoundError: No module named 'lyrebird'

For some reason I am getting a permission denied on the folder /usr/local/bin/lyrebird/lyrebird/
The following allowed it to launch
sudo chown spiffy /usr/local/bin/lyrebird/lyrebird/*
No issues after that.

Most likely a permission issue! I've put in a fix in the latest commit on master. Could you git pull, re-run the installer and check it that solves your issue? From the ls dumps it looks as if you can't access the sources folder.

I cloned it anew to guarantee a fresh start, and now I'm getting this on the terminal:
Traceback (most recent call last):
  File "/usr/local/bin/lyrebird/app.py", line 5, in <module>
    import lyrebird.mainwindow as mainwindow
  File "/usr/local/bin/lyrebird/lyrebird/mainwindow.py", line 10, in <module>
    import lyrebird.core.presets as presets
  File "/usr/local/bin/lyrebird/lyrebird/core/presets.py", line 4, in <module>
    import lyrebird.core.config as config
  File "/usr/local/bin/lyrebird/lyrebird/core/config.py", line 3, in <module>
    from dataclasses import dataclass
ModuleNotFoundError: No module named 'dataclasses'

I'll run those commands you asked on a previous reply and come back to post the results.

No need to run what I said before, it looks as if its been solved! Could you find out which Python version you're using by typing python3 --version? My best guess is that your version is out of date.

This is what I'm getting with those 3 commands, in the order you asked:
$ ls -la /usr/local/bin/lyrebird/lyrebird/
total 24
drwxr-xr-x 3 root root 4096 Aug 13 15:12 .
drwxr-xr-x 3 root root 4096 Aug 13 15:12 ..
drwxr-xr-x 2 root root 4096 Aug 13 15:12 core
-rwxr-xr-x 1 root root    0 Aug 13 17:24 __init__.py
-rwxr-xr-x 1 root root 8676 Aug 13 17:24 mainwindow.py

$ cat /usr/local/bin/lyrebird/lyrebird/mainwindow.py | head -n 15
#!/bin/python

import gi
import subprocess

gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gdk, GdkPixbuf

# Core imports
import lyrebird.core.presets as presets
import lyrebird.core.state as state
import lyrebird.core.config as config
import lyrebird.core.utils as utils

from lyrebird.core.presets import Preset

$ python3 /usr/local/bin/lyrebird/lyrebird/mainwindow.py
Traceback (most recent call last):
  File "/usr/local/bin/lyrebird/lyrebird/mainwindow.py", line 10, in <module>
    import lyrebird.core.presets as presets
ModuleNotFoundError: No module named 'lyrebird'

$ python3 --version
Python 3.6.9

The Update Manager app is not suggesting any updates though.

Dataclasses are a Python 3.7+ feature, I'm not sure why you're not seeing an update! :-(

Linux Mint 19.3 (and Ubuntu 18.04, more generally) comes with Python 3.6.9, TiagoTiago will need to upgrade to Linux Mint 20 to get a version of Python that's new enough sadly :(

sudo apt install python3.7

Ah, I wasn't aware it was in the repos as a separate package. That would mean you can run Lyrebird by replacing python3 in the .desktop file with python3.7 specifically (since python3 would still be calling Python 3.6 as the default), but it's a little annoying and unintuitive for new users. It'd be a bit of a bodge but maybe the install.sh script could install a special .desktop file for Ubuntu 18.04 and Linux Mint 19.3 that points to python3.7 instead, and to mention it as a dependency for those versions.

authors: TiagoTiago calexil chloecormier harrego underspiffy

repo: chxrlt/lyrebird


text:
We need to dress up our demos so that they look more awesome

Ideally, all of our demos should have a common header and some controls which allow navigation between them. Many of our demos look very low-budget and craigs-listy (frost-bunsen is a poster-child for this)

yeah totally

authors: cstolli psbanka

repo: ciena-frost/ember-frost-core


text:
Idempotent Cilium Install ?

Just noticed that when issuing cilium install 2x in a row, the second execution fails because resources (service accounts, config maps, daemonsets, etc) have been created already. Is this intended ?
How to reproduce:
Release v0.5
$> cilium install
...
...
✅
$> cilium install
...
..
Error: Unable to install Cilium:  unable to create secret kube-system/hubble-server-certs: secrets "hubble-server-certs" already exists

From a security perspective, it could make sense to abort installation, i.e.: one could argue that the cluster has been compromised with a certificate that an attacker has access to and all cilium-related bytes can be read, so in this case it's good to abort the installation. If we want to abort installation, should we at least say why we are aborting ? From a users perspective, reading this message doesn't tell me much on what next steps I should take to fix this.
P.S.: I opened a PR that goes for idempotent. No tests yet, since I'm not sure if idempotency is not intended here. Alternatively, we could add a friendly message. Let me know what you think.
Cheers !

closing as we don't need idempotency. The issue evolved into telling users to do a cilium upgrade if they are trying to reinstall cilium.

closing as we don't need idempotency. The issue evolved into telling users to do a cilium upgrade if they are trying to reinstall cilium.

I'd like to reopen this feature request as it would simplify declarative approaches to defining the way that I want Cilium to be created in an environment. From the PR discussion, it looks like there is some desire still to do idempotency, it just needs to take into account that upgrading an existing environment should not replace secrets etc.

authors: joestringer lfundaro

repo: cilium/cilium-cli


text:
defaults: Move Version and HelmRepository from const to var

Make Version and HelmRepository variables instead of consts so that they can be overridden using build tags.

chatted a bit with @tklauser about this offline. we decided to use go build -X flag to override consts as needed. closing this issue, i'll do some cleanup in https://github.com/cilium/cilium-cli/pull/2437 to make it easier to override -X flag 🎏


text:
Docs: Uninstallation procedure

The process to remove cilium is not documented. The documentation should have a section to help users uninstall Cilium.

+1

I just tried cilium on a gke test cluster and eventually removed it, now I have a non working cluster and I have no idea how to recover aside from nuking it and rebuilding it...
That's possibly the worst user experience possible and I cannot find anything on how to uninstall cilium cleanly...

Hey @pchaigno,
Quick question about this, does cilium uninstall cleanly uninstall cilium?
I used it earlier on a cluster and it looks like it did but just want to be sure and maybe find a way to add it to the documentation.

So sorry for getting to this late.
Yes, I did install with cilium install. If I did with helm it will be just to uninstall the release right?

Recent versions of the Cilium CLI will uninstall a Helm release. Earlier versions of the CLI can be used to cilium uninstall non-Helm-based installations. This table in the Cilium CLI Readme indicates which version to use.

authors: Kikiodazie asauber johnlanni schmurfy seanmwinn

repo: cilium/cilium


text:
Docs:   Add connectivity-check.yaml instructions Cilium troubleshooting section

A good way to "sanity check" connectivity, policy enforcement, and DNS L7-visibility in an environment is to use the connectivity check yaml as described at the end of our getting started guides: https://docs.cilium.io/en/v1.7/gettingstarted/minikube/#deploy-the-connectivity-test
However, this connectivity check tool should also be mentioned in our troubleshooting "connectivity problems" section, but is not:     https://docs.cilium.io/en/v1.7/troubleshooting/#connectivity-problems
One suggestion that is particularly important if people will be deploying this into existing environments is that this YAML will only work if deployed in a "clean" namespace with no existing network policies.   By default, the instructions currently deploy it in the default namespace, but it might be safer to create it is a special standalone namespace to avoid conflicts with any existing policies.   Note:  it will also not be compatible with the use of "cluster-wide-network-policies" and we might want to call that out.

Also talked about including a table of how to interpret negative results.


text:
docker, runtime: remove apt cache in runtime image

Do as suggested in the Dockerfile best practices [1].  This further
reduces the footprint of the cilium-runtime image by ~26MB.
[1] https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run

test-me-please

Coverage decreased (-0.06%) to 45.414% when pulling abec38734da8027714bc50774ffb9f960922839b on pr/tklauser/docker-runtime-remove-apt-cache into 00bba82373b1d6671807aab84b10c179c6e338c2 on master.

test-me-please

Testing this needs to wait for the cilium-runtime image build on quay to finish.

test-me-please

authors: borkmann christarazi coveralls tklauser


text:
docs: backport documentation additions

Update backport documentation

Added @joestringer's suggestions and squashed everything into a single commit.

Careful with your PR title, I thought you meant to backport some “documentation additions” :)

authors: kkourt qmonnet


text:
README: update security releases

Signed-off-by: André Martins andre@cilium.io

I think versions should be bumped in SECURITY.md as well.

It's the first time I'm seeing this file :D

Github UI messed up when I tried to merge, will fix in a moment.

authors: aanm joestringer


text:
rate: fix TestStressRateLimiter when run with race detector

This test is currently failing consistently when run under the race
detector. Similar to TestAllocateID in pkg/idpool, decrease the number
of parallel goroutines when running the test under the race detector.
Fixes #13508

It seems we don't run the unit tests with race detector on PRs by default:
https://github.com/cilium/cilium/blob/2a27fdba92cb9589afcdf54de0ca926b7c092a98/.travis.yml#L14-L16
I've pushed a temporary commit enabling Travis CI race builds (a05525097a37ee25f3f3f5a94bdecdbf8c879f2e) and will drop it again once the build passed.

Travis CI race build failed due to different issues. I've verified this PR locally now using go test -race -check.f StressRateLimiter -count 1000 and it passed. Dropped the temporary change to .travis.yml.

Reviews are in, GH actions and Travis CI passed. Respective race unit tests have been verified locally. Marking as ready to merge.


text:
vagrant: Bump all Vagrant box versions except net-next

We can't bump net-next yet because there's an issue with the vboxsf kernel module.
Other VM images are bumped mostly to include the new Go version for Cilium.

/test-1.16-4.9

/test-1.21-5.4

/test-1.22-4.19

/test-1.22-4.19

/test-1.16-4.9

/test-1.22-4.19

/test-1.22-4.19

/test-1.22-4.19

/test-1.22-4.19

/test-1.22-4.19


text:
hive: Add support for group of cells and decorators

This commit is preparing for being able to have a custom "nested" lifecycle (see WithCustomLifecycle) in the operator so that we can have a subset of cells that are only started when the operator is elected leader.

This refactors the hive package in order to support "decorator" cells that wrap some set of cells to provide the set with an augmented object.
As it is looking more probable that it makes sense to implement directly on top of dig, this commit drops use of fx.Option directly and instead implements Provide and Invoke that take the functions directly. Additionally type aliases are provided for fx.Hook and fx.Lifecycle. This way transitioning towards a lighter implementation directly on top of dig is easier.
The cell related functions have been moved into "pkg/hive/cell" for cleaner separation from hive functions. Changes to other packages other than pkg/hive are to convert them to the new import path and shorter function names (NewCell->Provide).
Config is now a separate "cell type" and takes the default configuration as parameter. This allows a cleaner way for providing defaults to a cell (see gops.Cell).
The configuration dumping in "cilium-agent objects" is for now removed as the output was not very pretty and it is yet unclear how this should be done cleanly with nested cells.

To be honest, I'm not really sure how to review the hive / cells code because I'm not familiar with the fx library. I understand what fx / hive / cells are trying to do at a high-level, but I feel like I can't really provide a proper review of the implementation. What can we do about this?

Yeah I knew that this would be an issue with this PR, and doesn't help that I'm trying to rush this one a bit since I need it for operator refactoring which @dylandreimerink needs.
I'd be happy to do a walkthrough of the changes in this PR and the overall direction this is heading to if that helps.
To summarize what this PR changes in an example:
Before:
var ExampleCell = hive.NewCellWithConfig[ExampleConfig](
  "example",
  fx.Provide(newExample))

After:
var ExampleCell = cell.Group(
  "example",
  cell.Config(defaultExampleConfig),
  cell.Provide(newExample),
)

There's now different cell types, so config isn't so baked in. The config cell now takes the default config as parameter, which can allow parametrizing the cell for different use-cases (e.g. the gops cell has different default port if it's used in agent vs operator).
The use of fx is now hidden so it'll appear more as a single library to the user. This also allows reimplementing it on top
of dig directly, which increasingly seems like the right thing to do (there's already
hacks needed around fx to for example extract information about start and stop hooks for the cilium-agent objects command).

@glibsm If you've got some spare cycles, could you help review this?

There's now different cell types, so config isn't so baked in. The config cell now takes the default config as parameter, which can allow parametrizing the cell for different use-cases (e.g. the gops cell has different default port if it's used in agent vs operator).

Thanks, this helped ease my understanding a bit.
Overall, it looks good to me. Maybe I'm overly pedantic about the Fixes in the commit msgs, but it would be really nice to keep chaining the Fixes so that we can properly track regressions such as the one fixed in the second commit and where they came from, especially with such a large refactor like moving to the hive / cell style code.

Ah here I didn’t put a ”Fixes” in as it was more of a ”footgun removal” rather than a real bug fix. Though definitely could have. I’ll rebase this on Monday and the Fixes for this. Thanks!

Converted to draft as it makes sense to just make the leap to writing this in dig as it massively simplifies things.

Closing in favour of https://github.com/cilium/cilium/pull/21562. I've addressed all comments there.


text:
workflows: Bump timeout of ConformanceKind workflow

With the connectivity tests now taking almost 10min, the 30min timeout of the ConformanceKind workflow doesn't leave a lot of time for Cilium installation, image waiting time, etc. The workflow is thus often timing out.
This pull request bumps the timeout to 45min.

Added the needs-backport label since we are starting to hit the save in 1.12 branch

authors: aanm pchaigno


text:
v1.13 backports 2023-02-18

[ ] #23763 -- envoy: Avoid empty typeURL for all resources (@sayboras)

Once this PR is merged, you can update the PR labels via:
$ for pr in 23763; do contrib/backporting/set-labels.py $pr done 1.13; done

/test-backport-1.13

Were there any conflicts?

Nope, I thought there is conflict with API update, but luckily we upgrade envoy API before release.


text:
fix(helm): add missing updateStrategy to hubble-ui deployment

This PR ensures that helm value hubble.ui.updateStrategy is actually rendered.

/test

Two jobs (ci-l4lb and ci-verifier) are not required for this change, all other jobs are successfully ran. Reviews from required groups are in.
Marking this ready to merge.

authors: mhulscher sayboras


text:
vagrant: Bump box versions for ubuntu 22.04

The new box versions are with ubuntu 22.04, which is in-sync with cilium base image.
Please ensure your pull request adheres to the following guidelines:
vagrant: Bump box versions for ubuntu 22.04

/test

/test-runtime

/test-1.16-4.19

/test-1.25-4.19

/test-1.16-4.19

/test-1.25-4.19

/test-1.16-4.19

/test-1.25-4.19

/test-runtime

/test-1.24-5.4

/test-1.26-net-next

/test-runtime

/test-runtime


text:
[aws][eni] Ensure security-groups are sorted

Please ensure your pull request adheres to the following guidelines:

[ ] For first time contributors, read Submitting a pull request
[ ] All code is covered by unit and/or runtime tests where feasible.
[ ] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[ ] If your commit description contains a Fixes: <commit-id> tag, then
please add the commit author[s] as reviewer[s] to this issue.
[x] All commits are signed off. See the section Developer’s Certificate of Origin
[ ] Provide a title or release-note blurb suitable for the release notes.
[ ] Are you a user of Cilium? Please add yourself to the Users doc
[ ] Thanks for contributing!

Under certain circumstances, AWS may return the security-group information in a different order than previously. That causes the operator in AWS ENI mode to update all CiliumNode objects causing further downstream impacts. This change ensures that the security groups are sorted to prevent the unnecessary updates.
Fixes: N/A
In AWS ENI mode, ensure that `securityGroup` information is always sorted.

/test

Hi @jaredledvina, still interested in landing this?

@ti-mo - Yep, sorry I didn't see Chris' comment!
@christarazi - I can take another look to confirm, there was some complexities originally given that the security groups are passed around as a map most of the time.

I've marked this as draft while you investigate the above. When you're ready to proceed, click "Ready for review" at the bottom of the page.

authors: hemanthmalla jaredledvina joestringer ti-mo


text:
v1.12 backport: Policy deny override redirect

[ ] #26344 (@jrajahalme)

Once this PR is merged, you can update the PR labels via:
for pr in 26344; do contrib/backporting/set-labels.py $pr done 1.12; done

or with
make add-labels BRANCH=v1.12 ISSUES=26344

/test-backport-1.12

authors: jibi jrajahalme


text:
k8s: Add new fields into slim Service/Endpoint/EndpointSlice structs

Please refer to individual commit for more details.

/test


text:
envoy: Add host identity (nphds) gRPC client

Adding the gRPC client for NPHDS makes the destination identity available for
L3-dependent egress policy enforcement.
Refactor gRPC subscription code to share it for host IP - security ID mapping.
We never supported using more than one "xdsCluster", hard code it so
that we don't need to keep configuring it from all filter instances.
Change "bpf_root" default to an empty string, and do not use bfp if
"bpf_root" is not configured.
Do not try to remove proxymap entries if we don't know the proxy_port
(zero proxy_port implies no bpf).
NOTE: Ian's xds cache fix (#3403) is cherry-picked here to be able to test this in CI.

test-me-please

test-me-please


text:
pkg/endpoint: delete unused const backupDirectorySuffix in directory.go

As the introduction of commit acf3141f3596, backupDirectorySuffix is no longer used, thus delete this const.

/test

Rebased to pull in integration test fixes.

/test


text:
WIP: Added net-next jenkins trigger after master.

Signed-off-by: Eloy Coto eloy.coto@gmail.com

This change is

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please


text:
cilium: encryption, add encrypt-node option to encrypt node traffic

Adds an option --encrypt-node used to encrypt traffic from nodeIP, e.g. the IP associated with encrypt-interface.

This change is

todo:
(a) disallow with tunnel mode
(b) rebase
(c)  test a couple more paths.

test-me-please

Pushed latest with rebase, a couple follow patches are needed but don't think they need to be in this series. These are tunnel mode support, patch to support node to pod encryption (its a small patch), optimization for 4.14+ kernels to avoid second pass through stack.

Coverage decreased (-0.08%) to 41.726% when pulling 522eb1b4e1af7b82ea8d47634d06dfa847562ca4 on encrypt-nodes into fc90d3b0c876c1eaef038e59a107b213c4eb6e6d on master.

test-me-please

test-me-please

failed but all we did here is update daemon.sha,
https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/12715/

test-me-please

test-me-please

only change from last passing run is a sha update.

test-me-please

authors: coveralls jrfastab


text:
Use github.com/cilium/cilium/pkg/alignchecker to check C and Go structs offsets and sizes

The Cilium's alignchecker should be extended to support BTF instead of DWARF. AFAIK, @ti-mo is planning to do so.

Golang supports struct's host layout since go1.23 by structs.HostLayout.
Would it be better to mark bpf2go-generated structs as host layout?

It will when ebpf-go targets 1.23, we always target the second-newest version.

authors: Asphaltt brb ti-mo

repo: cilium/pwru


text:
CIN-01910: Issues with Dates

Overview
Summary of the changes and the related issue: Added a consistent formatting step to the query generation in cases where a date field has been updated.
Relevant motivation and context: Some users were experiencing an issue where the month and day were being switched due to their locale, which is at best incorrect and at worst a component crash when the date was anything over 12. These changes ensure that the server and the client are working with the same information, and that the user selections persist as they selected them.
Affected components and dependencies:  Form class (generateSaveQuery and generateSaveForChildQuery functions)
Related pull requests: N/A
Type of change
[ ] Refactor (this change should have no impact on existing functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
Pre-Review Checklist:
[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my code.
[x] I have tried to write code that conveys its intention. Where further background is required, comments are added as needed.
[x] My changes generate no new warnings.
[ ] Changes contain applicable unit tests or a justification why tests are not needed or possible.
[x] The scope of this merge request is appropriate for a single review.
Merge Considerations:
[ ] Includes model version upgrade.
[ ] Requires config change.
[ ] Requires deployment template change.
[ ] Dependent on other code changes (has upstream impact).
[ ] Impacts other components (has downstream impact).
[x] Requires special testing.
[ ] This change requires a documentation update.
Notes to the Reviewer
Testing should take into consideration different locales and timezones. It's important to ensure that the date does not change from what the user selected after it has gone to the database and that the form reloads with the correct date selected.

No risk, unifies the date format when saving the form.

authors: DAquilinaCinchy cysonya

repo: cinchy-co/meta-forms-app-experience


text:
getting error as "cannot read property 'getAll' of undefined"

Hi when i run the code as mentioned in your read.md it shows me error like "cannot read property 'getAll' of undefined"

Hello, did you try to restart your all environment?

ya i tried it

@ranjith29h  sorry for delay message, please try with this in command line react-native link

@cinder92 hi I have same issue. could you show what I need import in my MainApplication.java
because in my project when i do react-native-link its return error when try setup MainApplication

@cinder92 I have the same issue as ranjith . I tried react-native link command but no luck  your package its not working at all. could you share us a working sample if possible. Thanks in advance

Fixed in V2


text:
饼图占比为0的时候为什么是全部呢

请提供更有意义的 issues

authors: cipchk zhengyanghuaer

repo: cipchk/ng-alain


text:
Revert Scala Fiddle version

Thought I'd checked this…

Codecov Report

Merging #1087 into master will increase coverage by 0.2%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #1087     +/-   ##
=========================================
+ Coverage   84.27%   84.48%   +0.2%
=========================================
  Files          76       76
  Lines        2436     2436
  Branches      184      186      +2
=========================================
+ Hits         2053     2058      +5
+ Misses        383      378      -5

Impacted Files
Coverage Δ

.../core/shared/src/main/scala/io/circe/Decoder.scala
90.82% <0%> (+0.29%)
:arrow_up:

...rc/main/scala/io/circe/numbers/BiggerDecimal.scala
90.96% <0%> (+1.2%)
:arrow_up:

...re/shared/src/main/scala/io/circe/JsonNumber.scala
95% <0%> (+1.25%)
:arrow_up:

...re/shared/src/main/scala/io/circe/KeyDecoder.scala
100% <0%> (+2.7%)
:arrow_up:

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 9bdcce2...d88f4dd. Read the comment docs.

authors: codecov-io travisbrown

repo: circe/circe


text:
Cleanup makefile and docs

Motivation and Context
Fix some inconsistencies, and remove dead docs and config.
Description

update the Makefile targets to be more consistent in order and pluralization
remove the need to mkdir outside of the Makefile
remove dead docs and config related to inference

@dnephin Can you rebase? :}

authors: dnephin zzak

repo: circleci/circleci-images


text:
Provide an alternative CloudFormation-based CircleCI stack

I previously submitted this to our account manager.. but we weren't happy with the Terraform stack system, so we built our own CFN stack. I would really love to have this stack integrated in your codebase as an alternative for your users who want to do it entirely in CFN.
I'm happy to help maintain the stack and try to keep it up to date with your changes. Let me know what you think.

I added to commits to this PR after submitting it.. so I figured I'd show how the CFN stack update works using our Kingpin tool (https://kingpin.readthedocs.org) as the driver for the stack.
Dry Run
07:11:25   WARNING   [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES-DEV] Parameter "SecretPassphrase" has NoEcho set to True. Will not use in parameter comparison.
07:11:26   WARNING   [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Parameter "SecretPassphrase" has NoEcho set to True. Will not use in parameter comparison.
07:11:26   INFO
07:11:26   WARNING   Lights, camera ... action!
07:11:26   INFO
07:11:26   INFO      [DRY: kingpin.actors.group.Sync] Beginning 2 actions
07:11:26   WARNING   [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES-DEV] Skipping execution. Condition: false
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Validating template with AWS...
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Ensuring that CF Stack CIRCLECI-CORE-SERVICES is present
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Verifying that stack is in desired state
07:11:26   WARNING   [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Stack templates do not match.
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: ---
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +++
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: @@ -46,5 +46,5 @@
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:       ('sa-east-1', [('AMI', 'ami-ec1b6a80')]),
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:       ('us-east-1', [('AMI', 'ami-845367ff')]),
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -     ('us-east-2', [('AMI', 'ami-1680a373')]),
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +     ('us-east-2', [('AMI', 'ami-43391926')]),
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:       ('us-west-1', [('AMI', 'ami-5185ae31')]),
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:       ('us-west-2', [('AMI', 'ami-103fdc68')])])]),
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: @@ -669,14 +669,8 @@
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:             [('Statement',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:               [[('Action',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -                ['ec2:CreateTags', 'ec2:RunInstances']),
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -               ('Effect', 'Allow'),
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -               ('Resource',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -                [('Fn::Sub', 'arn:aws:ec2:${AWS::Region}:*')])]]),
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -            ('Version', '2012-10-17')]),
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -          ('PolicyName', 'RunInstancesOnDemand')],
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -         [('PolicyDocument',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -           [('Statement',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -             [[('Action',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -                ['ec2:StopInstances',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +                ['ec2:AttachVolume',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +                 'ec2:DeleteVolume',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +                 'ec2:DetachVolume',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +                 'ec2:StopInstances',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:                   'ec2:TerminateInstances']),
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:                 ('Condition',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: @@ -689,4 +683,15 @@
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:              ('Version', '2012-10-17')]),
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:            ('PolicyName', 'TerminateMyOwnInstances')],
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +         [('PolicyDocument',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +           [('Statement',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +             [[('Action',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +                ['ec2:CreateTags',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +                 'ec2:CreateVolume',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +                 'ec2:RunInstances']),
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +               ('Effect', 'Allow'),
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +               ('Resource',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +                [('Fn::Sub', 'arn:aws:ec2:${AWS::Region}:*')])]]),
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +            ('Version', '2012-10-17')]),
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +          ('PolicyName', 'RunInstancesOnDemand')],
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:           [('PolicyDocument',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:             [('Statement',
07:11:26   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Generating a stack Change Set...
07:11:27   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Waiting for arn:aws:cloudformation:us-west-2:xxx:changeSet/kingpin-db94025b79914790834bbb60df29a67d/c333fa5f-5a66-43f6-9b06-57876ee5b2e7 to reach CREATE_COMPLETE
07:11:27   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Change Set state is CREATE_PENDING, waiting 5(s)...
07:11:32   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Change Set state is CREATE_IN_PROGRESS, waiting 5(s)...
07:11:37   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Change Set state is CREATE_IN_PROGRESS, waiting 5(s)...
07:11:42   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Change Set state is CREATE_IN_PROGRESS, waiting 5(s)...
07:11:48   WARNING   [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Change: Modify AWS::IAM::Role ServicesRole/CIRCLECI-CORE-SERVICES-ServicesRole (Replacement? False)
07:11:48   WARNING   [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Would have executed Change Set arn:aws:cloudformation:us-west-2:xxx:changeSet/kingpin-db94025b79914790834bbb60df29a67d/c333fa5f-5a66-43f6-9b06-57876ee5b2e7
07:11:48   INFO      [DRY: CloudFormation Stack CIRCLECI-CORE-SERVICES] Done updating template

Real Run
Building projects/circleci_bootstrap.yaml (DRY: false)
07:13:10   WARNING
07:13:10   WARNING   *** You have disabled the dry run.
07:13:10   WARNING   *** Execution will begin with no expectation of success.
07:13:10   WARNING
07:13:10   INFO      [Kingpin] Preparing actors from projects/circleci_bootstrap.yaml
07:13:11   WARNING   [CloudFormation Stack CIRCLECI-CORE-SERVICES-DEV] Parameter "SecretPassphrase" has NoEcho set to True. Will not use in parameter comparison.
07:13:11   WARNING   [CloudFormation Stack CIRCLECI-CORE-SERVICES] Parameter "SecretPassphrase" has NoEcho set to True. Will not use in parameter comparison.
07:13:11   INFO
07:13:11   WARNING   Lights, camera ... action!
07:13:11   INFO
07:13:11   INFO      [kingpin.actors.group.Sync] Beginning 2 actions
07:13:11   WARNING   [CloudFormation Stack CIRCLECI-CORE-SERVICES-DEV] Skipping execution. Condition: false
07:13:11   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Validating template with AWS...
07:13:11   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Ensuring that CF Stack CIRCLECI-CORE-SERVICES is present
07:13:11   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Verifying that stack is in desired state
07:13:12   WARNING   [CloudFormation Stack CIRCLECI-CORE-SERVICES] Stack templates do not match.
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: ---
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +++
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: @@ -46,5 +46,5 @@
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:       ('sa-east-1', [('AMI', 'ami-ec1b6a80')]),
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:       ('us-east-1', [('AMI', 'ami-845367ff')]),
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -     ('us-east-2', [('AMI', 'ami-1680a373')]),
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +     ('us-east-2', [('AMI', 'ami-43391926')]),
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:       ('us-west-1', [('AMI', 'ami-5185ae31')]),
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:       ('us-west-2', [('AMI', 'ami-103fdc68')])])]),
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: @@ -669,14 +669,8 @@
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:             [('Statement',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:               [[('Action',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -                ['ec2:CreateTags', 'ec2:RunInstances']),
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -               ('Effect', 'Allow'),
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -               ('Resource',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -                [('Fn::Sub', 'arn:aws:ec2:${AWS::Region}:*')])]]),
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -            ('Version', '2012-10-17')]),
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -          ('PolicyName', 'RunInstancesOnDemand')],
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -         [('PolicyDocument',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -           [('Statement',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -             [[('Action',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: -                ['ec2:StopInstances',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +                ['ec2:AttachVolume',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +                 'ec2:DeleteVolume',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +                 'ec2:DetachVolume',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +                 'ec2:StopInstances',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:                   'ec2:TerminateInstances']),
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:                 ('Condition',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: @@ -689,4 +683,15 @@
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:              ('Version', '2012-10-17')]),
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:            ('PolicyName', 'TerminateMyOwnInstances')],
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +         [('PolicyDocument',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +           [('Statement',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +             [[('Action',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +                ['ec2:CreateTags',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +                 'ec2:CreateVolume',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +                 'ec2:RunInstances']),
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +               ('Effect', 'Allow'),
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +               ('Resource',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +                [('Fn::Sub', 'arn:aws:ec2:${AWS::Region}:*')])]]),
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +            ('Version', '2012-10-17')]),
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff: +          ('PolicyName', 'RunInstancesOnDemand')],
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:           [('PolicyDocument',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Diff:             [('Statement',
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Generating a stack Change Set...
07:13:12   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Waiting for arn:aws:cloudformation:us-west-2:xxx:changeSet/kingpin-f59a412a973e48f7b1de9a07167c77b2/bcc6a798-79de-4378-b796-eec2210a2569 to reach CREATE_COMPLETE
07:13:13   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Change Set state is CREATE_PENDING, waiting 5(s)...
07:13:18   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Change Set state is CREATE_IN_PROGRESS, waiting 5(s)...
07:13:23   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Change Set state is CREATE_IN_PROGRESS, waiting 5(s)...
07:13:28   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Change Set state is CREATE_IN_PROGRESS, waiting 5(s)...
07:13:33   WARNING   [CloudFormation Stack CIRCLECI-CORE-SERVICES] Change: Modify AWS::IAM::Role ServicesRole/CIRCLECI-CORE-SERVICES-ServicesRole (Replacement? False)
07:13:33   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Executing change set arn:aws:cloudformation:us-west-2:xxx:changeSet/kingpin-f59a412a973e48f7b1de9a07167c77b2/bcc6a798-79de-4378-b796-eec2210a2569
07:13:34   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Waiting for arn:aws:cloudformation:us-west-2:xxx:changeSet/kingpin-f59a412a973e48f7b1de9a07167c77b2/bcc6a798-79de-4378-b796-eec2210a2569 to reach EXECUTE_COMPLETE
07:13:34   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Change Set state is AVAILABLE, waiting 5(s)...
07:13:39   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Change Set state is EXECUTE_IN_PROGRESS, waiting 5(s)...
07:13:44   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Change Set state is EXECUTE_IN_PROGRESS, waiting 5(s)...
07:13:49   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Change Set state is EXECUTE_IN_PROGRESS, waiting 5(s)...
07:13:54   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Change Set state is EXECUTE_IN_PROGRESS, waiting 5(s)...
07:13:59   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Change Set state is EXECUTE_IN_PROGRESS, waiting 5(s)...
07:14:04   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Change Set state is EXECUTE_IN_PROGRESS, waiting 5(s)...
07:14:10   INFO      [CloudFormation Stack CIRCLECI-CORE-SERVICES] Done updating template

+1 for CFN support!

We are closing due to us being unable to actively support CloudFormation at this time. We encourage you to maintain a fork if this is something you require.

authors: LaikaN57 demophoon diranged

repo: circleci/enterprise-setup


text:
Proposal: allow assigning outputs to more that one collection.

Currently, the upload_options.collections dictionary will assign the collection that has the first match.
For example a typical collections dict might be
"collections": {
    "landsat-8": "$[?(@.id =~ 'LC08.*')]",
    "sentinel-2": "$[?(@.id =~ 'S2.*')]"
}

However, we have a case where we want to publish an item to multiple collections.  It's likely not a common case, however by explicitly allowing for multiple matches it also requires a payload writer to be more exact in how they write the JSONPath expressions.
In this case we may have:
"collections": {
    "landsat-8": "$[?(@.id =~ 'LC08.*')]",
    "sentinel-2": "$[?(@.id =~ 'S2.*')]",
    "landsat-8-legacy": "$[?(@.id =~ 'LC08.*')]"
}

So that Landsat-8 items would be put in both the "landsat-8" and "landsat-8-legacy" collections.

I understand the need and desire to produce items that belong to multiple collections, however I am uncertain how this would work in practice. Maybe you can help me understand?
Specifically, in your example, a Landsat 8 item matches both collections, but STAC items can have only one collection defined, correct? If so, does this mean we need to duplicate this item in the workflow output for each additional matched collection? Or does one of these collections take precedence for the workflow output (last or first matched?) and we only consider multiple collection matches when publishing (so we publish more items than are in the workflow output)?
I don't love either of these solutions. The former seems preferable for some reasons, but in either case you end up with multiple items representing the same (meta)data, and that seems problematic from both a data consistency and catalog management perspective.
Does this situation potentially point at a gap in the STAC spec, that supporting only a single collection per item is too limiting? Should the spec allow items to have multiple collections? Or do we need a new concept to cover such "item aliases"?
I think we've discussed the idea of dynamic collections before. Would that perhaps be an idea here?

The intention would be that it would be published, separately, to each collection so yes it would be duplicated.

This can be accommodated as @ircwaves mentions above by explicitly duplicating items and relying on the collections patterns to classify appropriately. As such it is currently supported and nothing needs to be implemented for use-cases that require this behavior.

authors: jkeifer matthewhanson

repo: cirrus-geo/cirrus-geo


text:
unable to make

I am building on windows platform. I am unable to make it successfully.
I tried several times but failed.
Thanks

@Ghayas-cyber
please install cygwin(make must be include) or MinGW on you Windows platform.

or could you provide more  detailed log/error message?

@GuangweiWang Thanks for reply. I follow all instructions but unable to configure Open.H264.
The issue is I cannot make it using MinGW. Can you please guide me. Thanks

@GuangweiWang When I try to 'make' it shows following messages.
MSYS /c/openh264-master
$ make ARCH=x86_64
Makefile:83: build/platform-msys_nt.mk: No such file or directory
make: *** No rule to make target 'build/platform-msys_nt.mk'.  Stop.

what up yall try to fuck me up
Sent from Yahoo Mail for iPhone
On Sunday, December 26, 2021, 3:08 PM, Syed @.***> wrote:
@GuangweiWang When I try to 'make' it shows following messages.
MSYS /c/openh264-master
$ make ARCH=x86_64
Makefile:83: build/platform-msys_nt.mk: No such file or directory
make: *** No rule to make target 'build/platform-msys_nt.mk'. Stop.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

fuck yall doing
Sent from Yahoo Mail for iPhone
On Sunday, December 26, 2021, 3:08 PM, Syed @.***> wrote:
@GuangweiWang When I try to 'make' it shows following messages.
MSYS /c/openh264-master
$ make ARCH=x86_64
Makefile:83: build/platform-msys_nt.mk: No such file or directory
make: *** No rule to make target 'build/platform-msys_nt.mk'. Stop.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

according to you error message, I suppose you used the minGW bash.
you can try to specify your OS as this:
make OS=msvc ARCH=x86_64    #will pick up the msvc compiler
make OS=mingw_nt ARCH=x86_64  #will pick up the compiler in mingw
make OS=cygwin_nt ARCH=x86_64  #will pick up the compiler in cygwin
in addition, it is recommended that you‘d better use windows cmd and add the minGW path to PATH

@GuangweiWang Thanks alot. Can you please share email I want to send you details. Thanks

@GuangweiWang Thanks alot. Can you please share email I want to send you details. Thanks

guangwwa@cisco.com

@GuangweiWang I send you email. thanks

@GuangweiWang
I run the following command from within Project Directory (C:\openh264-master)
C:\openh264-master>make OS=mingw_ntARCH=x86_64
Makefile:83: build/platform-mingw_ntARCH=x86_64.mk: No such file or directory
make: *** No rule to make target 'build/platform-mingw_ntARCH=x86_64.mk'.  Stop.

@GuangweiWang I run the following command from within Project Directory (C:\openh264-master) C:\openh264-master>make OS=mingw_ntARCH=x86_64 Makefile:83: build/platform-mingw_ntARCH=x86_64.mk: No such file or directory make: *** No rule to make target 'build/platform-mingw_ntARCH=x86_64.mk'. Stop.

you should keep at least one space between these 2 paramters OS=mingw_nt      ARCH=x86_64

@GuangweiWang Thanks. do you mean OS=mingw_nt ARCH=x86_64?  Do i need to run it from MinGW or windows command line.

@GuangweiWang Thanks. do you mean OS=mingw_nt ARCH=x86_64? Do i need to run it from MinGW or windows command line.

yes. windows command line is recommended.
and you can choose provided .bat to compile like this:
cd openh264\build;
AutoBuildForWPAndWindows.bat

Is this problem solved?

I got this message?
$ make ARCH=x86_64 OS=msvc
cl -O2 -Ob1 -Oy- -Zi -FS -GF -GS -Gy -DNDEBUG -MT -DNDEBUG  -DX86_ASM -DHAVE_AVX2 -nologo -W3 -EHsc -fp:precise -Zc:wchar_t -Zc:forScope -D_VARIADIC_MAX=10 -DGENERATED_VERSION_HEADER -DHAVE_AVX2 -I./codec/api/svc -I./codec/common/inc -Icodec/common/inc   -c -Focodec/common/src/common_tables.obj codec/common/src/common_tables.cpp
make: cl: No such file or directory
make: *** [codec/common/targets.mk:116: codec/common/src/common_tables.obj] Error 127

Does this issue still exsit? And did you install the correct environment as in ReadMe?
If no update, it will be closed.


text:
Kompaktanleitung - Texte V1

Texte von Stefan Sander eingefügt und die Typographie angepasst

gemerged >

=)

authors: helllth itgimmi


text:
zenodo license field should be string not object

according to the docs https://developers.zenodo.org/#deposit-metadata

but the schema says object https://zenodo.org/schemas/records/record-v1.0.0.json

Not broken, so no need to fix. Closing the issue.


text:
🛑 Smart is down

In 8e747a5, Smart (https://smart.concorde2000.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Smart is back up in 1b9cb50 after 2 hours, 18 minutes.

repo: civcicd/uptime-monitor


text:
🛑 Dodmets API is down

In 8e63ec4, Dodmets API (https://api.dodmets.com/hello/world) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Dodmets API is back up in de0ab47 after 11 minutes.