onClick() only called for first item in adapter?

Hi.
i am having some troubles with click events... for some reason, only the first item on my list is triggering the click event.
this is the recyclerView code:
		//create our FastAdapter which will manage everything
		FastItemAdapter<CourseSession> fastAdapter = new FastItemAdapter<>();

		//set the items to your ItemAdapter
		fastAdapter.add(mCourse.getCourseSessions())
				   .withSelectable(true)
				   .withOnClickListener(new FastAdapter.OnClickListener<CourseSession>()
				   {
					   @Override
					   public boolean onClick(View v, IAdapter<CourseSession> adapter, CourseSession item, int position)
					   {
						   Toast.makeText(ActivityCourseSessions.this, position + " " + item.getLSName(), Toast.LENGTH_SHORT).show();

						   return true;
					   }
				   });

		//set our adapters to the RecyclerView
		//we wrap our FastAdapter inside the ItemAdapter -> This allows us to chain adapters for more complex useCases
		mRecyclerView.setAdapter(fastAdapter);

this is ViewHolder part of the CourseSession class:
//The unique ID for this type of item
	@Override
	public int getType()
	{
		//todo implement this in the future!!!!
		return 0;
	}

	//The layout to be used for this type of item
	@Override
	public int getLayoutRes()
	{
		return R.layout.list_item_course_session;
	}

	//The logic to bind your data to the view
	@Override
	public void bindView(ViewHolder holder, List<Object> payloads)
	{
		//call super so the selection is already handled for you
		super.bindView(holder, payloads);

		holder.mtvSessionName.setText(getLSName());

		//todo set image!!!!!
		//		holder.mivSessionImage.
	}

	//reset the view here (this is an optional method, but recommended)
	@Override
	public void unbindView(ViewHolder holder)
	{
		super.unbindView(holder);

		holder.mtvSessionName.setText(null);

		//todo remove image!!!
		//holder.mivSessionImage.
	}

	/**
	 *
	 */
	protected static class ViewHolder extends RecyclerView.ViewHolder
	{
		public TextView mtvSessionName;

		public ImageView mivSessionImage;

		public CardView mContainer;

		public ViewHolder(View v)
		{
			super(v);

			mtvSessionName = (TextView) v.findViewById(R.id.textView_courseSessions_sessionName);

			mivSessionImage = (ImageView) v.findViewById(R.id.imageView_courseSessions_sessionImage);

			mContainer = (CardView) v.findViewById(R.id.cardView_courseSessions);
		}
	}

this is my layout (list_item_course_session.xml):
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
    android:id="@+id/cardView_courseSessions"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="5dp"
    android:layout_marginLeft="16dp"
    android:layout_marginRight="16dp"
    android:layout_marginTop="5dp"
    android:foreground="?android:attr/selectableItemBackground"
    card_view:cardCornerRadius="7dp"
    card_view:cardElevation="7dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="16dp">

        <ImageView
            android:id="@+id/imageView_courseSessions_sessionImage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:contentDescription="@string/sessionImage"
            android:src="@mipmap/ic_launcher"/>

        <Space
            android:layout_width="10dp"
            android:layout_height="wrap_content"/>

        <TextView
            android:id="@+id/textView_courseSessions_sessionName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:text="@string/sessionName"/>

    </LinearLayout>

</android.support.v7.widget.CardView>

as i said, only clicking the first item in the list shows the toast message.
clicking any other item does nothing

I FIGURED IT OUT!
it had nothing to do with any of the code that i posted here.
the problem was that my object (CourseSession) had an "enabled" field and therefore had a method isEnabled() which i didn't realize was overriding this library's isEnabled().
in my app logic "enabled" simply means that the item has a different background color, however in the library's logic it means whether the item is clickable or not!
the thing about only the first item being clickable was that in my app logic only the first item was enabled (which only determines the background color), but actually my own isEnabled() was overriding the library's isEnabled() which made the rest of the items not clickable.
please "mark" this comment as the solution to help other people with the same issue

Thank you very much for the detailed descriptions


Infinite Loop when maximum update depth exceeds

Is this a bug report?
Yes
Can you also reproduce the problem with npm 4.x?
Yes.
Which terms did you search for in User Guide?
not present in guide
Environment

node -v: v6.11.0
npm -v: 4.6.1
yarn --version (if you use Yarn):
npm ls react-scripts (if you haven’t ejected): 1.0.14

Then, specify:

Operating system: Ubuntu
Browser and version (if relevant): chrome 59

Steps to Reproduce
Generate a CRA app using React 16 and use this snippet below:
class App extends Component {
  constructor() {
    super();
    this.state = {
      value: null,
    };
  }

  render() {
    this.setState({
      value: 'test',
    });

    return <div />;
  }
}

Expected Behavior
When you have a react component with a nested update error, you get this error:

'Uncaught Error: Maximum update depth exceeded. This can happen when a component repeatedly
calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of
nested updates to prevent infinite loops.'

The error should print once to the console and the execution should stop.
Actual Behavior
But the execution did not stop. It was going in an infinite loop and printing 2 variants of the same error one after another. Initially assumed it to be a react issue(11136), but turns out:

This happens only in React 16 apps that are created using CRA.

Screenshot for your reference:

I think it's not a bug in react/cra etc. https://github.com/facebook/react/pull/11113 have just not released yet. It's only in master branch, but not in last release (16.0.0) :)

facebook/react#11113 is about deduplication of warnings, but this one is a hard error. If it keeps happening more than once, then it's a bug somewhere. (Likely in our error overlay.)
Note that this doesn't reproduce outside of CRA environment.

This doesn't repro on master, so I assume it was fixed in our iframe execution isolation.

Verified it happens on stable but not on master, and that copy-pasting latest react-scripts into a project with this fixes the issue. Thanks for a great report though! Was very easy to verify.

Should be fixed in<EMAIL_ADDRESS>https://github.com/facebookincubator/create-react-app/releases/tag/v1.0.15

This happened for me in react-scripts 1.0.0 and 1.1.1 too

Had the same error when my routing configuration caused an infinite loop of redirects. It wasn't caused by setState though.

You shouldn't do setState in render() function, it causes loop

You shouldn't do setState in render() function, it causes loop.
so it's a bug in your code

That was on purpose in the example. That was done to trigger the invalid infinite loop, and then another part of the code is supposed to detect this and halt execution. The actual bug was in the detection code; putting the intentional bug in the example was to purposely trigger the detection code.


Hovering the mouse over carpet in the context menu make stuff dissapear

Description

What the title says.
Screenshots

Additional context

a tag system shouldnt be used for this imo. just add a field to the interactionoutline component

the tag system shouldnt be used for this imo. just add a field to the interactionoutline component

Ehhh InteractionOutline isn't really the context menu though. I think a tag is best for this. Additionally InteractionOutline means we'd have to go through and assign it to a bunch of stuff that already has it covered by BaseItem or BaseStructure.

the tag system shouldnt be used for this imo. just add a field to the interactionoutline component

Ehhh InteractionOutline isn't really the context menu though. I think a tag is best for this. Additionally InteractionOutline means we'd have to go through and assign it to a bunch of stuff that already has it covered by BaseItem or BaseStructure.

sorry, i had a brainfart and thought this was related to the interactionoutline, not the context menu

Currently GameScreenBase will highlight and change the draw depth of any hovered entity that has a InteractionOutlineComponent. On the other hand, the entity menu highlights entities with InteractionOutlineComponent and changes the draw depth of ANY entity. Given that the entity is already clearly visible in the menu itself, I don't think this behaviour really adds anything. It also involves a decent chunk of code duplication to handle updating the interaction outline.
#4768 just removes the hover highlight/draw-depth logic from the context menu altogether and just has GameScreenBase handle it. So hovering over the context menu is treated like hovering over the item itself, which means only entities with InteractionOutlineComponent have their draw-depth updated.  Unless people actually want context menu entities w/o InteractionOutlineComponent to change their draw depth, this issue should fixed by that PR.


The test suite fails on Python 3.10: issue with factorial() on NaN

On Python 3.10, test_mixed_nan_inputs() of scipy.special.tests.test_basic.TestFactorialFunctions fails with:
                if un.size:
>                   val = math.factorial(un[0])
E                   TypeError: 'float' object cannot be interpreted as an integer

See the downstream Fedora issue: https://bugzilla.redhat.com/show_bug.cgi?id=1898157
I wrote PR #13121 to fix this issue.
The issue was worked around by the commit f7b6202ae69282b0942a2f5671737a85a558e1b9 for Python 3.9:
commit f7b6202ae69282b0942a2f5671737a85a558e1b9
Author: Ralf Gommers<EMAIL_ADDRESS>Date:   Sat May 9 15:31:07 2020 +0200

    TST: filter out deprecation warning for using factorial() with floats

    This was failing in py3.9-dev CI

cc @rgommers
Scipy/Numpy/Python version information:

scipy  1.5.4-1.fc33
Python 3.10.0a2
python3-numpy 1:1.19.4-2.fc34

For 1.4.0, gh-11022 discusses a change in behaviour. Comments there indicate propagating nan's, but no one pointed out that the function is not documented to accept floats to begin with.
The PR that closed that issue (PR gh-11254) does discuss it a bit, quoting: I'm not opposed to forcing input n to be int in _factorial, but if we do that I think it should be consistent behavior within the function. For example, currently, math.factorial(5.1) throws a ValueError but math.factorial(5.0) is the correct int returned.
gh-11579 and gh-11984 both have discussion on deprecating nan input to factorial, that seems to be preferred. Unclear why gh-11984 was closed, there's no PR referring to it. Probably due to my commit f7b6202ae6928, but that was just a quick fix to stop CI from failing.
Cc @rlucas7 @person142 @andyfaff who worked on this before.
Random side note, searching history for factorial we also find this little gem in scipy._lib._util:
def float_factorial(n: int) -> float:
    """Compute the factorial and return as a float

    Returns infinity when result is too large for a double
    """
    return float(math.factorial(n)) if n < 171 else np.inf

Also, there's factorial2 and factorialk functions which do not special-case nan.
Proposed solution:

Desired behaviour is to raise an exception on float input (all float input, no special-casing of [1.0, 2.0, 3.0]).
In 1.6.0, (a) give a DeprecationWarning for float input, and (b) simply skip the problematic test for Python >=3.10
For 1.8.0, change to the desired behaviour.

For 1.4.0, gh-11022 discusses a change in behaviour. Comments there indicate propagating nan's, but no one pointed out that the function is not documented to accept floats to begin with.

factorial is also documented as returning int when exact=True (or object to avoid overflow) but in the presence of NaNs it returns a float array instead. The result is no longer exact and the float type will overflow for any n >= 171.

factorial is also documented as returning int when exact=True (or object to avoid overflow) but in the presence of NaNs it returns a float array instead.

Feedback from someone completly new to numpy and scipy: I was surprised that putting a single NaN in an array of integers convert the whole array to floats. And yeah, I was confused by exact=True meaning :-) I would be less surprising if the function reject an array (raise an error) if a single value is a float if exact=True.

In 1.6.0, (a) give a DeprecationWarning for float input, and (b) simply skip the problematic test for Python >=3.10

math.factorial() emits a DeprecationWarning on Python 3.9 if the argument is a float. See the scipy unit test which ignores the DeprecationWarning on purpose.
Yeah, skipping the whole test on Python 3.10 was my first attempt :-)

Feedback from someone completly new to numpy and scipy: I was surprised that putting a single NaN in an array of integers convert the whole array to floats

>>> isinstance(np.nan, float)
True

numpy arrays are all of a single type (unless they're object arrays), so you can't mix int and float. The presence of a float in what is otherwise a list of ints coerces everything to a float.

I wrote PR #13130 trivial change to only skip the discussed test on Python 3.10. It would unblock me for now, and then you can decide what to do in the long term ;-)

numpy arrays are all of a single type (unless they're object arrays), so you can't mix int and float. The presence of a float in what is otherwise a list of ints coerces everything to a float.

Sure. I understand the rationale. It's just to say that surprising that special.factorial() accepts NaN for exact=True. It looks like a bug in the API, unexpected special case.
It looks like it was a good idea that math.factorial() stops accepting float, so it forces thinking about the API that you want to provide ;-)

Skipping the test on Python >= 3.10 was done in gh-13130. Reopening this issue because we still have to deprecate the current behaviour.

Needs to be re-milestoned

Needs to be re-milestoned

Is this issue the reason that SciPy's upper bound version is set to be "<3.10"?  Because of that limit, poetry refuses to upgrade SciPy on any project that leaves the Python version unbounded.  Poetry says:
   1: fact: scipy (1.7.0) requires Python >=3.7,<3.10
   1: derived: not scipy (==1.7.0)
   1: fact: scipy (1.6.3) requires Python >=3.7,<3.10
   1: derived: not scipy (==1.6.3)
   1: fact: scipy (1.6.2) requires Python >=3.7,<3.10
   1: derived: not scipy (==1.6.2)
   1: fact: scipy (1.6.0) depends on numpy (>=1.16.5)
   1: selecting scipy (1.6.0)

That's unrelated to this issue. Python 3.10 is simply not yet released and 1.7.0 therefore does not support it. Why is Poetry trying to use Python 3.10 already?

Because of that limit, poetry refuses to upgrade SciPy on any project that leaves the Python version unbounded.

This seems like bad design anyway on Poetry's side. After Python 3.10.0 is released, it takes a while for projects to put up wheels that support that new Python version. So at that point Poetry will refuse to work for pretty much anyone that does not have an upper bound on Python version.

I noticed that NumPy doesn't seem to do have this behaviour.

It will after I fix it. Currently setup.py says python_requires='>=3.7',, which is wrong on the 1.21.x maintenance branch.

@rgommers Okay, I trust you :smi.   I hope you don't mind that I'll link your comment to the issue that I'll file with Poetry.


CORS is enabled, but URLs in links objects are relative.

If a webpage hosted on one server fetches a resource hosted on another (jsonapi-)server, all the links are relative. Plugging these links into ajax requests will at best result in 404 errors, since the webpage will use its own full URL to complete jsonapi-server's relative URL.
For example, a webpage at https://example.com requests resource http://jsonapi.server/api/articles and gets some articles objects. Those articles have a to-one relationship author to people.
The webpage wants to resolve the author of articles/1, so it makes a request to the related link for that relationship, /api/articles/1/author. The request fills in the protocol and host name from it's own location and becomes https://example.com/api/articles/1/author.

I'd suggest making the URLs absolute at request time, rather than during configuration, no need to repeat  the DNS; you're basically telling the client, explicitly, that they can make further requests however they made the first one.

I think you're right. I'll see what I can do this week :+1:


chore: upgrade project to node 18 and react 18

Upgraded Node to v18
Upgraded React to v18
Upgrade Husky and reconfigure hooks
Set .nvmrc for ease of use

I found it weird that it still gives this warning:

According to this, storybook v6.5 should have been supporting the root API out of the box 🤔
Do you get the same warning? If it really is behaving as if still running on React v17, I think it won't really solve the rehydration problem on SSR.


Bug: Can't add COM interfaces to implementation base class template of XAML-based class

Version
2.0.220110.5
Summary
If you try to add a COM interface to the base class template of a XAML-based class, you will get a static assert error.  This is the case even if you include unknwn.h before any C++/WinRT headers.
Reproducible example
In the WinUI 3 blank project, modify the MainWindow class so that it tries to implement a COM interface, e.g., IInitializeWithWindow:

#include <Shobjidl.h>

namespace winrt::App1::implementation
{
    struct MainWindow : MainWindowT<MainWindow, ::IInitializeWithWindow>
    {
        MainWindow()
	{
             InitializeComponent();
	}

        IFACEMETHOD(Initialize)(HWND hwnd)
        {
             return S_OK;
        }
    };
}

Expected behavior
I'd expect the code to compile.
Actual behavior
Error:  static_assert failed: "Class must derive from implements<> or ClassT<> where the first template parameter is the derived class name, e.g. struct D : implements<D, ...>");
Additional comments
No response

This has already been filed over at the WinUI repo: https://github.com/microsoft/microsoft-ui-xaml/issues/3331


Ingress for Windows nodes not working

I have a AKS cluster with both Windows & Linux nodes, ingress setup completed successfully.
Deployed an ASPNET core application to both windows and Linux nodes.
The application gateway is getting configured correctly for both the Windows and Linux hosted applications however the health probe for the Windows hosted app shows up as unhealthy where as the one for Linux app is healthy.
Is there is anything specific i have to configure to get the ingress integrated with Windows nodes?

@rahulvmarathe There isn't anything different that you need to configure based on the operating system.  However the health probes may have to be configured differently based on the expectation of the HTTP/S service.  By default responses with status code anywhere between 200 and 399 is considered healthy.
Without much context on what the backend services are - I'd speculate that the health probe URL needs to be corrected or there are perhaps specific headers required that App Gateway is not supplying as part of health checks, or it could be that all endpoints on the Windows hosts require authentication. Another issue could be that the backend responds too slow (this could be changed).

Duplicate: https://github.com/Azure/application-gateway-kubernetes-ingress/issues/535


Add module export for using tagin via import

Unfortunately I couldn't get gulp to compile on my system so I didn't update the version in dist.
But with this small change, I could easily
import * as tagin from "tagin/js/tagin";

Sounds great (y)


Add date to GetStatus or add function to get date out of unix timestamp

Maybe I am missing something here, but when playing around with Shelly scripting on my Shelly Plus 1PM I cannot find a function to convert the unix timestamp from Sys.getStatus to a date in the YYYYMMDD format.
We have the time already, I think we should have a date too. Or alternatively the Date class from Javascript.
Need this to send Solar data to the PVOutput API.

Thx, was thinking about that too but never came to it

It's rather silly that Shelly/mJS doesn't support Date(), but definitely absurd that there's zero support for timestamp-to-date-and-time in the provided API/library 🤯
I ported http://howardhinnant.github.io/date_algorithms.html to JavaScript to make it happen.
For example, to send power & energy consumption data to https://pvoutput.org, one MUST provide YYYYMMDD and HH:MM:SS data.
Shelly, please add this so we all can stop reinventing the wheel 🙏 😊

Actually...
We'll have JS Data, but in 1.0.1. We are stabilizing the release of 1.0 but Date is already in master.

Excellent news! 😊

It would be good to know when this will be released.

:)
https://shelly-api-docs.shelly.cloud/gen2/changelog

When will a stable release happen (it's in 1.0.0-beta5)?
Or are these 1.0.0-betaX releases more reliable than the 0.14.X releases I've been on so far?

Works fine for me with beta5
example forYYYYMMDD format:
function getCurrentDate() {
  let today = new Date;
  let month = today.getMonth() + 1;
  let day = today.getDate();
  if(month < 10) {
   month = "0" + month;
  }
  if(day < 10) {
   day = "0" + day;
  }
  return today.getFullYear() + month + day;
}

closing issue because the problem has been solved


Improved ontology for eukaryotic single-exon coding sequences

Hi,
A paper published few days ago propose a new ontology for eukaryotic "single-exon genes" (https://academic.oup.com/database/article/doi/10.1093/database/bay089/5099430) and I would like to know if I can add these new definitions in Sequence Ontology Project. If so, How can I do this?
This new ontology describes the features of biological sequences (~3000 human CDS) used in sequence annotation and biological databases, it could provides the opportunity to improve the detection of gene associations with disorders including cancers, neurological and developmental diseases.
Many thanks in advance...

Hi @Roddyjocif,
I apologize for the delay, we had a change in staff. Has this ontology already been built? How many terms are there present in this ontology? It is now possible to use a pull request and update the SO yourself and have us review it afterward, but I think it might require a little more discussion than is allowed through pull requests.  Please let me know any more about the ontology that you would like to merge.
Thank you,
Dave Sant

Hi @Roddyjocif,
I am in the process of cleaning up old issue requests. As I have not heard back in approximately 1 month, I am going to mark this as closed. This issue is not deleted, and you are welcome to re-open this issue if you have responses about the ontology.
Thank you,
Dave Sant


Support poll-interval on union remotes

What is your current rclone version (output from rclone version)?
rclone v1.45

os/arch: windows/amd64
go version: go1.11

What problem are you are trying to solve?
Uploads that occur outside of a union mount are not available until after dir-cache-time expires. The union mount does not support poll-interval, reference: https://forum.rclone.org/t/rclone-union-poll-interval/7895/4
How do you think rclone should be changed to solve that?
Add support for poll-interval to the union remotes

Yep that fixes it.


Xargo doesn't warn the user about libcore needing a nightly Rust build to be compiled

I used  stable-x86_64-unknown-linux-gnu unchanged - rustc 1.18.0 (03fc9d622 2017-06-06) to build a crate for a custom target. Xargo should build the core library even if it's not specified in the dependency. Unexpectedly, the core build didn't trigger at all. Instead, it complained of the crate core not being found.
$ xargo build --target x86_64-unknown-none-gnu
error[E0463]: can't find crate for `core`
note: the `x86_64-unknown-none-gnu` target may not be installed

When I switched over to nightly ( nightly-x86_64-unknown-linux-gnu unchanged - rustc 1.20.0-nightly (bf0a9e0b4 2017-07-10)), to my utter surprise; Xargo triggered a core build.
I noticed after several hours that the issue is listed down already in the Caveats section. However, it'd be nice for Xargo to emit out more meaningful message.

This has been fixed in #168 and a warning message will be printed in this scenario when using Xargo v0.3.10+ (not yet released).


fixed #213, optimize README.md

What problem were solved in this pull request?
Issue Number: close #213
Problem:
What is changed and how it works?
Other information

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


feat: friendly name for patterns

resolves #101 #107

Codecov Report

Merging #106 (2b4f3db) into master (a8d2a41) will decrease coverage by 1.71%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master     #106      +/-   ##
==========================================
- Coverage   57.26%   55.54%   -1.72%
==========================================
  Files          59       35      -24
  Lines        1446      794     -652
  Branches      290      173     -117
==========================================
- Hits          828      441     -387
+ Misses        618      353     -265

Impacted Files
Coverage Δ

...ackages/bundlemon-markdown-output/src/generator.ts
0.00% <0.00%> (ø)

packages/bundlemon-utils/src/diffReport/index.ts
90.00% <ø> (ø)

packages/bundlemon/src/main/utils/configUtils.ts
28.98% <ø> (ø)

service/src/app.ts

service/src/consts/schemas.ts

service/src/framework/env.ts

service/src/framework/mongo/client.ts

...e/src/controllers/utils/markdownReportGenerator.ts

service/src/controllers/utils/auth.ts

service/src/routes/index.ts

... and 17 more

Continue to review full report at Codecov.

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


minigui instructions need updating

the instructions for getting minigui to work are a little outdated.

seems obsolete.


[WFCORE-4195] override requiresRuntime method to always return true i…

…n HostScopedRoleWriteAttributeHandler and ServerGroupScopedRoleWriteAttributeHandler
Please see issue https://issues.jboss.org/browse/WFCORE-4195
This overrides requiresRuntime method to always return true in HostScopedRoleWriteAttributeHandler and ServerGroupScopedRoleWriteAttributeHandler

retest this please


Duplicate snippets on save

I tried to create a new snippet "echo test", however it ended up with 16 snippets with the same name.
Windows 7 64 bit
PHPConsole v<IP_ADDRESS>

Please, update to the latest version and your problem will be solved. I noticed that bug in some line of JS codes. Thanks for using PHPConsole.


Reviewer comments 1: show how the generated X and y look like.

yeah sounds reasonable to me, I can do it

This is also for the review about showing the result output


linux build improvements

Things done:

nupkg artifact named correctly.
use dotnet pack linux.slnf for creating the nuget packages


can we add all of crunchyroll?

Hello,
I wanted to know if we could add all crunchyroll at once?
I'd like to add the crunchyroll catalog to my jellyfin.
thanks in advance.

?

I ended up making this program to list the crunchyroll catalog:
from seleniumbase import Driver
from selenium.webdriver.common.keys import Keys
import time
Initialisation du service Chrome
driver = Driver(uc=True)
Ouvrir la page Crunchyroll
driver.get('https://www.crunchyroll.com/fr/videos/alphabetical')
Attendre que la page se charge complètement
time.sleep(3)
Fonction pour vérifier si l'élément est visible
def is_footer_visible():
return driver.execute_script('''
let footer = document.querySelector('.erc-footer');
let rect = footer.getBoundingClientRect();
return (
rect.bottom <= window.innerHeight &&
rect.top >= 0
);
''')
Scroll vers le bas jusqu'à atteindre le footer
body = driver.find_element("tag name", "body")
links = set()
while not is_footer_visible():
body.send_keys(Keys.PAGE_DOWN)
time.sleep(1)  # Temps d'attente pour le chargement, ajustable si nécessaire
new_links = driver.execute_script('''
let links = document.querySelectorAll('a.horizontal-card-hover__link--A-RZX');
return Array.from(links)
.filter(link => link.href.startsWith('https://www.crunchyroll.com/fr/series/') && !link.title.includes('VOSTA'))
.map(link => link.href);
''')
links.update(new_links)
Lire les liens existants dans le fichier
existing_links = []
try:
with open('liens.txt', 'r') as file:
existing_links = [line.strip() for line in file]
except FileNotFoundError:
pass  # Si le fichier n'existe pas encore, on continue sans les liens existants
Ajouter les nouveaux liens récupérés s'ils ne sont pas déjà présents
for link in links:
if link not in existing_links:
existing_links.append(link)
Réécrire tous les liens dans le fichier avec le même ordre
with open('liens.txt', 'w') as file:
for link in existing_links:
file.write(link + '\n')
Fermer le navigateur
driver.quit()

I ended up making this program to list the crunchyroll catalog:
from seleniumbase import Driver
from selenium.webdriver.common.keys import Keys
import time

# Initializing the Chrome service
driver = Driver(uc=True)

# Opening the Crunchyroll page
driver.get('https://www.crunchyroll.com/fr/videos/alphabetical')

# Waiting for the page to load completely
time.sleep(3)

# Function to check if the element is visible
def is_footer_visible():
    return driver.execute_script('''
        let footer = document.querySelector('.erc-footer');
        let rect = footer.getBoundingClientRect();
        return (
            rect.bottom <= window.innerHeight &&
            rect.top >= 0
        );
    ''')

# Scroll down until the footer is reached
body = driver.find_element("tag name", "body")
links = set()

while not is_footer_visible():
    body.send_keys(Keys.PAGE_DOWN)
    time.sleep(1)  # Waiting time for loading, adjustable if needed
    new_links = driver.execute_script('''
    let links = document.querySelectorAll('a.horizontal-card-hover__link--A-RZX');
    return Array.from(links)
        .filter(link => link.href.startsWith('https://www.crunchyroll.com/fr/series/') && !link.title.includes('VOSTA'))
        .map(link => link.href);
    ''')
    links.update(new_links)

# Read existing links from the file
existing_links = []
try:
    with open('liens.txt', 'r') as file:
        existing_links = [line.strip() for line in file]
except FileNotFoundError:
    pass  # If the file doesn't exist yet, continue without existing links

# Add new retrieved links if they are not already present
for link in links:
    if link not in existing_links:
        existing_links.append(link)

# Rewrite all links in the file in the same order
with open('liens.txt', 'w') as file:
    for link in existing_links:
        file.write(link + '\n')

# Closing the browser
driver.quit()

now I have no idea how to make crunchyroll work...
when I run python3 cli.py --media crunchyroll --params I get the following error: yt-dlp: error: You must provide at least one URL.

Hi @pixelroll ,
Please check whether you have a channel_list.json file inside the Crunchyroll plugin folder. The file should look like this:
The file looks like:
[
    "https://www.crunchyroll.com/es/series/G63K98PZ6/one-punch-man",
    "https://www.crunchyroll.com/es/series/GYEXQKJG6/dr-stone",
    "https://www.crunchyroll.com/es/series/GY5P48XEY/demon-slayer-kimetsu-no-yaiba",
    "https://www.crunchyroll.com/es/series/GXJHM3PK5/trigun-stampede",
    "https://www.crunchyroll.com/es/series/G6NQ5DWZ6/my-hero-academia",
    "https://www.crunchyroll.com/es/series/GY3VKX1MR/hunter-x-hunter",
    "https://www.crunchyroll.com/es/series/GRDV0019R/jujutsu-kaisen",
    "https://www.crunchyroll.com/es/series/GRMG8ZQZR/one-piece",
    "https://www.crunchyroll.com/es/series/GY9PJ5KWR/naruto",
    "https://www.crunchyroll.com/es/series/GYQ4MW246/naruto-shippuden",
    "https://www.crunchyroll.com/es/series/GR75Q020Y/boruto-naruto-next-generations",
    "https://www.crunchyroll.com/es/series/GRQ4QG4GY/gto---the-animation",
    "https://www.crunchyroll.com/es/series/GYX04955R/berserk",
    "https://www.crunchyroll.com/es/series/G6W4MEZ0R/radiant",
    "https://www.crunchyroll.com/es/series/GYQ4MKDZ6/gintama",
    "https://www.crunchyroll.com/es/series/GVDHX8JJE/black-summoner",
    "https://www.crunchyroll.com/es/series/G6JQVM3ER/case-closed-detective-conan",
    "https://www.crunchyroll.com/es/series/GRE50KV36/black-clover",
    "https://www.crunchyroll.com/es/series/G6W4QKX0R/the-rising-of-the-shield-hero",
    "https://www.crunchyroll.com/es/series/GEXH3W207/a-returners-magic-should-be-special",
    "https://www.crunchyroll.com/es/series/GYZJ43JMR/that-time-i-got-reincarnated-as-a-slime",
    "https://www.crunchyroll.com/es/series/G3KHEVMN1/tokyo-revengers"
]

On the other hand, your script is awesome. When I have a moment, I'll try it out and see if it's viable for integration.

here's my channel_list.json:
[
"https://www.crunchyroll.com/fr/series/GRDV0019R/jujutsu-kaisen",
"https://www.crunchyroll.com/fr/series/GRMG8ZQZR/one-piece"
]
here's my config.json:
{"strm_output_folder": "/FlixDji/Animes/", "channels_list_file": "./plugins/crunchyroll/channel_list.json", "crunchyroll_cookies_file": "", "crunchyroll_subtitle_language": "fr-FR", "crunchyroll_audio_language": "ja-JP", "proxy": "False", "proxy_url": "", "crunchyroll_auth": "browser", "crunchyroll_browser": "firefox", "crunchyroll_useragent": "Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0", "crunchyroll_username": "", "crunchyroll_password": ""}
i'm on debian 11 and have installed firefox-esr
I tested with docker, I tested with cookies too and same error.
And for the script, all the credit goes to the seleniumbase contributors, and there's an avenue to be explored with undetected chromedriver that would surely avoid all these cookie problems.

I've just tested it on Windows and it works perfectly. So I thought the problem was debian, but when I tested on ubuntu I had the same problem... so linux is obviously the problem.

See the latest commit. I fixed parameters in the Popen thread (in the worker class) that I forgot in previous experiments.

See the latest commit. I fixed parameters in the Popen thread (in the worker class) that I forgot in previous experiments.

new error :
25/11/2023 09:43:27
Running crunchyroll with ['direct'] params
Preparing channel https://www.crunchyroll.com/fr/series/GRDV0019R/jujutsu-kaisen
Traceback (most recent call last):
File "/home/paul/.local/bin/yt-dlp", line 8, in
sys.exit(main())
File "/home/paul/.local/lib/python3.10/site-packages/yt_dlp/init.py", line 1008, in main
_exit(*variadic(_real_main(argv)))
File "/home/paul/.local/lib/python3.10/site-packages/yt_dlp/init.py", line 962, in _real_main
with YoutubeDL(ydl_opts) as ydl:
File "/home/paul/.local/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 678, in init
self._request_director = self.build_request_director(_REQUEST_HANDLERS.values(), _RH_PREFERENCES)
File "/home/paul/.local/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 4088, in build_request_director
cookiejar=self.cookiejar,
File "/usr/lib/python3.10/functools.py", line 981, in get
val = self.func(instance)
File "/home/paul/.local/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 4019, in cookiejar
return load_cookies(
File "/home/paul/.local/lib/python3.10/site-packages/yt_dlp/cookies.py", line 91, in load_cookies
extract_cookies_from_browser(browser_name, profile, YDLLogger(ydl), keyring=keyring, container=container))
File "/home/paul/.local/lib/python3.10/site-packages/yt_dlp/cookies.py", line 108, in extract_cookies_from_browser
return _extract_firefox_cookies(profile, container, logger)
File "/home/paul/.local/lib/python3.10/site-packages/yt_dlp/cookies.py", line 133, in _extract_firefox_cookies
raise FileNotFoundError(f'could not find firefox cookies database in {search_root}')
FileNotFoundError: could not find firefox cookies database in /home/paul/.mozilla/firefox

it doesn't do it on debian, but even though I've opened the port, I can't access my network via an external machine.

For the FileNotFoundError stating 'could not find the Firefox cookies database in /home/paul/.mozilla/firefox', you can set the crunchyroll_browser variable as follows:
firefox:/path/to/your/firefox/profile
To allow access over the local network:
If the issue is not related to permissions or a firewall, you can access the web interface via http://your_local_ip_address:5000/. In the general settings, edit the ytdlp2strm_host variable to set the local IP (e.g., <IP_ADDRESS>). This will ensure all .strm files are created using this base URL.
If you cannot access http://your_local_ip_address:5000/, it may be due to permissions or a firewall issue. Check the UFW package to manage the Debian firewall.
*A quick way to check if it's a firewall issue:
View your iptables (using the command iptables -L).
Alternatively, run the following command directly:
sudo iptables -I INPUT 1 -p tcp --dport 5000 -j ACCEPT.
This rule is temporary and will be removed upon restart. For a permanent solution, research 'persistent iptables' to learn how to fully configure this.

For the FileNotFoundError stating 'could not find the Firefox cookies database in /home/paul/.mozilla/firefox', you can set the crunchyroll_browser variable as follows:
firefox:/path/to/your/firefox/profile
To allow access over the local network: If the issue is not related to permissions or a firewall, you can access the web interface via http://your_local_ip_address:5000/. In the general settings, edit the ytdlp2strm_host variable to set the local IP (e.g., <IP_ADDRESS>). This will ensure all .strm files are created using this base URL.
If you cannot access http://your_local_ip_address:5000/, it may be due to permissions or a firewall issue. Check the UFW package to manage the Debian firewall.
*A quick way to check if it's a firewall issue: View your iptables (using the command iptables -L). Alternatively, run the following command directly: sudo iptables -I INPUT 1 -p tcp --dport 5000 -j ACCEPT. This rule is temporary and will be removed upon restart. For a permanent solution, research 'persistent iptables' to learn how to fully configure this.

after defining the path to the profile, a new error occurs:
Running crunchyroll with ['direct'] params
Preparing channel https://www.crunchyroll.com/fr/series/GRDV0019R/jujutsu-kaisen
Traceback (most recent call last):
File "/opt/ytdlp2STRM/cli.py", line 64, in
main()
File "/opt/ytdlp2STRM/cli.py", line 61, in main
r = eval("{}.{}.{}".format("plugins",method,"to_strm"))(*params)
File "/opt/ytdlp2STRM/plugins/crunchyroll/crunchyroll.py", line 227, in to_strm
f.folders().make_clean_folder(
File "/opt/ytdlp2STRM/clases/folders/folders.py", line 26, in make_clean_folder
os.makedirs(folder_path, exist_ok=True)
File "/usr/lib/python3.10/os.py", line 225, in makedirs
mkdir(name, mode)
OSError: [Errno 5] Input/output error: '/FlixDji/Animes/jujutsu-kaisen/S01 - JUJUTSU KAISEN (Saison 1)'

it was finally solved by reinstalling firefox via root and rebooting.

it was finally solved by reinstalling firefox via root and rebooting. For debian the problem remains, but since it works on my ubuntu it's fine with me. Thank you very much for your work.

It seems that your Debian direct() function for Crunchyroll is ignoring the profile path set in the crunchyroll_browser variable.
Could you try editing the file /opt/ytdlp2strm/plugins/crunchyroll.py and remove the True on line 282 of your Debian instance? I think in your case the line 282 should read:
Crunchyroll().set_auth(command)
This edit will eliminate the 'artificial' quotes that I had included to ensure compatibility with Windows."
P.S. Check last commit. I have added your code, with slight modifications, to the experiments folder to streamline it. I'm using Pandas for managing duplicates and sorting the URL list, and I've included Math.floor in the JavaScript function to correct issues with microdecimals that were not returning True in my case.
For now, the script only generates a CSV file. You can quickly add quotes and commas using a regular expression and paste the result into channel_list.json. However, I plan to further develop the script so it can read from crunchyroll/config.json and automatically regenerate channel_list.json.
This code is currently under 'experiments' because I am developing this tool for headless servers, and Selenium is not the most suitable package for such environments. The ultimate goal is to capture the initial fetch requests from the Crunchyroll website (including access tokens and cookies) and retrieve the catalog using only the requests library.

it was finally solved by reinstalling firefox via root and rebooting. For debian the problem remains, but since it works on my ubuntu it's fine with me. Thank you very much for your work.

It seems that your Debian direct() function for Crunchyroll is ignoring the profile path set in the crunchyroll_browser variable.
Could you try editing the file /opt/ytdlp2strm/plugins/crunchyroll.py and remove the True on line 282 of your Debian instance? I think in your case the line 282 should read: Crunchyroll().set_auth(command)
This edit will eliminate the 'artificial' quotes that I had included to ensure "compatibility with Windows."
P.S. Check last commit. I have added your code, with slight modifications, to the experiments folder to streamline it. I'm using Pandas for managing duplicates and sorting the URL list, and I've included Math.floor in the JavaScript function to correct issues with microdecimals that were not returning True in my case.
For now, the script only generates a CSV file. You can quickly add quotes and commas using a regular expression and paste the result into channel_list.json. However, I plan to further develop the script so it can read from crunchyroll/config.json and automatically regenerate channel_list.json.
This code is currently under 'experiments' because I am developing this tool for headless servers, and Selenium is not the most suitable package for such environments. The ultimate goal is to capture the initial fetch requests from the Crunchyroll website (including access tokens and cookies) and retrieve the catalog using only the requests library.
How it works:

cd to ytdlp2strm experiments folder and install requierments if you havn't (seleniumbase and pandas)
edit experiments.py and remove # from line 4 from experiments.pixelroll import crunchyroll_catalog
come back to ytdlp2strm root folder directory and run the next command

python cli.py --media experiments.pixelroll.crunchyroll_catalog --params test

I removed true and now I have a new error:
http://ip:5005/bin/sh: 1: Syntax error: "(%22%20unexpected
and for the experimental script, so far I've only tested it on windows, but on debian it sends me back :
File "/opt/ytdlp2STRM/cli.py", line 64, in
main()
File "/opt/ytdlp2STRM/cli.py", line 61, in main
r = eval("{}.{}.{}".format("plugins",method,"to_strm"))(*params)
File "/opt/ytdlp2STRM/experiments/pixelroll/crunchyroll_catalog.py", line 32, in to_strm
while not is_footer_visible():
File "/opt/ytdlp2STRM/experiments/pixelroll/crunchyroll_catalog.py", line 23, in is_footer_visible
return driver.execute_script('''
File "/usr/local/lib/python3.9/dist-packages/selenium/webdriver/remote/webdriver.py", line 407, in execute_script
return self.execute(command, {"script": script, "args": converted_args})["value"]
File "/usr/local/lib/python3.9/dist-packages/selenium/webdriver/remote/webdriver.py", line 347, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python3.9/dist-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.JavascriptException: Message: javascript error: Cannot read properties of null (reading 'getBoundingClientRect')
(Session info: chrome=119.0.6045.159)
Stacktrace:
#0 0x56368f39b5e3
#1 0x56368f05e0b7
#2 0x56368f0642b5
#3 0x56368f0669b1
#4 0x56368f0ef71f
#5 0x56368f0d2ef2
#6 0x56368f0eeb3d
#7 0x56368f0d2cc3
#8 0x56368f09e0e4
#9 0x56368f09f0ae
#10 0x56368f361ce1
#11 0x56368f365b7e
#12 0x56368f34f4b5
#13 0x56368f3667d6
#14 0x56368f332dbf
#15 0x56368f389748
#16 0x56368f389917
#17 0x56368f39a773
#18 0x7f2183eceea7 start_thread

ok for the links not found it comes from the class which changes depending on the bone. so i changed the line "let links = document.querySelectorAll('a.horizontal-card-hover__link--A-RZX');" to "let links = document.querySelectorAll('a');"

finally I wrote directly without going through Crunchyroll().set_auth(command) in direct : '--cookies-from-browser', '"firefox:/home/ytdlp2strm/.mozilla/firefox"',
--user-agent', '"Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0"'

ok for the links not found it comes from the class which changes depending on the bone. so i changed the line "let links = document.querySelectorAll('a.horizontal-card-hover__link--A-RZX');" to "let links = document.querySelectorAll('a');"

You can commit the change and i aprove it (if you want to appear on the contributors list)

ok for the links not found it comes from the class which changes depending on the bone. so i changed the line "let links = document.querySelectorAll('a.horizontal-card-hover__link--A-RZX');" to "let links = document.querySelectorAll('a');"

You can commit the change and i aprove it (if you want to appear on the contributors list)

I can't wait to see what you do with my script, good luck.
I also saw that ADN: animationdigitalnetwork Animation Digital Network was in the list of sites supported by ytdlp, yet in France it is the second streaming platform after crunchyroll anime so if you have the time to watch that. I'll probably look into it but I'm not very good at coding.


Create Jenkins workders after upgrading

Create 3 Jenkins worker for CI
Create 2 Jenkins worker for sign/publish
Make sure we install latest VS on all the workers.
Cost: 5

Based on investigation here https://github.com/Azure/azure-sdk-for-net/issues/4519
This needs has a higher priority now

Closing


Prisma as a standalone library

Is your feature request related to a problem? Please describe.
Deploying a minimal Prisma setup might be more involved than desired, due to the current (effective) requirement of running it inside Docker.
Describe the solution you'd like
Run Prisma in the same machine or even same process as the application server. For example, when I run a Node GraphQL Server, there could be a npm library that runs in the same Node process. Similarly for Go servers, Python, ... .
Another option is to expose Prisma as a daemon. Running Prisma would be as simple as prismad --config path/to/prisma/config.
Describe alternatives you've considered
Make running Prisma inside Docker significantly easier, provide direct cloud integrations for a Prisma setup, and/or provide more/better documentation for Prisma deployment.
Additional context
We are soon sharing more details on this topic 🙂

Is there an update on this?

Would also love to see how to get prisma set up without docker on a server :)

+1 get rid of docker:-)

Have any update on this ?
How to deploy as Prisma as jar packages?

+1 Without a Docker 👍

I would love this! Any idea if it would work in a lambda express server or would the focus be on an express server that is continuously running?

docker is nice BUT WE'LL LOVE TO GET RID IT!

Would this also mean getting rid of RabbitMQ?
So adding prisma client as a library to a serverless function would be an ideal use case.
Similar to Postgraphiles schema-only usage.

I was looking forward to playing around with prisma until I realised it requires Docker.
Ok, I accept the tradeoff and start installing Docker only to realise it doesn't work in WSL ... So, I need to install it under windows. Does that mean I need to install node & databases under windows too ?
Documentation on the respective websites of docker/mysql/mongodb for installation on windows aren't very clear and I'm wasting a lot of time trying to install these things under windows. for example they require packages which must be installed with visual studio, but it's not 100% evident which boxes I need to tick so as to install the required packages only and not useless ones.
I can live with Docker, if someone from the Prisma team or the community can write a comprehensive step by step guide for 4 year olds to get up and running with prisma development on windows, please!
I'll end up writing it if no one else does by the time I figure things out by myself, I've already wasted a few days on this (I even tried installing linux in dual boot, but being on a microsoft device, there are plenty of bugs with kernel drivers etc, the pain is real)
... Or just get rid of Docker 🙃

If prisma runs in the same process its seems like supporting hooks into the query building process would be possible. This could be a very powerful feature. (postgraphile supports it as well)

Remove dependency on Docker, Its an issue for me (and others I imagine) that work mostly in cloud based IDEs - it is difficult to get Docker running in a virtual environment, mostly because docker itself hosts the virtual environment.

I've had more luck using postgraphile
const express = require("express");
const { postgraphile } = require("postgraphile");

const app = express();

const postgresConn = "postgres://username:password@localhost:5432/postgres";

const options = {
	classicIds: true,
	graphqlRoute: "/graphql",
	graphiqlRoute: "/graphiql",
	graphiql: true, //!IS_PRODUCTION,
	enhanceGraphiql: true, //!IS_PRODUCTION
	exportJsonSchemaPath: "./schema.json",
	enableCors: true
	// jwtSecret: "123",
	// jwtPgTypeIdentifier: "discipuli.jwt_token",
	// pgDefaultRole: "anonymous"
};

app.use(postgraphile(process.env.DATABASE_URL || postgresConn, options));

app.listen(process.env.PORT || 3000);

console.log(
	`GraphQL listening on http://localhost:${process.env.PORT || 3000}`,
	"\n",
	`GUI: http://localhost:${process.env.PORT || 3000}${options.graphiqlRoute}`
);

+1 The things is cool. would be way cooler without Docker.

+1 get rid of docker

This is basically implemented in Prisma 2.
Please read more about it here: https://www.prisma.io/blog/announcing-prisma-2-zq1s745db8i5/


render podAnnotations with template func

I've submitted an MR that I'd love to get in that allows templated podAnnotations. Tell me what you think!
Take a look here: #236

@seglo any chance we could get this merged in and released? I'd like it to be part of the official helm chart instead of my own fork.

Addressed in another PR.


Minor typo and wording changing

I understand that changing this phrase is debatable, so I won't be offended if you don't accept this change. I'm proposing this change because I misunderstood the wording. All throughout this tutorial, I am getting started, so my mental state is one where I am installing the Pachyderm code. So to me, the phrase "your Pachyderm directory" was very easily misunderstood to mean the folder where Pachyderm resides. I think this can be easily avoided by using the term your working directory. Some other options are your project directory and your working directory/project directory.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for the PR @tantanchen. I like the phrase change and it resolves a minor confusion that we've seen users have on rare occasion. I thought I saw your CLA in my inbox, but for some reason our CLA bot isn't detecting it. hmm.
If it's not too much trouble, would you mind try signing it again with this link? https://cla-assistant.io/pachyderm/pachyderm?pullRequest=5212


Update .gitignore, fix docs build process for Ubuntu

Had some issues with building docs.
ERROR in ./docs/router/index.js
Module not found: Error: Can't resolve '../pages/documentation/notices/dialog' in '/var/www/html/buefy/docs/router'
 @ ./docs/router/index.js 53:11-58
 @ ./docs/main.js

etc...

OS: Ubuntu 16.04 LTS, ext4
Node: v7.10.0
Npm: 4.2.0
I don't have any related changes in file system settings / NPM or Node settings.

@tgosp Thanks but in the docs structure it's changed. Please try and if the problem is still alive you can open a new issue/pr.


testing v2.0.0: Cloud init problem with piped multiline yaml

Discussed in https://github.com/vitobotta/hetzner-k3s/discussions/385
Hi
this here is supported in yaml:
  - ip route add <IP_ADDRESS>/16 via <IP_ADDRESS>
  - mkdir -p /etc/network/interfaces.d
  - |
    IFACE=$(ip -o -4 addr list | grep ' 10.4.' | cut -d ' ' -f 2 | xargs)
    fn='/etc/network/interfaces.d/'$IFACE''
    echo 'auto '$IFACE'' > $fn
    echo 'iface '$IFACE' inet dhcp' >> $fn
    echo '    post-up ip route add default via <IP_ADDRESS>' >> $fn
    echo '    post-up ip route add <IP_ADDRESS> via <IP_ADDRESS>' >> $fn

very useful for keeping some state over command sequences in cloud init.
But when I use such a constract as postcommand, it's butchered into sth like this:

 (...)
packages: ['fail2ban', 'wireguard', 'ifupdown']

runcmd:
- hostnamectl set-hostname $(curl http://<IP_ADDRESS>/hetzner/v1/metadata/hostname)
- update-crypto-policies --set DEFAULT:SHA1 || true
(...)
- mkdir -p /etc/network/interfaces.d
- IFACE=$(ip -o -4 addr list | grep ' 10.4.' | cut -d ' ' -f 2 | xargs)
fn='/etc/network/interfaces.d/'$IFACE''
echo 'auto '$IFACE'' > $fn
echo 'iface '$IFACE' inet dhcp' >> $fn
echo '    post-up ip route add default via <IP_ADDRESS>' >> $fn
echo '    post-up ip route add <IP_ADDRESS> via <IP_ADDRESS>' >> $fn

- ...

And fails with schema error.
Note not for you but for readers: One can see the produced cloud init on the server here:
# root@ax-master2:/var/lib/cloud/instances/50866657# cat user-data.txt

No stress, can workaround via writing a file and reading it every time I need that interface name.
Note: Last week I did NOT use such a construct, so I do NOT know if the bug had been present in the old version.

And now I see this: https://github.com/vitobotta/hetzner-k3s/issues/109#issuecomment-1793219812
and am confused. I try that "one big pipe" style.

Nope - second command breaks it:

Hmm, does also not work - which would mean that it's a problem of v2 if it worked in v1.
Minimum test case:
post_create_commands:
- |
  cat > /setup <<EOF
  printf "started" > status
  export foo=bar
  timedatectl set-timezone Europe/Berlin
  printf "done" > status
  touch "$foo"
  EOF
- chmod +x /setup
- /setup

(that works when I paste it into the UI)
But the installer creates on the server this
(...)
runcmd:
- hostnamectl set-hostname $(curl http://<IP_ADDRESS>/hetzner/v1/metadata/hostname)
- update-crypto-policies --set DEFAULT:SHA1 || true
- echo "nameserver <IP_ADDRESS>" > /etc/k8s-resolv.conf
- cat > /setup <<EOF
printf "started" > status
export foo=bar
timedatectl set-timezone Europe/Berlin
printf "done" > status
touch "$foo"
EOF

- chmod +x /setup
- /setuproot@ax-master1:/var/lib/cloud/instances/50869948#

which does fail also when pasted like that, into the UI:

I see a lot of code around those post_create_commands in the source. imho, if such constructs are hard to parse, maybe allowing to create files (which one could simply chmod and execute in runcmd would be a simple solution).

Workaround (for others with that problem): Keep the state in a file, e.g. my iface name:
  - ip -o -4 addr list | grep ' 10.4.' | cut -d ' ' -f 2 | xargs > /iface
  - IFACE=$(cat /iface) ; fn='/etc/network/interfaces.d/'$IFACE''
  - IFACE=$(cat /iface) ; echo 'auto '$IFACE'' > $fn
  - IFACE=$(cat /iface) ; echo 'iface '$IFACE' inet dhcp' >> $fn

Are you sure you are using the right number of spaces? Or are you using tabs in your editor?
I do like the idea of post_create_scripts as it would make things easier. I am taking a note about it but I prefer doing that in 2.0.1 as I want ton finalize 2.0.0 soon.

This should be fixed in rc2. Can you double check when the binary for your OS is ready? https://github.com/vitobotta/hetzner-k3s/actions/runs/10098594405

It worked, also the EOF style.

Impressive build pipeline btw.
This would be cool btw, to adapt the the new versions in each build:
root@bastion:~# ./hetzner-k3s --version
1.1.5

BTW one note: in one snippet you had $foo. Remember to escape the $ sign otherwise it will be used for interpolation in the yaml itself when creating the file with the multiline command :)


Talkback stream sounds horrible and plays too fast

Describe the bug
When sending audio to my cameras (I only have a couple of G4 instants to test with) the audio sounds generally horrible, lots of popping, quite muddled, and it plays considerably faster than it should.  This is caused by incorrect settings for the bitrate and sampling rate within stream.py.  Fix PR incoming.
To Reproduce
uiprotect cameras CAMERA_ID play-audio SOME_URL
Additional context
Here is a thread from the Home Assistant forum with several other people also complaining about this issue https://community.home-assistant.io/t/tts-problem-with-unifi-doorbell-and-camera/685506
Version
6.3.1
Platform
Gentoo and HAOS 13.2 with Home Assistant 2024.10.3
Code of Conduct

[X] I agree to follow this project's Code of Conduct.

No Duplicate

[X] I have checked existing issues to avoid duplicates.

Not sure why GitHub didn't close this when the PR was merged, but this is resolved now and has been released into Home Assistant


Strings cannot contain double quotes

Strings (surrounding with double quotes) in filtrex expressions cannot contain any double quote characters themselves.
I'll open a PR to address this.

Fixed in m93a/filtrex#20.
Current syntax:

\' to escape single quotes
\" to escape double quotes
\\ to escape backslash.


Add dask.array.nanmedian

Adds nanmedian. Automatically rechunk to one chunk per reduction axes just like dask.array.median

[ ] Tests added / passed
[x] Passes black dask / flake8 dask

This looks great @dcherian !  Thanks for the fix (and the additional doc addition).  Merging.
Also, I notice that this is your first code contribution to this repository.  I hope it's the first of many :)

Wow, that was quick. Thanks @mrocklin


clarify that the chunk_size is optional when streaming to a file

Tripped me up briefly...figured others might run into the same thing. Thanks!

It's probably important to note that you should provide a chunk_size here despite it being optional. The default of 1 is likely not what the user wants for any non-trivial file.

@nateprewitt Yeah, thought about that...might make sense to give a value of 128 or something reasonable in the example, and just say that it can be changed. I'm no expert on this, so whatever y'all think!

I think it may be worth entertaining changing the example to:
with open(filename, 'wb') as fd:
    for chunk in r.iter_content(chunk_size=128):
        fd.write(chunk)

and then a line saying you can adjust the chunk_size to a number that fits your requirements. This would probably better serve the user than pointing them towards the default behaviour of iter_content. That's just one guys thoughts though :)

I'd be happy to merge that docs change.

@afeld if you think this change is agreeable and have the inclination, feel free to throw the PR together. Otherwise, I'll try to open something next week.


Support of context images for 2D tasks

Motivation and context
Resolved #3049

Added meta to manifest (updated version, set to 1.1)
Added support of context images for images annotation tasks
Redesigned context image for 3D a bit (UI part)

Expected structure is like this (example):

root_directory

image_1_to_be_annotated.jpg
image_2_to_be_annotated.jpg
related_images/

image_1_to_be_annotated_jpg/

context_image_for_image_1.jpg

image_2_to_be_annotated_jpg/

context_image_for_image_2.jpg

subdirectory_example/

image_3_to_be_annotated.jpg
related_images/

image_3_to_be_annotated_jpg/

context_image_for_image_3.jpg

You can upload this structure using an archive or from an attached shared storage.
Working gif:

Need documentation. @TOsmanov, could you please take a look after the PR will be merged?
Need tests. @dvkruchinin , could you please take a look after the PR will be merged?
How has this been tested?
Manual testing
Checklist

[x] I submit my changes into the develop branch
[x] I have added description of my changes into CHANGELOG file
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[x] I have linked related issues (read github docs)
[x] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[x] I have updated the license header for each file (see an example below)

# Copyright (C) 2021 Intel Corporation
#
# SPDX-License-Identifier: MIT

Need tests. @dvkruchinin , could you please take a look after the PR will be merged?

Sure. I created the corresponding task.

Coverage increased (+0.04%) to 74.114% when pulling 61feacf421e03b4aa8e14feedbfd39d0adcf7604 on bs/context_image_2d into 38b774046d41d604ed85a521587e4bacce61b69c on develop.

@bsekachev , probably QuestionCircleOutlined icon will be better for context images. It is like help.

@Marishka17 @ActiveChooN
Could you please review the PR?

Could you please review the PR?

Sure.

Thanks a lot @bsekachev for the implementation. It will be a useful start for our annotation work.

I guess it can be helpful to add the setting for hide context images by default.

@ActiveChooN
Let's do it if somebody ask us about it.

@bsekachev

Let's do it if somebody asks us about it.

Sure

@bsekachev , please check if images are in a subdirectory inside an archive, the PR works.

@bsekachev , if related_images in the / directory, the filter works incorrectly as well. You will have extra images in the task.


fix(env): Update method name parameters in env to string equivalents

Updates the function signatures from raw bytes for method names to String

These method names must be utf8 so this signature will be more ergonomic and harder to misuse.

Was related to something I was working on, and decided to break apart and PR separately
This is a breaking change, so could leave out of 4.0 release (#494) but I think this is incorrect and better to change sooner than later.

Interesting, any idea why we would do this the other way in the first place?

Interesting, any idea why we would do this the other way in the first place?

My guess, as similar from the log and panic signatures, that it was done cautiously to avoid any potential code size increases but this is not the case.
Also, going to think through alternatives and consider deprecating and creating a new function tomorrow morning, which is probably the better route than this breaking change.


composite_root_resource accept no project-id only project number

First, help us help you by providing the following information when opening an issue.

[ 2.25] Which version of Forseti Security you're using (look in /home/ubuntu/forseti-security/google/cloud/forseti/init.py
on the client).
[inventory] Which module(s) (inventory, scanner, enforcer, explain) you're having trouble with.
[ ] Include errors, log output, and host operating system, including installed packages.
[Terraform] Note how you deployed (via Deployment Manager, Terraform, local system, etc.).

Please add to the documentation if forseti scans nonorganisation that composite_root_resource should be project_number and not projectid.
Thanks
Alex Weber Lopes

Below screenshot is an example.  Although we give examples of what the actually id is, there is the potential of confusion with GCP id.
https://forsetisecurity.org/docs/latest/configure/inventory/

yeah but id is confusion. you want a project-number and not a project-id


feat: add Kebab type to DropdownButton

Overview

add a new kebab type button option to DropdownButton component

for use on WorkspaceCards (see corresponding PR here: https://github.com/codecademy-engineering/Codecademy/pull/24698) 🍡
PR Checklist

[ ] Related to designs: figma
[ ] Related to JIRA ticket: EGG-1261
[ ] I have run this code to verify it works
[ ] This PR includes unit tests for the code change

📬Published Alpha Packages:@codecademy/gamut-kit@0.3.112-alpha.50922c.0@codecademy/gamut-labs@18.2.0-alpha.50922c.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://60abdd7ce54b7500e56befe5--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.3.112-alpha.3b5d7e.0@codecademy/gamut-labs@18.2.0-alpha.3b5d7e.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://60abe06cdd843f008c7962e5--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.3.113-alpha.85f65e.0@codecademy/gamut-labs@18.2.0-alpha.85f65e.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://60ad1f0f71f8ed00cb08ce8f--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.3.114-alpha.b289dd.0@codecademy/gamut-labs@18.2.0-alpha.b289dd.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://60ad2b5b1ec7f100b7fe4523--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.3.114-alpha.df4c93.0@codecademy/gamut-labs@18.2.0-alpha.df4c93.0@codecademy/gamut@33.1.1-alpha.df4c93.0<EMAIL_ADDRESS>
📬Published Alpha Packages:@codecademy/gamut-kit@0.3.115-alpha.af66db.0@codecademy/gamut-labs@18.2.0-alpha.af66db.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://60ad6d722801dc008ff5340e--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.3.116-alpha.bef6ca.0@codecademy/gamut-labs@18.2.0-alpha.bef6ca.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://60ad72a05dd9ea00883e6521--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.3.117-alpha.d9a281.0@codecademy/gamut-labs@18.2.0-alpha.d9a281.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://60ad90ae79bd96008fb3a265--gamut-preview.netlify.appDeploy Logs


Allow customized path for did.bin

This gives more flexibility for code organizing.

This will also help in virtual environment deployments.


Create run_all.sh

Adds a shell script run_all.sh to run all files in count directory through binomialfit.py for the BA.2.86 estimates.

Hi Ben. I appreciate the interest, but isn't this the same as
python binomialfit.py counts/*
?

(By the way, at the moment this is giving a bad answer because of the UK cluster. I am going to make a modification to deal with this.)

Great, thanks for pointing out the other method! I'll close this PR.


SampleApi project is not able to run

I am getting the following message (I tried the SampleApi project)
The selected debug option is IIS Express but this project is not a web project. To use IIS Express you need to add the wwwroot attribute to project.json
So is there a problem with project.json file deployed with samples? Please let me know.
Yes, I am using 1.0.0-RC1-update1

All I can is - it works for me. It has a wwwroot folder as you can see.
Maybe try without the debugger.

Thanks, it is working finally. The issue is with "1.0.0-RC1-update1", I got it updated and able to run sampleapi project


Nuxt 3 + Vanilla Extract Vite SSR error

Describe the bug
Using Nuxt 3 and the Vanilla Extract Vite plugin, there is a flash of unstyled content on load. When viewing source, it doesn't appear that <style> tags are being added to the server rendered markup.
This is not an issue when SSR is disabled in Nuxt.
Link to reproduction
Repo (Reused from #446, though I don't believe these issues to be related)
System Info
Output of npx envinfo --system --npmPackages @vanilla-extract/css,@vanilla-extract/webpack-plugin,@vanilla-extract/esbuild-plugin,@vanilla-extract/vite-plugin,@vanilla-extract/sprinkles,webpack,esbuild,vite --binaries --browsers:
  System:
    OS: macOS 12.0.1
    CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 439.40 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.13.0 - ~/.nvm/versions/node/v16.13.0/bin/node
    Yarn: 1.22.15 - /usr/local/bin/yarn
    npm: 8.1.0 - ~/.nvm/versions/node/v16.13.0/bin/npm
  Browsers:
    Chrome: 95.0.4638.54
    Firefox: 89.0.1
    Safari: 15.1
  npmPackages:
    @vanilla-extract/css: ^1.6.3 => 1.6.3
    @vanilla-extract/vite-plugin: ^3.0.0 => 3.0.0

SSR of styles in Vite is an interesting one as styles aren't pulled into CSS files. I'm not sure how Nuxt handles this currently. How does it work for static CSS files?

When defining global css files in nuxt.config.ts, the server returns a <link> tag referencing the file.
The client seems to immediately replace that with a <style> tag of the contents in dev mode. In production, the <link> tag is left alone.

I've updated the example repo with a static css file, and upgraded all the deps. Still seeing the FOUC.


Temporary fix for clunky UI on Android/iOS

Problem Description
In our React Native application, we encountered performance issues during the cryptographic computation process, specifically the generation of keypairs. This intensive task was being executed on the main thread, resulting in noticeable lag and a degraded user experience.
Proposed Solution
To address this, we have introduced a utility function named deferTask. The primary objective of this function is to offload heavy computational tasks from the main thread, thereby preventing UI blocking and performance bottlenecks.
Here's how deferTask improves the application:

Asynchronous Execution: It shifts the cryptographic computation (keypair generation) to the event loop, allowing these operations to run asynchronously.
Enhanced Responsiveness: While the computation is ongoing in the background, the main thread remains responsive. Users will see a loading icon during this process, ensuring a smooth and interactive experience.

By implementing deferTask, we aim to enhance the app's performance, particularly during computationally intensive operations, and provide a more seamless user experience.

Why the fix is mentioned as 'temporary' in the title?
Because, the community found this issue as well. And they worked around this by writing the cryptographic operation in C++ and added a bridge to react-native for mobile platforms.
So, in future, we can create a similar bridge using Rust (more crypto libs are being under active development) may be.

LGTM


Feature request: Markdown support (UI and text/markdown from RFC 7763/7764)

Related to #1745 (and somewhat to #3171), I wish K9 Mail had an option to send and receive mails that are explicitly labeled as using Markdown (preferably in the Commonmark variant) as specified in RFC 7763 and its companion RFC 7764.
Not many mail user agents do implement these yet, unfortunately, and there would need to be some tests whether sending as text/markdown instead of rather than in addition to text/plain yields any serious compatibility problems. The expected result is that receiving MUAs just display the Markdown text verbatim.
Receiving such mails and parsing them for enriched displaying should be implemented regardless.
Expected behavior

If K9 had a rich text editor that added formatting to the mail text #1745, there should be an option to use text/markdown instead of text/html or text/enriched (RFC 1563/1896) or text/richtext (RFC 1341/1521).
If K9 detected that the user (supposedly) manually entered Markdown formatting, K9 should offer to send the mail as text/markdown.

Actual behavior

K9 does not have a rich text editor.
K9 does not detect the use of formatting characters or codes.
K9 sends mails as text/plain (or text/html?).

How about composing message using markdown and converting to html before sending?
Something like using Markdown Here. In such cases you don't have to worry about other clients, yet you can send rich text messages without rich text editor.

Meanwhile today I will be continuing my mutt to do that ;-)


Is it able to make gaggle support html report?

Please see https://github.com/tag1consulting/goose/issues/426


Remove "elastic" methods and data structures

Checklist

[ ] tests added
[x] commits conform to the Commit message format
[ ] documentation updated

Squash commit message

Remove all elastic actions
Remove all elastic related methods and data structures
Add possibility to register custom state carriers to state object

Info
Optional informative text (not to be included in commit message) relevant to reviewers.

Structs in datafilesresponse.go and collection.go is unused after the move, maybe they should also be moved.

Structs in datafilesresponse.go and collection.go is unused after the move, maybe they should also be moved.

ok, thanks , will take a look


canonifyUrls relURL and baseurl

Hello,
When canonifyUrls is set to true, the relURL pipe strips the path url (leaves only the domain), whereas it should prepend the baseurl path after the first slash alone.
Here are my settings:
baseurl: "http://www.domain.com/new"
canonifyURLs: true

In the post, I set:
featured: "img/adrien/adrien01.jpg"

And here is the template:
{{- if .Params.featured -}}

{{- end -}}

Here are the behaviours:

With the settings above, I get , whereas relURL should prepend /new/ to the url.

The markdown links generated with blackfriday are well formed with canonifyURLs: true, though.
I personnally need canonifyUrls to be set to true to have the links inside posts to point to the right locations. For now I get template URLS right XOR post urls right, but not both.

relURL interprets "/img/adrien/adrien01.jpg" as a URL relative to the server/host root. Try without leading slash.
Canonify URLs is not supported for inline CSS. I doubt we will, but we need a more focused issue to track that than this one.

Thanks for your comment @bep. I therefore updated my first post, given that this is not about CSS and that it has no effect on the behaviour.

relURL interprets "/img/adrien/adrien01.jpg" as a URL relative to the server/host root.

This is why I am opening this issue. I assume that relURL should interpret "/img/adrien/adrien01.jpg" as a URL relative to the server's root, prepend with the path in the baseurl.


Standardize labels & links for breadcrumbs in the admin UI

In https://github.com/civiform/civiform/pull/6254, I added the use of the USWDS breadcrumbs component for the program images UI on the admin side. If we anticipate using breadcrumbs on other admin pages, we should create a standard list of labels to use ("Edit Programs" for example) and also standardize what links we should be using (does "Edit Programs" take you to the program index page or somewhere else?).
I think this will require (1) Some UX work to determine where else (if anywhere) we want to use breadcrumbs and what those breadcrumbs would be; then (2) Some.Eng work to implement a standard breadcrumb library that can be reused across all/many breadcrumbs.

Screenshot example of breadcrumbs


IConnectionStrings is enumerable and can be used in a foreach loop

Feature - Enumerable IConnectionStrings
What is it?

Found a need in a personal project to be able to collect/pick up on defined connectionstrings in the configuration without knowing the fully qualified identifier for the connection string key. Example is there could be a differing number of connection strings pointing to country databases but it is not known whilst coding which and how many databases the application will connect to.

Additonal Comments?
This is a great project, thank you for sharing. Being able to use configuration values without referencing the original baked in ConfigurationManager and be able to unit test without writing custom wrapper interfaces is a big relief across existing and new projects.

Generally - yep, like this - just need to ensure that enumerating has consistent interception before it's good to go :+1:

Thank you for the spot. Updated PR

Once this passes CI I'll publish it.
Thanks :)

Published - https://www.nuget.org/packages/System.Configuration.Abstractions/<IP_ADDRESS>


Implement PARSE_IDENT() function

Block regress test name.sql.

ok, so the type name is not supported.
Consider this issue not urgent.


.ppt and .doc files don't download correctly

Files don't open like they should.

This issue is actually a side-effect of the bug fixed in this commit - 7635bba47230aa8334d81f9aa2a01ad3f861f2e5.


New domain marzeniehakera.pl

Hi,
I just buy the domain marzeniehakera.pl. We can connect it with GitHub pages.

Sounds good to me. You need to point marzeniehakera.pl to <IP_ADDRESS> and <IP_ADDRESS> with an A record and add a CNAME record pointing to tracerneo.github.io (I think).
https://help.github.com/articles/tips-for-configuring-an-a-record-with-your-dns-provider/
Once it's setup correctly on the DNS end, I will be able to configure it in the repo.

DNS setup are done.

http://marzeniehakera.pl/
Works like a charm. Many thanks for the domain!

DNS is not yet propagated properly (should be in less than an hour from now, when old records hit TTL).
Until then, http://tracerneo.github.io/marzeniehakera/ should be used.


not working

the script isnt working i tried using num lock as actavation but still doesnt do nothing.

script has changed to using the capslock key.


chore(deps): bump

Applied mkpr on undefined
/tmp/mkpr.sh

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

v1.10.35
GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Error observed when creating a resource instance via Crossplane installed in OpenShift cluster

What happened?

Installed Crossplane and IBM provider to an OpenShift cluster (IBM ROKS) - all good.
Then created an instance of a IBM Cloud Database for PostgreSQL, this worked fine.
Therefore provision action is all ok, and can work with database.
But there is a side error where OpenShift reported an error generated from TraitDefinition - I don't know whether this is material to operating Crossplane in OpenShift cluster.
How can we reproduce it?

# install crossplane and IBM provider in OpenShift; you will need the privileges workaround
oc new-project crossplane-system
helm repo add crossplane-alpha https://charts.crossplane.io/alpha

# in OpenShift this creates the Service Account 'crossplane' during the chart install
helm install crossplane --namespace crossplane-system crossplane-alpha/crossplane --set alpha.oam.enabled=true

# add privilege to this service account
oc adm policy add-scc-to-user privileged -z crossplane -n crossplane-system
curl -sL https://raw.githubusercontent.com/crossplane/crossplane/release-0.14/install.sh | sh
sudo mv kubectl-crossplane /usr/local/bin
kubectl crossplane --help
kubectl crossplane install provider crossplane/provider-ibm-cloud:alpha

# Using an IBM Cloud account with permissions to manage IBM Cloud Services:
if [[ -z "${IBMCLOUD_API_KEY}" ]]; then
  echo "*** Generating new APIKey"
  IBMCLOUD_API_KEY=$(ibmcloud iam api-key-create provider-ibm-cloud-key -d "Key for Crossplane Provider IBM Cloud" | grep "API Key" | awk '{ print $3 }')
fi

kubectl create secret generic provider-ibm-cloud-secret --from-literal=credentials=${IBMCLOUD_API_KEY} -n crossplane-system

# We will create the following ProviderConfig object to configure credentials for IBM Cloud Provider:
cat <<EOF | kubectl apply -f -
apiVersion: ibmcloud.crossplane.io/v1beta1
kind: ProviderConfig
metadata:
  name: ibm-cloud
spec:
  credentials:
    source: Secret
    secretRef:
      namespace: crossplane-system
      name: provider-ibm-cloud-secret
      key: credentials
  region: us-south
EOF

# add privilege to this service account
oc adm policy add-scc-to-user privileged -z provider-ibm-cloud-e0a75509c392 -n crossplane-system

# Create a resource of Kind supported by the IBM Cloud provider
apiVersion: resourcecontrollerv2.ibmcloud.crossplane.io/v1alpha1
kind: ResourceInstance
metadata:
  name: postgres-via-crossplane
spec:
  forProvider:
    name: postgres-via-crossplane
    target: us-south
    resourceGroupName: default
    serviceName: databases-for-postgresql
    resourcePlanName: standard
    tags:
      - dev
    parameters:
      members_disk_allocation_mb: 32768
  providerConfigRef:
    name: ibm-cloud

Steps to reproduce

apply the above ResourceInstance (this work and db provisions in IBM Cloud)
in OpenShift console, go to `crossplane-system' Project > Events

Error event:
TD manualscalertraits.core.oam.dev
(generated from TraitDefinition)
"cannot generate OpenAPI v3 JSON schema for capability manualscalertraits.core.oam.dev: capability manualscalertraits.core.oam.dev doesn't contain section parameter"

yaml

apiVersion: core.oam.dev/v1alpha2
kind: TraitDefinition
metadata:
  annotations:
    meta.helm.sh/release-name: crossplane
    meta.helm.sh/release-namespace: crossplane-system
  selfLink: >-
    /apis/core.oam.dev/v1alpha2/namespaces/crossplane-system/traitdefinitions/manualscalertraits.core.oam.dev
  resourceVersion: '11275488'
  name: manualscalertraits.core.oam.dev
  uid: a7d3a994-5212-4153-817e-b1c991f60e71
  creationTimestamp: '2021-04-29T00:50:55Z'
  generation: 1
  managedFields:
    - apiVersion: core.oam.dev/v1alpha2
      fieldsType: FieldsV1
      fieldsV1:
        'f:metadata':
          'f:annotations':
            .: {}
            'f:meta.helm.sh/release-name': {}
            'f:meta.helm.sh/release-namespace': {}
          'f:labels':
            .: {}
            'f:app.kubernetes.io/managed-by': {}
        'f:spec':
          .: {}
          'f:definitionRef':
            .: {}
            'f:name': {}
          'f:workloadRefPath': {}
      manager: Go-http-client
      operation: Update
      time: '2021-04-29T00:50:55Z'
    - apiVersion: core.oam.dev/v1alpha2
      fieldsType: FieldsV1
      fieldsV1:
        'f:status':
          .: {}
          'f:conditions': {}
      manager: a7d3a994-5212-4153-817e-b1c991f60e71
      operation: Update
      time: '2021-04-29T00:50:55Z'
  namespace: crossplane-system
  labels:
    app.kubernetes.io/managed-by: Helm
spec:
  definitionRef:
    name: manualscalertraits.core.oam.dev
  workloadRefPath: spec.workloadRef
status:
  conditions:
    - lastTransitionTime: '2021-04-29T00:50:55Z'
      message: >-
        cannot store capability manualscalertraits.core.oam.dev in ConfigMap:
        cannot generate OpenAPI v3 JSON schema for capability
        manualscalertraits.core.oam.dev: capability
        manualscalertraits.core.oam.dev doesn't contain section `parameter`
      reason: ReconcileError
      status: 'False'
      type: Synced

What environment did it happen in?

kubectl crossplane --version
v0.14.0

oc version
Client Version: 4.5.35
Server Version: 4.5.37
Kubernetes Version: v1.18.3+cdb0358

kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.2-0-g52c56ce", GitCommit:"297a4ac4250237ed5aed54e916ec7b88fda61bbe", GitTreeState:"clean", BuildDate:"2021-03-06T07:17:32Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"18+", GitVersion:"v1.18.3+cdb0358", GitCommit:"cdb0358", GitTreeState:"clean", BuildDate:"2021-03-27T03:40:11Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

Hi @cg2p , it seems this with an older version of Crossplane, we are currently at release v1.2.0. We have published a medium blog providing a link to instructions to install Crossplane in OpenShift. Could you please try with these instructions ?

Fixed.
The Helm install of Crossplane needs to set runAsUser and runAsGroup to null for both securityContextRBACManager and securityContextCrossplane in order to pass through the appropriate values of the user id.
helm install crossplane --namespace crossplane-system crossplane-stable/crossplane --set securityContextCrossplane.runAsUser=null --set securityContextCrossplane.runAsGroup=null --set securityContextRBACManager.runAsUser=null --set securityContextRBACManager.runAsGroup=null
The instructions to install Crossplane in OpenShift can therefore be updated @pdettori


Support multiline codeblocks

It looks like a single backtick ` is to be used for code blocks:
https://github.com/nuex/zodiac/blob/master/lib/markdown.awk#L104
An example such as this works as expected:
`env | grep FOO`

becomes:

env | grep FOO

But I cannot seem to get a multiline code block to work. For example, this:
`if [ ! -f ./conf.sh ]; then
	redln "No conf file found"
	echo "Create ./conf.sh"
	exit 2
fi`

becomes:

if [ ! -f ./conf.sh ]; then	redln "No conf file found"	echo "Create ./conf.sh"	exit 2fi

The easiest "fix" is to use custom markdown parser as outlined in the README. The included awk parser really only does the bare minimum.
The single-backtick notation is not meant for multiline anyway. The proper markdown syntax is:
```
if [ ! -f ./conf.sh ]; then
redln "No conf file found"
echo "Create ./conf.sh"
exit 2
fi
```


MITM attacker can replace http://debug.kadiraio.com with code that exfiltrates app data

The FAQ claims that Kadira Debug is secure even though it is served from http://debug.kadiraio.com (without HTTPS) because data from the app isn't sent anywhere.  Of course, this claim assumes that the user has received the legitimate Kadira Debug UI.  A MITM attacker could substitute a modified version of the Kadira Debug UI that sends the data to his own server.  The problem is analogous to the more familiar one of a login form served without HTTPS.
One idea for a fix is to use a route on the app as the entry point (e.g., http://localhost:3000/kadira-debug) and have that route load the scripts and resources for the Kadira Debug UI from an HTTPS server.  There should be no browser restrictions on non-HTTPS pages loading HTTPS resources.

That's a good suggestion but Kadira Debug is no longer support with recent Meteor versions.


⚠ Bofrost.de has degraded performance

In 09a9c1c, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 761 ms

Resolved: Bofrost.de performance has improved in 48c5616.


Fixed flick when saving files and changed how file system watcher events are tracked.

Absolutely fantastic. Thank you so much!!


Springfox swallows one of the controller methods when it has same url

Please take the time to search the repository, if your question has already been asked or answered.

[ ] What version of the library are you using?
2.9.2

What kind of issue is this?

[ ] Bug report.
When controller has two mappings on same url, result json will contain only one method description

  @GetMapping(value = "/has", params = {"permName", "dictId", "sectionId"})
  public Boolean hasAccessForDictionary(@RequestParam String permName,
                                        @RequestParam Long dictId,
                                        @RequestParam(required = false) Long sectionId
  ) {
  }

  @GetMapping(value = "/has", params = {"permName", "conceptId"})
  public Boolean hasAccessForConcept(@RequestParam String permName, @RequestParam Long conceptId) {
  }

- [ ] spring xml/java config that is relevant

java config
- [ ] include any output you've received; logs, json snippets etc.; and what the expected output should be

When I set enableUrlTemplating(true) I started getting this error:
https://github.com/springfox/springfox/issues/1419
According to @dilipkrish:

Dont set the url template to true if you're using a version greater than 2.7.0
https://github.com/springfox/springfox/issues/1419#issuecomment-416553977

Any ideas?


Update the way that we bump version/tag

Look into lifecycle of npm version.
Getting a tag like this would better for us
v${version}-upstream-${versionFromFacebookOrg}

non-issue now that we are publishing to artifactory. see the README-FRONTIER.md to see how to cut a release.


Add Hannes Hauswedell and Lambda application.

As on the old seqan page, lambda has no application page. Instead it is forwarded to the GitHub page:
http://seqan.github.io/lambda/

@simonsasse is there a way to add a small symbol to links that leave the domain (at least at places where it is unexpected)? Some websites mark such links. Would it be feasible and a good idea to do it for our website?


feat: remove support for python 2.7, add support for Python 3.9 & Django 3.1, 3.2

Hi @chrisjones-brack3t @kennethlove ,
This is mostly maintenance PR. I've tried to make sure everything is passing tests. Would be really grateful for review.
Thanks

Thanks!
It helped me to get rid of such an exception
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\advanced_filters\views.py", line 11, in <module>
    from braces.views import (CsrfExemptMixin, StaffuserRequiredMixin,
  File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\braces\views\__init__.py", line 3, in <module>
    from ._access import (
  File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\braces\views\_access.py", line 13, in <module>
    from django.utils import six
ImportError: cannot import name 'six' from 'django.utils'

Hi @kennethlove @chrisjones-brack3t ,
Kind reminder.

Hi @kennethlove @chrisjones-brack3t ,
I've updated this PR with Python 3.9 and Django 3.2 and asking very kindly for review & merge.
Please also enable back new TravisCI (they migrated from Travis-CI.org to travis-ci.com and you have to reeanble it in new domain.).
If you need any help let me know.

Hi @kennethlove @chrisjones-brack3t ,
Kind reminder, thanks for all hard work on this project.

Sorry @galuszkak, we've both been tied up with family and work and this project is stable, so we don't check it often. I'll do my best to get your PR and others read and approved this week.

Hi @kennethlove, thanks for taking time on this. I know how much time open-source takes from private life so even more gratitude from me for looking into this.

Starting to look at this today. 👍🏻


Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter twinkly for common errors and appropiate suggestions to keep this adapter up to date.
This check is based the current head revisions (master / main  branch) of the adapter repository
Please see the result of the check below.
ioBroker.twinkly
   -
:thumbsup: No errors found
WARNINGS:

[ ] :eyes: [W028] Minimum node.js version 18 recommended. Please adapt "{'engines' : { 'node' >= '16' } }" at package.json.
[ ] :eyes: [W162] js-controller 4.0.24 listed as dependency but 5.0.19 is recommended. Please consider updating dependency at io-package.json.
[ ] :eyes: [W520] Plugin "manual-review" missing at .releaseconfig.json. Please add.
[ ] :eyes: [W853] .npmignore found - consider using package.json object "files" instead.

SUGGESTIONS:

[ ] :pushpin: [S522] Please consider migrating to admin 5 UI (jsonConfig).

Please review issues reported and consider fixing them as soon as appropiate.
Warnings reported by repository checker should be reviewed. While some warnings can be ignored due to good reasons or a dedicated decision of the developer, most warnings should be fixed as soon as appropiate.
Suggestions reported by repository checker should be reviewed. Suggestions can be ignored due to a decision of the developer but they are reported as a hint to use a configuration which might get required in future or at least is used be most adapters. Suggestions are always optional to follow.
You may start a new check at any time by adding the following comment to this issue:
@iobroker-bot recheck
Please note that I (and the server at GitHub) have always plenty of work to do. So it may last up to 30 minutes until you see a reaction. I will drop a comment here as soon as I start processing.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
@mcm1957 for evidence
Last update at Fri, 06 Sep 2024 11:02:20 GMT

Issue outdated due to RECREATE request. Follow up issue #358 has been created.
This issue will be closed.
your
ioBroker Check and Service Bot


fix: break long variable values in code blocks

Description
Long variables broke the layout, not only in the incident modal, but also in the variables tab. I decided to add the rule to the general code tag in alignment with the rules established by Bootstrap here:
https://github.com/camunda-community-hub/zeebe-play/blob/bdcf7c08ce4a14f3b132ca6c610f72740fc0ce9a/src/main/resources/public/css/bootstrap-reboot.css#L268-L272
Related issues
closes #193

I cannot reproduce this issue. I have used the linked process and filled the pull_requests variable with a long JSON (because I did not want to setup the connector). Both on Chrome and Firefox the value field wraps correctly:

@SebastianStamm weird. I still face this issue. Let's have a look together. :eyes:


[Feature] Support some array function

Search before asking

[X] I had searched in the issues and found no similar issues.

Description
Now Doris has supported the window_funnel function. The window_funnel function can calculate the depth of the ordered window funnel. If only the depth of the funnel is used, it is still difficult to calculate the conversion rate of each layer of funnel. If the following three functions can be supported, the calculation of the conversion rate of each layer of funnel It will be easy to support, and the calculation of retention analysis can also be implemented.
array_with_constant(length, param)
array_enumerate(arr)
array_join(arr)

Use case
array_with_constant(length, param)
description
Syntax
ARRAY<T> array_with_constant(BIGINT length, T param)

Returns an array of the specified length.
length: The length of the array.
param: filled content.
example
mysql> select k1, k2, array_with_constant(k1, k2) from array_with_constant_demo_table;
+-----------------+-----------------+-----------------------------+
| k1              | k2              | array_with_constant(k1, k2) |
+-----------------+-----------------+-----------------------------+
| 4               | 1               | [1,1,1,1]                   |
+-----------------+-----------------+-----------------------------+

array_enumerate(arr)
description
Syntax
ARRAY<T> array_enumerate(ARRAY<T> arr)

Returns an array of subscript values of the target array.
example
mysql> select k1, array_enumerate(k1) from array_enumerate_demo_table;
+-----------------+---------------------+
| k1              | array_enumerate(k1) |
+-----------------+---------------------+
| [1, 1, 1, 1]    | [1,2,3,4]           |
+-----------------+---------------------+

array_join(arr)
description
Syntax
T array_join(ARRAY<T> arr)

Returns the expanded result of an array into multiple lines.
example
mysql> select k1, k2, array_join(k2) from array_join_demo_table;
+-----------------+---------------------+----------------+
| k1              | k2                  | array_join(k2) |
+-----------------+---------------------+----------------+
| a1              | [1,2,3,4]           | 1              |
| a1              | [1,2,3,4]           | 2              |
| a1              | [1,2,3,4]           | 3              |
| a1              | [1,2,3,4]           | 4              |
+-----------------+---------------------+----------------+

Related issues
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi, did you use these array functions before?
If yes, what database did you use these functions on before?
Hope to be provided more use cases, thanks.

Hi, did you use these array functions before? If yes, what database did you use these functions on before? Hope to be provided more use cases, thanks.

I use the above three functions on ClickHouse.
Below is an example of how we used ClickHouse to calculate conversion rates at each level of an ordered funnel.
1. The funnel process
    login_in -> $pageview -> $end -> $startup -> $end -> $startup
2. Time range 2021-07-01 ~ 2021-07-09
3. Conversion cycle 1 day

CREATE TABLE IF NOT EXISTS test.`event`(
 `distinct_id` Nullable(Int64),
 `xwhen` Nullable(Int64),
 `xwhat` Nullable(String),
 `screen_width` Nullable(decimal64(3))
 ) engine = TinyLog;

SELECT level_index,count(1) FROM
(
    SELECT  distinct_id,
        arrayWithConstant(level, 1) levels,
        arrayEnumerate( levels ) b, -- for_test_col
        arrayJoin(arrayEnumerate( levels )) level_index
      FROM (
        SELECT
          distinct_id,
          windowFunnel(86400)(
            time,
            xwhat = 'login_in',
            xwhat = '$pageview',
            xwhat = '$end',
            xwhat = '$startup',
            xwhat = '$end',
            xwhat = '$startup'
          ) AS level
        FROM (
          SELECT
          distinct_id
          , xwhat
          , toDateTime(toUInt64(round(xwhen/1000))) as time
          FROM test.event
          WHERE (toDate(time) >= '2021-07-01' and toDate(time) <= '2021-07-09' and xwhat = 'login_in')
          or (toDate(time) >= '2021-07-01' and toDate(time) <= '2021-07-10' and xwhat in ('$pageview','$end','$startup'))
        )
        GROUP BY distinct_id
    )
)
group by level_index
ORDER BY level_index;

@xy720
Hi, what do you think of the above features?
Can they be implemented in future versions?
Looking forward to your reply, thanks.

all this function have support

array_with_constant function ： https://github.com/apache/doris/pull/14115
array_enumerate  function  ： https://github.com/apache/doris/pull/13612
array_join function ： https://github.com/apache/doris/pull/11406