Problem with displaying the username

u=User(username='Susan'<EMAIL_ADDRESS>

u
<User (transient 24181488)>

Why am I not getting the username? Can you please tell me the solution for this?

Please show me a complete Python session, from when you started the Python shell to the point where you get this transient message.

C:\Python\Python37-32>python
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 21:26:53) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.

from app.models import User
u=User(username='Susan'<EMAIL_ADDRESS>u
<User (transient 24181488)>

@AkshithaKoppaka is this an official Python release? If not, I suggest you try an official build. I'm honestly not sure why you get a different output, I cannot reproduce this here.

Yes, it is the official build. I even tried updating it to the latest release of python but I am still getting the same output. Thanks for the response.

Okay, this is something I've never seen before. What do you get when you type u.name after creating your user?

I'm getting an AttributeError. It says that the User has no attribute 'name'.

Are you using code that came directly from this repository or did you copy the code into your own version? I'm really confused about this issue, is there any chance you have a mistake? Can you show me the entire User class that you are using, for example?

I'm using the same code from your repository.
class User(db.Model):
id=db.Column(db.Integer, primary_key=True)
username=db.Column(db.String(64), index=True, unique=True)
email=db.Column(db.String(120), index=True, unique=True)
password_hash=db.Column(db.String(128))
def ___repr__(self):
    return '<User {}>'.format(self.username)

Well, you see, that's the key here. You copied the code, which of course is totally fine, but there could be some small difference hidden in the code that could be causing this. Can I ask you to actually install my code on another directory and run it in the same way you are running yours? Let me know if the problem persists when using my code directly.
Sorry to have to ask you to do this, I'm honestly completely lost as to what could be causing this behavior, so we have to start eliminating things.

I don't know what mistake I have made while typing but I did it again by copying your code and it is working fine. Thanks for the help.

I'm using the same code from your repository.
class User(db.Model):
    id=db.Column(db.Integer, primary_key=True)
    username=db.Column(db.String(64), index=True, unique=True)
    email=db.Column(db.String(120), index=True, unique=True)
    password_hash=db.Column(db.String(128))

    def ___repr__(self):
        return '<User {}>'.format(self.username)

Which lesson of the Microblog chapter were you working on when this issue occurred?
Could you also include what your imports looked like from your models.py file when you still had this issue?

@mrbiggleswirth I was working on the fourth lesson of the Microblog chapter.
This is my previous models.py file:
from app import db
class User(db.Model):
id=db.Column(db.Integer, primary_key=True)
username=db.Column(db.String(64), index=True, unique=True)
email=db.Column(db.String(120), index=True, unique=True)
password_hash=db.Column(db.String(128))
def ___repr__(self):
    return '<User {}>'.format(self.username)

I remember seeing that word transient as well when I was learning Chapter 4: Database. Didn't understand it at that time nor do I know how to reproduce that error.
But I bet some Flask-SQLAlchemy config settings got messed up in these files:
/microblog/config.py
/microblog/app/__init__py
Or your SQLite database file got corrupted somehow while experimenting for the first time.


Bug: Export XLSX randomly failing

Receiving the error message:
Export failed: Invalid Error: Unknown exception in Finalize!
CSV is fine and the new show in folder works good.

Is this since the new release?

It happened sometimes with the previous as well. I'll try to dig into it more later this week, but possibly a race condition for writing/renaming.

Let me try to reproduce it.

I have not been able to reproduce this. Can you provide the parquet file on which this fails?

I haven’t been able to reproduce this, we can close it off and I will reopen if I can figure out a reproducible example.


Table: Add onExpand function prop to RowExpandable

Summary
The purpose of this PR is to add the onExpand function prop to the Table.RowExpandable component.
An example use case for this prop would be if a user wanted to request an API call only when the row is expanded.
Test Plan
I used the docs and created more tests to make sure the function prop works as needed.

@faisalgedi looks like we have a flow failure on the build, I would try the following:
    | SyntheticMouseEvent<HTMLButtonElement>
    | SyntheticKeyboardEvent<HTMLButtonElement>
    | SyntheticMouseEvent<HTMLAnchorElement>
    | SyntheticKeyboardEvent<HTMLAnchorElement>


versions: update version of qemu to 4.1.0

Update qemu version to bring the latest fixes and improvements:

migration: allow private destination ram with x-ignore-shared
hw/i386: Fix linker error when ISAPC is disabled
hw/i386: turn off vmport if CONFIG_VMPORT is disabled

Depends-on: github.com/kata-containers/packaging#680
fixes #1978
Signed-off-by: Julio Montes<EMAIL_ADDRESS>

/test

/test
@grahamwhaley change applied, thanks

@devimc could you open a PR in packaging with a depends on to this PR just to see how broken (or not ) is the build in packaging ?

haha did not see the message you already add it, thanks a lot


'functools.partial' object has no attribute 'get'

when opening the Fluidigm demo file

cannot reproduce with current napari version (0.4.10), closing


⚠ Site ANTS has degraded performance

In a60042d, Site ANTS (https://ants.gouv.fr) experienced degraded performance:

HTTP code: 200
Response time: 8692 ms

Resolved: Site ANTS performance has improved in 4921d7a after 6 minutes.


[FEATURE] Search functionality

Description
As of now the search functionality is not working so i want to work on it to make it active
Screenshots
No response
Additional information
No response

@Deepanshu0703  you are being assigned kindly look into and update us every 3 days


chore: remove unused store-sync/query-cache

goes with #2539 and #2936
we're not using the query API yet and I don't wanna burn time refactoring these as we update the config, so will remove for now

gonna yolo merge since nothing depends on these files, just cleaning up


Dedicated section for machine-level memory-mapped registers (specifically mtime/mtimecmp)

Even after having read through various discussions, I keep getting confused when reading the privileged document's table of content and seeing mtime and mtimecmp listed under 3.1 Machine-Level CSRs: I go and look for their location in the CSR address space and can't find them, and then realise that "ah yes, these are memory-mapped! I should have remembered that".
If I understand correctly, mtime and mtimecmp are not CSRs in that they are not accessible via the various CSR instructions, and only the separate time(and timeh) CSR provides a window to mtime via the CSR space.
This PR suggests conveying this straight from the table of content.
Additionally, I wonder about what a

memory-mapped machine-mode read-write register

means when it comes to exceptions. I presume the intended behaviour is that memory accesses to mtime/mtimecmp from a privilege mode other than M should raise an exception (I presume that's what the comment about lower privilege levels not having their own timecmp register is hinting at)?
Would it be worth to maybe call this a new kind of PMA? Or possibly described under 3.6.2 Supported Access Type?

Seems reasonable to me. @gfavor @kasanovic?

As far as I know none of the major open source hardware implementations or simulators do privilege level checks on access to memory-mapped registers (other than what software configures itself via PMPs or page tables).  You're not the first person I've seen interpreting the spec that way, though.

As far as I know none of the major open source hardware implementations or simulators do privilege level checks on access to memory-mapped registers (other than what software configures itself via PMPs or page tables).

Yes... I don't think I really saw this anywhere, but as it sorta lives in the middles of "definitely protected machine CSRs" in the spec, it is very tempting to read this as "yes, only machine mode can touch it". Not mandating that also sounds fine to me.
All in all, I think this is why I suggest using a PMA-based specification there, allowing for both...

I’m not aware of any implementations that do so, either, @sorear. (And of course since PMP is a whitelist, it doesn’t take extra effort or additional PMP registers to lock out access to mtime[cmp].)

It would be nice to still have the option to have this protected for systems that chose not to have a PMP maybe?

I don’t think we need any new spec language to permit hardwired PMAs or PMPs that do lock out less-privileged access to these registers.

Yes, I think you are right.
I was suggesting this simply in the spirit of making it easier on the reader, a bit like the suggested change in this PR is not strictly necessary I suppose.
I was thinking of adding a brief general comment to 3.6.2 Supported Access Type. Maybe simply change the first sentence to also mention the privilege mode from which the access is issued, and possibly point this out from the mtime/mtimecmp section, and leave it to that.
What do you think?

If we don't have new spec language, some people are going to assume it's mandatory and others are going to assume it's forbidden.  (I'm in the "forbidden" camp - the PMA chapter enumerates a large number of possible memory attributes and "only accessible from M-mode regardless of PMP settings" is not one of the allowed options.)

It would be part of a separate PR, of course, but I think this hole would be closed by making it explicit that PMAs can be a function of privilege mode.

I'm OK with this.

After catching up with this whole thread, I observe the following few things and reach a conclusion:
The original PR (nor existing spec) did not include a explicit definition of what is a machine-mode memory-mapped register.  Subsequent comments suggested that a mode-dependent PMA region could effectuate a meaning for that term.  But it was also rightly pointed out that the current PMA chapter makes no mention of PMA regions possibly having mode-specific behavior.  And if anything the seeming architectural idea currently is that PMA attributes are about the physical nature of the addressed location irrespective of higher-level access control considerations such as taken into account by PMPs and an MMU.
But one can readily choose to enhance PMA arch functionality to also allow their access control to be dependent on the mode of the access being checked (especially since the PMA chapter didn't limit PMAs to only having the documented attributes).
But is one now required to implement such "machine-mode-only" PMA region or regions, and required that machine-mode memory-mapped registers must be covered by such a region.  Or is this an option or a suggestion?
And why is this job not left for PMPs to handle - since they are specifically about enforcing M-mode-only access control on selected regions of address space?  (I believe there are some people that have inferrred from the Priv spec that PMPs and not PMAs are the place in the architecture to effectuate the access restrictions implied by the term "machine-mode-only" memory-mapped registers.)
This view would mean that there is no need for PMA arch spec change.  Only need for more clearly documenting that mtime/mtimecmp are not CSRs, and providing guidance that PMPs should be used to limit access to "machine-mode" memory-mapped registers to only M-mode).

Yes, I think we can simply describe these as memory-mapped registers, with commentary on access control via either PMPs or PMAs.

@gfavor I'm not in favor of mandating an access-control PMA for these registers.  As a separate matter, I do think documenting the concept of access-control PMAs might make sense, though is not strictly required because custom PMAs are already a possibility.  For now, I think the lowest-friction option is to do what @kasanovic suggested and add commentary that either PMP or PMA could provide access control for machine-level memory-mapped registers.

To be clear, I was arguing, if anything, against an access-control PMA (and instead letting a PMP do the job).  But the suggested commentary is fine.

PMPs are optional. Mtime is not. Does this imply that if PMPs are not
implemented, then a custom PMA must be?
(our PMA does have mode specific ranges for a variety of reasons)
On Thu, Nov 19, 2020 at 12:52 AM gfavor<EMAIL_ADDRESS>wrote:

To be clear, I was arguing, if anything, against an access-control PMA
(and instead letting a PMP do the job). But the suggested commentary is
fine.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/riscv/riscv-isa-manual/pull/614#issuecomment-730224818,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHPXVJUPVGKKTFFYY7HKAETSQTMFBANCNFSM4T2WZ4LQ
.

Thanks for the merge.

To be clear, I was arguing, if anything, against an access-control PMA (and instead letting a PMP do the job). But the suggested commentary is fine.

For what it is worth, I wanted to re-state what I already suggested which that I like the idea of access control PMA being documented and not mandatory as this provides an escape for implementations who are concerned with access control to memory-mapped registers and do not want to have a PMP.

@allenjbaum There's still no mandate that mtime be protected; it's a practical concern but not a requirement.
Most systems that don't provide PMPs either don't have multiple privilege modes or implicitly fully trust the next-lowest privilege mode (unlikely for M+U systems, but plausible for M+S+U systems).  In either of those cases, there's no need to protect mtime.

It would be part of a separate PR, of course, but I think this descriptive hole would best be closed by making it explicit that PMAs can be a function of privilege mode.

Just checking, but, were you suggesting I propose something (most likely short of all the many details that would be interesting) as a new PR, and as a basis for a continued discussion?

I think we are leaning towards no normative addition to the PMA text for now, but instead add commentary to the memory-mapped register section as Krste suggested.


CSS guidelines and CSS architecture overhaul, and enforcement

Wagtail's CSS codebase is in bad shape. This isn't really surprising – CSS architecture in long-lived projects is a notoriously hard problem. It's not hopeless either. But there is work to do 🙂
I'd like to use this as a tracking issue to discuss the problems this is creating, their causes, potential solutions, and hopefully gather consensus. In my opinion, a good outcome of those conversations would be to agree on a prioritised list of actions to be taken, that can then be worked on by different contributors in separate PRs. Sweeping rewrites are not on the agenda.
Problems

Maintenance is hard and error-prone. UI regressions are frequent, and hard to correct.
Trying to implement new UIs, there is a big bias towards creating new styles instead of repurposing existing patterns.
Third-party plugins have no clear point of integration with Wagtail's UI. Anecdotal examples.

Causes
This is a grab bag of code smells and high-level architectural issues.

Main admin styles are kept in a few 100+ line files instead of being separated in components. (eg. _main-nav.scss, 479 lines)
Too much nesting, generating overly-specific CSS selectors (eg. .nav-main .footer-submenu a).
Styles rely on qualifying elements, generating overly-specific CSS selectors, making UI components harder to evolve to use different elements.
No consistent naming convention. We are supposed to use BEM, but a lot of styles do not follow it, and it's not enforced.
Too many magic values. This is in particular problematic for spacing, where there is no consistency between different UI components.
 There is a basic separation of components in different files, layouts with their page-specific styles, but it does not go far enough. (eg. for whatever reason all of the components that are specific to the page-editor layout have been defined inside of it.
No clear boundary for plugin integrations.

Solutions
With #3773 as a foundation, I believe some of the above could easily be addressed by increasing what rules are enforced with tooling.

Leverage more stylelint rules or plugins to enforce stricter guidelines

For qualifying elements, selector-no-qualifying-type.
For magic values, https://github.com/AndyOGo/stylelint-declaration-strict-value.
For naming,

https://github.com/kristerkari/stylelint-scss/blob/master/src/rules/at-function-pattern/README.md
https://github.com/kristerkari/stylelint-scss/blob/master/src/rules/at-mixin-pattern/README.md
https://github.com/kristerkari/stylelint-scss/blob/master/src/rules/dollar-variable-pattern/README.md
https://github.com/kristerkari/stylelint-scss/blob/master/src/rules/percent-placeholder-pattern/README.md
https://github.com/davidtheclark/stylelint-selector-bem-pattern

Find and use an auto-formatting tool, like stylefmt or prettier.
Find and use styles reporting tools to keep track of the number of colours, font styles, font sizes in use in the code.
Use a stricter architecture than BEM, like ITCSS
Make and mandate the use of a UI component library (#382)
Expose Wagtail's styles in the wagtail npm package so the variables and components can be reused in plugins.
Define points of extensions for CSS with stable naming conventions.
Develop and maintain a UI regression test suite to facilitate refactorings (https://github.com/thibaudcolas/wagtail-dev-tooling).
Use pre-commit hooks to enforce linting when code is authored, rather than in CI.

Related issues, in no particular order

z-index mess #1958
Refactoring away from icon fonts #1224
Streamfield UX issues have been left unaddressed in core because it is easier for people to override the styles than fix the problem directly in Wagtail #2325

https://github.com/heymonkeyriot/wagtailclearstream
https://github.com/alexgleason/wagtailatomicadmin
https://github.com/springload/wagtailfacelift

No documented way to override Wagtail's CSS cleanly #2353
~Specificity hacks make it hard to customise Wagtail's UI #2600~
Theming capabilities would be cool #2943
UI pattern library #3823
Menu layout #4744

@thibaudcolas mentions "Too much nesting" as one of the root causes. I like to add this is not just nesting in CSS, it also stems from nesting of tempalte tags and extending templates.
For example:
When editing a page, the header wraps aroudn the entire top portion of the page, like one might expect.
Yet when listing sub pages, a different template is used to generate the page, and the top portion of the page is considered the first "index" row of a table which lists the pages.
Suddenly the same "privacy_indicator" class is no longer within the header.
I think the initial effort should be to normalise the templates, and than refoactor the classes and their corresponding SCSS.
Having digged though the scss and the templates, it is going to be a quite an effort to sort things out, but it is about time to make a start. The milestone "Some day" is a bit concerning. As the CMS grows, this issue will continue to get more complicated every month.

I forgot to meantion:
Too much use of Javascript! Things like toggeling .account can be done with a display:none checkbox and some simple CSS. This does not require javascript to toggle.

Thank you for your thoughts @Meteor0id. You're very right to mention there are maintainability issues with the HTML too. One is what you mention. Another is overuse of table elements for layout. There are more.
For the milestone, we mark things as "some-day" by default, they only get to another milestone if they are scheduled as part of a release. The things tracked on this issue are separate individual problems, so they are unlikely to be worked on as a single item, and to be considered fixed by any single PR. Lots of people in the core dev team and beyond are aware of those issues, and of their impact on long-term maintainability of the codebase, so we're trying to tackle them.

Based on recent discussions among core devs, I have renamed this issue to be about "UI architecture" rather than CSS only (if I had more time, I'd also add HTML/JS items to the problems/caveats/solutions above).
I think now would also be a good time to share notes from the 2018 State of Wagtail meeting about front-end maintainability, which is very relevant to this issue, and shows where the core team is at. I wanted to make a blog post out of those but never got around to doing it 😅. This "State of Wagtail" meeting was held at Wagtail Space 2018, with part of the core dev team present, and open to the public.

State of Wagtail 2018 – Front-end maintainability

2pm Amsterdam time, March 15th, 2018.

The problem

TL;DR;

Front-end code reusability and maintainability is an afterthought, refactorings are always painful.
Heavy exploratory manual testing is mandatory for even the simplest changes.
Mobile support and visual consistency are harder than they should be (eg. breakpoints are not consistent)
None of those problems are interesting to work on – people prioritise features over future maintainability

No automated tests

Except for the React components (eg. “Pages” explorer menu)

But only unit tests, which is quite lame for UIs.

Manual testing is a must

It takes a good 5-10 minutes to set up 2 Wagtail instances side by side - one with the PR to review, one with master.
It takes ± 5 minutes per browser to review even the simplest of front-end changes (eg. #3069) per browser
Decently reviewing a change is at least 7 browsers: Chrome, Safari, Firefox on macOS + IE11, Edge on BrowserStack + iOS, Android on real devices
In theory it’s 15 browser / version / OS combinations.

Loose CSS architecture

https://github.com/wagtail/wagtail/issues/3804#issue-253102237
Split between “old style” styles and “new style” styles

Loose HTML architecture

Tables and lists for layout

Very hard to refactor, and to make work on mobile
Unusable page structure for screen readers

Very few reusable components/templates

Loose JS architecture

JS files loaded here and there, in the global scope, with jQuery code
No unit tests
Most of the code not using any dependency management
Enforce JS style guide: see #2797
Split between “old style” and “new style”

Examples of those problems:

Prioritise features over maintainability – #4215
No tests – jQuery date picker upgrade: #4337
Overuse of bare-element styles: https://github.com/wagtail/wagtail/blob/e4f4383a586923433d533074305423d01e94b8d6/wagtail/admin/static_src/wagtailadmin/scss/components/_forms.scss#L7
bakerydemo’s 1000-lines CSS file

“The bakery demo avoids using tooling so doesn't use SASS.”
https://github.com/wagtail/bakerydemo/blob/master/bakerydemo/static/css/main.css

Solutions
Pattern library

High-value, high cost
A LIVING pattern library – it should be easier to reuse the patterns than to build without them.
High-value end to end tests on the patterns
UI component library: #382, Adds wagtail ui template tag for making buttons: #1435
This is a process/workflow as much as it is an architecture / code design artefact.
https://storybook.js.org/ might come in handy here

Improvements to the existing tooling

Prettier
Git hooks: whitespace, CSS linting, JS linting, unit tests, snapshots, docs
Better linting

stylelint config

Live reload

Tests

Automated test suites

Hugo / Alex started working on some automated tests at Lukkien (based on the cucumber boilerplate and BakeryDemo) eventually we could connect this to BrowserStack when we know how to automate a BakeryDemo boot on a certain PR.
Tools

a11y
Visual regression tests
E2E tests

See https://github.com/springload/draftail/tree/master/tests

Flow testing vs visual testing

Selenium (& Cucumber) at Four Digits, Lukkien

Separate project from Wagtail?

CI pipeline is slow
Could be a separate workflow from CI

Targeted refactorings (thankless pit of despair)

Lower the overall CSS complexity by monitoring specificity and rewriting selectors with new classes, without elements.
Move all breakpoint-specific CSS to within its target selector
Move all JS to Webpack (and ES6?)
Rebuild more high-value components with React and ES6

(more front-end developers)

Doh!

Impact / effort matrix of the above

Potential work to trial this on
Accessibility  improvements

label:Accessibility
Making Wagtail Accessible for users with disabilities

Choosers redesign and rebuild

Chooser fields: #4055
Chooser modals: #3038

New login flow

See #2309

(front-end extensibility by third-party packages)?

“It’s always good to have dreams”
npm package for Wagtail, with all client-side code
Admin color themes and customization: #2943
Expose admin style to plugins: #2478
https://github.com/thibaudcolas/wagtail_npm_dependencies_experiment
https://github.com/springload/draftail/#ui-and-styling

Could be worth having a look at for the e2e tests http://cypress.io/ :)

Just wanted to add also that it appears that the version of Eslint we are using (~2.9.0) is now quite old, with v5 being released recently. I know this ticket is mostly about scss/css but just FYI.

FYI we’ve discussed this in today’s core team meeting, specifically from the perspective of legacy (vintage!) JS libraries (raised by @kaedroho).
The TL;DR; from this discussion is that we intend to move away from jQuery (towards vanilla JS), jQuery UI & Bootstrap (towards more purpose-specific libraries). And of course to Webpack as the build tool for all JS & CSS of the Wagtail admin.

I’ve recently been considering which parts of this were still relevant, and whether to make a "2020" update to this all – the answer is that pretty much all of this still is relevant, and it’s felt quite heavily when doing major changes like those necessary for accessibility (#4199), or icons (#6107), which took many months’ more effort than if Wagtail’s front-end was better architected. We essentially waste a lot of time updating patterns copy-pasted inconsistently across a big app, rather than being able to change components in isolation. I’ll focus on the rest of the update on solutions rather than problems though.
Changes since the last update

The SCSS refactoring (#6144) led by @nmorduch has been quite successful, moving more of the code to separate files. There’s more to do on that front: #5015.
There was a similar JS refactoring piece started by @jonnyscholes in #5252, but that has stopped after a couple components.
As part of the icons’ rework (#4821), @allcaps and @Scotchester took the time to refactor icons to a reusable component (via a template tag), which is essentially exactly what we would want to do for all UI components (or a similar approach with template partials includes, or Jinja2 macros, or React components)
@lb- did a lot of good work with https://github.com/wagtail/eslint-config-wagtail and https://github.com/wagtail/stylelint-config-wagtail
With #6105 (draft), we’re getting very close to removing Gulp and switching to Webpack only, which will eventually allow us to do more optimisations about what front-end code is loaded where.
There’s now clearer plans to set up Prettier (#6059).

What to do next
The overall direction I would suggest to get out of this mess is to refactor the whole of Wagtail’s UI to be powered by a living pattern library, as suggested in https://github.com/wagtail/wagtail/issues/3804#issuecomment-422424260 and initially in #382.
Now working at Torchbox, I have a pretty clear sense of what this would look like: using https://github.com/torchbox/django-pattern-library, in conjunction with Storybook (https://github.com/torchbox/storybook-django), so we can have a living pattern library for both Django Templates, and React components. Both of those projects are relatively recent, but django-pattern-library has been in use for years internally at Torchbox, and Storybook itself has been around for years too.
The advantages of this approach are that:

We’d be able to work on UI components in isolation from where they are used in Wagtail.
We’d be able to test UI components in isolation – for accessibility issues and UI regressions in particular
Since the components would be defined as isolated React components or template partials, they can be rendered outside of the Wagtail UI. This means we can test them without expensive browser automation to navigate around the Wagtail admin.
Since each component would have "stories" to demonstrate its different variations, we wouldn’t have to set up expensive browser automation or hard-to-maintain fixtures in order to test specific parts of the UI.

With the Storybook version of this pattern library, we’d be able to leverage the Storybook ecosystem, which has well established tools for UI library smoke testing, visual regression testing, and accessibility checks. As well as integrations with design tools (Sketch, InVision, Zeplin). This could be a way for us to modernize Wagtail’s approach to design, and make it more open to third-party contributions (see https://github.com/wagtail/rfcs/blob/master/text/037-accessibility-support.md#3-make-universal-design-and-accessibility-part-of-wagtails-design-and-development-process).
What would this look like practically?
Components would be defined as folders, with all of the components’s code co-located:
.
├── accordion
│   ├── accordion.html
│   ├── accordion.py
│   ├── accordion.scss
│   ├── accordion.test.js
│   ├── accordion.ts
│   ├── accordion.yaml
│   ├── accordion_section.html
│   └── accordion_section.yaml
├── banner
│   ├── banner.py
│   ├── home_banner.html
│   ├── home_banner.yaml
│   ├── split_banner.html
│   ├── split_banner.scss
│   ├── split_banner.stories.tsx
│   └── split_banner.yaml
└── button
    ├── Button.stories.tsx
    ├── Button.tsx
    ├── button.html
    ├── button.py
    ├── button.scss
    └── button.yaml

The template partial, React component, stylesheet, test data, vanilla JS widget, per-component documentation, would all live in the same folder. For a Django templates integration, components that would make use of it could define their own template tag like our new {% icon %}.
Here is what component reuse would look like:
{# Django templates partials #}
{% include "ui/button/button.html" with label="Get started" variant="outline" color="primary" href="/" %}

{# Django templates tags #}
{% button label="Get started" variant="outline" color="primary" href="/" %}

{# React #}
<Button label="Get started" variant="outline" color="primary" href="/" />

{# Jinja macro #}
{{ button(
    label="Get started",
    variant="outline",
    color="primary",
    href="/",
) }}

{# Django templates partials #}
{% include "ui/banner/split_banner.html" with title="Stories from our Salesforce migration" description="Whisperly Ltd" image=image %}

{# Django templates tags #}
{% split_banner title="Stories from our Salesforce migration" description="Whisperly Ltd" image=image %}

{# React #}
<SplitBanner title="Stories from our Salesforce migration" image={image}>

Whisperly Ltd

    <Button href="/">Get Started</Button>
</SplitBanner>

{# Jinja macro #}
{{ split_banner(
    title="Stories from our Salesforce migration",
    description="Whisperly Ltd",
    image=image,
) }}

{# Jinja macro with children #}
{% call split_banner(title='Hello World') %}

Whisperly Ltd

    {{ button(label="Get started", href="/") }}
{% endcall %}

We’ve discussed the proposal in today’s accessibility team meeting, there was some consensus that this felt like a good way forward. I think I’ll open an RFC to describe this further and more formally ask for feedback.

@thibaudcolas for React components, have we decided yet how these are going to be exported for third party apps to reuse?

We’ve thought about this in the past but never made any big steps towards that goal. The options are:

Expose the React components as global variables on the page. This is done with Webpack’s expose-loader, and it should be possible to transparently load them as if they were modules by configuring Webpack’s module resolution to fake that. This only goes so far – with this route you also need to use Wagtail’s React library, similarly exposed, otherwise it causes mismatches of React versions (this should hopefully work better in React 17, but still not ideal).
Bundle the components as a Webpack Dll with DllPlugin and DLLReferencePlugin, which Wagtail could reuse, as well as other projects using Webpack
Publish the components to npm as a standalone package

Once we've got rid of IE11 support, we would be able to use ES6 modules in Wagtail.
I'm wondering if this makes this problem easier to solve? I'm thinking that Wagtail could provide a UI component library on an importable path. This UI library would of course have a stable, documented API.
For example, a third-party app implementor could import the Icon component with the following:
import { Icon } from '/static/wagtail/components.js';

Do you think that could work?

Hmm good question, that definitely sounds worth trying :) I don’t know enough about ES modules bundling to have an informed opinion. This sounds similar to the "global variables on the page" option, with the big benefit that you’d be able to dynamically load only the components you need. I imagine this would need to use the dynamic import() syntax.


Edit Hook.prototype.error to Hook.prototype.getError

Description of the Change
Change error function to getError because the function to set error is not used.
There is only one place to use Hook.prototype.error. (/lib/runner.js)
hook.run(function(err) {
  var testError = hook.error();
....

Using 'get' only, it seems good to remove 'set' code.
Benefits
Unnecessary code is removed.

Coverage increased (+0.06%) to 91.786% when pulling 8b790241e23acc87a753bc670e478fce2798d2ac on sapzape:patch-lib into 5d9d3eb665825ea69435388f5776150f40c844be on mochajs:master.

Sorry for late reply. I agree with you. I close.


Skinned animation output depends on frame selected

Related to #16 and using the same example file, I've found that depending on the frame you have selected on the editor when doing the export, your final file will look incorrect. If you select the frame 0, everything is fine. If you select the frame 60 (like I did in the example I'm attaching) your animation will look wrong (it's applying the skin to a mesh deformed from the frame you have selected, instead of the initial state)
This might even be a feature, although I'm hard pressed to find how this can work in practice 😄
BoxSkinnedBug.zip

It's a bug. Just looked at the code and it is obvious.
Think it is an easy fix, but I will fo it tomorrow,

Thanks, appreciated!

https://github.com/KhronosGroup/glTF-Blender-Exporter/commit/1340c563b46e1a15eb4574825229548b3e1d2364 should fix this.
Will test and close if everything is fine.

Okay, tested with this and some other skinned model.

Thank you!


Basic Authentication is still used

The GetFolderSearchParameters.ps1 script still uses Basic Auth and can't connect to Office 365 anymore.

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

ID: 136c161f-13b8-fb62-01de-53b1219b5290
Version Independent ID: f1843c14-29da-d831-c7ce-9e3f624a01ed
Content: Use Content Search for targeted collections - Microsoft 365 Compliance
Content Source: microsoft-365/compliance/use-content-search-for-targeted-collections.md
Service: o365-seccomp
GitHub Login: @markjjo
Microsoft Alias: markjjo

@Enigma102083 Thanks for heads up. Scripts won't work with MFA. Please see github issue #1428 for a possible work around using trusted IPs. Here is another alternative: https://docs.microsoft.com/en-us/powershell/exchange/app-only-auth-powershell-v2?view=exchange-ps
You can also try to remove the connection steps from the script, then connect to EXO powershell (to search for Exchange folder IDs) or SCC powershell (to search for document paths) and then run the script.


Bad symlink to lib/libclang_rt.builtins-<EMAIL_ADDRESS>

ROCm 1.8.2
There's a bad symlink on lib/libclang_rt.builtins-* that incorrectly expands CMAKE_SYSTEM_PROCESSOR using @x@ instead of ${x}.

Hi @BryantLam , could you clarify where you are seeing this and on which release?  Do you have a patch or pull request?

Sorry. I should have been a bit more clear. This issue affects the ROCm 1.8.2 RPM packages for CentOS.
Specifically, if you go to this path:  /opt/rocm/lib, there's a broken symlink
from literal /opt/rocm/hcc/lib/libclang_rt.bulitins-<EMAIL_ADDRESS>to libclang_rt.builtins-<EMAIL_ADDRESS>(the actual characters).
I assume (but have not confirmed) @CMAKE_SYSTEM_PROCESSOR@ was supposed to be expanded with ${CMAKE_SYSTEM_PROCESSOR}, but I haven't dived into looking where in the ROCm code (no patch/PR from me yet).

It will be addressed by this: https://github.com/RadeonOpenCompute/hcc/pull/825


Authentication

Added Signup, login and Forgot Password Flow
picture tag for webp format of images for fast loading

Things look good. I saw you also made changes suggested last day that's a lot of work! I believe we are good to merge.

Thankyou for suggesting resources


Submodules ordering on the examples site

Description
The ITK examples index seems not to be ordered alphabetically at the submodule level
https://itk.org/ITKExamples/src/index.html
Although a search box exists, and the browsers search tool can be used to look for the module of interest, I'd dare to say that it would be nice if the submodules were ordered alphabetically.

@jhlegarreta It appears this is the case. Thank you for catching this. I will reopen the issue and address it in a coming PR.

@jhlegarreta @thewtex Should the name for a particular example's directory be the same (or very close) to the header in its respective documentation.rst?
This is why some of the submodules contain an indexed list of examples not in alphabetical order. I had ordered them by their subdirectory paths, but when they are indexed in Sphinx, they show the headers of the examples. This subsequently led to some of them being out of order, because their subdirectory names and headers do not match.
For example, Filtering/ImageFeature/index.rst contains:
  AdditiveGaussianNoiseImageFilter/Documentation.rst
  BilateralFilterAnImage/Documentation.rst
  ComputeLaplacian/Documentation.rst
  DerivativeImage/Documentation.rst
  DetectEdgesWithCannyFilter/Documentation.rst
  ExtractContoursFromImage/Documentation.rst
  FindZeroCrossings/Documentation.rst
  LaplacianRecursiveGaussianImageFilter/Documentation.rst
  RequestedRegion/Documentation.rst
  SegmentBloodVessels/Documentation.rst
  SharpenImage/Documentation.rst
  SobelEdgeDetectionImageFilter/Documentation.rst
  ZeroCrossingBasedEdgeDecor/Documentation.rst

Because the headers for the examples are what's shown on Sphinx and some of the headers do not match their respective directory name, the output in Sphinx looks like this:

I think is would be easier to make each example's header the same (or very similar i.e. including parentheses, etc.) as the name of the directory it is in. Most of the other example's already adhere to this and this way we can easily order them by subdirectory in the parent directory's index.rst.

@jhlegarreta @thewtex Also, there is inconsistency for prepositions and conjunctions in example headers. Some of the examples have them capitalized and some do not. Should these all be changed to adhere to the common rules regarding capitalization in headers i.e. MLA, APA, etc.?

Thanks for investigating this.

@jhlegarreta @thewtex Should the name for a particular example's directory be the same (or very close) to the header in its respective documentation.rst?
I think is would be easier to make each example's header the same (or very similar i.e. including parentheses, etc.) as the name of the directory it is in. Most of the other example's already adhere to this and this way we can easily order them by subdirectory in the parent directory's index.rst.

Not sure what is the best way to solve this. Having a descriptive title for what the example actually contains is very helpful and descriptive. Users will usually not see/pay attention to how the folder is called in the code. And what is shown/Sphinx shows is alphabetically ordered, which makes it easy to follow I'd say. At the same time, the shown folder names make sense from the developers' point of view. So I'd say that this is fine.
In reality, I was more concerned about the modules (namely, the Filtering, IO and Segmentation modules), where I cannot see that they are following the same logic since the folder corresponds exactly to the name in the index.

@jhlegarreta @thewtex Also, there is inconsistency for prepositions and conjunctions in example headers. Some of the examples have them capitalized and some do not. Should these all be changed to adhere to the common rules regarding capitalization in headers i.e. MLA, APA, etc.?

I am fine if capitalization is applied to all letters or if a tool for specialized (e.g. leaving out definite articles, prepositions, etc.) capitalization is found. Acronyms should be capitalized I'd say.

In terms of the module or example listing order, the seemingly random order is an artifact of the CreateExample script. Currently, when a new example is added, its module and example name is appended at the end of the current contents. The order could be corrected. Maybe the script could be made smarter.
+1 to a consistent capitalization, following MLA, etc.

@mseng10 hats off to the tremendous work in PR #228. Thanks also to @thewtex.


The Discord invite code is invalid

Description
When clicking on any of the Discord links, I receive the message...
This invite is invalid or you may not have permission to join
Working Environment
Operating System (eg Linux): Mac OS 11.1
Browser (eg. Chrome): Google Chrome Version 88.0.4324.96 (Official Build) (arm64)
Device (eg. Laptop or Phone): Mac Mini (M1, 2020)
Additional Context
What to check
Expiration:
Your invite link may have expired. In this case, please contact the server owner and ask them for a new invite.
Invalid Code:
You may not have a legitimate invite code. Please check your code and try again. Remember that invite codes -are- case sensitive!
Ban:
You may have been banned from joining this server. Bans are based on IP address, so you would need to contact the server admins and ask them to revoke all bans in their Server Settings. Just because they remove your name, does not mean the invite will work.
100 Server Limit:
A user cannot be a member of more than 100 servers. If you are in too many servers, you'll need to leave one before you can join.

oh no, thank you for letting us know. Which link did you click and where?

I tested the link we use in most places, for example the bottom of our website and it seems to work ok https://eddiehubcommunity.github.io

https://discord.com/invite/jZQs6Wu

Okay. So I opened this in an Incognito Window and it works.  There's clearly an issue at my end.

No worries, it happens to us all 🤓


Anticheese, and why you should do more to secure your Server.

Intro
Hi! I'm Blumlaut, but you can call me Blu.
I'm the main and currently sole developer of Anticheese, a free anticheat for FiveM which attempts to patch exploits left behind by other Resources, while also using a few own detection methods to detect cheats.
When running a FiveM Server, it is essential to know what you are installing, what it can do, and what it can allow hackers to do.
You should always read the code of the resources you are installing, or having someone with enough knowledge do it for you, to find possible exploits.
You should never assume that players will act in good faith on your server, instead, assume every event is a target for exploitation.
While many players will most likely never cheat, those that will cheat will ruin your day, having insecure resources is one of the main reasons servers are plagued by cheaters nowadays.
What is an insecure Resource?
To differentiate between "Safe" and "Insecure" Resources, one first has to consider the possibilities a Resource gives you, as a Cheater.
Ideally, your Resource will double, triple and quadruple check input sent by Clients, in reality, input is often accepted without giving it a 2nd thought, often going so far as to allow executing arbitrary code on your server.
But wait! You might think, isn't executing code harmless? What evil things could they possibly do?
Well, let me demonstrate, here is a quick and easy way to stop a Linux-Based Server (the ENTIRE server, not the FiveM Server!), if the FXServer is ran via Administrative Privileges, using the exploit linked above.
TriggerServerEvent("RunCode:RunStringRemotelly", "os.execute('shutdown now')")

Yes, it's that simple.
But of course, remote code execution isn't the only thing you can do, what if a cheater wants to do something more harmless, like say, give themselves money?
Well,
for i=1, 100 do
    TriggerServerEvent("esx_slotmachine:sv:1", 5000, "cheated", "cheated")
end

There are a ton of ways to do things like that, many resources, even frequently updated ones, even nowadays, allow cheaters to do almost anything by triggering mere events.
But wait, what if i...
...run the server as a normal user?
You should, absolutely, if you are running your FiveM Server under a user with Admin Privileges, change that right now.
However, an insecure resource can still ruin your day very quickly, remote code execution can also allow one attacker to simply modify the user files on your Server, as such, changing the password and contacting a botnet controller with the new login infos is perfectly within the scope of what the code execution exploit above allows.
But wait, what if i...
.. Scramble Events?
Scrambling events is a workaround to an inherent issue, there are already cheats out there which match specific patterns in code to attempt to extract event names, so scrambling events is just a temporary solution for a problem that should be addressed immediately, do not rely on this to secure you, it won't.
Scrambling events will only scare away the most basic of cheaters, anyone with actual malicious intent will be able to work around it.
But wait, what if i...
Install a billion anticheats??
You are delaying the inevitable, anticheat resources can only do so much, i have nothing to sell so i'm going to be outright.
Anticheats are not a solution for an attacker that is willing to dig in your resource code for exploits. That is not what it is designed for, you cannot blame it if it does not detect a malicious actor abusing exploits you introduced on your server, that is your fault, and your fault alone.
How many resources are actually affected by such exploits?
Too many to count, i can name a few less extreme examples than the one above which do allow a certain degree nastiness.
Kashacters allows SQL Injection in certain functions
Versions of esx_license do not check if adding a certain license is valid, will cause the script to brick itself
CHEM!CAL T0Ж!N allows anyone to kick/ban anyone, no permission checks.
There are many more which are vulnerable like this, these are just a few examples
Ok, but how do i find out if my resources are vulnerable?
That's the hard part. Generally, if you are not familiar with coding, i would strongly recommend getting someone who is capable of it on board, and then auditing your Resources, there is no "one-check-finds-all" of course, every resource requires its own way of securing it against cheaters and hackers, but simply not accepting random input like so, so, so, so  many resources do goes a long way in making sure your server is free of cheaters.
A good example in how to properly use the Inbuilt FiveM Permission system is vMenu and EasyAdmin, these double check each and every event with the ACE Natives, ensuring that no one can do things they shouldn't be able to do.
Ok.. But i have a question?
Sure! Ask away, i'll keep this thread pinned for anyone that has questions about Resource security and security flaws in general, i hope this guide somewhat helped you understand the dangers of running a FiveM Server without the proper knowledge.
I will update this thread with more examples and infos when they come up
Last Change: 16/08/21
Greetings and good night.

Great guide, thanks!

How do i know that my server is running as a normal user or not? do the directory where my server is located matters?

How do i know that my server is running as a normal user or not? do the directory where my server is located matters?

the user you are running the server binary under is the user the server runs under, so if you are logged in as root on linux and run the server, it will also be under root, with the same permissions, it works the same on windows.
ideally you'd create a seperate, non elevated user just for running the fivem server.

How do i know that my server is running as a normal user or not? do the directory where my server is located matters?

the user you are running the server binary under is the user the server runs under, so if you are logged in as root on linux and run the server, it will also be under root, with the same permissions, it works the same on windows.
ideally you'd create a seperate, non elevated user just for running the fivem server.

Thank you a lot ! you made me realize how insecure my server actually was, and those mistakes are actually unforgettable.


[RNN] LSTM - quantization issue

System information

Google Colab
tensorflow version - 2.14.0

Code

I started from the following tutorial provided by tensorflow.
https://blog.tensorflow.org/2021/04/adaptive-framework-for-on-device-recommendation.html
The end goal was to create a quantized model that used the LSTM encoder.
The quantization code is as it follows:
def representative_data_gen():
    rep_dataset = input_pipeline.get_input_dataset(
        data_filepattern=FLAGS.training_data_filepattern,
        input_config=input_config,
        vocab_file_dir=FLAGS.vocab_dir,
        batch_size=100)
    print(rep_dataset)

    for data in rep_dataset:
      for i in range(100):
        yield (
          "serving_default", {
            "context_movie_genre" : data[0]["context_movie_genre"][i],
            "context_movie_id" : data[0]["context_movie_id"][i],
            "context_movie_rating" : data[0]["context_movie_rating"][i],
          }
      )
      return

  converter.optimizations = [tf.lite.Optimize.DEFAULT]
  converter.representative_dataset = representative_data_gen
  tflite_quant_model = converter.convert()
  tflite_quant_model_path = os.path.join(export_dir, 'model_quant.tflite')
  with tf.io.gfile.GFile(tflite_quant_model_path, 'wb') as f:
    f.write(tflite_quant_model)

Failure after conversion

The conversion is successful, but the generated model is wrong.
The interpreter supports the model, but I consider there is a problem with the quantization parameters.

The quantization scale for output_state_in and the actual output is different. After consulting the source code I was not able to notice any difference in the way the 2 vectors are treated during evaluation, so I suspect there may be some issues with the conversion.
I attached the generated model and the LSTM cell that has the problem highlighted.
model_quant (3).zip

Hi @RuxandraRusu29
Sorry for the delayed response.
I guess the quantization scale might be affected because of the input tensors during representative dataset calibration and  should not be a problem unless it's affecting the performance. I'm interested to know if it is ?
Thanks.


Success message for user-added anagram at end

Should say, "Yes, that IS a complete anagram for {name}, so glad you found it!"

done.  will likely change.


Travis CI: Test on Node.js v4.x.x and v5.x.x

No point in testing multiple versions here as it targets Atom, which uses latest.

:+1:


Add Cmatrix

NOTE: A similar PR may already be submitted! Please search among the Pull request before creating one.
Types of Changes
What types of changes does your PR introduce? Put an x in all boxes that apply

[x] New addition to list
[ ] Fixing bug in existing item in list
[ ] Removing item from list
[ ] Changing structure (organization) of list

Proposed Changes
CMatrix is based on the screensaver from The Matrix website. It shows text flying in and out in a terminal like as seen in "The Matrix" movie. It can scroll lines all at the same rate or asynchronously and at a user-defined speed.
PR Checklist
Put an x in the boxes once you've completed each step. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING guide
[x] I have explained why this PR is important
[x] I have added necessary documentation (if appropriate)

Further Comments
N/A

@jaywcjlove Merge this tool.


Please invite me to the Community Organization

Name
Melan Jayasinghage
Discord Username (if applicable) E.g John#412
No response
Questions & suggestions?
I would like to contribute and grow with the community.

Welcome to the community @melanj 🎉


chore: Fix merge conflict on develop

Two PRs caused the merge conflict:
https://github.com/enso-org/enso/pull/7660/files?file-filters[]=.tsx&show-viewed-files=true#diff-a7e86251b8cf8583119dd8766408ffafba16d268cdfb3db1ce920b1d1522557eR85
https://github.com/enso-org/enso/pull/7661/files#diff-a7e86251b8cf8583119dd8766408ffafba16d268cdfb3db1ce920b1d1522557eR81
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
[x] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

oh i just submitted it as #7675


Overhaul String API

Using C++ STD unicode strings will ease the usage of string literals in code (though literals are discouraged, it's sometimes necessary)


Base PGPainless-SOP on sop-java and create PGPainless-CLI based on sop-java-picocli

This PR transforms pgpainless-sop into an implementation of sop-java. The CLI capabilities were moved out into sop-java-picocli, while PGPainless' CLI implementation now lives in pgpainless-cli, which simply initializes sop-java-picocli with a SOP backend implementation from pgpainless-sop.
Fixes #133
Module Overview
This PR changes the module structure of PGPainless.
sop-java
This module contains a generalized set of implementation-independent interfaces that resemble the Stateless OpenPGP Command Line Interface, but not as a CLI, but as a Java API (similar to how there will be a C API.
Basically this is a port of the Rust SOP crate to Java.
Applications that want to use OpenPGP can depend on this interface without creating a hard dependency on any single implementation. The OpenPGP backend implementation can simply be swapped out.
If YOU are working on a Java/Kotlin based OpenPGP implementation, please consider implementing this interface or otherwise get in touch to give feedback!
sop-java-picocli
This module is a command line application frontend for sop-java and a 1:1 implementation of Stateless OpenPGP Command Line Interface.
It uses picocli to realize CLI command parsing and forwards requests to the sop-java interface.
This module is not capable of OpenPGP operations without a backend SOP implementation.
If you have an implementation of sop-java using another OpenPGP library, it is trivial to plug your SOP implementation into sop-java-picocli to get a working OpenPGP command line application (see pgpainless-cli for an example).
pgpainless-sop
This is where pgpainless-sop comes into play. It is an implementation of the sop-java interface using pgpainless-core. pgpainless-sop can therefore be used as a plug-in implementation of the SOP interface for Java.
pgpainless-cli
Lastly, pgpainless-cli simply plugs pgpainless-sop into sop-java-picocli to create a ready-to-go OpenPGP command line application.
pgpainless-cli will soon replace the binary that is being tested for PGPainles on https://tests.sequoia-pgp.org.

Pull Request Test Coverage Report for Build 663

475 of 916 (51.86%)  changed or added relevant lines in 42 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-4.8%) to 79.868%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pgpainless-sop/src/main/java/org/pgpainless/sop/ArmorImpl.java
16
17
94.12%

sop-java-picocli/src/main/java/sop/cli/picocli/SopCLI.java
6
7
85.71%

pgpainless-core/src/main/java/org/pgpainless/encryption_signing/SigningOptions.java
1
3
33.33%

pgpainless-core/src/main/java/org/pgpainless/exception/KeyCannotSignException.java
0
2
0.0%

sop-java-picocli/src/main/java/sop/cli/picocli/commands/DearmorCmd.java
5
7
71.43%

sop-java/src/main/java/sop/DecryptionResult.java
4
6
66.67%

sop-java/src/main/java/sop/Ready.java
1
4
25.0%

sop-java/src/main/java/sop/ReadyWithResult.java
1
4
25.0%

pgpainless-sop/src/main/java/org/pgpainless/sop/ExtractCertImpl.java
10
14
71.43%

sop-java/src/main/java/sop/util/UTCUtil.java
4
8
50.0%

Totals

Change from base Build 661:
-4.8%

Covered Lines:
3999

Relevant Lines:
5007

💛  - Coveralls


try fix the  of this request depends on a user-provided value

What problem are we solving?
https://github.com/seaweedfs/seaweedfs/runs/8141349428
How are we solving the problem?
https://lgtm.com/rules/1511612522731/
and
https://lgtm.com/help/lgtm/alert-suppression
How is the PR tested?
Checks

[ ] I have added unit tests if possible.
[ ] I will add related wiki document changes and link to this PR after merging.

@chrislusf Can you dismiss them from the web interface under the Dismiss dropdown at the top right of the alert page ?

Greetings, thanks for reaching out to us! The alert suppression comments you have used there apply to LGTM.com and do not suppress alerts on GitHub's Code Scanning. Currently, it is not possible to suppress alerts on Code Scanning with a comment but you can dismiss them from the web interface under the Dismiss dropdown at the top right of the alert page. See https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/managing-code-scanning-alerts-for-your-repository#dismissing-or-deleting-alerts for more information about dismissing and/or deleting alerts in Code Scanning.


virt-launcher: Switch to virtqemud

What this PR does / why we need it:
Currently, we are using the monolithic daemon of libvirt, which exposed support for
all the stateful drivers, both primary hypervisor drivers and secondary supporting drivers.
In future, libvirtd will be replaced by a new set of modular daemons, each one servicing
a single stateful driver.
For our purposes virtqemud is sufficient. No other daemon is needed.
This should also slightly decrease the impact on memory.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Switching to virtqemud daemon, makes every virtsh commands to fail if the connection string is not explicitly given. (open bug: https://bugzilla.redhat.com/show_bug.cgi?id=2135377)
In addition, passing the connection string avoid libvirt to do some stuff to resolve default URI.
Release note:

virt-launcher: use `virtqemud` daemon instead of `libvirtd`

/cc @xpivarc @jean-edouard
Do you have time to take a look? Thanks

/retest

fyi @andreabolognani

@andreabolognani Thanks for your review. I pushed the changes accordingly to your comments. PTAL

@fossedihelm the changes all look reasonable now, but stepping back one second: are you absolutely positive that specifying the socket path explicitly is necessary?
We're using the default paths anyway, so libvirt should already be able to figure them auto itself based on the connection URI. If that doesn't work, there's probably a bug in libvirt that we should look into.
Can you please try not using the socket URI parameter and see whether things start failing horribly in that case? Thanks!

@andreabolognani
Seems like in CreateLibvirtConnection the socket is not required, also in session mode.
{"component":"virt-launcher","level":"info","msg":"Decided on pid file path '/var/run/libvirt/virtqemud.pid'","pos":"main:971","subcomponent":"libvirt","thread":"24","timestamp":"2022-10-20T16:06:01.878000Z"}
{"component":"virt-launcher","level":"info","msg":"Decided on socket paths '/var/run/libvirt/virtqemud-sock', '\u003cnull\u003e' and '/var/run/libvirt/virtqemud-admin-sock'","pos":"main:985","subcomponent":"libvirt","thread":"24","timestamp":"2022-10-20T16:06:01.878000Z"}

@xpivarc do you think we should leave it to libvirt itself? Doing something like
libvirtUri := "qemu:///system"
user := ""
if runWithNonRoot {
	user = putil.NonRootUserString
	libvirtUri = "qemu+unix:///session"
}

Thanks

@andreabolognani If you agree I will leave this as is.
Also, talking with others, it isn't necessary wait for https://github.com/kubevirt/kubevirt/pull/8404, since, also if the modular daemons are not the default, they can be used without any problems.
/retest-required

/hold
@andreabolognani Let's wait for https://github.com/kubevirt/kubevirt/pull/8404. Thanks

@fossedihelm #8404 has now been merged, so feel free to pick up this PR again and thank you for your patience!

@andreabolognani Thanks for your work! I pushed the changes, dropping the workaround for centos 8.
PTAL! Thanks

@jean-edouard Since there are changes since your approve, maybe you could have a look again. Thanks
/unhold

@fossedihelm this looks reasonable.
I would still like to see the potential improvements mentioned throughout the discussion in this PR being implemented as a follow-up. If you decide to take on that task, please ping me and I'll happily take a look. Thanks!

I would still like to see the potential improvements mentioned throughout the discussion in this PR being implemented as a follow-up. If you decide to take on that task, please ping me and I'll happily take a look. Thanks!

@andreabolognani Thanks! Yes, the follow up PR is in my todo list :) Once it will be ready, I will cc it to you. Thanks again

/retest-required

/retest-required

/lgtm

/retest-required

/retest-required


Move data from regime switching example to blackjax repo

They are downloaded from one of  @albcab's repos currently. It can also be used for a stochastic volatility model that I'd planned on implementing in Aesara/Numba.
Make sure they're not included in the release tarball.

We want to rewrite the model in Aesara as well. Its DSL allows to assign random variables in a scan loop and it will be more compact.


Add youtube and vimeo link check support

For youtube links, it's necessary to scrape the content of the website to work out if the video still exists. For vimeo, they don't really like fake user agents.
The https://www.youtube.com/oembed API will return 404 for missing videos and can be used to check youtube links.
We special case GitHub already, we could special case YouTube and Vimeo too. The mechanism to specialize these kinds of links should be made extensible though.

@pawroman and me discussed that we could have a workarounds or overwrites module for these cases.
Perhaps a structure like this would work:
struct Overwrite {
  match: regex::Regex,
  user_agent: String,
  headers: HashSet<Header>,
  // ...
}

We could think about more generic approaches, but I'd be careful not to generalize too early and only add the overwrites we need in the beginning. Any ideas?

I'm working on this in #156.
Tested vimeo and it seems to be okay with a fake user agent (?):
 curl -sIXGET  -A "totally-legit-useragent" https://vimeo.com/510814675

This gives me a 200.
 curl -sIXGET  -A "totally-legit-useragent" https://vimeo.com/510814675invalid

This gives me a 404 as expected.
Perhaps they changed something on their end?

This should be fixed now in master because #156 is merged. 🎉


Fetch API headers not sent when end point redirects with HTTP 301

Description
When making requests with custom headers (such as Authorization), if the end point returns HTTP 302 FOUND, the fetch API will proceed to forward the request to a new URL however, the custom headers will not sent to the redirected URL.
Reproduction

Make a request to any REST API that requires custom header with HTTP 302 response header
Inspect the traffic
First request includes custom header
Forwarded request does not include custom header

Solution
A. Include header in redirected requests
B. Add ability to intercept redirect responses
Additional Information

React Native version: 0.36
Platform: Both
Operating System: MacOS

We also observed that this issue only occurs in IOS (android works).

We're experiencing the same issue on both platforms (using RN 0.42.3)

Hi there! This issue is being closed because it has been inactive for a while.
But don't worry, it will live on with Canny! Check out its new home: https://react-native.canny.io/feature-requests/p/fetch-api-headers-not-sent-when-end-point-redirects-with-http-301

this issue is not fixed (2017-oct),  but if you know this, you only fix your url for not redirect 301 or 302  :<     i lose  some days wiht this bug.

This issue is not fixed still.
I definitely lost a bunch of days because of this bug. Maddening because it works on android just not on ios.


Added quotes to logged line when entry is removed.

Just a super-minor fix. :-)

Thanks @realyze - This will go out with the next release.


docs: add API reference for env for local & local_resource

See tilt-dev/tilt#4072 for corresponding feature implementation.
api docs: local

api docs: local_resource

NOTE: this also adds `tags` to the function arg signature but doesn't add any actual docs around it besides that (fyi @maiamcc)
example docs: local_resource w/ env

NOTE: there's also a slight correction to add a `name` to the other examples in this section, which were missing it and so weren't actually syntactically valid

This is good to go now that v0.18.5 got cut which includes this 🎉

This is good to go now that v0.18.5 got cut which includes this 🎉


Subscriber stops receiving messages when multimaster_fkie is running

Good morning.
The commit that you refereed fixed the error that I was noticing when running multimaster_fkie and goroslib. However, it seems that now, after a while, the subscriber stops receiving information. It happens after approximately 10 minutes. I tried with a simple string just to test and the problem persists. Interesting bug.
Best,
Filipe Pinto

Hi, thanks for the report, could you provide basic versions of the publisher and the subscriber?
Ideally i'd like to have a list of docker commands, like in this issue:
https://github.com/aler9/goroslib/issues/6
If docker commands are provided, i can then build an automated test to ensure this bug does not appear anymore.
Thanks

Good morning. I'm not familiar with the Docker, but I can describe the steps I'm following. I hope it helps.
You just need to have two machines within the same network, multimaster_fkie installed on both machines and goroslib.
Machine 1:

roslaunch master_discovery_fkie master_discovery.launch
roslaunch master_sync_fkie master_sync.launch
rostopic pub /test std_msgs/String "data: 'Hey'" -r 20

Machine 2:

roslaunch master_discovery_fkie master_discovery.launch
roslaunch master_sync_fkie master_sync.launch
rostopic echo /test ( just to make sure that you can see what the other machine is sending)
go build test.go
./test

The subscriber will stop receiving messages after approximately 10 minutes.
GOROSLIB subscriber that I'm using:
package main

import (
	"fmt"
	"time"

	"github.com/aler9/goroslib"
	"github.com/aler9/goroslib/msgs/std_msgs"
)

func onMessage(msg *std_msgs.String) {
	fmt.Printf("Incoming: %+v\n", msg)
}

func main() {
	time.Sleep(2 * time.Second)

	// create a node with given name and linked to given master.
	// master can be reached with an ip or hostname.
	n, err := goroslib.NewNode(goroslib.NodeConf{
		Name:       "/goroslib",
		MasterHost: "<IP_ADDRESS>",
	})
	if err != nil {
		panic(err)
	}
	defer n.Close()

	// create a subscriber
	sub, err := goroslib.NewSubscriber(goroslib.SubscriberConf{
		Node:     n,
		Topic:    "/test",
		Callback: onMessage,
	})
	if err != nil {
		panic(err)
	}
	defer sub.Close()

	// freeze main loop
	infty := make(chan int)
	<-infty
}

Hi, i repeatedly tried to replicate this bug but without success. I'm able to establish a subscriber-publisher connection, with goroslib being the subscriber, between two separate machine with ros and ros multimaster running, for many hours.
I used:

Ubuntu bionic (18.04) and ROS melodic
Golang 1.14 and the last goroslib version

Both Ubuntu and Go are run in a Docker container, in order to use an environment that can be recreated with a couple of commands and can be replicated.
I'm posting the exact commands i've used below.
First PC (publisher)
docker run --rm -it --network=host \
ros:melodic-ros-core-bionic sh -c "\
apt update && apt install -y ros-melodic-multimaster-fkie \
&& (roscore &) \
&& sleep 3 \
&& (rosrun master_discovery_fkie master_discovery &) \
&& sleep 3 \
&& rosrun master_sync_fkie master_sync"

and
docker run --rm -it --network=host \
ros:melodic-ros-core-bionic sh -c "\
rostopic pub /test std_msgs/String \"data: 'Hey'\" -r 20"

Second PC (subscriber)
docker run --rm -it --network=host \
ros:melodic-ros-core-bionic sh -c "\
apt update && apt install -y ros-melodic-multimaster-fkie \
&& (roscore &) \
&& sleep 3 \
&& (rosrun master_discovery_fkie master_discovery &) \
&& sleep 3 \
&& rosrun master_sync_fkie master_sync"

and
docker build - -t temp << EOF
FROM golang:1.13
WORKDIR /s
RUN echo '\n\
module main\n\
require github.com/aler9/goroslib v0.0.0-20200608201439-746b429ea378\n\
' > go.mod
RUN echo '\n\
package main\n\
\n\
import (\n\
    "fmt"\n\
    "time"\n\
\n\
    "github.com/aler9/goroslib"\n\
    "github.com/aler9/goroslib/msgs/std_msgs"\n\
)\n\
\n\
func onMessage(msg *std_msgs.String) {\n\
    fmt.Printf("Incoming: %+v\\\n", msg)\n\
}\n\
\n\
func main() {\n\
    time.Sleep(2 * time.Second)\n\
\n\
    // create a node with given name and linked to given master.\n\
    // master can be reached with an ip or hostname.\n\
    n, err := goroslib.NewNode(goroslib.NodeConf{\n\
        Name:       "/goroslib",\n\
        MasterHost: "<IP_ADDRESS>",\n\
    })\n\
    if err != nil {\n\
        panic(err)\n\
    }\n\
    defer n.Close()\n\
\n\
    // create a subscriber\n\
    sub, err := goroslib.NewSubscriber(goroslib.SubscriberConf{\n\
        Node:     n,\n\
        Topic:    "/test",\n\
        Callback: onMessage,\n\
    })\n\
    if err != nil {\n\
        panic(err)\n\
    }\n\
    defer sub.Close()\n\
\n\
    // freeze main loop\n\
    infty := make(chan int)\n\
    <-infty\n\
}\n\
' > main.go
RUN go build -o /out .
ENTRYPOINT [ "/out" ]
EOF
docker run --rm -it --network=host temp

The test run smoothly, multiple times and for many hours.
Please check again with Go 1.14, Ubuntu 18.04, the last goroslib revision and let me know. Until i'm unable to replicate the bug, i cannot fix it.
Thanks for your time.

Hello, I tested it again with the multimater_fkie default configuration and everything is running smoothly.
I think it was a conflict with the configuration that I was using.
Thank you for your time.
Best,
Filipe


Build a Star Tracker for CubeSat ADCS with me

Hi Thomas
First off, I very much appreciate what you are doing with your channel.
I set out to build an open source CubeSat a few years ago and earlier this year, I have started a YT channel to document the progress
It's definitely early days, but progress has been steady and folks seem to like the project :) Here is the repo on Codeberg.
One of the big ticket items down the road in terms of complexity will be ADCS.
As you can imagine, these are supremely expensive. A major goal of mine is to keep cost low and accessibility high. So I was wondering if you would be interested in partnering up on this. I'd feel right at home with the hardware aspects, but when it comes to software, I'm a noob.
Here is how i think these work: At the core of the thing, a plate solver would need to run sporadically and ingest one or multiple images (that may or may not have 'bad' data in them that needs to be accounted for, like motion blur, optical flares, the sun or the earth), filter out start position patterns, run these patterns against a catalog of known patterns, and then, given the precise time, calculate the spacecraft's rotation in 3 axes, probably relative to earth).
Ideally, this would be written in Python or MicroPython, same as most of the CubeSats's subsystems.
I have a vague feeling that a chip like the RP2350, maybe together with a TPU accelerator, could get the job done, but that's pretty much at the edge of my knowledge.
I do think this is a really nice challenge. It's a bit of a longer-term thing as I won't be getting into ADCS until late next year, but I have been thinking about getting in touch with you about this for a while and I though I'd seize this opportunity and post here :)
Anyways, I'd love to collaborate on this. Also, we could meet up irl to discuss this further at some point as I am also a member of the Germanic accent club.
Best,
Manuel

Hey Manuel,
thank your for your detailed description. This is indeed an insane project (in a positive sense :-)).
I worked on ADCS data the other day when I was part of ESA's Rosetta team. We used these data in a side project to track dust particles around the comet. During that time I was diving a little bit into this topic and I recall some things like Star Catalogue matching (what you mentioned) and the computation of the corresponding quaternions. Which can be then used e.g., in SPICE to determine the attitude of the spacecraft w.r.t. e.g. the J2000 reference frame.
Yes, this is a major project and I'd like to work on it, move I think I have to move this to 2025, too. Let's keep in touch. I subbed to your YT channel.
By the way: I was always looking for a micro-python project. This is very promising :)!

Dude, you worked on Rosetta?! That is insane, in a very positive way!
Awesome, sounds like a nice match then and something we'd both have fun working on.
Let's talk again some time next year, and thanks for the sub =)


Symbols decoding issue

Reproduction
I load a .json file from public directory with Japan text In loader function, like this:
賞品獲得に挑戦しよう
but in component I see like this:
è³žå“ç²å¾—ã«æŒ‘æˆ¦ã—ã‚ˆã†
I added "application/json; charset=UTF-8" in loader Response but it doesn't help
 return new Response(JSON.stringify({ ok: true, data }), {
    headers: {
      "Content-Type": "application/json; charset=utf-8",
    },
  });

The same when I use:
 const headers = new Headers();
 headers.append("Content-Type", "application/json; charset=UTF-8");
 json({ ok: true, data }, { headers });

I found that fetch loads correct text, so I believe this happens between response and useLoaderData();
System Info
System:
    OS: Linux 5.15 Linux Mint 21.3 (Virginia)
    CPU: (6) x64 Intel(R) Core(TM) i5-9600K CPU @ 3.70GHz
    Memory: 11.75 GB / 15.55 GB
    Container: Yes
    Shell: 5.8.1 - /usr/bin/zsh
  Binaries:
    Node: 20.12.2 - ~/.nvm/versions/node/v20.12.2/bin/node
    Yarn: 1.22.19 - ~/.yarn/bin/yarn
    npm: 10.5.0 - ~/.nvm/versions/node/v20.12.2/bin/npm
    pnpm: 9.3.0 - ~/.nvm/versions/node/v20.12.2/bin/pnpm

Used Package Manager
yarn
Expected Behavior
Symbols in component should looks like the origins in .json file
Actual Behavior
I see a different symbols for Japan text after put it in frontend

I tried to replicate with here but it seems to work.
I'm doing a console.log of the data from the imported .json file in the loader and the component body, and I'm also rendering the data in the UI and in all cases I see the correct text.
Check if you have <meta charSet="utf-8" /> in your app/root.

Yes, you are right, I haven't set <meta charSet="utf-8" /> in your app/root.
Thank you for quick response.


Fixing SIL OFL links and typo in README.md

This PR intends to fix the following items in README.md:

URLs for SIL OFL License;
a minor typo (ala instead of a la).

Merged as 4aab5da48d800439b51d5d752f69a4ae30cd79d0, thank you!


[threading] progess bar?

can't see the progress bar with album and playlist downloads?
CLI OUTPUT:
tiddl https://listen.tidal.com/album/76203980 -p "E:\eNT"
TIDDL album: head or heart
TIDDL sleeping for 1.6s
TIDDL head or heart/trust :: Max Quality - 24 bit 96.0 kHz
TIDDL track saved in E:\eNT/head or heart/trust.m4a
TIDDL sleeping for 2.0s
TIDDL head or heart/burning gold :: Max Quality - 24 bit 96.0 kHz
TIDDL track saved in E:\eNT/head or heart/burning gold.m4a
TIDDL sleeping for 2.4s
TIDDL head or heart/be my forever (feat. ed sheeran) :: Max Quality - 24 bit 96.0 kHz
TIDDL track saved in E:\eNT/head or heart/be my forever (feat. ed sheeran).m4a
TIDDL sleeping for 1.8s
TIDDL head or heart/human :: Max Quality - 24 bit 48.0 kHz
TIDDL track saved in E:\eNT/head or heart/human.m4a
TIDDL sleeping for 1.9s
TIDDL head or heart/one night :: Max Quality - 24 bit 96.0 kHz
TIDDL track saved in E:\eNT/head or heart/one night.m4a
TIDDL sleeping for 2.1s
TIDDL head or heart/i dont wanna break :: Max Quality - 24 bit 96.0 kHz
TIDDL track saved in E:\eNT/head or heart/i dont wanna break.m4a
TIDDL sleeping for 2.4s
TIDDL head or heart/sea of lovers :: Max Quality - 24 bit 96.0 kHz
TIDDL track saved in E:\eNT/head or heart/sea of lovers.m4a
TIDDL sleeping for 2.5s
TIDDL head or heart/the words :: Max Quality - 24 bit 96.0 kHz
TIDDL track saved in E:\eNT/head or heart/the words.m4a
TIDDL sleeping for 1.8s
TIDDL head or heart/lonely child :: Max Quality - 24 bit 96.0 kHz
TIDDL track saved in E:\eNT/head or heart/lonely child.m4a
TIDDL sleeping for 2.5s
TIDDL head or heart/run :: Max Quality - 24 bit 96.0 kHz
TIDDL track saved in E:\eNT/head or heart/run.m4a
TIDDL sleeping for 1.5s
TIDDL head or heart/butterfly :: Max Quality - 24 bit 96.0 kHz
TIDDL track saved in E:\eNT/head or heart/butterfly.m4a
TIDDL sleeping for 1.9s
TIDDL head or heart/shot me in the heart :: Max Quality - 24 bit 96.0 kHz
TIDDL track saved in E:\eNT/head or heart/shot me in the heart.m4a
TIDDL sleeping for 2.3s
TIDDL head or heart/i believe :: Max Quality - 24 bit 96.0 kHz
TIDDL track saved in E:\eNT/head or heart/i believe.m4a

The issue comes from Max Quality tracks, where tracks are fragmented in urls.
I have not created progress bar for these tracks because we would have to make HEAD request to all urls (usually ~50 urls) to get track full size. But we can show the progress of urls list, instead of total size downloaded like it is when downloading single url.

I have not created progress bar for these tracks because we would have to make HEAD request to all urls (usually ~50 urls) to get track full size. But we can show the progress of urls list, instead of total size downloaded like it is when downloading single url.

also just thought of requesting (~50+) urls, will this case any issue with account block or something relevant?

Prolly Tidal has some limitations to api (429 http code) but it never happened to me when using this package.
I guess we can't ddos them with single computer and just 50 urls. It is like normal usage.
Track urls are at different server than Tidal api, I don't know if Tidal has systems to detect high usage but it possibly has.
Let's hope no one will get blocked using this package, I got to add a disclaimer to readme file.

Prolly Tidal has some limitations to api (429 http code) but it never happened to me when using this package. I guess we can't ddos them with single computer and just 50 urls. It is like normal usage. Track urls are at different server than Tidal api, I don't know if Tidal has systems to detect high usage but it possibly has. Let's hope no one will get blocked using this package, I got to add a disclaimer to readme file.

okay, thanks. also i thought in future when there are more features and other stuffs are added. then there could be an Wiki page unlocked for better and detailed description and steps and have the readme for general and legal (like disclaimer notes).


Add CI config to automate onprem builds

@antoinerg the error is because we had not added GITHUB_TOKEN in CI environment variable.
The variable has been added now so this should be good.
@joaoalf Please review..


Support pulsar messasging layer

Purpose
Add pulsar messaging layer support
Remarks

PR introduces (a) breaking change(s): <yes/no>
PR introduces (a) deprecation(s): <yes/no>

@tenthe Tha's very useful suggestions. Thanks! I'm currently fixing some problems.

I'm currently working on the other task and will return back to this PR when I have time.

When I run npm run test-cypress-smoke, all tests are passed expects for the cypress/tests/thirdparty/Kafka.smoke.spec.ts:
 1) Test Kafka Integration
       Perform Test:
     CypressError: `cy.type()` failed because it requires a valid typeable element.

The element typed into was:

  > `<label _ngcontent-bbr-c328="" style="font-weight: normal;">cypress...</label>`

  A typeable element matches one of the following selectors:
  `a[href]`
  `area[href]`
  `input`
  `select`
  `textarea`
  `button`
  `iframe`
  `[tabindex]`
  `[contenteditable]`

https://on.cypress.io/type
      at <unknown> (http://localhost/__cypress/runner/cypress_runner.js:134708:84)
      at tryCatcher (http://localhost/__cypress/runner/cypress_runner.js:8914:23)
      at Promise._settlePromiseFromHandler (http://localhost/__cypress/runner/cypress_runner.js:6849:31)
      at Promise._settlePromise (http://localhost/__cypress/runner/cypress_runner.js:6906:18)
      at Promise._settlePromise0 (http://localhost/__cypress/runner/cypress_runner.js:6951:10)
      at Promise._settlePromises (http://localhost/__cypress/runner/cypress_runner.js:7031:18)
      at _drainQueueStep (http://localhost/__cypress/runner/cypress_runner.js:3621:12)
      at _drainQueue (http://localhost/__cypress/runner/cypress_runner.js:3614:9)
      at ../../node_modules/bluebird/js/release/async.js.Async._drainQueues (http://localhost/__cypress/runner/cypress_runner.js:3630:5)
      at Async.drainQueues (http://localhost/__cypress/runner/cypress_runner.js:3500:14)
  From Your Spec Code:
      at eval (webpack://apache-streampipes/./cypress/support/utils/StaticPropertyUtils.ts:51:43)
  at Array.forEach (<anonymous>)
      at StaticPropertyUtils.input (webpack://apache-streampipes/./cypress/support/utils/StaticPropertyUtils.ts:24:16)
      at ConnectUtils.configureAdapter (webpack://apache-streampipes/./cypress/support/utils/connect/ConnectUtils.ts:119:28)
      at ConnectUtils.testAdapter (webpack://apache-streampipes/./cypress/support/utils/connect/ConnectUtils.ts:34:21)
      at ThirdPartyIntegrationUtils.runTest (webpack://apache-streampipes/./cypress/support/utils/ThirdPartyIntegrationUtils.ts:44:21)
      at Context.eval (webpack://apache-streampipes/./cypress/tests/thirdparty/Kafka.smoke.spec.ts:64:35)

Here is the screenshots:

Hi @RobertIndie awesome to have Pulsar supported 😄
I had similar cypress problems in the other branch where I upgraded Angular, I'll have a look tomorrow and see if we can port the change to your branch!

Hi @RobertIndie I think I've fixed the Kafka smoke test by changing the input type for the topic selection to 'checkbox'. My guess is that the test failed every time when the returned topic list only contained a single topic, so good catch ;-)
I tested the Pulsar setup by adding the official docker-compose file from Pulsar to the CLI and two new environments, which worked without problems. Maybe you can have a look at the docker-compose configuration and see if it needs any changes.
My changes are in https://github.com/apache/streampipes/tree/add-pulsar
Great work!

Thanks @dominikriemer .
All tests are passed now!

I'm going to merge this PR. Thanks for all your support and review! :)


Merge master branch to prTesting1_202005271911 branch

Docs Build status updates of commit 6dd2653:
:clock10: Pending: waiting for processors (8 builds ahead of you)
:warning: Docs Build is busy, currently there are 8 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 6dd2653:
:warning: Validation status: warnings

File
Status
Preview URL
Details

split/updateTestCon1.md
:warning:Warning

Details

split/updateTestCon1.md

Line 0: [Warning-h1-not-first] Markdown content is not allowed before H1.
Line 1: [Suggestion-h1-missing] H1 is required. Use a single hash (#) followed by a space to create your top-level heading. NOTE: This Suggestion will become a Warning on 04/01/2020.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


ipa command builds project twice

I have a lane only with ipa command and my project has been built twice.
Here how lane looks like. I start the build with fastlane prod.
The fastlane version is 0.1.16
lane :prod do
  ipa({
      workspace:ENV["WORKSPACE"],
      configuration:"Release",
      scheme: "My Scheme",
      ipa: "my_project.ipa",
      clean: true,
      archive: true,
      verbose:true
    })
end

Sorry, what is the problem? fastlane uses shenzhen under the hood.

What does your before block look like? I believe it will build twice if you are also using xctool

With xctool it works good. The block build project only once, as expected.
Here how the block looks like with xctool.
lane :prod do
  # ipa({
  #     workspace:ENV["WORKSPACE"],
  #     configuration:"Release",
  #     scheme: "My Scheme",
  #     ipa: "my_project.ipa",
  #     clean: true,
  #     archive: true,
  #     verbose:true
  #   })

xctool "-workspace /Path/to/CDWorkspace.xcworkspace \
        -scheme 'My Scheme' \
        -configuration Release \
        -sdk iphoneos archive"
end

Sorry, we need more information to debug your issue here. Please post your full Fastfile and full stack trace when running fastlane.

You can download or checkout Fastlane Example project. The project has a script which automatically increase build number.
When you download the project, you should setup the project path in .env file before you run  fastlane prod command. You'll notice that build number increased by 2.
Looks like the ipa command builds main target first and increase build number by 1, and then test target and increase build number one more time.
Why it builds test target? Test target shouldn't be built during archiving.

Hi Felix, any news regarding build issue?

@stojanovicigi @krausefx I will look into this one today 😊

Thanks :)

@stojanovicigi First, thanks for providing an example project :blush: Makes testing a lot easier
Second, I ran fastlane prod and saw this output below. There are two lines that have xcodebuild in them. Is that what you are seeing that is making it seem like it is building twice? Or are you seeing two ipa build commands being called (which I am not seeing)?
--- stojanovicigi-fastlane-example-c9c9e237dc14/FastlaneExample » fastlane prod
INFO [2015-03-11 20:28:27.69]: Driving the lane 'prod'
INFO [2015-03-11 20:28:27.69]: -----------------
INFO [2015-03-11 20:28:27.69]: --- Step: ipa ---
INFO [2015-03-11 20:28:27.69]: -----------------
DEBUG [2015-03-11 20:28:27.69]: ipa build -p "../FastlaneExample.xcodeproj" -s "FastlaneExample" -c "Release"
INFO [2015-03-11 20:28:27.69]: [SHELL COMMAND]: ipa build -p "../FastlaneExample.xcodeproj" -s "FastlaneExample" -c "Release"
INFO [2015-03-11 20:28:33.08]: [SHELL OUTPUT]: xcodebuild  ../FastlaneExample.xcodeproj
INFO [2015-03-11 20:28:33.08]: [SHELL OUTPUT]: xcodebuild -sdk iphoneos -project "../FastlaneExample.xcodeproj" -scheme "FastlaneExample" -configuration "Release" clean build archive 1> /dev/null
INFO [2015-03-11 20:28:38.51]: [SHELL OUTPUT]: xcrun  PackageApplication
INFO [2015-03-11 20:28:38.77]: [SHELL OUTPUT]: zip  /Users/josh/Downloads/stojanovicigi-fastlane-example-c9c9e237dc14/FastlaneExample/FastlaneExample.app.dSYM
INFO [2015-03-11 20:28:38.83]: [SHELL OUTPUT]: Successfully built:
INFO [2015-03-11 20:28:38.83]: [SHELL OUTPUT]: /Users/josh/Downloads/stojanovicigi-fastlane-example-c9c9e237dc14/FastlaneExample/FastlaneExample.ipa
INFO [2015-03-11 20:28:38.84]: fastlane.tools finished successfully 🎉

@joshdholtz first of all, thank you for your effort.
My fastlane log looks much different then your. You can download the log from this location
I don't see two ipa build nor two xcodebuild commands, but however there are two times
=== BUILD TARGET FastlaneExample OF PROJECT FastlaneExample WITH CONFIGURATION Release ===

I took a quick look and found this in the log.
# fastlane 0.2.1 is available.

@KrauseFx Yes, but unfortenully, I have the same issue with version 0.2.1
I attached new log file with the newest fastlane.

@stojanovicigi I believe this is an issue with the configuration of your project. In order to get the output I did before, I had to turn off the running of tests in the scheme (see attached image)

What is also going on is that you have the "Bump Version Number" script in your build phase. Since both of the project and tests get built, the build phase gets ran twice which is why you are seeing it getting incremented twice.
Let me know if I am interpreting that wrong :grin:

I get your same response if I call the xcodebuild command directly. Not sure exactly what the correct parameters would be though to make that not happen.

@stojanovicigi Did you ever get this figured out?

@joshdholtz Not yet, didn't have time to play with it, but I'll try to figure out something during the week.

Any updates on this issue?

This is actually a problem with Shenzhen. It does a 'clean', then a 'build', then an 'archive'. But of course the 'archive' does a full rebuild so it ends up building your project twice.
I've raised an issue on Shenzhen for this very thing but it hasn't been resolved yet. @stojanovicigi it might help if you confirmed the issue over there: https://github.com/nomad/shenzhen/issues/223

@lmirosevic You should probably re-open the issue on shenzhen :+1:

I was hoping @mattt would reopen it. Didn't want to be too bolshy and create a new issue

@lmirosevic I'll check the issue and confirm it during the day. Thank you guys.

@stojanovicigi Were you able to confirm if shenzhen is indeed doing a build and then an archive?

As this is an issue of shenzhen or xcodebuild I'll close this issue for now. Please refer to https://github.com/nomad/shenzhen/issues/223 for further discussion. All fastlane does is to trigger shenzhen using the ipa command.

Just wanna throw it out there (I'll comment on the shenzhen issue as well) that I'm seeing the same issue with my project. I was wondering why this was taking fooorrreeeevvvverrr:
From report.xml
 <testcase name="6: ipa" time="4180.888665"/>


Fix Resource Bundle Packaging and Loading with CocoaPods

Resolves https://github.com/readium/swift-toolkit/issues/74

@mickael-menu would love to get your feedback on this. It addresses the issue I filed the other day.

Thank you, it looks good. I'll test it out tomorrow.
There's a GH action failure but it's caused by an outdated XcodeGen version, I'll fix it in your PR. Did you check the "Allow edit from maintainers" checkbox when creating the PR? I don't see the button allowing me to update the branch to develop.

@mickael-menu I didn't check that box no sorry. tabac I didn't know such a box existed. I just checked and I don't see the ability to change that now. Do you need me to recreate the branch? Or just rebase on develop,

@jspizziri Yes could you recreate the PR? I might make some other changes related to the identifier (we are dropping the R2 prefix nowadays)

@mickael-menu I looked into this and because our fork is from an organizational account there isn't an option to allow this.
So the options we have are:

You can fork my fork and make the changes there.
You can leave me feedback and I'll implement it.
I could move our fork to my personal account and resubmit the PR for you.

Let me know what you prefer!

@mickael-menu I went with option 3. Closing this in favor of https://github.com/readium/swift-toolkit/pull/76


Cannot compile/run with the new 'configurations' property

Hey @abhinayagarwal, I finally had some time to test the plugin with the recent changes. Seems like there are still issues.
If I use the configuration shown here in the README:
configurations = [ 'implementation', 'testImplementation' ]
I have this situation:

If I use:
configurations = [ 'compileOnly', 'testImplementation' ]
I can compile, no more errors in the IDE, but when I run the application:

The only configuration that allows me to compile and run is:
configurations = [ 'compileOnly', 'runtimeOnly', 'testImplementation' ]
However, shouldn't implementation cover both of them? Am I doing something wrong?

Yes, implementation cover both compile and runtime dependencies.
I am unable to reproduce the issue you are facing with configurations = [ 'implementation', 'testImplementation' ].
Have you tried compiling via the terminal?
This looks like an IDE cache issue.

Unfortunately I have the same issue if I use the Gradle Wrapper:

Running ./gradlew dependecies though, seems to reveal that the JavaFX modules have not been added to implementation

This is the report with implementation: Gradle Scan
This is the report with compileOnly and runtimeOnly: Gradle Scan

To make things even more weird, the fact that JavaFX modules are correctly added for the test environment, lol what's going on haha

I don't see an issue with the following configurations:
plugins {
  id 'application'
  id 'org.openjfx.javafxplugin' version '0.0.14'
}

repositories {
    mavenCentral()
}

javafx {
    version = '17'
    modules = [ 'javafx.controls' ]
    configurations = [ 'implementation', 'testImplementation' ]
}

mainClassName = 'HelloFX'

Running ./gradlew -q dependencies gives the following o/p:
➜  hellofx git:(master) ✗ ./gradlew -q dependencies

------------------------------------------------------------
Root project 'hellofx'
------------------------------------------------------------

annotationProcessor - Annotation processors and their dependencies for source set 'main'.
No dependencies

apiElements - API elements for main. (n)
No dependencies

archives - Configuration for archive artifacts. (n)
No dependencies

compileClasspath - Compile classpath for source set 'main'.
+--- org.openjfx:javafx-base:17
+--- org.openjfx:javafx-graphics:17
|    \--- org.openjfx:javafx-base:17
\--- org.openjfx:javafx-controls:17
     \--- org.openjfx:javafx-graphics:17 (*)

compileOnly - Compile only dependencies for source set 'main'. (n)
No dependencies

default - Configuration for default artifacts. (n)
No dependencies

implementation - Implementation only dependencies for source set 'main'. (n)
+--- org.openjfx:javafx-base:17 (n)
+--- org.openjfx:javafx-graphics:17 (n)
\--- org.openjfx:javafx-controls:17 (n)

...

We ran into the same issue as @palexdev with gradle 7.6.1 and 8.1.1. Adding compileOnly to the configurations fixes this.

It would be nice to have a test project where the behavior can be reproduced.

It's as simple as modifying your example and use the java-library instead of the application plugin:
plugins {
  id 'java-library'
  id 'org.openjfx.javafxplugin' version '0.0.14'
}

repositories {
    mavenCentral()
}

javafx {
    version = '17'
    modules = [ 'javafx.controls' ]
    configurations = [ 'implementation', 'testImplementation' ]
}

Running ./gradlew -q dependencies shows that only the the testImplementation and therefore testCompileClasspath and testRuntimeClasspath are set as expected.


TypeError: Failed to render WebGL canvas. Cannot set property active of # which has only a getter

In a world that I have upgraded to 10.286 (running the DnD v2.0.2 system) on any existing scenes or any new scene I create, I get this error when I have Moulinette Core (and only Moulinette Core) enabled as a module, it stops the canvas from rendering:
TypeError: Failed to render WebGL canvas. Cannot set property active of #<InteractionLayer> which has only a getter
    at new MoulinetteLayer (moulinette-layer.js:7:17)
    at #createLayers (foundry.js:27064:38)
    at new BaseCanvasMixin (foundry.js:27038:39)
    at new PrimaryCanvasGroup (foundry.js:38961:5)
    at #createGroups (foundry.js:23284:21)
    at #createGroups (foundry.js:23288:25)
    at #createGroups (foundry.js:23288:25)
    at Canvas.initialize (foundry.js:23112:23)
    at Game.initializeCanvas (foundry.js:7993:19)
    at async Game.setupGame (foundry.js:7837:5)

However, if I create a brand-new world (using the same system) and enable Moulinette Core I don't get this error.

According to my investigation (thanks to the stacktrace), you're still on moulinette-core 4.10 which only supports FVTT v.9.
Please make sure that all moulinette modules have version 10.0.1 or more.
Feel free to reopen this issue if needed.

Ah OK, I think there's something odd going on with the module update process for the Moulinette modules then, I tried updating modules multiple times and it never updated them to the latest version, I had to uninstall all the moulinette modules and reinstall to get the correct version


HSEARCH-3724 Upgrade to Jackson 2.9.10

https://hibernate.atlassian.net/browse/HSEARCH-3724

The CI build passed: merging.