Auto provision on HTTP request

With AMI and EIP support its possible through VPC to have a dummy server that triggers Heroku-style fast provisioning on HTTP request. Consider using authentication for this.

Also consider room list monitoring for auto termination

Network configuration complexities and instance type VPC limits makes the idea for allocating all AMI/EIP to one dummy server per region impractical and more expensive than it should be.
The main app can have a user role for this, displaying list of pre designed instances (AMI+EIP) and trigger fast provisioning.

If CloudFlare is configured, the instance hostname should be permanently (as long as the pre designed instance exist) set to the EIP associated to it, no propagation delay should exist.


TypeScript is broken at type-checking array/Record access

const array = [1, 2, 3, 4]

a[i] // this should be of type number

type Key = "a" | "b" | "c"
const record: Record<Key, number> = { "a": 0, "b": 1, "c": 2 }

record[i] // this should be of type number

const record: Record<string, number> = { "a": 0, "b": 1, "c": 2 }

record[i] // this should be of type number | undefined

Why isn't there a way to configure TypeScript to have these most sane type assumptions? Either they're all a number, which is very unsafe for the third case, or with noUncheckedIndexedAccess they're all number | undefined which makes zero sense for the first two, as basically means to use ! for every array access.
EDIT: Note also that if Map is used in place of Record for the third case, it will correctly be number | undefined which also makes zero sense given that Record and Map are used interchangeably and should have consistent interfaces.

You forgot to fill out the issue template. The behavior is working as intended and not broken. Also, Record and Map are not interchangeably.


Reindexing and indexing with Sidekiq

We have a cron job that runs rake ts:index at 12AM every day. We're starting to see some issues where data is missing from the index. Could that be because a delta Sidekiq job is running at the same time as indexes are being updated? Is there locking that takes place to prevent a race condition?

I'm presuming from discussions in #1114 that deltas are perhaps not in play now?
I would expect that data should continue to be present - at least, by the time the ts:index task is done, everything should be there and consistent. If you're finding this problem is still happening though, do let me know (and it'd be useful to know which version of Thinking Sphinx is being used).

The version is 3.1.4, but we'll soon be upgrading to 4.0.0. Looking forward to using the one at a time indexing strategy. That may be the cause of some of our difficulties during deploy. I'll reopen the issue if I discover something.


WIP: 3-ci-srv-01: [no-test] Update translations from Fedora Weblate

Update translations from Fedora Weblate

[ ] po-refresh

po-refresh in progress on 3-ci-srv-01.
Log: https://logs.cockpit-project.org/logs/po-refresh-936-20200423-020101/

po-refresh  done: https://github.com/cockpituous/welder-web/commits/po-refresh-20200423-020202


Add area claims for SWB

Task: T168025

For preview see https://www.wikidata.org/w/index.php?title=User:AndreCostaWMSE-bot/WFD/preview&oldid=508045617

Will merge this once #20 is merged.

Did a local rebase and forced-pushed the change


Using config in automain without explicitly passing each variable

I'm having a problem passing config variables directly into the main function, without having to manually define each input to the main function à la: main(batch_size, num_batches, ....).
The config code, main function code (the start of it), and the returned error are defined below.
I've tried rewriting the main function as a sub-function with @ex.capture, but that gave the same error.
Define config:
@ex.config
def config():
    # Define parameters:
    batch_size = 25  # Number of episodes to run before updating net parameters
    num_batches = 10000
    gamma = 0.8  # Discount factor when accumulating future rewards
    optimizer = 'Adam'
    optimizer_params = {}
    optimizer_params['lr'] = 1e-4  # Learning rate used to scale gradient updates

Run main code:
@ex.automain
def main():
    mode = 'train'
    # Network initialisation:
    agent = Net()  # Define agent as an object of class Net
    opt = getattr(optim,optimizer)(agent.parameters(), **optimizer_params)

Returns the following error:
opt = getattr(optim,optimizer)(agent.parameters(), **optimizer_params)
NameError: name 'optimizer' is not defined

which is unexpected, as optimizer is defined in the above config, and as far as I understand automain functions should be able to access these config variables without explicitly passing them individually to the function.

The automain function behaves the same as any other captured function, so there, too, you need to pass all the config variables that you want to use.
You have two options to make this nicer: 1) use nested configuration values or 2) use the _config.

You can use nesting in your config like this:

@ex.config
def config():
    ....
    optimizer = {
        'name': 'Adam',
        'params':  {'lr': 1e-4}
    }

And then you only need to pass optimizer to any function. Note that in this setting it is still easy to set the learning rate from the commandline using with optimizer.params.lr=100.

The special _config argument can be accepted by any captured function and contains the entire configurations. So this should work too (although it is less neat IMHO):

@ex.automain
def main(_config):
    mode = 'train'
    # Network initialisation:
    agent = Net()  # Define agent as an object of class Net
    opt = getattr(optim,_config['optimizer'])(agent.parameters(), **_config['optimizer_params'])

Hope that helps.

Sorry, I totally misinterpreted the usage of @ex.capture, I just re-read it and realised that captured functions still need the pass the config variables - it's just that any intermediate functions called before the captured function don't need to.
I see, indeed it'd probably be best to group my config variables into relevant dictionaries, looks much neater, especially with the command line interface.
Thanks so much for your answer. I started using Sacred yesterday, and it's a really great platform.


book errata

Page 30, second last paragraph
$(CORSS_COMPILE) objdump should be $(CROSS_COMPILE) objdump

Page 69, code snippet
#include<linux/workqueue.h>
should be
#include <linux/workqueue.h>

Thank you for reporting these errata


upload-fsimage.sh should check whether VERSION exists before uploading?

upload-fsimage.sh failed at the end because VERSION file already exists in the target HDFS dir:
sunchao@HOSTNAME:~/dynamometer$ bin/upload-fsimage.sh XXX hdfs:///app/dyno/fsimage /home/sunchao/fsimage
Using fsimage: fsimage_XXX
Creating temporary XML fsimage file at /tmp/tmp.IUfFlwXXdk/fsimage_XXX.xml
Created temporary XML fsimage file
Uploading /home/sunchao/fsimage/current/fsimage_XXX...
Uploading /tmp/tmp.IUfFlwXXdk/fsimage_XXX.xml...
Uploading /home/sunchao/fsimage/current/fsimage_XXX.md5...
Uploading /home/sunchao/fsimage/current/VERSION...
copyFromLocal: `hdfs:///app/dyno/fsimage/VERSION': File exists
Error while uploading /home/sunchao/fsimage/current/VERSION; exiting

Perhaps we can check if VERSION exists before converting to XML? or maybe skip the check if it already exists? this is only a minor issue though as the fsimage file is already uploaded.

Probably we can just do a -copyFromLocal -f to force overwrite instead of failing on file existence?

Yes, it should just be as simple as that :) I don't think overwriting it will have any risk.


[Feature] Custom versioning support

Would be great to use custom versioning format, e.g. "latest" or even using hash commits in the version itself.
Currently it's not possible to specify custom version format in --version or in Chart.yaml file.
Use case: we have CI/CD pipeline which  makes helm package and runs unit tests on helms, and we want to use custom versioning, e.g. latest.{short_commit_hash}.{build_number}.{timestamp}

Helm does follow semver. Which that does mean you can use a prerelease version e.g. --version 1.2.3-{short_commit_hash}.{build_number}.{timestamp}
Semver is important, as it is often necessary to sort chart versions. e.g. install the latest version of a chart. And so Helm chart versions are not arbitrary strings like e.g. docker image tags.

its great that helm follows semver, but having a prerelease version is not appropriate for a lot of internal projects and in a lot of cases (like ours) makes naming of our dynamic feature environments very clunky.
For instance, why should I need to prepend a version to the start of my chart name, if the production version is going to change 15+ times while the feature is developed?
Would you consider at the very least the addition of a parameter to override the default behavior?

Helm does follow semver. Which that does mean you can use a prerelease version e.g. --version 1.2.3-{short_commit_hash}.{build_number}.{timestamp}
Semver is important, as it is often necessary to sort chart versions. e.g. install the latest version of a chart. And so Helm chart versions are not arbitrary strings like e.g. docker image tags.

I understand that, but in the same time why restrict others to use the version they want for their internal purposes.
The whole point is not about changing helm mechanism from semver to what docker does, but just allow ppl to use their custom versioning (just remove error when you try to package helm with your custom version and try to install it with exact version specified in install command).


Allow sorting by column

Allow sorting by column.
I am proposing a minimal implementation that adds the functionality, by adding a new query parameter to the corresponding endpoints. On this basis we can discuss the approach and suitability for our use case.
Close #2555.

For the corresponding endpoints:

/filter: the implementation only adds the ORDER BY clause to the corresponding SELECT query

The pagination works as expected in this case: first all the results are ordered, then sliced in to pages with offset and limit

/search: does it make sense to sort in this case? Please note that this endpoint already sorts the results according to the search-score. Therefore, reordering the results will make useless the search-score.
/rows: Current implementation uses the Parquet metadata to select the row groups. I should think about using the "min" and "max" metadata to implement sorting?

As discussed last week, let's implement this just on /filter and /first-rows for the moment.
CC: @severo @lhoestq

Cool ! why /first-rows again ? (sorry I don't remember)

OK. Implementing sorting on the full dataset (/rows) would be difficult, so we want to allow sorting on the first 5GB at least. We should allow sorting with or without a filter because requiring a filter would not make sense from a user's point of view, IMO. I agree that it would not make sense to sort the search results.
Re /first-rows: the idea of sorting /first-rows was to account for a default sort order in the YAML configuration (e.g., sort by default by likes in https://huggingface.co/datasets/severo/trending-repos). We discussed it internally at https://github.com/huggingface/moon-landing/issues/9201#issuecomment-2048277255 -> I think we should not propose a default sorting order for now.
So, maybe we need to:

use /filter without a "where" parameter but with a "sort" parameter when we want to sort the rows. This way, we use the 5GB duckdb file. So: "where" and "sort" would be optional on /filter.
make it explicit in the UI that the sort is done only on the first 5GB (if the full dataset is bigger). Related to https://github.com/huggingface/moon-landing/issues/9429 (internal): we don't always show that statistics, filter, search are done on the first 5GB.

Thanks for the explanation, @severo. Much clearer now.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

I think this PR is ready for review @huggingface/dataset-viewer.

Maybe we could merge this PR today... @huggingface/dataset-viewer.

Sure, feel free to merge when there is one approval (or none if you're confident)


Multiple Open Redirects

Description
Multiple open redirects observed ITW with malicious use
Associated samples

Acoustic
bestdeals.today - Second in an open redirect chain
Club-OS - second in an open redirect chain
documentmailbox
g7.fr
IndiaTimes
isadatalabs
ExacTag
PremierBet
ust.hk
LeariningApps
Medium
chkc

/update-test-rules

/update-test-rules

Edited description of the Acoustic rule to make it more clear it's an ASR rule.
All other rules look good in test rules / shared samples or have no hits in the last 7 days.

Acoustic rule has FPs, was an ASR rule, but opted to just delete it so I can get the rest of these pushed.  Acoustic might be better as a url decoder


🐛 Bug Report: Catalog leaving stale relations after unregistering entities

📜 Description
When I create a Component and set the spec.owner as Team A. The EntityProcessors will generate the ownedBy and ownerOf relations, and the Stitcher will make sure that those relations get pushed to the entity.relations in my final_entities object
When I Delete an entity, it will trigger the DefaultEntitiesCatalog.removeEntityByUid, and that will make sure to detect all of the related entities, and force those entities to be stitched together again, which will update the relations of the entity in the final_entities table.
However, when I Unregister the Component, it goes through the DefaultLocationStore.deleteLocation, which in turn triggers the deleteWithEagerPruningOfChildren, which removes all of the entities that would be orphaned from the database, including the relations.
However, the unregistration process does not triggers the stitching process again, which makes my final_entities.final_entity.relations  attribute to still point to entities that no longer exist in the catalog, causing a weird inconsistence.
The next time someone adds a new Component where the spec.owner is Team A, that will force stitching and it will end up fixing the stale relationship, but until that happens, the entity will contain stale relationships.
👍 Expected behavior

When unregistering an entity that relates to other entities, the related entities need to be stitched together again, so their relations attribute contains up-to-date data.

👎 Actual Behavior with Screenshots

When opening a Group page, the Group will show a warning about relationship to entities that no longer exist

👟 Reproduction steps

Create Team A as a Group
Create Component B as  Component
Have Component B have Team A as the owner
Unregister Component B from the Catalog
Validate that component b still shows up in the relations attribute of Team A

📃 Provide the context for the Bug.
I believe this PR https://github.com/backstage/backstage/pull/18062 could potentially set the foundation necessary to fix this issue.
🖥 Your Environment
OS:   Linux <IP_ADDRESS>-microsoft-standard-WSL2 - linux/x64
node: v18.17.0
yarn: 1.22.19
cli:  0.22.11 (installed)
backstage:  1.17.2
Dependencies:
@backstage/app-defaults                               1.4.2
@backstage/backend-app-api                            0.4.2, 0.5.1
@backstage/backend-common                             0.18.4, 0.19.3
@backstage/backend-dev-utils                          0.1.1
@backstage/backend-openapi-utils                      0.0.3
@backstage/backend-plugin-api                         0.5.1, 0.6.1
@backstage/backend-tasks                              0.5.6
@backstage/catalog-client                             1.4.3
@backstage/catalog-model                              1.4.1
@backstage/cli-common                                 0.1.12
@backstage/cli-node                                   0.1.3
@backstage/cli                                        0.22.11
@backstage/config-loader                              1.4.0
@backstage/config                                     1.0.8
@backstage/core-app-api                               1.9.1
@backstage/core-components                            0.12.5, 0.13.4
@backstage/core-plugin-api                            1.5.3
@backstage/dev-utils                                  1.0.19
@backstage/errors                                     1.2.1
@backstage/eslint-plugin                              0.1.3
@backstage/integration-aws-node                       0.1.5
@backstage/integration-react                          1.1.17
@backstage/integration                                1.6.1
@backstage/plugin-api-docs                            0.9.9
@backstage/plugin-app-backend                         0.3.49
@backstage/plugin-app-node                            0.1.1
@backstage/plugin-auth-backend                        0.18.7
@backstage/plugin-auth-node                           0.2.18
@backstage/plugin-catalog-backend-module-github       0.3.4
@backstage/plugin-catalog-backend                     1.12.1
@backstage/plugin-catalog-common                      1.0.15
@backstage/plugin-catalog-graph                       0.2.34
@backstage/plugin-catalog-import                      0.9.12
@backstage/plugin-catalog-node                        1.4.2
@backstage/plugin-catalog-react                       1.8.2
@backstage/plugin-catalog                             1.12.3
@backstage/plugin-events-node                         0.2.10
@backstage/plugin-github-actions                      0.6.3
@backstage/plugin-github-pull-requests-board          0.1.16
@backstage/plugin-home-react                          0.1.2
@backstage/plugin-home                                0.5.6
@backstage/plugin-kubernetes-backend                  0.11.4
@backstage/plugin-kubernetes-common                   0.6.5
@backstage/plugin-kubernetes                          0.10.1
@backstage/plugin-org                                 0.6.12
@backstage/plugin-permission-common                   0.7.7
@backstage/plugin-permission-node                     0.7.12
@backstage/plugin-permission-react                    0.4.14
@backstage/plugin-proxy-backend                       0.3.1
@backstage/plugin-scaffolder-backend                  1.16.2
@backstage/plugin-scaffolder-common                   1.4.0
@backstage/plugin-scaffolder-node                     0.2.1
@backstage/plugin-scaffolder-react                    1.5.3
@backstage/plugin-scaffolder                          1.14.3
@backstage/plugin-search-backend-module-catalog       0.1.5
@backstage/plugin-search-backend-module-techdocs      0.1.5
@backstage/plugin-search-backend-node                 1.2.5
@backstage/plugin-search-backend                      1.4.1
@backstage/plugin-search-common                       1.2.5
@backstage/plugin-search-react                        1.6.4
@backstage/plugin-search                              1.3.5
@backstage/plugin-tech-insights-backend-module-jsonfc 0.1.33
@backstage/plugin-tech-insights-backend               0.5.15
@backstage/plugin-tech-insights-common                0.2.11
@backstage/plugin-tech-insights-node                  0.4.7
@backstage/plugin-tech-insights                       0.3.14
@backstage/plugin-tech-radar                          0.6.7
@backstage/plugin-techdocs-backend                    1.6.6
@backstage/plugin-techdocs-module-addons-contrib      1.0.17
@backstage/plugin-techdocs-node                       1.7.5
@backstage/plugin-techdocs-react                      1.1.9
@backstage/plugin-techdocs                            1.6.7
@backstage/plugin-user-settings                       0.7.7
@backstage/release-manifests                          0.0.9
@backstage/test-utils                                 1.4.2
@backstage/theme                                      0.2.19, 0.4.1
@backstage/types                                      1.1.0
@backstage/version-bridge                             1.0.4
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

@sonikro we've seen this behavior with the orphan cleanup enabled in our catalog. There seems to be some cascade delete needed on what binds "relationships". The entities get nuked. When they come back they don't reflect the new relationships and issues "refreshing" the data.

Hm, not sure if it's exactly the same behavior I've been experiencing. I've had this problem with both  orphanStrategy: delete and without it.
A Cascade delete happens here. When it deletes the refresh_states records, it cascades and deletes the other objects from the database as well including the records in the relations table. Which I believe is the correct behavior. But because it doesn't trigger the Stitcher, the relations objects inside the remaining entities (the entities that referenced the deleted entity) still show that entity in the relationships.

Feels like one possible solution would be to somehow encapsulate this portion of the code:
https://github.com/backstage/backstage/blob/7be2b1dbcce01dce1a7f56402c8926ae5311d21a/plugins/catalog-backend/src/service/DefaultEntitiesCatalog.ts#L582-L609
In a way that this would be triggered regardless of how the entity was deleted, whether it was deleted indirectly through Unregistering a location, or hard deleted.

If #18062 gets accepted, I hope to experiment with driving it entirely through database triggers.

Also, thanks for the detailed report. You are quite right that deleteWithEagerPruningOfChildren needs to trigger stitching for things that were affected by the deletion. Happy to get some help adding that.


Adding support for inline markup in log messages

As per issue #3 inline markup in the log message text is not rendered correctly and currently appears as follows

This pull request fixes this and the demo project now outputs inline markup correctly

Thanks for contributing, after the merge a new release will be available

Can this change be made optional? Many of our debug log messages start with [MethodName] and are therefore not logged to the console at all. We could double them up to escape them however they are then logged as is to other sinks as the file log.

Hi, a dedicated switch has been already provided (renderTextAsMarkup). Have a look at Issue 7

Great, thanks. Apologies for my substandard search skills!


propose-update can copy directories

we use shutil.copy2 in propose update now which can't work with directories; packit should be able to also copy directories as they are. The expectation is that packit should be able to handle directories, somehow, e.g.:
synced_files: [.packit.yaml, fedora/*]

This configuration would create this dist-git layout:
.packit.yaml
packit.spec
tests/tests.yaml
tests/runtest.sh

this sounds well,
maybe it would be list of tuples, to be able to rename the files, or copy something somewhere
in case of packit tests:
synced_files: [(.packit.yaml), (tests, upstream/tests), (fedora/tests.yaml, tests/tests.yaml)]
Does that make sense? Your examle is little bit just about syncing fedora CI gating files, but not that you have to also copy upstream tests, not just STI runner, so that there are two directories tests in sense of fedora and tests dir in sense of tests what are in upstream

Related to https://github.com/packit-service/packit/issues/140

related to: https://github.com/packit-service/packit/issues/174

issue closed, todo list not ticked :(
tracking this internally in a jira card


Environment variable override name is not updated after origin env's name is changed

Reproduction steps:

Open app's environment variables
Create variable and make override for it
Change variable's name

Expected result: Variable's override should update it's name to be the same as origin
Actual result: Override keeps previous value and since user is unable to change it from UI the only option is to copy the value and recreate all dependent overrides.

Thanks for reporting this, I was able to reproduce it, we'll work on a fix.

Is there any progress on this? I can confirm that this issue still occur

Issue still occurs for me as well

We are running into the same issue now. I can see environment variable value change in the logs, but when actually using the website, it's using the old one.
In my case, I changed the backend api URL but the frontend is still sending requests to the old backend. The new backend URL is logged out but the requests are sent to the old backend...
I think it might have something to do with cache invalidation not working properly: https://docs.aws.amazon.com/amplify/latest/userguide/ttl.html
This says that it invalidates caches on each new commit. Doesn't mention env vars though...


WIP: Add python packaging

Initial implementation of python packaging, looking for feedback if's something you want / would accept.
Goal would be to make f3d easily installable with pip. The python packages generated here include both the libf3d (#52) bindings, as well as the f3d executable. I advocate for including the f3d binary in the python distribution wheel, to me pip the fastest & easiest way to install software (especially if I only need it for a specific project).
pip install . installs the python package, pip wheel . builds a python distribution wheel. I've updated the python test files so that pytest is able to run.
I'll note that because pybind11 does not support the stable cpython ABI we unfortunately would have to build a .whlfor each python minor version & OS combination.

[x] Make pip install . compile & install a python package for libf3d
[x] Add f3d executable as a console_script (using a python wrapper)
[ ] Don't use BUILD_SHARED_LIBS=OFF
[ ] Add CI to build platform independent wheels for Linux / MacOS / Windows
[ ] Complete metadata information in setup.py
[ ] Add CI job to publish on PyPi on release
[ ] Maintainers: Register https://pypi.org/project/f3d/

That's nice! We wanted to create a python wheel before the release and it definitely helps us a lot!
Thanks for the effort, I will take a look.

Don't use BUILD_SHARED_LIBS=OFF

Indeed, the python library and the file executable are both embedding the f3d library right now.

Add CI to build platform independent wheels for Linux / MacOS / Windows

See ci.yml, you should be add another job.

Add CI job to publish on PyPi on release

Isn't it optional? We can still publish the wheels manually right?

Maintainers: Register https://pypi.org/project/f3d/

I will after the next release

Add CI job to publish on PyPi on release

Isn't it optional? We can still publish the wheels manually right?

I agree, that does not seems necessary.

@sitic Let us know if you need any help moving forward :)

@sitic Let us know if you need any help moving forward :)

I haven't had time yet to work on this PR, but I definitely haven't forgotten it. Thank you both for the comments. I'll reply to them hopefully soonish

Any luck with this @sitic ?

Closing this one.
Most of the changes have been addressed by #920 and #915


Add option to recalculate blue channel for prenormalized bc5 normals

B = sqrt(1 - (sqrt(R) + sqrt(G)))

Is this the right equation? I thought it would be $R^2 + G^2 + B^2 = 1^2$, which turns into $B = \sqrt{1 - R^2 - G^2}$.

It should indeed be (R² + G²) instead of (sqrt(R) + sqrt(G)). 🦊 Thanks for double checking!


Some fixes for alternative user usage

For example, when deleting all drawn geoms or going to the next plot still in draw mode.

collection.js:

Line 450: What is the filter expression doing here? Are we just discarding nil sampleIds? What would cause nil sampleIds?

const existingIds = allFeatures.map(f => f.get("sampleId")).filter(id => id);

Lines 483,494: Missing semicolon.
Line 1094: props.currentPlot && props.currentPlot.samples
Line 1097: props.currentPlot.isFlagged => props.currentPlot.flagged
Line 1114: props.currentPlot.isFlagged => props.currentPlot && props.currentPlot.flagged
Line 1120: (props.currentPlot && props.currentPlot.analyses > 0)

Line 450: What is the filter expression doing here? Are we just discarding nil sampleIds? What would cause nil sampleIds?

The new samples dont have an id assigned.

Line 1094: props.currentPlot && props.currentPlot.samples
Line 1114: props.currentPlot.isFlagged => props.currentPlot && props.currentPlot.flagged
Line 1120: (props.currentPlot && props.currentPlot.analyses > 0)

currentPlot is now always defined. (line 25)


Try to be more consistent about deleting test apps in devicelab logic.

Fixes https://github.com/flutter/flutter/issues/137555.

I barely understand some of these tests so I've no idea if this will actually work.

Reason for revert: breaking tree

The two tests that failed were:

Linux_android platform_channels_benchmarks
Mac_ios platform_channels_benchmarks_ios

https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8750390036806287329/+/u/run_platform_channels_benchmarks/stdout:
[2024-04-17 10:32:19.438979] [STDOUT] [STDOUT] [ +130 ms] Connected to Moto G 4
[2024-04-17 10:32:19.441255] [STDOUT] [STDOUT] [   +2 ms] Flutter run key commands.
[2024-04-17 10:32:19.442838] [STDOUT] [STDOUT] [   +1 ms] h List all available interactive commands.
[2024-04-17 10:32:19.443163] [STDOUT] [STDOUT] [        ] c Clear the screen
[2024-04-17 10:32:19.443535] [STDOUT] [STDOUT] [        ] q Quit (terminate the application on the device).
[2024-04-17 10:32:19.444458] [STDOUT] [STDOUT] [        ] A Dart VM Service on Moto G 4 is available at: http://<IP_ADDRESS>:44535/8sd6tZrUCaE=/
[2024-04-17 10:32:19.547206] [STDOUT] [STDOUT] [ +102 ms] The Flutter DevTools debugger and profiler on Moto G 4 is available at: http://<IP_ADDRESS>:9100/?uri=http://<IP_ADDRESS>:44535/8sd6tZrUCaE=/
[2024-04-17 10:32:20.097077] [STDOUT] [STDOUT] [ +549 ms] I/flutter (12367): running platform_channel_basic_standard_2host_large
[2024-04-17 10:32:45.300823] [STDOUT] [STDOUT] [+25203 ms] I/flutter (12367): running platform_channel_basic_binary_2host_large
[2024-04-17 10:32:48.109319] [STDOUT] [STDOUT] [+2808 ms] I/flutter (12367): running platform_channel_basic_binary_2host_1MB
[2024-04-17 10:33:02.606903] [STDOUT] [STDOUT] [+14497 ms] I/flutter (12367): running platform_channel_basic_standard_2host_small_parallel_3
[2024-04-17 10:33:03.245352] [STDOUT] [STDOUT] [ +638 ms] I/flutter (12367): running platform_channel_basic_standard_2hostbackground_small
[2024-04-17 10:33:05.204039] [STDOUT] [STDOUT] [+1958 ms] I/flutter (12367): running platform_channel_basic_standard_2hostbackground_small_parallel_3
[2024-04-17 10:33:05.935340] [STDOUT] [STDOUT] [ +731 ms] I/flutter (12367): ================ RESULTS ================
[2024-04-17 10:33:05.939220] [STDOUT] [STDOUT] [   +3 ms] I/flutter (12367): :::JSON::: {"platform_channel_basic_standard_2host_small":460.904,"platform_channel_basic_standard_2host_large":10078.3084,"platform_channel_basic_binary_2host_large":1122.0668,"platform_channel_basic_binary_2host_1MB":5795.018,"platform_channel_basic_standard_2host_small_parallel_3":254.6048,"platform_channel_basic_standard_2hostbackground_small":783.806,"platform_channel_basic_standard_2hostbackground_small_parallel_3":291.13}
[2024-04-17 10:33:05.939283] [STDOUT] [STDOUT] [        ] I/flutter (12367): ================ FORMATTED ==============
[2024-04-17 10:33:05.942283] [STDOUT] [STDOUT] [        ] I/flutter (12367): BasicMessageChannel/StandardMessageCodec/Flutter->Host/Small: 460.9 µs
[2024-04-17 10:33:05.942325] [STDOUT] [STDOUT] [        ] I/flutter (12367): BasicMessageChannel/StandardMessageCodec/Flutter->Host/Large: 10078.3 µs
[2024-04-17 10:33:05.942342] [STDOUT] [STDOUT] [        ] I/flutter (12367): BasicMessageChannel/BinaryCodec/Flutter->Host/Large: 1122.1 µs
[2024-04-17 10:33:05.942360] [STDOUT] [STDOUT] [        ] I/flutter (12367): BasicMessageChannel/BinaryCodec/Flutter->Host/1MB: 5795.0 µs
[2024-04-17 10:33:05.943050] [STDOUT] [STDOUT] [        ] I/flutter (12367): BasicMessageChannel/StandardMessageCodec/Flutter->Host/SmallParallel3: 254.6 µs
[2024-04-17 10:33:05.943087] [STDOUT] [STDOUT] [        ] I/flutter (12367): BasicMessageChannel/StandardMessageCodec/Flutter->Host (background)/Small: 783.8 µs
[2024-04-17 10:33:05.943103] [STDOUT] [STDOUT] [        ] I/flutter (12367): BasicMessageChannel/StandardMessageCodec/Flutter->Host (background)/SmallParallel3: 291.1 µs
[2024-04-17 10:33:05.945498] [STDOUT] [STDOUT] [   +5 ms] executing: /opt/s/w/ir/cache/android/sdk/platform-tools/adb -s ZY223CL8VK shell am force-stop com.example.platform_channels_benchmarks
[2024-04-17 10:33:06.896648] [STDOUT] [STDOUT] [ +951 ms] Service protocol connection closed.
[2024-04-17 10:33:06.915553] [STDOUT] [STDOUT] [  +19 ms] Application finished.
[2024-04-17 10:33:06.919745] [STDOUT] [STDOUT] [   +4 ms] "flutter run" took 67,403ms.
[2024-04-17 10:33:06.922038] [STDOUT] [STDOUT] [   +2 ms] ensureAnalyticsSent: 0ms
[2024-04-17 10:33:06.922072] [STDOUT] [STDOUT] [        ] Running 2 shutdown hooks
[2024-04-17 10:33:06.922663] [STDOUT] [STDOUT] [        ] Shutdown hooks complete
[2024-04-17 10:33:06.923019] [STDOUT] [STDOUT] [        ] exiting with code 0
[2024-04-17 10:33:07.953311] [STDOUT] Executing "/opt/s/w/ir/x/w/recipe_cleanup/tmpux7x2sc2/flutter sdk/bin/flutter install --uninstall-only -d ZY223CL8VK --ci --debug-logs-dir=/opt/s/w/ir/x/w/recipe_cleanup/flutter_logs_dir" in "/opt/s/w/ir/x/w/recipe_cleanup/tmpux7x2sc2/flutter sdk/dev/devicelab" with environment {BOT: true, LANG: en_US.UTF-8}
[2024-04-17 10:33:08.298352] [STDOUT] stderr: AndroidManifest.xml could not be found.
[2024-04-17 10:33:08.298407] [STDOUT] stderr: Please check /opt/s/w/ir/x/w/recipe_cleanup/tmpux7x2sc2/flutter sdk/dev/devicelab/android/AndroidManifest.xml for errors.
[2024-04-17 10:33:08.310998] [STDOUT] stderr: Could not find or build package
[2024-04-17 10:33:08.319266] [STDERR] Task failed: Executable "/opt/s/w/ir/x/w/recipe_cleanup/tmpux7x2sc2/flutter sdk/bin/flutter" failed with exit code 1.
[2024-04-17 10:33:08.319297] [STDERR]
[2024-04-17 10:33:08.319305] [STDERR] Stack trace:
[2024-04-17 10:33:08.335434] [STDERR] package:flutter_devicelab/framework/utils.dart 110:3       fail
[2024-04-17 10:33:08.335469] [STDERR] package:flutter_devicelab/framework/utils.dart 383:5       _execute
[2024-04-17 10:33:08.335483] [STDERR] ===== asynchronous gap ===========================
[2024-04-17 10:33:08.335495] [STDERR] dart:async                                                 _CustomZone.registerBinaryCallback
[2024-04-17 10:33:08.335513] [STDERR] package:flutter_devicelab/framework/framework.dart 278:26  _TaskRunner._performTask.<fn>
[2024-04-17 10:33:08.335525] [STDERR] package:stack_trace                                        Chain.capture
[2024-04-17 10:33:08.335538] [STDERR] package:flutter_devicelab/framework/framework.dart 277:11  _TaskRunner._performTask
[2024-04-17 10:33:08.335551] [STDERR] package:flutter_devicelab/framework/framework.dart 170:43  _TaskRunner.run
[2024-04-17 10:33:08.335564] [STDERR]
[2024-04-17 10:33:08.338683] [STDOUT] Checking for reboot
[platform_channels_benchmarks] Process terminated with exit code 0.
Task result:
{
  "success": false,
  "reason": "Task failed: Executable \"/opt/s/w/ir/x/w/recipe_cleanup/tmpux7x2sc2/flutter sdk/bin/flutter\" failed with exit code 1."
}

Oh I see, I called uninstallApp in the wrong directory.


[feature]: Implement customizable cache control for web fee estimator

Problem:
LND's web fee estimator (configured by setting feeurl) uses a hardcoded refresh schedule (between 5-20 minutes) for fetching fee information. This can lead to inaccurate fee estimations due to rapid changes in mempool conditions, creating the potential for priority transactions to miss the next block, and various underpayment or overpayment scenarios.
Desired solution:
Implement customizable cache control for the web fee estimator, allowing users to set higher refresh frequencies for more timely fee updates.
Alternatives considered:
Manually handling fee estimation outside LND: This only works for specific use cases and duplicates effort, not ideal for integrating with LND's built-in features.
Additional context:
https://strike.me/blog/blended-bitcoin-fee-estimations/ (explains how the web fee estimator can be used to incorporate mempool-based fee estimation into lnd to improve estimates for priority transactions. This could be more effective with more frequent rate refreshes from lnd).

Could use cache control headers, this is something that is part of HTTP to handle caching schedules

Is there any specific reason why an internal caching system was implemented in the first place rather than honouring standard http cache control headers?
The two such public endpoints that I know of (https://nodes.lightning.computer/fees/v1/btc-fee-estimates.json and https://bitcoinchainfees.strike.me/) do already implement cache control headers.
However, relying on cache control headers alone would put the responsibility of defining caching schedules on the developers/maintainers of web fee url endpoints. And, switching from the current internally defined refresh schedule to one that is derived from cache control headers would result in a potentially damaging change in behaviour for anyone using a fee estimator endpoint that doesn't already implement cache control.

The original system anticipated a data source like Bitcoin Core which doesn't update until a new block is mined so that may help to explain some of the thinking there. I'm not sure why the client doesn't use the HTTP header information to inform its caching
Cache control is not only used by HTTP servers themselves it is also useful for CDNs and other proxies. I don't remember exactly what happened with the implementation but I vaguely remember a reason caching was added was also to prevent server hammering

closed with https://github.com/lightningnetwork/lnd/pull/8719


email_sender script and module added

Pull Request Template
email_sender - EmailSender script and module for sending email
What have you Changed
I have added a new folder/files for the email_sender script which can email recipients from the command line. Options provided to select SMTP host/port and authentication using username/password.
Issue no.(must) - #23
Self Check(Tick After Making pull Request)

[x] This issue was assigned to me.
[x] One Change in one Pull Request
[x] My file is in proper folder (Name of folder should be in lowercase with no space in between)
[x] I am following clean code and Documentation and my code is well linted with flake8.
[x] I have added README.md and requirements.txt with my script

reviewing was using pep8, installing flake8 and submitting the new update

That's perfect @sculley

@all-contributors add @sculley for code


Improve documentation

Improve documentation and explain the expected mjml project structure for this plugin to work. At the moment I am unable to correctly render an mjml file and it is not clear what the plugin is doing from the documentation.

Can you please provide steps to reproduce your issue?
You can view the debug log by adding the following code to your init.lua before loading this plugin.
vim.g.mjml_preview_debug = true

Okay I actually misunderstood what I was seeing and it was working but there are 3 improvements we should make.

The iframe displays is very small. We should default the value to 100% width and some height like 1000px;
There should be some way to configure the default iframe size
Currently local assets cannot be rendered

This structure will not be able to load the local image.
email/

index.mjml
images/

some_img.png

It looks like we are hitting this catch block https://github.com/ec965/mjml-preview.nvim/blob/main/app/src/index.js#L185 when another file is requested.

The current architecture is to read your MJML file's content from the Neovim buffer rather than read the file directly. The web server isn't configured to serve arbitrary files in the filesystem.

If you want to be able to serve files from any folder on your computer, we have a couple options:

Create a setup function and add a configuration option that can point towards an assets folder.
Add a parameter to MjmlPreviewToggle and MjmlPreviewOpen user commands to serve an assets folder.
Use the buffer's file path as the root directory and serve all assets from that location.

'3' would work for your example file structure, but it would no longer work if we had a buffer that wasn't yet saved to disk.

I think we can implement 3 and then fall back to the "cwd" if the file is not saved.


How to run the executable

Hi, I have successfully compiled the project through cmake and make (without making any changes to the code). I can't figure out where the executable is being generated and how do I run the executable?
From some other JNI tutorials, I learned this
java -Djava.library.path=. <executable-name>
But I get the class not found error in this case
Thanks!

You can find the commands in the "testing" section at the bottom of each CMakeLists.txt file. For example, for JNI:
java -cp java-jni/java/bin -Djava.library.path=java-jni edu.nyu.cpptest.app.Main

Thank you, it works!


'Failed to get /openapi/v2 and /swagger.json: Created Component, but require templated one'

Here is the error I get when I installed v6.0.0 on aws eks
npm info it worked if it ends with ok
npm info using<EMAIL_ADDRESS>npm info using<EMAIL_ADDRESS>npm info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>><EMAIL_ADDRESS>start /app
> ./bin/daemon.js

{"level":30,"time":1607551661639,"pid":17,"hostname":"external-secrets-559966b9bf-jkck9","msg":"loading kube specs"}
Error: Failed to get /openapi/v2 and /swagger.json: Created Component, but require templated one. This is a bug. Please report: https://github.com/silasbw/fluent-openapi/issues
    at /app/node_modules/kubernetes-client/lib/swagger-client.js:58:15
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async main (/app/bin/daemon.js:33:3)
npm info lifecycle<EMAIL_ADDRESS>Failed to exec start script
npm ERR! code ELIFECYCLEnpm ERR! errno 1npm ERR<EMAIL_ADDRESS>start: `./bin/daemon.js`npm ERR! Exit status 1npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm timing npm Completed in 1392msnpm ERR! A complete log of this run can be found in:
npm ERR!     /home/node/.npm/_logs/2020-12-09T22_07_41_808Z-debug.log

Here is the values.yaml I used to install:
    env:
      AWS_REGION: eu-west-2
    fullnameOverride: external-secrets
    nodeSelector:
      eks.amazonaws.com/nodegroup: Main
    securityContext:
      fsGroup: 65534
    serviceAccount:
      annotations:
        eks.amazonaws.com/role-arn: 'arn:aws:iam::123456789:role/system/external-secrets'
    serviceMonitor:
      enabled: true

See #543 and #563

Oh weird, for me it was prometheus-adapter from here: https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus-adapter
It had to be uninstalled

@silasbw any chance fluent-openapi could not hard fail on this? Seems to appear more and more :(

Hi, we are having this exact same issue; sure enough, backing out the prometheus-adapter fixed it. This issue, #563 , mentions that 0.8.2 changed the openapi custom.metrics.k8s.io endpoint and that's what broke external-secrets 6.0.0. Is there a plan to adjust external-secrets to accomodate whatever change occurred in prometheus-adapter 0.8.2?

Hi, we are having this exact same issue; sure enough, backing out the prometheus-adapter fixed it. This issue, #563 , mentions that 0.8.2 changed the openapi custom.metrics.k8s.io endpoint and that's what broke external-secrets 6.0.0. Is there a plan to adjust external-secrets to accomodate whatever change occurred in prometheus-adapter 0.8.2?

@jbilliau-rcd KES is using some dependencies which in turn is using https://github.com/silasbw/swagger-fluent which is the library that isn't able to handle this.
It would require quite a bit of work to swap the dependency that is used by KES for communicating with the kubernetes APIs.
There's ongoing work for a rewrite of KES in golang in https://github.com/external-secrets/external-secrets but it will be awhile before this reaches future parity.
So, sadly, I haven't planned for any major refactoring like this in KES. Ideally the issue is fixed in our dependency and we can update that, but I deem that unlikely as well.

@jbilliau-rcd KES is using some dependencies which in turn is using https://github.com/silasbw/swagger-fluent which is the library that isn't able to handle this.
It would require quite a bit of work to swap the dependency that is used by KES for communicating with the kubernetes APIs.
There's ongoing work for a rewrite of KES in golang in https://github.com/external-secrets/external-secrets but it will be awhile before this reaches future parity.
So, sadly, I haven't planned for any major refactoring like this in KES. Ideally the issue is fixed in our dependency and we can update that, but I deem that unlikely as well.

@Flydiverny thanks for the response; is the nutshell of this then that, in order to use external-secrets and prometheus adapter together, we need to stay on 0.7.0 of the adapter and not upgrade for the forseeable future? No biggie if that's the case, this controller has a been a big hit with our devs so if we have to make accommodations to keep using it, so be it.

@Flydiverny thanks for the response; is the nutshell of this then that, in order to use external-secrets and prometheus adapter together, we need to stay on 0.7.0 of the adapter and not upgrade for the forseeable future? No biggie if that's the case, this controller has a been a big hit with our devs so if we have to make accommodations to keep using it, so be it.

@Flydiverny can you please elaborate on what exactly the swagger-fluent library isn't able to handle?

@Flydiverny can you please elaborate on what exactly the swagger-fluent library isn't able to handle?

@dudicoco not really. But the error originates from the library :)
There's something in the resulting swagger.json that it cannot parse. Which in the above cases seems to occur when having the prometheus-adapter installed. Suggesting that the apis added to the swagger.json or openapi spec are not compliant to either all required fields or at least fields expected by the swagger-fluent library.
One would need to debug the library with a spec that triggers the issue and figure out what the cause is.

@dudicoco not really. But the error originates from the library :)
There's something in the resulting swagger.json that it cannot parse. Which in the above cases seems to occur when having the prometheus-adapter installed. Suggesting that the apis added to the swagger.json or openapi spec are not compliant to either all required fields or at least fields expected by the swagger-fluent library.
One would need to debug the library with a spec that triggers the issue and figure out what the cause is.

I got this error as well in an effort to upgrade to EKS 1.18 and take several charts along with it (with the stable repo now gone). Luckily this was an easy find. adapter v0.8.3 was released moments ago, so I'm going to give it a try to see if that fixed anything, but if not I hope the problem doesn't persist unsolved for too long.

I got this error as well in an effort to upgrade to EKS 1.18 and take several charts along with it (with the stable repo now gone). Luckily this was an easy find. adapter v0.8.3 was released moments ago, so I'm going to give it a try to see if that fixed anything, but if not I hope the problem doesn't persist unsolved for too long.

I'm running into similar issue and i'm not sure how to resolve it, please find below the details of the issue
  |   | 2021-01-29 18:40:05 | npm ERR!     /home/node/.npm/_logs/2021-01-29T17_40_05_244Z-debug.log
  |   | 2021-01-29 18:40:05 | npm ERR! A complete log of this run can be found in:
  |   | 2021-01-29 18:40:05 |
  |   | 2021-01-29 18:40:05 | npm timing npm Completed in 262960ms
  |   | 2021-01-29 18:40:05 | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
  |   | 2021-01-29 18:40:05 | npm ERR! Failed at the<EMAIL_ADDRESS>start script.
  |   | 2021-01-29 18:40:05 | npm ERR!
  |   | 2021-01-29 18:40:05 | npm ERR! Exit status 1
  |   | 2021-01-29 18:40:05 | npm ERR<EMAIL_ADDRESS>start: `./bin/daemon.js`
  |   | 2021-01-29 18:40:05 | npm ERR! errno 1
  |   | 2021-01-29 18:40:05 | npm ERR! code ELIFECYCLE
  |   | 2021-01-29 18:40:05 | npm info lifecycle<EMAIL_ADDRESS>Failed to exec start script
  |   | 2021-01-29 18:40:05 | at async main (/app/bin/daemon.js:35:3)
  |   | 2021-01-29 18:40:05 | at processTicksAndRejections (internal/process/task_queues.js:97:5)
  |   | 2021-01-29 18:40:05 | at /app/node_modules/kubernetes-client/lib/swagger-client.js:58:15
  |   | 2021-01-29 18:40:05 | Error: Failed to get /openapi/v2 and /swagger.json: connect ETIMEDOUT <IP_ADDRESS>:443
  |   | 2021-01-29 18:35:43 | {"level":30,"time":1611941743291,"pid":18,"hostname":"kubernetes-external-secrets-8968c6fd5-lj85z","msg":"loading kube specs"}
  |   | 2021-01-29 18:35:42 |
  |   | 2021-01-29 18:35:42 | > ./bin/daemon.js
  |   | 2021-01-29 18:35:42 | ><EMAIL_ADDRESS>start /app

as shown above, the main issue is Error: Failed to get /openapi/v2 and /swagger.json: connect ETIMEDOUT <IP_ADDRESS>:443
does anyone have an idea on how to resolve it?
Thanks in advance!

I'm running into similar issue and i'm not sure how to resolve it, please find below the details of the issue
  |   | 2021-01-29 18:40:05 | npm ERR!     /home/node/.npm/_logs/2021-01-29T17_40_05_244Z-debug.log
  |   | 2021-01-29 18:40:05 | npm ERR! A complete log of this run can be found in:
  |   | 2021-01-29 18:40:05 |
  |   | 2021-01-29 18:40:05 | npm timing npm Completed in 262960ms
  |   | 2021-01-29 18:40:05 | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
  |   | 2021-01-29 18:40:05 | npm ERR! Failed at the<EMAIL_ADDRESS>start script.
  |   | 2021-01-29 18:40:05 | npm ERR!
  |   | 2021-01-29 18:40:05 | npm ERR! Exit status 1
  |   | 2021-01-29 18:40:05 | npm ERR<EMAIL_ADDRESS>start: `./bin/daemon.js`
  |   | 2021-01-29 18:40:05 | npm ERR! errno 1
  |   | 2021-01-29 18:40:05 | npm ERR! code ELIFECYCLE
  |   | 2021-01-29 18:40:05 | npm info lifecycle<EMAIL_ADDRESS>Failed to exec start script
  |   | 2021-01-29 18:40:05 | at async main (/app/bin/daemon.js:35:3)
  |   | 2021-01-29 18:40:05 | at processTicksAndRejections (internal/process/task_queues.js:97:5)
  |   | 2021-01-29 18:40:05 | at /app/node_modules/kubernetes-client/lib/swagger-client.js:58:15
  |   | 2021-01-29 18:40:05 | Error: Failed to get /openapi/v2 and /swagger.json: connect ETIMEDOUT <IP_ADDRESS>:443
  |   | 2021-01-29 18:35:43 | {"level":30,"time":1611941743291,"pid":18,"hostname":"kubernetes-external-secrets-8968c6fd5-lj85z","msg":"loading kube specs"}
  |   | 2021-01-29 18:35:42 |
  |   | 2021-01-29 18:35:42 | > ./bin/daemon.js
  |   | 2021-01-29 18:35:42 | ><EMAIL_ADDRESS>start /app

as shown above, the main issue is Error: Failed to get /openapi/v2 and /swagger.json: connect ETIMEDOUT <IP_ADDRESS>:443
does anyone have an idea on how to resolve it?
Thanks in advance!

I've found the root cause of my problem above. (Not sure if it applicable to you as well)
in my EKS, i'm using security groups for pods, each pod will be associated to an ENI and this ENI will be attached to security group. When I removed this feature and redeploy this plugin, everything went well. This means, could be a missing security group rules to allow specific inbound/outbound to EKS control plane (where the API Server the requested json call made by this plugin as mentioned in the title above). For the time being, I will remove the security group from the namespace where this plugin is deploy until someone can provide a solution or knows how to fix it using security group). Hope this help!

I've found the root cause of my problem above. (Not sure if it applicable to you as well)
in my EKS, i'm using security groups for pods, each pod will be associated to an ENI and this ENI will be attached to security group. When I removed this feature and redeploy this plugin, everything went well. This means, could be a missing security group rules to allow specific inbound/outbound to EKS control plane (where the API Server the requested json call made by this plugin as mentioned in the title above). For the time being, I will remove the security group from the namespace where this plugin is deploy until someone can provide a solution or knows how to fix it using security group). Hope this help!

@Flydiverny it seems that this library is now affecting a few different components (prometheus-adapter, kube-metrics-adapter, aws-node eni) and is preventing from upgrading or implementing new features (aws sgs for pods is a more critical one).
Do you think we can raise the priority here?
Thanks

@Flydiverny it seems that this library is now affecting a few different components (prometheus-adapter, kube-metrics-adapter, aws-node eni) and is preventing from upgrading or implementing new features (aws sgs for pods is a more critical one).
Do you think we can raise the priority here?
Thanks

@dudicoco Its not so much about priority as finding someone willing/able to dig into it :)

Digged a little bit.

I don't really understand the logic there, but it seems wrong:
    while (nextSplits.length) {
      const split = nextSplits.shift()
      splits.push(split)

      let template = null
      if (nextSplits.length && nextSplits[0].startsWith('{')) {
        template = nextSplits.shift().slice(1, -1)
      }

@Flydiverny anyone looking into this issue? It seems to be a big one that conflicts custom metrics api and does not seem to be going way, I dont think there is a workaround to make everything work.
I can help and dig deep. Just need to know where to dig 😄

@Flydiverny anyone looking into this issue? It seems to be a big one that conflicts custom metrics api and does not seem to be going way, I dont think there is a workaround to make everything work.
I can help and dig deep. Just need to know where to dig 😄

https://github.com/kubernetes-sigs/prometheus-adapter/issues/341#issuecomment-734721497
IIUC the rewrite is nowhere near ready for prime-time and the fix that needs to be applied is upstream, here, with pretty much no traction on that PR since it was submitted in May.  Perhaps we can all :+1: that PR and try to kickstart inertia over there?  Or is there another openapi client we can swap in here to negate the issue in the meantime?
I certainly agree this is a bummer – we are now eternally pinned to 0.7.0 of the prometheus-adapter pending the v0 release of an untested rewrite.  I intend to contribute on that front and am not trying to be negative here, at all – our setup is functional and I am quite grateful for this software – but this feels like gridlock, as it stands.

So we just noticed that we were bit by this as well. However, going back to the the prometheus-adapter 0.7.0 didn't help us. Deleting the APIService does, but then that makes the prometheus-adapter useless, right? For now we are disabling the prometheus-adapter.. but that seems like the wrong fix here.
What can be done to help move a fix forward here?

@diranged We got this working. Using 6.0.0 of the external-secrets chart, and 2.8.1 of the prometheus-adapter chart; have it installed on 50+ clusters, working fine.
chart:
repository: https://prometheus-community.github.io/helm-charts
name: prometheus-adapter
version: 2.8.1

@diranged We got this working. Using 6.0.0 of the external-secrets chart, and 2.8.1 of the prometheus-adapter chart; have it installed on 50+ clusters, working fine.
chart:
repository: https://prometheus-community.github.io/helm-charts
name: prometheus-adapter
version: 2.8.1

If anyone was curious chart version 2.8.1 for prometheus-adapter is app version v0.7.0
  - apiVersion: v1
    appVersion: v0.7.0
    created: "2020-12-05T10:58:46.558955576Z"
    description: A Helm chart for k8s prometheus adapter
    digest: 85e2ebab3925c7f0ae0fb481210e5716993840ca63855a793ded1dd4113753d1
    home: https://github.com/DirectXMan12/k8s-prometheus-adapter
    keywords:
    - hpa
    - metrics
    - prometheus
    - adapter
    maintainers:
    - email<EMAIL_ADDRESS>      name: mattiasgees
    - name: steven-sheehy
    - email<EMAIL_ADDRESS>      name: hectorj2f
    name: prometheus-adapter
    sources:
    - https://github.com/kubernetes/charts
    - https://github.com/DirectXMan12/k8s-prometheus-adapter
    urls:
    - https://github.com/prometheus-community/helm-charts/releases/download/prometheus-adapter-2.8.1/prometheus-adapter-2.8.1.tgz
    version: 2.8.1

@diranged We got this working. Using 6.0.0 of the external-secrets chart, and 2.8.1 of the prometheus-adapter chart; have it installed on 50+ clusters, working fine.
chart:
repository: https://prometheus-community.github.io/helm-charts
name: prometheus-adapter
version: 2.8.1

This did work for us but I had to completely rip out all remnants of prometheus adapter and then install v2.8.1 of the chart then install v6 of external-secrets. Then it worked.

I'm a bit confused on Why a prometheus adapter is a dependency for this app and what they have to do with each other.  I installed it on a barebones cluster just fine so it seems not needed.  Can the offending call just be skipped or let the failure just be ignored?

It isn't a dependancy, they share one.

Any updates to this?

@presidenten

#864

I too faced this today, migrating to ESO is the way to go :)


Several endpoints are not checking if the paramters are valid

It's possible in several location where an simple ID (usually just a number) is being passed and not checked if the type of the resource is valid.
Example: getting NetworkAdapter passing the ID of storageAdapter return a json as if it were a network adapter.

Tasks 1: List endpoints where verification is not being performed
Task 2: add verification to those endpoints.

On NetworkDeviceFunction API not the PortID nor the DeviceFunctionID are properly checked. It's relying on the port ID be same as the index of the array on Oneview response and it have showed before that this order is not guaranteed.


SPDX parsing improvements

Tracking bug for a number of improvements to our current SPDX parsing

[ ] We should warn with a more specific error message when there are no PURLs available in the SBOM.
[x] Currently for passing SPDX JSON files to -L we expect ".spdx.json" in the filename. Otherwise we will silently report that there are no packages. We should be more flexible here since we've seen a few instances/complaints for this.
[x] We don't propagate detailed errors messages back to the user when a malformed SPDX file is provided (https://github.com/google/osv-scanner/blob/cfaf9f8205ac0e2a8f1fb93ea792bc648831d0fd/internal/sbom/spdx.go#L66)

@oliverchang For your second point I would suggest that first an appropriate error message should be placed, since if the tool reports that no packages were found the first point one would think of is that something within the SBOM is incorrect and not that the filename is non conformant.

Thanks @anotherbridge. We're actually going to be more relaxed on the filenames here (in https://github.com/google/osv-scanner/pull/339) to make the scanner easier to use. Point 3 in this bug (more detailed parsing errors) was also implemented.
This should go out in our next release.


Show state next to search results?

First off, thanks for writing this. I can't believe TCGPlayer hasn't implemented this themselves.
One of the things I really want is to be able to see what state stores are located in, since I try to buy from nearby stores, in order to get cards faster.
Looking at the HTML, it seems like the store location is not in the search results or cart... but it is in the page the store's link goes to.  I figure it should be possible to query the link for each store and get the state it's in, and then display that next to the store name. Heck, you could even have local storage that keeps a mapping, so you don't have to do it more than once per store.
I am not a javascript developer, but I'll look at this some. If you have pointers or tips, I'd love them.  Or if you think it's easy and could bang it out, that would be amazing.

This is a cool idea! I could see it being pretty slow until you have cached lots of seller info but I'm happy to give it a try. Also some seller links just redirect to a page explaining tcgplayer direct so I would need to account for those (probably just using "direct" instead of the state name). I will start on this tonight.

How's this?

Yes, OMG

I've only got it working for Chrome right now. It shouldn't take long to get it working in firefox but I also need to migrate that extension to manifest v3. Also it's not caching the data yet but at least we know it's possible to make these requests in the background.

Well I use Chrome, so that works for me! 🤣
Thanks again, this is soooo useful for me. Lemme know if I can do in return!

I had to sort out some publishing issues but the Chrome extension is now published!


Make Xcode Cloud build number match Flutter build number

Use case
Is there any way at all that Flutter build numbers could be kept in sync with Xcode Cloud build numbers, for Flutter iOS builds?
When building a Flutter app via Xcode Cloud, Xcode Cloud will apply its own build number:
https://developer.apple.com/documentation/xcode/setting-the-next-build-number-for-xcode-cloud-builds
This number increases by 1 each time you build, which may be as frequently as once per push, if you set up a GitHub hook for that.
You can manually change the current build number in Xcode Cloud settings. However, even if you set up the Flutter build number to auto-increment each time you push a change, so that hopefully the Xcode Cloud build number matches the Flutter build number, the Xcode Cloud build number can get out of sync with the Flutter build number for a number of reasons (e.g. if you push changes once, then wait insufficient time before pushing changes a second time, because the second set of changes will cancel the build from the first set of changes).
I can't find a way online to programmatically update the Xcode Cloud build number -- it looks like you have to make that change through the web interface. (But I would love to be wrong about this.) However, in Xcode's config files at least, you can use ${CI_BUILD_NUMBER} to get the Xcode Cloud build number. I assume this doesn't work for local builds.
However, maybe it would be possible for "reverse integration" -- where ${CI_BUILD_NUMBER} is copied into pubspec.yaml if it is available? But then that would have to be pushed back into the git repo for the project, from the CI server, so that's not at all ideal.
Proposal
Please provide some way to keep Flutter build numbers in sync with Xcode Cloud build numbers.
Ideally this would be by pushing the current Flutter build number to Xcode Cloud at the start of each build, if a programmatic way can be found to change the Xcode Cloud settings.

I'm not sure how you would copy the Xcode Cloud setting back to the Xcode project build settings, even without Flutter being involved?  I see others asking the question in SO https://stackoverflow.com/q/74213229.
Do you need the pubspec build number to stay in-sync if you're deploying from Xcode Cloud? Can you let Xcode Cloud totally take over your versioning system for iOS?  Or are you trying to make sure it matches what you deploy to Android too?

As far as I can tell (and I think I don't understand the full picture), the Flutter build number is ignored if you are using Xcode Cloud. However, Xcode local builds do use the Flutter build number. If you try to upload a mix of local builds and Xcode Cloud builds, you can run into problems when the two build numbers get out of sync, because any given build number can only be used at most once on App Store Connect. So you may have to re-build and re-upload if one of the build numbers was already used on the other build platform.
The other issue is that it would be nice to have the Android build number and the iOS build number use the same numbering system, which is not possible if Xcode Cloud is doing its own thing and Flutter doesn't know about it.

that's a great feature,
Xcode cloud build number is not the same as Flutter build number


MG for grading

please see fbc963389063b7078eb552416922cc54027961e4

Thank you.

Comments on the MG can be found in 0a21f77.


install fftw3 via pyproject.toml

Following #194, we will have galsim as a dependence. It requires a non-pip installable package called fftw. Currently I install it in the CI workflow with:
sudo apt-get install libfftw3-dev

@jeff-regier  mentioned it should be installable via the pyproject.toml via its conda wheel. If anybody has ideas for how to do this, that would be great.

It seems fine to install it with apt. Perhaps we should add something to the readme about to install bliss, since it's a bit more complicated than typing poetry install now

Great, I added this to the readme in my most recent PR


Type-incompatible TriggerProtocol with Farfetched

Since effector@23, the TriggerProtocol implemented by interval is incompatible with Farfetched:

Reproduction: https://tsplay.dev/NB16bw
In Farfetched, TriggerProtocol correctly specifies setup and teardown as EventCallable, while patronum does not.

Hello! Thanks for the report. I'll fix it in a week 🙏


Add resources (e.g. mem usage) to each rule

Based on bechmark results?
https://github.com/vanheeringen-lab/snakemake-workflows/issues/5

Yes this is still relevant!

Added several resources for rules used in rna-seq #167 :
memory usage:

salmon
star
samtools_sort
mark_duplicates

other bottlenecks:

deeptools=1 (doesn't run in parallel)
parallel_downloads=1 (was already set by Maarten)

Values originated from benchmarks run on samples mapped to the human genome.
Trimming rules and samtools_index had a negligible memory usage.


Window Opacity

I currently use a second app to alter the Flobro window's opacity. Can we get a slider for this in-app?

Due to limitations of Chrome Apps this is not available. Will be when Flobro will run as stand-alone app when #6 is picked up.
Related to #60

make it able to change opacity please :)


feat(jsii-go): use reflect to resolve overriden methods

use reflect to resolve overriden methods, per issue #2768

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Made some (vey) minor style changes in your code (mostly adding white spaces and capitalisation in comments)...
I wonder if the error message you added could be improved a little (but I'm not too concerned about it though).
That looks pretty good to me at this stage; it's a very clever idea and I like it.

Would you be able to update the documentation under gh-pages? I can take that part up otherwise (no problem!)

Made some (vey) minor style changes in your code (mostly adding white spaces and capitalisation in comments)...
I wonder if the error message you added could be improved a little (but I'm not too concerned about it though).
That looks pretty good to me at this stage; it's a very clever idea and I like it.
Would you be able to update the documentation under gh-pages? I can take that part up otherwise (no problem!)

Thanks for your comments. I will update the code. It will be great if you could update the docs. Thanks.

Updated the docs page now to remove references to the overrides tag and insist on the fact overridden methods must have a pointer receiver... I think we're good to ship now...
Thank you again for the clever idea & implementation!

@yglcode - don't mind me I'm trying to diagnose the transient windows PR validation failure as it appears to be happening on this particular PR (no idea why or what's wrong 🤷🏻♂).
I'll get your code merged soon (even if I don't manage to understand the failure).


alive?

just wonder if this project still is maintained by someone?

It looks like it's receiving light updates, but I'm very worried as a lot of the dependencies aren't being maintained anymore. Lots of deprecation errors

We're slowly reviving the project, but will like result in a complete rewrite since deps are very outdated.


Move relevant pages to social worker account area

Two Intro pages to move:
https://www.mareinc.org/page/register-update-a-child
https://mareinc.org/page/register-a-familys-homestudy

Review Tasks

[ ] Convert the links to distinct buttons in the account area nav


use DT_INST_PROP over DT_INST_PROP_OR if possible

This closes following issue: https://github.com/zephyrproject-rtos/zephyr/issues/67651
It might happens that DT(_INST)_PROP_OR is used with boolean properties. For instance:
.single_wire = DT_INST_PROP_OR(index, single_wire, false),	\
.tx_rx_swap = DT_INST_PROP_OR(index, tx_rx_swap, false),	\

This is not required as boolean properties are generated with false value when not present, so the _OR macro extension is superflous and the above code can be replaced by:
.single_wire = DT_INST_PROP(index, single_wire),		\
.tx_rx_swap = DT_INST_PROP(index, tx_rx_swap),			\

The changes were generated with regexps:
find . -type f -name *.c | xargs -n1 perl -pi -e 's/DT_PROP_OR\((.+?),\s*\\?\s*(.+?),\s*\\?\s*false\)/DT_PROP($1, $2)/m'
find . -type f -name *.c | xargs -n1 perl -pi -e 's/DT_INST_PROP_OR\((.+?),\s*\\?\s*(.+?),\s*\\?\s*false\)/DT_INST_PROP($1, $2)/m'

@aaronemassey , could you please help me to figure out what is the problem with tests. I attached a build.log from west twister -p qemu_x86 -T tests/drivers/fuel_gauge
build.log

Sorry for the trouble with multiple updates. Next time I will submit a draft diff first

(unassigning and merging, does not belong to any particular area anyway)

This change unpapered bugs in the updated driver, which does not compile after the changes in this PR https://github.com/zephyrproject-rtos/zephyr/pull/68300. Twister may need some AI on how to choose the right tests to run.


User cannot stop rewarded ad playback

Plugin Version
3.0.0
Steps to Reproduce

Run flutter create bug.
Update main.dart files as follows:

import 'package:flutter/material.dart';
import 'package:google_mobile_ads/google_mobile_ads.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Google Ads Demo'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  RewardedAd? _rewardedAd;
  bool _loadingAd = false;

  Future<dynamic> _adBuyDialog() {
    return showGeneralDialog(
      context: context,
      barrierDismissible: false,
      transitionBuilder: (context, animation, secondaryAnimation, child) {
        return FadeTransition(
          opacity: animation,
          child: ScaleTransition(
            scale: animation,
            child: child,
          ),
        );
      },
      pageBuilder: (context, animation, secondaryAnimation) {
        return SafeArea(
          child: Scaffold(
            backgroundColor: Colors.amber,
            body: ElevatedButton(
              style: ElevatedButton.styleFrom(
                  backgroundColor: Colors.green,
                  elevation: 0,
                  minimumSize: const Size(
                    150,
                    50,
                  )),
              onPressed: () async {
                await showRewardedAd();
                if (!mounted) {
                  return;
                }
                Navigator.pop(context);
              },
              child: const Padding(
                padding: EdgeInsets.all(8.0),
                child: Text(
                  "Watch Ad",
                  style: TextStyle(color: Colors.black, fontSize: 12),
                ),
              ),
            ),
          ),
        );
      },
    );
  }

  Future<void> get _createRewardedAd async {
    _loadingAd = true;
    await RewardedAd.load(
        adUnitId: 'ca-app-pub-3940256099942544/5224354917', //sample ads
        request: const AdRequest(),
        rewardedAdLoadCallback: RewardedAdLoadCallback(
          onAdLoaded: (RewardedAd ad) {
            _rewardedAd = ad;
            _loadingAd = false;
          },
          onAdFailedToLoad: (LoadAdError error) {
            _rewardedAd = null;
            _loadingAd = false;
          },
        ));
  }

  Future<void> showRewardedAd() async {
    int tries = 0;
    int maxTries = 5;

    if (_rewardedAd == null) {
      while (tries < maxTries) {
        if (!_loadingAd) {
          _createRewardedAd;
        }
        await Future.delayed(const Duration(seconds: 1));

        tries++;

        if (_rewardedAd != null) {
          break;
        } else if (tries >= maxTries) {
          await showDialog(
              context: context,
              builder: (BuildContext context) {
                return AlertDialog(
                  title: const Text("Ad Error"),
                  content: const Text(
                      "Ad taking longer to load. Check the Internet. Continue waiting?"),
                  actions: <Widget>[
                    Semantics(
                      button: true,
                      label: "OK",
                      child: TextButton(
                        child: const Text("OK"),
                        onPressed: () {
                          tries = -2;
                          Navigator.of(context).pop();
                        },
                      ),
                    ),
                    Semantics(
                      button: true,
                      label: "Cancel",
                      child: TextButton(
                        child: const Text("Cancel"),
                        onPressed: () {
                          //remove screen scaling ban
                          Navigator.of(context).pop();
                        },
                      ),
                    ),
                  ],
                );
              });
        }
      }
    }

    if (_rewardedAd == null) {
      if (!_loadingAd) {
        _createRewardedAd;
      }

      return;
    }

    _rewardedAd!.fullScreenContentCallback = FullScreenContentCallback(
      onAdDismissedFullScreenContent: (RewardedAd ad) {
        ad.dispose();
        _rewardedAd = null;
      },
      onAdFailedToShowFullScreenContent: (RewardedAd ad, AdError error) async {
        ad.dispose();
        _rewardedAd = null;
        //_createRewardedAd;
      },
    );
    await _rewardedAd!.show(
        onUserEarnedReward: (AdWithoutView ad, RewardItem reward) {
      print("rewarded");
    });
  }

  Future<bool> _initAds() async {
    await MobileAds.instance.initialize();
    await _createRewardedAd;
    return true;
  }

  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Scaffold(
        appBar: AppBar(
          title: Text(widget.title),
        ),
        body: FutureBuilder(
            future: _initAds(),
            builder: (context, snapshot) {
              if (snapshot.hasData) {
                return const Center(
                  child: Text(
                    'Click to show test ad',
                  ),
                );
              } else {
                return const Center(
                  child: SizedBox(
                    width: 60,
                    height: 60,
                    child: CircularProgressIndicator(
                      strokeWidth: 8.0,
                      color: Color.fromRGBO(69, 162, 158, 1.0),
                    ),
                  ),
                );
              }
            }),
        floatingActionButton: FloatingActionButton(
          onPressed: _adBuyDialog,
          tooltip: 'Show Ad',
          child: const Icon(Icons.add),
        ),
      ),
    );
  }
}

Add to `Android Manifest':

 <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-3940256099942544~3347511713"/>

Run app. Click on + button, then "watch ad" button. While the ad is playing user cannot stop it. Back button does not work. Close (X) button does not work

Expected results:
User can interrupt ad playback by using Android back button or clicking close button in the ad
Actual results:
Ad is unstoppable

[√] Flutter (Channel stable, 3.10.0, on Microsoft Windows [Version 10.0.19045.2965], locale en-US)
    • Flutter version 3.10.0 on channel stable at C:\src\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 84a1e904f4 (2 days ago), 2023-05-09 07:41:44 -0700
    • Engine revision d44b5a94c9
    • Dart version 3.0.0
    • DevTools version 2.23.1

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at C:\Users\user\AppData\Local\Android\sdk
    • Platform android-33, build-tools 33.0.2
    • Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[!] Visual Studio - develop for Windows (Visual Studio Community 2022 17.5.5)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.5.33627.172
    • Windows 10 SDK version 10.0.22621.0
    X Visual Studio is missing necessary components. Please re-run the Visual Studio installer for the "Desktop development with C++" workload, and include these components:
        MSVC v142 - VS 2019 C++ x64/x86 build tools
         - If there are multiple build tool versions available, install the latest
        C++ CMake tools for Windows
        Windows 10 SDK

[√] Android Studio (version 2022.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694)

[√] VS Code (version 1.78.1)
    • VS Code at C:\Users\user\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.64.0

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19045.2965]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 113.0.5672.93
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 113.0.1774.35

[√] Network resources
    • All expected network resources are available.

Hi @under3415
There was a similar issue here as well. It looks like an issue from ads library rather than this Flutter ads plugin since I also see the issue with Android native reward sample code (you can try it to check this).
Also, I see there is a related issue that you can take a look on it: https://groups.google.com/g/google-admob-ads-sdk/c/4BGujai2Cig/m/3t2tuJmfBgAJ

We can close it if it is not a flutter issue. There is no related issue that is in progress though. This whole system of bug reporting is starting to feel like an exercise in stalling and finger pointing, very unproductive.
I thought ads were Google's number one priority, it is their bread and butter, it is surprising how little they seem to care! :-D

I watch some rewarded ads recently on apps/games and see it also can not be closed until it finished (even pressing back button or close button on the top corner). So I think it could be a change with ads activity that's out of the scope of this flutter plugin.
I will close this issue from here. If you disagree, please write in the comments and I will reopen it. Thanks!

OK to close it. Is there somewhere else I could file this bug for the Google ads team?

You can try opening a new conversation at https://groups.google.com/g/google-admob-ads-sdk


Feature Request: Implement Pause State in Breakout Game

Add a pause feature to allow players to pause the game and resume later without losing progress.

@DhanushNehru  Can you assing me this task?


Populates node names instead of defaulting to n0

TL;DR
https://flyte-org.slack.com/archives/CREL4QVAQ/p1617144631154000

Currently, node names appear as <prefix>-n<N> on the UI, where N is the index of the node in the workflow. This also makes it difficult if the node name is used in other infrastructure where we rely on it to be human-interpretable (e.g Stackdriver logging)
This PR populates a human-interpretable node name by threading it through from the entity that the node is created from.
NOTE: This is my first contribution and I am unfamiliar with the codebase. In particular, I'm unsure if this way of threading the node name through will violate any uniqueness considerations which seem to be why we hacked it in as prefix-nX in the first place.
I'm guessing this fix isn't ideal because a simple case like so would probably lead to duplicate node names. However, I'm not sure what the ideal handling here should look like - should we just append a monotonically increasing index to the end of the node name?
@workflow
def wf():
    foo()
    foo()

Type

[. ] Bug Fix
[ ] Feature
[ ] Plugin

Are all requirements met?

[ ] Code completed
[ ] Smoke tested
[ ] Unit tests added
[ ] Code documentation added
[ ] Any pending items have an associated Issue

Complete description
How did you fix the bug, make the feature etc. Link to any design docs etc
Tracking Issue
https://github.com/lyft/flyte/issues/
Follow-up issue
NA
OR
https://github.com/lyft/flyte/issues/

PTAL @kumare3 @wild-endeavor


Ensure config file exists before reading it

When used in a multi-user context, we cannot rely on the config file being created for all user by the installation script. This ensures the config folder and file exists each time the script is run.
The >> ~/.config/visum/visum.conf trick will create the file if it does not exists. If the file already exists it won't do anything, not even update modification times (unlike touch).
This change is also necessary in order to package visum for installation with package managers. I have an AUR package in the works.

Thanks, @tlaundal! Sorry for a late reply here.


DeepWarp: Photorealistic Image Resynthesis for Gaze Manipulation

Dear Dr. Yarolav Ganin:
Sorry to bother you.
I am very interested in your recently publication: DeepWarp:Photorealistic Image Resynthesis for Gaze Manipulation,published in Springer International Publishing,2016.I have some questions about the paper and upload the question in doubt.docx.
If possible, could you please give me some suggests about your paper.
Thank you very much! Best regards .
doubt.docx

Coverage remained the same at 94.532% when pulling 11b1d14c8de695527dbb3ef4ad320ba91c2d4e38 on ddtm:master into c94f08e828d6deec453c054fd340e694ec0e0b9a on SMART-Lab:master.

O_o


[Redesign] Stats Page doesn't show select options without query parameters

If you access http://preview-dev.nugettest.org/stats/packages/newtonsoft.json the page is empty.
In nuget.org: https://www.nuget.org/stats/packages/newtonsoft.json we see filter options(Version, client...)
I think we should default the route for /stats/packages/<id> should be stats/packages/<id>?groupby=Version

duplicate of https://github.com/NuGet/NuGetGallery/issues/4133


Fix DiskImageEditor storage domain list

A regression was introduced in the create VM code such that
the storage domain list on the disk editor/creator modal showed
as blank.  This has been fixed by adding the proper data center
filtering to the list generation.
Now, the storage domain list will only show storage domains available
for use by the logged in user in the VM's cluster's data center.
Fixes: #1149
Example:

ci build please

LGTM
Verified with ovirt-web-ui-1.6.1-0.20200113.git1af5cce.el7.noarch
All storage domains are now listed in the select box. Adding a new disk works also properly.


Skeleton example does not compile

https://github.com/capsule-rs/capsule/blob/master/examples/skeleton/main.rs
[package]
name = "devourer_dpdk"
version = "0.1.0"
authors = ["qiujiangkun<EMAIL_ADDRESS>edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
capsule = "*"
anyhow = "*"
tracing = "*"
tracing-subscriber = "*"

error[E0277]: the trait bound `failure::error::Error: std::error::Error` is not satisfied
  --> src/main.rs:13:31
   |
13 |     let config = load_config()?;
   |                               ^ the trait `std::error::Error` is not implemented for `failure::error::Error`
   |
   = note: required because of the requirements on the impl of `From<failure::error::Error>` for `anyhow::Error`
   = note: required by `from`

error[E0277]: the trait bound `failure::error::Error: std::error::Error` is not satisfied
  --> src/main.rs:16:27
   |
16 |     Runtime::build(config)?.execute()
   |                           ^ the trait `std::error::Error` is not implemented for `failure::error::Error`
   |
   = note: required because of the requirements on the impl of `From<failure::error::Error>` for `anyhow::Error`
   = note: required by `from`

error[E0308]: mismatched types
  --> src/main.rs:16:5
   |
7  | fn main() -> Result<()> {
   |              ---------- expected `std::result::Result<(), anyhow::Error>` because of return type
...
16 |     Runtime::build(config)?.execute()
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `anyhow::Error`, found struct `failure::error::Error`
   |
   = note: expected enum `std::result::Result<_, anyhow::Error>`
              found enum `std::result::Result<_, failure::error::Error>`

error: aborting due to 3 previous errors

Some errors have detailed explanations: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `devourer_dpdk`

I see, the migration from falliable to anyhow just happens, and the version from crate.io has not been updated

@qiujiangkun yep. New release is coming out this week.


⚠ Feedaty widget has degraded performance

In eeff58a, Feedaty widget (https://widget.feedaty.com/public/js/feedaty.js?merchant=10213975&style_ver=2021&data-sku=36263) experienced degraded performance:

HTTP code: 200
Response time: 2147 ms

Resolved: Feedaty widget performance has improved in 49c28c5 after 11 minutes.


Hello, big guys, I want to ask the node installed, but can not be loaded in the workflow, because what

If the workflow isn't loading there is an issue, yes. But what I couldn't say without an error log.

Registered sys.path: ['/home/ubuntu/ComfyUI/custom_nodes/comfyui_controlnet_aux/src/controlnet_aux', '/home/ubuntu/ComfyUI/custom_nodes/comfyui_controlnet_aux/src/init.py', '/home/ubuntu/ComfyUI/custom_nodes/comfyui_controlnet_aux/src/custom_pycocotools', '/home/ubuntu/ComfyUI/custom_nodes/comfyui_controlnet_aux/src/custom_midas_repo', '/home/ubuntu/ComfyUI/custom_nodes/comfyui_controlnet_aux/src/custom_oneformer', '/home/ubuntu/ComfyUI/custom_nodes/comfyui_controlnet_aux/src/custom_mmpkg', '/home/ubuntu/ComfyUI/custom_nodes/comfyui_controlnet_aux/src/custom_detectron2', '/home/ubuntu/ComfyUI/custom_nodes/comfyui_controlnet_aux/src', '/home/ubuntu/ComfyUI/custom_nodes/comfy_PoP/comfy', '/home/ubuntu/ComfyUI/custom_nodes/comfy_PoP/comfy', '/home/ubuntu/ComfyUI/comfy', '/usr/local/lib/python3.8/dist-packages/git/ext/gitdb', '/home/ubuntu/ComfyUI', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/home/ubuntu/.local/lib/python3.8/site-packages', '/usr/local/lib/python3.8/dist-packages', '/usr/local/lib/python3.8/dist-packages/cloud_init-20.1-py3.8.egg', '/usr/lib/python3/dist-packages', '/tmp/tmppf_ucxzb', '../..']
Traceback (most recent call last):
File "/home/ubuntu/ComfyUI/nodes.py", line 1734, in load_custom_node
module_spec.loader.exec_module(module)
File "", line 848, in exec_module
File "", line 219, in _call_with_frames_removed
File "/home/ubuntu/ComfyUI/custom_nodes/was-node-suite-comfyui/init.py", line 1, in
from .WAS_Node_Suite import NODE_CLASS_MAPPINGS
File "/home/ubuntu/ComfyUI/custom_nodes/was-node-suite-comfyui/WAS_Node_Suite.py", line 5693
match background_color:
^
SyntaxError: invalid syntax
Cannot import /home/ubuntu/ComfyUI/custom_nodes/was-node-suite-comfyui module for custom nodes: invalid syntax (WAS_Node_Suite.py, line 5693)

Thanks for the error. I'll take a look, but very strange you would have a
syntax error. Did you edit WAS-NS? A syntax error would be erroring
everyone out including me.
On Thu, Sep 28, 2023, 12:52 AM the2ndface @.***> wrote:

Registered sys.path:
['/home/ubuntu/ComfyUI/custom_nodes/comfyui_controlnet_aux/src/controlnet_aux',
'/home/ubuntu/ComfyUI/custom_nodes/comfyui_controlnet_aux/src/init.py',
'/home/ubuntu/ComfyUI/custom_nodes/comfyui_controlnet_aux/src/custom_pycocotools',
'/home/ubuntu/ComfyUI/custom_nodes/comfyui_controlnet_aux/src/custom_midas_repo',
'/home/ubuntu/ComfyUI/custom_nodes/comfyui_controlnet_aux/src/custom_oneformer',
'/home/ubuntu/ComfyUI/custom_nodes/comfyui_controlnet_aux/src/custom_mmpkg',
'/home/ubuntu/ComfyUI/custom_nodes/comfyui_controlnet_aux/src/custom_detectron2',
'/home/ubuntu/ComfyUI/custom_nodes/comfyui_controlnet_aux/src',
'/home/ubuntu/ComfyUI/custom_nodes/comfy_PoP/comfy',
'/home/ubuntu/ComfyUI/custom_nodes/comfy_PoP/comfy',
'/home/ubuntu/ComfyUI/comfy',
'/usr/local/lib/python3.8/dist-packages/git/ext/gitdb',
'/home/ubuntu/ComfyUI', '/usr/lib/python38.zip', '/usr/lib/python3.8',
'/usr/lib/python3.8/lib-dynload',
'/home/ubuntu/.local/lib/python3.8/site-packages',
'/usr/local/lib/python3.8/dist-packages',
'/usr/local/lib/python3.8/dist-packages/cloud_init-20.1-py3.8.egg',
'/usr/lib/python3/dist-packages', '/tmp/tmppf_ucxzb', '../..']
Traceback (most recent call last):
File "/home/ubuntu/ComfyUI/nodes.py", line 1734, in load_custom_node
module_spec.loader.exec_module(module)
File "", line 848, in exec_module
File "", line 219, in _call_with_frames_removed
File "/home/ubuntu/ComfyUI/custom_nodes/was-node-suite-comfyui/init.py",
line 1, in
from .WAS_Node_Suite import NODE_CLASS_MAPPINGS
File
"/home/ubuntu/ComfyUI/custom_nodes/was-node-suite-comfyui/WAS_Node_Suite.py",
line 5693
match background_color:
^
SyntaxError: invalid syntax
Cannot import /home/ubuntu/ComfyUI/custom_nodes/was-node-suite-comfyui
module for custom nodes: invalid syntax (WAS_Node_Suite.py, line 5693)
—
Reply to this email directly, view it on GitHub
https://github.com/WASasquatch/was-node-suite-comfyui/issues/217#issuecomment-1738655580,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIZEZO35HLZZSIDRXW7QK3X4UUFPANCNFSM6AAAAAA5IXJEXQ
.
You are receiving this because you commented.Message ID:
@.***>

So this is because match statement is for Python 3.10 and higher. I have patched this code so it should run on older versions now.

Have you tested the latest patch to see if it's working on your ubuntu dist? If there are further compatibility issues please let me know and I was rectify them.


Fix issue #56

Coverage remained the same at 54.627% when pulling f500ae95c92609dd9ba3c8bbe226ae1367467f1e on issue_56 into 450dea17cfea0ee6063058fff01e4b689c230de6 on master.


fix: add client field to regV2 metadata

:tada: This PR is included in version 1.14.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.14.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add readOnly flag to mute Slack messages

This new option allows for the creation of read-only Slack-IRC bridges, i.e. messages from Slack are not forwarded to IRC.

Coverage decreased (-0.5%) to 98.995% when pulling 99612643d1d8c060aad743625170a9e0bdf573ec on DanielHuisman:feature-readonly into e5cb8c6e83a18b706bd69cef96c5af067a31604a on ekmartin:master.


overlayClassName and styled-components not playing nicely

I'm running into a problem trying to encapsulate my Modal styles with styled-components. The following approach fails to work and the defaultProps() route is a no go as well. After looking at how react-modal generates the modal elements outside of the <App/> root in the DOM, it's not surprising this is causing problems. It looks like buildClassName() is correctly adding the 'modal-overlay' className, yet even the second approach doesn't work. I suspect styled-components doesn't inject the CSS as it doesn't see any of it's children, or any of the <App/> children using it. Any ideas on how to get this to work to avoid using a global css class for the overlay?
const overlayClassName = 'modal-overlay'
const StyledModal = styled(Modal).attrs({
  overlayClassName
})`
  styles: here;

  &.${overlayClassName} {
    doesnt: work;
  }
  .${overlayClassName} {
    also-doesnt: work;
  }
`

For anyone searching, I solved this using a wrapper function, assuggested by @exogen
function ReactModalAdapter ({ className, modalClassName, ...props }) {
  return (
    <ReactModal
      className={modalClassName}
      portalClassName={className}
      {...props}
    />
  )
}

const StyledModal = styled(ReactModalAdapter).attrs({
  overlayClassName: 'Overlay',
  modalClassName: 'Modal'
})`
  .Modal {
    styles: here;
  }
  .Overlay {
    styles: here;
  }
`

@NathanielHill Were you getting this to work without using injectGlobal?

@christinechou I use this method, and yes, it works without any injectGlobal necessary.
The only thing you should need injectGlobal for is if you want the optional body styling like:
// Remove scroll on the body when react-modal is open.
injectGlobal`
  .ReactModal__Body--open {
    overflow: hidden;
  }
`;

Got it - so the reason this works is that it's overwriting the React Modal's portalClassName with the className being generated by styled components and attached to the component. I had it reversed (I was passing down the same className from the adapter wrapper into the ReactModal className).  Thanks!

Exactly! :)

I needed to go a little above and beyond the above to get full control of styles:
const StyledModal = styled(ReactModalAdapter).attrs({
  overlayClassName: {
    base: "Overlay",
    afterOpen: "Overlay--after-open",
    beforeClose: "Overlay--before-close"
  },
  modalClassName: {
    base: "Modal",
    afterOpen: "Modal--after-open",
    beforeClose: "Modal--before-close"
  }
})`

  .Modal {
    &--after-open {
    }

    &--before-close {
    }
  }

  .Overlay {
    &--after-open {
    }

    &--before-close {
    }
  }
`;
`

Hope this helps someone :)

I elaborated on @smagch's code for TypeScript. There is probably still some room for improvement for handling the transition classes:
import React from "react";
import styled from "styled-components";
import ReactModal from "react-modal";

interface Props extends ReactModal.Props {
  className?: string;
}

const ReactModalAdapter: React.SFC<Props> = ({ className, ...props }: Props) => {
  const contentClassName = `${className}__content`;
  const overlayClassName = `${className}__overlay`;
  return (
    <ReactModal
      portalClassName={className}
      className={contentClassName}
      overlayClassName={overlayClassName}
      {...props}
    />
  );
};

export const StyledModal = styled(ReactModalAdapter)`
  &__overlay {
    …
    &.ReactModal__Overlay--after-open {
      …
    }
    &.ReactModal__Overlay--before-close {
      …
    }
  }

  &__content {
    …
    &.ReactModal__Content--after-open {
      …
    }
    &.ReactModal__Content--before-close {
      …
    }
  }
`;

And if you're like me and you want to compulsively turn everything into a HoC, here's the recompose solution:
const enhance = mapProps(({ className, ...rest }) => ({
    portalClassName: className,
    className: `${className}__content`,
    overlayClassName: `${className}__overlay`,
    ...rest
} as ReactModal.Props));

const Modal = styled(enhance(ReactModal))`
    &__content {
        ....
    }

    &__overlay {
        ...
    }
`;


#42 Updated Prisma Schema for DonatedItem

**Fixes #42 **
What was changed?

Updated the Prisma schema for DonatedItem.

Why was it changed?

This change will ensure that each donated item is properly associated with donor and program details, improving data integrity and relationships across the database.

How was it changed?

Removed the 'donorEmail' column and replaced it with a foreign key to the 'Donor' table for proper association.

Removed the program column and replaced it with a foreign key to the Program table to link each donated item with a program entity.

Screenshots that show the changes (if applicable):

Before:

Attach screenshot

After:

Attach screenshot

@saikiran0405 changes looks good to me and I am merging it


doc: various pre-release improvements

Codecov Report
Attention: Patch coverage is 47.82609% with 12 lines in your changes missing coverage. Please review.

Project coverage is 87.91%. Comparing base (f790f40) to head (d8695d7).
Report is 1 commits behind head on main.

Files with missing lines
Patch %
Lines

src/lib.rs
47.82%
12 Missing :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1691   +/-   ##
=======================================
  Coverage   87.91%   87.91%
=======================================
  Files          16       16
  Lines        5811     5811
=======================================
  Hits         5109     5109
  Misses        702      702

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


AttributeError: 'MemGPTConfig' object has no attribute 'model'

Describe the bug
In memgpt 0.2.12, when running memgpt configure, after selecting the default endpoint. The error pops out.
Please describe your setup

[ ] MemGPT version
0.2.12
[ ] How did you install memgpt?
Git clone, poetry
[ ] Describe your setup
Linux terminal

Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

This should be fixed with #852 but please re-open if not!