Add way to set documentURI on Document

Referencing #68, there currently is no way to set the documentURI on Document (MDN Docs), which is required by modules such as @mozilla/readability.
JSDOM does this via an url parameter, passed into the constructor with the options:
const dom = new JSDOM(``, {
  url: "https://example.org/",
  referrer: "https://example.com/",
  contentType: "text/html",
  includeNodeLocations: true,
  storageQuota: 10000000
});

url sets the value returned by window.location, document.URL, and document.documentURI, and affects things like resolution of relative URLs within the document and the same-origin restrictions and referrer used while fetching subresources. It defaults to "about:blank".
see JSDOM

Deno allows setting the window.location via a command-line argument. Would it be best to have these properties dynamically loaded if you access Node.baseURI, Document.documentURI, Document.baseURI, and Document.URL which would make Deno ask you to provide a --location parameter?  Although, this wouldn't really allow for fine-grained control at runtime so it might still be necessary to have a runtime API for this for those few number of libraries and users that need it.

I'm thinking of doing something like
import { denoDom, DOMParser } from "https://deno.land/x/deno_dom/deno-dom-wasm.ts";
const doc = new DOMParser().parseFromString("
foo
", "text/html");
denoDom.setDocumentMetadata(doc, {
  uri:  "https://example.org/example.html",
  referrer:  "https://example.com/",
});

console.log(doc.documentURI); // prints "https://example.org/example.html"
console.log(doc.referrer); // prints "https://example.com/"

Yes, that looks good. Wonder if you might want to include options parameter in parseFromString:
const doc = new DOMParser().parseFromString("
foo
", {
    encoding: "text/html",
    uri: "https://example.org/example.html",
    referrer: "https://example.com/",
});

Yeah, I'd rather avoid extending the actual DOM API. What I think we can do to make it nicer is return the document from setDocumentMetadata. Something like:
import { denoDom, DOMParser } from "https://deno.land/x/deno_dom/deno-dom-wasm.ts";

const doc = denoDom.setDocumentMetadata(
  new DOMParser().parseFromString("
foo
", "text/html"),
  {
    uri: "https://example.org/example.html",
    referrer: "https://example.com/",
  },
);

console.log(doc.documentURI); // prints "https://example.org/example.html"
console.log(doc.referrer); // prints "https://example.com/"

The document implementation is here and you can another file for that denoDom export probably... I'd like to make that a separate export though, so maybe something like import { setDocumentMetadata } from "jsr:@b-fuze/deno-dom/util


Old version of enhanced-resolve and memory-fs

If I want to use alias for webpack config - I'm not able to do it, because I get such error from "memory-fs" library: Cannot read property 'replace' of undefined
This issue was solved here https://github.com/webpack/memory-fs/issues/12
But inside your library I see that you still use old versions:
dependencies: ... enhanced-resolve "~0.9.0" ...
0.9.0 Version of "enhanced-resolve" is using old version of 'memory-fs' too
dependencies: ... memory-fs "^0.2.0" ...
Is this possible to update dependencies ?

We now use the latest versions of webpack,
    "webpack": "^2.5.1 || ^3.0.0",
    "webpack-dev-middleware": "^1.10.2",
    "webpack-hot-middleware": "^2.18.0"

So this shouldn't be an issue anymore. Feel free to re-open if it still is.


ROG Ally sleep mode not working

I am using latest chimeraOS on a ROG ally and every time I put the device to sleep I can hear the fans still on and if I leave it overnight the battery will be depleted in the morning.

I have a rog ally as well as a few other team members and this never happened at least to my knowledge. We had a few users report this proble, they were able to fix somehow (we believe) but nobody ever explained how. I think it's some third party software/extensions, so I would try to remove any of those and see if the issue goes away

Perhaps it is because of this  https://github.com/ChimeraOS/device-quirks/pull/99

Perhaps it is because of this ChimeraOS/device-quirks#99

But it doesn't happen on my fork and neither on unstable last rime I tested it....

I have verified this situation on my own device. To the best of my knowledge, bazzite also deals with this to fix ally's sleep.

Hi! Seems like workaround: in file /etc/device-quirks/systemd-suspend-mods.conf remove or comment line with mt7921e

edit with sudo vim  /etc/device-quirks/systemd-suspend-mods.conf. default pass is gamer
to enter insert mode press "i"
in the beginning of line with mt7921e place "#" char to set it as comment
to exit - press "esc" to exit insert mode, press ":" to enter command, write "wq!" to write and quit

helped for me.
another way can be just sed -i 's/mt7921e//g' /etc/device-quirks/systemd-suspend-mods.conf but i didn't test it

This issue is fixed. Closing it.


responseArray build error

I'm using request for "responseArray" but build failed with this error:
Cannot invoke 'responseArray' with an argument list of type '((Response<[CouponResponse], NSError>) -> Void)'
Code:
Alamofire.request(.GET, URL).responseArray { (response: Response<[CouponResponse], NSError>) -> Void in
if let couponRes = response.result.value {
print(couponRes[0].result)
}
}
How to solve this problem? Thx

Did you import AlamofireObjectMapper at the beginning of your file?

Yes,
import Alamofire
import ObjectMapper
import AlamofireObjectMapper
these all imported.

Can you post CouponResponse please

Ohh my God!
Sooo sorry! I forgot to put :Mappable for my class.
Thx, solved! :)

hehe no problem :+1:


Using ban list to also include display names and profile bios

Use your banned word list to also filter display names, and content in user bios.
Include the banned word list to scan display names as it does for usernames.
Currently people are able to use banned usernames as display names.

Working on this actively.

i think this is done but not sure if this can be closed or not


Plan the Firewall and Firewall Manager  Licensing Model Change to BYOL and version upgrade

Describe the Issue
Work together with SecOps, Platform Admin to create a plan for everyone
Additional Context

Plan workshop to create a draft plan
Plan To change AMI image for BYOL and upgrade version which supports SAML
Plan to cover preparation, backup, fall back
Plan to cover License and Contract

Acceptance Criteria

[x] A draft plan that is understandable and actionable
[x] A draft plan has the starting time and duration
[x] A draft plan has contingency plan for fall back
A set of pre-defined requirement that need to be met in order to mark the user story as “done”.  See below for team agreement details.

We have a plan created by Chris C and shared with CPO, PO.


zh: content/docs/reference/commands/mixs

add

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: rootsongjc
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content_zh/OWNERS [rootsongjc]

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


Automatically post release notes to community Slack

When a new release is cut, post the release notes to the code-server Community Slack
Notes

we would just need a Slack token for the Slack community
it could be automated -> set up a job in the publish.yaml called "slack"

H/T to @jawnsy for the idea

I think this should be done, using the GitHub Slack integration, so we can close this out


Fix overflow of Mod_Float for large number

Fix issue: https://github.com/microsoft/Power-Fx/issues/1367
Problem this PR fix:
Start from 1e+16 to 1e+20, current mod_float return 0 for most of the case (mostly wrong value). And overflow from 1e+21 or higher.
This PR use C# % function to do mod for the wrong/overflow issues.
Note on PA (Need to fix as well): mod result is always 0 from 1e18 (mod 123). So, it shared the same problem. mod result is wrong for > 1e17. It did not return overflow error for 1e306 but return 0 (wrong value).

✅ No public API change.

✅ No public API change.

✅ No public API change.

✅ No public API change.

✅ No public API change.

✅ No public API change.


Swap touch images / pages for mobile

It would be useful if onboarding had the ability to switch pages / images based on mobile criteria such as touch being available.
Image based onboarding of on screen controls needs to happen for touch devices and not for desktop.

test


The current published version on npm, v2.2.0 still relies on nx 15

It seems that v2.2.0 still relies on nx 15.
e.g. in<EMAIL_ADDRESS>we can see that the code still requires @nrwl/devkit (nx <16 style) instead of @nx/devkit
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const devkit_1 = require("@nrwl/devkit"); // <-----------
const utils_1 = require("./utils/utils");

This prevents any project (or at least ours :D) that uses nx 16 to use this dependency.
It seems the issue has been solved by this commit a few days ago, whereas the latest publish to npm is roughly one month old. I assume therefore that just publishing to npm would solve the issue for dependant projects.
Thank you very much, feel free to write me if you need more info, or if I can support you in any way :)

@thomasburguiere thanks for reaching out. I am still figuring out a better way to publish and release with a workflow. Until then its pretty manual so apologies for any inconvenience!
Try using version 3.0.0 and let me know how it goes. Although, I thought as a part of the nx 16 upgrade, they would still support the old @nrwl/ namespace; maybe I am wrong.

@thomasburguiere thanks for reaching out. I am still figuring out a better way to publish and release with a workflow. Until then its pretty manual so apologies for any inconvenience!
Try using version 3.0.0 and let me know how it goes. Although, I thought as a part of the nx 16 upgrade, they would still support the old @nrwl/ namespace; maybe I am wrong.

Hi @koliveira15 thanks a lot for the update, we will try immediately with v3.0.0 and let you know the outcome 🙂


honor managment custom context path in sleuth ressource trace filter

Although its configurable its bad support in sense of convention over configuration that changes in spring cloud managment path won't be reflected automaticatlly in the ressource skip filter for sleuth.
sleuth.instrument.web.skipPattern: /api-docs.*|/autoconfig|/management|/management/configprops|/configprops|/dump|/management/info|/info|/metrics.*|/mappings|/trace|/swagger.*|.*\\.png|.*\\.css|.*\\.js|.*\\.html|/favicon.ico|/hystrix.stream

I'm sorry can you elaborate more on this topic because I don't understand the issue

I'm thinking that he means if you set management.context-path to include that automatically in skipPattern.

ah ok - that would make sense actually cause why would you like to trace those endpoints?

@spencergibb   tx, that was my point

@cforce could you please build Sleuth from that branch and check if it's working as you would expect? https://github.com/spring-cloud/spring-cloud-sleuth/pull/204

Tx a lot for your contribution!


Sum up root to the leaf number

🚀 Feature
Sum up root to the leaf number
Have you read the Contributing Guidelines on Pull Requests?
YES
Motivation
Sum up root to the leaf number is a good question involving backtracking and binary tree concept.
Pitch
Sum up root to the leaf number is a good question involving backtracking and binary tree concept.

/assign


merge from arlac77/template-arlac77-github,arlac77/template-esm-only

package.json

chore(deps): add ^3.9.0 remove ^3.8.2 (devDependencies.ava)

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


{prefix}_users.user_nicename has extra characters added upon login

Prerequisites

SSO configured and active
Update user data: True
Match Wordpress account by: E-mail

Replication

Log into WordPress via OneLogin

Expected Behavior

User is logged in
{prefix}_users.user_nicename is unchanged

Actual Behavior

User is logged in
{prefix}_users.user_nicename has "-2" appended
Upon every new login, {prefix}_users.user_nicename will have another -2 appended to it, resulting in {username}-2-2-2-2-2-2-2-2-2 and so on

Thanks @bobbrodie I have also reported this issue in Wordpress Plugin support section - https://wordpress.org/support/topic/using-saml-login-user_nicename-field-getting-appended-with-2/

Ah, I didn't see that @sandykadam -- thanks for noting!

I tested with Wordpress 5.4 and was not able to reproduce

Any update on this? This has been plaguing a project I've been working on for the past 2 years. Would be great to get this fixed.

@lloan I can't fix what I can't reproduce
The plugin basically did not support nickname so the provided username is used by the wp_update_user that internally calls to
wp_insert_user
That method has the following code:

if ( ! empty( $userdata['user_nicename'] ) ) {
    $user_nicename = sanitize_user( $userdata['user_nicename'], true );
    if ( mb_strlen( $user_nicename ) > 50 ) {
         return new WP_Error( 'user_nicename_too_long', __( 'Nicename may not be longer than 50 characters.' ) );
    }
} else {
    $user_nicename = mb_substr( $user_login, 0, 50 );
}

$user_nicename = sanitize_title( $user_nicename );
$user_nicename = apply_filters( 'pre_user_nicename', $user_nicename );

$user_nicename_check = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND user_login != %s LIMIT 1", $user_nicename, $user_login ) );

if ( $user_nicename_check ) {
    $suffix = 2;
    while ( $user_nicename_check ) {
        // user_nicename allows 50 chars. Subtract one for a hyphen, plus the length of the suffix.
        $base_length         = 49 - mb_strlen( $suffix );
        $alt_user_nicename   = mb_substr( $user_nicename, 0, $base_length ) . "-$suffix";
        $user_nicename_check = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND user_login != %s LIMIT 1", $alt_user_nicename, $user_login ) );
       $suffix++;
    }
    $user_nicename = $alt_user_nicename;
}

$nickname = empty( $userdata['nickname'] ) ? $user_login : $userdata['nickname'];
$meta['nickname'] = apply_filters( 'pre_user_nickname', $nickname );

So the suffix should only be added under the condition:

Already exists a user with the same nickname but has a different user_login (username) than the one provided by the IdP.
which is a valid scenario for adding the suffix because should be unique the tuple nickname - username

I only can think in a weird scenario where the user that breaks the rule is the same user registered, but I was not able to figure it out.
Maybe you can provide the user data provided by the IdP, and the users in your database that has same nickname or same username, so I can try to reproduce here.
Meanwhile, I added nickname support in case this can prevent the issue to appear.
Ref:  https://core.trac.wordpress.org/ticket/39370


XGBoost Brick Major Refactor

I just merged https://github.com/dmlc/xgboost/pull/735 (see the PR for change logs) into the brick branch
This is a major refactor of xgboost core library, the library itself won't be faster, but cleaner and will be easier to extend in some sense.
This is the second major refactor of xgboost. The first one, named unity, aims at modularize xgboost, so we have the features such as distributed version, external memory version and different algorithms in one unified project.
xgboost has doing great since the unity version has release. It is fast, works for many languages, and scales to billions of examples. However, up till now, the project still stands in a way as a blackbox of wrapper libraries, but only aimed to be used as a whole piece.

It is hard to extend the core library,  for example to add support for new data format (e.g. directly pull data from SQL server).
It is also less obvious on how to use the library as parts, e.g. only use the tree builder or add user defined tree builders without touching the original projects.

These factors motivate this major refactor, aiming to make xgboost the fast, extensible as bricks. So the user and developer can take the bricks in xgboost library, and plug them into their own system, or create extensions to plug things back. The library for language bindings are no longer called libxgboostwrapper, but simply becomes libxgboost.

All the modules now switches to a registry pattern. The data parser, metric, objective function, tree builders are all backward registered to the registry in startup.

This means user only need to compile their code, for example in xgboost/plugin folder and directly register their extensions to xgboost without need to touch the main library code

The user facing (library)interface are moved to include, with clear documentation on all functions and - Everything is now c++11. This means shorter and cleaner code, same random number(std::mt19937).
The model should be backward compatible on 64bit, and 64/32 bit should be able to load the same model file, to help porting the models to different platforms(e.g. mobiles)

The goal is to make xgboost a library that can easily configured to take any data, runs on any platform and being easily integrated into major production system. This is an ambitious goal and maybe we are not there yet, but hopefully this is a good step.
I will post the major todos for developers in a following post

The https://github.com/dmlc/xgboost/tree/brick branch is tested on both python and R version, to make sure things compile and runs. Here are things we need before the version get merged into master.
For compile with less code deps, https://github.com/dmlc/xgboost/tree/brick/amalgamation can be used, but these can run slower. The C API stays the same for now, so all the language binding code should work directly without modification(other than points to lib/libxgboost.so instead of lib/libxgboostwrapper.so)
General

[ ] Reconfigure the travis script to make sure we runs on travis
[ ] Windows project is outdated, I am thinking of switching to CMake for windows, need a volunteer on this
[ ] Create a release tag for current master, we can discuss the version number, either 0.5 or 0.45 is fine.

R Library

[ ] Setup drat release workflow, in https://github.com/dmlc/drat
[ ] Decide if we want to reuse R's random number generator, or simply stick with the system default, the later is consistent with other languages, and is the current behavior.

Java Library

[ ] Need @yanqingmen to update the java make script.

Handling Pull Request

PRs with respect to language bindings can be merged into master, while the PRs related to C++ library willl need to be merged into the brick branch
We will aim the final merge back in a month.

cc @pommedeterresautee @antinucleon @terrytangyuan @hetong007 @yanqingmen
I will need help from developers and others to make this happen.

@tqchen Could you clarify the difference between two random number generators? But just from what you said, it would be better to be consistent with other bindings.
I've used drat to install stuff but never uploaded anything to drat before. Is it possible to set up a Travis for drat repo to build R packages automatically on different systems on weekly basis?

Normally R prefers uses its own PRNG so seed can be set via set.seed, there is no other obvious difference.

@tqchen Regarding Drat, what is expecting to be added/improved?

@pommedeterresautee Mainly figure out an release script to build the R package (and possibly binary dll for windows and mac users) others should remain the same

Just more info about the C++11 status on Windows. I am one of people working on this in last summer.
(1) The new Rtools 3.3 includes GCC 4.9.3 with posix threading model. It means the full C++11 support and std::thread support. https://github.com/rwinlib/r-base#readme
(2) It hasn't been fully tested. I mean all packages on BioC and CRAN
(3) This is a breaking upgrade for Rtools. The exception model and threading model are changed, and there is no multilib support. The whole building system in CRAN and BioC need to be updated, and this is expected to be done by the end of this year.
(4) The latest Solaris Studio 12.4 has full C++11 support and the CRAN building system will be updated later.
(5) BioC still requires all packages can be compiled using GCC 4.2.1 and I don't think they will change soon.

More info about R's random number generator.
(1) Theoretically, we should use R's own RNG. This makes the result reproducible when users set the same seed;
(2) only three RNG functions are provided by R (if I remember right):
double unif_rand();
double norm_rand();
double exp_rand();

Let's stick with R's own RNG then even though it's limited. It's just more of a conventional thing to use it to reproduce results.
@thirdwing Looks like you are already working on drat for mxnet. Would you be able to take this routinely task for xgboost as well?

I have created a release tag here https://github.com/dmlc/xgboost/releases/tag/0.47 from current master.
This will be checkpoint of current state before we move to the brick version.

@terrytangyuan @hetong007 can you check this r test error https://travis-ci.org/dmlc/xgboost/jobs/102497804#L2942 ?

@tqchen I just ran the previous version and it passed. But it seems like to be off of the expected value by a lot. Have you changed any RNG that relate to this error? The result should always reproducible if the random seed is fixed, at least from previous version it is the case.

If you want to bypass that, change this tolerance here. I am not very sure why the result is not reproducible though.

Yes,  the PRNG has been changed since brick version.

OK, I relaxed the condition, and clean up the travis to make it more tight, now things pass

The R-package has been updated to fix  the PRNG and the console issue. @hetong007 seems there are a few checks in the R side which we can fix in the future.

I also updated
https://github.com/tqchen/xgboost/blob/brick/doc/build.md to contain instructions on build on windows and linux. We now support mingw build. which might help some windows users to get rid of msvc

@hetong007 @terrytangyuan I think the R package should be ready to go. Please check the new instruction in https://github.com/dmlc/xgboost/tree/brick/R-package  works on the systems you have. note we need install_git
I would also need you guys to setup the drat repo. @thirdwing can you help on this, or give some advice on how it can be done?

@tqchen Awesome! Yes it's working on my mac.

I added a similar rmarkdown online hosting script as in mxnet https://github.com/dmlc/xgboost/tree/brick/doc/R-package
@pommedeterresautee @hetong007 can you update the links to rmarkdowns(I think we can include another one from otto challenge example). Also please check the original Rmarkdown, which seems to breaks in some usages.
One note on writing rmarkdown(please only use the first level header once in the title, otherwise this will mess up the document lists)

Now everything except the drat workflow finishes, we will merge brick version to master in next week

The new version is now merged into master. I will open new issues for the leftovers


tests for ArmTranslator

ArmTranslator translates risc to arm instructions, in an almost one to one way.
Due to historical reason, there are very little tests.
The good news is that the code works, so one can just assume what is output is right.
The test file is in test/arm/test_translator.rb
and basically there should be at least one test for each translate_XX method.
The methods are very simple, tests are mostly about constructing correct input.
This is a very good issue for anyone wanting to get into the assembler layer.

To clarify: The current tests only test the "machinery", that the actual translate works, and it does this by testing that one particular instruction gets translated correctly.
The task is to expand the tests, so that we know every Risc instruction is translated correctly. Some framework for these tests will have to be found, but that can wait.
A first easy step is to test just one other instruction, ie one other translate_XX method. A nice and simple start would be Risc::LoadData , ie translate_LoadData
Here https://github.com/ruby-x/rubyx/blob/master/test/risc/instructions/test_load_data.rb#L9
you see how a LoadData instruction is created, here https://github.com/ruby-x/rubyx/blob/master/test/arm/test_translator.rb#L9 how to translate it (name changes off course)
I would suggest to just copy line 4-13 of the test file, create a new test case (different name) and just have a look what the translator does and do a couple of asserts on it.
Send a PR and i'll look at it.


Will it get banned?

Yeah, I used FPS unlocker month ago only for 5 min. Set limit to 120 instead of 60 (on iOS devices it's okay with 120)
Tested out my new PC.
Now I'm just curious.. Will my account get banned only for one launch of 5 minutes? (now i'm not using it)
And what is anti-cheat in this game? I heard that it's like Kernel, but I have no clue it's true or not..
P.S. I know about Hoyoverse's ban waves, that maybe account may be flagged for future ban but anyway..

Look at #19, you can check reported bans.

Look at #19, you can check reported bans.

Yeah I know, but... I have one specific thing... I forgot to mention that.
I wrote to CS about this thing, and I think I have made only worse to my acc :D

Look at #19, it's a pinned issue that will be updated if anyone has got banned, and other people vouching they haven't been banned. FYI, I've been using it for a year straight with no ban.

You're using on main acc, aren't ya?

You're using on main acc, aren't ya?

Yes, I am - it is AR 58, with quite a bit of money spent.

I wrote to CS about this thing, and I think I have made only worse to my acc :D

I did too a year ago with the same email with my Genshin Account, they just reccomended not to use it. I've been using it for ages anyways since then with no issue.

You're using on main acc, aren't ya?

Yes, I am - it is AR 58, with quite a bit of money spent.

I wrote to CS about this thing, and I think I have made only worse to my acc :D

I did too a year ago with the same email with my Genshin Account, they just reccomended not to use it. I've been using it for ages anyways since then with no issue.

Well, I did too in-game function "Feedback" (if i'm not mistaken)

You're using on main acc, aren't ya?

Yes, I am - it is AR 58, with quite a bit of money spent.

I wrote to CS about this thing, and I think I have made only worse to my acc :D

I did too a year ago with the same email with my Genshin Account, they just reccomended not to use it. I've been using it for ages anyways since then with no issue.
Note: I didn't tell CS I used it, I just asked what would happen if I were to use it in the future.

Well, In that pinned issue I copypasted their answer

They also said, that it's not recommended to use, but if you deleted this stuff and never used it again, the risk of ban wouldn't be higher

They also said, that it's not recommended to use, but if you deleted this stuff and never used it again, the risk of ban wouldn't be higher

Also they said, that I'm free to play as usual

They also said, that it's not recommended to use, but if you deleted this stuff and never used it again, the risk of ban wouldn't be higher

Well, I need to cure my paranoia, I guess 😅 Sorry for disturbing you. Thanks for answering, you reassured me a lot :)

Honestly, I'm not sure if this would make much difference but if you wanted to 'play it safe', you could just wait a while before using it on your account. And no worries. If you want to ask me again in the future if I've got banned or anything you're more than welcome to send a message on discord.

They also said, that it's not recommended to use, but if you deleted this stuff and never used it again, the risk of ban wouldn't be higher

Well, I need to cure my paranoia, I guess 😅 Sorry for disturbing you. Thanks for answering, you reassured me a lot :)

Honestly, I'm not sure if this would make much difference but if you wanted to 'play it safe', you could just wait a while before using it on your account. And no worries. If you want to ask me again in the future if I've got banned or anything you're more than welcome to send a message on discord.

I don't want to use it, I'm pretty comfortable with 60 FPS. I just don't want to lose this account. And I would like to have your Discord and UID, if it's possible and you're in Europe ^^


Export results to HDF5

It would be very useful if the results once filtered could be exported to HDF5 for ML purposes, we will need to build a format that is easy to extend and captures the information we want. I have a very rough implementation in https://github.com/openforcefield/openff-qcsubmit/pull/196, see that PR for the data layout. I have also attached a HDF5 file made for the SPICE DES Monomers Single Points Dataset v1.1 using the first iteration of the data layout.
qcsubmit.hdf5.txt

I found this in the docs, which looks similar but requires more work of the user? https://github.com/openforcefield/openff-qcsubmit/blob/main/docs/input.md#demonstration


'DiffMatchPatch'  initializer error

When I want to use 'DiffMatchPatch' there was an error about the constructor of it:
'DiffMatchPatch'  initializer is inaccessible due to 'internal' protection level.
How can I use the package, I read the test and I need to use  this method:
let dmp = DiffMatchPatch() //  the error is here
var diffs = dmp.main("hello word", "hello")

Hmm, you have found an error. There are supposed to be two ways to call this code. The simplest is to call the string extension differencesFrom. The second is to call DiffMatchPatch.main but as you note you can't do that since you can't create the object.
I will tag this as a bug and see if I can get it fixed in the next week.

The result of differencesFrom seems wrong for example:
        let s = "Hi Hamed"
        let s2 = "How are you"
        let diff = s.differencesFrom(s2)
        print(diff)

[KSSDiff.Difference(inOriginal: Optional("ow"), inNew: nil), KSSDiff.Difference(inOriginal: nil, inNew: Optional("i")),  KSSDiff.Difference(inOriginal: nil, inNew: Optional("H")), KSSDiff.Difference(inOriginal: Optional("r"), inNew: nil), KSSDiff.Difference(inOriginal: nil, inNew: Optional("m")),  KSSDiff.Difference(inOriginal: Optional(" you"), inNew: nil),  KSSDiff.Difference(inOriginal: nil, inNew: Optional("d"))]

This looks correct to me. It is saying that the move from "How are you" to "Hi Hamed" has done the following:

Removed "ow" (result: "Hi Hamed" --> "H are you")
Added "hi" (result: "Hi are you")
Added "H" (result: "Hi Hare you")
Removed "r" (result: "Hi Hae you")
Added "m" (result: "Hi Hame you")
Removed " you" (result: "Hi Hame")
Added "d" (result: "Hi Hamed")

I think based on your tests with using DiffMatchPatch.main the result should be something like this:

Remove "Hi Hamed"
Add "How are you"
And for let s = "Hi Hamed",  let s2 = "Hello Hamed" should be like this:
Remove "Hi"
Add  "Hello"
Equal "Hamed"

The algorithm tries to keep as much common as possible. For example remove "Hi Hamed" and add "How are you" would absolutely not be correct, because it could at the very least be remove "i Hamed" and add "ow are you", keeping the initial "H" in place. But in any event, the snippet you provided was going the other way, it was saying essentially what are the differences required to change "How are you" to "Hi Hamed", not the other way around. I.e. The string you are calling it on is the new string and the one you pass in is the original.
Your second case I would hope that "Hello Hamed".differencesFrom("Hi Hamed") would result in the following steps (I have not added this test case to see)...

Remove "i" (result: "H Hamed")
Add "ello" (result: "Hello Hamed")


Allow maker to force-close first channel

Useful for resetting the state when testing locally.

bors r+


Some enhancements to ansible-oracle

I added a lot feautures to ansible-oracle. I'll delete my 1st pull request because this one will replace it. I reverted the change for removed item.1.stdout in role oraswdb-install as it was a wrong solution for the problem.
The added feautures:

added lvsize to filesystem | create lv
This is an incompatble change. Sorry for that, but the old way with '100%FREE' is not working when ansible is called the 2nd time. I added another variable lvsize to fix this problem and added the possibility to created more then 1 logical Volume in the Volume Group. You could create /u01, /u01/app/oracle/diag etc. as different Filesystems in 1 Volume Group.
The incompatible Change is only for user who defined a custom variable for host_fs_layout and a physical Volume which is less then 14GB. The default is changed to a fixed size of 14GB for the filesystem. This should be enought for 1 Grid-Infrastructure and 1 ORACLE_HOME in a lab environment.

Custom ORACLE_HOME for each Database
Add oracle_home to oracle_databases for custom ORACLE_HOME. oracle_home_db is used when no oracle_home is defined in oracle_databases.

Custom Characterset for each database
Add characterset and/or nationalcharacterset in oracle_databases to define a custom characterset for each database. The old defaults are used when no value is defined in oracle_databases

Bugfix for install_from_nfs
Installing without nfs wasn't possible. Thias has been fixed.

dotprofile save against changed ORACLE_HOME in oratab
The ORACLE_HOME is not fixed anymore. It is determined from oratab when possible. Otherwise the old behavior with a fixed value is used.. This makes dotprofile reliable against changes for ORACLE_HOME in oratab.

added some tags in oradb-create and oraswgi-install
I added a lot of tags to the 1st task in each role. The tags are required due to dependency between subtasks and the 1st task.

changes in gloginsql could be disabled
Define configure_gloginsql=False to disable changing the gloginsql. The file will be change by default.

better detection of ORACLE_SID in oratab
I changed the searchstring, because a # in from of an entry wasn't ignored.

added lsasmlib
I added some tags in role orahost-storage. An -t lsasmlib could be used to get information for the Disks from oracleasm.

Hi,
I'll go through this as soon as possible.
Re: the lvol issue - the 100%FREE has always worked, but there was a regression in the lvol module a while back which caused this behavior. I only noticed in in 2.1 though. https://github.com/ansible/ansible-modules-extras/issues/428 talks about this
There is a fix for it coming in 2.2, and in the meantime you could pull down the latest lvol.py and put that in a 'library' folder and that will fix the issue.
I'actually working on a new layout for the host_fs_layout which will allow for multiple disks per VG etc, so I'll have to see how this fits in. I'm all for having the lvsize configurable though.
I'll let you you know as soon as possible.
Thanks a lot for getting involved!

Hello Mikael,
thanks for the fast response. You should add a parameter for lvsize, so
there is a way to configure the size of the lvol. We need that for volume
groups with different number of lvols.
I am fine with a new layout of host_fs_layout.My changes were really small.
Kinde Regards
Thorsten Bruhns
2016-07-09 10:16 GMT+02:00 Mikael Sandström<EMAIL_ADDRESS>
Hi,
I'll go through this as soon as possible.
Re: the lvol issue - the 100%FREE has always worked, but there was a
regression in the lvol module a while back which caused this behavior. I
only noticed in in 2.1 though. ansible/ansible-modules-extras#428
https://github.com/ansible/ansible-modules-extras/issues/428 talks
about this
There is a fix for it coming in 2.2, and in the meantime you could pull
down the latest lvol.py and put that in a 'library' folder and that will
fix the issue.
I'actually working on a new layout for the host_fs_layout which will allow
for multiple disks per VG etc, so I'll have to see how this fits in. I'm
all for having the lvsize configurable though.
I'll let you you know as soon as possible.
Thanks a lot for getting involved!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/oravirt/ansible-oracle/pull/8#issuecomment-231522622,
or mute the thread
https://github.com/notifications/unsubscribe/AFvQcwFZkJ2SwZDSjYrJmlDs8yB5lbYqks5qT1jIgaJpZM4JIj61
.

Ok - sorry about the delay, I'm on vacation so my priorities are elsewhere at the moment ;-)
I pulled down the pullrequest2 branch and ran through a couple of tests and these are the issues I ran into.

custom ORACLE_HOME
oradb-create fails if run a second time, if using a custom ORACLE_HOME (it should just skip the create-part if the db already exists).
The first task checks for the default home + oracle_db_name and uses that for deciding whether or not to create the db. In this case it causes the dbca to run again, which then fails because the db actually already exists (but with a custom home).
There should probably be another/separate check for custom home + oracle_db_name and use that as the conditional for the 'custom create db' task.

oraswdb-install runs root.sh every time for a custom home, since it doesn't find that home in the inventory (it also only checks against the default home and not the custom home).
However, I also think that I should've made the oratab-check more robust from the start. I only check for !=1, should probably be something like == 0
And even though it was possible to use a separate home for each database home previously, there was no easy way of separating by mountpoints etc, so this functionality is most welcome!

the conditional for glogin (configure_gloginsql + oracle home ) is targeting variables incorrectly.
You only have 1 list in with_items, so item.0.oracle... will not work. It should be item.oracle_ .....
As a result of that, this never e

dotprofile_db doesn't use the same template for oraswdb-install & oradb-create, which means it gets overwritten as the profile may be updated (with the original/old template) after the db is created.

update oratab:
This is only meant to be run if the oracle_db_type != 'SI' (mostly to get the instances in oratab when running RAC). It has been changed to == 'SI', so it will run under the wrong conditions.
This causes confusion the second time oradb-create is run, since the initial check (which checks oratab) will then return 2 and then try to run again and fail. However, this goes back to the first point of making the initial check more robust.

Also, the actual task to update oratab (lineinfile) should be changed. Since the combination of db+oracle_home is already there (as part of the dbca-run) it shouldn't be added again. That is something I've been meaning to change for a while....

NFS
The last task in oraswdb-install (that unmounts the nfs FS) should also have the install_from_nfs conditional added.
Also, What exactly did you mean by 'Installing without nfs wasn't possible'?

lvsize
I'll probably raise the default to 50G, as the default way of installing is pushing the installationfiles to the db-host (by default to /u01/stage), and then 14G probably won't be enough if in its own FS

I haven't had time to run through a RAC-installation so there is possibility some things may come up with regards to that, but most of these things are valid for either type of installation.
I'll do a RAC config when I get the time.

Thanks for the detailed answer on this pull request. I opened some Issues to track the details of this pull request and I think it is a better idea to do it step by step and not as a huge pull request.
I find a huge failure on my side, which is part of this pull request. I did most of the changes for custom ORACLE_HOME the wrong way. I didn't know, that I could do this with a small change in dafaults/main.yml by changing the definition of oracle_home_db and fixing some tasks.
After we clarified the details, I'll rewrite the changes and create a new pull requst for them.


Unable to build

Problem description: building using ./build.sh returns an error that blocks installation.
Platform: Ubuntu 22.04.
Error: WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7fcbb39dbc40>: Failed to establish a new connection: [Errno -5] No address associated with hostname')': /artifactory/api/pypi/ct-omniverse-pypi/simple/certifi/
Other related issues:
https://forums.developer.nvidia.com/t/cannot-install-anything-with-python-in-isaac-sim-2022-1-0-docker-image/219664
https://forums.developer.nvidia.com/t/error-running-build-bat-for-connector-connectsample-203-1-0/278530
https://forums.developer.nvidia.com/t/cannot-install-anything-with-python-in-isaac-sim-2022-1-0-docker-image/219664

The same problem but different error  And the log file:

This problem looks like an environmental configuration problem, how can I solve it？

export OMNI_REPO_BUILD_NO_DOCKER=true


Add scheduled builds for regular testing

Description
On Buildkite, we have 3 scheduled builds:

name
schedule
buildkite configuration
description

GPU testing
30 9 * * TUE,FRI Australia/Sydney
TEST_QUEUE_OVERRIDE=g4dnxlarge STELLARGRAPH_MUST_USE_GPU=1 GITHUB_MERGED_PR_FORCE_BRANCH=develop
Twice-weekly test that SG runs properly on a GPU

Test prerelease versions
0 9 * * TUE,FRI Australia/Sydney
REFRESH_BUILD=true PRERELEASE_VERSIONS=1 GITHUB_MERGED_PR_FORCE_BRANCH=develop
Daily test of pre-release versions of dependencies

Daily build to flag any incompatible dependency updates
30 8 * * * Australia/Sydney
REFRESH_BUILD=true
Daily build with any dependencies updates

We should try to reproduce these on Github Actions as much as possible. The GPU testing may be difficult without providing our own custom agent, which we don't want to do for now.

It looks like we can do "Daily build to flag any incompatible dependency updates" easily via on: schedule: cron: ... https://help.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events-schedule
However, the other two may be harder (even ignoring the agent provisioning for "GPU testing"):

It doesn't seem possible to have per-schedule customisation like the environment variables in the Buildkite configuration
"Test prerelease versions" is meant to be a pre-warning check, and so should run off the develop branch to avoid contaminating the results/badges for that branch, but cron jobs can only run on the default branch. See also:

https://github.community/t/scheduled-builds-of-non-default-branch/16306
https://github.community/t/trigger-branch-builds-from-master-branch/17068
the ref param to actions/checkout could work, except it needs per-schedule customisation (1).)

The second thread includes a potential workaround https://github.community/t/trigger-branch-builds-from-master-branch/17068/7 involving pushing branches that could potentially work, if we have a different branch for each type of custom build. For instance, create a branch test-prerelease-versions-DO_NOT_DELETE, and then:

ci.yml pushes to that branch on a schedule (e.g. as part of the "Daily build to flag any incompatible dependency updates")
have ci.yml detect when running on that branch and use pip install --pre instead of pip install

This has several downsides, such as: fragile interconnection between the repo branch names and CI config, requires a personal access token associated with a particular person or org, etc.


Min_nodes & Max_nodes out of sync.

Hi,
During our testing, the Min_nodes & Max_nodes can be out of sync if the ASG gets updated via the AWS console or through API.
Steps to reproduce:

Provision Escalator with auto discovery.
Go to AWS console change the min nodes setting.
The value for Min_nodes & Max_nodes seems to be always same as the Controller first initialized.

I've created a PR to address this issue: 144
Cheers,
Steve

Closed by PR #144


Cannot read property $$phase of null

Hi,
I got this error when I open the colorpicker, whether I select a color or not, if I leave it open and then change to other page, I got this error.

I have a similar issue.
It is a combination of bugs:

spectrumjs when running in flat mode, if you change page or in my case wrap in an ng-if - the destroy method in spectrumjs does not unbind events (changes etc); it hopes that jquery will clean events when the html element is destroyed.
Meanwhile if you are watching for the change event, angular has destroyed the model and the angular-spectrum changes will try set the view value on a destroyed element model

I just patched angular spectrum to not respond to change events if directive is destroyed. Sry didn't have time for a pull request.

Would you mind posting the code you added to patch the issue here?

Not a sophisticated fix but got me out of the bug.
... localOpts[eventName] = function (color) {                              if (destroyed) { return; }  ......
The destroyed variable i set in $destroy functions.
Ideally i wanted to un-register the events from spectrum on destroy. but spectrum doesnt have that and it relies on the html element to be removed and jquery to handle unregistration.

Amazing- That cleared up my issues. Thank you!

This happened when upgrading from AngularJS 1.5.x -> 1.6.9 -- the fix that @jkainth suggested worked fine.


DRAFT: Permalink fixes

Added order by group in permalink layers;
Added default overlays to permalink
Added background layer to permalink

Missing:

Default Overlays are untested
Background layer is not shown selected on the sidebar nor is shown on the map when specified in the permalink

CC @simonseyock

This looks very nice I will rebase my current work onto this!


audit cookbook should not report a converge

Since the audit cookbook does not do any converge, it should not report to chef as a changed converge.

:+1: on this.
Converge means a decision was made on the node in regards to its operating state, where as audit reports on current state.
Would be cool to have Chef client report separately how many resources fired off an audit, but not through the # of converges.

👍

As brought up by @mhedgpeth in https://github.com/chef/inspec/issues/692 the desired solution is:

turn audit-mode into an full audit-phase where multiple compliance profiles can be executed (current approach with audit cookbook is well perceived, because the execution can be customized, but users need to ensure manually, that it is the last cookbook in the runlist)
be able to run tests located in test/integration directory within that audit phase. That would allow users to reuse the same cookbook tests for test-kitchen and production

@chris-rock this will likely prevent us from getting past the proof of concept of using compliance since our reporting is built on the converged nodes being zero every time. Do you have an idea about priority of this issue and thus a rough timeline?

I'll scheduled it for next week, so that we can suppress the reporting until we get a reworked audit mode in chef-client

that works great @chris-rock thanks. When is the reworked audit mode targeted for, roughly?

This works and should be closed.


Request: Update Botan to 2.4.0 and add feature packages

Latest version of Botan is 2.4.0 from 8th January 2018 but current vcpkg version if from 9th January 2017...
Lots of fixes and all, would actually be good if we could get it up to date.
Would also be nice if you added feature packages, as Botan support compiler switches like --enable-modules=zlib or --disable-modules=rc5,idea. I for example only needs AES/RC4/OAEP/RSA but end up with a very big build because of all the not useful algorithms included in the binary.
Thanks in advance

We'd be happy to accept a PR!

I'll create a PR for botan 2.6.0, if no one has objections. :-)

Actually, I cannot sign the CLA. When I go to https://cla.opensource.microsoft.com/ there is nothing to sign. I try to sign in, and it redirects me to github.com; I accept the connection, but when it redirects me to the microsoft site, nothing happens: I'm still not signed in.

Hi Everyone,
Latest version is 2.9.0, you can update vcpkg and rebuild.
Thanks.


Incompatibility with jupyter-vim-binding

First off, let me say I really love the scratchpad! I find it extremely useful because I'm constantly playing around with code and it used to completely clutter my notebook, so thanks!
I noticed, to my eternal sorrow, that scratchpad is incompatible with the jupyter-vim-binding extension. As far as I understand it the problems are:
[ ] The Ctrl+B keyboard shortcut gets overwritten by vim-mode (not sure if its CodeMirror's fault or jupyter-vim-bindings).
[ ] Even after opening the scratchpad using the provided button at the bottom of the page it still doesn't work because the Shift+Enter monkeypatch does not work anymore, and instead it executes a cell in the main document.
I'm guessing that perhaps this could be solved by changing the load order of the extensions. Unfortunately, I'm not versed enough in the internals of Jupyter to be able to play with it some more but I would really really be happy if you could help me solve this. I also opened an issue at the jupyter-vim-binding repository about the same issue.
Any help will be greatly appreciated!

Same issue here. Any updates?

Any news?

Good news! Looks like the problem is automatically resolved when you upgrade to Jupyter 5.0.
Run pip install --upgrade notebook or conda upgrade notebook.

I take back the above comment. Upgrading to Jupyter 5 doesn't solve the problem ... it behaves correctly only a fraction of the time. The behavior is random.
My hunch is that the extension loading order matters, but I have no clue how to enforce a specific loading order (scratchpad should probably be loaded after VIM). I spent a few hours looking at the JS code to no avail. :(

Any updates on this ? I love both the extensions and wish to use both :(

For now, try the following workaround:

Go to the Jupyter main panel, on the "Running" tab, shut down the affected notebook.
Refresh the affected notebook.
Now both extensions should work!


doc: fix doc comment on Nat.geomSum_eq

The current comment is a copy-paste error from the next lemma Nat.geomSum_lt.

done in https://github.com/leanprover-community/mathlib4/pull/13106/commits/141feab1fe4203197acf0466b5d80700567a3629

Thanks!
bors merge


Added install instructions for Ubuntu 22.04

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.andrew seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Disable local compute in deployment (Closes #1605)

Removes local compute from deployment docker images before starting.

The code changes look good but the tests seem to be failing. Could you take a look at the failing tests?


Add OpsMx to adopters

Add OpsMx to adopters list

Hey @rebalag I'm really confused, you stated on your website that OpsMx is moving people off Flux and here you are saying OpsMx has adopted Flux. The adopters page is for organisations who are using Flux in production, is OpsMx using Flux in this capacity?

@stefanprodan We have Flux in production. OpsMx has OpenCD approach supporting enterprise customers with GitOps configurations, security and software delivery. We are also adding support to existing Flux deployments along with mix of other CD systems in enterprise. We will update the communication to reflect the change in support for and use of Flux project.

What made you change your mind from moving people off Flux into supporting Flux?

I don't want to assume this is being submitted in bad faith, but
https://www.opsmx.com/blog/making-the-leap-transitioning-from-flux-to-argo-cd-for-gitops/
https://www.opsmx.com/news/opsmx-announces-new-enterprise-gitops-program-for-weaveworks-customers/
https://www.opsmx.com/blog/argo-cd-vs-flux-cd-best-tools-for-gitops/
https://www.google.com/search?q=site%3A+opsmx.com+flux
I don't find Flux on your website at all, except for these pages linked above, so it is hard to regard this as adoption in good faith, and not some type of marketing play that's plainly unrelated to Flux itself.
As far as I can tell, from reading the content on your website, your only publicized offering is designed to help migrate Flux users to ArgoCD... I'm not sure that's the kind of help we had in mind!
The information that compares Flux to Argo is also inaccurate (from the last link, which I have not reviewed in detail, but I found some substantial factual inaccuracies in it. Flux does not provide any sort of direct support jsonnet, for example.)

To clarify, we have made a decision to support Flux and join the community that is different from past direction. Couple of articles point to our support for Flux.
https://www.opsmx.com/blog/introducing-opsmx-support-for-flux-powering-seamless-gitops-workflows/
https://www.opsmx.com/blog/how-can-opsmx-assist-weaveworks-customers/
Will look into the comparison blog for accuracies and update

I apologize if I misinterpreted anything, it is OK if you change your stance 👍  glad that Open CD and OpsMX want to join us here

OK if I rebase this one on #1826 so that we don't get a conflict in the backport 👀

@stefanprodan We are an Open CD company and our commitment to open source CD Platforms remains central to who we are.  After talking to several flux users and accessing our long term capabilities/constraints we  decided that  supporting Flux is the right direction in our journey. I shared  our intent and thinking  behind it in this blog https://www.opsmx.com/blog/announcing-opsmx-support-for-cncf-flux-an-important-step-for-open-cd/
Would love to hear your thoughts and happy to elaborate more.


Support scroll-requests on AWS ElasticSearch

To avoid a problem with = characters in scroll_id values, use the
request body, not the query string, to pass scroll_id values to Amazon
ES.
(Source)

This change utilizes a POST request to ensure the scroll_id is submitted properly on AWS and the scroll request will not fail with {"message":null}.

Closing this PR. I have cherry-picked this change and applied a few changes to make it compatible with ES 1.x


Partially-applied type constructors as validator functions?

I wanted a way to define that particular types of Fieldset should have a particular set of fields, and came up with this:
const Type = require("union-type")
const Input = Type({Text: [String, String]}) //fieldname, value
const Fieldset = Type({Contact: [Input.Text('Name'), Input.Text('Work Email')]})
const c = Fieldset.Contact(Input.Text('Name', 'Ted'), Input.Text('Work Email', 'ted@example.net'))

Hoping that since Types double as constructors and validator functions, that a partially applied Type could work as a validator that required the partially applied values. But obviously they don't.
Was that a crazy thing to hope for? Is there a better way to solve my problem?

This should work.
const Type = require("union-type")
const Input = Type({Text: [String, String]}) //fieldname, value
const Fieldset = Type({Contact: [Input.Text, Input.Text]})
const c = Fieldset.Contact(Input.Text('Name', 'Ted'), Input.Text('Work Email', 'ted@example.net'))

But if Fieldset should always have the labels "Name" and "Work Email" then I don't think it makes sense to include them. They're constants. You might do this:
const Type = require("union-type")
const Fieldset = Type({Contact: [String, String]})
const c = Fieldset.Contact('Ted'<EMAIL_ADDRESS>
If fieldsets can have different labels in other cases you could do this:
const Type = require("union-type")
const Input = Type({Text: [String, String]}) //fieldname, value
const Fieldset = Type({FieldPair: [Input.Text, Input.Text]})
const ConcatFieldset = (name, email) =>
  Fieldset.FieldPair(Input.Text('Name', name), Input.Text('Work Email', email))


unreads: Support removing read flag from stream messages.

Issue: #4600

Thanks @WesleyAC !

With what it looks like the API is going to become (reusing the unreads data structure from the /register response), we'll be taking in the same data here that's handled in the REALM_INIT case. So you'll want to factor that out and reuse it.
See also the commit message of 5725e7d8f375f2feba6e0116d1f5dc78afda4cf3 (which added that) for some reasoning that drove the design of that bit of code, and can be useful for processing other data, particularly into complex data structures like from Immutable.

This point might become moot with that API change, but FFR: for using Immutable.Map#update, see the updateIn call in the EVENT_NEW_MESSAGE case above. (In addition to updateIn itself being handy, the use of default arguments cleans it up a bit.)

An Immutable nit: the documented usage is to write just Immutable.Map() (and similarly List etc.), with no new.

I also agree with Anders's suggestion to avoid mergeDeepWith because it lacks effective types.

Ok, I think this should be ready for review! It's not using the new API (since I think we'll want to support the old one as well, so that we can support mark-as-unread on mobile on old servers).
Other than that, I think I got to all of your comments @gnprice :)

Do we also need to do something to state.flags.read, in flagsReducer? If so, see also a potential oddness in how we're currently handling UPDATE_MESSAGE_FLAGS there: https://chat.zulip.org/#narrow/stream/378-api-design/topic/UPDATE_MESSAGE_FLAGS.20.60all.3A.20true.60/near/1222451

Revision pushed — I still need to add the test case you mentioned, and update the mentioned messages datastructure (as mentioned in person), will also bump this once I do that.

Thanks for the revision! I took a look although there are still more changes you plan to make. All looks good modulo the two things you mentioned:

I still need to add the test case you mentioned, and update the mentioned messages datastructure (as mentioned in person), will also bump this once I do that.

plus one commit-message comment: should mention the issue, #4600.

Getting back to this, I'm having a hard time remembering/parsing what the test you wanted added is, @gnprice. You wrote:

One bit that would be good to include in a test case is that the IDs for a given conversation should be sorted, even if that means they're interleaved with the existing ones.

In reference to to the 'when operation is "remove", add stream message to unreads' test. What does "interleaved with existing ones" mean in this context? Were you referring to the message IDs in the message_info_dict as possibly being interleaved? If so, it looks like I did fix that at some point. Let me know if there's anything you're still unhappy about regarding the tests :)

@gnprice should be all working and ready for review now!
It's stacked on top of #5227, since one of the lints in unreadModel.js has the problem where prettier and prettier-eslint disagree.
I've tested this with a dev server running https://github.com/zulip/zulip/pull/18743 and it works fine, in addition to the automated tests.

Updated!

Switched to use new API
Removed "Fixes" from commit message
Changed mentions test in the way you suggested (not re-adding a already-unread mention)
Added links to API docs
Added comment about what server version message_details was added in
Added warnings for events without message_details.

Should be ready for another look @gnprice

Ok, @gnprice, I think I addressed all that :)

Added a message with ID 100 in the test that starts out unread.
mentioned is now optional true instead of required boolean
type is now 'stream' | 'private'
Uses the new new API, with a user_ids array
Now implemented for PMs (as a separate commit)

Still to do:

Huddles
Clean up tests a bit (so I don't have to stick ownUserId: eg.selfUser.user_id everywhere)

Well, manual testing found a server bug: https://github.com/zulip/zulip/issues/22164 The server will cheerfully mark the same messages unread again and again. In this version, that shows up as the unreads count in our inbox view / main screen getting bigger and bigger, because we get duplicates in our list of unread message IDs for the conversation.
The server should get fixed, but we should perhaps also work around it ourselves. Basically this expression: oldUnreadMessages.concat(newUnreadMessages).sort() should instead do a merge of those two lists -- they're both already sorted -- and whenever they have an element in common, it should take that only once. A bonus is that should be a linear-time algorithm, whereas the current version (though more concise) is $ n \log n $.
My testing was for stream messages, but I assume the same server bug applies to PMs. We should therefore handle it there too.

I discovered one further bug in this code while writing the group-PMs version just now. Added as another commit in this branch:

unread: Fix sort on marking 1:1 PMs unread
This was an Array#sort call without arguments, which falls into
a classic JS gotcha: it sorts by string value, even for numbers,
so 100 sorts before 2.
Fix the logic, and add a test.
There are similar-looking calls ….sort() in the corresponding
code for stream messages in unreadModel.js.  But those do
correctly sort by numeric value, because the receivers of those
method calls are Immutable.List values, and those have the
good semantics.
Happily, the stream-messages code also already has a test
exercising the sort.  So if we had had a bug like this there,
we'd have caught it thanks to the test.  (In fact the way I found
this bug is that I was writing the comparable logic for group PMs,
and did write a test exercising the sort, and it failed.)

OK, I'm going to:

merge this change;
and then send a PR with my further changes mentioned above to support group PMs, and changes I wrote yesterday to work around that server issue zulip/zulip#22164 .

Thanks again @WesleyAC for your work on this!


Event not working

Describe your problem here.
The script is:
			case 'Dodge':
				dodgeImage = new BGSprite('sword', 0, 0);
				dodgeImage.visible = false;
				add(dodgeImage);

				new FlxTimer().start(0.1, function(tmr:FlxTimer)
					{
						dodgeImage.visible = true;
					});

				new FlxTimer().start(1, function(tmr:FlxTimer)
					{
						if (FlxG.keys.justPressed.SPACE)
							{
								dodgeImage.visible = false;
								boyfriend.playAnim('dodge', true);
							}
							else {
								health -= 2;
								vocals.volume = 0;
								doDeathCheck(true);
							};
					});

the errors are:
source/PlayState.hx:3040: characters 5-15 : Unknown identifier : dodgeImage
source/PlayState.hx:3041: characters 5-15 : Unknown identifier : dodgeImage
source/PlayState.hx:3042: characters 9-19 : Unknown identifier : dodgeImage
source/PlayState.hx:3042: characters 9-19 : For function argument 'Object'
source/PlayState.hx:3046: characters 7-17 : Unknown identifier : dodgeImage
source/PlayState.hx:3053: characters 9-19 : Unknown identifier : dodgeImage

Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
Yes, i edited PlayState.hx and tried to add a new event

dodgeImage = new BGSprite('sword', 0, 0);

should be
var dodgeImage:BGSprite = new BGSprite('sword', 0, 0);

ok

lemme try

ok, no errors! thx!

wait

the space thing is not working

You use the update function when checking for inputs, not a timer

the space thing is not working

3 months of source coding?  You need to learn more.

BGSprite is used for backgrounds, you literally need to stop capping young man.

3 months of source coding?
Second of all, I can show you proof that I HAVE been working on a mod for 3 months.

3 months of source coding?  Second of all, I can show you proof that I HAVE been working on a mod for 3 months.

If you're SO ADVANCED in coding why did you steal the script? I don't need a fake proof sorry.

If you're SO ADVANCED in coding why did you steal the script? I don't need a fake proof sorry.

did I say I was advanced?

If you're SO ADVANCED in coding why did you steal the script? I don't need a fake proof sorry.

did I say I was advanced?

You said

with UPPERCASE.

But did I say I was advanced?

So just leave me alone


How to use it in dapps

I read the mirror article about this wallet and

So similar to Metamask, you'll have only one selected account and one selected network at a time. The difference is that websites can directly query this information from your wallet, so the connect request has been removed. Now differently than the other wallets, websites will only get your selected address and not all addresses in your wallet. This behavior is mainly for privacy since I don't know why websites should be able to fingerprint you.

So how's the website get your information? and how should I use it in dapps like uniswap

Oh ok got it. I guess I need to remove metamask before using clear wallet otherwise the env would still be metamask's. Thanks for the clear and detailed explanation!


The OSLC discovery classes should be implemented as a facade on their RDF KB

Each OSLC discovery class (RootServices, ServiceProviderCatalog, ServicesProvider, Service, CreationFactory, QueryCapability, Dialog, etc.) should be a simple facade on the reflib.js knowledge base internal representation of their RDF resources. These should all be subclasses of OSLCResource. Then accessor methods for the standard OSLC properties should be implemented as simple queries on that KB.

rdflib.js kb.query is asynchronous only. So it is necessary to use the(), any(), each() and/ore statementsMatching() with nested for loops to implement the ServiceProvider accessor methods. This is because we know the Service resources are inlined in the RDF resource representation.

Done. There are additional accessor methods that should be added to RootServices, ServiceProviderCatalog, and ServiceProvider, the ones implemented are were the ones needed to get the test programs working. And additional testing should be done to ensure the oslc-client works with all the jazz.net apps, not just RTC. But this can be handled with more specific issues as and when needed.


Issue: VentoyGUI missing & no app shortcut created..

After installing ventoy or ventoy-full, no app shortcut is created in the app menu. (Rebooting does not fix the problem!)
VentoyGUI seems to be missing completely, I can't even start it from the console.
Check: https://www.ventoy.net/en/doc_linux_gui.html
I am using Gnome on the latest NixOS (23.11).
Plus, could someone explain the difference between the two packages?

The only difference between ventoy and ventoy-full is that the -full version has support for a few additional features: https://github.com/NixOS/nixpkgs/blob/ac9ae3e1f8c1504b2a55ad6b67b4794d56ebc978/pkgs/top-level/all-packages.nix#L2135-L2141
It looks like the GUI isn't enabled for either version, as either withGtk3 or withQt5 is required to enable that.
You should be able to enable the GUI in your own version by using:
# either ventoy-full or ventoy
pkgs.ventoy-full.override {
  # either withGtk3 or withQt5
  withGtk3 = true;
}

Thanks, I managed to do it by adding your code inside round brackets (...) inside systemPackages.
Such options should be simply added to the package description directly ( https://search.nixos.org/packages ).
There is no need to make an extra wiki page for such a small (but also important) option, do you agree :) ?
environment.systemPackages = with pkgs; [

    # either withGtk3 or withQt5
    (pkgs.ventoy.override { withGtk3 = true; })

];

After adding withGtk3 = true; an application shortcut was created, but if I click on it nothing happens.
Also if I try to launch from the console, nothing happens. No error messages.
Adding sudo does not fix the problem..

Idealy, if someone is using Gnome (or any GTK based Desktop environment) then withGtk3 should be enabled automatically and if someine is using KDE then withQt5 should be enabled automatically.

It would also be nice if ventoy & ventoy-full are updated to v1.0.97 :)
Check: https://github.com/ventoy/Ventoy/releases


Bibliography

Dear Federico,
I wanted to have the name of the authors and the publication year in the text. I made 3 small changes to the file "kaobook.cls"
\RequirePackage[
... deleted stuff ...
citestyle=numeric-comp,  CHANGED TO citestyle=authoryear,
bibstyle=numeric,        CHANGED TO bibstyle=authoryear,
sorting=none,            CHANGED TO sorting=nyt,
... deleted stuff ...
]{biblatex}
This gave me the desired effect :-)
One questions:
Now, it is only the year that is highlighted in green and clickable.
Is it possible to have an option that makes the author name also highlighted and clickable.
Regards,
Hossein Jorjani

I'm glad you have achieved that. As regards your question, I can point you to this post on tex.SE:
https://tex.stackexchange.com/questions/1687/hyperlink-name-with-biblatex-authoryear
I copied-and-pasted the code from the accepted answer into the file kaobook.cls, right at the end of the bibliography section, and the names became highlighted and clickable. Please let me know if this is what you need.
Regards,
Federico

Closing this since the OP communicated me that the problem is solved.


Update to final CQL2 spec

This is waiting on the OGC release of CQL2.
Status as of Sept 2023:

https://github.com/opengeospatial/ogcapi-features/issues/824#issuecomment-1738207283

Are we waiting this release to update the InBetweenPredicate example ?
It should be a 3 items array operator:
{
  "filter-lang": "cql2-json",
  "filter": {
    "op": "between",
    "args": [
      { "property": "eo:cloud_cover" },
      0, 50
    ]
  }
}

No, that was just overlooked.

Any update on this? The Spec seems to be public https://www.ogc.org/publications/standard/cql2/


Few Improvements on getBasicUserInfo api response

Is your suggestion related to an experience ? Please describe.
We send below response when we call getBasicUserInfo()
{
  "allowedScopes": "openid",
  "sessionState": "977a152b3dc3584de549f150aed85d8e1a5bb62bc1e73d0c6f3516a69b608a1d.hsMArR21vaiMKvTRNgZ1Bw",
  "username"<EMAIL_ADDRESS>  "country": "Sri Lanka",
  "email"<EMAIL_ADDRESS>}

Describe the improvement
If we check the response send in getBasicUserInfo(), and since this is a user information related API response,

We should not send allowed scopes and sessionState along with this getBasicUserInfo() response. We can send those using other data models.
We should send 'sub' claim in this response.  We are assuming that  sub=username.

sub was added to the response with the following PRs.
asgardeo-auth-js-sdk - https://github.com/asgardeo/asgardeo-auth-js-sdk/pull/163
asgardeo-auth-spa-sdk - https://github.com/asgardeo/asgardeo-auth-spa-sdk/pull/64
asgardeo-auth-react-sdk - https://github.com/asgardeo/asgardeo-auth-react-sdk/pull/66
asgardeo-auth-angular-sdk - https://github.com/asgardeo/asgardeo-auth-angular-sdk/pull/105

Closing this issue since asgardeo-auth-angular-sdk will be deprecated and archived.


masm supposed?

I am trying to translate this project:
https://github.com/Gbps/gbhv

Anything with assembly is not supported. I can't imagine it ever will be because of the complexities associated with asm in go.

凹


[FIX] Total Contributors Not Showing

Not showing total contributors.

Hey @Sing-Li, Can you check this?

This a good fix to show the number of contributors that is actually hidden by the white text color

This is "by design".  Please take a look at the already merged PRs and previous issues to understand the reasons.
Closing this.


Bad performance of getAccountByHomeId with  persistance (redis) storage

Core Library
MSAL Node (@azure/msal-node)
Wrapper Library
MSAL Node Extensions (@azure/msal-node-extensions)
Public or Confidential Client?
Confidential
Description
When trying to implement redis cache, we realised really bad performance:
getAccountByHomeId is loading all accounts from storage (in our case redis) and then doing an Array.find in nodejs.
This approach works, however with several hundreds logins stored in single key in redis, it pulls all from redis in database (could be several megs of data)  and then performs quite expensive filter in memory. As result of this the servers might suffer with big RAM / CPU spikes.
https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-node/src/cache/TokenCache.ts#L129
in case of external storage it would be better to allow search in external storage by key by passing home id to beforeCacheAccess function and use advantage of search in external storage, instead of doing this in memory.
Source
External (Customer)

@petermilan indeed, performance wise it would be better to scope the msal instance to each request and load only the current users cache into the memory -did you had a chance to see the RedisTestApp sample?

I checked the redis test app, but it is using same function https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/samples/msal-node-samples/RedisTestApp/src/AuthProvider.ts#L290 which loads whole cache  in memory and then looks for single token like I mentioned in my first comment:
            const tokenCache = await msalClient.getTokenCache();
            const account = await tokenCache.getAccountByHomeId(req.session.account.homeAccountId);

@petermilan that's right, but if you also look at the partitionManager.js in the sample app, you'll see it only gets the current user's (session's) cache blob from redis -so in effect the tokenCache contains only one set of tokens.


Invalid ftp link in Math/Nonlinear.mo

Reported by @d94pn on 2017-05-02T11:06:14+01:00
Hello,
The following FTP link is obsolete:
Math/Nonlinear.mo
ftp://ftp.inf.ethz.ch/doc/tech-reports/1998/306.ps

Migrated-From: https://trac.modelica.org/Modelica/ticket/2186

Resolved in master,


Trait lookup works on an array but not on a struct

Aim
I want to have a trait and use it's methods consistently, but I can't call them when I implement by trait on a struct.
Expected Behavior
Here is the code:
use dep::std::unsafe::zeroed;

struct Struct {}

global BYTES32_LENGTH = 32;
type Bytes32 = [u8; BYTES32_LENGTH];

trait Serde<LEN> {
    fn deserialize(_data: [Field; LEN]) -> Self;
}

impl Serde<BYTES32_LENGTH> for Bytes32 {
    fn deserialize(_data: [Field; BYTES32_LENGTH]) -> Self {
        zeroed()
    }
}

global STRUCT_SERIALIZED_LEN = 0;

impl Serde<STRUCT_SERIALIZED_LEN> for Struct {
    fn deserialize(_data: [Field; STRUCT_SERIALIZED_LEN]) -> Self {
        zeroed()
    }
}

fn main() {
    let _: Struct = [].deserialize();
    let _: Bytes32 = [1; 32].deserialize();
}

For some reason - the second line in main is OK while the first one is a compilation error
Bug
error: No method named 'deserialize' found for type '[Field; 0]'
   ┌─ /Users/leonidlogvinov/Dev/ZK/trait_repro/src/main.nr:29:22
   │
27 │     let _: Struct = [].deserialize();
   │                      -----------------
   │

To Reproduce

Try to compile this code

Project Impact
Nice-to-have
Impact Context
Makes traits harder to use - causes worse code quality and hurts maintainability
Workaround
Yes
Workaround Description
Use syntax like: Struct::deserialize
Additional Context
No response
Installation Method
Binary (noirup default)
Nargo Version
0.28.0
NoirJS Version
No response
Would you like to submit a PR for this Issue?
None
Support Needs
No response

impl Serde<STRUCT_SERIALIZED_LEN> for Struct {
    fn deserialize(_data: [Field; STRUCT_SERIALIZED_LEN]) -> Self {
        zeroed()
    }
}

fn main() {
    let _: Struct = [].deserialize();
    let _: Bytes32 = [1; 32].deserialize();
}

The error here is because you're implementing the trait for the self type of Struct but the self type on the method is an array instead. So the compiler doesn't find an impl when it sees [].deserialize() and looks for impl Serde<?> for [?; 0].
I'm not sure why the compiler mentions the type as [Field; 1] in the error message instead though when the length is zero.

I think what is going on internally is that impl Serde<BYTES32_LENGTH> for Bytes32 is being selected using the object type of the literal: [<integer type variable>; 32] since integer literals are polymorphic in Noir. I've confirmed that this type variable is being correctly bound to a Field type. It's possible we're using the object type as the Self type only as a hint of sorts which could be why it's throwing off the search in the first case but still binding to the Field type in this case. That's just a guess though - there could be a few reasons for this (I could also be wrong).
Yes, and we already do so when you call e.g. Default::default(). I think it is the object type not being the same as the Self type that is throwing things off here. For now the workaround is to use the Trait::method(args) syntax when self is not the first parameter.

Also - looking at your trait definition:
trait Serde<LEN> {
    fn deserialize(_data: [Field; LEN]) -> Self;
}

We're in the process of implementing arithmetic on numeric generics: https://github.com/noir-lang/noir/pull/4958 which should hopefully greatly help here when implementing Serde on generic types. This was actually the inspiration for this feature - we've had other users trying to implement (de)serialization as well and they've quickly hit this wall. Another thing that'd be nice to have that Noir doesn't have yet is associated constants:
trait Serde {
    let LEN: u64;
    fn deserialize(_data: [Field; Self::LEN]) -> Self;
}

Since you shouldn't be able to implement Serde twice for the same object type but different lengths (this helps type inference as a well).


Https - to open a local manifest.plist

Hi Thanks for the module
Is their any way to create a https server
as I would like to open a web view with a link to open locally stored manifest file that can install an app.
itms-services://?action=download-manifest&url=https://<IP_ADDRESS>:8080/manifest.plist
for example
Thanks in advance.
:0)

Unfortunately GCDWebServer doesn't support https.

@fchasen Hello! Is it support now?


[Snackbar][Alert] the Alert outline variant bleeds background content

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
when you use Snackbar and the outlined Alert component together, underlying content is likely to bleed into the snackbar due to missing background color
Expected behavior 🤔
the outlined Alert to have a solid background
Steps to reproduce 🕹
Steps:

create a Snackbar component with outlined Alert as child
place it above some content

Context 🔦
No response
Your environment 🌎

`npx @mui/envinfo`
 System:
    OS: macOS 12.3.1
  Binaries:
    Node: 16.14.2 - ~/.nvm/versions/node/v16.14.2/bin/node
    Yarn: 1.22.18 - ~/.nvm/versions/node/v16.14.2/bin/yarn
    npm: 8.5.0 - ~/.nvm/versions/node/v16.14.2/bin/npm
  Browsers:
    Chrome: 101.0.4951.64
    Edge: Not Found
    Firefox: 99.0.1
    Safari: 15.4
  npmPackages:
    @emotion/react: 11.8.2 => 11.8.2
    @emotion/styled: 11.8.1 => 11.8.1
    @mui/base:  5.0.0-alpha.76
    @mui/icons-material: 5.6.1 => 5.6.1
    @mui/lab: ^5.0.0-alpha.80 => 5.0.0-alpha.80
    @mui/material: 5.6.1 => 5.6.1
    @mui/private-theming:  5.6.2
    @mui/styled-engine:  5.6.1
    @mui/system: 5.6.1 => 5.6.1
    @mui/types:  7.1.3
    @mui/utils:  5.6.1
    @mui/x-date-pickers:  5.0.0-alpha.0
    @types/react: 17.0.45 => 17.0.45
    react: 17.0.2 => 17.0.2
    react-dom: 17.0.2 => 17.0.2
    styled-components: 5.3.5 => 5.3.5
    typescript: 4.6.3 => 4.6.3

All outlined components have transparent background, this is the definition of the outlined variant. For your scenario, I would recommend using the palette.background.paper, for example:
<Alert sx={{ bgcolor: "background.paper" }} variant="outlined">
  ...
</Alert>

thanks for the reply @mnajdova . It would be good to have a small note in the snackbar documentation when using Alert


add new option

You can set viewPath via application config:
'modules' => [
    'bidashboard' => [
        'class' => 'sadi01\bidashboard\Module',
        'viewPath' => '@app/path-to-your-views'
    ],
],


VWAP fetcher & Weighted median

VWAP fetcher
Weighted median price

I am a bit worried about storing all the trades in past hour and sorting them.
One optimization is merge trades with in a minute into a single bucket to reduce number items in memory.

Only new data is sorted but anyway aggregate into minutes will make a huge difference

Yeah we don't really care too much about precisions.

merged trades within 20sec

There is no need to re-aggregate on every feed. We can simply add the the value to last bucket or start a new bucket and pop first bucket
But I think what we have is good enough for now

we aggregate only new data


Ella -> core + plugins

We need to decide on conventions for ella plugins and which modules will be kept in core after the process. Seems like the only module with direct ties to core should be photos (where I would highly appreciate to use some interface to allow for sorl-thumbnail as I stated before).
Moreover, it is needed to decide on who will do the thing. In Fragaria, we would like to handle polls, since we use them quite often. Major refactoring will be most likely included even though we originally proposed to postpone it.
@whit said, he would like to keep following naming convention for all ella plugins: ella_[PLUGIN_NAME].
So there would be ella_articles, ella_polls etc.
This leads to some minor troubles with DB table names and references in the code itself. There will have to be migrations to rename all the tables.
Please, share your opinions here. We would like to start working on this next week.

See #56 too.

Why sorl-thumbnail? it doesn't do anything ella's formatter doesn't do. I am not against it, any added flexibility is nice, but I am yet to see a valid reson for this.
I am for maintaining articles in core, they are very small and cms without articles make no sense at all. (InfoBoxes however should go).
Also I am absolutely fine with just the packages being called ella_* and the app names remaining without change - there is absolutely no need to have the word absoluteley everywhere.

sorl-thumbnail is much cleaner and easier to use for target group - coders/designers. My experience with Ella's formats is that to maintain more than single site (cleanly) is practically impossible. There are much duplicities, one must be care of format naming, will have formats that differs in only once boolean parameter etc.
With sorl, designer have good, descriptive snippet in code and may not be interested in anything else (db, admin...).
I propose to keep only few named format shortcuts for easier redaction (big/small square/rectangle etc.) on top of sorl (or similar app).
Also I think that ella.photos should be replaceable or refactored with respect to basic categorization and multiple sites.

I agree, almost completely with @whit. The main issue here is that we simply don't need Ella's formater, why for god's sake? There is simply no need to maintain our solution where there is a superior one. The switch is nothing painful and sorl provides so so many more features than Ella does (like exceptionaly great dummy images for the means of development)...
Let's do it the way @whit proposed, create some simple wrapper over the sorl.

I agree on keeping articles in core. @HonzaKral is right that CMS without articles is hard to call a CMS...

Well, you can use sorl easily without using formatedPhot - just use the Photo model and sorl-thumb. Just please leave the formatting stuff in there, until sorl can figure out how to easily do important_box, manually override crop coordinates for individual formats or upload entirely different files for any format we need the current functionality to remain.
btw for dummy images, just use http://lorempixel.com/ :)
To sumarize: I am OK with the possibility to use sorl on top of the Photo model, but I want to keep Formats and FormatedPhoto with current features. If you provide another API for solr or a switch to use sorl as a backend thats great, but don't take my features away please.

We personally found out, that most of stuff current formatter allows is hardly ever required as writers tend to force us to turn of all cropping completely beacuse they are unable to have full control over the photo look. We can keep it, but were mostly likely aren't gonna use it anyway.
For dummy images, have look here, it's quite a big improvement for development process :)

Article
I'm for maintaining articles separately from core. Is there any reason to be part of core? If not, then let's make project transparent and keep core as small as possible. I can imagine article-less Ella project using only photo-galleries.

I prefer naming convention like ella_[PLUGIN_NAME], so it's transparent for developers. Also module names will be more unique with ella_ prefix so there are no conflicts with external apps.

@martinbilek  Articles are one model and that's it - to maintain that as a separate project seems like a huge overkill. Also I like the idea that we have a bare-minimum example of a Publishable object in ella proper.
That being said, do with it as you please, I can always create my own app containing one model and if articles are no longer in ella, I can create it exactly as I would want it to look :)

If we keep it separate, it would be cleaner in principle of divided core and plug-in system. But still, it feels more logical to keep it in core since this app is used in 99% of Ella projects (I have actually never seen a one not using it).
This would make only these parts of core:

real core itself
photos
utils - which need a major cleanup, lot of mess in there
articles

As for naming conventions, I vote for renaming apps not only as packages (we would have to get rid of ella. prefix anyway), but also in the code itself. It's just cleaner and more readable for users not mentioning it's more conflict-prone as @martinbilek said. We can keep the table names even though I would be happier if we provided migrations to alter these too.

I also vote for keeping positions in core as it's used in almost every Ella project.

If article will be part of core, than positions also make sense to be part too. There is planned meeting on Thursday with @whit, so we will make a decision.

yep, core, photos, articles and positions seem good choices to me.

Imports now live in https://github.com/ella/ella-imports.
Galleries now live in https://github.com/ella/ella-galleries.

Comments now live in https://github.com/ella/ella-comments.

Polls now live in https://github.com/ella/ella-polls.

Related were finally solved by using following changes:
Related finders
We use so called RELATED_FINDERS. These are functions, that know how to find objects related to another object and have following signature:
def related_finder(obj, count, mods=[], only_from_same_site=True):
    ...

Related finders are defined in application settings using RELATED_FINDERS and DEFAULT_RELATED_FINDER attributes. Defaults are set like this:
RELATED_FINDERS = {
    'default': 'ella.core.related_finders.related_and_category',
    'directly': 'ella.core.related_finders.related_only'
}
DEFAULT_RELATED_FINDER = 'default'

RELATED_FINDERS are be named. More on this later.
Related manager
RelatedManager's get_related_for_object method has been updated to accept finder parameter which defaults to DEFAULT_RELATED_FINDER. Instead of doing all work by itself, it proxies the logic to the chosen finder.
Related template tag
related template tag has been updated to allow for specifing named finder when required. This enables a lot of custom querying super simple way, e.g.: by author, by source... Everything that comes to mind by simply defining a custom function :) Cute - isn't it?
Example usage:
{% related 10 directly articles.article, galleries.gallery for object as related_list %}

Ella plugin integration
Plugins can easily create their own finders and therefore, it is super simple to replace/update related logic. Only required action is to list the used finder in application settings as stated above. This will be used in ella_tagging project so that with_tagging finder that also uses tags is gonna be defined.
Utility for creating custom related
I have also added function fillup_from_category which accepts related list and all parameters in the same way as normal finders do and fills up the incoming related list with objects listed in same category if there is not enought items to fullfill prescribed count parameter. This simplifies the creation of custom finders.

Please, share your thoughts and see 6fc3180.

Tagging now lives in https://github.com/ella/ella-tagging.
This was the last module to leave the core. Core is nice and slim project now. Looks like we are done here!

I would like for the related finders to be a list so if I want 10 related and the first function only gives me 5, only then will the second function be run.
Then I can integrated with tagging, search (see more_like_this functionality in haystack) etc.
great work everyone, I like our new Ella :)

@HonzaKral that sounds even better, I'll update the solution to behave like you described.

Done. Now, related finders are defined like this:
RELATED_FINDERS = {
    'default': (
        'ella.core.related_finders.directly_related',
        'ella_tagging.related_finders.related_by_tags',
        'ella.core.related_finders.related_by_category',
    )
}

Each function has signature:
def related_finder(obj, count, collected_so_far, mods=[], only_from_same_site=True):
    ....

Where collected_so_far is list containing objects already collected during the process. Each function is now responsible only for it's part, e.g. tagging app only provides search by tags and doesn't care about the rest.
This whole stuff now enables simple custom fallback and great flexibility!

Closing, solved.


DELIA-43653 : Add Dolby MS12 APIs to displaysettings plugin

Reason for change: 1) Added dolby APIs mentioned in the ticket
2) Added Volume gain and level adjustment APIs
3) Modified existing dolby APIs to take audioPort arg,
default is HDMI0
Test Procedure: Verify using curl commands
Risks: None
Signed-off-by: Deekshit Devadas<EMAIL_ADDRESS>RDK-29271 : DisplaySettings Thunder plugin changes
Reason for change: Added Mute and volume control
APIs
Test Procedure: Verify volume control on amlogic
platform using curl commands
Risks: None
Signed-off-by: Deekshit Devadas<EMAIL_ADDRESS>

https://jenkins.code.rdkcentral.com/job/github-triggered/2835/ started

https://jenkins.code.rdkcentral.com/job/build-component-rdk-next/19625/ started.

Smoke tests for ['build-qemux86-hyb-rdk-next'/'build-qemux86-mc-rdk-next'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/60050/

Smoke tests for ['build-rpi-hybrid-refapp-rdk-next'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/60051/

Smoke tests for ['build-rpi-hybrid-wpe-rdk-next'/'build-rpi-mc-wpe-rdk-next'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/60052/

Smoke tests for ['build-rpi-hybrid-thunder-rdk-next'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/60053/

@ddevad,
Please update the JIRA ticket to DELIA-42642. DELIA-43653 is not approved by RM.

https://jenkins.code.rdkcentral.com/job/github-triggered/2961/ started

https://jenkins.code.rdkcentral.com/job/build-component-rdk-next/19900/ started.

build-rpi-hybrid-wpe-rdk-next Console Log uploaded to Gist URL: https://gist.github.com/cd0eafe4c70a6c58238b91d5b3baf34a

build-rpi-hybrid-refapp-rdk-next Console Log uploaded to Gist URL: https://gist.github.com/f03fe4639ac20e9ce2fee1ddc4b3fb9f

build-rpi-mc-wpe-rdk-next Console Log uploaded to Gist URL: https://gist.github.com/2bd165997071566b90f9df8d277f4396

Changes were committed as part of https://github.com/rdkcentral/rdkservices/pull/211 which included these changes.  Closing this PR so as not to create confusion.


Provide ARM64 support

Epic Description
We want to provide out-of-the-box support for ARM64. Submariner should just work on ARM64 nodes, with no special configuration by the administrator or end-user.
Acceptance Criteria

[ ] All the Submariner components can be deployed on ARM64 nodes
[ ] All the Submariner components work with each other regardless of individual nodes’ architectures (e.g. an x86 route agent connected to an ARM64 gateway, or failover from an x86 gateway to an ARM64)
[ ] Submariner gateways can connect to other-arch gateways

Definition of Done (Checklist)

[ ] Code complete
[ ] Relevant metrics added
[ ] The acceptance criteria met
[ ] Unit/e2e test added & pass
[ ] CI jobs pass
[ ] Deployed using cloud-prepare+subctl
[ ] Deployed using ACM/OCM addon
[ ] Deploy using Helm
[ ] Deployed on supported platforms (for e.g kind, OCP on AWS, OCP on GCP)
[ ] Run subctl verify, diagnose and gather
[ ] Uninstall
[ ] Troubleshooting (gather/diagnose) added
[ ] Documentation added
[ ] Release notes added

Work Items

[x] ensure all our dependencies are available on ARM64;
[x] ensure we can build all our artifacts for ARM64;
[ ] ensure the images we push provide multi-arch manifests;
[ ] run tests on all the platforms we care about (assuming we have GHA support for them).

This is blocked on re-reviews.

https://github.com/submariner-io/lighthouse/pull/694 was already on the board, I’ve added https://github.com/submariner-io/subctl/pull/66. I’ll keep pinging people until they are merged.
Let’s keep this open until it’s all done...

@skitt I think it's done now?

I want to check the output of subctl diagnose and subctl gather to see if we need to add anything there. The documentation might need to be updated too.

@skitt I think it's done now?

I want to check the output of subctl diagnose and subctl gather to see if we need to add anything there. The documentation might need to be updated too.

Makes sense. Thanks for thinking about these. In general, I think it's better to open individual issues to track concrete, small tasks (once we know what they should be). Things tend to get lost within big epics.

Tracked in https://github.com/submariner-io/subctl/issues/122, https://github.com/submariner-io/subctl/issues/123, https://github.com/submariner-io/subctl/issues/124, and https://github.com/submariner-io/submariner-website/issues/782.


percent_decode for mysql url

The url crate percent_encode the input string when set_password and set_username, so percent_decode is needed when password and username were got.
And this will fix #871.
https://github.com/servo/rust-url/blob/bb1100baf0873b2502b637d7245088f5d5c00a39/src/lib.rs#L1299
https://github.com/servo/rust-url/blob/bb1100baf0873b2502b637d7245088f5d5c00a39/src/lib.rs#L1351

Note that the default percent encoding of the url crate doesn't encode every special characters in URLs. You need to define your own encoding for them. (For reference: https://github.com/servo/rust-url/issues/353 )
In my experience, Postgres doesn't like having the character $ in the URL; the URL doesn't work if one's password contains $.
Here's an encoding set I defined in my code to circumvent the problem. Feel free to use:
    define_encode_set! {
        // This encode set encodes all the reserved URL delimiters defined
        // in [RFC3986](https://tools.ietf.org/html/rfc3986#section-2.2).
        // Contains the `SIMPLE_ENCODE_SET` and additionally characters :,
        //  /, ?, #, [, ], @, !, $, &, ` , (, ), *, +, ,, ;, =
        pub RESERVED_ENCODE_SET = [SIMPLE_ENCODE_SET] | {
            ':', '/', '?', '#', '[', ']', '@', '!', '$',
            '&','\'', '(', ')', '*', '+', ',', ';', '='
        }
    }

@golddranks Thanks for the heads up :) MySQL seems to like both "$" and "%24" though and this PR is only targeting MySQL
@nottxy Sorry it took so long for someone to have a look at it :/
Also can you add a test that checks that percent decoding is working ? (There are examples at the bottom of the file).

@Eijebong The test has been added

confirmed that it fixes #871

Note that the new PG driver will do URL parsing on our end when it ships, so we will eventually be able to have the behavior of all of these conform to the same thing. The behavior I'm trying to target is roughly "the behavior of libpq, but following the URI standard whenever those two differ"

Guys, Is there any update about this PR?

@sgrif updated


Trying Numba with Grakel (Graph kernel, Random Walk)

Hi, I'm trying to speed up this snippet of code but it's not working. Any suggestion?
I'm using Grakel as library to compute the graph kernel
from sklearn.model_selection import cross_val_score
from grakel import GraphKernel
from grakel import Graph
from sklearn import svm
import numpy as np
import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import dendrogram, linkage
from numba import jit, njit, jitclass
import numba
from numba import vectorize,cuda
import time
...
@numba.jit(nopython=True, parallel=True)
def computeKernelSP(graphs):
    print("-- computing kernel")
    start_time = time.time()
    sp_kernel = GraphKernel(kernel=[{"name": "random_walk"}], normalize=True)
    final =  sp_kernel.fit_transform(graphs)
    print("--- %s seconds ---" % (time.time() - start_time))
    return final

Thanks so much

Thanks for the report. If you are new to Numba, perhaps take a look at the 5 minute guide first and/or click one of the Try Now buttons here http://numba.pydata.org/ to open up an interactive Numba demo in your browser, this one demonstrates the basics.
What you have in the above code cannot be compiled as Numba doesn't know about GraphKernel or grakel in general.

Closing this issue as it seems to be resolved. If this is not the case please re-open with a comment about any item that appears to be unresolved. Many thanks.


Without CUDA

Hi, sorry to bother you. I was unable to install CUDA for CPU acceleration due to linux system limitations. Is there any way to run DeepVelo without using CPU acceleration? Any help would be greatly appreciated.

Hi @LalicJ Thank you for the question! The package is supposed to support running with CPU only. Could you try:

simply run pip install deepvelo as shown here https://github.com/bowang-lab/DeepVelo#installation .
Follow one of the notebooks to run on your data, for example, this one https://github.com/bowang-lab/DeepVelo/blob/main/examples/figure2.ipynb
During the config settings, like this cell in the notebook

Set to use CPU only byconfigs = {
    "n_gpu": 0,
    # followed by other configs
}

Please let me know if this works for you

Thanks for your reply!
Set to use CPU only by
configs = {
"n_gpu": 0,
# followed by other configs
}
It works for me.