Image Captions

Is your feature request related to a problem? Please describe.
Is there a way to add captions to images? I did not seem to find it.
Describe the solution you'd like
Would be nice if support for it can be added. I expect something like using the Alt Text as Caption or ![Alt](image.png "my caption") will be nice.

@Yash-Garg did you find a way to render this with Quartz?

@christeefy I added a custom plugin for it using https://github.com/Robot-Inventor/rehype-image-caption

Thanks for the tip. The caption looks really good on your site!

@Yash-Garg your website is looking amazing! can you share your custom plugin to add image captions? :)

Sure, you can save the following in a captions.patch file and then git apply captions.patch, also make sure to run npm install after that.
commit e7d320accd3ee12c92902bcbc37bc925b074a2c4
Author: Yash-Garg<EMAIL_ADDRESS>Date:   Tue Aug 27 23:25:01 2024 +0530

    feat: add image captions

diff --git a/package.json b/package.json
index 5823535..d181904 100644
--- a/package.json
+++ b/package.json
@@ -67,6 +67,7 @@
     "reading-time": "^1.5.0",
     "rehype-autolink-headings": "^7.1.0",
     "rehype-citation": "^2.1.1",
+    "rehype-image-caption": "^2.0.6",
     "rehype-katex": "^7.0.1",
     "rehype-mathjax": "^6.0.0",
     "rehype-pretty-code": "^0.13.2",
@@ -109,4 +110,4 @@
     "tsx": "^4.17.0",
     "typescript": "^5.5.4"
   }
-}
+}
\ No newline at end of file
diff --git a/quartz.config.ts b/quartz.config.ts
index b6abbb2..391574c 100644
--- a/quartz.config.ts
+++ b/quartz.config.ts
@@ -71,6 +71,7 @@ const config: QuartzConfig = {
       Plugin.CrawlLinks({ markdownLinkResolution: "shortest" }),
       Plugin.Description(),
       Plugin.Latex({ renderEngine: "katex" }),
+      Plugin.FigureCaptions(),
     ],
     filters: [Plugin.RemoveDrafts()],
     emitters: [
diff --git a/quartz/plugins/transformers/captions.ts b/quartz/plugins/transformers/captions.ts
new file mode 100644
index 0000000..6d10e8e
--- /dev/null
+++ b/quartz/plugins/transformers/captions.ts
@@ -0,0 +1,11 @@
+import rehypeImageCaption from "rehype-image-caption";
+import { QuartzTransformerPlugin } from "../types";
+
+export const FigureCaptions: QuartzTransformerPlugin = () => {
+    return {
+        name: "FigureCaptions",
+        htmlPlugins() {
+            return [[rehypeImageCaption]]
+        },
+    }
+}
\ No newline at end of file
diff --git a/quartz/plugins/transformers/index.ts b/quartz/plugins/transformers/index.ts
index 7908c86..7eb7431 100644
--- a/quartz/plugins/transformers/index.ts
+++ b/quartz/plugins/transformers/index.ts
@@ -10,3 +10,4 @@ export { OxHugoFlavouredMarkdown } from "./oxhugofm"
 export { SyntaxHighlighting } from "./syntax"
 export { TableOfContents } from "./toc"
 export { HardLineBreaks } from "./linebreaks"
+export { FigureCaptions } from "./captions"
diff --git a/quartz/styles/custom.scss b/quartz/styles/custom.scss
index b0c09dc..279e531 100644
--- a/quartz/styles/custom.scss
+++ b/quartz/styles/custom.scss
@@ -1,3 +1,18 @@
 @use "./base.scss";

 // put your custom CSS here!
+// Styling for Figures
+figure {
+    margin: 0;
+}
+
+figcaption {
+    text-align: center;
+    margin-top: .35em;
+    font-size: 0.9em;
+    opacity: 0.8;
+}
+
+figure>img {
+    margin: 0;
+}
\ No newline at end of file

@Yash-Garg sorry to bother you again. I applied the changes here, and when building the code, the project fails to build when there are files using the Obsidian file embedding syntax (![[...]]).
Error obtained was:
Failed to process `...md`: Cannot read properties of undefined (reading 'type')

I'm not a JS/TS developer, let alone familiar with Quartz's plugin system — the error may be obvious otherwise. Do you know what the issue might be or have you encountered this yourself?
Thanks in advance!

@Yash-Garg sorry to bother you again. I applied the changes here, and when building the code, the project fails to build when there are files using the Obsidian file embedding syntax (![[...]]).
Error obtained was:
Failed to process `...md`: Cannot read properties of undefined (reading 'type')

I'm not a JS/TS developer, let alone familiar with Quartz's plugin system — the error may be obvious otherwise. Do you know what the issue might be or have you encountered this yourself?
Thanks in advance!

Seems to be working on my end, I just tried using the following:
![[test.png]]*test caption*

Sorry for the late reply @Yash-Garg.
I verified that ![[test.png]]*test caption* works. However, I've also confirmed that so long as there are embedded notes ![[my-note]], the plugin would fail and prevent the static site from being generated.
Not sure how I may go about that, so I may not be able to use this plugin unfortunately.
Thanks so much for helping out all this time!

Sorry for the late reply @Yash-Garg.
I verified that ![[test.png]]*test caption* works. However, I've also confirmed that so long as there are embedded notes ![[my-note]], the plugin would fail and prevent the static site from being generated.
Not sure how I may go about that, so I may not be able to use this plugin unfortunately.
Thanks so much for helping out all this time!

https://github.com/Robot-Inventor/rehype-image-caption/pull/105 should fix it, if it's merged by the maintainer of the package.

You're awesome!! 🚀  Subscribed, and thanks for helping for providing the fix


Implement auto-joining

The features should automatically be joined based on the id columns

implemented by #30


CAPI v1.5.0-beta.0 has been released and is ready for testing

CAPI v1.5.0-beta.0 has been released and is ready for testing.
Looking forward to your feedback before CAPI 1.5.0 release, the 25th July 2023!
For quick reference:

CAPI v1.5.0-beta.0 release notes
Shortcut to CAPI git issues

Following are the planned dates for the upcoming releases:

Release
Expected Date

v1.5.0-beta.x
Tuesday 5th July 2023

release-1.5 branch created (Begin [Code Freeze])
Tuesday 11th July 2023

v1.5.0-rc.0 released
Tuesday 11th July 2023

release-1.5 jobs created
Tuesday 11th July 2023

v1.5.0-rc.x released
Tuesday 18th July 2023

v1.5.0 released
Tuesday 25th July 2023

/triage accepted
/help
/cc @kashifest @mboukhalfa @lentzi90

/assign @kashifest

/close
We bumped CAPI to v1.5.0 in https://github.com/metal3-io/ip-address-manager/pull/280


Binned coordinates (pd.Interval) not plottable on the y-axis.

Minimal Code Sample
import numpy as np
import xarray as xr
import matplotlib.pyplot as plt

# create fake data
data = xr.DataArray(np.random.rand(101)).rename('data')

# group by bins and compute sum
bins = np.linspace(0, 1, 11)
data = data.groupby_bins(data, bins).sum()

# plot group means
data.plot()                             # works
data.plot(x='data_bins')                # works
plt.plot((bins[:-1]+bins[1:])/2, data)  # works

# plot with axes transposed
data.plot(y='data_bins')                # TypeError
data.plot.line(y='data_bins')           # TypeError
plt.plot(data, (bins[:-1]+bins[1:])/2)  # workaround

Expected Output
I would like to plot binned data (produced with groupby_bins) with transposed axes, i.e. data on the x-axis, and bins on the y-axis.
Problem Description
Attempting to plot using an array of pd.Interval on the y-axis yields the following TypeError. The error message reports data should be numeric, dates or pd.Interval, which they are.
Traceback (most recent call last):
  File "./groupbybug.py", line 19, in <module>
    data.plot(y='data_bins')                # TypeError
  File "~/.local/lib/python3.7/site-packages/xarray/plot/plot.py", line 465, in __call__
    return plot(self._da, **kwargs)
  File "~/.local/lib/python3.7/site-packages/xarray/plot/plot.py", line 202, in plot
    return plotfunc(darray, **kwargs)
  File "~/.local/lib/python3.7/site-packages/xarray/plot/plot.py", line 323, in line
    _ensure_plottable(xplt_val, yplt_val)
  File "~/.local/lib/python3.7/site-packages/xarray/plot/utils.py", line 512, in _ensure_plottable
    "Plotting requires coordinates to be numeric "
TypeError: Plotting requires coordinates to be numeric or dates of type np.datetime64, datetime.datetime, cftime.datetime or pd.Interval.

 It looks like the logic here needs to be updated:
https://github.com/pydata/xarray/blob/ff6051de5fa61f1e371dea1eaba8edd09288b8d1/xarray/plot/plot.py#L300-L323
Note that the 2D plotting functions do this:
https://github.com/pydata/xarray/blob/ff6051de5fa61f1e371dea1eaba8edd09288b8d1/xarray/plot/plot.py#L697-L698
This should be relatively easy fix if you're up for it.


[json] Launch.json recommending properties before defining launch/attach

VSCode Version: 0.10.12-alpha
OS Version: Windows 10

Steps to Reproduce:

Open launch.json file
Add another debug configuration with name and type

Actual:
It is suggesting adding program and cwd properties before it knows what configuration you'll choose.

Expected:
Only suggests adding request property until you have defined request and does not show launch/attach specific properties.

This is a feature request against our json schema which currently does not support his.
Forwarding to @aeschli

This is pretty tricky to implement in the schema validator.

closing as won't fix


[Feature] Allow uploading dSYM only for hockey app.

Hi there,
this is a simple feature request :)
Feature request
According to the hockey app docs it is allowed to only upload the dSYM.
The HockeyAction should be able to be configured to allow that as well.
Reasoning behind the feature
You want to get crash reports for your live app (thats in the app store) BUT you don't want to supple the ipa.
The reason for NOT supplying the ipa
Someone downloads your app from the App Store. They will be able to extract the APP_ID string on HockeyApp.
Those hackers will then be able to download the beta by just take your App ID, integrate the Hockey App SDK in a simple Xcode project, and then update from this empty app to the latest beta.
This can be avoided by using their authentication feature but that is not always feasible.
Workaround
For the project I need this in I temporary added a new hockey_dsym_only action but I'd love to be able to do it properly by adding it to fastlane.

The current stratgey I have is this:
     ipa_filename = options[:ipa]
        if options[:upload_dsym_only] == true
          ipa_filename = nil
        end

     response = client.upload_build(ipa_filename, values)

where upload_dsym_only is a new option, defaulting to false.
Any thoughts on this implementation before I do a PR?

Simplified: :+1:
ipa_filename = options[:ipa]
ipa_filename = nil if options[:upload_dsym_only]
response = client.upload_build(ipa_filename, values)

Thanks for the tip :)

This is resolved now, right?

Yes it is resolved :)

Hi and thanks for the feature!
Can we make 'ipa' as an optional parameter?
If I'm truing upload_dsym_only now:
  lane :deploy do |options|
    hockey(
      api_token:          'TOKEN',
      public_identifier:  'APP_ID',
      release_type:       '0',
      dsym:               'some.app.dSYM.zip',
      upload_dsym_only:   true,
      notes:              '',
      notify:             '0',
      status:             '1',
    )
  end

I got the following prompt:
[19:12:00]: --------------------
[19:12:00]: --- Step: hockey ---
[19:12:00]: --------------------
[19:12:00]: Starting with ipa upload to HockeyApp... this could take some time.
[19:12:00]: To not be asked about this value, you can specify it using 'ipa'
Path to your IPA file. Optional if you use the `gym` or `xcodebuild` action. For Mac zip the .app:

No gyp/ipa/xcodebuild was used in prior, ipa/dsym ere build on a different lane.


Alt + Space shows twice

Alt + Space will generate two Keycastr views:

As far as I can tell....
This does not occur with other uses of Alt:

Or with other uses of space:

I can't reproduce this in the latest version - please reopen if this is still happening for you


Postgres @Enum migration generating invalid syntax

Describe the bug
When modifying an existing string column to be an enum, the migration that gets generated seems to have a syntax error
To Reproduce
Start with this table, generate and run the initial setup migration:
@Entity()
export class Report extends BaseEntity {
    @Property()
    status: string;
}

All good. Now change status to an enum:
export enum ReportStatus {
    PENDING = "PENDING",
    RUNNING = "RUNNING",
    FINISHED = "FINISHED",
    ERRORED = "ERRORED",
}

@Entity()
export class Report extends BaseEntity {
    @Enum()
    status: ReportStatus = ReportStatus.PENDING;
}

Creating a migration for this results in this:
export class Migration20200328220156 extends Migration {

  async up(): Promise<void> {
    this.addSql('alter table "report" alter column "status" drop default;');
    this.addSql('alter table "report" alter column "status" drop not null;');
    this.addSql('alter table "report" alter column "status" type text check ("status" in (\'PENDING\', \'RUNNING\', \'FINISHED\', \'ERRORED\')) using ("status"::text check ("status" in (\'PENDING\', \'RUNNING\', \'FINISHED\', \'ERRORED\')));');
    this.addSql('alter table "report" alter column "status" set not null;');
  }
}

And executing that gives a syntax error:
$ /Users/js/Documents/.../node_modules/.bin/mikro-orm migration:up
== Migration20200328220156: migrating =======
mikro-orm migration:up

Migrate up to the latest version

Options:
  -t, --to       Migrate up to specific version                         [string]
  -f, --from     Start migration from specific version                  [string]
  -o, --only     Migrate only specified versions                        [string]
  -v, --version  Show version number                                   [boolean]
  -h, --help     Show help                                             [boolean]

error: alter table "report" alter column "status" type text check ("status" in ('PENDING', 'RUNNING', 'FINISHED', 'ERRORED')) using ("status"::text check ("status" in ('PENDING', 'RUNNING', 'FINISHED', 'ERRORED'))); - syntax error at or near "check"

The problem seems to be this line
alter table "report" alter column "status" type text check ("status" in (\'PENDING\', \'RUNNING\', \'FINISHED\', \'ERRORED\')) using ("status"::text check ("status" in (\'PENDING\', \'RUNNING\', \'FINISHED\', \'ERRORED\')));

If I drop my db and get rid of the initial migration, the create table statement gets generated and run correctly, so that's a fairly easy workaround for the moment.
Additional info
My mikro-orm.config.ts:
const config: Options<IDatabaseDriver<Connection>> = {
    entities: [BaseEntity, Report, Reporter, ReportLog],
    entitiesDirsTs: ["src"],
    type: "postgresql",
    host: "localhost",
    dbName: "reports",
};

P.S Sorry for making so many issues :)

Hmm looks like this is actually an issue with knex:
https://stackoverflow.com/questions/45299464/alter-table-modify-enum-in-knex-js-for-postgresql-gives-error
Will try to get around it somehow, not first knex problem I came across :)

P.S Sorry for making so many issues :)

No problem at all, well defined issues like this are welcome :) Better than a slack message that can easily get lost/forgotten.

@B4nan  Does this PR solves this issue?
I am on v4, exactly same use case with PG and I am also getting string with type check instead of proper ENUM

The tests are still there and they are passing...

I am also getting string with type check instead of proper ENUM

This is how enums are implemented, this is how knex works. No support for native enum unfortunately.

Got it. Thank you for the explanation

@B4nan sorry to necro an old issue, but I wanted to point out that Knex does support native enums on postgres. See the docs: https://knexjs.org/#Schema-enum

I know it does, but we would have to implement all the schema diffing too (which might not be that hard, but still its much more work than using a bool flag in knex).
Open for PR if it's that important for somebody, personally the text columns with check constraints seem to be much better solution, but havent really used the native ones in the wild, so I might be wrong.


Result set caching defaults

Can defaults at both database and session levels please be documented?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 893843c1-bbd0-2953-5594-b7483accd046
Version Independent ID: 33b132fe-2c07-0c59-4766-e3b534ea010b
Content: Performance tuning with result set caching - Azure Synapse Analytics
Content Source: articles/synapse-analytics/sql-data-warehouse/performance-tuning-result-set-caching.md
Service: synapse-analytics
Sub-service: sql-dw
GitHub Login: @XiaoyuMSFT
Microsoft Alias: xiaoyul

@VitalyMCT -
Thanks for the feedback! We have assigned the issue to the content author to review this and update the document as appropriate.

#assign:julieMSFT

@VitalyMCT Thank you for contacting Microsoft. Can you give me a bit more detail on what you think needs to be added to the documentation?

@julieMSFT The defaults, i.e. whether the result set caching is ON or OFF at database & session levels when the option is not explicitly specified. I think it's OFF at both levels by default.

Thank you @VitalyMCT, I will check on this and update the doc as appropriate.


Various logs-dispatcher fixes

Pin the dependency tree using bundler.
Vendor gems and use them during image build.
Bump all gems to latest version.
Bump fluentd base image to latest version.

I'd much prefer specifying the version in the Gemfile (maybe even with a carat for minor version compatibility) and not committing the vendor dir. The result will be the same, but it will allow automated updates to be PR'd, and make updates less manual.
I've got the change(s) if you want them?
gem 'fluent-plugin-cloudwatch-logs', '~> 0.14.3'
gem 'fluent-plugin-datadog', '~> 0.14.2'
gem 'fluent-plugin-kubernetes_metadata_filter', '~> 3.1.2'
gem 'fluent-plugin-multi-format-parser', '~> 1.0.0'
gem 'fluent-plugin-prometheus', '~> 2.0.3'
gem 'fluent-plugin-rabbitmq', '~> 0.0.9'
gem 'fluent-plugin-record-modifier', '~> 2.1.1'
gem 'fluent-plugin-remote-syslog', '~> 1.1'
gem 'fluent-plugin-rewrite-tag-filter', '~> 2.4.0'
gem 'fluent-plugin-route', '~> 1.0.0'
gem 'fluent-plugin-s3', '~> 1.7.2'
gem 'fluent-plugin-splunk-enterprise', '~> 0.10.2'
gem 'fluent-plugin-sumologic_output', '~> 1.8.0'

Thanks for taking a look. I can remove the vendored gems if you like, but it might be a good idea to leave them in. The advantages of vendoring include:

Gems are guaranteed not to change instead of relying on a version number.
Build don't depend on rubygems.org being up.

Dependabot supports vendoring the gems, so automated upgrades shouldn't be too difficult?
Limiting the versions to minor upgrades (which is what ~> does) may also cause problems due to missing major version upgrades. e.g. v3 of the k8s metadata plugin was a breaking change (it broke our config!) but it also has important fixes for recent versions of k8s that we need.
Let me know what you think :slightly_smiling_face:


Add freedesktop-21.08

I'm not exactly sure if that's how we do it, but could you double check just in case I did it right?

Thanks


[Bug]: Terminal does not resize when app maximize on 49-inch screen

Current Behavior
When I open the application on a 49-inch screen and maximize the window in maximize mode , the first terminal does not resize to fit the screen size. This results in suboptimal display and makes using the application less enjoyable.
app with one terminal

resizing maximize with one terminal

minimize (right side panel disappear)

maximize opening second tab

minimize (right side panel disappear)

Expected Behavior
The first terminal should automatically resize to fit the maximized window.
Steps To Reproduce
Open the application on a 49-inch screen.
Maximize the application window.
Observe that the first terminal does not adjust to the screen size.
Wave Version
v0.9.1
Platform
Linux
OS Version/Distribution
manjaro
Architecture
x64
Anything else?
No response
Questionnaire

[ ] I'm interested in fixing this myself but don't know where to start
[ ] I would like to fix and I have a solution
[ ] I don't have time to fix this right now, but maybe later

got the same behavior on a 24" monitor
wave version: v0.9.1<PHONE_NUMBER>41)
platform: linux
os/distro: tuxedo os
architecture: x64

Same issue here.
This occurs when Pop!OS is in tilling mode, and I close an other application, or if I move wave from a small monitor to a large one.  In both those case, It's not the user (me) resizing, but the DE.
It seem that wave  doesn't catch the notification for auto-resize.
 A
Memory: 38758MiB / 95919MiB

same issure on ubuntu 22.04.4 LTS desktop

This should be fixed in 0.9.2. There's still a bit of a delay with the resizing when in fullscreen mode, looking into that


Error getting IP

[Account 1] Error: Invalid \escape: line 1 column 154 (char 153)
[Account 1] Failed to get IP.
I keep getting this error, but when I try to use any random VPN, it magically disappears. Using latest version

There is nothing we can do about that, The Hamster server returns an invalid JSON, comment  these lines:
https://github.com/masterking32/MasterHamsterKombatBot/blob/2c42aada07c5b7f7116746443fc0dd764a4fc9b8/main.py#L1226
        if ipResponse is None:
            log.error(f"[{self.account_name}] Failed to get IP.")
            self.SendTelegramLog(
                f"[{self.account_name}] Failed to get IP.", "other_errors"
            )
            return

or try with a different ISP or IP.

There is nothing we can do about that, The Hamster server returns an invalid JSON, comment these lines:
https://github.com/masterking32/MasterHamsterKombatBot/blob/2c42aada07c5b7f7116746443fc0dd764a4fc9b8/main.py#L1226
        if ipResponse is None:
            log.error(f"[{self.account_name}] Failed to get IP.")
            self.SendTelegramLog(
                f"[{self.account_name}] Failed to get IP.", "other_errors"
            )
            return

Okay I will do that but first I just want to be sure, Is it a safe thing to do? or there will be higher chances of Hamster suspecting my account? Please reply so I know if it better to remove this code or just use a VPN while running your script.

There is nothing we can do about that, The Hamster server returns an invalid JSON, comment these lines:
https://github.com/masterking32/MasterHamsterKombatBot/blob/2c42aada07c5b7f7116746443fc0dd764a4fc9b8/main.py#L1226
        if ipResponse is None:
            log.error(f"[{self.account_name}] Failed to get IP.")
            self.SendTelegramLog(
                f"[{self.account_name}] Failed to get IP.", "other_errors"
            )
            return

Okay I will do that but first I just want to be sure, Is it a safe thing to do? or there will be higher chances of Hamster suspecting my account? Please reply so I know if it better to remove this code or just use a VPN while running your script.

If you comment on these lines of code, a request will be sent; you will only disable the display of errors.


Update issue to 0.4.3

Hey @vanackej
I saw an update for addon, but it doesn't start anymore with error below
Image ghcr.io/vanackej/risco-mqtt-local-addon-amd64:0.4.3 does not exist for addon_c774f33c_risco-mqtt-local-addon

Yeah the addon declaration was updated before the actual docker image was
available.
Just uninstall/reinstall the addon
Le lun. 4 juil. 2022 à 21:54, pergolafabio @.***> a
écrit :

Hey @vanackej https://github.com/vanackej
I saw an update for addon, but it doesn't start anymore with error below
Image ghcr.io/vanackej/risco-mqtt-local-addon-amd64:0.4.3 does not exist
for addon_c774f33c_risco-mqtt-local-addon
—
Reply to this email directly, view it on GitHub
https://github.com/vanackej/risco-mqtt-local/issues/44, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAECPHNLL362J7NBGYRYLRTVSM6PLANCNFSM52UCN5KA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Indeed , it's now running again, thnx , appreciated


Make Master Channels Sliders affect  in relation to the track current sliders

For example, if I have a track on half volume, and I want to simply turn the master volume down a bit,
the child track's volume should move down into relation to the master track, and not simply be the same as master volume
this can be done similar to how I implemented the initVolume for allowing a volume of zero at song playback

I thought of this, but decided not to do it since it's already pretty functional as it is.


AttributeError: 'module' object has no attribute 'create_tree_digraph'

import lightgbm as lgb
model_file='model.txt'
bst = lgb.Booster(model_file=model_file, silent=True)
lgb.create_tree_digraph(bst, name='tree', format='pdf', engine='dot')
it reports:
AttributeError: 'module' object has no attribute 'create_tree_digraph'

update the lightgbm to the latest version and solved the problem.


Feature: new Notification management?

[x] Event handling for emitted notification from remote sites
[ ] opening the corresponding WebApp for each notification clicked on

https://www.jonic.cn/qa/?qa=1157594/javascript-intercept-html5-web-notifications-in-a-browser-environment

:thinking:

seems not possible with actual framework. Until we change that, laying this dormant...

Ist durch "red dot" so gut gelöst, wie es geht!


Option to stitch results of partitioned jobs

This has been suggested before and also came  up in https://discuss.eodc.eu/t/job-splitting/467/7 :
When using partitioned jobs (aka managed job splitting, the user might prefer a single result file instead of separate files for each sub job

Note that openEO may already allow this by:

load_result of the job that generated multiple results
save_result to geotiff (default options should produce single tiff)


error: no matching function for call to ‘QtNodes::FlowScene::FlowScene(std::shared_ptrQtNodes::DataModelRegistry)’    FlowScene scene(registerDataModels())

I am trying a prototype application to embed the node-editor flow-view in my custom application.
I am getting the following error when I try to run the bare basic application
error: no matching function for call to ‘QtNodes::FlowScene::FlowScene(std::shared_ptrQtNodes::DataModelRegistry)’
FlowScene scene(registerDataModels())
`
================= main.cpp ===============
#include <nodes/NodeData>
#include <nodes/FlowScene>
#include <nodes/FlowView>
#include <QtWidgets/QApplication>
using QtNodes::DataModelRegistry;
using QtNodes::FlowScene;
using QtNodes::FlowView;
static std::shared_ptr
registerDataModels()
{
auto ret = std::make_shared< DataModelRegistry >();
return ret;
}
int
main(int argc, char *argv[])
{
QApplication app(argc, argv);
FlowScene scene(registerDataModels());
FlowView view(&scene);
view.setWindowTitle("Node-based flow editor");
view.resize(800, 600);
view.show();
return app.exec();
}
'
================= .pro ===============
QT       += core gui opengl
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = Flow-Graph-Prototype
TEMPLATE = app
DEFINES += NODE_EDITOR_STATIC
CONFIG += c++14 optimize_full
INCLUDEPATH += "$$PWD/Nodeeditor/include/nodes/internal"
"$$PWD/Nodeeditor/include"
DEFINES += QT_DEPRECATED_WARNINGS
RESOURCES +=
resources/resources.qrc
SOURCES +=
main.cpp
mainwindow.cpp
Nodeeditor/src/Connection.cpp
Nodeeditor/src/ConnectionBlurEffect.cpp
Nodeeditor/src/ConnectionGeometry.cpp
Nodeeditor/src/ConnectionGraphicsObject.cpp
Nodeeditor/src/ConnectionPainter.cpp
Nodeeditor/src/ConnectionState.cpp
Nodeeditor/src/ConnectionStyle.cpp
Nodeeditor/src/DataFlowModel.cpp
Nodeeditor/src/DataFlowScene.cpp
Nodeeditor/src/DataModelRegistry.cpp
Nodeeditor/src/FlowScene.cpp
Nodeeditor/src/FlowSceneModel.cpp
Nodeeditor/src/FlowView.cpp
Nodeeditor/src/FlowViewStyle.cpp
Nodeeditor/src/Node.cpp
Nodeeditor/src/NodeConnectionInteraction.cpp
Nodeeditor/src/NodeDataModel.cpp
Nodeeditor/src/NodeGeometry.cpp
Nodeeditor/src/NodeGraphicsObject.cpp
Nodeeditor/src/NodePainter.cpp
Nodeeditor/src/NodeState.cpp
Nodeeditor/src/NodeStyle.cpp
Nodeeditor/src/Properties.cpp
Nodeeditor/src/StyleCollection.cpp
HEADERS +=
mainwindow.h
Nodeeditor/include/nodes/internal/Compiler.hpp
Nodeeditor/include/nodes/internal/Connection.hpp
Nodeeditor/include/nodes/internal/ConnectionGeometry.hpp
Nodeeditor/include/nodes/internal/ConnectionGraphicsObject.hpp
Nodeeditor/include/nodes/internal/ConnectionID.hpp
Nodeeditor/include/nodes/internal/ConnectionState.hpp
Nodeeditor/include/nodes/internal/ConnectionStyle.hpp
Nodeeditor/include/nodes/internal/DataFlowModel.hpp
Nodeeditor/include/nodes/internal/DataFlowScene.hpp
Nodeeditor/include/nodes/internal/DataModelRegistry.hpp
Nodeeditor/include/nodes/internal/Export.hpp
Nodeeditor/include/nodes/internal/FlowScene.hpp
Nodeeditor/include/nodes/internal/FlowSceneModel.hpp
Nodeeditor/include/nodes/internal/FlowView.hpp
Nodeeditor/include/nodes/internal/FlowViewStyle.hpp
Nodeeditor/include/nodes/internal/memory.hpp
Nodeeditor/include/nodes/internal/Node.hpp
Nodeeditor/include/nodes/internal/NodeData.hpp
Nodeeditor/include/nodes/internal/NodeDataModel.hpp
Nodeeditor/include/nodes/internal/NodeGeometry.hpp
Nodeeditor/include/nodes/internal/NodeGraphicsObject.hpp
Nodeeditor/include/nodes/internal/NodeIndex.hpp
Nodeeditor/include/nodes/internal/NodePainterDelegate.hpp
Nodeeditor/include/nodes/internal/NodeState.hpp
Nodeeditor/include/nodes/internal/NodeStyle.hpp
Nodeeditor/include/nodes/internal/OperatingSystem.hpp
Nodeeditor/include/nodes/internal/PortType.hpp
Nodeeditor/include/nodes/internal/QStringStdHash.hpp
Nodeeditor/include/nodes/internal/QUuidStdHash.hpp
Nodeeditor/include/nodes/internal/Serializable.hpp
Nodeeditor/include/nodes/internal/Style.hpp
Nodeeditor/include/nodes/internal/TypeConverter.hpp
Nodeeditor/include/nodes/Connection
Nodeeditor/include/nodes/ConnectionStyle
Nodeeditor/include/nodes/DataFlowModel
Nodeeditor/include/nodes/DataFlowScene
Nodeeditor/include/nodes/DataModelRegistry
Nodeeditor/include/nodes/FlowScene
Nodeeditor/include/nodes/FlowSceneModel
Nodeeditor/include/nodes/FlowView
Nodeeditor/include/nodes/FlowViewStyle
Nodeeditor/include/nodes/Node
Nodeeditor/include/nodes/NodeData
Nodeeditor/include/nodes/NodeDataModel
Nodeeditor/include/nodes/NodeGeometry
Nodeeditor/include/nodes/NodeGraphicsObject
Nodeeditor/include/nodes/NodeIndex
Nodeeditor/include/nodes/NodePainterDelegate
Nodeeditor/include/nodes/NodeState
Nodeeditor/include/nodes/NodeStyle
Nodeeditor/include/nodes/TypeConverter
Nodeeditor/src/ConnectionBlurEffect.hpp
Nodeeditor/src/ConnectionPainter.hpp
Nodeeditor/src/NodeConnectionInteraction.hpp
Nodeeditor/src/NodePainter.hpp
Nodeeditor/src/Properties.hpp
Nodeeditor/src/StyleCollection.hpp
FORMS +=
mainwindow.ui
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

Anyone who can help?


Template look&feel fixes.

Codecov Report

Merging #22 (91bc523) into master (45c014a) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #22   +/-   ##
=========================================
  Coverage     67.90%   67.90%
  Complexity      249      249
=========================================
  Files            47       47
  Lines          1128     1128
  Branches         85       85
=========================================
  Hits            766      766
  Misses          305      305
  Partials         57       57

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 45c014a...91bc523. Read the comment docs.


Made the default height of the input box 2 instead of 5

I made this since the input box took up so much space on a small mobile screen, hard to see the output

Hi, made this comment.

Note: this commit went in because part of the other pull request. I've set the rows from 5 to 4, as 2 had bad spacing on desktop. 4 looks great on mobile too, where there are 4 buttons on the left side.
Thanks!


include some information about the files in the statusbar

some qDebug() are still present. Could be removed for the final version.

Thanks for sending that in!


cluster distance not correct

Hi there,
I'm using openlayers with lots of joy, but since a member of my team made a change we're kind of flabbergasted by something I can not explain.
Scenario is as follows:
We have a map with features (points) that are in a vectorSource inside a clusterSource inside a vectorLayer.
As styling we have an icon (22 wide, 28 high) which we pin to the coordinate as fraction on .5, 1 (center bottom)
Then we have a text style that sits at the right of the icon.
A while ago we added the option 'declutter' to the vectorLayer, to make sure the labels don't overlap with the icons or other labels and the screen looks prettier.
Now the weird thing:
We see that we miss markers. So not just labels disapear, but also markers.
The cluster distance is set to 40, and even with some pytagoras on the biggest numbers of our icons (28) i can't get my calculation to 40, but still they disapear.
Now i took some screenshots of my map (with clusters) and measured in the screenshot, and i noticed that our (cluster)markers are much closer together then the 40 pixels I configured.
What am i doing wrong?
Why are my markers closer together? and if we cannot fix that, how can i detect (in my styling function) if a icon intersects with an other icon or text so i can manually hide it's label?
here an (small) example screenshot.
https://imgur.com/GBx1Pcu
The distance between both cluster markers is not what i expect them to be. As you can see i rotated the map.
When i rotate it a bit further the images will overlap and one of them gets  'decluttered'

Unfortunately the clustering algorithm used by the ol.source.Cluster does not guarantee a minimum distance between the individual features.
I changed the cluster source / and its example to better visualize why the features are at the position they are at. Please pull this branch and run the 'cluster' example.
https://github.com/MoonE/openlayers/tree/visualize-clustering
I made the following changes:

There is a green rectangle showing the area with individual features
each cluster feature has a rectangle that shows the area where its features are from
This rectangle's colors are on a gradient from black to white, with black being the first cluster created and white the last.
When you hover over a cluster its individual features are displayed as small red dots at their original positions.
Clicking a feature hides it
By default the clusters are displayed at the average position of all their features.
There is a second slider below the cluster distance that gradually move the clusters between the average position and the center of the search area.
There is a checkbox that allows to randomize the order in which the clusters are created.

The algorithm used by the cluster source takes one feature and searches for all features within the search area. The search area is a square with side length 2 * the configured distance and centered on  the current feature.
This is repeated for all features (features already belonging to a cluster are skipped).
You should be able to observe darkest rectangles at the top right and lightest at the bottom left initially and also that the cluster's icon is in the bottom left of its search area. This is due to the way the vector source stores the features (It uses the rbush library to efficiently access features by their positions).


Update getpercentpageviewed.md

Version 5.1 (feature enhancement): Added s._ppvFinalPercentViewed to measure the stopping point of scrolling before the visitor moved onto the current page

These changes were copied over to git.corp.adobe.com and published.
https://experienceleague.adobe.com/docs/analytics/implementation/vars/plugins/getpercentpageviewed.html?lang=en


union of types combined with anyOf in content schema crashes the site

Describe the bug
The following schema crashes the website:
---
openapi: 3.1.0
info:
  title: test API
  version: "1.0"
paths:
  "/test_anyof":
    post:
      summary: summary
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ipaddr:
                  anyOf:
                    - type:
                        - string
                        - "null"
                      description: IPv4 address
                    - type:
                        - string
                        - "null"
                      description: IPv6 address

Expected behavior
The website does not crash and correctly displays union of types ["string", "null"]
Current behavior

browser console log
Possible solution
It appears to be related to two things:

anyOf
union of typestype:
   - string
   - null

anyOf with primitive types works just fine and union of types without anyOf (still only ignores the null when displaying but that's minor).
Steps to reproduce

Use the schema from this issue
yarn docusaurus gen-api-docs all
yarn start
go to the page that shows API schema

Context
My SaaS company has a very complex schema. I'm evaluating various solutions to display it in our official docs and Docusaurus and your plugin would be our top choice but we're struggling to get it up and running.
Your Environment

Version used: "docusaurus-plugin-openapi-docs": "^1.2.2"
Environment name and version (e.g. Chrome 59, node.js 5.4, python 3.7.3): Chrome Version 106.0.5249.103 (Official Build) (arm64)
Operating System and version (desktop or mobile): macOS Monterey 12.6
Link to your project:

Hi @maciekpitucha, I believe type only accepts a single value when following OpenAPI specification.
Reference: https://swagger.io/docs/specification/data-models/data-types/


refactor(userspace): re-implement plugin loader in C and split it in its own package

What type of PR is this?
/kind cleanup
/kind design
Any specific area of the project related to this PR?
/area libscap-engine-source-plugin
/area libsinsp
What this PR does / why we need it:
Which issue(s) this PR fixes:
This PR refactors the plugin definitions and loading logic. The plugin types, definitions, and loading logic are now all under an ad-hoc userspace/plugin directory on which both libscap and libsinsp dependencies. The goals and benefits are:

Better separate responsibilities: So far the plugin definitions were scattered across libsinsp and libscap, and all their definitions were placed inside the libscap's `plugin_info.h"
Logic is all in the same place: The plugin types and the plugin loader are now resident in a single code location, which is going to become the only reference for the official plugin system definitions. The class-based libsinsp code responsible of managing plugins now wraps around the new C definitions of  userspace/plugin
Split plugin-related code: The old plugin_info.h file has been split into plugin_types.h and plugin_api.h, so that consumers can only import the definitions they need
Reusability in external projects: The new design allows the official plugin definitions and loader to be re-used in other external projects. An example in which this could be required is the Plugin SDK Go, that can potentially implement a plugin loader written in Go based on top of the official definition of libs. Automated tools, such as the upcoming plugin distribution system in falcoctl, could be built on top of this code.
Bug fixes in plugin loader: The old plugin loader logic that was bundled in libsinsp contained some flaws. For instance, it considered symbols such as plugin_init or plugin_destroy as optional. The new plugin loader also prompts more explicit error messages, such as when the semver checks fail.

Special notes for your reviewer:
~400 LOC are caused by moving plugin_info.h and splitting it into plugin/plugin_types.h and plugin/plugin_api.h.
Does this PR introduce a user-facing change?:
NONE

@jasondellaluce: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

build-libs-arm
cbbca1ba39604acb39032137ca2e109ca2a4f8da
link
true
/test build-libs-arm

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@jasondellaluce: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

build-libs-arm
cbbca1ba39604acb39032137ca2e109ca2a4f8da
link
true
/test build-libs-arm

build-libs
cbbca1ba39604acb39032137ca2e109ca2a4f8da
link
true
/test build-libs

build-libs-minimal
cbbca1ba39604acb39032137ca2e109ca2a4f8da
link
true
/test build-libs-minimal

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

https://github.com/falcosecurity/plugins/pull/121 is a good example where the plugin loader code might be needed in an external project and must not be replicated to guarantee consistency.

This looks so cool! Thank you! Did you consider adding a library around it?

Thanks Fede! You mean building a .a lib out of this? This can be an idea! I didn't want to impact the CMake setup in this first PR (also to avoid interfering with the huge ongoing libscap refactoring), but I think this can be a good idea.

/retest

Thanks @Molter73 for the deep review! I appreciate it 🙏🏼

LGTM label has been added.  Git tree hash: ed493b873af12985ceeeb97ee45b6bdf4e2d5980

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: jasondellaluce
To complete the pull request process, please ask for approval from leogr after the PR has been reviewed.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

New changes are detected. LGTM label has been removed.

/retest


Reconcile schema/database as profile + model configs

Spark namespaces are a bilevel hierarchy, and the term schema and database are used interchangeably to refer to the topmost level.
In its core implementation, dbt expects database and schema to represent different logical constructs, whereby schemas are contained within databases. Right now, this results in some unexpected behavior and ugly output (in the literal sense) for the Spark plugin, as detailed in #74.
I think we have two options, which are functionally similar but differ in semantics:

Treat Spark more like Redshift, where database really means "universe of objects I can access with the current connection." There is never a reason to set a custom database because there is only ever the one we're connected to. Error early and often if a user tries to set a custom database, or remove support for it as a profile/model config entirely.

Across the board, dbt-spark should treat schema and database as interchangeable and mutually exclusive. It should accept one of (but never both) schema and database in the profile and model config. This requires subtle changes to the implementations of SparkCredentials and SparkRelation.

I'm leaning toward option 2 because it hews more closely to Spark's view of the world. In either case, these changes may be breaking for some projects.
Curious to hear input from @drewbanin @beckjake and members of the dbt+Spark community!

Likely the easiest way to implement this without requiring changes to dbt-core:

Define a database model config in this plugin, and then raise an exception if it's set
Thereby require use of schema only to set custom schema/database


fix import path

mmcv.cnn.weight_init was moved to mmcv.cnn.utils

Can confirm this works. Using Python3.6, PyTorch 1.1.0.

https://github.com/open-mmlab/mmcv/blob/master/mmcv/cnn/__init__.py
https://github.com/open-mmlab/mmcv/blob/master/mmcv/cnn/utils/weight_init.py
Recent mmcv.cnn does not include weight_init module directly.
How is it possible?
Or, it could be possible to specify the version of old mmcv.

https://github.com/open-mmlab/mmcv/blob/master/mmcv/cnn/__init__.py
https://github.com/open-mmlab/mmcv/blob/master/mmcv/cnn/utils/weight_init.py
Recent mmcv.cnn does not include weight_init module directly.
How is it possible?
Or, it could be possible to specify the old version of mmcv in requirements.txt.

Wouldn't it be better to upgrade this repository to support the latest version of mmcv? Especially because it is only one line that seems to need to be changed.
Or, add an if statement based on the version of mmcv, to switch between the two import statements?

Okay, then how about specifying the version of mmcv used in this repository in requirements.txt?
Due to this one line, new practitioners always have to face syntax error and spend time to deal with it by fixing the code or finding the appropriate version of mmcv.


Get rid of luassert dependency in coder tests

The coder tests run in our patched version of Lua and being able to
require additional dependencies is tricky. This should let Travis run
the coder tests again.
The first time this bit us was in Travis, which sets the LUA_PATH to
ignore the system stuff and today I was bit again by this when I tried
to update our Lua to 5.4 (because my system Luassert is installed in a
5.3 path)

Codecov Report

Merging #170 into lablua will increase coverage by 24.5%.
The diff coverage is n/a.

Impacted Files
Coverage Δ

titan-compiler/checker.lua
90.11% <0%> (+2.35%)
:arrow_up:

titan-compiler/util.lua
75% <0%> (+5.55%)
:arrow_up:

titan-compiler/c_compiler.lua
92.5% <0%> (+58.28%)
:arrow_up:

titan-compiler/coder.lua
80% <0%> (+75.22%)
:arrow_up:

titan-compiler/pretty.lua
100% <0%> (+87.5%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 54bf816...a3cd617. Read the comment docs.


Tests fail because of: This request exceeds your monthly quota of 500 location service requests.

Working with the nRF Cloud team to move the team we are using for the tests to an unlimited plan.

Upgraded to pro plan.


Intl not working

Intl doesn't seem to work. I think we are missing icudtl.dat that needs to be included somehow.
This code
console.log(new Intl.Collator('en').compare('hello', 'hello'))

throws an error
Unhandled Rejection
RangeError: Internal error. Icu error.
    at new Collator (<anonymous>)
    at techempower.mjs:101:13
process will exit

hello! I don't have any qualification to support this but, wouldn't this be as simple as adding a flag or something when building v8?


Update ssis-devops-standalone.md

Remove an unsupported example.

@fan130 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@fan130 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Is this ready?

Hello Salvador! :-)
I wanted to try KiBot with the GitHub CI, and started by copying this script:
https://github.com/INTI-CMNB/kicad_ci_test/blob/master/.github/workflows/test1.yml
Tthen I saw, that it is calling kiplot, not kibot, and asked myself: is this already usable, or is it WIP, and I should wait some more?

Currently kibot and kiplot commands are equivalent.
I'm slowly changing names to kibot, but is not important.
Most of the functionality is ready for production, covered by over than 300 regression tests.
I'm trying to keep the API as compatible as possible. You can use *.kiplot.yaml or *kibot.yaml files, they should contain a section named kibot or kiplot, etc.
The "Variants" stuff isn't included in any release yet and is changing syntax details these days. The rest is compatible and will be changed only in v2.0.0, which is really far from now.
You can play with the workflows on this example:
https://github.com/INTI-CMNB/kicad-ci-test-spora
Is a three boards project.

thank you for all that!
... wow.. this thing is phenomenal!
you know, I was looking for something... even much more modest then this all.. just for generating Gerbers, and I never got to KiBot (or even KiPlot)... this should be top on searches all the time!
I am working for OSEG around the new DIN SPEC 3015, the first official standard for Open Source Hardware (which is also the first standard of the DIN that is open source its self). I ma looking for tools just like this.. this is really a gold-mine! it solves a lot of check-marks on my list, even some I had not on there!
Thanks to you, I'll be able to focus more on FreeCAD related tools for automation, which besides KiCad is our other main focus in this regard.
.. thanks a lot and.. ride on! :-)
very important stuff!

Thanks!
The DIN SPEC 3015 is a really important idea. The "Open Hardware" term is used for very different stuff, having a spec is really good. And is really important that the spec is open, this is needed for this case and is a very positive thing.

El pueblo, unido, jamas era ...

;-)


Does IB Framework really work?

Hello, this work introduces information theory into contrastive learning, and I believe it is an enlightening piece of work. I think the introduction of information theory is the most brilliant part of this paper. However, the ablation experiments in the paper show that the IB Framework has almost no improvement in performance (only about 0.01 MAP increase). In my own experiments, CLHash (with w set to 0) achieved a 0.6459 result on the CIFAR10 dataset with 64 bits, while CIBHash (with w set according to the paper at 0.001) resulted in 0.6454. There is virtually no difference between the two. Additionally, your setting of w to 0.001 is not a very large number. Can IB really help the model learn better?

Hi, in our previous experiments, indeed, the KL loss part in IB has limited improvement. This is also one of the limitations of our paper. But I think there is actually some room for improvement in the performance improvement of IB framework. For example, KL divergence may not be a tight mutual information estimator, and some other mutual information estimation methods (e.g., CLUB, ICML2020) may possibly achieve better results.

Hi, in our previous experiments, indeed, the KL loss part in IB has limited improvement. This is also one of the limitations of our paper. But I think there is actually some room for improvement in the performance improvement of IB framework. For example, KL divergence may not be a tight mutual information estimator, and some other mutual information estimation methods (e.g., CLUB, ICML2020) may possibly achieve better results.

Thank you for your response. Although the improvement in KL loss is limited, the introduction of mutual information still provides a new perspective for contrastive learning. Therefore, I believe this is still an insightful work. At the same time, I would like to remind you that there might be an error in the implementation of the forward function in your CIBHash.py. That is,
z_i = hash_layer(prob_i - 0.5)
should be changed to
z_i = hash_layer(prob_i - torch.empty_like(prob_i).uniform_().to(prob_i.device))
The same applies to z_j. Because you mentioned in the paper that 0.5 is only used during the testing phase, while during the training phase, the code should use u which is sampled from a uniform distribution [0,1].
This part of the code has been modified in the subsequent work CGHash from your lab.

Hi, thank you for your modification! Your modification is correct. I'll correct it later.

Hello, I have been trying to reproduce the results of this paper recently. I am curious if you made any additional modifications besides the two adjustments in the forward function? Since that I am encountering issues with gradient explosion. @kuaile258890 It would help a lot!

Hello, I have been trying to reproduce the results of this paper recently. I am curious if you made any additional modifications besides the two adjustments in the forward function? Since that I am encountering issues with gradient explosion. @kuaile258890 It would help a lot!

No, I haven't made any changes. In fact, apart from the IB issue I mentioned, this is a very replicable piece of work, and the results can be replicated by simply inputting commands. I noticed you mentioned your CIFAR-10 dataset coming from the CIFAR-10 official website, while the dataset I used for replication was downloaded automatically by the datasets.

Got it, though I have tried to use the dataset downloaded automatically by the code, but it still does not work. May I ask about your GPU and cuda version?

Got it, though I have tried to use the dataset downloaded automatically by the code, it still does not work. May I ask about your GPU and cuda version? Or can I have your requirements.txt to further check the environment difference? @kuaile258890

My machine is equipped with 8 NVIDIA GeForce RTX 2080 Ti GPUs, but only one GPU is actually utilized. The CUDA version is 10.2, and the Driver Version is 440.33.01. Below are the versions of various libraries in my environment, hoping it will be helpful to you.
torch                        1.12.1+cu102
torchvision                  0.13.1+cu102
Pillow                       9.5.0
opencv-python                <IP_ADDRESS>

Thank you for the information! It turns out that this problem is caused by lacking of memory and some kind of unknown bug in some previous CUDA versions?
I have tried:

Setting Learning Rate to 0: Did not solve the issue.
Switching to CPU Execution: Loss explosion issue did not occur on CPU, but it was tooooo slow.
Modifying forward Function Code: Followed your code modification, but problem persisted.
Upgrading PyTorch and Related Libraries: Tried upgrading to versions with 'cuda' suffix (from Torch ==1.4.0 to Torch==1.5.0-cuda102), but loss explosion occurred earlier.
Downgrading CUDA Version: Attempted downgrade to CUDA 9.2, encountered new errors. Since my GPU 3070-8G's compute capability  is 8.5 but CUDA 9.2 only support it in the range 3-7.
Changing Data Type Precision to float64: Consumed excessive memory, necessitating reduction of batch size to 16.
Decreasing Batch Size: Set batch size to 2, mitigated the problem, but it hardly improve the model after evaluating. A batch size of 4 leads to the loss NaN problem.
Migrating to Alternative Environment: Shifted to a Colab environment, indicating a possible issue with GPU memory constraints.
Upgrading CUDA Version to 11.1: Upgraded to a newer CUDA version, encountered MemoryError.

Here's some information of difference performance on different GPUs that I recently discovered:
My Machine:

GPU: NVIDIA GeForce RTX 3070 8G
CUDA Version: Known NaN issues occurred with CUDA 10.1.

Your Machines:

GPU: 8 NVIDIA GeForce RTX 2080 Ti (11GB perhaps?)
CUDA Version: 10.2
Driver Version: 440.33.01
Success, no NaN problem.

Colab Environment:

GPU: NVIDIA T4 (Tesla T4)
VRAM: 15GB
CUDA Version: 12+
The graph in Colab shows that the model occupied 9.2GB of all GPU RAM.
Success, no NaN problem.

A40 GPU Environment:

GPU: NVIDIA A40
VRAM: Not specified
CUDA Version: Not specified, but known to work fine in this environment.

Success, no NaN problem.

In conclusion, I suspect that the MemoryError issue was not properly handled in older versions of CUDA, as reported in https://github.com/ultralytics/ultralytics/issues/5294: CUDA errors like "out of memory" may also lead to NaN results.
My suspicion is that older versions of CUDA may lack a proper error handling mechanism for NaN caused by insufficient memory, however, I have too few evidence of this problem. If anyone knows more specific detail of this problem, please contact me!


samples: fix wording for preconditions to use correct operation inste…

…ad of upload
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[ ] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ ] Ensure the tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

Fixes #2129  🦕

This should be merged after: https://github.com/googleapis/nodejs-storage/pull/2131


Add support for gives

Summary:

Add giveFromUser method.
Add giveFromAccount method.
Add unit tests.
Resolves: https://github.com/radicle-dev/drips-js-sdk/issues/15

I followed the approach of having two separate methods instead of one with an optional parameter, to keep it consistent with the other methods. We could of course change it to one if we want.
Note: I branched out of the unit test feature branch so that I can also add the relevant unit tests  - watch out when merging for conflicts/sync with the right branch. etc. 🤓
Also, a small comment, from our discussion here, in the future, we might not need to support the give-from-account functionality.

Looks great! Nice work! :-)

Looks great! Nice work! :-)


docs: fix createConsumer example usage

In the provided example, the parameters are used incorrectly.
The example lists
// Step 3: Bind the API definition to the axios instance
const consumer = createConsumer(apiDefinition, myCustomAPI);

where it probably should be
const consumer = createConsumer(myCustomAPI, driver);
// where
//    -  myCustomAPI is the variable we import in the example's beginning
//    - driver is the axios instance we create in the previous expression

Whoopsie. Good catch 👍


System.Security.Cryptography.CryptographicException: Invalid provider type specified.

I'm seeing this error on the last line of this code block
ClientAssertionCertificate credential = certificateFactory.GetCertificateCredential();

AuthenticationContext authContext = new AuthenticationContext(settings.Authority,
                    new NaiveSessionCache(userObjectIdentifier, cacheManager));

// error is throw here
AuthenticationResult result = authContext.AcquireToken(settings.GraphUrl, credential);

After a little Google-Foo, I found this article
It's not specific to this this library, but seem to be what all articles I found around this error point to.
To summarize, it seems this error happens when using certificates generated with Microsoft's new Cryptography Next Generation (CNG) based templates. I haven't read through the source code, but I'm assuming it's using the older .NET 3.5 base objects for handling certificates, and not the new .NET 4 managed implementations for CNG.
Are there any plans to support CNG based certificates in this library?

Thanks for your feedback, @wakurth
I also had this problem when generating the certificate without the -KeySpec Signature option.
$cert=New-SelfSignedCertificate -Subject "CN=TodoListDaemonWithCert" -CertStoreLocation "Cert:\CurrentUser\My"  -KeyExportPolicy Exportable -KeySpec Signature

Adding that option solved the problem.

I may have a fix for this I'll make a pull request tonight if I can.

Hi @darcythomas.
you mean you still experience the problem with the current Readme.md ? Which kind of fix do you have? a fix for the readme.md?

We don't support the elliptic algorithm yet. Will add to the backlog for AAD.

It's nice that you're acknowledging the issue now. The biggest issue was our premier Azure support informed us we could "make the certificates however we want"... that one thing sent us in circles. It's all about proper and consistant information. Again, I'm glad you are adding it to the backlog.


Add vpc cidr block output

I have renamed vpc_cidr as vpc_cidr_block to keep the name consistent with the attribute returned by Terraform.


Add release notes for 2.4.1 release

release notes for 2.4.1

run integration tests
run java8 tests

run integration tests


markers which have identical coordinates don't collapse

Markers which have identical coordinates get nicely clustered  by markerclusterer. However, when clicked, the cluster gets zoomed in but it doesn't collapse and show individual markers.

After line  1053:

google.maps.event.trigger(markerClusterer, 'clusterclick', this.cluster_, event);

add:

var zoom = this.map_.getZoom();
var maxZoom = markerClusterer.getMaxZoom();
// if we have reached the maxZoom and there is more than 1 marker in this cluster
// use our onClick method to popup a list of options
if (zoom >= maxZoom && this.cluster_.markers_.length > 1) {
   return markerClusterer.onClickZoom(this.cluster_);
}

then in yuor application, after created a MarkerClusterer object add something similiar:
markerCluster.onClickZoom = function(cluster) {
    var markers = cluster.markers_ ;
    //your function here
    // in cluster.markers_ you can found the array of the markers of the cluster
 };

If you're having trouble with the max zoom, set like this in your markerCluster object
markerCluster.setMaxZoom(21);

@Raffone17,
Thank you very much for the help Rafael! Do you think https://github.com/jawj/OverlappingMarkerSpiderfier is a better solution?
-lola


Comma delimited assets

It wasn't obvious to me that I could use commas to specify multiple asset paths. This makes the CLI usage a bit more obvious, and allows spaces after the commas.
Fixes #52

lgtm, thanks @zeke!


More documentation on initialValues

How should I use initialValues? What's the shape of the object?

Just like the values object submitted.
{
  field1: 'value1',
  field2: 'value2'
}


Add 1.18 Compatibility

Would love to see official 1.18 compatibility.  As mentioned in #16 the current 1.17.1 version of the mod, 1.30, it does appear to work in 1.18 without issue.

Look at my pull request #18, I attached a build that works for me (of course best effort only, no guarantees!).


Separate logic in user module

These things are half already changed in #72, maybe check that out first and put these changes within that merge request?

This is now included in #72 (and changed a little bit)


[wip] better integration with Delft via JEP

support for anaconda and virtualenv
support for mac and Linux (for Windows we need help)
automatic selection of python version and jep library (system/env installed or from grobid-home)
overall simplification of the installation process
documentation

have you looked into why the tests are failing?

@de-code not yet, the problem with the tests is that some are specific for wapiti.. so at the moment is complicated to fix them. Lets make it work first with delft (and submodules) and then we can think of the tests.

@de-code this morning I did some more tests, the outcome is confusing...
If I install jep with pip in my virtual environment, at the moment of loading the library the whole JVM crashes (with both Oracle or OpenJDK jvm):
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGBUS (0xa) at pc=0x0000000130e815d0, pid=82276, tid=47875
#
# JRE version: OpenJDK Runtime Environment (11.0.2+9) (build 11.0.2+9)
# Java VM: OpenJDK 64-Bit Server VM (11.0.2+9, mixed mode, tiered, compressed oops, g1 gc, bsd-amd64)
# Problematic frame:
# C  [libopenblas.dylib+0x1515d0]  dgemm_thread_nn+0x630
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/lfoppiano/development/projects/delft/hs_err_pid82276.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

If I uninstall jep from the virtual environment it loads the library without errors, but it's not picking up the jep library from the native libraries in grobid-home.
Finally, a good news, If the virtual environment is not specified in the command line or in the ENV var, everything fails as it should be.

@de-code jepPath in PythonEnvironmentConfig should be checked that exists, I think. I see as the virtualenv is found, it is assumed that jep is installed. Shouldn't we load the shipped library if not present in the virtual env?

If I install jep with pip in my virtual environment, at the moment of loading the library the whole JVM crashes (with both Oracle or OpenJDK jvm):

Yes, I observed the same. Apologies, if I hadn't made it clear. Which led me to suggest to not try to support a virtual env config in grobid.properties. One of the main problems is I think, that we don't start a new process and therefore we can't fool the process completely. e.g. (and that is really just one of the examples) we are hacking our way into convincing Java to load libraries from another path - but that doesn't include libraries loaded by the library itself (I think). It doesn't seem to be worth the hassle and the fairly unstable integration to me. It is working fine, if the virtual env was activated before.

@de-code jepPath in PythonEnvironmentConfig should be checked that exists, I think. I see as the virtualenv is found, it is assumed that jep is installed. Shouldn't we load the shipped library if not present in the virtual env?

Yes, I was thinking whether that should be added. It would be good if it checked it. But ultimately it doesn't really change anything. If the directory doesn't exist or doesn't contain a library it won't load a library from that directory, same as if we didn't include. But it seems good practice to not add the directory.

@de-code I've tried activating the conda environment and then running the service and I got the same issue. The service started without problems (the loading seems fine) but then it crashed the JVM at the first attempt to process something.
Out of any other options I follow plan B (Plan A is rebooting my machine :-) ), so I checked out the error and installed libopenblas and magically the problem was solved... 😮
I've installed version 0.3.6.
If I deactivate the conda env and try to run it it doesn't work. It used to work but I don't remember how I did it, so I think we can say that the env needs to be activated (as it's right to be, for any python package)

OK I've got excited too easily... I've done some updates with anaconda and now I get a nice surprise:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00000001329115d3, pid=1251, tid=82435
#
# JRE version: OpenJDK Runtime Environment (11.0.2+9) (build 11.0.2+9)
# Java VM: OpenJDK 64-Bit Server VM (11.0.2+9, mixed mode, tiered, compressed oops, g1 gc, bsd-amd64)
# Problematic frame:
# C  [_multiarray_umath.cpython-36m-darwin.so+0x1205d3]  PyArray_Item_INCREF+0x43
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/lfoppiano/development/projects/grobid/hs_err_pid1251.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.

OK, again me... spamming.
 The process should crash.
ERROR [2019-07-09 02:09:19,704] org.grobid.core.jni.JEPThreadPool: JEP initialization failed
! jep.JepException: <class 'ImportError'>: Traceback (most recent call last):
!   File "/home/Luca/.conda/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
!     from tensorflow.python.pywrap_tensorflow_internal import *
!   File "/home/Luca/.conda/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
!     _pywrap_tensorflow_internal = swig_import_helper()
!   File "/home/Luca/.conda/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
!     _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
!   File "/home/Luca/.conda/envs/tensorflow/lib/python3.6/imp.py", line 243, in load_module
!     return load_dynamic(name, filename, file)
!   File "/home/Luca/.conda/envs/tensorflow/lib/python3.6/imp.py", line 343, in load_dynamic
!     return _load(spec)
! ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/Luca/.conda/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so)
!
!
! Failed to load the native TensorFlow runtime.
!
! See https://www.tensorflow.org/install/errors
!
! for some common reasons and solutions.
INFO  [2019-07-09 02:09:19,721] org.grobid.core.jni.JEPThreadPool: Creating JEP instance for thread 42
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f4556448578, pid=6575, tid=0x00007f4556af0700
#
# JRE version: OpenJDK Runtime Environment (8.0_212-b04) (build 1.8.0_212-b04)
# Java VM: OpenJDK 64-Bit Server VM (25.212-b04 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [multiarray.cpython-36m-x86_64-linux-gnu.so+0x125578]  PyArray_Item_INCREF+0xe8
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /data/workspace/services/grobid-delft/hs_err_pid6575.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

I should say I generally only tested it with the non-CPU version of Tensorflow (as I don't have a GPU on my laptop). I did not experience the same crashes when activating a virtual env first. Is your JEP still installed within the virtual env? You could remove the one in lin-64 just to be sure.
I am mostly using regular pip virtual envs. With conda env it was working for me as well. But when I tried to make it work in Docker it crashed silently (#441). I don't know what caused that.
The last error seem to be related to: https://stackoverflow.com/questions/41138179/tensorflow-build-fails-with-glibcxx-3-4-20-not-found

@de-code the last issue of the record is that JEP initialisation is failing, however the service should exit by throwin up that exception, I think.
That same error is due to the fact that Centos always results to be a pain when it's about glibc...

@de-code the last issue of the record is that JEP initialisation is failing, however the service should exit by throwin up that exception, I think.

Yes, I agree, it would be better if it failed the startup.

That same error is due to the fact that Centos always results to be a pain when it's about glibc...

Not sure if I can help there. That is why it's good to have Docker ;-)

How close are we to getting this merged? I suspect the tests are failing because the grobid.properties should configure wapiti instead of delft.
If it maybe will be a while, I am wondering whether we should extract some of the bug fixes out as a separate PR?

@de-code the tests are failing because the GrobidProperties.getInstance() read what's in the grobid.properties and there is no way to force it toward one or another model. They should be independent from the configuration, else when you modify the configuration you cannot build it anymore without excluding the tests...

@lfoppiano You can set the "sequence labelling" machinery (WAPITI or DELFT) when creating a parser, for instance:
https://github.com/Impactstory/software-mentions/blob/master/src/main/java/org/grobid/core/engines/SoftwareParser.java#L85
private SoftwareParser() {
        super(GrobidModels.SOFTWARE, CntManagerFactory.getCntManager(),          GrobidCRFEngine.valueOf(SoftwareProperties.get("grobid.software.engine").toUpperCase()));

I think it's what's you are referring to?
I've added this parameter when introducing DeLFT, so the test needs to be revisited!

@de-code the tests are failing because the GrobidProperties.getInstance() read what's in the grobid.properties and there is no way to force it toward one or another model. They should be independent from the configuration, else when you modify the configuration you cannot build it anymore without excluding the tests...

Related to that, it would probably be good, if the local grobid.properties was excluded from git (to avoid accidental commits).

Note to myself.. We should allow python 3.7 as well..

Merged #460 here.

I've just tested with Linux and the problem here is not longer a problem: https://github.com/kermitt2/grobid/pull/454#issuecomment-509459455
I solved by

conda install libgcc

export export LD_PRELOAD=/opt/anaconda3/lib/libstdc++.so.6.0.25

and it seems to work now.


[Spike] Explore Backstage sidebar customisation options

Spike for - https://issues.redhat.com/browse/RHIDP-258
Investigate the following:

Are sidebar menu items icons customisable?
Can a button (Create button) be added to the sidebar without making changes in upstream?
Can a sidebar menu-item sub-menu be added?
Can the expand/collapse button be placed beside a menu item?

cc: @invincibleJai @gashcrumb @debsmita1 @jerolimov

Based on my exploration following are the observations:

Menu items icon can be changed to any MUI icon that is required by the design.

import CatalogIcon from '@material-ui/icons/CategoryOutlined';

<SidebarItem icon={CatalogIcon} to="catalog" text="Catalog" />

Buttons can be added to the sidebar.

<SidebarGroup label="Create" icon={<CreateComponentIcon />} to="create">
     <Button
        color="primary"
        variant="contained"
        startIcon={<CreateComponentIcon />}
        style={{
          marginLeft: '27px',
          marginRight: '27px',
          width: '168px',
          }}
        >
          Create
      </Button>
 </SidebarGroup>

Currently adding buttons as menu item with icons will not work the same way as the SidebarMenuItems works with expand collapse functionality ie showing only the icons when collapsed.

Sub menu can be added for the menu items - https://backstage.io/storybook/?path=/story/layout-sidebar--sample-scalable-sidebar

<SidebarItem icon={PluginsIcon} text="Plugins">
    <SidebarSubmenu title="Plugins">
           <SidebarSubmenuItem
               icon={ExtensionIcon}
               to="openshift-image-registry"
               title="Image Registry"
             />
      </SidebarSubmenu>
  </SidebarItem>

Existing expand/collapse button https://backstage.io/storybook/?path=/story/layout-sidebar--sample-scalable-sidebar can be placed beside any custom menu item but after collapsing the button is not shown in case disableExpandOnHover is added to the Sidebar.

https://github.com/janus-idp/backstage-showcase/assets/20724543/f5f05c1c-5ba3-4e1d-aef5-c9b3a7653f90
@invincibleJai @gashcrumb @debsmita1 @jerolimov Let me know if I need to look at anything else here.

Thanks @christophe-f for the input. Do you have insights on when this change will be available in Janus?
Thanks @divyanshiGupta , as we discussed good to understand with Configuration can we load any custom components and  if there is some default set of components.


Error "App Installer failed to install package dependencies. Ask the developer for  package" when installing the Msixbundle

When I try the app (Mxbundle), the app tries to install some dependencies and stalls. I get error "FApp Installer failed to install package dependencies. Ask the developer for  package".
I'm connected to the Internet when trying to install.
I cant post logs since the app isn't even installing.
OS version= Windows 10 20H2 (Os build 19042-508)
App version = Files-1.5.Msixbundle
https://imgur.com/r38BzKt

The msix installer will only work if you have the correct dependencies installed, you can use this installer to install Files https://files-community.github.io/package.github.io/Files.Package/Files.Package.appinstaller.

I was able to fix this issue by updating some dependencies on the ms store.

Thanks for the update!


Updated for community operator Strimzi 0.12.2

This PR is about updating the Strimzi operator to 0.12.2 in the community-operators.
/CC @scholzj

Hi @ppatierno,
Scoreboard failed on Status Block Exists 0/1. But first of all, please fill checklist:
Thanks submitting your Operator. Please check below list before you create your Pull Request.
New Submissions

[ ] Are you familiar with our contribution guidelines?
[ ] Have you packaged and deployed your Operator for Operator Framework?

[ ] Have you tested your Operator in all supported installation modes?

Updates to existing Operators

[ ] Is your new CSV pointing to the previous version with the replaces property?
[ ] Is your new CSV referenced in the appropriate channel defined in the package.yaml ?
[ ] Have you tested an update to your Operator when deployed via OLM?

Your submission should not

[ ] Modify more than one operator
[ ] Submit operators to both upstream-community-operators and community-operators at once
[ ] Modify any files outside the above mentioned folders
[ ] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[ ] Description about the managed Application and where to find more information
[ ] Features and capabilities of your Operator and how to use it
[ ] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[ ] Human readable name and 1-liner description about your Operator
[ ] Valid category name1
[ ] One of the pre-defined capability levels2
[ ] Links to the maintainer, source code and documentation
[ ] Example templates for all Custom Resource Definitions intended to be used
[ ] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file a PR against this repo and explain your need
2 For more information see here

@J0zi consider that this operator is not developed using the operator SDK I don't know what this scoreboard means. Finally, it's the third update of an existing operator I have never filled this checklist.

Hi @ppatierno.
Status block test failed: This test checks the Custom Resource(s) created in the cluster to make sure that all CRs have a status block.
Checklist is mandatory now, it will take you 1 minute:)

@J0zi this operator version I am submitting is just a patch release and it fixes a few bugs in the 0.12.1 version that is already on the operatorhub.io web site and it's without the status field. We have CRDs with status in our master and they will be available in the future 0.13.0 release. The point is: the current 0.12.1 on the operatorhub.io web site doesn't have status but it's there; 0.12.2 fixes bugs on that version. Isn't it better to publish a release with bug fixes instead of having the one with bugs despite status (which, once again, isn't in the current published 0.12.1)?

/ok-to-test

/retest

Updates to existing Operators

[x] Is your new CSV pointing to the previous version with the replaces property?
[x] Is your new CSV referenced in the appropriate channel defined in the package.yaml ?
[x] Have you tested an update to your Operator when deployed via OLM?

Your submission should not

[x] Modify more than one operator
[x] Submit operators to both upstream-community-operators and community-operators at once
[x] Modify any files outside the above mentioned folders
[x] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[x] Description about the managed Application and where to find more information
[x] Features and capabilities of your Operator and how to use it
[x] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[x] Human readable name and 1-liner description about your Operator
[x] Valid category name1
[x] One of the pre-defined capability levels2
[x] Links to the maintainer, source code and documentation
[x] Example templates for all Custom Resource Definitions intended to be used
[x] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file a PR against this repo and explain your need
2 For more information see here

Hi @ppatierno,
both #529 and #530 are Strimzi operator, so I will keep communication in this thread. I tested #530 locally and it failed, installation was ongoing an then failed on time out.
I can overcome that Status block is missing in CR, but operator is not functional from my point of view. It fails on my local infrastructure and also as you see in this pipeline bellow, on the same error here.
I would like to merge it to fix bugs, however operator should be fully functional. Please understand it and have a look on the operator again.
Pipline error:
level=fatal msg="failed to initialize the cluster: Working towards 0.0.1-2019-07-24-111251: 64% complete: timed out waiting for the condition"
2019/07/24 12:05:11 Container setup in pod scorecard failed, exit code 1

@J0zi Is it actually expected to work with operators not based on Operator SDK? My understanding was that the scorecard functionality is tight to the Operator SDK.
Looking at the logs, the operator complains about following:
java.io.IOException: Unexpected response(403 Forbidden), to the authorization request. Missing header:[Location]!

My understanding is that the Scorecard test injects its self into the operator pod and tries to proxy the API calls. Does it require some Location header? I'm not aware of such requirement from the Kubernetes APIs so our client might not support it.

@aneeshkp could you please advise who can answer question from scholzj above?

/test scorecard

@J0zi @scholzj Do you think this is related to the issue reported here? Issue

@aneeshkp That looks the same. But I have never seen this with Strimzi / AMQ Streams on OCP4.

@aneeshkp Reading the issue properly - I think this doesn't impact the client when you run the operator inside the OpenShift under a service account. That is why we never saw it.


Skip marking Com port as a zedrouterport

An alternate fix to PR #4460

@andrewd-zededa , I would add a comment to the code regarding the IsPort() issue (that still needs to be fixed).... worth to put it in the commit message as well (and get rid of the lint error)....
Are other I/O adapter types (specially HDMI) susceptible to the same issue?

Note that the device with the original failure has this in /run/zedagent/PhysicalIOAdapterList/*.json:
{
"Ptype": 6,
"Phylabel": "wwan0",
"Phyaddr": {
"PciLong": "",
"Ifname": "",
"Serial": "",
"Irq": "",
"Ioports": "",
"UsbAddr": "2:6",
"UsbProduct": "",
"UnknownType": ""
},
"Logicallabel": "wwan0",
"Assigngrp": "wwan0",
"Parentassigngrp": "",
"Usage": 1,
"UsagePolicy": {
"FreeUplink": false
},
"Vfs": {
"Count": 0,
"Data": null
},
"Cbattr": null
}
The fact that this has an empty ifname and is a management port (FWIW app-shared would cause the same issue) means that the original IsPort will declare that all ports with an empty ifname will match.
The fix in this PR (and the more general fix of only calling IsPort() for IsNet type adapters will avoid that mismatch.
But with the above model the wwan0 interface will not be usable as a management port since the logic to walk the management ports to to get the list of ifnames and then try sending out each ifname.
We can solve both issues by merely updating the model(s) hence PhysicalIOAdapterList to have an ifname for the WWAN port, or adding code in parseconfig.go to set ifname if missing for the WWAN port. (Later we can complete the intent in https://github.com/lf-edge/eve/commit/65852ac5fa44b3b0be75105e2e5d0f120b11f368 to not rely on ifname to use and walk the network adapters, but that requires some more work to never rely on fixed ifnames from the model/PhysicalIOAdapterList.


SharePoint Hosted app is not installing or upgrading

Target SharePoint environment
other (enter in the "Additional environment details" area below)
What SharePoint development model, framework, SDK or API is this about?
SharePoint Add-ins
Developer environment
Windows
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[ ] 💥 Microsoft Edge
[x] 💥 Google Chrome
[ ] 💥 FireFox
[ ] 💥 Safari
[ ] mobile (iOS/iPadOS)
[ ] mobile (Android)
[ ] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details

browser version (Version 123.0.6312.123 (Official Build) (64-bit))
Visual studio (version 2019 Community version)

Describe the bug / error
We've had a SharePoint hosted app project running live for the past year and a half. Recently, we aimed to deploy a new version of the app by replacing the current version in the tenant-level app catalog. However, when we attempted to upgrade the app on a specific site where it was already installed, we encountered an upgrade error. Additionally, when we tried to install the new version on entirely new sites, we faced installation errors.
Even after reverting all changes and attempting to redeploy with a different app version, we still encountered installation issues. Below are the errors we encountered during both the upgrade and fresh installation attempts.
Installation error:

Upgrade error:

We don't have any document libraries or files with unsupported characters or symbols.
We would greatly appreciate any assistance in resolving this issue. Thank you in advance for your help.
Steps to reproduce
1.Take hosted app which is already deployed or all new hosted app
2. Deploy in tenant level app catalog
3. Open specific team site and install the add in freshly or upgrade the existing one, now it will throw an error
Tried this in both developer site and team site, in all the places it is giving me same error.
4 months before we deployed with some changes, it was upgraded and deployed successfully without any issues.
Expected behavior
Expected behavior is, without any issue on installation or upgrade it should be added or upgraded in specific site.

Hi @tmax-siva,  Did you try to deploy the new version of the SharePoint hosted app on SharePoint Online? If so, maybe the issue is related to the announced retirement process described here https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/retirement-announcement-for-add-ins.
The only date which could be related to your case is this one

but as I understand you tried to update the solution by appcatalog and this process should be still possible until April 2026.
https://learn.microsoft.com/en-us/sharepoint/dev/sp-add-ins/add-ins-and-azure-acs-retirements-faq#will-app-catalogs-stay .

Yes, as you rightly said am trying to upgrade or install through app catalog only, then too the issue is coming. Because of this we are not able to deploy a important change to client tenant.

@tmax-siva I'm sorry, if this problem isn't related to the retirement process, then I'm not sure what could be the reason here. Perhaps someone from support would have more insights on this issue.


Added c files to .gitignore

Hi Freddy.
I don't know why *.c was not added before. I will merge this. If you have any complaint about this, just delete it from the list.

Good, thanks.


Consider replacing urlparse with something that can handle the WHATWG's 'generous' definition of a URL.

For basically its entire lifetime, urllib3 has used urlparse and friends from the standard library to handle the task of working with URLs.
However, it has recently been pointed out that the WHATWG maintains a URL specification that its proponents claim is merely a codification of common browser practice. That URL specification contains a parsing section that is dramatically more generous than urlparse and friends are: for example, it allows the scheme to be separated from the authority portion of the URL by a colon followed by at least two slashes (allowing for the possibility of having an unbounded amount of slashes: @bagder's testing has found that Firefox will handle a string like 'http:' + ('/' * 8000) + 'example.com' without complaint).
Given this remarkably expansive definition of the allowed format of a URL, and given that this apparently really does happen on the web, and given also that the position of the WHATWG is that this generosity of parsing is a net good, we should at least consider adopting that parser.
It may be sensible to for us to write a standalone library (as part of the hyper project, perhaps) that is then vendored into urllib3/requests as appropriate. Regardless, we should discuss whether we want to do this or whether we think we should be less lenient.

Some relevant issues are whatwg/url#118, whatwg/url#119, and curl/curl#791.

I'm somewhat -1 on this. In the context of a browser, I think being a bit lax makes sense, but urllib3 isn't a browser: it's a library that can and should expect validated input. I think that to make a change, we should have clear backing from the community of urllib3 users that this is something that would have real and immediate use that trumps the possible ambiguity that might be introduced, as well as the loss of the existing work on making stdlib modules conform to standard-track RFCs.
That said, I do think we can revisit error messaging around possibly-invalid/noncompliant URLs.

it's a library that can and should expect validated input.

That's not entirely true. In particular, urllib3 receives unvalidated input from servers which may redirect it. That's the situation I'm worried about here.

That's the situation I'm worried about here.

Understood. But it's not like the WHATWG standards make previously-invalid URLs valid; it's just saying "it's OK to parse these invalid URLs if you can." WIthout a clear demand from our user base (is this actually an issue that needs to be solved?) or shift in the open-source library community (will our users expect us to handle URLs that we don't currently?), I'm not sure we should.

@haikuginger Quite reasonably. However, it depends entirely on your definition of 'valid'. The WHATWG specification codifies the "standard behaviour" of web browsers, which means that a server operator has a reasonable belief that returning Location: http://////////////////////////example.com/ in a redirect should be handled by a user-agent. We can decide not to do that, but I want to make sure that we do that in full knowledge that this expectation exists.

We can decide not to do that, but I want to make sure that we do that in full knowledge that this expectation exists.

Absolutely! I've said my piece; I'll defer to the maintainers now.

Are you opposed to modifying our internal parse_url to handle these cases?

Me? No.

I'd vote for that, then. :)

I found this issue because I ran into a triple http slash when handling redirects with requests.
Apologies for the noise, but I thought I'd add in a requests-specific way to address this issue - for the sake of others who might run into this issue:
re_slash = re.compile(r'^(https?://)/*(.+)$')

def hook(r, *args, **kwargs):
  s = r.headers.get('Location', '')
  m = re_slash.match(s)
  if m:
      r.headers['Location'] = ''.join(m.groups())
      return r

r = requests.get(url_to_retrieve, hooks={'response': hook})


Add Prolog interpreters

Thanks for the awesome project.
I propose to add two interpreters:

SWI Prolog
GNU Prolog

Best wishes,

Awesome, thanks for the contribution!!!
I'm a bit busy but I'll try to check that and merge as soon as possible
Was there anything about the contributing process (the CONTRIBUTING.md, example.rs files?) that you think could be improved ?

@tani tagging you, since I don't know whether my comment triggered a notification on your side

Oh, I am sorry for the late reply. Actually, your documentation is enough for making this pull request.
I have just copied a file and modified it for the interpreter. If I had to say then, I would like to know the way to implement the REPL Capabilities.

If I had to say then, I would like to know the way to implement the REPL Capabilities.

Not easy, but here you are
https://github.com/michaelb/sniprun/blob/dev/ressources/CONTRIBUTING_REPL.md


Feat/39 Subscription section of website

Descriptions
Convert components that are similar to the contact section into components that can be adjusted with parameters.
Then finish the subscription section and the testing files.

Link to UI design (if possible): https://app.zenhub.com/workspaces/taodemy-63c3dec267d0df73ca6087cb/issues/gh/taodemy/website/39

Provide screenshots or videos that the function is working.

Provide screenshots of no warning, or error in the console.

[x] All unit tests passing and coverage of testing is more than 90% unless special needs.
[x] No merge conflict with the main branch, make sure your code is up to date with main.
[x] Check PR title is aligned with your ticket.
[x] Check your app will run without crashes.
[x] Check if there are hard-coded values.
[x] No //eslint-disable-next-line no-unused-vars, unless otherwise specified.
[x] Check you are using camelCase && PascalCase correctly.
[x] Remove unused comments.

The ratio of width and height is different.

The loading of image doesn't work for me, need to be checked by others

The ratio of width and height is different.

The loading of image doesn't work for me, need to be checked by others


Add resources.IsProcessableImage

This is slightly related to https://github.com/gohugoio/hugo/pull/11688
Note that I'm not totally sure about this ... There may be an alternative fix lurking around for this somewhere.

Currently $resources.ByType means filter by MIME main type.
The problem with this for type image is that most people expect the images returned to have a .Width and to be resizeable etc.

We have a few options:

We could make $resources.ByType 'image' return only images that's processable.
We could add some $resource.IsProcessableImage` ... or something less ugly.

Not sure.

I agree with @razonyang. I think this is fine:
{{ range resources.ByType "image" }}
  {{ with and .IsProcessableImage (.Process "resize 200x webp") }}

  {{ end }}
{{ end }}

I have been thinking about this, and on the implementation level this would be much easier/cleaner if we make it a function instead of a method -- then it would just be a matter of checking if the type implements an interface, which is a pattern we could extend on if needed, e.g:

resources.IsProcessableImage
resources.HasWidth

...
Also, having $page.IsProcessableImage always return false isnt't great when we want to document this down the line and then gets $page.IsProcessableVideo etc..

I upvote @razonyang's suggestion and support the use of $resource.IsProcessableImage.

This is a simplistic implementation modeled after MediaType().IsText().

media/mediaType.go
// IsProcessableImage reports whether the given resource is a processable image.
func (m Type) IsProcessableImage() bool {
	if m.MainType == "image" {
		switch m.SubType {
		case "bmp", "gif", "jpeg", "png", "tiff", "webp":
			return true
		}
		return false
	}
	return false
}

tpl/resources/resources.go
// IsProcessableImage reports whether the given resource is a processable image.
func (ns *Namespace) IsProcessableImage(r resource.Resource) bool {
	return r.MediaType().IsProcessableImage()
}

Example:
{{ range .Resources.Match "**" }}
  {{ if resources.IsProcessableImage . }}
    {{ with .Resize "200x webp" }}

    {{ end }}
  {{ end }}
{{ end }}

@jmooring first, I don't think we want to have this as both a method and a function (which would double the documentation work). Also, I was thinking an implementation in the line of:
func (ns *Namespace) IsProcessableImage(r resource.Resource) bool {
	_, isImage := r.(images.ImageResource)
        return isImage
}


Using pre-existing canvas.

Is it possible to specify an existing canvas instead of specifying a container element for a new Paper instance?
Thanks in advance,
Adriano

I think there isn't, but it should be possible to add it. PR? 😃
(svg) https://github.com/DmitryBaranovskiy/raphael/blob/master/dev/raphael.svg.js#L1276
(vml) https://github.com/DmitryBaranovskiy/raphael/blob/master/dev/raphael.vml.js#L928