add initial draft of the RustyHermit showcase

@phil-opp Do I include the images correctly?
In general, feel free to comment the post.

Thanks a lot! Looks good to me overall. I left a few suggestions in https://github.com/stlankes/homepage/pull/1 (mostly typo&grammar fixes and some sub-headings). Feel free to integrate any (or none) of these suggestions, however you like.

Thanks a lot! Looks good to me overall. I left a few suggestions in https://github.com/stlankes/homepage/pull/1 (mostly typo&grammar fixes and some sub-headings). Feel free to integrate any (or none) of these suggestions, however you like.

Thanks for the improvements and corrections!

Thanks for the improvements and corrections!

I agree and I would prefer, if you post it.

I agree and I would prefer, if you post it.

Ok, thanks again!

Ok, thanks again!

@stlankes There was a comment in the reddit thread: https://www.reddit.com/r/rust/comments/l2r5zl/the_rustyhermit_unikernel/gk98iwr/
If you don't have a reddit account, I can forward an answer if you like.

@stlankes There was a comment in the reddit thread: https://www.reddit.com/r/rust/comments/l2r5zl/the_rustyhermit_unikernel/gk98iwr/
If you don't have a reddit account, I can forward an answer if you like.

Sorry, I oversaw it. I will check it.

Sorry, I oversaw it. I will check it.


Can't use MQTT.ts

When importing the library as illustrated in the README I get the following error.
Check file:///home/ahmed/projects/embedded/iot_project/server/main.ts
error: TS1205 [ERROR]: Re-exporting a type when the '--isolatedModules' flag is provided requires using 'export type'.
  ConnectPacket,
  ~~~~~~~~~~~~~
    at https://deno.land/x/mqtt@0.1.0/packets/mod.ts:37:3

TS1205 [ERROR]: Re-exporting a type when the '--isolatedModules' flag is provided requires using 'export type'.
  ConnackPacket,
... [others (same error)]

When I run with --no-check I get the following
error: Uncaught SyntaxError: The requested module './puback.ts' does not provide an export named 'PubackPacket'
import puback, { PubackPacket } from './puback.ts';
~~~~~~~~~~~~
    at <anonymous> (<https://deno.land/x/mqtt@0.1.0/packets/mod.ts>:6:1)

Deno version
deno 1.6.2 (release, x86_64-unknown-linux-gnu)
v8 8.8.278.2
typescript 4.1.3

PS: This is my first time using Deno

0.1.1 should be working again. Tested with Deno v1.6.3.

0.1.1 should be working again. Tested with Deno v1.6.3.


While building for ios simulator no library for this platform was found in '/.../codeapp/Resources/llvm/clang.xcframwork

Hello!
I tried to build CodeApp, but got errors. I selected CodeUI, selected iOS Simulator, click Build, but in left side appear error "While building for ios simulator no library for this platform was found in '/.../codeapp/Resources/llvm/clang.xcframwork". When I click on this message show dialog "The framework clang.xcframework is unsigned. Xcode will be unable to verify if the author changes.".
I tried uncheck box clang on CodeUI as required, after that building was successfully. So when I run on simulator and iPad I got error when try simple Python "hello world" - "Failed loading python3 from python3_ios.framework/python3_ios, cause = (null)". For JavaScript shown only "node".
What I should do? Thank you!

Hi. CodeUI target does not contain Python or Node run time to speed up the build process. You must build the Code target and install it on an actual device to run these languages in the app.

Hi. CodeUI target does not contain Python or Node run time to speed up the build process. You must build the Code target and install it on an actual device to run these languages in the app.

Hi! Thank you for answer! I've build with target Code App, connect iPad, tried Run, but Failed install error:
Failed to install the app on the device.
Domain: com.apple.dt.CoreDeviceError
Code: 3002
User Info: {
DVTErrorCreationDateKey = "2024-01-21 06:03:34 +0000";
IDERunOperationFailingWorker = IDEInstallCoreDeviceWorker;
NSURL = "file:///Users/deniz/Library/Developer/Xcode/DerivedData/Code-callqtexuyxhsbcrlxejybhjpmaj/Build/Products/Debug-iphoneos/Code.app/";
}
What is wrong?

I am not quite sure. Is there any additional error / logs that I can inspect? Please make sure you used the right signing certificate in the project's settings for both "Code" and "extension" target. Change the bundle identifier if prompted.

Did you run the download frameworks shell script? I ran into this error and I went back and saw in the readme that they had that noted in there, and it fixed it for me!


[Proposal] Provide default jsbin templates for fast issue replication.

Providing a list of starter templates would enable bug reports to be evaluated more quickly and users to more easily submit jsbins with bug replications.
Some bin ideas

Hammer with default
Hammer with Manager with one recognizer setup
Hammer with Manager and a recognizeWith setup
Hammer with Manager and a recognizeFailure setup

+1 i do this on other projects.


Monster parts not showing at all in World

The monster widget just doesn't show monster parts at all, even when I'm the host or playing solo, in MH World.
I can still see the parts with HunterPie v1.0.5

As stated in the documentation, you must target the monster for it to display the parts.

Ah, I see, so it was changed from the previous version.
Additionally, after going other releases, for some reason it seems like .NET runtime you link to on startup (if it's not installed) doesn't seem to actually make HunterPie v2 work.
When I used the installer release (on Nexus Mods) the .Net version it installs is 6.0.8, and so when I installed that version it worked.
So the version you link to is 6.0.0 (doesn't work).
The installer gives 6.0.8 (works)

After further inspection it might be because he sends me to the ".NET 6.0 Runtime (v6.0.11)" rather than the ".NET 6.0 Desktop Runtime (v6.0.11)"

I don't link any .NET runtime on startup, that's a popup that appears on any .NET application if you don't have the right runtime installed, it was not coded by me.
And it does work, you probably just downloaded the wrong version, HunterPie requires the Desktop Runtime (which is the one linked in Nexus) and not just the Runtime, they're different. The page the popup takes you to has all the different runtimes available.

Ok, so that one is on Microsoft.
The problem I had is that they apparently don't link the Desktop Runtime download, just the Runtime.

Anyways, thx for the help.
Hope you can keep up the good work.


this vpn service is not disconnect on button click how can i disconnect it on button click

You need to bind the service (LocalVpnService) to the LocalVPN and then you can stopService and unBind with a button


⚠ Exoticaz has degraded performance

In e3d85f1, Exoticaz ($EZ) experienced degraded performance:

HTTP code: 200
Response time: 1931 ms

Resolved: Exoticaz performance has improved in 4245b50 after 6 minutes.


Login page

Hi, I have installed and configured Ambar and it works correctly.
The problem is that when I reach the url where it is published I see the search page directly, without authentication. I have seen from other issues that I have to change some settings in config.json file. My problem is that I don't know which config.json I have to edit.
In particular, I have the following config.json:
/run/containerd/io.containerd.runtime.v1.linux/moby/container_ID_01/config.json
/run/containerd/io.containerd.runtime.v1.linux/moby/container_ID_02/config.json
/run/containerd/io.containerd.runtime.v1.linux/moby/container_ID_03/config.json
/run/containerd/io.containerd.runtime.v1.linux/moby/container_ID_04/config.json
/run/containerd/io.containerd.runtime.v1.linux/moby/container_ID_05/config.json
/run/containerd/io.containerd.runtime.v1.linux/moby/container_ID_06/config.json
/run/containerd/io.containerd.runtime.v1.linux/moby/container_ID_07/config.json
/run/containerd/io.containerd.runtime.v1.linux/moby/container_ID_08/config.json
/run/containerd/io.containerd.runtime.v1.linux/moby/container_ID_09/config.json
/run/containerd/io.containerd.runtime.v1.linux/moby/container_ID_10/config.json
/run/containerd/io.containerd.runtime.v1.linux/moby/container_ID_11/config.json
I have 11 config.json because of I have multiple container that I have mounted with docker-compose(frontend, webapi, es, some crawler, etc.).
Moreover I tried to search in these files if there is the auth option (for example setted to none), but I found nothing.
What changes do I have to do?
Thank you for the help.

Hi
I'm also trying to implement a login UI before the Ambar dashboard. There is a JSON file called "localizations.json" which has details about login, signup, and password reset. But how do we implement the login UI?
Thanks in advance!

Hi
I'm also trying to implement a Login UI before the Ambar dashboard. Ambar's UI is fully working on GCP and localhost. I found a file 'localizations.json' which has some information regarding the login, password reset and signup page. But how do we implement the login UI or from where do we have to turn on the login UI?
Thanks in advance!


[FEATURE REQ]: Include ResourceUtils from Microsoft.Azure.Management.ResourceManager.Fluent.Core

Library or service name.
Azure.ResourceManager
Is your feature request related to a problem? Please describe.
No, this is related to missing classes when compared to the older Fluent ResourceManagement SDK
What feature would you like to get added? What problem is it solving?
Microsoft.Azure.Management.ResourceManager.Fluent.Core had an extremely useful ResourceUtils class which is not (yet) available in Azure.ResourceManager

hi @allenjzhang I think the ask to have similiar function ResourceUtils of Microsoft.Azure.Management.ResourceManager.Fluent.Core in new Azure.ResourceManager.

@yungezz Yes, that is correct. Those are missing on the new SDK

@yungezz Yes, that is correct. Those are missing on the new SDK

thanks for confirmation. hi @allenjzhang I'll reassign the issue to you since this is ask on new SDK, not fluent.

hi @allenjzhang will reassign the issue to you since the ask is on new generate of .NET SDK. thanks. PIng me if any question

hi @allenjzhang will reassign the issue to you since the ask is on new generate of .NET SDK. thanks. PIng me if any question

Yes. many of the functionality will be incorporated into our new APIs. Stay tuned. Thx

Yes. many of the functionality will be incorporated into our new APIs. Stay tuned. Thx


add leetcode Questions

please add leetcode questions .
allow me to contribute.

yes please add. I am assigning it to you

@Mridul-1-Sharma  I have added binary search program in java. please check and merge PR

This repository is excluded from hacktoberfest if want to contribute you can contribute in https://github.com/Mridul-1-Sharma/data_structures_algos


Specific select fields on eager loading

Person
  .query()
  .eager('pets').
  .pick(['id', 'name']);

AFAIK pick works after result is fetched from the database.. so if i have some big text/json/binary fields that i don't need it will still get them from db then parse it and then pick will eliminate them
How do i ignore them in the eager SELECT query? Are filters the only way?
Person
  .query()
  .eager('pets(petsFilter)',{
    petsFilter: function(builder){
      builder.select('id', 'name')
    }
  });

Yes, pick is done in the javascript side. The filters are the only way to control the select clause of individual eager queries. If you never want to fetch some columns for a relation, you can specify a filter for the relation in relationMappings:
class Person extends Model {
  static relationMappings = {
    pets: {
      relation: Model.OneToManyRelation,
      modelClass: Animal,
      filter: function (query) {
        query.select('id', 'ownerId', 'name');
      },
      join: {
        from: Person.id,
        to: Animal.ownerId
      }
    }
  }
}

oh.. i forgot i can put the filter there.. makes sense. Tanks @koskimas

Is the filter property in the relationMappings object supposed to override the query, supplement it, what? When I add a filter like that above, the column names are simply added to the SELECT clause and don't eliminate data I'm trying not to fetch.
Thanks!

The relation query is simply passed to the filter function. The select method works as it does in knex: it adds to the previous selects. If there is no other explicit selects (which is the default) adding a filter like that should only select the given columns. If you explicitly call select for the query, the columns are accumulated.

My relation mapping looks like this (with the filter in place):
tags: {
                relation: db.Model.ManyToManyRelation,
                modelClass: __dirname + '/UserTag',
                filter: query => query.select('tag'),
                join: {
                    from: 'journalEntry.id',
                    through: {
                        from: 'journalEntryTag.journalEntryId',
                        to: 'journalEntryTag.userTagId'
                    },
                    to: 'userTag.id'
                }
            }

The resulting SQL query looks like this:
select "userTag".*, "tag", "journalEntryTag"."journalEntryId"
as "objectiontmpjoin0" from "userTag"
inner join "journalEntryTag" on "journalEntryTag"."userTagId" = "userTag"."id"
where "journalEntryTag"."journalEntryId" in (?)

The tag is in the select list (as expected), but there's also the (default?) userTag.* specifier that I would like to override. My query (in a Hapi server method) is as follows:
        JournalEntry.query()
            .where('id', id)
            .eager('tags')
            .first()
            .then(result => next(null, result))
            .catch(err => next(err, null));

I have also tried using findById with identical results. Any thoughts?
By the way, I have really enjoyed using Objection. The fact that it comes from my ancestral homeland is just a bonus. 🇫🇮

I have the same issue as @nurkkala, when using through queries, all of the fields are selected. Do you know any workarounds for that?

Hmmm this works:
All.Block.query().select(blockCols).first()
  .whereSite(data.site).where('block.type', 'notfound')
  .eager('children(jsonColumns).^', {
    jsonColumns: query => query.select(blockCols)
  });

however i only had troubles trying to use relationMapping.filter as a default replacement.

If you want to replace the selected fields, you can use:
      filter: query => query.clearSelect().select('id', 'ownerId', 'name'),

Is there a difference between choosing columns with select as opposed to pick?

@GeeeCoin As the second comment says, pick is done client-side while select is done by the database.


Unable to load user control from C++/WinRT project into a WinUI3 desktop app using .NET5 projection

Describe the bug
I have created a C++/WinRT component, NewComponent, that contains a simple user control called MyControl. I then created a .NET5 projection out of it - NewProj . I now want to load this user control in a WinUI3 desktop app - NewApp.
Here is my MainWindow.xaml :
<Window     x:Class="NewApp.MainWindow"     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     xmlns:local="using:NewApp"     xmlns:controls="using:NewComponent"     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"     mc:Ignorable="d">     <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">         <Button x:Name="myButton" Click="myButton_Click">Click Me</Button>         <controls:MyControl/>     </StackPanel> </Window>
To Reproduce

Build NewComponent.sln to generate nuget.
Add generated nuget to NewApp project. Run the application.

Expected behavior
NewApp should show MyControl from NewComponent . But I don't see MyControl being loaded.
Source repo
https://github.com/Rochishaa/UserControlWinUI3

@alwu-msft in case this sounds familiar

I am now getting the following runtime exception when launching my WinUI3 desktop app - NewApp :

Microsoft.UI.Xaml.Markup.XamlParseException
HResult=0x802B000A
Message=XAML parsing failed.
Source=WinRT.Runtime
StackTrace:
at WinRT.ExceptionHelpers.ThrowExceptionForHR(Int32 hr)
at ABI.Microsoft.UI.Xaml.IApplicationStatics.global::Microsoft.UI.Xaml.IApplicationStatics.LoadComponent(Object component, Uri resourceLocator, ComponentResourceLocation componentResourceLocation)
at Microsoft.UI.Xaml.Application.LoadComponent(Object component, Uri resourceLocator, ComponentResourceLocation componentResourceLocation)
at NewApp.MainWindow.InitializeComponent() in C:\Dev\UserControlWinUI3\WinUI3MainApp\NewApp\NewApp\obj\x64\Debug\net5.0-windows10.0.19041.0\MainWindow.g.i.cs:line 39
at NewApp.MainWindow..ctor() in C:\Dev\UserControlWinUI3\WinUI3MainApp\NewApp\NewApp\MainWindow.xaml.cs:line 28

I was able to repro this and was not seeing any issues with a C++/WinRT app referencing a C++/WinRT component with a WinUI user control. So the issue seems to be specific to C#/.NET 5 applications which reference a C++/WinRT component with WinUI user control. I was also able to repro the issue with a project reference in addition to package reference.
We will need to do some further investigation.
callstack_893.txt

@angelazhangmsft any projected release date or known workaround for this? We are trying to a project WinRT C++ Win UI 3 control in a Win UI 3 C# app.

@LadderLogic - we looked into this issue, and it is a known issue for WinAppSDK 1.0. You can workaround it by adding the following target to the end (after all imports of .targets files) of your Windows Runtime Component's .vcxproj:
  <Target Name="GetPriIndexName">
    <PropertyGroup>
       <!-- Winmd library targets use the default root namespace of the project for the App package name -->
       <PriIndexName Condition="'$(RootNamespace)' != ''">$(RootNamespace)</PriIndexName>
       <!-- If RootNamespace is empty fall back to TargetName -->
       <PriIndexName Condition="$(PriIndexName) == ''">$(TargetName)</PriIndexName>
     </PropertyGroup>
  </Target>

There is currently not an ETA for a fix, we are considering for 1.0 servicing but I suggest using the workaround for now. Closing this as a duplicate of https://github.com/microsoft/WindowsAppSDK/issues/1769 - you can follow that issue for updates.

@angelazhangmsft Thanks for the update and workaround. We used some inspiration from
Windows Terminal project to move forward with our projection, but your suggested workaround looks cleaner. We will adapt until the official fix. 🙏


Beautify contributors page

Fixes Issue #1236
Changes proposed
I have added hover effect to the individual cards, add some border to the images in the cards along with hover effect to the images.
Increased the font size of the contents inside the cards by a few pixels to make it look more prominent.
Screenshots
https://www.awesomescreenshot.com/video/18976128?key=50ca96dffaa23aada0c865e56b2fd196
Subset of pr #1262
Had trouble pushing more changes on the same branch, so opened a new pr
Note to reviewers
Added the same styling as I added while making the previous pr along with the changes proposed that was to add margin between the cards.

I added some around the individual cards @rupali-codes , Are you talking about components inside the cards like the button and the name, commits.
Will push the changes today itself

Done @rupali-codes


Add contains/startswith/endswith selector  operators.

Description

Add contains, starts with and ends with operators to selector syntax.
Todos

[x] Tests
[ ] Documentation
[ ] Release note

Release Note

Selector syntax now supports operators for substring matching: "contains", "starts with" and "ends with".

FYI there's also a release note on the draft doc PR that I raised at https://github.com/projectcalico/calico/pull/2410.  I think the release note here is good, so should probably delete the one at #2410, if #2410 is used at all.

Looks like I hit an unrelated flake.


clean up /root/.m2 directory after mvn command, which saves 160MB or so

i ran this command in this repo before the pull request:
docker build -t before
and this with the changes from this pull request:
docker build -t after
in order to test for both the "before" and "after" cases, i added  --branch 5.3 to the line in the Dockerfile that clones cas-overlay-template. https://github.com/apereo/cas-webapp-docker/pull/24 will resolve this.
image size results:
docker images --format '{{.Repository}} {{.Size}}' | head -2 | sort -r
before 985MB
after 823MB

i see that the last merged pull request (thanks, @mmoayyed !) on this repo was September 8, 2017, so I'm hoping that if someone sees this, they can hook it up! or perhaps we're filing pull requests against the wrong repo? i think this change is very low-risk. it will make docker builds that need to be derived from this base image slightly slower, since some of the libraries will have to be re-downloaded, but is almost certainly the right thing to do based on cleanup conventions i've seen in other Dockerfiles.

Thank you for the patch. You'd likely be better off converting to a multi-stage build where doing this sort of thing would be unnecessary. If you ask around on the CAS list, you'd likely find other folks with better examples of how to do that.


Documentation?

Can you add some documentation in the README file to list the different options and how they can be coded?

Hey. Yeah, surething, i'll add them once i get a chance
Date: Thu, 10 Sep 2015 06:29:56 -0700
From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Subject: [CSS3-Slider] Documentation? (#1)
Can you add some documentation in the README file to list the different options and how they can be coded?
—
Reply to this email directly or view it on GitHub.

Done. Hope everything is clear now

Cool, I'll take a look. BTW - I'll include your tool in my newsletter at some point: http://webtoolsweekly.com/

Thank You. That would be greatly apreciated
Sent from my Windows Phone

From: Louis<EMAIL_ADDRESS>Sent: 9/11/2015 1:33 PM
To<EMAIL_ADDRESS>Cc<EMAIL_ADDRESS>Subject: Re: [CSS3-Slider] Documentation? (#1)
Cool, I'll take a look. BTW - I'll include your tool in my newsletter at some point: http://webtoolsweekly.com/

Reply to this email directly or view it on GitHub:
https://github.com/Elitewares/CSS3-Slider/issues/1#issuecomment-139533851


Any support for https with apollo-client?

I'm using graphQL for auth, can I use https between apollo-server and apollo-client?

Yes! Is anything stopping you?

Thanks, that's great, I was just not very sure about it since I can't search out anything about graphQL and SSL work together.
After I finish my post about wrapping REST with apollo, I will write a post about using SSL with graphQL.

Yeah I don't think there is anything special about it since both rest and GraphQL are just HTTP.


run clang-format on push / PR

With the new .clang-format file we should make sure that new code also adheres to the coding style defined by clang-format. I don't think we should add something that automatically enforces formatting for every user, e.g., pre-commit hooks. Rather, I would suggest to add a CI action that simply fails when the code in the commit/PR does not follow our code style.
This can easily be done with https://github.com/marketplace/actions/clang-format-check

closed with #835


Improve performance by removing partial application and flattening

This improves performance by up to 2x in certain situations.

3 changes:

Flattened the ( a, Priority ) in the Node variant
Pad Empty variant to have the same shape as the Node variant
Don't apply function partially in fromList (not benchmarked)

I've added some benchmarks, which are unfortunately quite slow to run. I don't know how to speed it up, maybe split each up into different main?
I'm comparing with the previously published version (1.1.0), which I naively copied and then prefixed with Vendor..

Thank you, this is amazing stuff!


Minor typo fixes

Hi,
thanks for releasing the code for BERT :)
Here's a PR with some minor typo fixes! I also have signed a Google open source contribution agreement :)

Thanks!


List a few admins or moderators somewhere on the site

I think if we can get a few folks to claim an issue (i.e., a couple ppl to handle invites to completed forms, a person to handle receiving emails about not getting an invite), that would be ideal.

Just to refer this here, we could use protonmail for JOC business.


[Feature]: Post file directly from frontend while using File Picker Widget

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
Post file directly from frontend while using File Picker Widget,without pass it to backend,and let backend execute.
Why should this be worked on?
We've a solution that backend side will sign a token to frontend when any user want to upload something, but the token is only 60 seconds, after that, this token can't upload anymore.
I was using this widget to upload a little large file about 60Mb,I found it will cost about 3min.
I test in my local, the action is cost about 90 seconds.
my action of filepicker.onfileselection is
return await Sign.run()
.then(async function(){
await UploadFile.run()
showAlert("upload success","success")
}).catch(function(){
showAlert(UploadFile.data + JSON.stringify(UploadFile.responseMeta),"error")
})
it's always return token is expired.
maybe it's because frontend side pass the file to backend take a lot of time, so that token is already expired when the backend execute the UploadFile.
I'm trying to make a simple site to post file from frontend side directly, and use iframe widget to embed the appsmith.
can we get an official option to control? or backend can raise some trigger on backend has got the file from frontend?

@arunvjn @bharath31 will this be possible after enabling fetch?

@Nikhil-Nandagopal  Yes, we should able to do the file upload directly using fetch when we enable it.

@arunvjn
I'm tying to use fetch api to upload file,there's some questions.

I try to upload file directly like the pic. But it send string"[object Object]" in file field.

I try to convert file to File type, but I found that file size is changed.

need your help

#18861 https://github.com/appsmithorg/appsmith/issues/18861

@JhouXerox Could you try converting File.data(base64/binary) into a blob and create a file object out of the blob ?

size is not same. And converted file can't unzip. It's broken.

size of original file in FilePicker is 27853.
convert to blob by "var blob = new Blob([file.data],{type:file.type})", blob.size is 39258
convert to File by "var f = new File([blob],file.name,{type:file.type});" File.size is 39258.

need to add:
var buffer = Uint8Array.from(file.data, c => c.charCodeAt(0))

It's correct.
now it can be unzipped.
should it add to the fetch api internal to convert file.data?

maybe it can be provided as a util class or something to help others to convert file.data

another question is appeared.
buffer.size's max is 10w.
when file.data over 10w ,buffer can only take 10w.

@JhouXerox Glad that it is working now.
Kindly post the rest of your questions in the support channel on discord. We would be happy to help you.

@arunvjn
my appsmith's version is now 1.8.12, and my old page is built from 1.8.0,for now in it's filepicker, file.data,length can't over 10w,but it's can over 10w in new page.
how should I deal with it?

@arunvjn
and file.data will convert to an blob info in sometimes.
it can't handle in fetch

@ravikp7 Can you please look into uploading large files using fetch? Post a code snippet here.

Is v1.52 allowed to upload file from foreground directly to S3 ? in 1.8 it has to proxied by appsmith backend.
and is there anyware allow to upload big file over 200M?


Getting undefined is not a function on Android only

Version
Tell us which versions you are using:

react-native-router-flux 3.37.0
react-native 0.38.0

Expected behaviour
Navigate to the next scene when calling Actions.CALLBACK.
Actual behaviour
In my current App I have two scenes. I have a button on my view, when pressed I call the Actions.CALLBACK function to navigate to the next scene. This works great on iOS, however on Android I'm getting an error.

Steps to reproduce
These are my two scenes.
      <Provider store={store}>
        <Router>
          <Scene key="root" hideNavBar>
            <Scene key="workout" component={Workout} initial />
            <Scene key="workoutDetails" component={VideoPlayer} />
          </Scene>
        </Router>
      </Provider>

Then, on the Workout component, I'm importing the Actions class and calling the workoutDetails callback when a button is pressed. Here's the relevant code.
import { Actions } from 'react-native-router-flux';

// On the render method
<WorkoutControls onPlay={() => Actions.workoutDetails()} />

This is working great on iOS, but not on Android :(
Any help would be appreciated. Thanks!

@crysfel have you found a solution for this yet?

I just had this same problem.  My navigation was working fine on iOS but not on Android.
My navigation was originally in a separate Navigator.js file but I moved it to the root index.android.js and it fixed this problem.  Perhaps this is a bug in the library?  It seems reasonable that the navigation shouldn't have to be in the index directory.


Add support for Dopamine music player for Windows

Please add support for stop, repeat, shuffle, timeline info for the app Dopamine music player.
Link - https://github.com/digimezzo/dopamine-windows

Is that supported by the stock windows flyout?

Stock flyout just shows play/pause, previous, next. Same supported by ModernFlyouts. Don't know whether it supports skip, repeat, stop, etc.

The repo is active. I will open the issue.

Found the target code to change.
This is the class - https://github.com/digimezzo/dopamine-windows/blob/38caa8a21903a60b40e17692f3491d5ea64175b4/Dopamine/Services/Notification/NotificationService.cs
I'll do a pull request post v0.5

Ok, thanks.

A weird bug now. Whenever I launch this app and use shortcuts to skip, play/pause, etc. in this music player, the system UI pops up with the media flyout. ModernFlyout is not even showing the media flyout! It doesnt know whether music is playing or not.

Yep reopen it. Seems to be a different issues. But it may take weeks to fix this one.

I don't have the button to reopen it, weirdly.

Done!

Thanks. I really think I am cursed sometimes because of the kinds of bugs I face. XD

Can you try reproducing this issue on your side? I expect the same behaviour as mine.

Hmm.... weird 🤔🤔🤔. Not even Windows default flyout show me the media transport controls.

Dopamine-Windows just hooked the media keys, not sure if they registered as a GlobalSystemMediaTransportControlsSession or use the SystemMediaTransportControls.
https://github.com/microsoft/ProjectReunion/issues/127
We can't do anything pal 😞

😯  😞

Hey @Cyberdroid1
Is this what you are saying?

Currently they doesn't support shuffle/repeat/stop externally, so we can't hook those controls.
I contacted @digimezzo, they are open for contributions. I will open a PR for this.

Yes, I meant this only.
Thanks so much!

@Cyberdroid1,
Done! Opened a PR on the target. I will close this issue, you can track the PR on that repo. If it gets merged, it will be good for us.
The PR : https://github.com/digimezzo/dopamine-windows/pull/1201
My part's done.

Hey @Cyberdroid1, the PR has been accepted & got merged by the Dopamine-windows team 🎊🎊🎊🎉🎉🎉

Yay! Thanks so much, bro! Nice to see this get accepted!

@Cyberdroid1, I have also added timeline info support to it in https://github.com/digimezzo/dopamine-windows/pull/1206
Let's hope this will also get merged


2to3, needs to be tested in Python 2 and 3

I didn't have everything installed to do an end-to-end test
--should be straightforward for @jswoboda to test in Python2
Focused entirely on syntax modernization
Did not examine performance increases
Suggest making unit tests, even primitive ones, at least of important subsections
-- I can then trivially implement Travis CI testing that verifies each git commit via units tests

Thanks, I'm working on the unit tests right now along with standardizing input. I would also suggest looking into my ISRSpectrum repository. That's pretty much set, I have to add collision frequencies. I'm trying to decide if I just want to roll that into a sub-module of this repository.


How do I transfer my files from iOS to windows on UTM??

How do I do it??

Via iTunes File Sharing

No I meant the windows which is running on UTM. I want to transfer files from my iOS to it

https://github.com/utmapp/UTM/wiki/Useful-tips#webdav-shared-folders

But I am using windows 98

You can build a custom iso but this is not a support forum. Please use discord or some other means.


GA custom resource group naming ?

Hi, is there any plan to go GA with this feature ? aks  --node-resource-group

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

ID: d501ff67-9208-8bcb-e8df-f09e9b16a802
Version Independent ID: e3fc3851-ddc4-d26c-251d-6ae53d714081
Content: Frequently asked questions for Azure Kubernetes Service (AKS)
Content Source: articles/aks/faq.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

@jjindrich As per the supplemental terms on Azure Previews document,
it states Certain named Previews may also be subject to additional terms set forth below, if any. We may change or discontinue Previews at any time without notice. We also may choose not to release a Preview into "General Availability."
I am adding team to comment on this.

@MicrosoftDocs/aks-pm Please add your comments

I understand what is Preview about. I'm asking you if there is some continuity on this feature and when will be released.

@jjindrich I have requested the PG team to comment on this.
Thanks.

@jjindrich thanks for the inquiry, yes we'll be moving this feature into GA. The current estimate is in ~4-6 weeks to bring in official CLI changes as well.

@jluk Thanks for providing the details.

@jjindrich As Justin mentioned this will feature will go GA as is.
I am closing this issue for now.
Thanks.


Native Share

this PR adds a button to supported devices which when pressed will trigger the native share functionality.

Note: this feature should work on Windows, iOS, and Android but has only been fully tested on Windows due to HTTPS limitations
this PR also fixes a minor accessibility bug that affected several "buttons" in the additional_player_stats section.

Is that a universal image for native share? How will users know to use it?

Is that a universal image for native share? How will users know to use it?

@metalcupcake5 that share icon is used by Material Design Android and Google so it's pretty universal. Additionally I use the Apple share icon if the user is on a Mac or iPhone

@metalcupcake5 that share icon is used by Material Design Android and Google so it's pretty universal. Additionally I use the Apple share icon if the user is on a Mac or iPhone

Tested and working on Android

Tested and working on Android


Connection to panel works only when bad password provided

Describe the bug
Connection to panel works only when bad password provided
Configuration

Environment: docker
Version: 0.3.5
Command line: docker run -d -p 33000:33000 --name risco -v $(pwd)/config.json:/data/config.json vanackej/risco-mqtt-local:latest
Risco Panel model: LightSys/RP432,
Risco Panel firmware version: FW 2.59

Logs
Correct password:
Loading config from: /data/config.json
2/20/2022, 11:12:25 AM [info] autoConnect enabled, starting communication
2/20/2022, 11:12:25 AM [info] Connecting to mqtt server: mqtt://<IP_ADDRESS>:1883
2/20/2022, 11:12:26 AM [info] Connected on mqtt server: mqtt://<IP_ADDRESS>:1883
2/20/2022, 11:12:26 AM [info] Panel is not connected, waiting
2/20/2022, 11:12:34 AM [warn] Command[1] 'RMT=5678' Timeout
2/20/2022, 11:12:34 AM [warn] Bad Panel Id: 1. Trying to find the right one
2/20/2022, 11:12:37 AM [error] No remaining possible Panel Id, abandon
2/20/2022, 11:12:37 AM [error] Unable to connect to the control panel.
2/20/2022, 11:12:38 AM [warn] Command[51] Wrong CRC value for the response.
2/20/2022, 11:12:40 AM [warn] Command[51] receivedId is the same as lastReceivedId, ignoring this panel message
2/20/2022, 11:12:42 AM [warn] Command[4] 'DCN' Timeout
2/20/2022, 11:12:42 AM [warn] Command[NaN] Wrong CRC value for the response.
2/20/2022, 11:12:43 AM [warn] Command[50] Wrong CRC value for the response.
2/20/2022, 11:12:46 AM [warn] Command[50] receivedId is the same as lastReceivedId, ignoring this panel message
2/20/2022, 11:12:47 AM [warn] Command[4] 'DCN' Timeout
2/20/2022, 11:12:48 AM [warn] Command[NaN] Wrong CRC value for the response.
2/20/2022, 11:12:49 AM [warn] Command[50] receivedId is the same as lastReceivedId, ignoring this panel message
2/20/2022, 11:12:52 AM [warn] Command[53] Wrong CRC value for the response.
2/20/2022, 11:12:52 AM [warn] Command[4] 'DCN' Timeout
2/20/2022, 11:12:53 AM [warn] Command[NaN] Wrong CRC value for the response.
2/20/2022, 11:12:55 AM [warn] Command[53] receivedId is the same as lastReceivedId, ignoring this panel message
2/20/2022, 11:12:57 AM [warn] Command[4] 'DCN' Timeout
2/20/2022, 11:12:58 AM [warn] Command[NaN] Wrong CRC value for the response.
2/20/2022, 11:12:58 AM [warn] Command[53] receivedId is the same as lastReceivedId, ignoring this panel message
2/20/2022, 11:13:01 AM [warn] Command[52] Wrong CRC value for the response.
2/20/2022, 11:13:02 AM [warn] Command[4] 'DCN' Timeout
2/20/2022, 11:13:03 AM [warn] Command[NaN] Wrong CRC value for the response.
2/20/2022, 11:13:04 AM [warn] Command[52] receivedId is the same as lastReceivedId, ignoring this panel message
2/20/2022, 11:13:07 AM [warn] Command[52] receivedId is the same as lastReceivedId, ignoring this panel message
2/20/2022, 11:13:07 AM [warn] Command[4] 'DCN' Timeout
2/20/2022, 11:13:08 AM [warn] Command[NaN] Wrong CRC value for the response.
2/20/2022, 11:13:10 AM [error] Command[5] Too many bad CRC value.
2/20/2022, 11:13:12 AM [warn] Command[4] 'DCN' Timeout
2/20/2022, 11:13:13 AM [error] Command[NaN] Too many bad CRC value.
2/20/2022, 11:13:13 AM [warn] Command[5] receivedId is the same as lastReceivedId, ignoring this panel message

Wrong password:
Loading config from: /data/config.json
2/20/2022, 11:13:31 AM [info] autoConnect enabled, starting communication
2/20/2022, 11:13:31 AM [info] Connecting to mqtt server: mqtt://<IP_ADDRESS>:1883
2/20/2022, 11:13:31 AM [info] Connected on mqtt server: mqtt://<IP_ADDRESS>:1883
2/20/2022, 11:13:31 AM [info] Panel is not connected, waiting
2/20/2022, 11:13:36 AM [warn] Command[1] 'RMT=56788' Timeout
2/20/2022, 11:13:37 AM [warn] Command[1] Receipt of an error code: Invalid Value
2/20/2022, 11:13:37 AM [warn] Provided password is incorrect
2/20/2022, 11:13:37 AM [info] Trying to guess password (brut force)
2/20/2022, 11:13:37 AM [info] Trying passwords from 0000 to 9999...
2/20/2022, 11:13:37 AM [info] 0000 to 0099...
2/20/2022, 11:13:42 AM [info] 0100 to 0199...
2/20/2022, 11:13:47 AM [info] 0200 to 0299...
2/20/2022, 11:13:53 AM [info] 0300 to 0399...
2/20/2022, 11:13:58 AM [info] 0400 to 0499...
2/20/2022, 11:14:03 AM [info] 0500 to 0599...
2/20/2022, 11:14:08 AM [info] 0600 to 0699...
2/20/2022, 11:14:14 AM [info] 0700 to 0799...
2/20/2022, 11:14:19 AM [info] 0800 to 0899...
2/20/2022, 11:14:24 AM [info] 0900 to 0999...
...
2/20/2022, 11:19:22 AM [info] Discovered Access Code : 5678
2/20/2022, 11:19:23 AM [info] Panel info: LightSys/RP432, FW 2.59
2/20/2022, 11:19:23 AM [info] Panel options: 4 parts, 32 zones, 14 outputs, Pir Cam support: false
2/20/2022, 11:19:26 AM [warn] Command[16] Receipt of an error code: Device Doesn't Exists
2/20/2022, 11:19:26 AM [info] Output does not exists, stopping outputs discovery
2/20/2022, 11:19:26 AM [info] Panel is ready, subscribing to panel partitions and zones events
2/20/2022, 11:19:26 AM [info] Panel and MQTT communications are ready
2/20/2022, 11:19:26 AM [info] Publishing Home Assistant discovery info

I need logs in debug mode to be able to analyze the issue. Only for correct code situation.
Thx

Can you try again with 0.3.6 please ?

0.3.6:
Loading config from: /data/config.json
2/21/2022, 10:54:04 AM [info] autoConnect enabled, starting communication
2/21/2022, 10:54:04 AM [info] Connecting to mqtt server: mqtt://<IP_ADDRESS>:1883
2/21/2022, 10:54:04 AM [info] Connected on mqtt server: mqtt://<IP_ADDRESS>:1883
2/21/2022, 10:54:04 AM [info] Panel is not connected, waiting
2/21/2022, 10:54:10 AM [warn] Command[1] 'RMT=5678' Timeout
2/21/2022, 10:54:11 AM [warn] Bad Panel Id: 1. Trying to find the right one
2/21/2022, 10:54:14 AM [error] No remaining possible Panel Id, abandon
2/21/2022, 10:54:14 AM [error] Unable to connect to the control panel.
2/21/2022, 10:54:14 AM [warn] Command[NaN] Wrong CRC value for the response.
2/21/2022, 10:54:16 AM [warn] Command[NaN] Wrong CRC value for the response.
2/21/2022, 10:54:19 AM [warn] Command[NaN] Wrong CRC value for the response.
2/21/2022, 10:54:19 AM [warn] Command[4] 'DCN' Timeout
2/21/2022, 10:54:19 AM [info] TCP Socket Disconnected
2/21/2022, 10:54:19 AM [info] Won't attempt automatic reconnection

Debug log attached.
risco-debug.txt

Well, that's very strange. The CRC returned by yout panel is only 3 chars long, whereas every other CRC I've seen and computed CRCs are always 4 chars long... I really don't understand why.
Can you send the full debug logs for wrong password case ? I wan't to compare received buffers and CRCs in this situation

wrong_password-debug.log

I see your firmware version is very outdated.
Yours : FSVER=2.59 24/09/13
Mine : FSVER=5.72 23/01/18
I think the protocol is bugged in your version and produces wrong CRC in some situations. Can you update the firmware ?

I'll try to do it today. Do you know 'remote upgrade password'? I'm trying to run update from CS.

No sorry I never performed a firmware update by myself
Le lun. 21 févr. 2022 à 14:51, Kamil Maslowski @.***> a
écrit :

I'll try to do it today. Do you know 'remote upgrade password'? I'm trying
to run update from CS.
—
Reply to this email directly, view it on GitHub
https://github.com/vanackej/risco-mqtt-local/issues/20#issuecomment-1046902377,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAECPHJUKQ7DVE4VQ4P24TTU4I7ONANCNFSM5O4I75FA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were assigned.Message ID:
@.***>

I found a bug in the decryption method. You don't need a firmware update.
Fix coming soon, I'll let you know

v0.3.8 available => Let me know

I checked with an unit test and your CRC problem should be gone now. I close the issue, feel free to reopen or comment if not ok.

Great news, it works! Thank you for your hard work.


RPC server not accessible no bind on <IP_ADDRESS>:20102

So im trying to et VERGEd to work but it wont bind on 20102 also .VERGEd gives me error: couldn't connect to server

I've this issue as well

once you run ./VERGEd just wait a few and then try getinfo

as long as you have the conf properly set up it will work

@justinvforvendetta
Yeah the conf was my problem because if you use the docker ubuntu image then out of the box it won't work. I've added: rpcallowip option and now it works.
Thanks to this issue: https://github.com/vergecurrency/VERGE/issues/41 I could find these options.


stuffer/s2n_stuffer.c: fix signed overflow

One unfortunate feature of C's integer promotions is that when u is an unsigned char, u << 24 is computed as a signed int, and can still be a signed overflow (and thus undefined behavior).
The OpenSSL project has fixed their instance of this bug here, for instance: https://github.com/openssl/openssl/commit/8b37e5c14f0eddb10c7f91ef91004622d90ef361

Is it also worth adding -fsanitize=shift to out build?
we don't actually use _read_uint32 in s2n; so I'm torn between removing the function completely, and applying the fix you have here so that we're future proof. Wdyt?

On -fsanitize=shift: Loïc and I were investigating the Makefile in relationship with the current Travis CI limitation on mlock calls. Currently, there is only one target. If there were two, a test version of the library and a production version, I would recommend to have all sanitizing options on for the test version, and mlock disabled to make Travis CI happy. These sanitizing options are not quite free. Incidentally, we found this one with a tool that, when it works at all, finds (to the best of my knowledge) all the undefined behaviors also found by the -fsanitize options and then some: http://trust-in-soft.com/tis-interpreter/ . We are currently working our way through the tests (we particularly appreciate the systematic EXPECT_ wrappers. These are great to ensure tis_interpreter, as an execution environment, is working as you expected).
I do not need to tell you that all the integer values in the TLS protocol are currently represented on one, two or three bytes. However, if recent history is any indication, the protocol may still evolve a bit before stabilizing into something that finally doesn't need fixing any more. Personally, I would keep the read_uint32 function.

This comment is totally off-topic.

I just want to say that s2n's use of Travis+GitHub is really awesome.

I agree with @pascal-cuoq here, and would vote to keep this for future proofing.


chore: deletes personalize app (onboarding)

This PR deletes the personalize app + routes. I've included redirects to the homepage on the off chance something else is linking to them.
I suspect some integrity specs will fail here as well. Will convert off draft after I have a PR fixing those.

There's some peripheral clean up here to do too. Like how Cohesion requires an onboarding flag for it's CreatedAccount event:

https://github.com/artsy/integrity/pull/323

https://media.giphy.com/media/gg2VBE0zVrMGUutcwy/giphy.gif

Pretty funny to think of this as a chore haha - let's do it!


Deprecate Sidekiq::Throttled.setup!

@ixti I am addressing the deprecation warning in our app and I wanted to get some clarification on why this method has be deprecated. Is the original issue of the ordering of middlewares no longer an issue?
I can see that by removing our Sidekiq::Throttled.setup! line, Sidekiq::Throttled::Middlewares::Server is no longer at the bottom of our server middleware chain. Should we expect that this will be a problem?

@samrjenkins setup! was doing more than just middlewares back in the days. When it was left with only adding middlewares I've decided to deprecate and eventually remove it in favour of using an explicit and more standard way to re-order middlewares.
There should be no difference where the middleware is called. But depending on other plugins, you might want to use a specific order of middlewares, and Sidekiq provides a simple way of doing that:
Sidekiq.configure do |config|
  config.server_middleware do |chain|
    chain.prepend(Sidekiq::Throttled::Middlewares::Server)
  end
end

Or the other way around:
Sidekiq.configure do |config|
  config.server_middleware do |chain|
    chain.add(Sidekiq::Throttled::Middlewares::Server)
  end
end

Or even add it before or after specific:
Sidekiq.configure do |config|
  config.server_middleware do |chain|
    chain.insert_before(OtherMiddleware, Sidekiq::Throttled::Middlewares::Server)
  end
end

But as I said, most likely you don't need that. The only purpose of this middleware is to remove the job from the concurrency lock. So if you don't experience any issues - you can use the defaults.

Thank you for the clarification


Make exercise type symbols the same

There were two kinds of film symbols for video lectures and reading and coding exercises.
This makes all video lecture symbols like this 🎞, all reading exercise symbols like this 📖 and all coding exercise symbols like this  💻.

But, now when I look at the exercise page on master branch (before merging this), all symbols are already the same type.
I guess there was some rendering problem. Using Chrome the symbols are different than when using Firefox.
Better not to merge this, because the original way using markdown codes seems other ways better than using the symbols/emojis directly.


Updated web documentation (try 2)

This time with both commits! (@jlooper)

All CLA requirements met.


MINOR: further InternalTopologyBuilder cleanup

Followup to KAFKA-7317 and KAFKA-9113, there's some additional cleanup we can do in InternalTopologyBuilder. Mostly refactors the subscription code to make the initialization more explicit and reduce some duplicated code in the update logic.
Also some minor cleanup of the build method

ready for review @guozhangwang @vvcephei

retest this please

retest this please

Ran the test suite locally on the latest commit, just one unrelated failure DeleteConsumerGroupsTest.testDeleteCmdEmptyGroup (ticket created)


Update cwltool, fix bad import (resolves #824)

Resolves #824

Can one of the admins verify this patch?

@guillermo-carrasco, thank you for the PR.
Could you please change commit message to
Update cwltool, fix bad import (resolves #824)
http://chris.beams.io/posts/git-commit/

Absolutely, its done. And thank you for the good read! :)

@hannes-ucsc anything else I can do to get this merged?
Thanks!

@guillermo-carrasco, I didn't catch the fact that you changed the constraint to >= until now, effectively pulling out the version pin. This would make Toil CI builds (and regular user installs) unstable because we would be installing whatever the latest version of cwltool is. That's clearly not what we want unless the CWL folks guarantee full backwards compatibility which I don't think they do (@tetron?).
What's your reasoning behind pulling the pin on cwltool?

See comment on #806

okay I understand @tetron , @hannes-ucsc . It make sense, though its quite inconvenient since it makes it harder to stay up to day with the last version of cwltool

If CWL switched to semantic versioning we could use a sliding pin:
cwltool>=1.2.3,<1.3
CWL would have to commit to maintaining backwards compatibility among minor releases.


Fix problem with parsing links containing mailto: prefix followed by an email

This PR fixes potential problems with parsing links containing mailto: prefix followed by an email. The changes were added to enhance parsing inside Live Markdown Preview.
The problem was mainly with parsing [mailto:someone@example.com](mailto:someone@example.com). ExpensiMark instead of one link returns two separate  tags inside brackets:
[someone@example.com](mailto:<a href=\"mailto:someone<EMAIL_ADDRESS>
To fix the problem we decided to collapse such links, similarly like it is done after writing
[someone@example.com](someone@example.com).
So now following strings:

[someone<EMAIL_ADDRESS>[mailto:someone<EMAIL_ADDRESS>[mailto:someone<EMAIL_ADDRESS>
will be collapsed into: <a href=\"mailto:someone<EMAIL_ADDRESS>https://github.com/Expensify/expensify-common/assets/39538890/c7ed7e97-94d9-4153-b1ae-7bd821c1e3de
Fixed Issues
$ https://github.com/Expensify/App/issues/31181
Tests
To test these changes I've added proper tests connected to all needed behaviors for Live Markdown Preview. To test it by yourself you should:

Run the NewDot/App
Open any chat
Send message that contains:

[someone<EMAIL_ADDRESS>[someone<EMAIL_ADDRESS>[mailto:someone<EMAIL_ADDRESS>[mailto:someone<EMAIL_ADDRESS>

Verify if every string is collapsed into just<EMAIL_ADDRESS>
QA
Same as tests

@jasperhuangg bump


WIP: Update knative 1.2 to 1.3

NOTE: this should be rebased once https://github.com/5733d9e2be6485d52ffa08870cabdee0/sandbox/pull/917 is merged
Updating to the new Knative 1.3 version (backed by the Serverless Operator 1.24)
I guess I have no JIRA, but I can create on.

Updates to Eventing Core, from 1.2 to 1.3 from here
Updates to KnativeKafka from 1.2 to 1.3, sources from here

/rebase


Reuse notable changes format on release notes

The 'Notable changes' section was being formatted differently on the GitHub release notes and the Zulip message.

I self-certify!


Feature Request: Delayed Messages

[ ] Defect
[x] Feature Request or Change Proposal

Feature Requests
Use Case:
A scheduled event that you want to put in the queue and have delivered on a specified delay from pub time.
Specifically, my use case is as follows: We have a series of events that users can trigger that have an option for a delay. We currently put the events into a queue with a trigger time and the workers for those events check the time and if it's not at or past that time yet it dumps it back in the queue. This causes an issue where events sometimes get stuck behind other longer events and eat up workers for the amount of time it takes to pull the queue item, check, and put it back. It also opens the potential for a loop that artificially inflates our usage statistics (this is something we could handle except:) and we can no longer effectively auto-scale our worker assignments.
Proposed Change:
I propose an option that is handled by the server where on message creation an additional option is passed by clients, defaulting to 0, that outlines a delay in milliseconds for how long to delay the message from creation to first attempted delivery.
Who Benefits From The Change(s)?
I believe a number of people could see a benefit from this, namely, people and groups that are developing distributed processing systems, and communication systems (email, SMS, phone, etc.).
Alternative Approaches
Like I mentioned in my use case above the application/worker could currently handle this just not as nicely as having it inside the core of the server. In my current use, I'm checking a time in the message structure on the worker and putting it back in the queue if the time hasn't passed yet. Alternatively, if your language of choice has the good time management, you could build a process into your application that internally checks if it's time is met and sends it to the queue then, though this seems to be the least efficient method I've come up with so far.
Thanks for considering,
Steve

I think this request would be more appropriate for NATS Streaming. Reason being NATS by design does not store messages and avoids holding them in memory (beyond just network buffering) in order to maintain its high performance. If NATS had to store messages and do bookkeeping for scheduling delivery, I suspect its performance would be affected. Moreover, since NATS is ephemeral, it would be effectively the same to just have the client be responsible for delayed delivery. That is, if you publish a delayed message to NATS and NATS schedules its delivery but goes down before delivering it (autoscale event, hardware failure, etc.), handling delivery at the client would actually be more resilient. Similarly, if you publish a delayed message to NATS and NATS delivers it in the future, there's no guarantee a subscriber actually receives the message because, again, NATS is at-most-once delivery.
NATS Streaming, on the other hand, stores every message. Thus, it provides a higher QoS with at-least-once delivery. It already has to do delivery bookkeeping, and it ensures subscribers actually receive messages. As a result, I think delayed delivery makes more sense in the context of NATS Streaming.
For what it's worth, Amazon SQS provides a similar feature called Delay Queues, though this is limited to a static delay per queue rather than per message. I suspect this would be much easier to implement in NATS Streaming (or rather impact performance the least).

Hm, fair enough. I agree there isn't much out there currently but I have found a number of posts and tutorials on how to set up such a thing in RabbitMQ.
To be more specific SQS does do this idea via message timers when you create individual messages. That is maybe the best solution I have found so far, but sadly SQS isn't a viable option as we deploy on closed networks so there's no internet access.
I will take this over to NATS Streaming and see what the discussion is like there tho as you suggested as after reading it I agree that it is likely the better candidate for such a feature to be implemented, I just hadn't read much into it.

As explained, this can't be done with NATS since there is no persistence at all. Since you have opened the same issue on NATS Streaming repo, closing this one. Thanks!

Yup, no problem, I'm looking to follow up soon on NATS Streaming, work has been a nightmare recently.


libaotriton_v2.so: Fix 'argument list too long" error

This error is output when building the libaotriton_v2.so:
make: /bin/sh: Argument list too long
make: *** [Makefile.shim:7976: libaotriton_v2.so] Error 127
make: *** Waiting for unfinished jobs....
This can be resolved by using the ar.txt file that contains a list of the object files instead of adding them individually as arguments.
Signed-off-by: Prarit Bhargava<EMAIL_ADDRESS>

@prarit Thanks for your contribution!
However, Makefile based build system has been deprecated since AOTriton 0.6b by https://github.com/ROCm/aotriton/pull/29
Current build system is purely CMake based and does not suffer from this problem.


[BUG] Client generated with 2.11.12 has generic body type Object

Describe the bug
After an upgrade to 2.11.12, the generated client code has a body parameter of type Object, whereas the code generated with 2.11.10 has a body parameter of the correct type. Tested with examples in this library as well (pet store).
To Reproduce
Run flutter pub run build_runner build in the example folder and see the pet_service_json.swagger.chopper.dart file. Actual result is:

Expected behavior

Swagger specification link
Link to swagger/OpenApi documentation
Library version used:
2.11.12

Hi @jpraus , thanks for raising issue. Fixed.

Awesome thank you! When is the next release scheduled?


Badge text

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

16 of 16 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.006%) to 99.583%

Totals

Change from base Build<PHONE_NUMBER>:
0.006%

Covered Lines:
12084

Relevant Lines:
12087

💛  - Coveralls


Feature request: ".maybe()" type

Hi there, thanks for the excellent library, I'm using it on a variety of projects now! A problem I have come across recently is that while building schema for third-party REST APIs (ie. APIs which I have no control/influence over) I have to type non-mandatory properties like this:
/*
 * Generated from:
 * https://developer.zendesk.com/rest_api/docs/support/attachments#json-format
 */
export const attachmentResourceSchema = zod.object({
  // The content type of the image. Example value: "image/png"
  content_type: zod.string().nullable().optional(),

  // A full URL where the attachment image file can be downloaded
  content_url: zod.string().nullable().optional(),

  // If true, the attachment has been deleted
  deleted: zod.boolean().nullable().optional(),

  // The name of the image file
  file_name: zod.string().nullable().optional(),

  // Automatically assigned when created
  id: zod.number().nullable().optional(),

  // If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false
  inline: zod.boolean().nullable().optional(),

  // The URL the attachment image file has been mapped to
  mapped_content_url: zod.string().nullable().optional(),

  // The size of the image file in bytes
  size: zod.number().nullable().optional(),

  // An array of attachment objects. Note that photo thumbnails do not have thumbnails
  thumbnails: zod.array(zod.unknown()).nullable().optional(),

  // A URL to access the attachment details
  url: zod.string().nullable().optional(),
})

The use of both .nullable() _and .optional() is apparently necessary. Sometimes the payload contains those nullified properties, and other times it omits them entirely (ie. they are undefined). Could there be a .maybe() method which consolidates these two validations? I would be open to alternative naming.
Thanks!

Oh and before someone suggests using .partial() - not all of the properties in my use-case actually maybe-typed. In the example I posted they happen to be, but there are quite a few schema in this system with some mandatory properties.

Not a fan of this for reasons I describe briefly in #403
In your particular case, you could implement a maybe function to avoid some verbosity:
const maybe = <T extends z.ZodTypeAny>(schema: T)=>{
  return schema.optional().nullable();
};

// equivalent
maybe(z.string());
z.string().optional().nullable();


fix: draw and resign counter now starts from odd plies only

prevents eval from being compared to eval of previous moves. tested it and seems to work ok.
partly solves https://github.com/Disservin/fast-chess/issues/335

now the only thing left to make it 1 to 1 with cutechess adjudication is to have the draw counter reset after ever capture/pawn move and to have one-sided resignation available.


Merge v3.0.0 tag into main

What type of PR is this:
/kind task
What does this PR do / why we need it:
This is a PR to merge the v3.0.0 tag into the main branch.
/hold
Holding to prevent the merge bot from squashing all commits into a single one (and losing the history for unrelated individual commits).
We will need to manually merge this PR by creating an explicit Merge commit after all tests pass.
I've ensured this can be merged by resolving conflicts due to 95a8a58 (already in main). So this PR contains changes in the v3.0.0 tag, plus 95a8a58.
Which issue(s) this PR fixes:
ref #6011
PR acceptance criteria:

[ ] Unit test

[ ] Integration test

[ ] Documentation

How to test changes / Special notes to the reviewer:

/lgtm

/test v4.11-integration-e2e

/test v4.11-integration-e2e

/lgtm

Merging this manually with one approval, since all tests are passing..


Backplane type not found

in web.config i config the cache like this:

but when i runing the application the error take out:
Backplane type not found, CacheManager.Redis.RedisCacheBackplane, CacheManager.StackExchange.Redis.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidOperationException: Backplane type not found, CacheManager.Redis.RedisCacheBackplane, CacheManager.StackExchange.Redis.

Which version of CacheManager are you using? Backplane got renamed from BackPlate in version 0.8, see release notes and #44
And do you have installed the CacheManager.StackExchange.Redis nuget package?

I check my version of CacheManager is 0.8. But version of CacheManager.StackExchange.Redis is 0.74
update the redis to 0.8. everything is ok, thx very much

ok cool ;)


chore: promote test15 to version 0.0.7

chore: promote test15 to version 0.0.7
this commit will trigger a pipeline to generate the actual kubernetes resources to perform the promotion which will create a second commit on this Pull Request before it can merge

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign q1323829945
You can assign the PR to them by writing /assign @q1323829945 in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

@q1323829945: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

verify
1325aa93505c94b0f5f2f618e3af0a1a294779b7
link
/test verify

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


Building a debian package with Python 3.7 deps

Describe the bug:
Hi! This is more a request to figure out what is the best procedure to build Hue from source, and then package it (in my case, in a deb package). From the documentation I see that make apps is needed to populate the build directory, and I though that the Debian package needed only to copy that directory on the target system, but then I realized that the procedure is more complex.
I also tried with PREFIX=/some/path PYTHON_VER=python3.7 make install and ended up in:
  File "/home/vagrant/hue-release-4.7.1/desktop/core/ext-py/MySQL-python-1.2.5/setup_posix.py", line 2, in <module>
    from ConfigParser import SafeConfigParser
ModuleNotFoundError: No module named 'ConfigParser'

I checked the ext-py directories and some of them seem not ready for Python3, so I am wondering if I am doing the right steps.
If I follow https://github.com/cloudera/hue#building-from-source everything works fine (so the dev server comes up without any issue).
Steps to reproduce it?
Hue source version 4.7.1, then:
PYTHON_VER=python3.7 make apps
PYTHON_VER=python3.7 PREFIX=/some/local/path make install

Followed https://docs.gethue.com/administrator/installation/install/
Ideally what I want to achieve is something similar to the debian package that Cloudera releases with CDH, but built for python 3.7 and some other dependencies (like Mariadb dev instead of Mysql, etc..).
Any help would be really appreciated :)

Have you looked at Hue in Apache BigTop the and https://github.com/cloudera/hue/blob/master/tools/docker/hue/Dockerfile.py3 ?

@romainr Thanks a lot for the links, BigTop doesn't package anymore Hue but the Docker file was very helpful (especially https://github.com/cloudera/hue/blob/master/tools/docker/hue/Dockerfile.py3#L45 that solves the py2 build issues).
The remaining problem is that if I use something like PREFIX=/tmp/hue-build for make install (inside the debian build) it works fine (cannot use more priviledged dirs like /usr/lib in debian/rules IIUC), namely I am able to get a single hue directory with all the files that I need, but in some python egg files I get the wrong path. For example, this is the result of a egg-link file after I deploy the deb package:
cat /usr/lib/hue/build/env/lib/python3.7/site-packages/metadata.egg-link
/tmp/hue-build/hue/desktop/libs/metadata/src

In the above case, the debian packaging is correctly deploying the metadata.egg-link under /usr/lib/etc.., but its content is not right and hue fails to start. Is there anything that I am missing that could solve this problem? Or should I simply find a way to use PREFIX=/usr/lib during the debian build? Alternatively I can manually fix those egg-links, but it feels a bit hacky.

I also found another strange thing:
systemd[1]: Started Hue.
python3[2976]: Traceback (most recent call last):
python3[2976]:   File "/usr/lib/hue/build/env/bin/supervisor", line 33, in <module>
python3[2976]:     sys.exit(load_entry_point('desktop', 'console_scripts', 'supervisor')())
python3[2976]:   File "/usr/lib/hue/desktop/core/src/desktop/supervisor.py", line 336, in main
python3[2976]:     outfile = open_file(os.path.join(log_dir, 'supervisor.out'), 'a+', 0)
python3[2976]: ValueError: can't have unbuffered text I/O
systemd[1]: hue.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: hue.service: Failed with result 'exit-code'.

As far as I understand unbuffered I/O is only available in binary mode for python3.

Same thing in:
Traceback (most recent call last):
  File "/usr/lib/hue/desktop/core/src/desktop/supervisor.py", line 368, in main
    log_stdout = open_file(os.path.join(log_dir, name + '.out'), 'a+', 0)
ValueError: can't have unbuffered text I/O

And also:
  File "/usr/lib/hue/desktop/core/src/desktop/kt_renewer.py", line 95, in detect_conf_var
    f = file(CONF.CCACHE_PATH.get(), "rb")

IIUC file is not supported in python3, it needs open.

Indeed, looks like some components still miss a few relatively small Python 3 changes (missed as lack of test coverage and I use cherrpy/gunicorn in Python 3), but those should be very few.
Would you able to send a pull request for those to make it compatible both for Python 2/3? I can help on the review.

Of course! Will try to send one asap, there are some bits that are not clear to me, I'll try to propose something so we can discuss what's best in the pull request.

@romainr the bit of code that I am trying to port now is wsgiserver.py:
_fileobject_uses_str_type = isinstance(socket._fileobject(None)._rbuf, basestring)
The _fileobject_uses_str_type variable is then used afterwards to create a class, that I guess is meant to work with binary vs text? socket._fileobject is deprecated in python3, do you have any indication/suggestion about how to proceed?

Given the fact that the change to wsgiserver.py are big it might be better to just use gunicorn, do you have any examples about how do do it? I am using this config since I checked what was present inside CDH packages, so I am fine to use gunicorn as alternative.

In the hue.ini, you can look for:
  # Set to true to use CherryPy as the webserver, set to false
  # to use Gunicorn as the webserver. Defaults to CherryPy if
  # key is not specified.
  use_cherrypy_server=false

  # Gunicorn work class: gevent or evenlet, gthread or sync.
  gunicorn_work_class=sync

and https://github.com/cloudera/hue/blob/master/desktop/core/src/desktop/management/commands/rungunicornserver.py
It works pretty well for me, curious how it works for other people

@romainr I tried to give it a go, but I found some troubles that are almost surely my fault. I started from this systemd unit config:
[Unit]
Description=Hue

[Service]
User=hue
Group=hue
Environment=PYTHONPATH=/usr/lib/hue/desktop/libs/:/usr/lib/hue/desktop/core/src/:/usr/lib/hue/build/env/lib/python3.7/site-packages/
Environment=DJANGO_SETTINGS_MODULE=desktop.settings
WorkingDirectory=/usr/lib/hue
ExecStart=/usr/lib/hue/build/env/bin/python3 /usr/lib/hue/desktop/core/src/desktop/management/commands/rungunicornserver.py

[Install]
WantedBy=multi-user.target

I tried to find a way to specify /var/log/hue as logging dir, but I didn't find one, so I specified WorkingDirectory=/usr/lib/hue and the logs dir was created in there. Not ideal, but I am surely missing a config bit somewhere.
I also had to set DJANGO_SETTINGS_MODULE in there due to this error:
django.core.exceptions.ImproperlyConfigured: Requested setting USE_I18N, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

That is strange since I see it configured in rungunicornserver.py. I then saw this error:
Aug 13 09:05:06 python3[15877]: Traceback (most recent call last):
Aug 13 09:05:06 python3[15877]:   File "/usr/lib/hue/build/env/lib/python3.7/site-packages/django/utils/translation/trans_real.py", line 168, in _add_installed_apps_translations
Aug 13 09:05:06 python3[15877]:     app_configs = reversed(list(apps.get_app_configs()))
Aug 13 09:05:06 python3[15877]:   File "/usr/lib/hue/build/env/lib/python3.7/site-packages/django/apps/registry.py", line 138, in get_app_configs
Aug 13 09:05:06 python3[15877]:     self.check_apps_ready()
Aug 13 09:05:06 python3[15877]:   File "/usr/lib/hue/build/env/lib/python3.7/site-packages/django/apps/registry.py", line 125, in check_apps_ready
Aug 13 09:05:06 python3[15877]:     raise AppRegistryNotReady("Apps aren't loaded yet.")
Aug 13 09:05:06 python3[15877]: django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
Aug 13 09:05:06 python3[15877]: During handling of the above exception, another exception occurred:
Aug 13 09:05:06 python3[15877]: Traceback (most recent call last):
Aug 13 09:05:06 python3[15877]:   File "/usr/lib/hue/desktop/core/src/desktop/management/commands/rungunicornserver.py", line 40, in <module>
Aug 13 09:05:06 python3[15877]:     class Command(BaseCommand):
Aug 13 09:05:06 python3[15877]:   File "/usr/lib/hue/desktop/core/src/desktop/management/commands/rungunicornserver.py", line 41, in Command
Aug 13 09:05:06 python3[15877]:     help = _("Gunicorn Web server for Hue.")
Aug 13 09:05:06 python3[15877]:   File "/usr/lib/hue/build/env/lib/python3.7/site-packages/django/utils/translation/__init__.py", line 89, in ugettext
Aug 13 09:05:06 python3[15877]:     return _trans.ugettext(message)
Aug 13 09:05:06 python3[15877]:   File "/usr/lib/hue/build/env/lib/python3.7/site-packages/django/utils/translation/trans_real.py", line 338, in gettext
Aug 13 09:05:06 python3[15877]:     return do_translate(message, 'gettext')
Aug 13 09:05:06 python3[15877]:   File "/usr/lib/hue/build/env/lib/python3.7/site-packages/django/utils/translation/trans_real.py", line 321, in do_translate
Aug 13 09:05:06 python3[15877]:     _default = _default or translation(settings.LANGUAGE_CODE)
Aug 13 09:05:06 python3[15877]:   File "/usr/lib/hue/build/env/lib/python3.7/site-packages/django/utils/translation/trans_real.py", line 228, in translation
Aug 13 09:05:06 python3[15877]:     _translations[language] = DjangoTranslation(language)
Aug 13 09:05:06 python3[15877]:   File "/usr/lib/hue/build/env/lib/python3.7/site-packages/django/utils/translation/trans_real.py", line 129, in __init__
Aug 13 09:05:06 python3[15877]:     self._add_installed_apps_translations()
Aug 13 09:05:06 python3[15877]:   File "/usr/lib/hue/build/env/lib/python3.7/site-packages/django/utils/translation/trans_real.py", line 171, in _add_installed_apps_translations
Aug 13 09:05:06 python3[15877]:     "The translation infrastructure cannot be initialized before the "
Aug 13 09:05:06 python3[15877]: django.core.exceptions.AppRegistryNotReady: The translation infrastructure cannot be initialized before the apps registry is ready. Check that you don't make non-lazy gettext calls at import time.
``

If I comment the line `help = _("Gunicorn Web server for Hue.")` I don't see errors anymore, and I don't have to set `DJANGO_SETTINGS_MODULE` in the systemd unit either. It seems as if it was an early logging happening before initialization of all settings, but again I am not super familiar with the codebase.

Then another error that blocked me:

Aug 13 09:41:20 systemd[1]: Started Hue.
Aug 13 09:41:20 python3[19196]: Traceback (most recent call last):
Aug 13 09:41:20 python3[19196]:   File "/usr/lib/hue/desktop/core/src/desktop/management/commands/rungunicornserver.py", line 156, in
Aug 13 09:41:20 python3[19196]:     rungunicornserver()
Aug 13 09:41:20 python3[19196]:   File "/usr/lib/hue/desktop/core/src/desktop/management/commands/rungunicornserver.py", line 90, in rungunicornserver
Aug 13 09:41:20 python3[19196]:     bind_addr = conf.HTTP_HOST.get() + ":" + str(conf.HTTP_PORT.get())
Aug 13 09:41:20 python3[19196]: AttributeError: 'Config' object has no attribute 'get'

I traced down `Config` up to desktop/lib/conf.py, and effectively there is no `get` available in the class.

Thanks in advance for the help and sorry for the wall of debugging :)

@romainr any idea about the above error? I can't figure out from the code where one could have get() working.. But since you mentioned that it works very well for your use case, then I am a bit confused..

 AttributeError: 'Config' object has no attribute 'get' errors often means either Hue is not fully compiles, some modules are not registered in app.reg or the booting/entrypoint somehow is not in dependency order.
Did you first make sure that your dev Hue work properly with Gunicorn?
./build/env/bin/hue rungunicornserver

[2020-08-19 00:56:52 -0700] [78133] [INFO] Starting gunicorn 19.9.0
[2020-08-19 00:56:52 -0700] [78133] [DEBUG] Arbiter booted
[2020-08-19 00:56:52 -0700] [78133] [INFO] Listening at: http://<IP_ADDRESS>:8001 (78133)
[2020-08-19 00:56:52 -0700] [78133] [INFO] Using worker: threads
/home/romain/projects/hue/build/env/lib/python3.8/os.py:1023: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used
  return io.open(fd, *args, **kwargs)

@romainr thanks a lot for the suggestion, sorry for the lag I was afk :)
Very interesting: I tried PYTHONPATH=/usr/lib/hue/desktop/libs/:/usr/lib/hue/desktop/core/src/:/usr/lib/hue/build/env/lib/python3.7/site-packages/ /usr/lib/hue/build/env/bin/python3 /usr/lib/hue/build/env/bin/hue rungunicornserver and it works fine, but the same PYTHONPATH with /usr/lib/hue/desktop/core/src/desktop/management/commands/rungunicornserver.py leads to the Config error.

Weird, it works for me. I bet there is indeed something to fix somewhere

@romainr I am curious about how you run it - do you use a specific PYTHONPATH or something else? Is it possible to share some details about what is the shell command that you use? It would help me trying to figure out what's wrong :)

I really do nothing special, just type ./build/env/bin/hue rungunicornserver and PYTHONPATH is empty.
To try to debug it, you could try to print the paths you get when running the hue command maybe. The virtual env might be incomplete too or with wrong paths (build/env/lib/python3.8/site-packages/hue.pth ...)

I really do nothing special, just type ./build/env/bin/hue rungunicornserver and PYTHONPATH is empty.

In this case, it works for me as well without PYTHONPATH, but my understanding is that this is for the dev server (so I shouldn't use it for production).

To try to debug it, you could try to print the paths you get when running the hue command maybe. The virtual env might be incomplete too or with wrong paths (build/env/lib/python3.8/site-packages/hue.pth ...)

Definitely, but what I was asking in the other comments is what you'd run for production use cases (assuming that what I wrote above about the dev server is right).
Thanks for the patience!

@romainr ping :)

Updating this issue after some discoveries (clear problem between keyboard and computer :)
The cloudera hue package (from which I was getting settings/etc..) makes a symlink in /usr/lib/hue/desktop/conf to /etc/hue/conf, where I have deployed my config. Running the supervisor without it was causing the defaults to be picked, and hence my confusion about running the dev server.
I was able to run  the supervisor with gunicorn (only flipping the setting in hue.ini), but I had to fix two little py2/py3 bugs in the kt_renewer (I'll send a pull request for these).
In hue.ini I am using mysql as datastore, with a schema already populated by 3.9's tables. I've ran the migration scripts to test the upgrade to 4.7.1 and everything went fine.
The current issue that I have is that my LDAP settings (in hue.ini under [[ldap]] and using backend=desktop.auth.backend.LdapBackend) seem not working anymore, namely I cannot log in into the Hue home page. I enabled debug logging and I can see something like:
[01/Sep/2020 11:43:15 +0000] backend      WARNING  Cannot configure LDAP with SSL and enable STARTTLS.
[01/Sep/2020 11:43:15 +0000] backend      DEBUG    Rejecting empty password for XXXXX

That is this line IIUC. The XXXXX value is not the username though, but the password.. if I dump in a separate log username and password of that bit of code I see, in fact, the username with the value of the password and an empty password. I checked the hue.ini config and it should be compatible with 4.7.1, not sure what it is wrong, maybe some code change of the ldap backend caused this?
Thanks again for the patience (I am slowly getting to know better Hue).

This is a follow up error, probably another py2 -> py3 leftover:
Traceback (most recent call last):
  File "/usr/lib/hue/desktop/core/src/desktop/auth/forms.py", line 216, in authenticate
    server=server)
  File "/usr/lib/hue/build/env/lib/python3.7/site-packages/django/contrib/auth/__init__.py", line 70, in authenticate
    user = _authenticate_with_backend(backend, backend_path, request, credentials)
  File "/usr/lib/hue/build/env/lib/python3.7/site-packages/django/contrib/auth/__init__.py", line 116, in _authenticate_with_backend
    return backend.authenticate(*args, **credentials)
  File "/usr/lib/hue/desktop/core/src/desktop/lib/metrics/registry.py", line 389, in wrapper
    return fn(*args, **kwargs)
  File "/usr/lib/hue/desktop/core/src/desktop/auth/backend.py", line 578, in authenticate
    self.import_groups(server, user)
  File "/usr/lib/hue/desktop/core/src/desktop/auth/backend.py", line 620, in import_groups
    import_ldap_users(connection, user.username, sync_groups=True, import_by_dn=False, server=server)
  File "/usr/lib/hue/apps/useradmin/src/useradmin/views.py", line 796, in import_ldap_users
    connection, user_pattern, sync_groups=sync_groups, import_by_dn=import_by_dn, server=server, failed_users=failed_users
  File "/usr/lib/hue/apps/useradmin/src/useradmin/views.py", line 946, in _import_ldap_users
    return _import_ldap_users_info(connection, user_info, sync_groups, import_by_dn, server, failed_users=failed_users)
  File "/usr/lib/hue/apps/useradmin/src/useradmin/views.py", line 982, in _import_ldap_users_info
    validate_username(ldap_info['username'])
  File "/usr/lib/hue/apps/useradmin/src/useradmin/forms.py", line 58, in validate_username
    if not validator.match(username_pattern):
TypeError: cannot use a string pattern on a bytes-like object
[01/Sep/2020 13:59:45 +0000] forms        ERROR    LDAP auth error: cannot use a string pattern on a bytes-like object

@romainr I am able to use hue now, there are still some issues here and there but I should be able to sort them out and send a pull request if you are ok. You mentioned in a previous code review that code must be python2 compatible, is there any facilitation in the code to distinguish if python2 or 3 is used ? (like a var PY3 = True etc..). I am asking to figure out how to better add defensive coding for both 2 and 3.

I see that in some places there is a sys.version_info[0] guard.

@romainr finally the pull request builds, I left some comments on it about the LDAP module. When you have a moment, let me know what you think about those. I am currently running that patch with gunicorn and it looks good.

Glad to hear and thanks for all the details.
And yes, to keep both Python 2 and 3 compatibility we can use the sys
module. And feel free to send some PRs
On Fri, Sep 4, 2020, 4:27 PM Luca Toscano<EMAIL_ADDRESS>wrote:

@romainr https://github.com/romainr finally the pull request builds, I
left some comments on it about the LDAP module. When you have a moment, let
me know what you think about those. I am currently running that patch with
gunicorn and it looks good.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/cloudera/hue/issues/1239#issuecomment-687179325, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAEMGNIMVKDJKXDPVJFCLLSED2MPANCNFSM4PZ7KKAQ
.

@romainr I have updated https://github.com/cloudera/hue/pull/1244 with all the code that I had to change to make my env work with py3 (+ldap +kerberos), let me know your thoughts.. I had some troubles with python-ldap and its usage of binary strings, I found a solution that worked but it may require more inputs/guidance from you.

I see, thanks for the work and research, this looks great! Better to make it work gradually and keep the Py2 as-is like you did.

@romainr we may have to reopen sorry, I missed some use cases. I added a pull request for the first ones, and now I found this:
[10/Sep/2020 12:14:33 +0000] api2         ERROR    Error running <function logs at 0x7f862f932e18>
Traceback (most recent call last):
  File "/usr/lib/hue/apps/jobbrowser/src/jobbrowser/api2.py", line 41, in decorator
    return func(*args, **kwargs)
  File "/usr/lib/hue/apps/jobbrowser/src/jobbrowser/api2.py", line 125, in logs
    response['logs'] = get_api(request.user, interface, cluster=cluster).logs(app_id, app_type, log_name, json_logs)
  File "/usr/lib/hue/apps/jobbrowser/src/jobbrowser/apis/workflow_api.py", line 113, in logs
    data = get_oozie_job_log(request, job_id=appid)
  File "/usr/lib/hue/apps/oozie/src/oozie/views/dashboard.py", line 179, in decorate
    return view_func(request, *args, **kwargs)
  File "/usr/lib/hue/apps/oozie/src/oozie/views/dashboard.py", line 619, in get_oozie_job_log
    return JsonResponse(return_obj, encoder=JSONEncoderForHTML)
  File "/usr/lib/hue/desktop/core/src/desktop/lib/django_util.py", line 497, in __init__
    data = json.dumps(data, cls=encoder, **json_dumps_params)
  File "/usr/lib/python3.7/json/__init__.py", line 238, in dumps
    **kw).encode(obj)
  File "/usr/lib/hue/desktop/core/src/desktop/lib/json_utils.py", line 38, in encode
    return ''.join(chunks)
  File "/usr/lib/hue/desktop/core/src/desktop/lib/json_utils.py", line 44, in iterencode
    for chunk in chunks:
  File "/usr/lib/python3.7/json/encoder.py", line 431, in _iterencode
    yield from _iterencode_dict(o, _current_indent_level)
  File "/usr/lib/python3.7/json/encoder.py", line 405, in _iterencode_dict
    yield from chunks
  File "/usr/lib/python3.7/json/encoder.py", line 438, in _iterencode
    o = _default(o)
  File "/usr/lib/python3.7/json/encoder.py", line 179, in default
    raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type bytes is not JSON serializable

This happen when navigating to a page like hue/jobbrowser/#!id=0094132-200720135922440-oozie-oozi-W

Also this happens when I try to submit a hive query:
[10/Sep/2020 12:30:37 +0000] decorators   ERROR    Error running execute
Traceback (most recent call last):
  File "/usr/lib/hue/apps/beeswax/src/beeswax/server/hive_server2_lib.py", line 299, in fields
    return [HiveServerTColumnValue2(field).val.pop(0) for field in self.cols]
  File "/usr/lib/hue/apps/beeswax/src/beeswax/server/hive_server2_lib.py", line 299, in <listcomp>
    return [HiveServerTColumnValue2(field).val.pop(0) for field in self.cols]
IndexError: pop from empty list

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/hue/apps/beeswax/src/beeswax/server/hive_server2_lib.py", line 395, in rows
    yield row.fields()
  File "/usr/lib/hue/apps/beeswax/src/beeswax/server/hive_server2_lib.py", line 301, in fields
    raise StopIteration
StopIteration

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/hue/desktop/libs/notebook/src/notebook/decorators.py", line 114, in wrapper
    return f(*args, **kwargs)
  File "/usr/lib/hue/desktop/libs/notebook/src/notebook/api.py", line 225, in execute
    response = _execute_notebook(request, notebook, snippet)
  File "/usr/lib/hue/desktop/libs/notebook/src/notebook/api.py", line 153, in _execute_notebook
    response['handle'] = interpreter.execute(notebook, snippet)
  File "/usr/lib/hue/desktop/libs/notebook/src/notebook/connectors/hiveserver2.py", line 98, in decorator
    return func(*args, **kwargs)
  File "/usr/lib/hue/desktop/libs/notebook/src/notebook/connectors/hiveserver2.py", line 301, in execute
    result = db.use(query.database, session=_session)
  File "/usr/lib/hue/apps/beeswax/src/beeswax/server/dbms.py", line 895, in use
    return self.client.use(query, session=session)
  File "/usr/lib/hue/apps/beeswax/src/beeswax/server/hive_server2_lib.py", line 1301, in use
    data = self._client.execute_query(query, session=session)
  File "/usr/lib/hue/apps/beeswax/src/beeswax/server/hive_server2_lib.py", line 937, in execute_query
    return self.execute_query_statement(statement=query.query['query'], max_rows=max_rows, configuration=configuration, session=session)
  File "/usr/lib/hue/apps/beeswax/src/beeswax/server/hive_server2_lib.py", line 944, in execute_query_statement
    results, schema, operation_handle, session = self.execute_statement(statement=statement, max_rows=max_rows, configuration=configuration, orientation=orientation, session=session)
  File "/usr/lib/hue/apps/beeswax/src/beeswax/server/hive_server2_lib.py", line 981, in execute_statement
    (res, session) = self.call(self._client.ExecuteStatement, req, session=session)
  File "/usr/lib/hue/apps/beeswax/src/beeswax/server/hive_server2_lib.py", line 717, in call
    return self.call_return_result_and_session(fn, req, status, session=session)
  File "/usr/lib/hue/apps/beeswax/src/beeswax/server/hive_server2_lib.py", line 754, in call_return_result_and_session
    session = self.open_session(self.user)
  File "/usr/lib/hue/apps/beeswax/src/beeswax/server/hive_server2_lib.py", line 708, in open_session
    configuration = self.get_configuration(session=session)
  File "/usr/lib/hue/apps/beeswax/src/beeswax/server/hive_server2_lib.py", line 1162, in get_configuration
    properties = [(row[0].split('=')[0], row[0].split('=')[1]) for row in results.rows() if '=' in row[0]]
  File "/usr/lib/hue/apps/beeswax/src/beeswax/server/hive_server2_lib.py", line 1162, in <listcomp>
    properties = [(row[0].split('=')[0], row[0].split('=')[1]) for row in results.rows() if '=' in row[0]]
RuntimeError: generator raised StopIteration


Reuse names in "robot-name" exercise

Please improve either the wording of "robot-name" instructions or its tests to explicitly permit or deny the reuse of names.
Currently, robots have the ability to get their names wiped, and at the same time instructions require names to be random. It means that if a robot had a name, then got it wiped, then got another name - the new name is equally likely to be its old name as any other possible name. Otherwise names would not be truly random if they had a constraint that a given robot should not repeat its names.
Also, if the number of robots is >= the number of possible name combinations then the only name a robot can get after wipe is its old name.
This makes test cases "is_able_to_reset_name" and "exhausting_digits_yields_different_names" somewhat depend on luck.
I had one of the tests fail (using the editor), and then I simply rerun it and it passed.

I agree, the instructions could be improved. But that should probably be done in the language-agnostic problem-specifications repository. IIRC the three most common discussions are about:

Should the destructor make old names available again or are those names "burned" forever?
Similarly, when a robot gets reset is the old name "burned" forever or will it become available again at some, e.g. when the instance gets destructed?
Is it acceptable to repeatedly generate new random names until an unused one is found (even if that might take some time when there are many names already used) or should the tests encourage/enforce some other approach that guarantees better worst-case response times?
Is it acceptable to assign a name at construction / during the reset, or should the instructions be followed closely and the name be generated upon request?
What should happen if there are no more unused names left?

As for the tests I'd argue that they are not "acceptance tests" where every solution that passed them is automatically correct but rather in the style of test-driven development where the tests guide the programmer and it's still up to the programmer to read the instructions and tests carefully and write a reasonable solution, not just a "hack" that happens to pass the tests.
In this case the test "exhausting_digits_yields_different_names" clarifies the requirements: A reset() should not yield any of the old names of the robot.
Also, everything involving randomness is hard to test. I wouldn't know how to reliably test something like "The names must be random: they should not follow a predictable sequence." And I've seen (incorrect) solutions that consume and discard one or two random numbers just to pass the tests, or let each instance maintain its own set of used names where collisions between different instances are just avoided by chance.
That' why mentoring is such a great feature: Often mentors know these aspects and have seen multiple different solutions, they can point out any hidden issues and discuss the interpretation of the task.
There have been discussions about this exercise in the past (e.g. https://github.com/exercism/problem-specifications/issues/1673 or https://github.com/exercism/problem-specifications/issues/1831).


Improve Node.readInlineContent in markdown

See https://github.com/JetBrains/jewel/pull/458#discussion_r1684145499

Done in #577


Serve HTTP 400 instead of throwing on badly encoded request URI

Wraps decodeURIComponent calls in a try-catch to avoid throwing to Express error handler when the request URI is not properly encoded.
Includes a test case: HEAD /%E4 is HTTP 500 in master, this makes it HTTP 400.

@dougwilson no rush but this one is pretty easy to review. :)


Add @Ignore feature

Like #151, someone on the mailing list asked for a global ignore on the class.
He's now ok to use the listener provided by #816.
But I wanted to impl @Ignore to see what it means.
The advantage I see it doesn't break the current @Test(enable=false) on class behavior.

Is this completely equivalent to @Test(enabled = false)?

On method: yes, it is equivalent
On class: no, it will disable all methods of the class

would be very useful as package level annotation.
com/foo/bar/functional/ <== @Ignore

@nitinverma I like the idea, but @Test shoud work on package first (and I think it doesn't work).

Having @Test as package level would be useful in many cases but not always
com/foo/bar/AbstractTest.java
com/foo/bar/CommonDataProviders.java
com/foo/bar/Impl1Test.java
com/foo/bar/Impl2Test.java
Abstract & utility classes do not need require @Test. Even in this case package level @Ignore should negate all the test-methods in the package; enforced by a method or class level annotation.
Thus I think package level @Test is not a prereq but a good to have.

But @Test and @Ignore are symmetric :)

Yes, It's just a short form to @Test(enabled = false)... but avoids confusion as follows.
package: @Test(enabled = false)
       Class: @Test(enabled = true)
             Method @Test (enabled = true)
Test is disabled for Method

package: @Test(enabled = true)
       Class: @Test(enabled = false)
             Method @Test (enabled = true)
Test is ? for Method

package: @Test(enabled = false)
       Class: @Test(enabled = true)
             Method @Test (enabled = true)

=> The test is enabled for Method because @Test on method overrides class, which overrides package.
ackage: @Test(enabled = true)
       Class: @Test(enabled = false)
             Method @Test (enabled = true)

=> The test is enabled for Method because @Test on method overrides class, which overrides package.
Notice that the logic behind @Ignore is the opposite.

@juherr - Please give me a day. I will go through this changeset and update you.

Conflict in Strings.java.

@juherr - I have resolved the merge conflicts and raised a new PR #1610 So no additional action is required from you side. Just thought I would let you know :)

@krmahadevan Thanks! For your information, as a committer, you have rights to push in source branch of PRs even if you don't have permissions to the repository. So, you don't have to make another pull request but you can just modify the current one :)

@juherr - My bad, I didn't know that. Will keep that in mind going forward.

@krmahadevan No worries :) BTW, I think @Ignore could be a good subject for your blog ;)

@juherr - Definitely. But will wait for TestNG 6.13 to be released.


Typo in build_sdcard.sh

run fsck on sd boot partition on every startup to prevent "maintenance login" screen
should be
root partition

fixed - thanks.