Simplify aggregate errors, add support for aggregate media

EDIT: I have added a few more commits since my original filing of this pull request so I'll summarize what I have done.

I noticed in the SuperFormMixin.full_clean you explicitly create copies of all error dict/lists from composites. This included a conversion of formset errors from a list, as they are natively in Django, to either an ErrorList or ErrorDict (I forget which). Instead I have reverted the code to simply assign the result of the composite field's full_clean() directly into the superform's error dict. This preserves the basic list type of formset errors. This is probably a contentious change but I believe being simple and sticking as close as possible to what Django already does is best.

As before, I have prevented keys with empty values from being set in the superform error dict. This means templates which check for errors by doing {% if form.errors %} continue to work.

I have added support for form media in Superforms.

Once again thanks for your work on this library! I have been able to simplify a good amount of logic in my codebase, as well as use class-based views in more situations than before

Hi, thanks for your PR! That looks like something worth considering. How did you even get to use django-superform. It's not very well documented and I never advertised it so far :) But cool that you took the time to share your additions.
For future PRs it's usually much easier to reason if you split up the distinct features you want to add in separate PRs. I think media support and the change to the error handling is very distinct and could go in two different PRs. This makes reviewing the code easier :)

Hey I wasn't able to simply merge everything from this PR in, but all of the suggestions are now part of the project. Thanks so much for your efforts! :)

I found this library on Github. On my last Django project I was very frustrated with how Django has no support for composing forms and was always coming up with awkward workarounds, but in that project we used function views so it wasn't too hard to make utility functions that took some of the headache away.
However in my newest project we exclusively used class-based views, where having multiple forms on the same page takes most of the convenience out of the provided generic CBVs. For that reason I went to PyPI, Github, djangopackages.com to see if anyone else addressed this problem. Most projects are relatively undocumented and incomplete, and this particular project seemed like it had the most recent activity and decent documentation so I decided to give it a go! It's been a huge help so far, in one of our views which was mostly complicated by multiple forms I was able to remove 30 lines of code by using this package.

Awesome. Thanks for the heads up. I'm happy to review any other future pull requests or feature requests :) Have fun.


macOS Radeon GL 6x faster than Metal on car.svg

This is weird. See https://twitter.com/pcwalton/status/1260636769852157954
I think it may have to do with drawcall overhead, possibly due to not reusing command encoders.

car.svg is one of the MPVG samples.

This is no longer true with the D3D11 backend.


BSDT Service field message

Critical Changes
Changes
Adds a message at the top of BSDT letting users know that fields may change based on Service configuration.
Issues Closed
W-10311095
New Metadata
Deleted Metadata
Definition of Done
Refer to Asteroids DoD document to see any additional details for the items below

[ ] Any net new LWC work has Sa11y tests & 50% or above lines JEST test coverage
[ ] CRUD/FLS is enforced in Apex
[ ] Permission sets are updated to account for CRUD|FLS|Tab|Classes
[ ] Field sets are updated to account for new fields
[x] UX approval or UX not necessary
[x] Link the pull request and work item by PR comment and Chatter post respectively, e.g. GUS: W-0000000: Work Name (https://github.com/SalesforceFoundation/PMM/pull/303)
[ ] All acceptance criteria have been met

[x] Developer
[ ] Code Reviewer
[ ] QA

[x] PR contains draft release notes
[ ] QE story level testing completed

@jencrabtree We're looking for the right text to let a user know that based on their service configuration (fieldsets) - that the fields displayed may change when they select a service.

@AndersonTarren on it. How will the text display? Infobubble?

@jencrabtree , Here is how it will be displayed on the BSDT screen. If you need more information please let me know

@AndersonTarren Approved text back from review:
The fields shown on this page depend on the Service you select.


docker-component on Makefile fails on otelsvc

GO111MODULE=on CGO_ENABLED=0 go build -o ./bin/otelsvc_linux -ldflags "-X github.com/open-telemetry/opentelemetry-service/internal/version.GitHash=2a40f54 " ./cmd/otelsvc
cp ./bin/ocotelsvc_linux ./cmd/ocotelsvc/
cp: directory ./cmd/ocotelsvc does not exist
Because:
docker-component is assuming all component has a "oc" prefix.
docker-otelsvc:
COMPONENT=otelsvc $(MAKE) docker-component <<--

I can reproduce the failure on make docker-collector but not on make docker-otelsvc. The later passes successfully.

@pjanotti Rather than trying to fix I suggest to remove target docker-collector from makefile. We only need the unified docker-otelsvc.
Having docker-collector in the makefile is misleading and unnecessary.
Thoughts?

I think it is a good idea since the collector is temporarily present just to help with compatibility tests, the real target is otelsvc.

Sounds good. I'll remove docker-collector target, but will keep collector which builds the binary and which can be used in compatibitity tests if needed (the testbed is executing the binary directly, it doesn't need the docker image).

$(GOOS) will be darwin if it is on Mac.
otelsvc:
mkdir -p ./cmd/otelsvc
GO111MODULE=on CGO_ENABLED=0 go build -o ./bin/otelsvc_$(GOOS) $(BUILD_INFO) ./cmd/otelsvc
But docker-component still looks for _linux ..
cp ./bin/$(COMPONENT)_linux  <---

@etsangsplk docker-component target does not depend on otelsvc target. Can you provide exact reproduction steps? Are you running make docker-otelsvc on Mac?
Also, where do you see oc$(COMPONENT)? It is nowhere in makefile.

Mine repo is old. It was removed 4 days ago. Sync to master and it is now fine.
https://github.com/open-telemetry/opentelemetry-service/commit/8772c908dd28b64617fd6b501583151d0c49ed7d

OK, good to know. Thanks for reporting the issue anyway. I am going to remove docker-component target to avoid confusion in the future.

Done, closing the issue.


Maximum call stack size exceeded

Describe the bug 📝
when initializing the components from the boilerplate code I receive a Maximum call stack size exceeded RangeError:

I'm using the boilerplater :
// Initialize the basic components
const container = document.getElementById("container");
const components = new Components();
//console.log(components);
components.scene = new SimpleScene(components);
components.renderer = new SimpleRenderer(components, container);
components.camera = new SimpleCamera(components);
components.raycaster = new SimpleRaycaster(components);
components.init();

// Add some elements to the scene
const scene = components.scene.get();

const geometry = new BoxGeometry(3, 3, 3);
const material = MeshStandardMaterial({ color: "red" });

const cube = new Mesh(geometry, material);
cube.position.set(0, 1.5, 0);
scene.add(cube);

components.meshes.push(cube);

Dependencies

Reproduction ▶
No response
Steps to reproduce 🔢
Type the boilerplate
execute the init() command from the component class
System Info 💻
--sytem

Used Package Manager 📦
npm
Error Trace/Logs 📃
Uncaught RangeError: Maximum call stack size exceede
Validations ✅

[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a IFC.js components issue and not a framework-specific issue. For example, if it's a THREE.js related bug, it should likely be reported to mrdoob/threejs instead.
[X] Check that this is a concrete bug. For Q&A join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Hey, can you provide a minimal app where we can reproduce it? What browser are you using?

Hi anton! It was deployed on google chrome. Sure I will provide one sooner

I encountered this error a lot when parsing ifc files. (I just call  ifcapi.StreamAllMeshes(modelID, (flatMesh)=>{ }) )
In Nodejs if I increase the stack with --stack-size option it works.
But on some of the files when I increase the stack the error just changes to "Segmentation fault: 11"

I'm closing this for now as we couldn't reproduce this. Let us know if this keeps happening with the latest version and you can provide a way for us to reproduce it!

@agviegas I have a file which causes this issue as well, and the error occurs when using https://platform.thatopen.com/app as well.  Can I share the file privately?


Filter future lectures

Is your feature request related to a problem?
The *Lectures tab shows all lectures to students, regardless of the associated date.

Example:

Describe the solution you'd like
Add a filter, similar to the one in the exercises tab, to easily allow hiding future lectures. (I'd even hide them by default.)
Describe alternatives you've considered
No response
Additional context
No response

Is this issue free for anyone to work on?

Can anyone work on this issue?

@nikirovast  are you currently working on this ?

@jpbernius can you mark this as solved? I don't know who solved this but the upcoming lectures are no longer shown as described.


[Feature Request]Share link

Make a share function(Serialize all contents and output as base64 or something similiar).

Sharing on behalf of the website could bring some pressure on regulation compliance across countries and regions.
I suppose now there's no easy way to add this feature, sorry.

Sharing on behalf of the website could bring some pressure on regulation compliance across countries and regions.
I suppose now there's no easy way to add this feature, sorry.
Thanks for your kind thought.

Just want to have a easier way to keep my design, without having to screenshot or copy the contents.


Node/Electron version

Description
This looks awesome, is there a way to use it as a node module? (eg via npm)
packaged in such a away to be able to use it in an electron app?
Additional information
Thinking of adding it as an option to autoEdit.io to clean audio before sending it to a Speech To Text Enginge.

Hi @pietrop
There's no out of the box node module made on top of spleeter that I know of.
Theoretically it's feasible to build a javascript lib out of spleeter, you'd need to use the tensorflow.js port to load the models though.
An easier possibility would be to host a small webservice serving spleeter and requesting it through js I guess.

Theoretically it's feasible to build a javascript lib out of spleeter
Could you kindly elaborate more? does this mean porting spleeter python code to js?

We are about to release a js framework with all the required pre and postprocessing soon. Stay tuned

@faroit I’ve just started working on a Spleeter “port” on top of TFJS for consumption in electron apps. Would love to contribute however I can - let me know if there’s interest in external contributions pre release!

Thanks for your great work on this! 🙏 I'm very interested in a TFJS version as well and am looking forward to this upcoming release!!!

@faroit any news?

@chenei we are updating the framework to support tf 2.2. ETA next two weeks.
@TheoBr we could could for sure get some help. We only implemented the pre- and postprocessing. So the spleeter spectrogram core model would need to be converted to tfjs (as we add open-unmix for now). The last time I tried it was not compatible out of the box and required manual layer patching.

@TheoBr
Hi,
Can I help u somehow?

@chenei I have not gotten started on any work related to Spleeter in Node :( Would love an update or even a WIP branch to work against if at all possible @faroit

@faroit any news?

@AdrianButnar @TheoBr sorry for the slow response. We managed to get the full open-unmix and spleeter models working. If any of you are js devs, we would love some feedback. Send me a mail please

@faroit thanks for your past update and work on TF.js version of spleeter! is there a timeline for when code and/or artifacts will be released?

@faroit is this still a thing? Has support been dropped?

@theblissprogrammer @Syps @AdrianButnar @TheoBr sorry for the long delay. We have working models but we are currently working on speeding up inference and reduce memory usage.
See a W.I.P site here (currently only open-unmix works) https://sigsep.github.io/open-unmix-js/
We will open the repo very soon and can't wait to get some help from javascript gurus ;-)

Just to let you know, I just tried a Open-Unmix vocal separation & the processing bar circle just spun for several minutes with no results.
Roger
 On Thursday, November 12, 2020, 08:05:23 AM CST, Fabian-Robert Stöter<EMAIL_ADDRESS>wrote:

@theblissprogrammer @Syps @AdrianButnar @TheoBr sorry for the long delay. We have working models but we are currently working on speeding up inference and reduce memory usage.
See a W.I.P site here (currently only open-unmix works) https://sigsep.github.io/open-unmix-js/
We will open the repo very soon and can't wait to get some help from javascript gurus ;-)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Just to let you know, I just tried a Open-Unmix vocal separation & the processing bar circle just spun for several minutes with no results. Roger On Thursday, November 12, 2020, 08:05:23 AM CST, Fabian-Robert Stöter

same thing happened with the file i tried.  it was a 4 minute mp3 and i let it spin for more than 20 minutes with no result.
i figured i'd give feedback as well (just in case it helps).
good luck with the speed/memory improvements and thanks for all your work @faroit!

@Mixerrog @skratchdot yes. RAM is an issue in long files. For now:

use chrome
try <30s files

Please wait until we open the repo for reports as this is out of scope for spleeter. ( Or just drop me a mail)

Thanks you for this amazing project. Look forward for JS version :)

I've been able to use spleeter it in my Node.js application with Python Shell along with node-wget.

@amamenko Could you elaborate pls with a snippet for the command line you're passing? It's about an open source project I'm working on

@kyr0 Sure, so I have a couple of Python scripts in separate files that are both executed by the Node.js python-shell module.
The first file is called "install_package.py," which takes an argument and downloads Python packages accordingly:
import os
import sys

os.system('python3 -m pip install {}'.format(sys.argv[1]))

The second file is called "spleeter_stems.py," which takes an argument and runs Spleeter on that argument file via the command line:
import os
import sys

os.system('spleeter separate -p spleeter:2stems -o output {} -c mp3'.format(sys.argv[1]))

A basic Node.js example using python-shell and node-wget with these two Python scripts looks something like this:
const fs = require("fs");
const wget = require("node-wget");
const { PythonShell } = require("python-shell");

wget("https://github.com/deezer/spleeter/raw/master/audio_example.mp3", () => {
  const filePath = "audio_example.mp3";

  // Make sure Spleeter is installed
  PythonShell.run(
    "./python_scripts/install_package.py",
    { args: ["spleeter"] },
    (err) => {
      if (err) {
        throw err;
      } else {
        console.log("Splitting audio file.");
        // Get audio file
        const spleeterOptions = {
          args: ["audio_example.mp3"],
        };

        // Split audio into stems and clean up
        PythonShell.run(
          "./python_scripts/spleeter_stems.py",
          spleeterOptions,
          (err) => {
            if (err) {
              throw err;
            } else {
              console.log("Successfully split track into two stems");
              fs.unlinkSync(filePath);
              fs.rmSync("pretrained_models", { recursive: true });
              console.log(
                "Removed pretrained_models directory and local audio file"
              );
            }
          }
        );
      }
    }
  );
});

@amamenko Wow, nice, thank you Avi! This is perfect, I'll play with it this weekend and see if I can quickly come up with a general purpose UI solution for all OS

@amamenko i used your code and it's working very good
thanks

Hey @faroit @TheoBr, just checking on updates for the tf.js port or any JS version released for the spleeter module.
Is there anything along the lines in progress or in backlog? Thanks!

Did anyone manage to get this implementation working? Getting errors about the pretrained_models missing. But even before that the result from  running the PythonShell is null.

@kyr0 Sure, so I have a couple of Python scripts in separate files that are both executed by the Node.js python-shell module.
The first file is called "install_package.py," which takes an argument and downloads Python packages accordingly:
import os
import sys

os.system('python3 -m pip install {}'.format(sys.argv[1]))

The second file is called "spleeter_stems.py," which takes an argument and runs Spleeter on that argument file via the command line:
import os
import sys

os.system('spleeter separate -p spleeter:2stems -o output {} -c mp3'.format(sys.argv[1]))

A basic Node.js example using python-shell and node-wget with these two Python scripts looks something like this:
const fs = require("fs");
const wget = require("node-wget");
const { PythonShell } = require("python-shell");

wget("https://github.com/deezer/spleeter/raw/master/audio_example.mp3", () => {
  const filePath = "audio_example.mp3";

  // Make sure Spleeter is installed
  PythonShell.run(
    "./python_scripts/install_package.py",
    { args: ["spleeter"] },
    (err) => {
      if (err) {
        throw err;
      } else {
        console.log("Splitting audio file.");
        // Get audio file
        const spleeterOptions = {
          args: ["audio_example.mp3"],
        };

        // Split audio into stems and clean up
        PythonShell.run(
          "./python_scripts/spleeter_stems.py",
          spleeterOptions,
          (err) => {
            if (err) {
              throw err;
            } else {
              console.log("Successfully split track into two stems");
              fs.unlinkSync(filePath);
              fs.rmSync("pretrained_models", { recursive: true });
              console.log(
                "Removed pretrained_models directory and local audio file"
              );
            }
          }
        );
      }
    }
  );
});

Did anyone manage to get this implementation working? Getting errors about the pretrained_models missing. But even before that the result from running the PythonShell is null.

The Spleeter can also be used as library directly into the python scripts. This means that we can use spleeter beyond only through their command line calls. Take a look of a basic usage of this approach in this basic example.
Thats said, you can call such scripts using the referenced python-shell node package.


[events API 2/2]: Add new mint streaming RPC, notify on errors, replay previous send/receive events

Depends on https://github.com/lightninglabs/taproot-assets/pull/836.
Fixes https://github.com/lightninglabs/taproot-assets/issues/822.
Fixes https://github.com/lightninglabs/taproot-assets/issues/254.

Re-reviewed after rebases, still LGTM.

Docker build check looks to have failed here, but afaict was some internal error, and we don't get the full logs here for some reason.

Looks like this failed the new linter directives (merge queue failure):
level=info msg="Memory: 426 samples, avg is 766.2MB, max is 2346.4MB"
level=info msg="Execution took 47.585519618s"
							NewAssetReceiveErrorEvent(
tapgarden/custodian.go:479: line is 89 characters (lll)
								event.ConfirmationHeight,
tapgarden/custodian.go:1066: line is 81 characters (lll)
			receiver.NewItemCreated.ChanIn() <- NewAssetReceiveEvent(


Update xvs icon

There's an issue with the viewbox of the new SVG icon, which makes it look smaller than the one of the VAI token:

There's an issue with the viewbox of the new SVG icon, which makes it look smaller than the one of the VAI token:

fixed with reimport token icon

There's a few files that need to be removed since they aren't used anymore:

done

@therealemjy
Designer asked to hold the PR until the approve from business, so I added WIP status

@therealemjy Designer asked to hold the PR until the business team approved changes, so I added WIP status

Let's use Draft PRs instead of the PR title to note that a PR is still in progress


Add links to docs in all the samples

For #10295

My idea is that there should appropriate links to describe everything (ish) a sample plot does, even if it isn't the subject of the plot. So even if something applies to most plots, I think it still belongs to be pointed out in the links section. Because properties can be explained in many places in the documentation, its nice to know that these are the places worth looking.
When looking at samples I feel like I'm reverse engineering them. I want that to be as simple as possible and have all the relevant resources on hand.
I drew an arbitrary line at things like background color style and said those didn't need pointed out all the time. "everything (ish)".
Often if I linked to a section just to point out one property I spelled it "Foo (thingAboutFoo)". Could have made thingAboutFoo a subbullet, but I'm intentionally pointing out thingAboutFoo.
It could be worth adding a style to links that are the focus of a sample. * [Foo](../../docs/foo) or just * ❗[Foo](../../docs/foo). However, I don't think anything was verbose enough to necessitate that.
Still might have been a couple of cases where I linked something not actually relevant.
I'm coming at this as a person who only used 2.0 once  at the end of 2020. I defiantly do not have familiarity with the library.

And highlighting the one comment reply I made just in case: https://github.com/chartjs/Chart.js/pull/10308#discussion_r854424057

Particularly I pointed out labels every time because personally I find using month names as labels misleading for me as a user looking for ideas working with Date data.

I feel kinda strongly that using months as labels makes the samples worse. I'm just making it easier to glance and see that they're not coming from data values; they're explicitly being provided.

My idea is that there should appropriate links to describe everything (ish) a sample plot does, even if it isn't the subject of the plot. So even if something applies to most plots, I think it still belongs to be pointed out in the links section. Because properties can be explained in many places in the documentation, its nice to know that these are the places worth looking.

If that is what you want I miss info in some places like in programatic events you dont mention the labels, in the data decimation sample you should link to the object notation then.
Same with the animtions/loop example. You putted the tooltip in there while the sample is not about it, and with your current filosophy I get that, that everything that is in there must have a link to the docs but then I think you also need to put links to things like the border color etc.
It feels kind of weird for me atm. Some things are verry detailed while others are not. Not consistent with the information that is provided with that everything that is used should be documented (which I still am against since it will give big christmas trees which I think will have the opposite effect as just the basic link to what the sample is about)

Probably best would be to have a christmas tress at the bottom and some short prose explaining the sample at the top with inline links. A couple already have intro prose but most don't.

Well my goal was only to make a first draft and get a ball rolling. I'll leave final implementation to maintainers. You can close this pr and start from scratch if you want.


Backward Non-compabile changes between 2.0.0-beta.3 and 2.0.0-rc3

It seems between these releases the following
pub struct WriteFixedArrayLength {}

was removed. This is a breaking change since clients could be using the struct in their code. Could this be fixed?

Relevant PR: https://github.com/bincode-org/bincode/pull/625
The entire array implementation was not compatible with bincode 1, so we ripped it out and fixed that issue.
That PR ends with:

They may be re-added in the future.

So I think this option is still open

One question I have is why you would want to care if bincode writes array lengths or not. What is your use case?

I am not a direct user so cannot comment on that. If the user shouldn't
care, why was this struct exposed to the public?
On Thu, Oct 3, 2024 at 9:40 PM Trangar @.***> wrote:

One question I have is why you would want to care if bincode writes array
lengths or not. What is your use case?
—
Reply to this email directly, view it on GitHub
https://github.com/bincode-org/bincode/issues/724#issuecomment-2392808746,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA7YZSCVFCAQM3E6FHVXMUDZZYL4XAVCNFSM6AAAAABPKD6Q3SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJSHAYDQNZUGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

If the user shouldn't care, why was this struct exposed to the public?

That's why we removed it 😄

Backwards compatibility is not something we guarantee before the final stable release of 2.0. If absolute stability is necessary the 1.0 branch should be used instead.


👍

Initiative (Required)
Personal 🧑💻
Additional Info
No response

I am the mentor of this project.
@EngineerRohit01 Hello
I am totally confuse ,what are you doing ? Can you please describe me how your issue work  and give working video  or screenshot!!
Thank you!!!


⚠ Bofrost.de has degraded performance

In 7044cd8, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1348 ms

Resolved: Bofrost.de performance has improved in 15ada68 after 6 minutes.


[release-1.11] Fix Kubernetes Ingress and Gateway prefix match

Manual cherrypick required.
#34295 failed to apply on top of branch "release-1.11":
Applying: Fix Kubernetes Ingress prefix match
Applying: Add test checking for valid prefix match
Applying: Add release note
Applying: Simplify tests
Applying: Add missing template parameter
Applying: Fix conversion unit test
Applying: Fix v1beta Ingress golden test
Applying: Make Kubernetes Gateway use correct prefix matching behavior
Applying: Fix Gateway generation goldens
Using index info to reconstruct a base tree...
A	pilot/pkg/config/kube/gateway/testdata/zero.yaml.golden
Falling back to patching base and 3-way merge...
Auto-merging pilot/pkg/config/kube/gateway/testdata/mesh.yaml.golden
CONFLICT (content): Merge conflict in pilot/pkg/config/kube/gateway/testdata/mesh.yaml.golden
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0009 Fix Gateway generation goldens
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

dupe


Need the React Native SDK !!

Language
REACT Native
FFI Support

[X] I've validated that the language supports Foreign Function Interface (FFI) bindings

Additional Context
https://reactnative.dev/
Willing to Implement

[ ] I'm willing to help implement the Flipt Client SDK in this language if it's accepted. 🙌

Willing to Review

[ ] I'm willing to review contributions to the Flipt Client SDK in this language if it's accepted.

Additional Notes
No response

Thanks for opening this @renanbronchart We hopefully can explore this soon!

Blocked by #354

This looks helpful: https://github.com/animo/react-native-bbs-signatures


Can not find support for "GET /users/:user_id/projects"

GitLab API document is here: https://docs.gitlab.com/ee/api/projects.html.
It seems that this lib not implemented GET /users/:user_id/projects.

No I guess you're right... If you're up for adding it, by all means create a PR and have a go at it 👍

Damned, so you shouldn't publish the document with this feature ........ @svanharmelen

yeah，why the official doc is so ugly @fibers

I’m sorry @fibers, but what exactly do you mean with your comment?

@fibers @svanharmelen I'v already create a PR about this. https://github.com/xanzy/go-gitlab/pull/234

I


helm: update notes to include Hubble Relay

This commit updates the NOTES.txt template to ensure that the user is informed when Hubble Relay is installed be it with or without Hubble UI.

Coverage decreased (-0.004%) to 36.971% when pulling b7657d4906bee88dcc05d3d9cb9578b8352c66c0 on pr/rolinh/helm-hubble-message into 657295ccbdc5636563206f5e16a67f693b3a8fe5 on master.


AttributeError: 'ChatBot' object has no attribute 'set_trainer'

HI,
The bellow code is for chatter bot using flask when i am trying to execute this file i am getting an error
"Attribute Error: 'ChatBot' object has no attribute 'set_trainer'"
so please any handle this it will very helpful for me i tried all the alternatives but i not working suddenly i am getting an error in previous it was worked but now its not working now could any one help in this
**Note: The folder data consists of the yml files for the chatbot requirement **
Thank you in advance
Happy pythoining
from flask import Flask, render_template
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
app = Flask(name)
english_bot = ChatBot("Chatterbot", storage_adapter="chatterbot.storage.SQLStorageAdapter")
english_bot.set_trainer(ListTrainer)
english_bot.train("./data")
@app.route("/")
def home():
return render_template("index.html")
@app.route("/get")
def get_bot_response():
userText = request.args.get('msg')
return str(english_bot.get_response(userText))
if name == "main":
app.run()

Have a look at my comment in #1622.

I am getting an issue if i change the code as per the issue
from flask import Flask, render_template, request
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
app = Flask(name)
english_bot = ChatBot("Chatterbot", storage_adapter="chatterbot.storage.SQLStorageAdapter")
english_bot.ListTrainer(english_bot)
english_bot.train("./data")
@app.route("/")
def home():
return render_template("index.html")
@app.route("/get")
def get_bot_response():
userText = request.args.get('msg')
return str(english_bot.get_response(userText))
if name == "main":
app.run()
ERROR
Traceback (most recent call last):
File "app.py", line 9, in
english_bot.ListTrainer(english_bot)
AttributeError: 'ChatBot' object has no attribute 'ListTrainer'
Could please help me in this to avoid this errors
Thank in advance
Happy codding....

Did you read my comment?  You should create a trainer object and pass the chatbot to it, and then call train on the trainer. Something like this:

english_bot = ... # init bot
trainer = ListTrainer(english_bot)
trainer.train([
    "How are you?",
    "Great!",
])

Additionally, if you are storing your training data in a file, I think you should be using the ChatterCorpusTrainer (I might be wrong).


Migrate Scatterplot from Highcharts

Styling is inconsistent with rest of app. Also hard to extend. One requested feature is ability to search for teams.

Maybe look into https://airbnb.io/visx for maximum customization.


Support for CoreOS as a distro for master and agent nodes

What this PR does / why we need it: This PR enables using CoreOS as a supported distro using the distro field within the masterProfile and agentPoolProfiles api-model sections. An example usage is provided at: examples/kubernetes-coreos.json . CoreOS custom files are within: parts/kubernetesmastercustomdataforcoreos.yml and parts/kubernetesagentcustomerdataforcoreos.yml.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
@anhowe @lachie83 @jackfrancis @uday31in
Things this commit does NOT have:

An automated test (would need help with that), right now I've tested it against a rebase of most recent master of acs-engine on Azure.
acs-engine seems predominantly coupled to Ubuntu distro (e.g. runcmd on cloud-init isn't supported on CoreOS implementation of cloud-init. This may lead to difficulty of new edits/merges where tests should go across distros (or there may not be feature parity). Right now, I used a pattern I saw in #1408 where another file for custom data was used.
This initial implementation uses cloud-init/cloud-config (specifically CoreOS' implementation of coreos-cloudinit) but CoreOS has stopped supporting coreos-cloudint usage in favor of Ignition.

Why: CoreOS was not previously supported (on both Master and Agent nodes).

@richardjortega Sorry about the merge conflict, could you kindly fix that? @CecileRobertMichon When Richard has a clean PR, let's run some manual tests w/ this branch and build some coreos clusters.

Initial testing of CoreOS cluster looks O.K., going to delay merging this for a couple of weeks since we are waiting on more data overhead on the customData field. This should fix failing E2E tests.

After secondary inspection, it looks like Ubuntu deployments (and thus e2e tests) are failing due to a breaking change, possibly in kubernetesmastercustomscript.sh. I suspect one of these might be the cause:
https://github.com/richardjortega/acs-engine/blob/4147a644674ffe17d7173fbfd83add827b570161/parts/kubernetesmastercustomscript.sh#L418
https://github.com/richardjortega/acs-engine/blob/4147a644674ffe17d7173fbfd83add827b570161/parts/kubernetesmastercustomscript.sh#L26
If this gets fixed, we should be able to merge without having to wait for customData overhead.

@richardjortega @CecileRobertMichon I moved the examples file into examples/coreos/ and am running E2E out of band against it now. I'd love to get this merged today!


Before and after need to be specified when requiring

See below. You shouldn't need to specify before and after.
const nyc = require('name-your-contributors')

nyc.repoContributors({
	token: process.env.GITHUB_TOKEN,
	user: 'mntnr',
	repo: 'name-your-contributors',
	// Below
	before: new Date(),
	after: new Date(0)
	}).then(//do something with the results
	)
})

Thanks! Let's get this working for all-contributors! :D

@RichardLitt I just got this error on<EMAIL_ADDRESS>using the same code I provided in #84:
  const b = before.toISOString()
^
TypeError: Cannot read property 'toISOString' of undefined
at repoSubQuery (/mnt/c/Users/max/Projects/all-contributors-cli/node_modules/name-your-contributors/src/queries.js:51:20)
at Object.repository (/mnt/c/Users/max/Projects/all-contributors-cli/node_modules/name-your-contributors/src/queries.js:99:12)
at Object.repoContributors (/mnt/c/Users/max/Projects/all-contributors-cli/node_modules/name-your-contributors/src/index.js:110:20)
at Object.<anonymous (/mnt/c/Users/max/Projects/all-contributors-cli/src/discover/nyc.js:3:5)
at Module._compile (internal/modules/cjs/loader.js:707:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:718:10)
at Module.load (internal/modules/cjs/loader.js:605:32)
at tryModuleLoad (internal/modules/cjs/loader.js:544:12)
at Function.Module._load (internal/modules/cjs/loader.js:536:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:760:12)

TravisCI PR done (cf. #87).
I'll have a look at the code to see if I can fix the issue I got above.

Pretty sure this is closed now.

Yup, I might have missed a mention to resolve this issue in my commit/PR.


Initialize value for a Widget even if it is throttled

Noticed that when initializing a Widget variable with value_throttled parameter, it would not set the value of the actual widget.

Codecov Report

Merging #391 (a2547ee) into master (dceec94) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #391      +/-   ##
==========================================
+ Coverage   68.15%   68.16%   +0.01%
==========================================
  Files          73       73
  Lines        8111     8114       +3
==========================================
+ Hits         5528     5531       +3
  Misses       2583     2583

Impacted Files
Coverage Δ

lumen/tests/test_variables.py
100.00% <100.00%> (ø)

lumen/variables/base.py
80.30% <100.00%> (ø)

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

Looks good, thanks!


Import error

Hello, I found this error when importing ikomia

Windows 11
Python 3.8.6

import ikomia
File "xxx\Python\lib\site-packages\ikomia_init_.py", line 21, in
from ikomia.dataprocess import registry
File "xxx\Python\lib\site-packages\ikomia\dataprocess_init_.py", line 22, in
from ikomia.lib.pydataprocess import *
ImportError: DLL load failed while importing pydataprocess: The specified process was not found.

regards!

Hi @sergiomaciel and thank you for your interest in Ikomia.
As of today, we only made some tests on Windows 10 platform. It seems to be a dependency issue with a missing shared library.
Can you tell us the exact version of the wheel you try to install (what pip command did you use) ?
Thank you.

Hi, @sergiomaciel , Hi @LudoBar .
I also meet some error when I try to install ikomia on my PC.
I use "pip install ikomia" on python 3.11, Win 10.
ERROR: Could not find a version that satisfies the requirement ikomia (from versions: none)
ERROR: No matching distribution found for ikomia
why???
help me plz 😥😥😥

Hi @apollo000104.
The short story is there is no Python 3.11 wheel of Ikomia for the moment. So you should create a Python environment with compatible version (from 3.7 to 3.10).
The long story is that before releasing new Python version, we make some tests to detect and fix compatibility issues for algorithms from Ikomia HUB. One of the main dependency is pytorch and the move to Python 3.11 leads to the major update to pytorch 2.0. The process is in progress and we hope to publish Python 3.11 wheel soon.
So keep in touch, and try to use Python 3.10 wheel in the mean time.

Thanks for the tip!
On Mon, Oct 23, 2023 at 4:20 AM Ludovic Barusseau @.***>
wrote:

Hi @apollo000104 https://github.com/apollo000104.
The short story is there is no Python 3.11 wheel of Ikomia for the moment.
So you should create a Python environment with compatible version (from 3.7
to 3.10).
The long story is that before releasing new Python version, we make some
tests to detect and fix compatibility issues for algorithms from Ikomia
HUB. One of the main dependency is pytorch and the move to Python 3.11
leads to the major update to pytorch 2.0. The process is in progress and we
hope to publish Python 3.11 wheel soon.
So keep in touch, and try to use Python 3.10 wheel in the mean time.
—
Reply to this email directly, view it on GitHub
https://github.com/Ikomia-dev/IkomiaApi/issues/1#issuecomment-1774575076,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A73T322LNQU2AAQCF5PG7ZDYAYLFXAVCNFSM532G6V52U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCNZXGQ2TONJQG43A
.
You are receiving this because you were mentioned.Message ID:
@.***>

i run win10 pycharm2023. in a venv with python 3.10.
get the followin error
Loading failed: Algorithm infer_yolo_v7 could not be loaded:<class 'ModuleNotFoundError'>: No module named 'torch':   File "C:\Users\tonny\Ikomia/Plugins/Python\infer_yolo_v7\infer_yolo_v7_process.py", line 23, in
import torch
(Code 9)
Ikomia auto-completion updated for installed plugins.
Ikomia auto-completion updated for Ikomia HUB algorithms.
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
File D:\Users\tonny\PycharmProjects\pythonProject\venv\lib\site-packages\ikomia\dataprocess\registry.py:161, in IkomiaRegistry.create_algorithm(self, name, parameters, public_hub, private_hub)
    160 algo_dir, language = self._get_algorithm_directory(name)
--> 161 self._load_algorithm(name, algo_dir, language)
    162 algo = self.create_instance(name, parameters)
File D:\Users\tonny\PycharmProjects\pythonProject\venv\lib\site-packages\ikomia\dataprocess\registry.py:321, in IkomiaRegistry._load_algorithm(self, name, directory, language)
    320 if language == utils.ApiLanguage.PYTHON:
--> 321     self.load_python_algorithm(directory)
    322 elif language == utils.ApiLanguage.CPP:
RuntimeError: Algorithm infer_yolo_v7 could not be loaded:<class 'ModuleNotFoundError'>: No module named 'torch':   File "C:\Users\tonny\Ikomia/Plugins/Python\infer_yolo_v7\infer_yolo_v7_process.py", line 23, in
import torch
(Code 9)
During handling of the above exception, another exception occurred:
RuntimeError                              Traceback (most recent call last)
Cell In[2], line 8
      5 wf = Workflow()
      7 # Add the YOLO v7 Object Detector
----> 8 yolov7 = wf.add_task(name="infer_yolo_v7", auto_connect=True)
     10 # Run on your image
     11 # wf.run_on(path="path/to/your/image.png")
     12 wf.run_on(url="https://raw.githubusercontent.com/Ikomia-dev/notebooks/main/examples/img/img_work.jpg")
File D:\Users\tonny\PycharmProjects\pythonProject\venv\lib\site-packages\ikomia\dataprocess\workflow.py:277, in Workflow.add_task(self, task, name, params, auto_connect, public_hub, private_hub)
    274     raise RuntimeError("Unable to add task to workflow: parameters must include either a valid name or task instance.")
    276 if task is None:
--> 277     task = self.registry.create_algorithm(name=name,
    278                                           parameters=None,
    279                                           public_hub=public_hub,
    280                                           private_hub=private_hub)
    281     if task is None:
    282         raise RuntimeError(f"Algorithm {name} can't be created.")
File D:\Users\tonny\PycharmProjects\pythonProject\venv\lib\site-packages\ikomia\dataprocess\registry.py:174, in IkomiaRegistry.create_algorithm(self, name, parameters, public_hub, private_hub)
    170             algo = self.create_instance(name, parameters)
    171         else:
    172             # If algorithm is installed locally but not functional (algo_dir is not empty), it may be a plugin
    173             # in developpement and we should not overwrite it with the Ikomia Hub version
--> 174             raise RuntimeError(f"Algorithm {name} is installed locally but not functional. "
    175                                f"Check your code or your Python environment please.")
    177 return algo
RuntimeError: Algorithm infer_yolo_v7 is installed locally but not functional. Check your code or your Python environment please.
adiitionally Installing pytorch via pip with cuda 11.8 doesnt solve the problem. should i not use cuda?.
or any tricks I should try. This prevent me of using ikomia for my next project
The idea to have one simple install is great, so keep working at it

Hi @tonnys,
The Python Ikomia API includes an automatic system to install dependencies. But you can always install them manually if needed.
One way could be to reinstall infer_yolo_v7 requirements from your venv:
pip install -r C:\Users\tonny\Ikomia\Plugins\Python\infer_yolo_v7\requirements.txt
In addition, what is the result of pip list?

hi
i successfully installed ikomia using pip in a virtual env (pycharm + python 3.9). i tried to run the above code :
from ikomia.dataprocess.workflow import Workflow
from ikomia.utils import ik
wf = Workflow()
resnet = wf.add_task(ik.train_torchvision_resnet(
model_name="resnet34",
batch_size="16",
epochs="5"
),
auto_connect=True
)
dataset_folder = "/home/sof/Work/python-projects/vit-utils/ifn-enit-vit-model/dataset50-50/train/"
wf.run_on(folder=dataset_folder)
the line " from ikomia.utils import ik" prodce the following error "Cannot find reference 'ik' in 'init.py'"
and others errors are listed bellow
/home/sof/Work/python-projects/shared-env/bin/python /home/sof/Work/python-projects/resnet/resnet-ikomia.py
Traceback (most recent call last):
File "/home/sof/Work/python-projects/shared-env/lib/python3.9/site-packages/ikomia/core/init.py", line 19, in
from ikomia.core.pycore import *
ImportError: libusb-1.0.so.0: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/sof/Work/python-projects/resnet/resnet-ikomia.py", line 1, in
from ikomia.dataprocess.workflow import Workflow
File "/home/sof/Work/python-projects/shared-env/lib/python3.9/site-packages/ikomia/init.py", line 17, in
from ikomia import utils
File "/home/sof/Work/python-projects/shared-env/lib/python3.9/site-packages/ikomia/utils/init.py", line 15, in
from ikomia.utils import iklogger
File "/home/sof/Work/python-projects/shared-env/lib/python3.9/site-packages/ikomia/utils/iklogger.py", line 25, in
from ikomia.core import config
File "/home/sof/Work/python-projects/shared-env/lib/python3.9/site-packages/ikomia/core/init.py", line 22, in
from ikomia.lib.pycore import *
ModuleNotFoundError: No module named 'ikomia.lib.pycore'
Process finished with exit code 1
any suggestion please.
many thanks.

I've got the same problem as @tonnys due to infer_yolo_v7 and bypassed the error as @LudoBar mentioned, then as I am using deepsort algorithm too so I tried to solve the same problem of:

Algorithm infer_deepsort is installed locally but not functional.

by manually install all requirements file, so I run:
pip install -r C:\Users\HP-PC\Ikomia\Plugins\Python\infer_deepsort\requirements1.txt
and it works fine, but with the 2nd file (requirements2.txt), I get this error:
Collecting git+https://github.com/KaiyangZhou/deep-person-reid.git@6987d99074fcc63146660b83b38218c37b4412b3 (from -r C:\Users\HP-PC\Ikomia\Plugins\Python\infer_deepsort\requirements2.txt (line 2))
Cloning https://github.com/KaiyangZhou/deep-person-reid.git (to revision 6987d99074fcc63146660b83b38218c37b4412b3) to c:\users\hp-pc\appdata\local\temp\pip-req-build-dqemcbzw
Running command git clone --filter=blob:none --quiet https://github.com/KaiyangZhou/deep-person-reid.git 'C:\Users\HP-PC\AppData\Local\Temp\pip-req-build-dqemcbzw'
Running command git rev-parse -q --verify 'sha^6987d99074fcc63146660b83b38218c37b4412b3'
Running command git fetch -q https://github.com/KaiyangZhou/deep-person-reid.git 6987d99074fcc63146660b83b38218c37b4412b3
Running command git checkout -q 6987d99074fcc63146660b83b38218c37b4412b3
Resolved https://github.com/KaiyangZhou/deep-person-reid.git to commit 6987d99074fcc63146660b83b38218c37b4412b3
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [17 lines of output]
Traceback (most recent call last):
File "D:\2CS_esi\S1\SCI\iot_project\Project\venv\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 353, in
main()
File "D:\2CS_esi\S1\SCI\iot_project\Project\venv\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "D:\2CS_esi\S1\SCI\iot_project\Project\venv\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
File "C:\Users\HP-PC\AppData\Local\Temp\pip-build-env-ea5z1c88\overlay\Lib\site-packages\setuptools\build_meta.py", line 325, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
File "C:\Users\HP-PC\AppData\Local\Temp\pip-build-env-ea5z1c88\overlay\Lib\site-packages\setuptools\build_meta.py", line 295, in _get_build_requires
self.run_setup()
File "C:\Users\HP-PC\AppData\Local\Temp\pip-build-env-ea5z1c88\overlay\Lib\site-packages\setuptools\build_meta.py", line 487, in run_setup
super().run_setup(setup_script=setup_script)
File "C:\Users\HP-PC\AppData\Local\Temp\pip-build-env-ea5z1c88\overlay\Lib\site-packages\setuptools\build_meta.py", line 311, in run_setup
exec(code, locals())
File "", line 1, in
ModuleNotFoundError: No module named 'numpy'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.


20190610 change #2: Added optional support for Non-Maskable Interrupt (NMI)

Draft 20190610 – separating multiple changes as individual issues to enable change tracking/approval from draft-20190610 doc upload.
Added optional support for Non-Maskable Interrupt (NMI) with encoding of mcause.exccode defined as 0xFFF and mcause.Interrupt=0.
Comments from Krste 4/1/2020:
This CLIC NMI is not aligned with rest of spec - please disregard.
There is a separate more complete NMI proposal that is intended to be
used with all RISC-V systems, including those without CLIC, to be
debated in a priv committee TG.  This adds resumable NMIs (the current
RISC-V spec has non-resumable NMIs) with separate cause/epc.

More standard NMI doc to be posted in this TG then up to privileged SC.

Closed by #112


Update Unknown Achievements

Description
Added a new section on the server the check for old achievements when importing from cml or updating the player
Notes
The biggest issue I can see here is that the date we display will be the first time we see a snapshot after a user got 99
So even if they got it on one day, it may appear a couple weeks later without any real way to check, the only thing we know for sure is that it can not be before the date we have posted
Another note: A user that updates may appear to have their 99 on the date of the first update, this will be fixed after CML imports and the old snapshots are checked for dates.
Screenshots

Where to Start

Going to rebase this off of the changes coming to boss kc and reopen later


Deployment template validation failed

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

deploy.ps1 from command line
choose subscription (IOT-OPC-WALLS)
enter credentials
choose location (West-US)
Create new RG and application (both of the same name)
deployment starts and says "deploying..." for ~10 min
error arises saying deployment failed

Expected behavior
Proceed to next step of deployment
Screenshots
If applicable, add screenshots to help explain your problem.

error message:
10:49:48 AM - The deployment 'azuredeploy' failed with error(s). Showing 1 out of 1 error(s).
Status Message: Deployment template validation failed: 'The template parameters 'datalakeServicePrincipalId' in the parameters file are not valid; they are not present in the original template and can therefore not be provided at deployment time. The only supported parameters for this template are 'templateUrl, branchName, keyVaultName, eventHubNamespaceName, eventHubName, datalakeName, datalakeSkuName, tsiEnvironmentName, tsiStorageName, tsiStorageManagementKey, tsiEnvironmentSkuName, tsiEnvironmentSkuCapacity, tsiEnvironmentKind, tsiEnvironmentDisplayName, tsiEventHubAuthorization, tsiEventSourceDisplayName, signalRName, signalRSkuTier, signalRSkuName, signalRServiceMode, signalRSkuCapacity, dpsName, dpsSku, dpsCapacity, dpsIotHubHostName, dpsIotHubConnectionString, dpsIotHubLocation, workspaceName, kustoClusterName, kustoSkuName, kustoSkuCapacity, kustoSkuTier, kustoDatabaseName, workspaceSku, appInsightsName, workbookId, tags'. Please see https://aka.ms/arm-deploy/#parameter-file for usage details.'. (Code:InvalidTemplate)
CorrelationId: 920c33d4-6996-4dcc-b662-f2d2630b24e2
Deployment failed.
Desktop (please complete the following information):

OS: Windows 10

Additional context
I did receive this warning initially when starting the deployment: "WARNING: Both Az and AzureRM modules were detected on this machine. Az and AzureRM modules cannot be imported in the same session or used in the same script or runbook. If you are running
PowerShell in an environment you control you can use the 'Uninstall-AzureRm' cmdlet to remove all AzureRm modules from your machine. If you are running in Azure Automation, take care that none
of your runbooks import both Az and AzureRM modules. More information can be found here: https://aka.ms/azps-migration-guide"

Hi @rowenwu - can you try to do a git pull on your repo and try again?  I think you have an old arm template on your machine which then pulls from the tip of master which is incompatible.

that worked! thanks Marc


How to use patch_file in diesel.toml

I've had a hard time working with the patch_file option with the Diesel CLI as described in the Configuring Diesel guide on the website.
Is there more practical advice for on-going usage of this feature? I feel like I'm missing something or making it harder than necessary.
As my schema has evolved, I occasionally need to make more patch revisions to the schema (so far, just Enum types) and the suggested git diff command will only output the patch from the last commit, not the entire history of patches.
I've resorted to tracking a version of the schema with no patches and re-generating the patch based on a diff of that and the current schema.
Makefile targets for convenience
# Usage:
#
# Do any modifications to `diesel.toml` and/or run migrations and then re-make the schema:
#
#    $ make src/schema.rs
#
# Do any modifications to `src/schema.rs` and then re-make the patch:
#
#    $ make src/schema.rs.patch

SHELL = /bin/bash

.PHONY: src/schema.rs
src/schema.rs:
	# patch file must exist if it's defined in diesel.toml
	touch src/schema.rs.patch
	# print the schema
	diesel print-schema > src/schema.rs
	# make unpached version
	make src/schema.rs.unpatched
	# make the new patch file
	make src/schema.rs.patch

.PHONY: src/schema.rs.patch
src/schema.rs.patch:
	diff -U6 src/schema.rs.unpatched src/schema.rs > src/schema.rs.patch || true

.PHONY: src/schema.rs.unpatched
src/schema.rs.unpatched:
	# if patch isn't empty, create schema.rs.unpatched from the existing patch
	[ ! -s src/schema.rs.patch ] || \
		patch -p0 -R -o src/schema.rs.unpatched < src/schema.rs.patch
	# otherwise create schema.rs.unpatched by copying schema.rs
	[ -f src/schema.rs.unpatched ] || \
		cp -a src/schema.rs src/schema.rs.unpatched

Is there more practical advice for on-going usage of this feature? I feel like I'm missing something or making it harder than necessary.

You're not missing anything. This is great feedback, and a good reference for something that's been discussed internally, but I don't believe we have a tracking issue for. Patch files have definitely been a "good enough" solution to a real problem, but have very much had pain points. https://github.com/rust-lang/crates.io/commit/d9e3da67d9b5faa778a3802ab70be77864025144 and https://github.com/rust-lang/crates.io/commit/508ed318896b517b29e9bddbda0497171aa65638 are examples that I've personally run into.
There are three changes I'd like to make, two of which I think have a clear path forward for someone to take on.

We should have a workflow that involves editing the schema file however you want and getting a patch file from that.

This is essentially the workflow mentioned in the last paragraph of https://diesel.rs/guides/configuring-diesel-cli/#the-patchfile-field, except we diff against what we think your schema should be, not what's in git. My workaround has been to delete the patch file, run diesel print-schema, commit that, apply the patch file if applicable and/or make whatever new changes I want, and then git diff that. It's... not great. We can probably also figure out the appropriate number of context lines for you, since it's most likely based on the number of items in you custom imports, and the size of the comment we generate. Changes where context lines are likely to be problematic tend to go between table invocations, so it'd be nice if we just defaulted to having "number of lines between the } of table1 and the first line where table2's name appears" and not make our users care when that changes

We should maintain the patch file for you.

Patch files can be fickle. Your line numbers can change. A few of your context lines can change. But if it's just slightly too much, the patch no longer applies. If we're able to generate a patch file from a given schema.rs, we should just do that automatically any time a patch file successfully applied. So if one context line changed, we change that line in the patch file. If the line numbers change, we keep up to date. This leads to more churn (though churning schema.patch when schema.rs changes seems fine), but will mean fewer cases where you regenerate the file for no reason.

We need a reasonable workflow for merge conflicts.

I have no clue where to even start here. I do not want to re-implement git in Diesel CLI. But the "edit your schema.rs and we generate a patch file" is most effective if we give you a reasonable way to recover if the patch file fails to apply.

I just encountered the same issues, and for the same reasons i.e. for updating custom types dependencies. I'm wondering why not just make .sql files annotatable with similar rust like attribute syntax embedded into SQL comments.
For example:
--#sql_type="crate::models::MyCustomType"
CREATE TYPE my_custom_type AS ENUM
    ('one','two','three','four');

Which will automatically generate on any tables that uses it:
table! {
    use diesel::sql_types::*;
    use crate::models::MyCustomType;

    table1 (id) {
        id -> Uuid,
        my_enum -> MyCustomType,
    }
}

of course, this only covers a single use case, but I imagine this type of feature can be extended as more cases are discovered, then the patch file would be the last resort type of feature for cases that cannot or has not been covered.
I think it would make the out-of-the-box experience of diesel more ergonomical.

While the patch file support could definitely use some improvements, I've been inspired by @travismiller 's Makefile solution and have developed my own version. Maybe this will help someone:
# The path to the path file for the Diesel schema
SCHEMA_PATCHFILE := src/path/to/patch/file.path

# Create a new patch file
# Steps:
# 1) Make sure the variable SCHEMA_PATCHFILE is set to the same value as the variable in diesel.toml's print-schema.patch_file, e.g.
#    diesel.toml
#     ```
#     [print_schema]
#     file = "path/to/some/file"
#     patch_file = "path/to/path_file.path" <-- Must be the same as SCHEMA_PATCHFILE
#     ```
# 2) Run `make patch`
# 3) You are presented with a vim instance. The windows from left to right:
#    - First is the unmodified file generated by Diesel without any patch applied.
#    - Second is the patched file generated by Diesel. Modify this file, the generated patch file facilitates the change from the first to the second file.
#    - If a previous patch file exists, it is shown as a third file. This serves as a reminder of what changes were applied before.
# 4) Edit the second file until satisfied, then save and exit the editor. To abort exit the editor with an error by pressing ':cq'
# 5) The new patch file is generated.
patch:
	# If there is a previous patch file, copy it with a *_bak extension and store a vim command to open the patch file
	$(eval OPEN_PATCHFILE_OLD := $(shell [ ! -s $(SCHEMA_PATCHFILE) ] && read -p "No previous patch file exists. Press key to continue.. " -n1 -s || { \
		cp $(SCHEMA_PATCHFILE) $(SCHEMA_PATCHFILE)_bak ;\
		echo '-c "vsplit $(SCHEMA_PATCHFILE)" -c "setlocal readonly" -c "wincmd h"' ;}))
	# Create two temporary files. All commands after this one should succeed to ensure that the temporary files are deleted in the end
	$(eval UNPATCHED := $(shell mktemp --suffix=.rs /tmp/schema_unpatched_XXXXXX))
	$(eval PATCHED   := $(shell mktemp --suffix=.rs /tmp/schema_patched_XXXXXX))
	# Generate the unpatched schema file by overriding the patch with an empty patch file
	diesel print-schema --patch-file "" > $(UNPATCHED)
	diesel print-schema                 > $(PATCHED) || cp $(UNPATCHED) $(PATCHED)
	vim -d $(UNPATCHED) $(PATCHED) -c "setlocal readonly" -c "wincmd l" $(OPEN_PATCHFILE_OLD) && diff -U6 $(UNPATCHED) $(PATCHED) > $(SCHEMA_PATCHFILE) || true
	rm -rf $(UNPATCHED) $(PATCHED)

@mox-mox If you see some concrete improvements, PR's are welcome.

So, currently we have to generate a git diff file to patch a schema?  What if I'm actively developing a schema, I can't imagine having to push a faulty schema to change only the related fields that need patching and generate a git diff afterwards?

@DylanVerstraete It's highly discouraged to ask questions on stale issues. Use the support forum if you are looking for support. Otherwise: Read the issue thread, the answer to your question is already in there.


Add documentation for packaging with --no-install

What was the end-user problem that led to this PR?
I need to package gems for deployment but don't want to install them on the local system.
What was your diagnosis of the problem?
The behaviour is a part of bundler but it is not documented anywhere in man pages or the bundler site. To find the answer, one has to look at issues that were closed a few years ago.
What is your fix for the problem, implemented in this PR?
I've updated the man page for the bundle package command. Hopefully, this will trickle down to bundler site pages for package command whenever CI publishes it.
Followed the doc here to run tests.
Why did you choose this fix out of the possible options?
It felt appropriate to document a flag available on a CLI in its help pages.

Looks good!

@bundlerbot r+


Instruction to install github bot not available for a PR already in Process

I had a PR already open in OpenSearch- Dashboards project. Once the ChangeLog workflow was added,  I recieved errors corresponding to the change log requirements like adding a valid description with an appropriate action. However I didn't receive an error mentioning that I had not installed the github bot, but the workflow kept failing.
Expected behaviour: There should have been an error message asking me to install the github bot rather than simply failing.
Adding my PR where I had this issue for reference.
https://github.com/opensearch-project/OpenSearch-Dashboards/pull/6492

Hi @LDrago27,
Thanks for opening this issue. I already talked with @ashwin-pc, and some users had similar problems.
Question: are you sure that when you opened the mentioned PR, you did it WITHOUT the OpenSearch Changeset Bot (i.e. GitHub App) being initially installed?
Please check the following 2 PR I opened against OSD:

Testing PR WITH Bot Initially Installed -> https://github.com/opensearch-project/OpenSearch-Dashboards/pull/6576
Testing PR WITHOUT Bot Initially Installed -> https://github.com/opensearch-project/OpenSearch-Dashboards/pull/6577

If you take a look at PR 6576 (case with bot initially installed), the first message you get is the one below - which is the same one you received and where I supposed you have the bot already installed before opening the PR:

For the case of PR 6577 (bot not initially installed), if you take a look at it, you will see this initial message:

After reviewing the workflow logs for each case, I realized that for PR 6576 (case with bot initially installed), a log mentioning that the GitHub App had been detected was not printed.

But in PR 6577 (case without bot initially installed), a specific message indicates that a bot (GitHub App) has been detected.

Could you confirm us the first question I made you? If that is the case, what we should do is to correct the logs for a case with like PR 6577 (case with bot initially installed). Although, I wonder if a Post Info Message, would be also beneficial to inform the user that indeed is already using the bot for the creation of the changeset.
@ashwin-pc, any thoughts on this?
Regards,
Samuel

Here is another PR that has the same issue. I think the code you have to detect if the bot is installed is not working as expected. Not sure what the diff is, but @AMoo-Miki faced it too

Mmmmmm, ok I will bring an update this week. I have an idea to make things clearer for initial usage when the bot is installed.


503 Fix

Fix app 503, now sending proper error page when an error occurred
Related to mmgfrcs/prj-surefire-survive#10

Codecov Report

Merging #2 into master will decrease coverage by 0.72%.
The diff coverage is 42.85%.

@@            Coverage Diff             @@
##           master       #2      +/-   ##
==========================================
- Coverage   61.45%   60.73%   -0.73%
==========================================
  Files           9        9
  Lines         371      382      +11
==========================================
+ Hits          228      232       +4
- Misses        143      150       +7

Impacted Files
Coverage Δ

routes/mainRoute.js
48.78% <42.85%> (-1.22%)
:arrow_down:

Continue to review full report at Codecov.

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


lb: HA setup for traefik

What were you trying to do?
I was trying to load api.moov.io (or infra.moov.io) resources while the node that traefik was running on had gone away.  This meant that connections were dropped until a new node took over and had the Traefik pod scheduled.
There's a problem currently with the PersistentVolume accessMode in that only one Pod can hold a write lock for the volume. What if we just deploy a traefik-alpha and traefik-beta ? That way there are 2 lb's up and running.

Oh, this will require a second type: LoadBalancer service, which might cost more? Need to double check on that.


TypeError: b.module(...).info is not a function

I got this error after rebuild angular, previously i build this project without error.
I have included this module in angular module and include all script in index.html.

Failed to instantiate module angular-ladda due to:
[$injector:nomod] Module 'angular-ladda' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument

i found shortcut to change file vendor.js to last vendor.js before error, and it's work. It isn't proper way to fix this problem.

Facing the same issue. Looks like angular-ladda is not being maintained.

You have to use a version of ladda (an angular-ladda dependency) lower than the 2.0.0 one. 1.0.6 is the lastest 1.x.x.


I should see "XX" text, has a sleep  that need to be removed

THis function has a sleep that should be removed, because now we have "I wait until i see "xX" text".
So we need to spare time. This function is massively used

reduced to minimal


Feature: Adding a webpage for opensource program with official website link in the form of CSS cards

Category

[ ] Documentation
[ ] Resource Addition
[ ] Codebase
[ ] User Interface
[x] Feature Request

Description
Proposing to add a webpage in the site that will have all the program picture , little about them and offical link in the form of CSS cards.

Link of the this page would be present on the navbar.

Hi!
Can I work on this under JWOC 2024?
Thanks!

@gitgoap We already have an 'Open Source Programs' page on the website. So, we're closing this one.


Wrong variable name 'accessToken'

There is an error in this documentation under the section "Get Azure AD access token" point 5.
The current statement is "...which is saved to the variable accessToken automatically."
The statement should be "...which is saved to the variable bearerToken automatically."

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

ID: a9d1459d-b21b-7a56-d484-50c20a95c628
Version Independent ID: 9adb2b55-d08f-aa34-7d6f-5fa87e1603ae
Content: Access the Azure Healthcare APIs FHIR service using Postman
Content Source: articles/healthcare-apis/use-postman.md
Service: healthcare-apis
GitHub Login: @ginalee-dotcom
Microsoft Alias: ginle

@MustAl-Du Thanks for your feedback! We will investigate and update as appropriate.

@MustAl-Du The PR for the fix has been created and it will be merged soon. Thanks again for pointing this out, I am closing the issue based on this update, please let us know if there is something else that we can help you with.


[rlgl] Disable backface culling in 2D mode?

I think backface culling should be disabled in 2D mode. It's not really necessary and would simplify rendering of triangles/quads for users.

Hi @ghassanpl, backface culling is enabled by default for two reasons:

Minimize state changes in the main loop: Even rendering 2D or 3D or both (let's thing of 3D with some HUD), we keep that state untouchable. I don't know exactly the performance impact of enabling/disabling  culling state, probably is negligible but I try to change the minimum OpenGL required states in the loop.
The only user-exposed functions where backface culling is relevant are DrawTriangle() and DrawPolyEx() and I usually use those functions with my students to explain normals, backface culling concepts and how important is to be organized while defining vertices.

In what case do you prefer backface culling disabled for 2D?

Those are both good points. I wanted to draw some custom polygons using rlgl, it's where it came up, but I guess the core library doesn't need it.

Actually, if using rlgl module directly you can just enable/disable it on user code...


Add detail to SOCKS setup information on Readme

Hello @Morhaus .
This is a simple addition to Readme specifying that, when using SOCKS, all network interfaces must be set up to use the proxy.
I'm wondering if:
1- that is correct or not
and 2- if you would like to add this on the Readme.

That is not correct. You should only have to setup the primary interface to use the proxy, as it is the interface most if not all connections go through normally.

@Morhaus Got it! Thanks for clearing that out :) I guess my recent problem was all about not knowing how to check whether it was working or not.
I was using Speedify a few weeks ago, and it essentially summed up all connections as one. But it required a VPN connection that, in the end, was slowing my internet down.


Fixed urls and redirects

Fixes #106
Changes you made

Added app_user to the homepage and not auth_user
fixed that only Manager sees New Task button
Moved the navbar to a separate file
added redirect to the Admin panel for admin users

@avraham1992 No

I would also add a redirect from /login so if an authenticated user tries this he will be redirected and won't see the login form again.
Also, is there an option to create a redirect from the admin page too? So instead of seeing the default Django error, a regular user won't even be aware that there is an admin page. This is a security concern.

when I logged in with user that is not admin, I don't see the new task button and I suppose to see it. no?

the Falcon page is only with HomePage' - you need to fix it

when I logged in with user that is not admin, I don't see the new task button and I suppose to see it. no?
the Falcon page is only with HomePage' - you need to fix it

There should be no new task button after exiting only after entering and provided the user's role is manager...The only problem was that we had to give the page to our user so that he could use a role field and not an automatic one that not contains a field of function

when I logged in with user that is not admin, I don't see the new task button and I suppose to see it. no?
the Falcon page is only with HomePage' - you need to fix it

Only user with Role = Manager will see the New Task button

I would also add a redirect from /login so if an authenticated user tries this he will be redirected and won't see the login form again. Also, is there any option to create a redirect from the admin page too? So instead of seeing the default Django error, a regular user won't even be aware that there is an admin page. This is a security concern.

Fixed the /login problem, the admin redirect should be in a different PR

please add a meaningful commit message


[HELP] Generated MP4 files does not work on Whatsapp Web

Hello, I hope you are well!
I'm using canvas-record to record my canvas and save a video to MP4 using AVC1 codec (which internally uses mp4-muxer to generate the mp4 file). The mp4 generated files works well, but seems they don't work with Whatsapp Web (I think this is a problem with codecs, although the recommended codec to use with Whatsapp is ACV1).
I'm still not sure what causes this problem, I've already tried several profile, level, latencyMode, etc. settings. The MP4 videos are generated correctly, and I can watch them through the video player or in the browser, but when I send them via Whatsapp Web, a preview is not generated, and the videos are only sent as attached files.
I will attach two examples of similar videos. The first one works on Whatsapp (it was converted from webm to mp4 on a remote server), and the second does not (it was generated directly in mp4 using canvas-record).
First video, converted from webm to mp4 using ffmpeg on a server (works on whatsapp web):
https://github.com/dmnsgn/canvas-record/assets/11933789/80b6745b-cce3-42fa-aa98-bd8670a95d50
Second video, converted using webcodecs on the browser using canvas-record (does not work on whatsapp web):
https://github.com/dmnsgn/canvas-record/assets/11933789/1531e1a7-59be-4418-b079-2e71477bea20
Seems the only relevant setting that is different between those videos is the Codec ID, which is mp41 for video 1 and mp42 for video 2. But I really don't know how to change this using mp4-muxer. I tried to locate it inside the library code and options, but without success.
My question is: Is there any way to change the video from mp42 to mp41 before saving it, so that I can make it work with Whatsapp?
Some informations about both videos:
Visual comparison

Video 1 - Ffmpeg
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '.\video1.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.29.100
  Duration: 00:00:06.56, start: 0.000000, bitrate: 6494 kb/s
  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 898x584 [SAR 1:1 DAR 449:292], 6492 kb/s, 16 fps, 16 tbr, 16384 tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]

Video 2 - Webcodecs
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '.\video2.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isom
    creation_time   : 2023-10-11T18:34:44.000000Z
  Duration: 00:00:06.57, start: 0.000000, bitrate: 2158 kb/s
  Stream #0:0[0x1](und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(progressive), 954x604, 2155 kb/s, 60 fps, 60 tbr, 90k tbn (default)
    Metadata:
      creation_time   : 2023-10-11T18:34:44.000000Z
      vendor_id       : [0][0][0][0]
      encoder         : JVT/AVC Coding

Thanks for the report! I'll look into this when I find the time, which should be this weekend :) It's obviously not good if files can't be sent over WhatsApp Web, as that's quite a common place to share videos these days. It usually means there's something still sus about the files I output.
However, what I can say is that I do find it weird how the major brand infers to mp42 - don't think that string appears in my library. Have you played around with the ftyp box in src/box.ts? That's where all these brands are listed.

Hi @Vanilagy thank you very much for your attention. I'll check this ftyp setting to see if it works. I tried also mkv and ended with the same result, no file preview on whatsapp

After doing some experiments, I've come to the conclusion that there's something fundamentally wrong with the mp4-muxer-encoded video file you sent - not just a codec or brand mismatch. In the macOS Finder, the two video files already appear different:

And the two behave very differently regarding seeking, too. The left (FFmpeg) version seeks just fine, while the right version is all glitchy:
https://share.cleanshot.com/ZWDW86RM
So I think the video was not created correctly by mp4-muxer - my initial guess would be that canvas-record is doing something wrong.
To verify, I actually reencoded the video using mp4-muxer myself, by playing back the correct video, recording it and piping it into the muxer.

The code I used to generate the file
<video src="./276319050-80b6745b-cce3-42fa-aa98-bd8670a95d50.mp4"></video>

<script src="../build/mp4-muxer.js"></script>
<script type="module">
	await new Promise(resolve => addEventListener('click', resolve))

	let video = document.querySelector('video');

	let muxer = new Mp4Muxer.Muxer({
		target: new Mp4Muxer.ArrayBufferTarget(),
		video: {
			codec: 'avc',
			width: 898,
			height: 584
		},
		firstTimestampBehavior: 'offset'
	});

	let videoEncoder = new VideoEncoder({
		output: (chunk, meta) => muxer.addVideoChunk(chunk, meta),
		error: e => console.error(e)
	});
	videoEncoder.configure({
		codec: 'avc1.42001f',
		width: 898,
		height: 584,
		bitrate: 1e6
	});

	video.play();
	video.onplaying = () => {
		console.log("Hit!")
	};
	video.onended = async () => {
		await videoEncoder.flush();
		muxer.finalize();

		let { buffer } = muxer.target;
		downloadBlob(new Blob([buffer]), 'cutemug.mp4', 'video/mp4');
	};

	let stream = video.captureStream();
	let [videoTrack] = stream.getVideoTracks();

	let keyframeInterval = 10;
	let frameCount = 0;
	let videoTrackProcessor = new MediaStreamTrackProcessor({ track: videoTrack });
	let videoConsumer = new WritableStream({
		write(videoFrame) {
			console.log(videoFrame)

			const isKeyframe = frameCount % keyframeInterval === 0;
			videoEncoder.encode(videoFrame, { keyFrame: isKeyframe });
			videoFrame.close();

			frameCount++;
		}
	});
	videoTrackProcessor.readable.pipeTo(videoConsumer);

	function downloadBlob(data, fileName, mimeType) {
		const blob = new Blob([data], { type: mimeType });
		const url = window.URL.createObjectURL(blob);
		const a = document.createElement('a');
		a.style.display = 'none';
		a.href = url;
		a.setAttribute('download', fileName);

		document.body.appendChild(a);
		a.click();

		window.URL.revokeObjectURL(url);
		document.body.removeChild(a);
	}
</script>

This is the resulting video:
https://github.com/Vanilagy/mp4-muxer/assets/1696106/16d2c5a2-ce12-46ae-b023-8da6b552505e
This video plays perfectly on my machine, just like the FFmpeg version does. Can you test sending this version over WhatsApp Web?

Anyway, all this makes me believe canvas-record is not using this library fully correctly and therein lies the bug. Are you affiliated with canvas-record at all and know where I should look in the code, or should I dig around a bit myself?

Okay, after a quick inspection of the code in canvas-record, it looks pretty correct to me - maybe this is a writing-related bug with this library. I'm not quite sure how canvas-record works, but it seems like it provides two modes of writing the file - one "in-browser" (which then probably offers a download button), and one that writes to disk directly. Which one of these did you test?

Hi @Vanilagy thank you very much for spending your time looking at this issue.
At first, I thought the problem was in the canvas-record library. I tried everything without success. Then it occurred to me to try to upload a video generated directly with mp4-muxer from the Demo page (https://vanilagy.github.io/mp4-muxer/demo), and the same problem occurred. It was at this point that I decided to open an issue here.
Also, I just tested the video you sent, but it remains the same behavior (no preview on WhatsApp web).

About your question, I'm using the default option from canvas-record which downloads the video directly from Browser using mp4-muxer.
Best regards,
Tiago

I think I've found the issue! The files generated by mp4-muxer place the moov atom, which contains all the metadata, at the end of the file. This is a common practice because it greatly simplifies writing the file, but some pieces of software check only the start of the file for metadata. Placing the moov atom at the start of the file is known as "Fast Start" in the MP4 space.
Here's your video reencoded using mp4-muxer with the moov atom at the start (with hacked-together code):
https://github.com/Vanilagy/mp4-muxer/assets/1696106/af10d575-8609-4736-99ad-1cf6d6d2a919
Perfectly embeds and plays in WhatsApp Web for me:

Anyway, seems like I'll need to add a Fast Start option to this library, which will take a bit of work. I'll get back to you when there's progress. If you have the capacity, a donation would be greatly appreciated - but obviously not required :) https://ko-fi.com/vanilagy

@Vanilagy thank you very much for checking this, I tested it here, and it worked well on my WhatsApp Web too

I'll get back to you when there's progress. If you have the capacity, a donation would be greatly appreciated - but obviously not required :)

It would be a pleasure

Thank you so much for your generous donation! <3

After a good amount of work, I've released v3.0.0 - as you can see in the updated README, there's now a fastStart option which can be used to place metadata at the start of the file. This is also now enabled by default in the demo, so please try using the demo now and dragging it into WhatsApp Web.
What's funny is that during the implementation I've actually found the true cause for why the files didn't use to work on WhatsApp Web: It had nothing to do with Fast Start, it was actually that the mdat box which holds all media data was using the "large size" format, which uses an additional 8 bytes to specify its size. I do this to support files larger than 4 GiB. Whatever parser WhatsApp was using, it did not support this larger box size definition even though it is clearly included in the base spec. In the new update, I've improved on this behavior too: I now only use the large box size when the box is larger than 4 GiB.

Hi @Vanilagy thank you very much, your work is incredible. I just tried the demo page and it is working 👏 👏 👏 I'll create a fork of canvas-record and recompile it using the new version of mp4-muxer.


ron's output is very odd when combined with typetag

(most of this is copied from ron-rs/ron#452, with some edits, so apologies if some information here seems odd)
Hi! I was experimenting with typetag, and I found that there's some oddities with what ron outputs when using it.
Here's the code I'm using:
/Cargo.toml
[package]
name = "serde_ron_tag_test"
version = "0.1.0"
edition = "2021"

[dependencies]
	[dependencies.ron]
	version = "0.8"

	[dependencies.serde]
	version = "1"
	features = ["derive"]

	[dependencies.typetag]
	version = "0.2"

/src/main.rs
use serde::{Deserialize, Serialize};

#[typetag::serde]
trait Event {
	fn inspect(&self);
}

#[derive(Serialize, Deserialize)]
struct Message {
	data: String,
}

#[typetag::serde]
impl Event for Message {
	fn inspect(&self) {
		println!("type A with data `{}`", self.data);
	}
}

fn main() {
	let req_ser = ron::ser::to_string_pretty(
		&Message { data: "abcd".to_string() } as &dyn Event,
		ron::ser::PrettyConfig::default()
	).unwrap();

	println!("{}", req_ser);

	let req_de: Box<dyn Event> = ron::de::from_str(req_ser.as_str()).unwrap();

	req_de.inspect();
}

I would expect it to output something along the lines of this:
Message(
	data: "abcd",
)

since typetag is described as effectively creating an enum containing all types that implement that trait, and this is how ron normally outputs enums.
However, it instead outputs this mess:
{
	"Message": (
		data: "abcd",
	),
}

which looks very ugly and hard to understand when saved to a file. Unfortunately, I haven't found a way to make it output in the format I expect.
According to @juntyr when I posted about this over at ron-rs/ron:

This unfortunately seems to be an issue in typetag, see [1]
From briefly scanning the typetag codebase, the “enums” are not actually serialised as enums but as maps using the encoding that JSON uses for enums. Therefore, RON sees only that, in your case, a map with a single key is serialised. Unfortunately, this appears to be an issue with serde and it’s adjacent crates often assuming that every format is like JSON and can only treat enums as maps.

though I would suspect that anyone working on typetag may understand the issue in far greater detail.
In any case, I was hoping this could be looked into?

P.S. The problem also exists for enums:
/src/main.rs
use serde::{Deserialize, Serialize};

#[typetag::serde]
trait Event {
	fn inspect(&self);
}

#[derive(Serialize, Deserialize)]
enum Message {
	A { data: String },
	B { data: String },
}

#[typetag::serde]
impl Event for Message {
	fn inspect(&self) {
		match self {
			Self::A { data } => println!("type A with data `{data}`"),
			Self::B { data } => println!("type B with data `{data}`"),
		}
	}
}

fn main() {
	let req_ser = ron::ser::to_string_pretty(
		&Message::A { data: "abcd".to_string() } as &dyn Event,
		ron::ser::PrettyConfig::default()
	).unwrap();

	println!("{}", req_ser);

	let req_de: Box<dyn Event> = ron::de::from_str(req_ser.as_str()).unwrap();

	req_de.inspect();
}

Expected Output
A(
	data: "abcd",
)

Actual Output
{
	"Message": A(
		data: "abcd",
	),
}

As far as I can tell, this is behaving correctly. Serde data model's externally tagged enums are identified by a discriminant (index), for example which is a thing that most binary formats would need for serializing an enum. So that is not an appropriate representation for typetag trait impls which are not ordered. You'd need to pursue fixing this in ron to produce the output you prefer.

Le sigh....

If I may ask... Looking through the documentation for Serializer, I found Serializer::is_human_readable. Is it possible to serialize to a struct when dealing with a human-readable format, and to a index when dealing with a binary format?

It would be possible, but that would imply generating twice as much code for every type, which is most likely not the right tradeoff. See https://github.com/dtolnay/typetag/issues/25.

Then could this be re-opened for the time being? You closed it for being on rons end, yet I really don't see this being rons fault here, since it's typetag that's causing the issue here.

As far as I can tell, this is behaving correctly. Serde data model's externally tagged enums are identified by a discriminant (index), for example which is a thing that most binary formats would need for serializing an enum. So that is not an appropriate representation for typetag trait impls which are not ordered. You'd need to pursue fixing this in ron to produce the output you prefer.

I’m not sure I understand the reason for serialising tagged enums as maps. While some data formats such as JSON use maps for this purpose, other formats like RON have specific syntax for them and could handle them better if serialize_newtype_variant (for externally tagged enums) and serialize_struct_variant (for adjacently tagged and internally tagged since that just seems to use a default content key) were used. Could this perhaps be changed or an option added to generate these better-typed imps instead?

@dtolnay I apologize for bumping this, but I'd like to request again that the issue at least be re-opened for discussion, even if it'll be some time before you respond to the above questions.


Bugfix for issue #131

This fixes the scroll behaviour issues on body elements without fixed height. Tested with the minimal example given in the issue and the default demo of the polyfill.
The fix is based on three main changes:

isScrollable will always return true, if scrollableParent is document.documentElement as mentioned in the comments by @reppners
getElementViewportSize() now returns Math.min of el.clientWidth and window.innerWidth or el.clientHeight window.innerHeight respectively.
_scrollableParentBounds are moved outside the function's scope to make it possible to only update scrollWidth/scrollHeight of _scrollableParentBounds  if the scrollableParent changes.

I hope this fix is solid enough to make it into the next release and doesn't break any other behaviour.

I'm sorry to report that something broke due to the changes made though I have not yet found out what the cause is.
Here are two gifs demonstrating the issue:
Before changes (current state of master)

After changes

It starts horizontal scrolling without intentionally moving the touch to the edge of the display, and it should not be able to scroll horizontally at all.

Oh didn't run into this one in my tests but it looks like it's related to the problem I mentioned that the transform3d adds up to the scrollWidth/-Height. The Math.min trick combined with only occasional updates of the scrollbounds was meant to fix this, which it does for vertical scrolling but apparently doesn't for horizontal scrolling. I'll be looking into it.

 The cause of this behaviour is pretty simple though but took me some time to figure it out:
The first strange thing is that the page in the gifs is scaled down although the viewport meta is set. But: the viewport meta is missing user-scalable=no which is ok, but leads to the fact that resizing via the developer mode of chrome is treated like pinch scaling the page. That on the other hand leads to the fact that the x-coordinates get totally messed up (the y coordinates don't for whatever reason...). And for the fun of it all, moving the dragElement near the wrong calculated edges, is adding up to the already wrong calculated scrollWidth,...
If the page is not zoomed (just hit ctrl+0), the fix is working as expected.
The behaviour shown in the first gif is just due to the original issue, since scrolling doesn't work at all on the top-level element. So if we want to get this to work on scaled pages, we will have to rewrite a lot of the calculations done for the scrollanimations, scrollEndReached and plenty of other stuff.
Any ideas?


what's the models format and is there a way to convert them to onnx?

all models are in tensorflow/js graph model format.
there are 3rd party utilities to convert tfjs graph models to tf saved model and then to onnx.
but what would you do with such models as they all require a lot of pre and post processing?

all models are in tensorflow/js graph model format. there are 3rd party utilities to convert tfjs graph models to tf saved model and then to onnx. but what would you do with such models as they all require a lot of pre and post processing?

I'm mostly interested in age/gender estimation models. Is your point also relevant for these models?

also relevant. note that age/gender detection require precisely cropped image of the face and that is achieved here by running face detection first. you can convert models to onnx, but results are not going to be what you're hoping for.


[Suggestion] Notifications tab support | currently this does not affect the notifications tab

hope this is worked on in the future since currently it doesn't affect the notifications tab just the timeline/profile.

Yeah on the notifications tab for me it just shows the "Actually Verified" w/o their name.

I'm able to reproduce this one and I'll look at getting a fix into the next release 👍

This bug was the cause of most of the weird issues people were reporting https://github.com/wseagar/eight-dollars/commit/a1d053706e70e7c62b06ffca040d52a6499d23ba
On master everything is now looking good. Changes will go out with v1.2 tomorrow. If there's any problems after that please feel feel to reopen this and thanks for reporting it!


Doc Feedback: List items format issue

The config snippets should be under each database type.

Location : https://apim.docs.wso2.com/en/latest/Administer/ProductAdministration/changing-the-default-api-m-databases/

This issue has been already fixed in [1] and the other pages related to Changing Default Databases
[1] https://apim.docs.wso2.com/en/latest/InstallAndSetup/SettingUpDatabases/overview/


Add ScanOSS as a RemoteScanner

This PR adds initial support for ScanOSS as a Scanner, scanning against osskb.org.
In order to fully benefit from ScanOSS, changes should be made to the ORT data model to add support for snippet scanners.

Closing this in favor of https://github.com/oss-review-toolkit/ort/pull/4877.


Potential Inaccuracy in MSELoss Implementation

I noticed that the implementation of the MSELoss function in project/tensor/function.py might not be fully aligned with the standard definition of Mean Squared Error (MSE). Specifically, the current implementation does not average the squared differences.
def MSELoss(inputs:Tensor, labels:Tensor) -> Tensor:
    loss = (inputs - labels) * (inputs - labels)
    return loss

Thank you for raising the issue!
Indeed, the implementation of MSELoss here is somewhat different from the original version, and the implementation of pure matrix is adopted here, because terox does not support the broadcast mechanism of tensor at present, and the gradient calculation of reduce operations such as sum and mean is not perfect at present.


Question about the 5th part in the paper

I am a beginner in deep learning and I've trained the model according to the instructions, but I don't know how to reproduce the attention visualization and text image retrieval mentioned in the paper with this model. Do you still have the code about it? I'll be grateful if you can help me.

Got it from the historical record


Export AMD module

Wrap the output into an AMD compatible module if possible. Otherwise, keep exporting axs and goog into the global scope.
Fresh rebuild of axs_testing.js bundle.
Update bower.json config to advertise support for AMD module.

Maybe it makes sense to write an integration test that requires axs_testing so we can get test coverage on this. Otherwise, LGTM!

@loginx do you want to merge this (once the conflicts are resolved)?

Will do. I'll have a look at the conflicts in a bit. They probably just stem from the fact that there's been some new builds since this was proposed. Shouldn't be too difficult to merge.


🚀 Feature: Allow overriding page title in  component

🔖 Feature description
Unlike <PageWithHeader>, <Page> component does not allow setting a custom title for the page. This leads to the situation where the page title stays the same before navigating to the page.
For example:

Create a new page with <Page>
Add it to the menu
Go to Catalog, and now go to the new page
The title stays as Catalog | Backstage

🎤 Context
If app developers create pages without header, they would also like to give them proper titles.
✌ Possible Implementation
Adding React Helmet to  component would help with this and allow users to pass the titleOverride as property to the Page
👀 Have you spent some time to check if this feature request has been raised before?

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

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
None

For context, we use the react-helmet library for tracking those titles. Am I right in understanding that you meant that you made a child page of the catalog and the title of the parent (the catalog page) was what was showing? That would be OK, but not if you made a sibling page to the catalog.
Is this perhaps hard to fix without breakage? We can't easily remove the helmet from Header itself into Page, since that might break existing layouts.
I think I'd recommend just importing and using Helmet yourself inside your page. That makes it nest into whatever was above.


snapshot 05 03

Adds support for the May 3rd snapshot. This will require a minor bump.

Passed CI and the changes are pretty small. Merging.


add definition for OPENSHIFT_ANSIBLE_SOURCE_BRANCH back to ocp call t…

This change replaces a previously removed calculation of the OPENSHIFT_ANSIBLE_SOURCE_BRANCH value.  It was removed when the openshift-ansible RPM build was moved to the oit  rpms:build step, but it is still needed for the build_ami step.

Addresses issue https://github.com/openshift/aos-cd-jobs/issues/1449

This has a subtle but important issue without https://github.com/openshift/aos-cd-jobs/pull/1404#discussion_r190674022 . This PR's implementation requires openshift-ansible to cut the release branch simultaneously with ose. If openshift-ansible cuts before ocp first, you will build the RPM with the 3.X branch, but the AMI will build with openshift-ansible/master.


Added LICENSE, README.md, and coding guidelines

This pull request adds essential project files, including a LICENSE file (MIT License), a README.md file with project overview and guidelines, and a guide for naming conventions in Java. These changes aim to provide clarity and structure to the project and ensure that contributors are aware of the project's licensing terms and coding conventions.
Please review and merge these changes at your earliest convenience.
Thank you!

Thank You.


Font screenshot

What is the font used in the screenshot?

Either Input or Panic's Coda app monospace font.

Thank you.

I've found.
"DeJaVu Sans Mono"

Panic Sans is the name of Coda monospace font and Input is a font that you can generate or download preset fonts from their website.

Nice bro!
Thank you! Again.


Update Hiper card scheme icon

The Hiper card scheme currently uses the same icon as the Hipercard card scheme. This seems like a mistake, as we use two different icons on the website. This PR replaces the Hiper icon with a unique icon.

Old on the left, new on the right.

Who woulda thunk :)


MD preview previews markdown notebook cells

open a markdown file
open the markdown preview to its side
replace the markdown file with a notebook
in the notebook edit a markdown cell
:bug: the markdown preview previews the cell

@kieferrm had demoed this issue before and I am unsure if a duplicate exists or not...

I believe what's happening is that the cell editor is becoming the active editor (in API term) and the the markdown preview panel reacts on that. I think that generally makes sense but only for editors that have a view column. @mjbvz is there a reason why the preview work on any editor?

If I change the 'when' clause of the command to open the markdown preview to remove !notebookEditorFocused, I can still open a preview of a markdown cell. Is that a problem? Seems ok, I specifically asked for it.

Yes, I think that's fine. I gated the automatic previewing of files to always be disabled in notebooks. I didn't do the same for the command since the when clause seemed like a better approach