deluge 2.0.3 and libtorrentRasterbar 1.2.3

Motivation for this change
Alternative to https://github.com/NixOS/nixpkgs/pull/64496 and https://github.com/NixOS/nixpkgs/pull/64542
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Does anyone still need to run deluge 1.x? I just rechecked all my trackers and it seems like they all support deluge 2.x now, so I have no need for running the old version.

The nixos module also needs to support this before we can merge it.

That's why I'm asking, there is still significant work to be done to support both versions in parallel, which would be unnecessary if noone is using it.
But yes, the declarative configuration for deluge 2.0 something I have not taken a closer look yet, but I will do.

That's why I'm asking, there is still significant work to be done to support both versions in parallel, which would be unnecessary if noone is using it.

If I were you, I definitely wouldn't try supporting both in tandem considering how much has changed - it would be a ton of work for very little gain.

Icons are working as soon as I add gnome3.adwaita-icon-theme to my environment. That fixes icons in a lot of other apps and according to https://nixos.wiki/wiki/GNOME we are on our own to fix them if we're not actually using GNOME.

Fixed module and test for deluge 2.x while preserving support for deluge 1.x

Do we want to fix the icon thing? I think I saw a comment somewhere that users are expected to have one icon theme in their environment according to the manual, so this would not strictly be a bug.

I don't think so, according to the GNOME wikipage this is something
everyone as to decide for themselves. I guess if we wanted that changed
we'd need to open up an issue on the matter.
On 3/19/20 4:18 AM, Milan wrote:

Do we want to fix the icon thing? I think I saw a comment somewhere that
users are expected to have one icon theme in their environment according
to the manual, so this would not strictly be a bug.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/NixOS/nixpkgs/pull/77762#issuecomment-600966243, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AABAEDYBZRAB6TCPDMGEIMDRIGFJLANCNFSM4KHDNJCQ.

I moved this to my overlay and am using it on all my machines. From my side this is ready to be merged.

@petabyteboy, do you mind fixing up the merge conflicts so we can get this merged?

Feel free to do so. I'm running this since two weeks. Other than concerns about data migration it should be good to go. The topic of data migration is solved sufficiently for me, but others might have different standards.

@bricewge raised some issues though.
Would also be great to hear from maintainers @domenkozar @ebzzry

Oh, I will address those comments now.

So while working on the comments I also rebased it to master and noticed that something was not quite right. It turns libtorrentRasterbar was already updated in #83414, and deluge 1.3.15 continues to build fine with the new version. This is a surprise to me, but well, let's leave it that way then.

Rebased, squashed together the libtorrentRasterbar updates and updated it to 1.2.5.

With the state check I think it's safe to merge despite the user having to migrate from 1.x to 2.x, but we definitely need a few lines in the release notes.

I added a note to the release notes, I hope I found the correct section (it is called backwards incompatible but most changes described there are more like forward incompatible).

@worldofpeace can you tell me if the release note is ok like this? I would like to merge this.

@petabyteboy Note looks good and is in the correct section. Seems fine to me, let's go :+1:

Thanks everyone :sparkles:


Increase output video length and fps for eval.

Hello, excellent work. Really liked the inversion idea. Can you suggest how can I increase the output video length for evaluation and increase fps?

Hi, the "n_sample_frames" in train_data and "video_length" in validation_data in configs (e.g. canny.yaml) can be applied for increasing the output video length and you can change the sample_frame_rate (line 41 in dataset.py )


Use find_by to skip exceptions in Export of schedules

we don't need to skip export process when don't have already resource in DB.
And I also improved error message.
@miq-bot add-label bug
@miq-bot add-label ivanchuk/yes
@miq-bot assign @gtanzillo
Links
related to https://bugzilla.redhat.com/show_bug.cgi?id=1560090

Ivanchuk backport details:
$ git log -1
commit 8512c69f9c0278eeae36ab0cbe13090d15186b88
Author: Gregg Tanzillo<EMAIL_ADDRESS>Date:   Fri Aug 23 10:48:08 2019 -0400

    Merge pull request #19191 from lpichler/user_find_by_to_skip_exceptions

    Use find_by to skip exceptions in Export of schedules

    (cherry picked from commit c3fc79426eb04e66b71d9c219899a92f2782b11b)

    https://bugzilla.redhat.com/show_bug.cgi?id=1768638


Adding baseline documentation to the README

Adding initial documentation to the repo by extending the README.
More updates to come.
Signed-off-by: Georg Kunz<EMAIL_ADDRESS>

Would be nice with support for PlantUML for pictures.


MM New Metadb Derived Table for Instance admin notes

This table extracts administrative notes from the instance. Please note that there is no data for this in juniper.

[ ] Pull request has a complete description
[ ] Query runs without errors
[ ] Query output is correct
[ ] Query logic is clear and well documented
[ ] Query is readable and properly indented
[ ] Table and column names are in all-lowercase
[ ] Quotation marks are used only where necessary
[ ] Query begins with user documentation in comment lines
[ ] File name is listed in runlist.txt after dependencies
[ ] All columns have indexes
[ ] Table is vacuumed and analyzed

@jenmawe The correction made here from adminNotes to admin_note is a good change, because we have a convention that names of tables and columns should be in lowercase and use underscores to separate words:  https://github.com/folio-org/folio-analytics/blob/main/CONTRIBUTING.md#8-naming-things


Fixed check for number of tickets when booking

Added test that checks that user with 5 tickets cannot book any more.

 Maxtak på vilka event man kan anmäla sig till


added deploy pipeline

Ticket
https://github.com/navapbc/template-infra/issues/108
Changes

Added Deployment steps to CD.yml
Added deploy-release.sh
Added the deploy step to the MakeFile

Context for reviewers

Need to be authenticated to aws before running the deploy.

Testing

Make release-deploy with no env_name arg should prompt to enter one of the correct env options and at the end of the deploy it will log what account has been updated.

@lorenyu I made some changes after our discussion to comment on the code and to correct the case in the GH action.


Context sensitive tokens

Following the discussions on #993 and #1023, I'm wondering if it'd make sense to have an option for stateful tokens.
const stringStartAndEnd = createToken({
  effect: ({ insideString }) => ({ insideString: !insideString }),
  pattern: /'/
});

const literal = createToken({
  gate: ({ insideString }) => insideString,
  pattern: /[^']*/
});

For this to work, the lexer would be initiated with a state variable, an empty object at first.
If present, the effect function of a token is invoked whenever encountered during lexing:
state = { ...state, ...token.effect(state)) };

The gate property of a token is called with the state variable before a match.
@bd82 does this make any sense?

I'm not sure I completely understand what you're suggesting, but this looks very similar to multi-mode lexers to me.

Sounds like multi mode Lexing too.
You can implement even more complex logic during lexing using custom token patterns.

https://sap.github.io/chevrotain/docs/guide/custom_token_patterns.html

Thanks @HoldYourWaffle and @bd82, that's right. Sorry for being a noob ;)

Fellow noobs should help each other out right 😉
@bd82 Maybe it's a good idea to make multi-mode lexing more prevalent in the documentation? There isn't really a tutorial page for it (although the linked example is plenty to understand how it works) and I didn't find the page until you linked to it from another issue. Perhaps we could add a section to the lexer tutorial page that mentions it?

Perhaps we could add a section to the lexer tutorial page that mentions it?

It seems like this feature is more popular than I thought...
Having a full guide e.g:

https://sap.github.io/chevrotain/docs/guide/generating_syntax_diagrams.html#examples

Would be best but that it a fair bit of work to create...
Perhaps (as suggested) a small note could be added in the lexer tutorial to aid discover-ability.

I'd love to add one, but the 'Edit on github' link results in a 404 😅

The move to mono repo structure broke the links.
Add packages/chevrotain to the link, e.g:
https://github.com/SAP/chevrotain/edit/packages/chevrotain/master/docs/guide/generating_syntax_diagrams.md
I will sort it out later.

The edit links are now fixed.

https://github.com/SAP/chevrotain/commit/33788dd26ef69d9f0fabf27d76db2e173da031ed

But you may want to edit them on a local env due to enforcement of prettier formatting.

I created a pull request with an added note.

The move to mono repo structure broke the links.

I saw something about a 'transitioning to a mono repo' before, and I've always wondered: what kinds of chevrotain were in a different repository? The packages folder has just 1 subdirectory, and I can't think of anything easily "splittable" in this library.

I saw something about a 'transitioning to a mono repo' before, and I've always wondered: what kinds of chevrotain were in a different repository? The packages folder has just 1 subdirectory, and I can't think of anything easily "splittable" in this library.

The examples directory includes multiple packages (private ones).
The Lexer could at one point be split out.
The Diagrams generation could also be split out.

That makes sense, thanks!


how to pub xml files

Fixes #13147

btw ... See if this should be cross-linked for it ...
https://docs.microsoft.com/en-us/visualstudio/msbuild/common-msbuild-project-items?view=vs-2019#content

@guardrex  much appreciated, added your link


SALEOR-3994 Make sale per variant + webhooks

…d compatibility by facade
I want to merge this change because...
Impact

[x ] New migrations
[x] New/Updated API fields or mutations
[x] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[ ] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[ ] Changes are mentioned in the changelog

Task linked: SALEOR-3994 Make Sale per variant + webhooks

@kuchichan Tests are failing.


elements are deselected while dragging if their nesting status changes

Archi Version
5.3.0
Operating System
windows 10
Archi Plug-ins
No response
Description
When selected elements are dragged with a mouse, they stay selected after the mouse button is released unless their nesting status changes: if they were nested inside another element and are dragged outside of it or vice versa, the selection is cleared. This is inconsistent and inconvenient if final position is unsatisfactory: to move them some more one has to select all of them again.
Steps to reproduce

create an element with nested elements
select nested elements with ctrl-click
drag them outside - selection is cleared

Fixed in Archi 5.4


Update paictl's document.

Coverage increased (+24.5%) to 84.23% when pulling 184a82b73b81c585008895a7d46c2c750c52d630 on yuye/doc-update into fbadd60b4fe218071ccd4dfc81432e6f2eb8a7dd on master.

Coverage increased (+24.5%) to 84.23% when pulling 184a82b73b81c585008895a7d46c2c750c52d630 on yuye/doc-update into fbadd60b4fe218071ccd4dfc81432e6f2eb8a7dd on master.

Coverage increased (+24.5%) to 84.23% when pulling 184a82b73b81c585008895a7d46c2c750c52d630 on yuye/doc-update into fbadd60b4fe218071ccd4dfc81432e6f2eb8a7dd on master.


HtmlContentEditor not showing colors in rendered PDF

Hi all,
I've a varchar(MAX) field that is marked with HtmlContentEditor attribute, like that:

I have to render PDF, so in my .cshtml file I've that:

When I put the text bold or underline, in PDF it works fine, but when I change the color in the editor, it's not working.
How can I solve that?
Thanks for your time :)
Chiara

UPDATE: I've also changed the attribute in HtmlReportContentEditor, but still not working :(

HtmlContentEditor or any editor is not intended for printing itself. Your issue is WKHTML/Bootstrap has CSS that prevents color from printing. Color must have !important to print. Don't think you can do it with content from a HTML editor.

Your issue is this:
https://stackoverflow.com/questions/33410724/bootstrap-print-css-removes-background-color
Only solution is to remove bootstrap.css

Or you might put that content in a iframe

You should close issue if resolved.


zoekt-git-index too many branches error

[backend] | Error: Command failed: zoekt-git-index -allow_missing_branches -index /data/.sourcebot/index -file_limit 2097152 -branches * /data/.sourcebot/repos/ URL
[backend] | 2024/12/26 06:46:24 indexGitRepo(/data/.sourcebot/repos/\.git, delta=false): build.NewBuilder: too many branches

``

Heya - how many branches are you indexing? iirc, zoekt can index a maximum of 64 branches

Above 64. What about making separate indexes? Or just make index of 1-64 branches instead of error.

Are you wanting to search across more than 64 branches? Or are you using a glob pattern so a ton of branches are getting included?
I would need to dig through the zoekt codebase a bit, but I imagine it could get tricky to support >64 branches (afaik, a uint64 is used as a bitmask to represent what files appear in which branches. See here).
Making separate indexes per 64 branch chunk is interesting - I will test that out and see if it's possible without overriding existing indexes.


Sitemaps for APIs

It would be very time-efficient for developers to enhance the current APIs with some kind of sitemaps.

Hi! Thanks for the request! I think it is a good idea to enhance API/documentation. By sitemap do you mean something like improving https://docs.vespa.ai/en/api.html or auto-generate from annotations in code? An example will help, and thanks!

Something like a recursive map of APIs and documentation is very helpful:

Closing inactive issue.


[SidePanel]: Add tooltip for toolbar buttons & add className and/or id to buttons

What will this achieve?
The SOAR team suggests the following enhancements to the SidePanel component to facilitate our designs:

Add the ability for tooltips on hover to the buttons in the SidePanel toolbar
Add the field(s) className and/or id to the toolbar buttons

Additional information
The image below shows our design using the SidePanel. We'd like a tooltip to display upon hovering a toolbar button, and the ability to set a className and/or id to each button can achieve the red background

This is now complete @lily-peng, just a heads up that the click handler for the actionToolbarButtons has been renamed to simply onClick.


sudo remnux install --mode=addon not installing

im trying to install REMnux distro but im getting the following error
Invalid OS or Unable to determine ubuntu version
'
'
'
''To determij=ne the issue, please review the saltstack.log file /var/cache/remnux/cli

HI @Pohambap , right now, REMnux only supports Ubuntu 20.04, so if you're installing on another distribution of Linux, or another version of Ubuntu, then that will be the result of the attempt to install. You can confirm your version by typing cat /etc/os-release or lsb_release -a.

i am currently running Ubuntu 22.04

Since Ubuntu 22.04 is not yet supported, it is recommended you install on Ubuntu 20.04 instead.


[Flaky CI]ImageUpload Upload an image and start a VMI with PVC on rook-ceph [test_id:4621] Should succeed DataVolume expand_more

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind bug
/triage build-watcher

/kind enhancement

What happened:
Test failed during run: https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/4853/pull-kubevirt-e2e-k8s-1.17-rook-ceph/1351899458278789120
Seems likely that the port-forward did not succeed.
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

KubeVirt version (use virtctl version):
Kubernetes version (use kubectl version):
VM or VMI specifications:
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

Again: https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/4672/pull-kubevirt-e2e-k8s-1.17-rook-ceph/1350881373799321602

Again: https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/4672/pull-kubevirt-e2e-k8s-1.17-rook-ceph/1350881373799321602

Again: https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/4953/pull-kubevirt-e2e-k8s-1.17-rook-ceph/1356899908354838528

Happened again https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/4948/pull-kubevirt-e2e-k8s-1.17-rook-ceph/1357325966732431361

two 4621 failures here
https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/5039/pull-kubevirt-e2e-k8s-1.17-rook-ceph/1362430350462029824
vendor/github.com/onsi/ginkgo/extensions/table/table_entry.go:43
Unexpected error:
    <*errors.errorString | 0xc0001f8ba0>: {
        s: "timed out waiting for the condition",
    }
    timed out waiting for the condition
occurred
tests/imageupload_test.go:152

And here: https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/4387/pull-kubevirt-e2e-k8s-1.17-rook-ceph/1364692756617760768
And here: https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/4387/pull-kubevirt-e2e-k8s-1.17-rook-ceph/1365237344944263168

And here: https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/5126/pull-kubevirt-e2e-k8s-1.17-rook-ceph/1367273577207828480

CLosing b/c referencing PR got merged.


seeded data generators should return to original random state

Seeding of data generators introduce side effects because the random state is not reset after use
The following code should not make c and d deterministic, and not equal either
`
from keras.preprocessing.image import ImageDataGenerator
import numpy as np
x = np.random.randn(10,10,10,3)
g2 = ImageDataGenerator().flow(x, seed=0, shuffle=True)
g1 = ImageDataGenerator().flow(x, seed=0, shuffle=True)
a = next(g1)
c = np.random.randn(10)
b = next(g2)
d = np.random.randn(10)
assert np.array_equal(c,d) == False
`

For more (friendly) criticism of Keras' usage of numpy.random.seed() see https://github.com/numpy/numpy/pull/9906#discussion_r146420055

Given the described above behavior, in case of multi-threading using the seeds with ImageDataGenerator is outright useless. The race condition to set and use the global numpy seed produces non-deterministic results.


feat: transactions and config fixes

This PR improves explorer:

properly show transactions
show state of transaction - failed or success
configuration for OPN networks - both testnet and mainnet

@skeremidchiev Thanks for the PR, looks great.
It seems that you've replaced the ETC network config. Would you mind updating the PR so that you are adding your network/testnets, and leaving the ones that are in there as is?
Also, in general, its preferable to split this into seperate PRs, so that we can review each change independently. All good for now though.
Thanks again!


add compatibility shim for __fields__ -> model_fields

See #5909

please review & approve, it'll then merge.


Build for Nodejs projects as a  baseline

Depend on whether or not the stuff you're working on, @einari, should depend on the upcoming Javascript.Build.Client repo or this one. Is it a package for client or node applications?

I'll see how it all fits together. What I have solved is basically be able to run in Electron mode - which means browser, with being able to import files - both local and from other packages. It deserves a writeup on its own. Pretty hairy stuff. But in pure Node mode - this won't be necessary as we can just transpire module handling into CommonJS - Node and we're good. What I probably need to do however, is make it simple to build layers of types of build and be able to add and override quite easily.

We should perhaps have our own 'dolittle build' script thing where we can do these things and make it simple to do these common npm things

That would be very interesting. Build and run tests and all.  Great idea!
This is especially interesting with transpilation as well when you have repositories with multiple packages and a workspace like I've done the for JavaScript.Fundamentals project.
And of course VSCode support as well.

Yeah, flexible tools for building, trnaspiling and running js apps.
Look at aurellias build for example https://github.com/aurelia-ui-toolkits/aurelia-kendoui-bridge?files=1

We can give the end user options, for example transpile to cjs, UMD, AMD... And more

Yup..  We should do them all.
You might find the pre-cursor to the new Dolittle stuff interesting; I did the following a couple of years ago: https://github.com/Cratis/JavaScript.Pipeline


Can MiniCPM-V trained with text-only instructions?

Thanks for your great work! I notice that the fine-tune document only shows the required format for vision-language instructions. Does the model support training with both vision-language examples and language-only examples?

hello，I recently completed a demo-level fine-tuning of plain text and mixed-modal fine-tuning. I will send you the link after I upload the code.

Thanks very much!

Hi，please use follow branch code：https://github.com/LDLINGLINGLING/MiniCPM-V/tree/ft_language
and you can follow the Tutorial：https://modelbest.feishu.cn/docx/I18Fd2HLRoESOYxuyc6cUZqvnhd?from=from_copylink ，any problem you can tell me

Appreciate it! I will try it later.

if the code work，please tell me, I will close the issue.

i tried to follow it, but i got this error
[93,0,0] Assertion `idx_dim >= 0 && idx_dim < index_size && "index out of bounds"` failed.
../aten/src/ATen/native/cuda/ScatterGatherKernel.cu:144: operator(): block: [350,0,0], thread: [94,0,0] Assertion `idx_dim >= 0 && idx_dim < index_size && "index out of bounds"` failed.
../aten/src/ATen/native/cuda/ScatterGatherKernel.cu:144: operator(): block: [350,0,0], thread: [95,0,0] Assertion `idx_dim >= 0 && idx_dim < index_size && "index out of bounds"` failed.
...
...

can you help me?

Have you replaced the file and used the branch of ft_language?

This issue has been completed. The above problems have not occurred. I have no problems running it locally. Please first make sure whether you strictly follow the tutorial.


Is it possible to use material2 Style-Variables for own node_modules?

Hello,
I am writing a simple lib that extends material2 with simple stuff that i need alot times. I want that my lib looks every time exactly like material2 components. When i setup a theme color for material2, then i need exactly the same colors in my lib.
have you guys any idea how to realize that?

Please keep GitHub issues for bug reports / feature requests. Better avenues for troubleshooting / questions are stack overflow, gitter, mailing list, etc.


Kangrui's blog post

Hi @slieggi , please help to review this pr.

Thanks @JamesKrW -- try to apply and commit this patch. If it works, I can merge this PR. Basically, the patch corrects the link to your project which is at /project/osre23/anl/perfdrift.

Thanks @carlosmalt for the review. Now I've applied the patch.

Thank you, @JamesKrW -- one more thing: please apply
this patch to change the value of authors: in your blog post to [kangrui]. This will connect your blog post to your author profile.


submitHandler still get triggered when debug is true

used code bellow in our page,submitHandler still got triggered even if debug is true
$("#commentForm").validate({
debug: true,
submitHandler: function () {
alert("submitted!");
}
});
jquery-validation-1.16.0
chrome  59.0.3071.115
Steps to reproduce
use attched file to reproduce
debug.zip
Expected behaviour
submitHandler not get triggered
Actual behaviour
submitHandler get triggered

Thanks a lot for filling this issue! I'll triage and take a look at it as soon as possible!

has this been fixed yet?

@ppetree
Thanks a lot for the reminder.
Unfortunately, it's not fixed yet. I haven't found the time to look into it, but will try to by the end of the week.

No worries.  Also, it would be super awesome if we had a flag that would disable submit actions.  In mobile apps (i.e. jquery.mobile) where a form page is loaded into an existing dom, a submit action will cause the form page to be reloaded and since the form page isn't the main page, the app crashes.  Setting the action=void doesn't solve the problems.  Most form actions are done via ajax so invoking all those submit actions really messes things up.

@ppetree
Can you please provide a demo page or a JSFiddle or JSBin?
I have never used jQuery mobile, so I have no idea what it is expected and what's not. No worries if you don't have time for that, though.

I cant even begin to tell you how much loathing I have for jsFiddle or jsBin.  I work 80-100 hours a week and by the time I get something created in those sites I've wasted 1/2 or more of a day.  I've simply stopped using them.
I've attached the files you need sans any .css (this took all of 10 minutes to cobble together).
index.html, click the button in the footer to load the form (form.html).  If you inspect form.html you'll see why the app crashes when the submit handler gets invoked and refreshes the page. In form.js, there's a comment in the validator and you'll see how it has to be worked around.
form.zip

Hi @ppetree
Thanks for the demo code.
Here are some thoughts after exploring the code:

Don't attach the validator to your form inside an event listener. Even thought that will work in some case, but it defy its purpose. You should only put the .validate() method inside a DOM ready function or any top level function (e.g. onFormReady function in your case) since it's how the plugin is initialized. In other words, the validation plugin is not even initialized until after your button is clicked.
Your button has no type. That means the browser will treat it as a submit button since it is inside a form. If you want to trigger the validation manually, you should set the type of your button to button and then inside the click handler, call form.valid() (as you already do).
If you want to disable submit actions, you can set onsubmit option to false and the plugin will not attach the submit event handler to the form, and will not listen to the click event on the submit button.
Setting this option to false also means the submitHandler will be ignored. The submitHandler is only used inside the submit handler attached to the form when onsubmit is set to true (which is the default value).
If you set this option to false, clicking on the submit button will send your form without any validation, which will refrech the form as a result.

In summary, I think what you need in your case is to (without forgoting point 1 above):

Set onsubmit option to false
Set the type of your button to button
Validate the form when clicking the button and submit the data if valid (as you already do)

As for this issue, I still need to gather some data before starting any fix.

Marking this as a bug and reopning. Will try to fix it as soon as possible.


[52]:... Test for log message struct

PR for #52
Implemented TestLog_Message and check messages for

[x] Module
[x] Time
[x] Pid
[x] Tid
[x] Text

@gavv PR ready for review

Coverage: 87.971%. Remained the same when pulling 72dafc924e3bae9dfb30013215ff3745579242fe on Darrellbor:52-test_for_log_message_struct into ec43d2b9305b103ec0cb5e3169e8d7da618f9cde on roc-streaming:main.

@gavv PR ready for review

Thanks for PR! You can cast @roc-streaming/go instead of me because there are others who can review PRs too.

oh ok
noted

@roc-streaming/go ready for re-review

Thanks!


R Kernel .ipynb Support not working

(ploomber) jacques@Jacquess-Macbook-Pro example3-refactor-r-notebook % soorgeon refactor eda-R.ipynb
Error: Could not refactor notebook due to invalid syntax
Traceback (most recent call last):
File "/Users/jacques/opt/anaconda3/envs/ploomber/lib/python3.10/site-packages/soorgeon/export.py", line 442, in _check_syntax
ast.parse(code)
File "/Users/jacques/opt/anaconda3/envs/ploomber/lib/python3.10/ast.py", line 50, in parse
return compile(source, filename, mode, flags,
File "", line 3
colnames(df) = c('sepal_length', 'sepal_width','petal_length', 'petal_width', 'class')
^^^^^^^^^^^^
SyntaxError: cannot assign to function call here. Maybe you meant '==' instead of '='?
(ploomber) jacques@Jacquess-Macbook-Pro example3-refactor-r-notebook % cd ..

Ploomber/examples/example3-refactor-r-notebook/eda-R.ipynb

https://search.r-project.org/CRAN/refmans/lobstr/html/ast.html


Windows support.

Delete dependency of LLVM when building with MSVC.
Use _popen on Windows instead of popen.
After this commit and importing dirent.h (Reason: It is a header file that is only on Linux system. Fix: https://github.com/tronkko/dirent is a project providing Linux compatible Dirent interface for Windows.), interpreter and unit test fully passed.
The build command with MSVC as follows:
set path=%path%;C:\work\ngraph\source\ngraph\build\src\ngraph\Release
cmake .. -G "Visual Studio 15 2017 Win64" -DGIT_EXECUTABLE="C:\Program Files\Git\cmd\git.exe" -DNGRAPH_CPU_ENABLE=OFF -DNGRAPH_DEX_ONLY=ON
msbuild "ngraph.sln" /t:Rebuild /p:Configuration=Release /m

Supersceded by #2394


Adds beartype-generated lines (no cash) to linecache

Allows for debugger visibility in many contexts. (This won't work in VSCode, but that's on Microsoft, not us.) @TeamSpen210 did the heavy lifting on this (see #84). I just typed it in.
Fixes #85.

@TeamSpen210 did the heavy lifting here (see #84). I just typed it in.
So this is neat:
# test.py
from beartype import beartype, BeartypeConf

@beartype(conf=BeartypeConf(is_print_wrapper_code=True))
def foo(i: int) -> str:
    breakpoint()
    return str(i)

print(foo(0))

python test.py
(line 0001) def foo(
(line 0002)     *args,
(line 0003)     __beartype_func=__beartype_func, # is <function foo at 0x106c249d0>
…
(line 0041)             )
(line 0042)
(line 0043)     return __beartype_pith_0
> /…/test.py(7)foo()
-> return str(i)
(Pdb) bt
  /…/test.py(9)<module>()
-> print(foo(0))
  <@beartype(foo) at 0x106c249d0>(29)foo()
-> __beartype_pith_0 = __beartype_func(*args, **kwargs)
> /…/test.py(7)foo()
-> return str(i)
(Pdb) u
> <@beartype(foo) at 0x106c249d0>(29)foo()
-> __beartype_pith_0 = __beartype_func(*args, **kwargs)
(Pdb) l
 24                     pith_value=__beartype_pith_0,
 25                 )
 26
 27         # Call this function with all passed parameters and localize the value
 28         # returned from this call.
 29  ->     __beartype_pith_0 = __beartype_func(*args, **kwargs)
 30
 31         # Noop required to artificially increase indentation level. Note that
 32         # CPython implicitly optimizes this conditional away. Isn't that nice?
 33         if True:
 34             # Type-check this passed parameter or return value against this
(Pdb) c
0

I have no idea what that error is about. 😕

This so hot. Plentiful bear hugs to the crack commando squad that made this happen. What cannot @posita and @TeamSpen210 do when their formidable powers combine? We are now finding out.
I'd better merge this ASAP before I accidentally break everything by drunkenly stumbling back into the utilfuncmake submodule on a frostbitten Saturday evening. Three questions for the restless crowd angrily thumping the armrests of their La-Z-Boys:

The option name is_print_wrapper_code. It is verbose, overly specific, and I already grow weary of seeing it everywhere. But laziness prevails, because I else have yet to release beartype 0.10.0 or publicly document anything. This PR generalizes that option to also cache that code for debuggability – which is great, because debuggability was the entire point of that option. Right? You are now wondering: "Where is the question we were promised." Okay, already! Down, angry rabble! Down! The question is:

Should we just name this option is_debug instead? My initial reasoning for that name was that we'd have different kinds of debugging options – like, say, is_log_wrapper_code or is_linecache_wrapper_code. That now seems like gross overkill. If anyone furiously demands deeper debugging options, we can always define those later. So... is_debug? Thumbs up? Facepalm? Double facepalm, even? :grimacing:

Kinda afraid to ask what's going on down below, but gonna ask anyway. What's going on down below? ↓

        finalize(func, lambda: linecache.cache.pop(linecache_file_name, None))

This seem kinda sus and I am squinting af:

       linecache_file_name = f"<@beartype({func_name}) at {id(func_wrapped):#x}>"
       ...

       # FIXME: Do we need a loop here to avoid name clashes (a la
        # _make_method in
        # <https://github.com/python-attrs/attrs/blob/main/src/attr/_make.py>)?
        # Probobably unlikely, but there is this (from
        # <https://docs.python.org/3/library/functions.html#id>): "Two objects
        # with non-overlapping lifetimes may have the same id() value."
        linecache.cache[linecache_file_name] = (  # type: ignore[assignment]

As you astutely note, object IDs are technically ambiguous across the lifecycle of a Python process. Since we can't disambiguate on that, let's disambiguate on the func_name instead! Specifically, let's conditionally expand the assignment of linecache_file_name to prefer a fully-qualified function name cobbled together from the passed wrapper function if passed: e.g.,
       func_full_name = (
           f'{func_wrapped.__module__}{func_wrapped.__name__}
           if func_wrapped else
           func_name
       )
       linecache_file_name = f"<@beartype({func_full_name}) at {id(func_wrapped):#x}>"

Since @beartype always passes the currently decorated callable as the func_wrapped parameter to make_func, this should have the intended effect of disambiguating cache entries on fully-qualified callable names – which should be fully disambiguous across the lifecycle of a Python process (assuming no shenanigans, because let's not even go there, because my forehead capillary is already bursting out).

On is_debug

Should we just name this option is_debug instead? My initial reasoning for that name was that we'd have different kinds of debugging options – like, say, is_log_wrapper_code or is_linecache_wrapper_code. That now seems like gross overkill. If anyone furiously demands deeper debugging options, we can always define those later. So... is_debug? Thumbs up? Facepalm? Double facepalm, even? 😬

My vote is double secret probation triple-lindy thumbs up. #90 is up to see what that looks like. If that works for you, I can rebase this PR onto that one.
On finalize

Kinda afraid to ask what's going on down below, but gonna ask anyway. What's going on down below? ↓

        finalize(func, lambda: linecache.cache.pop(linecache_file_name, None))

You are right to inquire. Your allusion to La-Z-Boys could describe me in ~writing that~ obfuscating what was going on there. I have attempted to make it a bit more accessible. I'll reproduce that attempt here:
        # Define and register a cleanup callback for removing func's linecache
        # entry if func is ever garbage collected.
        def remove_linecache_entry_for_func():
            linecache.cache.pop(linecache_file_name, None)

        finalize(func, remove_linecache_entry_for_func)

Regarding uniqueness of file names
I like your proposal and adopted it with vigor (and added a comment).
Side trip: Should "exec" be "single" instead? Does it matter?
Regarding this…
        #FIXME: Should "exec" be "single" instead? Does it matter? Is there any
        #performance gap between the two?

While I was messing with all of this, I figured I'd try to answer that because I was curious myself. In my superficial testing, "exec" is at worst about 1 µs slower than "single", so not really a performance issue.
Here's my IPython test script:
# foo.ipy
code = """
class Foo:
  def __init__(self):
    self._foo = foo(1)
  @property
  def foo(self) -> int:
    return int(self._foo)
"""
%timeit compile(code, "foo.py", "exec")
%timeit compile(code, "foo.py", "single")

These are typical for my laptop:
% ipython foo.ipy
38.9 µs ± 307 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)
37.4 µs ± 444 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)
% ipython foo.ipy
38.5 µs ± 454 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)
39 µs ± 1.32 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)
% ipython foo.ipy
40.6 µs ± 1.39 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)
39.8 µs ± 1.13 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)

The only other reason I could think of to use "single" is that it acts as a "safeguard" of sorts by limiting the generated code to defining a single thing. For example, "single" will fail on the following, where "exec" won't:
class Foo:
  def __init__(self):
    self._foo = foo(1)
  @property
  def foo(self) -> int:
    return int(self._foo)
def foo(a: int) -> str:  # <-- "single" will see this second thing as a syntax error
  return str(a)

I removed your FIXME and kept the "exec", but let me know if I should change it to "single" and/or add a comment explaining any reasoning.

weakref.finalize() is a tool which uses the weakref system to effectively add on a __del__() method to an object - it stores a callable, when the object dies it gets called. So this ensures if the original function is deleted (say you're beartyping a closure, perhaps?) we go and try to clear the linecache entry. pop's desirable to ensure if someone else cleared the cache or something it doesn't error.
Ah, ninjaed.

Rebased in light of #90 landing.

When a brilliance is so bright that it caustically sears itself into the mucosal lining of the back of your retinas, it's a safe bet @posita and @TeamSpen210 teamed up yet again to radically transform our humble backwater world into the utopian Niven ring of tomorrow, today.
Thanks sooo much for the tremendous contribution. Hot off the presses:

Crack :bear: Squad Crushes Another Tough Nut.


[Error] No such file or directory App_Controller_IndexController.proxy.php

Before you submit this issue, you has been search all existed issues and search the documentation

[x] I've been search all existed issues
[x] I've been read all documentation

Describe your question
The server workers are running well, but I get this error when making any request.
[DEBUG] Event Hyperf\Framework\Event\BeforeMainServerStart handled by Hyperf\Process\Listener\BootProcessListener listener.
[INFO] Worker#0 started.
[INFO] Worker#3 started.
[INFO] HTTP Server listening at <IP_ADDRESS>:9501
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[INFO] Worker#1 started.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\OnStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\OnManagerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[INFO] Worker#2 started.
[INFO] Worker#4 started.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[ERROR] include(/opt/www/runtime/container/proxy/App_Controller_IndexController.proxy.php): Failed to open stream: No such file or directory[582] in /opt/www/vendor/composer/ClassLoader.php
[ERROR] #0 /opt/www/vendor/composer/ClassLoader.php(582): Hyperf\ExceptionHandler\Listener\ErrorExceptionHandler::Hyperf\ExceptionHandler\Listener\{closure}()
#1 /opt/www/vendor/composer/ClassLoader.php(582): include()
#2 /opt/www/vendor/composer/ClassLoader.php(433): Composer\Autoload\{closure}()
#3 [internal function]: Composer\Autoload\ClassLoader->loadClass()
#4 /opt/www/vendor/hyperf/di/src/Definition/DefinitionSource.php(120): class_exists()
#5 /opt/www/vendor/hyperf/di/src/Definition/DefinitionSource.php(38): Hyperf\Di\Definition\DefinitionSource->autowire()
#6 /opt/www/vendor/hyperf/di/src/Container.php(175): Hyperf\Di\Definition\DefinitionSource->getDefinition()
#7 /opt/www/vendor/hyperf/di/src/Container.php(65): Hyperf\Di\Container->getDefinition()
#8 /opt/www/vendor/hyperf/di/src/Container.php(116): Hyperf\Di\Container->make()
#9 /opt/www/vendor/hyperf/http-server/src/CoreMiddleware.php(136): Hyperf\Di\Container->get()
#10 /opt/www/vendor/hyperf/http-server/src/CoreMiddleware.php(92): Hyperf\HttpServer\CoreMiddleware->handleFound()
#11 /opt/www/vendor/hyperf/dispatcher/src/AbstractRequestHandler.php(44): Hyperf\HttpServer\CoreMiddleware->process()
#12 /opt/www/vendor/hyperf/dispatcher/src/HttpRequestHandler.php(26): Hyperf\Dispatcher\AbstractRequestHandler->handleRequest()
#13 /opt/www/vendor/hyperf/dispatcher/src/HttpDispatcher.php(34): Hyperf\Dispatcher\HttpRequestHandler->handle()
#14 /opt/www/vendor/hyperf/http-server/src/Server.php(83): Hyperf\Dispatcher\HttpDispatcher->dispatch()
#15 {main}

ENV:
# php -v
PHP 8.0.27 (cli) (built: Feb  7 2023 11:33:58) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.27, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.27, Copyright (c), by Zend Technologies

# php -i | grep swoole
/etc/php/8.0/cli/conf.d/25-swoole.ini,
swoole
Author => Swoole Team<EMAIL_ADDRESS>swoole.display_errors => On => On
swoole.enable_coroutine => On => On
swoole.enable_library => On => On
swoole.enable_preemptive_scheduler => Off => Off
swoole.unixsock_buffer_size => 8388608 => 8388608
swoole.use_shortname => Off => Off

# php -m
[PHP Modules]
apcu
bcmath
calendar
Core
ctype
curl
date
dom
exif
FFI
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
igbinary
intl
json
libxml
mbstring
memcached
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
protobuf
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
standard
swoole
sysvmsg
sysvsem
sysvshm
tidy
tokenizer
uuid
xml
xmlreader
xmlwriter
xsl
yaml
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

Please help.

composer dump-autoload -o


PTTB 15 frontend prefilled name when one clicks invitation link

changes done

@Promise267 Has the backend changed the invited URL for signup?

@Promise267 Has the backend changed the invited URL for signup?

Yes, they have done the changes.


CAMEL-10711: Added automatic source roots addition in api maven plugin

A property has been added: addCompileSourceRoots to automatically make generated source directory available in compilation phases.
Available values are:

source: adds both generatedSrcDir and generatedTestDir as compile source roots
test: adds both generatedSrcDir and generatedTestDir as test compile source roots
all: adds generatedSrcDir to compile source roots and generatedTestDir as test compile source roots
none: do not add generated directories at all

The default value is all.
The integration test all-it has been modified to remove build-helper-maven-plugin

Oh I think a new commit is fine

Thanks for the PR it has been merged. Do you mind closing this?


General: Apply filters to next relevant exercise

Checklist
General

[ ] I tested all changes and their related features with all corresponding user types on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Client

[x] I followed the coding and design guidelines.
[x] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
[x] I documented the TypeScript code using JSDoc style.
[x] I added multiple screenshots/screencasts of my UI changes.

Motivation and Context

The filters of the course exercise view are currently not applied to the next relevant exercise shown at the top.

Description

This PR applies the filter to the selection algorithm of the "next relevant exercise" as well by only selecting from those exercises that fulfill the selected filter.
Steps for Testing

Prerequisites:

1 Student
A few exercises in different, filterable stages: Optional, with full points, ... that are candidates to appear as next relevant exercise

--> Select and deselect filters from the filter dropdown and make sure that only exercises that fulfill the currently selected filters appear as "next relevant exercise".
Review Progress

Code Review

[ ] Review 1
[ ] Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Test Coverage

Class/File
Branch
Line

course-exercises.component.ts
77.98%
98.81%

Screenshots

https://user-images.githubusercontent.com/23171488/161756203-2f6a2b82-d99d-4aab-bbd9-577068ea001c.mov

I am not sure if this is introduced by this change here but when I try the testing steps multiple times, the next relevant exercise sometimes behaves weirdly and set to seemingly random values. Sometimes it happens with a few filter toggles and sometimes you need to spam the filter toggles to observe it. I posted a screen record below.
https://user-images.githubusercontent.com/18427209/161854146-dfd6e782-6e2a-4842-951f-c8f4b7e0814d.mp4

@akesfeden Interesting catch. It was not introduced by this PR, but I included a fix anyways in ad6094c. :)

While testing the latest changes on TS3, I noticed another weird behavior when toggling the hide optional filter. It appears the filter is applied correctly, however the optional tag as well as the due date are not refreshed for the current exercise component. Can someone reproduce this?
https://user-images.githubusercontent.com/9954674/161993368-755375ea-73dd-4128-880b-d356cff811cb.mov

@maximiliansoelch Seems like this is because a lot of components used in the exercise row initialized their state in ngOnInit, but do not react to changes in their data inputs. I tried to fix that in cf1ba92. Could you please try if you can still observe that behavior?

Now it works like intended 👍

@akesfeden @maximiliansoelch Any chance I could get a green checkmark from you guys? :D


Run all tests declared with .only, not just the last one

At the moment, if multiple tests are declared with describe.only or it.only, mocha will only run the last one it finds.
It would be much more useful if mocha would run all tests declared with .only. I regularly want to run a few selected tests, or check another test in addition to the one I am currently working on.
Also, with the current behaviour it is impossible to select some tests when they are generated. Consider:
function test(mode) {
    it.only('should do something with mode', function () {
        assert(foobar(mode));
    });

    // many more tests
}

describe('foobar', function () {
    test('foo');
    test('bar');
});

This will only run the test for 'bar'. It is impossible to select just 'foo'. It would be much more useful to run all of them.
Thanks.
Related: #1060, #1676

+1

There is a PR that implements this for this #1591 awaiting merge for 3.0

closing this since #1591 should address it


perf: Hashing account stage, full state

It got optimized by around two times.
old way
draganrakita@192 reth % cargo bench --package reth-stages --bench criterion --features test-utils AccountHashing
   Compiling reth-stages v0.1.0 (/Users/draganrakita/workspace/reth/crates/stages)
    Finished bench [optimized] target(s) in 3.81s
     Running benches/criterion.rs (target/release/deps/criterion-f89f26f1148427ff)
Stages/AccountHashing   time:   [65.045 ms 65.161 ms 65.277 ms]
                        change: [+112.26% +113.86% +116.03%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 1 outliers among 10 measurements (10.00%)
  1 (10.00%) high severe

new way
    Finished bench [optimized] target(s) in 5.10s
     Running benches/criterion.rs (target/release/deps/criterion-f89f26f1148427ff)
Stages/AccountHashing   time:   [31.141 ms 31.366 ms 31.668 ms]
                        change: [-52.099% -51.767% -51.443%] (p = 0.00 < 0.05)
                        Performance has improved.
 Check this commit to see where prints were places: https://github.com/paradigmxyz/reth/commit/4e3249ceced9c92d35222c9b724e599b92e78b16

Codecov Report

Merging #2077 (4bebe8e) into rakita/block_meta (7dfd995) will decrease coverage by 54.88%.
The diff coverage is 0.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@                  Coverage Diff                   @@
##           rakita/block_meta    #2077       +/-   ##
======================================================
- Coverage              72.16%   17.28%   -54.88%
======================================================
  Files                    434      434
  Lines                  53191    53205       +14
======================================================
- Hits                   38383     9196    -29187
- Misses                 14808    44009    +29201

Flag
Coverage Δ

integration-tests
17.28% <0.00%> (-2.08%)
:arrow_down:

unit-tests
?

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

Impacted Files
Coverage Δ

crates/stages/src/stages/hashing_account.rs
0.00% <0.00%> (-87.35%)
:arrow_down:

... and 309 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

ah oops i merged it on the other branch. i guess it's fine.

ah oops i merged it on the other branch. i guess it's fine.

It is fine, the other branch is ready to be merged.


Native support for esm clients

Attempting to import from express from an esm package, does not currently work:
import express from "express";

Taking a look at express's root index.js reveals:
module.exports = require('./lib/express');

this is not compatible with esm clients. The client needs to use the esm require workaround, but the user may not be aware of what this is. Eg, I am currently using rollup/typescript in an esm module and attempted to import express and was faced with a confusing error message that did not accurately reflect the problem at hand:
[16:21:47] Error: Unexpected token (Note that you need @rollup/plugin-json to import JSON files)
    at error (file:///home/plastikfan/dev/tutorials/auth0/auth0-node-express-tut/node_modules/rollup/dist/es/shared/rollup.js:10332:30)
    at Module.error (file:///home/plastikfan/dev/tutorials/auth0/auth0-node-express-tut/node_modules/rollup/dist/es/shared/rollup.js:12251:16)
    at Module.tryParse (file:///home/plastikfan/dev/tutorials/auth0/auth0-node-express-tut/node_modules/rollup/dist/es/shared/rollup.js:12654:25)
    at Module.setSource (file:///home/plastikfan/dev/tutorials/auth0/auth0-node-express-tut/node_modules/rollup/dist/es/shared/rollup.js:12557:24)
    at ModuleLoader.addModuleSource (file:///home/plastikfan/dev/tutorials/auth0/auth0-node-express-tut/node_modules/rollup/dist/es/shared/rollup.js:22021:20)

The user needs to esm require instead (but really ought not to):
import { createRequire } from "module";
const require = createRequire(import.meta.url);
const express = require("express");

Now that esm is becoming established it would be good for express to get onboard the esm bandwagon and natively support it for a better developer exprience.

Hi @plastikfan sorry for any confusion. Our readme and website should have it documented how you import express, which is with require() and not import. I'm not sure where it would have indicated the use of import.
As far as adding it, I don't see any issue with adding suport, but I am not familiar with how one would do so. Would you be willing to make a pull request that adds the import in addition to our current require()?

Hi @dougwilson, I do have some idea, let me investigate further, I would love the opportunity to contribute to this repo, cheers for now.

Hey, @plastikfan -- I'm not sure if using express@^5 is within capabilities for your project, but I made a little example with the following merge request.

Thanks @Segmentational ill take a look

Actually I realised that I had done something wrong in my application using the rollup bundler, which was the real problem, so I am going to close this issue. The problem was caused by the bundling process of rollup. I am eusing rollup to bundle all code with the package, but not 3rd party dependencies. I forgot to add express to the "externals" entity in the rollup config, which is what caused the error I reported on originally. With the correct config, the normal import (import express from "express";) does indeed work. The error message in Rollup was not particularly helpful.

Yeah I remember using import express from "express" just fine on vanilla JS.


Small typo, "deloymentScope"

On the 6th step of this section: https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-tutorial-use-azure-pipelines#create-a-pipeline .
There's an small typo that says "deloymentScope", it should be of course "deploymentScope"

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

ID: fa682661-7e1c-e9d5-336d-5b745f3157eb
Version Independent ID: 1cbb18e8-8c5f-b2a8-4def-36ed187beab5
Content: Continuous integration with Azure Pipelines - Azure Resource Manager
Content Source: articles/azure-resource-manager/templates/template-tutorial-use-azure-pipelines.md
Service: azure-resource-manager
Sub-service: templates
GitHub Login: @mumian
Microsoft Alias: jgao

@saulcp95 Good observation. Thanks for the feedback. I will correct it and update you soon.

@saulcp95 Verified and updated the document as required. Thanks.


Browser Example Broken

Observed:

Expected:

Notes:
trunk gives the above "observed" screenshot. The "expected" screenshot is given with 0.4.0-beta2 and this diff (else compilation fails):
diff --git a/examples/browser/toolbar.rs b/examples/browser/toolbar.rs
index b4416dd..f3bcf68 100644
--- a/examples/browser/toolbar.rs
+++ b/examples/browser/toolbar.rs
@@ -35,12 +35,12 @@ impl BrowserToolbar {
         let back_button = Button::new("Back");
         let mut back_item = ToolbarItem::new(BACK_BUTTON);
         back_item.set_button(back_button);
-        back_item.set_action(|| Action::Back.dispatch());
+        back_item.set_action(|_| Action::Back.dispatch());

         let forwards_button = Button::new("Forwards");
         let mut forwards_item = ToolbarItem::new(FWDS_BUTTON);
         forwards_item.set_button(forwards_button);
-        forwards_item.set_action(|| Action::Forwards.dispatch());
+        forwards_item.set_action(|_| Action::Forwards.dispatch());

         let url_bar = TextField::with(URLBar);
         let url_bar_item = ToolbarItem::new(URL_BAR);

https://github.com/ryanmcgrath/cacao/pull/30 appears to be the commit that breaks the browser example.

Hmmm, are you saying that the webview isn't loading anything, or that back doesn't work?
And what version of macOS are you testing against...?

Hmmm, are you saying that the webview isn't loading anything, or that back doesn't work?

The webview is not loading anything (the second screenshot is from the latest release).

And what version of macOS are you testing against...?

$ sw_vers
ProductName:		macOS
ProductVersion:		14.5 # Sonoma 14.5
BuildVersion:		23F79

$ uname -a
Darwin ok.local 23.5.0 Darwin Kernel Version 23.5.0: Wed May  1 20:17:33 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T6031 arm64

Hmmm, might be down to a difference in obj/objc2. @madsmtm might know more, otherwise I'd have to find time to dig in - and I'll be busy + traveling the next two weeks.
If you wanted to tinker and debug, a webview not loading sounds like something not getting retained somewhere - either the webview itself, or the webview's delegate. It's where I'd start looking at least.

Glad to take a deeper dive in case you have any rough ideas and would enjoy any support.
I have taken a cursory look at the changes to webview between trunk and 0.4.0-beta2 https://github.com/ryanmcgrath/cacao/compare/0.4.0-beta2..trunk, but nothing major jumps out.

If you wanted to tinker and debug, a webview not loading sounds like something not getting retained somewhere - either the webview itself, or the webview's delegate. It's where I'd start looking at least.

Agreed regarding retainment. I'm not sure if meaningful, but I did see some differences in the webview configuration after objc2 was introduced; i.e. a "strong pointer" against 0.4.0-beta2 but something different against trunk:

It's not clear to me without more studying if this is meaningful.

Indeed perhaps @madsmtm may have some thoughts...

The old StrongPtr is the same as the objc2::rc::Id, there's no difference there. The issue is indeed very likely that something that was previously (erroneously) leaked is now no longer getting retained long enough.
If you could put your code up somewhere, then it'd be easier to diagnose? Otherwise, I'd suggest to try sprinkle std::mem::forget(obj) in various parts of your code.


Added my Linearsearch code( in java ) file

I did Linearsearch Algorithm using java kindly approve my PR

Hey Pal 😄
Thankyou for your contribution
Code already exist, hope to see more of your contributions
Happy Coding !

Hi there! I didn't know that this code was already exist.
I just saw that issue and sent PR.
Then what algorithm should I send which is not existing one?
On Sun, Oct 9, 2022, 1:23 PM Aniz B N @.***> wrote:

Closed #61 https://github.com/4N1Z/Sorting-Searching-Algorithms/pull/61.
—
Reply to this email directly, view it on GitHub
https://github.com/4N1Z/Sorting-Searching-Algorithms/pull/61#event-7549025947,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3PJWYY75J55SYFP2JLDFDLWCJ2WNANCNFSM6AAAAAARASMJSU
.
You are receiving this because you authored the thread.Message ID:
@.***
com>


I can install

Specifications

ORCHID Version: 12.08
Laravel Version: 7.9

Other Notes
test bot.

@ALYONA48 Greetings! Thanks for taking the time to open this issue. :thumbsup:
In order for the community to handle your issue effectively, we need a bit more information.
Here are the items we could not find in your description:

PHP Version
Database Version

I collected similar queries for you, is there any solution :question:

I can install [0]
I can not install [1]
Can't install platform [2]
Installer doesn't create tables [3]
Install [2]

I am a robot. Do not take me seriously.  :blush:


Parallel execution is broken

Description

The execution space identity set with the "execution_space_instructions" does not see to register properly in redis and as such the etos_test_runner is met with 404 errors when starting.
Motivation

Parallel execution is a big selling point of ETOS and it must work.
Exemplification

ETOS is more or less broken at the moment.
Benefits

ETOS would not be broken.
Possible Drawbacks

None

The instruction identifier that is stored in redis is not unique per sub suite, meaning that only one sub suite is registered properly.
The instruction identifier is properly passed to ETR via the "$expand_value.instructions" notation


Update default-cache-behavior.md

This statement is in conflict with OCC:
https://developers.cloudflare.com/cache/concepts/cache-control/#:~:text=Presence of Authorization header The presence of Authorization may be cached.

Thank for your PR @seaneustace This change will be addressed in https://github.com/cloudflare/cloudflare-docs/pull/11359


[cloud] script to stand up initial required infra (mostly IAM roles)

Required stuff

users
user groups
IAM role (deploy)
maybe some others
KMS keys for sops?
role to access SOPS kms key?

maybe switch from python script to terraform, separate from the regular stack
maybe under deployment/account_setup or something? or separate repo if it's generalizable?
maybe move KMS setup stuff to the regular infra instead

would need to make tofu owns the already-created keys now


Shorten five more CI task names

Now that we know how to do it, let's go whole hog...
Inspired by suggestions from Chris Evich on #5387
Signed-off-by: Ed Santiago<EMAIL_ADDRESS>

Doesn't look like it worked. There's some funky interaction between name and foo_task and matrix. Not going to worry about it tonight.


If app is deployed on non-root path then aud mismatch will cause auth fail

The audience expected by flask-bitjws should take the spec's "basepath" argument into account. For instance, an app deployed on /v3/ will incorrectly throw errors like this one:
InvalidPayload: audience does not match (/setcallback != /v3/setcallback)

wrong repo


Remove potential endless loop, and cleanup Core trait a bit.

This removes a potential endless loop, which could have happened in the reset_and_halt function, which was waiting for the core to reset without a timeout.
All functions in the Core trait which halt the core now return the CoreInformation struct, to make the interface more consistent. The CoreInformation struct is also renamed from CpuInformation, and placed next to the Core trait, where it is actually used.

LGTM!


Use Strange Stalagmite for leveling

Thanks Irrat for putting in this mafia PR to set the pref correctly!

Thanks!


A problem occurred evaluating root project 'flutter_image_compress'. > Plugin with id 'com.android.library' not found.

A problem occurred evaluating root project 'flutter_image_compress'.

Plugin with id 'com.android.library' not found.

see this issues. https://github.com/OpenFlutter/flutter_image_compress/issues/92

Got the same issue.

Got the same issue.

Please submit new issues if it persists.


Sophia dev

@sophiaquach16 Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.


LPAL-573 Make IAM roles global in environment

Purpose
Briefly describe the purpose of the change, and/or link to the JIRA ticket for context
Fixes LPAL-####
Approach
Explain how your code addresses the purpose of the change
Learning
Any tips and tricks, blog posts or tools which helped you. Plus anything notable you've discovered about the LPA service
Checklist

[x] I have performed a self-review of my own code
[ ] I have updated documentation (Confluence/GitHub wiki/tech debt doc) where relevant
[ ] I have added tests to prove my work
[ ] I have added mandatory tags to terraformed resources, where possible
[ ] If I have a new OPG component dependency, I have updated the metadata.json with the repo location.
[ ] If I added a package.json or composer.json, I also made sure this is included in the script in .github/workflows/dependabot-update.yml
[ ] The product team have tested these changes

Required Terraform state changes
Environment state:
tf state rm module.eu-west-1.aws_iam_role.admin_task_role
tf state rm module.eu-west-1.aws_iam_role.api_task_role
tf state rm module.eu-west-1.aws_iam_role.cloudwatch_events_ecs_role
tf state rm module.eu-west-1.aws_iam_role.execution_role
tf state rm module.eu-west-1.aws_iam_role.feedbackdb_task_role
tf state rm module.eu-west-1.aws_iam_role.front_task_role
tf state rm module.eu-west-1.aws_iam_role.pdf_task_role
tf state rm "module.eu-west-1.aws_iam_role.seeding_task_role[0]"
tf state rm module.eu-west-1.aws_iam_role_policy.ecs_events_run_task_with_any_role
tf import aws_iam_role.admin_task_role preproduction-admin-task-role
tf import aws_iam_role.api_task_role preproduction-api-task-role
tf import aws_iam_role.cloudwatch_events_ecs_role preproduction-cloudwatch_events_ecs_cron
tf import aws_iam_role.execution_role preproduction-execution-role-ecs-cluster
tf import aws_iam_role.feedbackdb_task_role preproduction-feedbackdb-task-role
tf import aws_iam_role.front_task_role preproduction-front-task-role
tf import aws_iam_role.pdf_task_role preproduction-pdf-task-role
tf import "aws_iam_role.seeding_task_role[0]" preproduction-seeding-task-role
tf import aws_iam_role_policy.ecs_events_run_task_with_any_role "preproduction-cloudwatch_events_ecs_cron:terraform-20220720161137850800000001"
Account state:
tf state rm aws_cloudwatch_log_group.online-lpa
Region Terraform state:
tf import module.eu-west-1.aws_cloudwatch_log_group.online-lpa online-lpa


translations().translate() incorrectly creates request body

I'm attempting to use the services.translation().translate() call, but was running into problems with the request that is generated being formatted incorrectly.  I've solved the issue for myself with a subclassed HttpRequest that alters the body parameter.
from googleapiclient.discovery import build
from googleapiclient.http import HttpRequest
from googleapiclient.errors import HttpError

class myHttpRequest(HttpRequest):
    def __init__(self, http, postproc, uri, method=u'GET', body=None, headers=None, methodId=None, resumable=None):
        super(myHttpRequest, self).__init__(http, postproc, uri, method=method, body=body, headers=headers, methodId=methodId, resumable=resumable)
        self.headers[u'Referer'] = REFERER_DOMAIN_SPECIFIED_FOR_MY_KEY
        self.headers[u'User-Agent'] = MY_HTTPREQUEST_USER_AGENT

service = build(u'translate', u'v2', developerKey=MYKEY, requestBuilder=myHttpRequest)

x = service.translations().translate(body={'target':'en', 'q':[u'hola mundo', u'hallo welt']})
x.execute()

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/googleapiclient/http.py", line 840, in execute
    raise HttpError(resp, content, uri=self.uri)
googleapiclient.errors.HttpError: <HttpError 400 when requesting https://translation.googleapis.com/language/translate/v2?alt=json&key=MYKEY returned "Missing required field target">

x.body is set to {"data": {"q": ["hola mundo", "hallo welt"], "target": "en"}}
My existing solution alters my subclassed HttpRequest to this:
class myHttpRequest(HttpRequest):
    def __init__(self, http, postproc, uri, method=u'GET', body=None, headers=None, methodId=None, resumable=None):
        if body and body.startswith('{"data": '):
            body = body[9:-1]
        super(myHttpRequest, self).__init__(http, postproc, uri, method=method, body=body, headers=headers, methodId=methodId, resumable=resumable)
        self.headers[u'Referer'] = REFERER_DOMAIN_SPECIFIED_FOR_MY_KEY
        self.headers[u'User-Agent'] = MY_HTTPREQUEST_USER_AGENT

What I'm doing here is simply getting rid of the surrounding "data" in the x.body string.  The execute method called elsewhere will then set the requests body_size and other headers appropriately.
Obviously, this is not a particularly elegant solution, but it solves the problem for me.  Am I using the HttpRequest incorrectly or doing something else wrong?  Is there a better way to use this call?  All of the examples of this library that I've found online seem to use the list() call rather than the translate() call.

For future references, this works:
service.translations().list(     source='es',     target='en',     q=[u'algo en español'] )
For some reason service.translations().translate() does not.

For future references, this works:
service.translations().list(
    source='es',
    target='en',
    q=[u'algo en español']
)

For some reason service.translations().translate() does not.

Thanks! This worked for me too - it's unclear why list() performs translation successfully, but translate() seems to complain about "Missing required field target".


Added Ragdoll Gravity

Description:

Added Ragdoll Gravity
Benefits of this PR and context:

new feature? :kekw:
Source / References:

p if/else statements


Add FunctionTypeDesc completion items to ReturnTypeDescriptor context

Purpose
To provide function type desc related completions when the cursor is positioned in a return type desc context.
Fixes #30555
Approach
Route and get completions related to function type desc if the return type descriptor node's  type is function type desc
Samples

Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[x] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[x] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Closed as the fix has to be done at parser level


Don't let unexpected command output encoding raise an exception

Signed-off-by: James Couball<EMAIL_ADDRESS>Your checklist for this pull request
🚨Please review the guidelines for contributing to this repository.

[x] Ensure all commits include DCO sign-off.
[x] Ensure that your contributions pass unit testing.
[x] Ensure that your contributions contain documentation if applicable.

Description
ruby-git relies on shelling out to the git command to interact with a git repository.  When the git command has output that is not in the default Ruby encoding (usually UTF-8), ruby-git may raise an exception when the string containing the command output is used.
This change makes ruby-git check if the command output string contains any invalid code points and if it does, attempts to guess at the actual encoding of the command output on a line-by-line basis.  Each line is converted from the actual encoding to Ruby's default encoding (usually UTF-8).  Unknown code points are replaced by a special character.
This solution contrasts with PR #404 which simply tries to replace all invalid code points with a special character using String#scrub.
Background
git diff (and other git commands) can have output that has mixed encodings.  Not only does git output its own text in the default system/shell encoding, but when text from a repository file is output, it is not in any particular encoding: git just passes the bytes from the file to the output. These files are stored in whatever encoding the user wrote them in.
In Ruby, popen and backtick collect the output from the command they run as bytes.  They shove these bytes into the string returned.  They make no attempt to guess the actual encoding of the string returned.
In later versions of Ruby (maybe 1.9+), the encoding of the string returned from popen or backtick is ALWAYS set to Encoding.default_external.  This is usually ‘UTF-8’.  Ruby uses the value of the command locale charmap for the initial value of Encoding.default_external.  popen and backtick use this encoding even though the actual encoding of the command output is not known.
The bottom line is that the actual encoding of the string returned from popen or backtick is unknowable.  Sometimes it is a happy coincidence that the actual encoding matches what is retuned by String#encoding.  When Encoding.default_external is ‘UTF-8’ this coincidence happens more often than not.
I think the best that can be done is to sanitize the command output as it is read in Git::Lib#run_command in an attempt to “guard the gates”.  That way the rest of the code in this gem can assume the command output has a valid encoding and avoid unexpected exceptions being raised.
What has changed?

git.gemspec: added a runtime dependency on rchardet to guess the encoding of command output in the case where the command output contains invalid code points.
lib/git/lib.rb: change Git::Lib#run_command to ensure that the string that collects command line output is converted to the String encoding used by Ruby and only has valid code points for that encoding.
lib/git/diff.rb: remove encoding handling since this is now handled in Git::Lib#run_command
tests/units/test_diff_non_default_encoding.rb: Added two tests: (1) diff changes to a file that has iso-8859-7-greek encoding and (2) diff changes to a file where the encoding was changed from euc-jp-japanese to euc-kr-korean
tests/files/encoding/**/*: a repository used in the tests above

Any chance of seeing this merged? Just ran into this, and we've resorted to forking the repo and keeping this branch up-to-date

Getting the same issue too. It's affecting Danger from being able to get the list of changed files when one of the changed files (correctly) contains invalid UTF-8.

I would also like to see this fixed, as we are running into the same problem.

👍 for seeing this merged sooner rather than later.

@tarcinil / @perlun ? Pretty please!

So what can we do about it? Also, rchardet has some Snyk Vulnerability reported.

@Kaspik

So what can we do about it?

We can kindly ask @jcouball to see if there are other ways to achieve (reasonably) the same goal without the added rchardet dependency.

Hello @perlun and @kaspik, sorry to take so long to respond.
I haven't had much luck finding a suitable replacement for rchardet.  The choices are very few and not very well maintained.
Also, I haven't found a vulnerability reported for rchardet here:
https://snyk.io/vuln/search?q=rchardet&type=rubygems
Is there somewhere else I should check?
Assuming that there is no vulnerability, would you accept this PR as is?  I could look into making the rchardet dependency optional... this might be good intermediate step to making this functionality default.
What do you think?

Sorry @jcouball, this time I'm the one who's being a bit slow here... 🙈

Assuming that there is no vulnerability, would you accept this PR as is? I could look into making the rchardet dependency optional... this might be good intermediate step to making this functionality default.

Maybe it's not the end of the world with this added dependency after all. If you rebase the MR, I'll approve it.

@jcouball Hey! Are you planning to rebase this PR? :)

Hello @perlun and @Kaspik, I have rebased this PR.

Thanks! Looks good to me, now it's up to @perlun :)

@perlun, can you please merge this?

@jcouball Approved, sorry for the unnecessary delay from my part. Please merge yourself so the commit history gets more correct.

@perlun, what is the plan / process to create a new release?

@perlun, what is the plan / process to create a new release?

There is not much of a "plan" at the moment unfortunately (I'm not actually using the gem myself any more), but the process is roughly this, using the release[remote] Rake task below:
$ rake -T
rake build            # Build git-1.5.0.gem into the pkg directory
rake clean            # Remove any temporary products
rake clobber          # Remove any generated files
rake install          # Build and install git-1.5.0.gem into system gems
rake install:local    # Build and install git-1.5.0.gem into system gems without network access
rake release[remote]  # Create tag v1.5.0 and build and push git-1.5.0.gem to rubygems.org
rake test             # Run Unit Tests

Inspired by this guide: https://bundler.io/v1.12/guides/creating_gem.html#releasing-the-gem, I'd describe the steps like this:

Bump the version number in lib/git/version.rb - definitely use Semantic Versioning here. Are we aiming for a 1.6 or 2.0 release here, WDYT?
Commit this change. If you have git-extras installed, you can do git release v1.6.0 or similar.
Run the rake release[remote] task - this presumes you are set up as a Rubygems maintainer for this gem.
Create a GitHub release for the new tag and add the changelog. This is typically created using changelog-rs which makes the process reasonably simple, as long as the commit messages are good enough and all branches are squash-merged into master.

@jcouball, if we can settle on a version number, I can probably help out with the actual release in this case. For bonus points, you could document the steps above in a file in the repo so we remember it until next time. (which makes things simpler for everybody)


MWPW-133818: Integration of interactive web components

Integration of interactive web components with change background feature
Resolves: MWPW-133818
Test URLs:
https://changebg2--cc--suhjainadobe.hlx.live/drafts/suhjain/interactive-marquee-excel

Please fix the lint issues

The linting issues are in Jeremy's library. Cannot handle them at my end


Generating Bias Matrix

I have performed an Umbrella Sampling analysis on a membrane system in gromacs. My collective variable is the distance of a small molecule from the center of a membrane. Using the pullf file generated from gromacs how would I go about generating the bias force matrix for each of my 80 US windows?

The units of my biassing forces are kJ/mol/nm^2 at 303.15 K so which conversion should be used to get them into the required units?


Update build tooling and migrate docker image

The docker image is being moved to gcr.io/cloudflare-registry. With the
move, the build tooling is being updated to more easily support
multi-arch builds with a published docker manifest.
fixes #56

@ntfrnzn Interested in taking a look? Its a bit more of a re-draft than I wanted, that said it does allow  a simple make -j3 cross to publish out all arch specific images and a manifest.


Determine instanceID policy

JSON mode originally had a strict uuid policy where non-json mode allowed anything. For now we're allowing anything, but let's discuss what policy should be applied. Some notes from slack convo:
@sanderpick: For example, ObjectIDs (in mongo) have a prefixed time component
@jsign: Maybe we can add an extra flag for ID validations... that might help for flexibility, and as a free solution to tests too

@sanderpick and @jsign I'd like to work on this. Seems easy other than just making the decision about id format. Either of you want to weigh in?
My only thoughts are that we should be able to provide a simple api for generating ids on the client side for cases where the developer wants to set their own id before creating the instance in the db. This would need to be the case no matter which language/platform it is.
UUID sounds good enough to me, but I think you guys may have better perspective on why adding additional information to the id could be useful.

@sanderpick  mentioned that the ID might have a prefixed time component.
That seems at least interesting for having some total-order by just ordering IDs. Of course, using timestamps from clients might be correct under particular assumptions, which the client should know about. Of course, it could put that timestamp as an independent attribute... but I guess that would mean creating a separate index, and so on.
No strings opinions from my part, just extending what I understood by that idea.

Some more info here: https://docs.mongodb.com/manual/core/document/#the-id-field
tl;dr, Mongo allows the user the use whatever they want, including UUID. However, if the user does not supply an value, an ObejctID is created. ObjectIDs are 12 bytes, prefixed with a timestamp for lexicographical sorting: https://docs.mongodb.com/manual/reference/method/ObjectId/#description
My vote is for something similar, but since our storage format is JSON (vs. BSON), we'd have to be clever about comparing the IDs for uniqueness.

Mongo can have some reasonable assumption about synchronized clocks to make lexicographical sorting a meaningful thing.
On a fully p2p use of DB I think that assumption doesn't hold, since a peer with a weird clock will break any kind of app logic that relies on that kind of sorting. Sounds like that feature would be good in some special cases in which DB is used in some kind of centralized-way.
We could bake-in the timestamp-prefix as the default, but that would mean putting some big-warning signs on docs to let people think about the safeness of using that for sorting depending on the context.

Currently with our UUID or any value ids, when you query data from the db with no order by, how is the data ordered? Random? Deterministic?

@jsign Mongo does let clients specify their own _id on the client side. So, I think the same limitation around distributed machines applies there. I guess the assumption is that it would be better than nothing.
In any case, I don't love having to come up with out our ID objects. As @carsonfarmer mentioned, https://github.com/ulid/spec sounds like a good alternative to UUID, which already has a sorting component.
+1 to letting the client be free, but falling back to some standard.

Yea having some default deterministic sort order is nice, and actually useful/meaningful in certain situations (which we can document). Agree with the better than nothing thing.

Currently with our UUID or any value ids, when you query data from the db with no order by, how is the data ordered? Random? Deterministic?

From a global perspective, I'd say the result aren't ordered. For a local client, I think they have ordering considering the order in which the create event was received (which is usually a meaningless order for an app).

@jsign Mongo does let clients specify their own _id on the client side. So, I think the same limitation around distributed machines applies there. I guess the assumption is that it would be better than nothing.

What I mean is that setting the default to have a timestamp-prefix might bake assumptions that would make sense in Mongo but not in DB.
The distributed setup in Mongo are clients that are owned by the same company running in a datacenter with some common clock synchronization protocol.
The distributed setup in DB are clients owned by different people, in different countries, and without assumptions of running clock sync protocols.
I wouldn't see both cases as having the same assumptions. So I'd guess something different, and this point might be involved in the decision. But just my guess that might be completely wrong.

Yea having some default deterministic sort order is nice, and actually useful/meaningful in certain situations (which we can document). Agree with the better than nothing thing.

Well, actually you can pretend to have something that might be useful. But if you can't use it safely most of the times, I'm not sure better than nothing is good advice for a default setup.
So, I think we all agree that it should be free... but maybe the default decision is what it seems I'm the only one disagreeing!

We can lean towards using something, say ulid (which I don't know much about) and then we can always reconsider things later!

Another feather in ulid's hat is that it is the same number of bytes as a uuid... so a future switch should be compatible.

Just to follow up here, is there anything mission critical going on with ID sort order? Or is it just so that we have a deterministic ordering. I can't think of a specific use-case where ID ordering is super critical? So it seems like using ulids and just documenting that order is defined by the time at which a given peer created the instance is reasonable enough?

@jsign Fair enough about the assumptions being different. Technically, you could run a MongoDB Cluster with members in different data centers, running on different hardware, etc. Most people will not do that, but it is possible.
I think a deterministic time-based default sort order is a fairly well known use-case, no? Anyway, the solution if we went with something like ulid is to just make some good docs in the code.

To spell out the use-case: "Give me back the stuff in the order it happened. I'm the only DB writer so I don't care about different clocks".

I'm also totally fine with saying to the user, "just make your own time field and add an index". However, in this case, we'd also have to inform the user of clock issues.
In the end, I agree, the time component shouldn't be the main reason to use ulid. Admittedly, I'm partially driven by how they look... base32 IDs would look good next to our thread IDs, peer IDs, and CIDs :)

And why not say make your own id: an integer and +1 on insert since you're a single writer?

Totally, could work.

But that might lead to collisions, which is something we can/should avoid with uuid, ulid, etc.

But that might lead to collisions, which is something we can/should avoid with uuid, ulid, etc.

In single writers?

Ah, missed that part. Well, anyway single writers can use their own ids. So the tl;dr here seems to be... for those who want a default, ulids look nice, are unique, and have a (rough) time sorting which is, while perhaps not 'safe' to rely on, usefully sortable.

Ok sounds good. Next question...
There was mention of allowing users to specify ID as not only string, but integer and number as well. Do we want to move forward with that? If so, it seems that we'd remove our existing InstanceID type (string alias).

It certainly complicates things everywhere to support more than just string

Hmm, yeah. On second thought, string seems like a pretty reasonable requirement.

Yea, we actually have quite a few assumptions based on string, breaking those assumptions is possible but probably opens up a class of potential bugs we'll have to deal with.

Plus, we can be more strict now with string and if we really see a need in the future to open it up, we can. Much harder to open it now and try to restrict later.

To clarify, when I mentioned the integer solution, as I mentioned in the edit, it means dealing with still keeping it in the string format. You can have a lexicographical order of ints as strings.
I see that decision as a client problem, not something go-thread should care about.

👍

Adding another question.
This discussion means that getting things in order is optional, or done by default in all operations?

My interpretation of this discussion is that, getting things in order by id will happen if the id is lexicographically sortable (which ulids are), and otherwise, the order is arbitrary. Though if a sort is explicitly provided via the existing api, then that order will be used (and likely ties in that ordering will end up being lexicographically sorted as in the default case).


Iterate over Airflow DAGs to import.

The workflow no longer needs to be updated for every new source/DAGs.

Can you add a note to the README or the wiki that all DAGS from this directory will be uploaded and a warning to not add files that aren't dags to airflow/dags?

Done.


Add new links

Hey @brunodevel. I would like to see companies with specific products made in-house like OLX (the website that connects sellers and buyers), Easy Taxi (the API that makes rides), etc.
Circus has some general project to solve problems?

Oh got it @cloudson. Circus is an ad agency.


Switch order to look for SPICE_ prefixed keys first

🗣 Description
Switch the order that the secret stores look for keys - by default they will look for a SPICE_ prefixed key, and then fallback to the explicit key. The rationale is that the SPICE_ prefix is more specific, and thus should take precedence.
🔨 Related Issues
Part of #1701

Are SPICE_KEY_PREFIX, KEYRING_SECRET_PREFIX and ENV_SECRET_PREFIX all the same thing?

They are logically the same - but I kept them separate so they could have secret store specific differences, i.e. SPICE_ for ENV_SECRET_PREFIX and spice_ for the others.


v0.7 is broken on Windows?

It seems the tcp_server example can't only accept one client.
Reproduce steps:
1 compile and run the tcp_server example:
https://github.com/tokio-rs/mio/blob/master/examples/tcp_server.rs
2 compile the connect example in tokio:
https://github.com/tokio-rs/tokio/blob/master/examples/connect.rs
3 run connect.exe twice
result: only the connecttion from first connect.exe is accecpted.
If the tcp_server is ported back to v0.6.0, there is no such problem.

That because the example isn't port to v0.7, it needs a loop around accept here: https://github.com/tokio-rs/mio/blob/fefbd790be734ce2313c3dc51878973956bc325d/examples/tcp_server.rs#L49-L59. I'll send a pr to fix it.

@Thomasdezeeuw, I forgot to mention...
I used the the example from master branch. And master branch mio is the same as v0.7.0.

On MacOS and Linux the example works.

@gdf8gdn8 likely because macOS and Linux create multiple events, while Windows might coalesce them. #1285 should fix the issue, can you try that branch @cg31?

@Thomasdezeeuw it's working.

It works indeed!

Fixed in #1285.


Link with Zenodo, update DOI

@openradar/erad2024-team I've taken the chance to link the repo with zenodo.
When we add a release here, this get's automagically uploaded to zenodo. When we've got that DOI, we can reinstate https://github.com/openradar/erad2024/blob/main/notebooks/how-to-cite.md.

Good to cut a release after we merge #106 and #107 ? I can handle the zenodo side 👍 @kmuehlbauer

Yes, go for it.  🎉

this is resolved with the recent merged PRs


[QUESTION] Getting Eureka port registration correct with dynamic port allocation

Question
I have a .NET Core service I need to register in Eureka.  In some use cases, it needs to run using automatic port assignment to let .NET pick an open port (like:  Blah.exe --urls "http://*:0").  In this case, Steeltoe Discovery registers the application as using port 0, which saddens anybody who looks up this entry.  I am sure there is a way to configure and force Steeltoe to look at what port was assigned, but combing Google did not come up with any good answers.  Pointers, please?
Environment (please complete the following information):

.NET Version: 6.0.13
Steeltoe Version: 3.2.2

Additional context or links
I have a hack using EurekaApplicationInfoManager where I update the port information after the ApplicationStarted event is fired.  This seemed to work okay in Steeltoe 2.5.5, but now in 3.2.2 there is a 404 error from Eureka (1.10.17) on the first refresh after updating the port information... this causes a re-registration which is correct but that leaves both instances registered for a period of time opening the door to breaking things.

It seems deciding that port 0 is the correct port to advertise to Eureka is incorrect and I should refile this as a defect?

Hi @osmedd,
Thanks for opening the issue, and sorry for a bit of a delayed response. I think this ultimately may be a feature request. Right now, the port selected for registration is much more configuration-based. In order to get the port ASP.NET Core is actually listening on, we will need to do something like this, which might be a great solution, or it might cause issues (I don't know off the top of my head, we might have to try it out).

I have for a few years now used Steeltoe 2.5.5 with the approach (wrenching the values in the eureka instance config in an ApplicationStarted event handler) that is described in that article.  Code below... it seemed like a hack but it worked.  However, when I tried to update to 3.2.2, I tried something similar but the results are not so pretty... I end up with a port 0 registration which is then abandoned (but still live until timeout) with a parallel "correct" registration that happens after an exception and a re-registration.  I was thinking I am just missing the correct way to do this in current code.
Here is an abridged version of the hackI do in 2.5.5 in the ApplicationStarted event.  It isn't pretty I know but I was hoping to clean things up with the move to 3.2.2.
var addressFeature = app.ServerFeatures.Get<IServerAddressesFeature>();
// Select the first address in the list to register
var hostUri = new Uri(addressFeature.Addresses.First());

var eurekaInstanceOptions = new EurekaInstanceOptions();
ConfigurationBinder.Bind(configuration.GetSection(EurekaInstanceOptions.EUREKA_INSTANCE_CONFIGURATION_PREFIX), eurekaInstanceOptions);
eurekaInstanceOptions.InstanceId = sharedState.ServerId.ToString();
if (UseSSL)
{
    eurekaInstanceOptions.SecurePort = hostUri.Port;
    eurekaInstanceOptions.SecurePortEnabled = true;
    eurekaInstanceOptions.NonSecurePortEnabled = false;
}
else
{
    eurekaInstanceOptions.Port = hostUri.Port;
}
eurekaInstanceOptions.StatusPageUrlPath = "/app/status";
eurekaInstanceOptions.HealthCheckUrlPath = "/app/hc";
Log.Information($"Registering port {hostUri.Port} with Eureka (with at least host {hostUri.Host})...");
ApplicationInfoManager.Instance.Initialize(eurekaInstanceOptions, loggerFactory);

@osmedd Supporting automatic port assignment greatly complicates the internals of Steeltoe discovery. We can't know the actual port until the app is fully started. Because the Instance ID depends on the port number, we'll need to delay the initialization of discovery. Otherwise, multiple app instances would register under the same instance ID. As the port is unknown until fully started, there's no point in registering with Eureka until then. But that also means that getting remote instances won't work, as these things are intertwined. So another hosted service that wants to issue an HTTP request would fail.
We could use a random GUID for the Instance ID when automatic port assignment is used, but the problem is we can't reliably determine that we should until IServerAddressesFeature is populated. Another issue is that enabling external code to change the port (as in your workaround) would be overwritten any time the configuration reloads at a later time.
There are also race conditions, ie you'd set .SecurePort, the heartbeat kicks in from another thread, which issues an HTTP request to Eureka to re-register because the instance is dirty, then your next line .SecurePortEnabled = true executes, then the Eureka HTTP request completes and clears the dirty flag. So now your second change will never be sent to Eureaka, except as a side effect if something else changes (which may never happen).
So I'm curious if there's a strong use case for automatic port assignment. Can you elaborate on that? Otherwise, I'm afraid it's just not worth all the trouble.

Automatic port assignment is supported in #1280 and works in the following way:

When binding to zero port number(s), the local Instance ID is suffixed with a random number to make it unique, and then registered in Eureka as usual. This happens before the app has fully started.
Once the app has fully started, the local Instance is updated with the assigned port number(s) and Eureka gets updated.

If the update results in a change of the Instance ID, an error is thrown and all changes are discarded. To prevent that from happening, explicitly set the Instance ID in configuration at key eureka:instance:instanceId.


Enable metacaching

This enables local metadata caching of items which was shown in categories and lists during browsing in content. It also updates the strm file with a m3u header which holds fall back conrent and is grapped by kodi's player if no meta is available.
This is the look when item is played directly from kodi db - it only shows "manifest" cause no metadata is grabbed from plugin:

This is the look with the extended strm file with fall back content (title/season/episode):

This is the look with full cached metadata:

Very good mate! You doing a wonderfull work on the addon! thanks a lot!

thx :-)

Commit reworked


pygmy up is throwing the following error

Error response from daemon: driver failed programming external connectivity on endpoint amazeeio-haproxy (5508c6d5eb7c34b39052c96b70a8925a9de348739cc26e83a32d19e802669eef): Error starting userland proxy: Bind for <IP_ADDRESS>:443: unexpected error (Failure EADDRINUSE)
Error: failed to start containers: amazeeio-haproxy
/usr/local/lib/ruby/gems/2.3.0/gems/pygmy-0.9.8/lib/pygmy/docker_service.rb:13:in `start': Failed to run amazeeio-haproxy.  Command docker run -d -p 80:80 -p 443:443 --volume=/var/run/docker.sock:/tmp/docker.sock --restart=always --name=amazeeio-haproxy amazeeio/haproxy failed (RuntimeError)
	from /usr/local/lib/ruby/gems/2.3.0/gems/pygmy-0.9.8/bin/pygmy:126:in `exec_up'
	from /usr/local/lib/ruby/gems/2.3.0/gems/pygmy-0.9.8/bin/pygmy:33:in `up'
	from /usr/local/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
	from /usr/local/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
	from /usr/local/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
	from /usr/local/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
	from /usr/local/lib/ruby/gems/2.3.0/gems/pygmy-0.9.8/bin/pygmy:300:in `<top (required)>'
	from /usr/local/bin/pygmy:22:in `load'
	from /usr/local/bin/pygmy:22:in `<main>'

Note, I had my own dnsmasq up and running based on a local apache install. Wondering if that's the issue here.

Hi @justinlevi
It looks you have a service running on your local port 443. As pygmy binds to port 80 and 443 you will need to stop services on your machine to start pygmy successfully.
/bastian

@dasrecht yah - just figured that out based on a conversation that was happening on the slack channel. thx
Is there any way to run a preflight check for these ports prior to building that command. The error message is decipherable but a bit cryptic if you've never worked with pygmy before.

We are working on something that would print a better error message than the one we currently see from docker.