littlefs-fuse: 2.7.8 -> 2.7.9

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/littlefs-project/littlefs-fuse/releases.
meta.description for littlefs-fuse is: FUSE wrapper that puts the littlefs in user-space
meta.homepage for littlefs-fuse is: https://github.com/littlefs-project/littlefs-fuse
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.7.9 in filename of file in /nix/store/0yyfib2yacvs2b0qdgmaqsgrxw2fim4f-littlefs-fuse-2.7.9

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

littlefs-fuse

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/0yyfib2yacvs2b0qdgmaqsgrxw2fim4f-littlefs-fuse-2.7.9 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A littlefs-fuse https://github.com/r-ryantm/nixpkgs/archive/bbd051af56deff5de5d35f3aaacb93d49a2612ea.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/bbd051af56deff5de5d35f3aaacb93d49a2612ea#littlefs-fuse

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/0yyfib2yacvs2b0qdgmaqsgrxw2fim4f-littlefs-fuse-2.7.9
ls -la /nix/store/0yyfib2yacvs2b0qdgmaqsgrxw2fim4f-littlefs-fuse-2.7.9/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

littlefs-fuse

Maintainer pings
cc @ehmry for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Upstream squashes git history between releases (with a load of CI noise) and doesn't provide a changelog. I don't want to be the maintainer for this. https://github.com/littlefs-project/littlefs-fuse/issues/75


[Music Player project] Issues in step 62

Describe the bug
The first issue is the challenge expects inline return and doesn't accept the following code:
const shuffle = () => {
  userData?.songs.sort(() => {
    return Math.random() - 0.5;
  });
};

The second issue is the explanation of the sort() method is quite rush. We tell the user how to fix the default behavior of the method by adding a callback with a and b, but we don't explain what they are and how the result of a - b would determine the sort order.
And the instruction of the challenge could be improved a bit. Instead of:

Use the sort() method on the userData?.songs array. For the callback, introduce Math.random(), and subtract 0.5.

We could perhaps change it to:

Use the sort() method on the userData?.songs array. Pass a callback to the method, within the callback, return the result of Math.random() - 0.5.

Affected page
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures-v8/learn-basic-string-and-array-methods-by-building-a-music-player/step-62
Additional context
This was brought up by some campers in Discord:

https://discord.com/channels/692816967895220344/718214639669870683/1190332221110886480
https://discord.com/channels/692816967895220344/718214639669870683/1192118266815062076

(The users didn't elaborate on what's confusing. The issues listed are from me trying out the challenge myself.)

Ya, I ran into this about a week ago. I guess I was too lazy to open an issue though :disappointed:
https://forum.freecodecamp.org/t/learn-basic-string-and-array-methods-by-building-a-music-player-step-62/658928
I think we need to do more than just give them the callback to copy and paste. We need to explain what sort expects the callback to return, which will help make sense as to why we are subtracting 0.5 from random.

I don't think the numbers example here to introduce the sort method is a good one to use here. That example would be better used in the number sorter project later on.
I think this challenge should use a different example to explain the sort method.
Here is my proposal for the updated challenge
--description--
The sort() method converts elements of an array into strings and sorts them in place based on their values in the UTF-16 encoding.
const names = ["Tom", "Jessica", "Quincy", "Naomi"];
names.sort() // ["Jessica", "Naomi", "Quincy", "Tom"]

The sort() method also accepts a callback function which you can use to randomize an array. One way to randomize an array of items would be to subtract 0.5 from Math.random() which produces random values that are either positive or negative. This makes the comparison result a mix of positive and negative values, leading to a random ordering of elements.
const names = ["Tom", "Jessica", "Quincy", "Naomi"];
names.sort(() => Math.random() - 0.5);

Use the sort() method on the userData?.songs array. Pass a callback to the method, and return the result of Math.random() - 0.5.

The sort() method also accepts a callback function which you can use to randomize an array.

To me, this sentence almost makes it sound like randomizing is the purpose of the callback. It is fine to say that you can use the callback to randomize, but it should not be the first mention of what the callback is used for. It is a compare function that defines the sort order.

The sort() method accepts a compare callback function that defines the sort order....some explanation of how it works. It can also be used to randomize an array by...some explanation of how it works.

The MDN page has a tabel which might be useful when explaining the callback.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

I like that approach of introducing sort earlier.
I can work on a PR to update these changes 👍


Question about skip

I want to ask the skip in pruning.py. Why choose these layer to prune? Cause I want to prune my own resnet101 and I wonder if there are any rules about how to choose layers to prune.
Thanks~

Could you point to which prune methods you are using? Or which files you are referring to?

Could you point to which prune methods you are using? Or which files you are referring to?

imagenet/l1-norm-pruning/prune.py
line 131

We are following strictly the pruning rules in the original L1 norm pruning paper. In short, they choose which layers to prune based on their sensitivity.


Fix resize on mobile devices

Will be fixed on version 1.3

We already fix the mobile devices, but, we need run more tests to conclude this issue.

We are running tests on most variable mobile devices to certify everything is fine

We conclude our tests and we finish the validation. All devices must be supported without issues.


can i use multiple emails in Accounts.createUser using simple schema

i have created custom register form and enter multiple email address.
for insert i have user Accounts.createUser but its give error like this
Exception while invoking method 'insertUser' TypeError: Cannot read property '$' of undefined
I20151019-19:48:45.710(5.5)?     at [object Object].Meteor.methods.insertUser (app/server/method/default.js:50:26)
I20151019-19:48:45.710(5.5)?     at maybeAuditArgumentChecks (packages/ddp/livedata_server.js:1617:1)
I20151019-19:48:45.710(5.5)?     at packages/ddp/livedata_server.js:648:1
I20151019-19:48:45.711(5.5)?     at [object Object]..extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20151019-19:48:45.711(5.5)?     at packages/ddp/livedata_server.js:647:1
I20151019-19:48:45.711(5.5)?     at [object Object]..extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20151019-19:48:45.711(5.5)?     at [object Object]._.extend.protocol_handlers.method (packages/ddp/livedata_server.js:646:1)
I20151019-19:48:45.711(5.5)?     at packages/ddp/livedata_server.js:546:1

I would need a full reproduction to debug this, but generally speaking, you need to make any changes to the user schema as necessary based on what your app does and what packages you use. The example in the readme is only to get you started.


SET command allowed for computed globals

This feels like either a bug or just a quirk to mention in the documentation on globals.

EdgeDB Version: 3.0-rc.5+4b31238
EdgeDB CLI Version: 3.1.3+9fdca62
OS Version: Windows 11

Steps to Reproduce:

Create a schema with a type and a computed global:

module default {
  global some_global := (select SomeType);
  type SomeType {
    name: str;
  }
}

Use the SET command to set the global, which returns an OK though nothing is set as this is a computed expression instead of a global scalar that can be set. No errors happen but quietly not setting a value feels less than ideal.

edgedb> select global some_global;
{}
edgedb> set global some_global := SomeType { name := 'Some name' };
OK: SET GLOBAL
edgedb> select global some_global;
{}
edgedb> select SomeType;
{}
edgedb> insert SomeType { name := 'Some name' };
{default::SomeType {id: 2f4fe386-151c-11ee-bb7e-ef002b528044}}
edgedb> select global some_global;
{default::SomeType {id: 2f4fe386-151c-11ee-bb7e-ef002b528044}}
edgedb> select SomeType;
{default::SomeType {id: 2f4fe386-151c-11ee-bb7e-ef002b528044}}

If there's no way to know whether a SET command is being used for a scalar vs. an object then I can just change the documentation to add a note about the behavior.

This seems like a bug to me. Computed things are generally read-only.


[no-master] Fix #2433: Configure automatic CLA check as a GitHub Action.

Backport of e4b6a7eb5faa075cf3ab2f247302a29475dbac60 and 4b13cfe2a1398fc593ad1a54c221406f7af23cdd.
Apparently this needs to be in the 0.6.x branch to apply to PRs made against 0.6.x.

Apparently this needs to be in the 0.6.x branch to apply to PRs made against 0.6.x.

Then why did it run on this PR?

Then why did it run on this PR?

Because that PR adds the workflow script. So when it checks out the copy, it finds a workflow that it knows about (because it's on master) and runs it.
It did not run on the original PR because at the time it did not know about the workflow at all. And it did not run on other 0.6.x PRs because even though it knew the workflow, it was not present in that particular branch.
At least that's how I understood things.


Decoupling the platform from content and data

There has been interest expressed recently in decoupling the platform code from the content and/or data. The main benefit would be a "core" codebase that's separate from forked repositories, but this would also ease various maintenance tasks.
I'm not sure if this approach has already been considered, but since we're using Jekyll, why not implement the platform as a Jekyll theme? Thanks to Github allowing the jekyll-remote-theme plugin, that would allow a good chunk of code to be maintained separately, and automatically update on every deploy. Another great feature of Jekyll themes is that they can be overridden on a file-by-file basis.
Here's a proof-of-concept:

Theme repository - all platform assets and functionality
Content repository - all data, metadata, configuration, and content
Live site - should work identically to current site

This was fairly simple to setup (see the latest commits on the repos). The steps to implement this for real would be:

Transfer brockfanning/sdg-indicators-jekyll over to GSA organization
Create pull-request on GSA/sdg-indicators that removes the files being moved over to the theme, and makes a couple of config tweaks to make it use a remote theme.

@philipashlock @SmithersA Any thoughts?

For a thorough proof-of-concept of another approach, see this issue in the UK platform by @dougmet: https://github.com/datasciencecampus/sdg-indicators/issues/2581
Doug's approach uses git submodules to split out the data and metadata into their own repositories.

Closing - obsolete. :)


[bug] Coverbot.io nxdomains

Looks like the linked URL for api keys doesn't have any actual content.

Site is now deployed :)
https://coverbot.io
https://app.coverbot.io


In Page Search, you cannot copy multiple pages

Confirmed on a fresh install of 8.5.2
When you try to copy multiple pages,
You get Call to a member function isExternalLink() on null error and cannot copy multiple pages.

Now you need to copy pages one by one.. which is kinda troublesome.
The trace

/Users/katz/Sites/c5852/concrete/views/dialogs/page/drag_request.php(78): Error->null |
-- | --
/Users/katz/Sites/c5852/concrete/src/View/View.php(267): null->include |
/Users/katz/Sites/c5852/concrete/src/View/View.php(245): Concrete\Core\View\View->renderInnerContents |
/Users/katz/Sites/c5852/concrete/src/View/AbstractView.php(164): Concrete\Core\View\View->renderViewContents |
/Users/katz/Sites/c5852/concrete/src/Routing/ControllerRouteAction.php(82): Concrete\Core\View\AbstractView->render |
/Users/katz/Sites/c5852/concrete/src/Http/RouteDispatcher.php(37): Concrete\Core\Routing\ControllerRouteAction->execute |
/Users/katz/Sites/c5852/concrete/src/Http/Middleware/DispatcherDelegate.php(39): Concrete\Core\Http\RouteDispatcher->dispatch |
/Users/katz/Sites/c5852/concrete/src/Http/Middleware/MiddlewareStack.php(86): Concrete\Core\Http\Middleware\DispatcherDelegate->next |
/Users/katz/Sites/c5852/concrete/src/Http/DefaultDispatcher.php(125): Concrete\Core\Http\Middleware\MiddlewareStack->process |
/Users/katz/Sites/c5852/concrete/src/Http/DefaultDispatcher.php(58): Concrete\Core\Http\DefaultDispatcher->handleDispatch |
/Users/katz/Sites/c5852/concrete/src/Http/Middleware/DispatcherDelegate.php(39): Concrete\Core\Http\DefaultDispatcher->dispatch |
/Users/katz/Sites/c5852/concrete/src/Http/Middleware/ThumbnailMiddleware.php(76): Concrete\Core\Http\Middleware\DispatcherDelegate->next |
/Users/katz/Sites/c5852/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\ThumbnailMiddleware->process |
/Users/katz/Sites/c5852/concrete/src/Http/Middleware/FrameOptionsMiddleware.php(39): Concrete\Core\Http\Middleware\MiddlewareDelegate->next |
/Users/katz/Sites/c5852/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\FrameOptionsMiddleware->process |
/Users/katz/Sites/c5852/concrete/src/Http/Middleware/CookieMiddleware.php(35): Concrete\Core\Http\Middleware\MiddlewareDelegate->next |
/Users/katz/Sites/c5852/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\CookieMiddleware->process |
/Users/katz/Sites/c5852/concrete/src/Http/Middleware/ApplicationMiddleware.php(29): Concrete\Core\Http\Middleware\MiddlewareDelegate->next |
/Users/katz/Sites/c5852/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\ApplicationMiddleware->process |
/Users/katz/Sites/c5852/concrete/src/Http/Middleware/MiddlewareStack.php(86): Concrete\Core\Http\Middleware\MiddlewareDelegate->next |
/Users/katz/Sites/c5852/concrete/src/Http/DefaultServer.php(85): Concrete\Core\Http\Middleware\MiddlewareStack->process |
/Users/katz/Sites/c5852/concrete/src/Foundation/Runtime/Run/DefaultRunner.php(128): Concrete\Core\Http\DefaultServer->handleRequest |
/Users/katz/Sites/c5852/concrete/src/Foundation/Runtime/DefaultRuntime.php(102): Concrete\Core\Foundation\Runtime\Run\DefaultRunner->run |
/Users/katz/Sites/c5852/concrete/dispatcher.php(45): Concrete\Core\Foundation\Runtime\DefaultRuntime->run |
/Users/katz/Sites/c5852/index.php(3): null->require |
/Users/katz/.composer/vendor/laravel/valet/server.php(158): null->require |

I confirm this happens also when moving (not only copying), well, the error happens before the modal that let's you choose what to do. This is a really big problem for me at the moment.

Fixed on #8291


Maze game Extension

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
User when get bored can play a small game of maze to uplift their mind.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Implement a feature that generates random maze layouts each time a new game starts. This ensures that players encounter fresh challenges and surprises with each playthrough.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
An alternative approach could be to include a few pre-designed maze templates and randomly select one each time the player starts a new game.
Additional context
Add any other context or screenshots about the feature request here.
What problem is this feature trying to solve?
It addresses the issue of monotony by providing players with new and unique maze configurations to explore.
How do we know when the feature is complete?
The feature is complete when the game consistently generates randomized maze layouts that are solvable and offer a varied experience to players.

Already added to my repository #227


Update makefile to check package.json on CI

Closes #303
Updates Makefile for CI, so that all exercise package.json files are checked against the main package.json file.  If they are not identical, the build fails.
NB: since the copy-assignment task already copies the main package.json to a given exercise, and the contributors are meant to run make test, all files should be updated before submission, so I did not make a separate task just to copy the package.json files as was discussed in #303.
Bonus: Looks like we had many exercises that did not have matching package.json files.  This caused the build to fail at first, so I guess the script is working...

:+1: to get some package.json updated. Maybe, they were out of date because the exercises were created just before some versions get updated.
Yeah, the tool seems to work and seems to be useful. :tada:


String format problem with Python 3.6 after deployed

I had upgraded to Python 3.6 with chalice 0.8.2
But the string format between chalice local mode and deployed to AWS is different.
In local, I got the JSON request body using Python3 format.
request_body = urllib.parse.parse_qs(app.current_request.raw_body)
and print it out.
Serving on localhost:8000 {b'brand': [b'svs'], b'model': [b'pb'], b'version': [b'1.1']}
But after deployed it. I got this in cloudwatch,
{'brand': ['svs'], 'model': ['pb16'], 'version': ['1.1']}
Did the request body will be replaced by str type in API Gateway?
The local mode should have the same result of the output with the deployed one.

I can confirm this is an issue, local mode and API gateway have different types.  Using this:

import sys

from chalice import Chalice
if sys.version_info[0] == 3:
    # Python 3 imports.
    from urllib.parse import urlparse, parse_qs
else:
    # Python 2 imports.
    from urlparse import urlparse, parse_qs

app = Chalice(app_name='helloworld')

@app.route('/', methods=['POST'],
           content_types=['application/x-www-form-urlencoded'])
def index():
    body = parse_qs(app.current_request.raw_body)
    print(repr(app.current_request.raw_body))
    print(repr(body))
    return body

You'll get bytes() in local mode on python3 and str() when you deploy to apigateway.  So we have two options:

Update local to ensure raw_body is a str() type.
Update the chalice handler to ensure raw_body is a bytes() type.

I think the latter is the better option, especially once the binary content type support lands.  I'm assuming raw_body is a bytes() type in that PR, which means you have an inconsistent type for .raw_body depending on the content type.  We'd need to evaluate the impact of changing this, but I would expect something like raw_body to a bytes() type.

So this is no longer an issue due to #352 since Chalice now ensures that the raw_body is a bytes() type.
That means that the code:
 import sys

from chalice import Chalice
if sys.version_info[0] == 3:
    # Python 3 imports.
    from urllib.parse import urlparse, parse_qs
else:
    # Python 2 imports.
    from urlparse import urlparse, parse_qs

app = Chalice(app_name='helloworld')

@app.route('/', methods=['POST'],
           content_types=['application/x-www-form-urlencoded'])
def index():
    body = parse_qs(app.current_request.raw_body)
    print(repr(app.current_request.raw_body))
    print(repr(body))
    return body

Would need to be re-written like so (at least under Python3):
import sys

from chalice import Chalice
if sys.version_info[0] == 3:
    # Python 3 imports.
    from urllib.parse import urlparse, parse_qs
else:
    # Python 2 imports.
    from urlparse import urlparse, parse_qs

app = Chalice(app_name='helloworld')

@app.route('/', methods=['POST'],
           content_types=['application/x-www-form-urlencoded'])
def index():
    body = parse_qs(app.current_request.raw_body.decode('utf-8'))
    print(repr(app.current_request.raw_body))
    print(repr(body))
    return body

Since otherwise it will return a dict with byte keys and values of lists of bytes which the JSON response parser will error out on.


updates to Flurl.Http.Signed 3.2.0

fixes #55
this will also update from .net standard 1.4 to .net standard 2.0 and to .net461 as flurl 3.2.0 requires it.
It contains also a docker-compose file for automatic testing

@lvermeulen Any chance for you to review these PR's and accept them into the main repo?
There are plenty of people who would love to help you maintain and contribute to this library as it's very useful.

I think this pull request is my only option to be able to use Keycloak.Net in my project.
My error is:
Could not load type 'Flurl.StringExtensions' from assembly 'Flurl, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'.

My architecture:

MainProject references ProjectA and ProjectB
ProjectA references KeyCloak.Net
ProjectB references the last version of Flurl.Http (3.2.4)

MainProject
  --> ProjectA --> KeyCloak.Net
  --> ProjectB --> Flurl.Http v3.2.4

My only option for the moment seems to be downgrading Flurl.Http from ProjectB down to version 2.4.2, which in my case has breaking changes...


Add new integration for next generation of LiquidPlanner for #2205

Please remember the Contributing Guidelines :heart:
:star2: What does this PR do?
Added a new integration for the next generation of LiquidPlanner.
:bug: Recommendations for testing
Login to http://next.liquidplanner.com and open a task. Note the new Toggl Timer icon at the end of the action strip. Press the Timer icon and you should be presented with a dialog box with the Task description prepopulated.
Create a new project in Toggl matching a project in LiquidPlanner. Close any existing LiquidPlanner tabs then login again. Repeat the process above and this time you should also see the project prepopulated.
:memo: Links to relevant issues or information
Hopefully resolves #2205

How does this get added to the list of integrations? Do I need to do something else or will it get automatically incorporated into the next release?


NIFI-2515 fixed Kafka serialization/deserialization settings

NOTE: Verified that this commit is cherry-pickable to 0.x branch


No Cargo.lock file?

Should there be a Cargo.lock file?  The FreeBSD ports infrastructure seems to expect one.
(Yes, I'm finally getting around to trying to add this to the FreeBSD ports tree...)

Fixed in 614992a0c805944c3ea707729680afc343da06f2


Support path objects for saving and loading atomistic models

As in the title. Do we want to update the types for the documentation?
Contributor (creator of pull-request) checklist

[x] Tests updated (for new features and bugfixes)?
[ ] Documentation updated (for new features)?
[ ] Issue referenced (for PRs that solve an issue)?

Reviewer checklist

[ ] CHANGELOG updated with public API or any other important changes?

📚 Download documentation preview for this pull-request

I would update the docs for save since we have a type hint there already


Support "investment" ofx files - e.g. Google Finance

Working on #15 to add support for investment OFX files (different node structure).

This example OFX now parses, but there are a load of different nodes to process here. It may make more sense to build this into 2.0 :/

Superceded by #60


Pass md-input.autocomplete to inner input

Fixed via https://github.com/aurelia-ui-toolkits/aurelia-materialize-bridge/pull/516


wallet-ext: nft-details re-think view image link

In nft-details view, there is a link to explorer with the label 'View Image'. I think it's a bit misleading that it will present the images/media of the nft in full screen mode. But instead opens a new tab to explorer.
If the purpose is to display the image/media in full screen we can make the media clickable as well. But if we want to open the nft to explorer maybe we should change the text.

Talked to Abhi there is a new design for the details page. We can fix this as part of that redesign

done here


build: add a flag VITE_APP_ENABLE_PWA for enabling pwa in dev environment

[x] add a flag VITE_APP_ENABLE_PWA for enabling pwa in dev environment
[x] Add id which was missing from the manifest

how about adding VITE_APP_ENABLE_PWA=false in .env.development to make it discoverable?
yep done


Waystone knowledge should be saved by player's UUID not by player's name

I use Drogtor the Nickinator on a server that has Waystones on it, and another player and I realized that our known waystones were wiped after we set a nickname. Also because of Drogtor having no name enforcement, what stops a player from accessing or even modifying another player's waystone list.

Oh, that's a good idea. The waystone system is getting a rewrite soon either way.

Oh, that's a good idea. The waystone system is getting a rewrite soon either way.


fix: upgrade gradle & libs

Overview

Upgrade gradle & libs
Checklist
My PR contains...

[x] No code changes (changes to documentation, CI, metadata, etc.)
[ ] Bug fixes (non-breaking change which fixes an issue)
[ ] Improvements (misc. changes to existing features)
[ ] Features (non-breaking change which adds functionality)

My changes...

[ ] are breaking changes
[x] are not breaking changes
[ ] If yes to above: I have updated the documentation accordingly

Documentation

[x] My changes do not require a change to the project documentation
[ ] My changes require a change to the project documentation
[ ] If yes to above: I have updated the documentation accordingly

Tests

[x] My changes can not or do not need to be tested
[ ] My changes can and should be tested by unit and/or integration tests
[ ] If yes to above: I have added tests to cover my changes
[ ] If yes to above: I have taken care to cover edge cases in my tests

Code Coverage

Total Project Coverage
91.69%
:white_check_mark:

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

v1.2.11
GitHub release

Your semantic-release bot :package::rocket:


fix(String): wrong conversion between string_view and string

:tada: This PR is included in version 5.11.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Image recommendation to the students

All the other tutorials say Rocky 9.3, but here in Tut 1 the recommendation is Rocky 9.2. Just want to clarify for consistency

Changing to 9.3


Documentation Improvement: Running Ghostscript on Windows

Documentation contain the following notice:

“The Windows pre-built Ghostscript binary uses a ROM file system. If you want to modify the Resources available, then . . . put all the required resources on disk and tell Ghostscript to use the disk-based resources. . . . You will need to download the Ghostscript source (the Resources are not currently available separately) . . . modify the Resources directory and tell Ghostscript to use it by adding one of the relevant command line switches (-I, -sGenericResourceDir) or possibly by setting the GS_LIB environment variable.”

It is possible to specify both Ghostscript ROM resource and custom resources (such as bwipp) without downloading and modifying resource directory as suggested by the note. This can be acomplished by using Ghostscript -I switch. For example:
C:/GS/bin/gswin64c.exe -dSAFER -I%rom%Resource/;C:/bwipp/Resource/ -sDEVICE=pdfwrite -o D:/barcode.pdf D:/create-barcode.ps
(The command above is one line.)

Thanks @arkfps.


Migrate to using Ocaml-ci scripts

Update  environment versions to 4.03, 1.2.2

For posterity, this PR involved a subtle bug in the way that kaputt was being configured on the brewed travis systems. That issue was resolved with this patch to kaputt.


Updated build_and_upload_dependencies.sh

I updated my dependency build script to the recent artifactory changes.
This also introduces the usage of docker containers on Windows which lowers the probability
that accidental changes on my dev machine leak into the packages.
Eventually this script will be transformed into a CI job which will build the packages for us.

LGTM.
I understand the changes in isolation but I'm loosing the bigger picture (again). We need some highlevel documentation for this.

Yes, I'm working on this.


bug: Popovers and overflow scrolling on iOS

Type: bug
Platform: ios 8 browser
When you have a popover open inside a scroll view, scrolling is still possible on iOS when using the overflow scrolling setting. The popover stays in its place though. This results in a displaced popover.

Fixed, thanks!

Thank you!

:100:


Unexpected moveset

[   Pokemon] [ERROR] Unexpected moveset [Lick, Aqua Tail] for #86 Seel, please update info in pokemon.json and create issue/PR

Closing this as this got addressed in #4323


Modification to the definitions for microRNA process terms

I have identified a few papers where a microRNA downregulates the level of a lncRNA. Ie there is evidence that it is not just mRNAs that are downregulated by miRs. although there is evidence that regulation of the lncRNAs can occur in the nucleus PMID: 23985560, this is AGO2-mediated. Additional papers have also confirmed that lncRNAs are downregulated by a AGO2 and miR-mediated process (PMID: 28379604).
I am therefore requesting the revision of the definitions for some of these terms to remove the mRNA specificity and allow the terms to be used when the RNA does not encode a protein.
The problem is that there are alot of terms which mention mRNAs in this branch. I have discussed this with Rachael Huntley and she agrees with this proposal.
GO:0035194 posttranscriptional gene silencing by RNA
revised definition (change mRNA to RNA (often mRNA)): Any process of posttranscriptional gene inactivation (silencing) mediated by small RNA molecules that may trigger RNA (often mRNA) degradation or negatively regulate translation
GO:0035195 gene silencing by miRNA
revised definition (change mRNA to RNA (often mRNA)): Downregulation of gene expression through the action of microRNAs (miRNAs), endogenous 21-24 nucleotide small RNAs processed from stem-loop RNA precursors (pre-miRNAs). Once incorporated into a RNA-induced silencing complex (RISC), miRNAs can downregulate gene expression by either of two posttranscriptional mechanisms: endolytic cleavage of the RNA (often mRNA) or mRNA translational repression, usually accompanied by poly-A tail shortening and subsequent degradation of the mRNA.
GO:0060964 regulation of gene silencing by miRNA
revised definition (change mRNA to RNA (often mRNA)):  Any process that modulates the rate, frequency, or extent of the downregulation of gene expression through the action of microRNAs (miRNAs), endogenous 21-24 nucleotide small RNAs processed from stem-loop RNA precursors (pre-miRNAs). Once incorporated into a RNA-induced silencing complex (RISC), miRNAs can downregulate gene expression by either of two posttranscriptional mechanisms: RNA (often mRNA) cleavage or translational repression.
GO:0060965 negative regulation of gene silencing by miRNA
revised definition (change mRNA to RNA (often mRNA)):
Any process that decreases the rate, frequency, or extent of the downregulation of gene expression through the action of microRNAs (miRNAs), endogenous 21-24 nucleotide small RNAs processed from stem-loop RNA precursors (pre-miRNAs). Once incorporated into a RNA-induced silencing complex (RISC), miRNAs can downregulate gene expression by either of two posttranscriptional mechanisms: RNA (often mRNA) cleavage or translational repression.
GO:0035196 production of miRNAs involved in gene silencing by miRNA
revised definition (change mRNA to RNA (often mRNA)):
Cleavage of stem-loop RNA precursors into microRNAs (miRNAs), a class of small RNAs that primarily silence genes by blocking the translation of mRNA transcripts into protein, or by increasing the degradation of non-protein-coding RNA transcripts. PMID:15066275 PMID:15066283
In addition a new Molecular Function term is needed:
GO:0003723 RNA binding

is_a child New term RNA binding involved in posttranscriptional gene silencing
Definition: Any RNA binding that is involved in posttranscriptional gene silencing.
(PMID: 23985560, PMID: 28379604).

Is_a child: GO:1903231 mRNA binding involved in posttranscriptional gene silencing
Definition: Any mRNA binding that is involved in posttranscriptional gene silencing.

GO:0016441 posttranscriptional gene silencing

part_of child New term RNA binding involved in posttranscriptional gene silencing

I may have missed some terms, but it would be good to have an agreement on the principle and then hopefully any I have missed will be agreed on too?
Thanks
Ruth
@BarbaraCzub

Hi @RLovering
I agree it is a good idea to implement these revisions, so that these terms could also be used to capture regulation of expression of long non-coding (lnc) RNAs, and not only protein-coding mRNAs.
I'll start making these edits, and then if I find any other missing terms, I'll suggest them in this (or a new) ticket.
Thanks,
Barbara

@RLovering what is your dbxref?

Hi @BarbaraCzub. Could you also add the publication references to the new defs, so we have some precedence for the change?

Of course. Good point. I'll add these when I add the new term (next branch). Thanks @ukemi !

@RLovering have you annotated any other relevant papers in addition to PMID:28379604?

GOC:rl

PMID: 23985560

Thanks!


No response when configuring Quagga virtual machine

When I replace the IP address with the one which took note of in the previous step just like the following picture, then it required to enter the password.

But I can't enter any characters. The console I used is powershell 7 (x64).

Is the console selected wrong? I will appreciate it if you can reply to me.
Thanks a lot.

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

ID: d9f40772-d187-0aff-631e-f737d07bfd36
Version Independent ID: c812d2d4-b286-2292-0d83-1f7c0e1d1e6b
Content: Tutorial: Configure peering between Azure Route Server and Quagga network virtual appliance
Content Source: articles/route-server/tutorial-configure-route-server-with-quagga.md
Service: route-server
GitHub Login: @halkazwini
Microsoft Alias: halkazwini

Hi @Leoer,
You won't see any characters when you enter the password.
If you enter the correct password, then you'll log in after you hit enter.
If you enter the wrong password, then you'll get this message after you hit enter: "Permission denied, please try again."

It's successful! Thank you for your prompt and effective reply.

I have another question here.
When I try to configure Route Server peering, and enter the following information from article:

But the following error occurred:

Is the parameter wrong? I don't understand what the error is.
Looking forward to your reply.

Hi @Leoer
Usually you get this view when the resource is not fully created. Do you still see the same?

@halkazwini
Thank you. I got it.


Integrating Mixpanel as a Framework breaks Tweaks

Integrating Mixpanel with CocoaPods v0.36+ and use_frameworks prevents Tweaks from appearing in the UI (or being found / stored in general).
It appears the the issue has something to do with the macro not being included in the output framework - the relevant line is https://github.com/mixpanel/mixpanel-iphone/blob/master/Mixpanel/MPTweakInline.m#L127 , which will return null when using frameworks. It looks like the whole function is just undefined in the final SDK binary:
"@MPTweak *_MPTweakCreateWithEntry(NSString *__strong, mp_tweak_entry *)^@

I'm experiencing this as well

#364 should fix that

+1, experiencing this issue as well

This is now released as v2.9.2, thanks for your patience!

I still have the same issue with the v2.9.3 and v2.9.4 installed via Carthage.
The visibility is provided only for the main header Mixpanel.h and any symbol related to MPTweakInline.h is not available.


GTA 4 flickering dots using DXVK 1.9 on AMD RDNA2

###Issue Description
Issues using latest DXVK 1.9 with AMD 6800XT and GTA 4. Producing flickering coloured crosshairs on screen when smoke or bloom effects are used/switched. Flicker happens for a split second so capturing this was tricky.
Drivers used are 20.6.1, 20.6.2, 20.7.1, and UWP drivers. All exhibit the same issue, the issue is not present when using DX. GPU is not overclocked either and no overheating has been monitored. No other game displays this issue.
The issue can be reproduced standing next to a light or smoke source in game and moving camera around. Issue can be minor to severe. If I enabled AMD VSR and run the game at 5K144Hz the flickering is VERY noticeable. Moving resolution down but keeping framerate high does somewhat mitigate the issue but its still there. Capping the fps to 72fps at 2K is where the issue once again becomes more apparent.
No overclocking is enabled on the system either on the GPU or CPU. And temps are well within spec.
###Log File
No log file can be produced as this is not a crash its a graphical issue that is not present in DirectX and only present when running DXVK.
Software information
GTA IV Complete Edition
2560x1400 144Hz (72fps cap using RTSS)
Max settings
View Distance Slider = 43
Vsync ON
System information

GPU: 6800XT (no overclock)
Driver: UWP v30.0.13000.22008 (tested with 3 other previous official drivers and same issue)
Wine version: N/A
DXVK version: 1.9 (tested with previous 3 versions and still present).
OS: Windows 10 Pro 64bit (21H1)

Screenshots attached.

Duplicate of #1862

Duplicate of #1862

WOW my issue is nowhere near that bad.
Is it possible to use the launch arguments from that post on windows or are they specific too linux?
these arguments
RADV_DEBUG=nodcc %command%
RADV_DEBUG=llvm GTA4EXE

They are specific to Linux. Nothing you can do on Windows right now.

They are specific to Linux. Nothing you can do on Windows right now.

Thank you for the quick reply.

WOW my issue is nowhere near that bad.

It's the same problem though.

Is it possible to use the launch arguments from that post on windows or are they specific too linux?

They are specific to Linux. Nothing you can do on Windows right now.

Ok thank you for the quick reply. What is the procedure for creating a log file on windows?

No need for one. It wouldn't be useful anyway in this case and we also know what causes the problem. Don't expect a fix any time soon though.

What would be the cause if you don’t mind? Curious to know.
From: Robin @.>
Sent: 23 July 2021 17:07
To: @.>
Cc: @.>; @.>
Subject: Re: [doitsujin/dxvk] GTA 4 flickering dots using DXVK 1.9 on AMD RDNA2 (#2179)
No need for one. It wouldn't be useful anyway in this case and we also know what causes the problem. Don't expect a fix any time soon though.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/doitsujin/dxvk/issues/2179#issuecomment-885742804, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AU6K2Q7LJGUYBS4ZWNX4ULLTZGHSFANCNFSM5A4IAFCQ.

What would be the cause if you don’t mind? Curious to know.

Rendering to and sampling from the same texture at the same time. That's allowed in D3D9 but isn't in Vulkan. Happens to just work on Nvidia hardware and DXVK has a workaround for AMD hardware but that doesn't work on RDNA2.

thanks for the warning about the rdn2 hardware, potentially saves me a ton of money! :+1:

@stefson It's not a problem with the hardware, it's a problem with DXVK.

Sure, but DXVK is my only use case for such a high end card.

And it works perfectly fine in all but like 3 games + this is probably gonna be solved in the future.

I can confirm 100% that DXVK 1.7.3 does NOT have this issue!!!
It seems to be a bug within the newer version of DXVK, and not AMD drivers or hardware. I tested out 5K resolution using AMD VSR and with the three newest version of DXVK I tested all of them exhibt extreme flicker and screen corruption. The flicker is also present on lower resolutions but not that bad.
Now I tested DXVK 1.7.3 and the flicker is completely gone at 5K and all other resolutions too. Using the same drivers as before and it works flawlessly with this DXVK version.

not seeing an issue in 1.7.3 does not exclude hardware specific variation in driver or dxvk  behavior.

I have this glitch on linux using a 6900XT and RADV, DXVK 1.9.2
Can provide a trace if needed.

Not necessary. We know what causes it but don't have any way to fix it.

I can confirm that 1.7.3 does not have this problem.
@K0bin were you able to bisect the exact commit that introduced the problem?

We know the fix, its just waiting on a Vulkan extension to do properly.


Native AAF Export

Although we have X2Pro, it is currently the only tool that does it.

I really don't expect Apple to ever do this. I think Apple would be quite happy to leave this to X2Pro.

Yeap. Honestly, I don't expect Apple to add this either. There is still room for innovation.

Also, if you haven't already, you should definitely file feedback, and edit your original post to include the Feedback ID:
https://feedbackassistant.apple.com/


Handling TinyMCE license change

In BookStack we use TinyMCE as the main WYSIWYG page editor (in addition to the newer description/comment editor boxes).
Starting with TinyMCE 7  they've changed their license from MIT to GPLv2+ (and it was LGPL before MIT). They also have a GitHub discussion for this here which I've commented on.
This puts us in an awkward place, since GPLv2+ is incompatible with the MIT license that BookStack is distributed under.
We could change to a compatible license, but I'm not keen on forcing that upon the BookStack user-base as it could functionally impact existing use-cases. I chose the permissive MIT license originally because of the user freedom & simplicity it provides.
Even if we did change license just because of this, this is the second recent license change from Tiny, and they have reflected a very business focused direction, with more code moving out of the open source offering, a higher focus on the commercial offerings, and questionable licensing information (https://danb.me/blog/misrepresenting-open-source/).
I'm not convinced that the open offering will remain further unhindered.
I'm currently thinking the best way forward would be to fork the existing MIT code for our use, likely stripping things back as much as possible to reduce the scope of future maintenance.
This could open up opportunity for easier fixing/development & future BookStack specific ideas, but the added scope & maintaining surface area will very much be significant and is quite daunting.
I may need to spend some time playing the the TinyMCE source to get a realistic idea of potential impact.
Another option is to switch editor library but, from my attempts of this a couple of years back, that's likely more painful. Easy to get something going, but ensuring forward compatibility and feature parity is a wild adventure of edge-cases.

What other editors are considered? Maybe it could be worth to switch, if the new editor bring some new useful features?
The option with a fork of TinyMCE could be good too, since it is not closing the posibility or making harder to move to another editor later.

What other editors are considered?

I suppose there isn't anything else to consider. For instance, relatively recently, ProcessWire switched to TinyMCE 6 from CKEditor 4 because CKEditor 5 was also out of the question. See: https://processwire.com/blog/posts/new-rte-for-pw/

An option might be to leave markdown in the core and add TinyMCE with the new license as a plugin.

As @ivangretsky said, maybe a good approach is to add TinyMCE as a plugin. Just add a line in .env file like "TinyMCE=enabled" and make some php script download

Sure, I appreciate there are ways it could be done but I'm really not fond of a major core part being made optional, with maintenance of fallbacks. It's always been a core idea that the app is "batteries-included" by default, would be a big shame not to be able to provide a complete app. Plus, as alluded to in the original post, I'm not how much I trust Tiny anyway.

I'm currently thinking the best way forward would be to fork the existing MIT code for our use, likely stripping things back as much as possible to reduce the scope of future maintenance.

I suppose there isn't anything else to consider. For instance, relatively recently, ProcessWire switched to TinyMCE 6 from CKEditor 4 because CKEditor 5 was also out of the question.

Just maybe there can be some sort of collaboration between projects still needing a regular content editable editor like TimyMCE or CKEditor with an MIT licence? On a common fork?

I chose the permissive MIT license originally because of the user freedom & simplicity it provides.

Do you have a sense for how much of your user base actually does things with BookStack that would be affected by a license change? I.e., are many people distributing modified versions of BookStack without releasing the source?

@otherjoel No, not really. It would be a rather minimal part of the audience, but I'm not keen on abandoning even a small part of the audience, and having to change our ideal/desires of licensing due to a business change of a sub-component, especially where the intent of change, and future direction, of that sub-compontent is questionable.

Quick look around, and its not bad.

I wonder if https://playground.lexical.dev can be considered.

I wonder if https://playground.lexical.dev/ can be considered.

Thanks @DanielPantilimon (and @alatteri). Don't think I've come across that one before. It looks quite extensive, but from my previous experience the tricky part is in the minor detail and compatibility. Think I'll put some time aside to do a compatibility run & test implementation of this one.

There has been a Tiny fork here but I'm not confident on direction and long term maintainership of that. Would have to inquire/watch.
Tiny have since confirmed TinyMCE 6.x support until the end of October.
I've also had Tiny reach out to me to offer a custom license, but nothing that would be any more compatible in my view over a GPL license.

I don't really see us moving to a block-based editor, at least on the idea of doing so to get access to a range of modules/blocks. The lack of (relative) complexity in what we support in page content is purposeful and something I think that's important for a documentation platform, with aims for content standardisation and portability.
I certainly would not look to support a third adjacent editor option.

I've been building, and playing with, a lexical based editor via the branch on PR #5058.
I found early on, that many of the supported content types, and all of the UI, shown in their playground in based on their react-specific and or playground-specific codebase, so really it requires us to create/implement quite a lot where we don't want to rely on those elements, which I'm not overly confident with. This does mean we can build things to closely match what we already have though.
Making some good headway. Have implemented a range of formats and getting familiar with the editor fundamentals. Have put together some core elements of a UI framework too. Still quite a mountain to climb though, and it can be minor annoying elements that cause the most strain, and zap the most will. Just trying to chip away at it day-by-day.
Somewhat hopeful this can end up with a result though, and one with more flexibility and opportunity for future ideas/additions in BookStack.

Thanks for the effort, Dan!

a lexical based editor
Can Lexical provide direct editing access to the HTML? It's always a must-have for me.

Can Lexical provide direct editing access to the HTML? It's always a must-have for me.

@szabeszg We could build that functionality in, and I would plan to to match the existing editor, but the exact handling of pasted HTML (and what gets filtered/removed and how the content is handled) may differ to that of the handling of what we have configured for TinyMCE, so it could depend on exactly what you're modifying in the HTML.

Hi Dan,
I would like to suggest another implementation of the Lexical editor: https://matheditor.me/playground
The project is available MIT on GitHub: https://github.com/ibastawisi/matheditor
It might help you get up to speed faster, specially for the image plugin that is better implemented in the matheditor

@DanielPantilimon thanks but that's really built as a project rather than a library. And really I'd rather build on the fundamentals rather than understand/alter an existing direction/project/attempt.

@ssddanbrown You might want to consider applying for a custom license. See:
https://github.com/tinymce/tinymce/discussions/9609

@szabeszg they reached out to me directly to offer that before making it a public offering, but I rejected them since any such custom (project/user-specific) license would be even less compatible that the GPLv2+, since it generally wouldn't be considered open source.

@ssddanbrown I see.
I do not know what their exact idea was, but personally, I do not care about being able to modify TinyMCE. All that matters to me is whether I can use it freely. Of course, you naturally have more concerns than that.

@szabeszg Sure, but I want to ensure BookStack as whole remains open source. This means open to use, modification & distribution. I want to ensure users will have those rights, regardless of whether that's under this core project or a fork. If I get hit by a bus tomorrow, I want to ensure the code/project has a chance of surviving (or even if users want to take the project in a different direction).

@ssddanbrown If you end up having a go at making a fork of TinyMCE 6.X, I'd be happy to lend a hand with anything from maintaining code to testing and providing feedback.
I work for a company that provides an app somewhat similar to Bookstack (A Quality Management System, a bit like a CMS), where we also rely on TinyMCE as our document / page editor since TinyMCE 3 was released.
I have been testing out alternatives for the last few years, and the only editor that felt like it could provide both the same basic functionality and usability was CKEditor, both of which are now unfeasible for our purpose.
I'm also following your progress with the other editors.

@Wertisdk I did see a fork effort started here: https://github.com/hugemce/hugemce
Not sure on the direction and momentum behind that yet.
Otherwise, I'm still working on my lexical branch.
If interested, I recently touched on editor develop and showed a quick preview of the progress at that time in my video here from about 3:30: https://youtu.be/XuX21Z7XvGE?t=210

There's no need to search for a new editor.   TinyMCE MIT license will go on forever, only it's now renamed: HugeRTE  (due to trademark names, HugeMCE was renamed HugeRTE).  https://github.com/hugerte/hugerte

@glen777 As mentioned in my last comment, it's tricky to forsee the direction and momentum of new forks, so had to take the route that felt best for us in the present.

I'll go ahead and close this off now that the new editor has progressed and is included in releases, with our path forward fairly established.


Fix duplicate range in character class (in schema)

This removes redundancy in a couple character classes within regular expressions in the JSON schema. Specifically, there were 2 places where a character class like [\w_] was being used, which is redundant because \w already includes _.
I happened to notice this because I was using the json-schema-rspec library in a Ruby project (with warnings turned on), and saw the following printed to the console:
  warning: character class has duplicated range: /^(?!relationships$|links$)\w[-\w_]*$/

I'm sorry that this hasn't received earlier feedback. As @Relequestual already mentioned, it has been fixed in the meantime. Closing this one as obsolete.
Please speak up if I missed something.


v2.2.1

I already published 2.2.0 yesterday

Wait I'm confused, did you publish manually?
We should always use a release tag and let CI handle publishing and pushing the new version. This also means we are missing the github release for this version.
I would not merge this PR but instead create a 2.2.2 release tag and let CI do it

oh sorry I got confused with the eslint repo which doesn't have automated process yet.


Can't read long text posts

When reading long text posts, I get

(Not enough space to display)

and have to zoom out to read it all, which is super annoying. I've tried j/k, n/m, the arrow keys, all of them skip to the first comment.
There should be a way to "scroll" through the post without skipping to comments.

See https://github.com/michael-lazar/rtv/issues/93. This was recently merged into master but hasn't been released to pypi yet so you can't pip install it.

Ah perfect! I'll give it a go next time I'm redditing :)

Is there any timeline for getting this into pip?


[+0-all-args] PartialApply always takes parameters at +1. Use an ensu…

…rePlusOne to make sure we create a copy if we need to.
rdar://34222540

@swift-ci smoke test and merge

I fixed some typos in the test that came up when I was trying to change the test from something I was hacking on to something that could be committed into tree. Now they are fixed and this should all work.

@swift-ci smoke test and merge

@swift-ci smoke test and merge

@swift-ci smoke test and merge


Unable to deploy Cilium on GKE

  Warning  FailedMount  58s (x9 over 3m5s)  kubelet            MountVolume.SetUp failed for volume "cni-path" : mkdir /opt/cni: read-only file system

Fixed. The issue was related with the fact that helm instructions from 1.8.5 were used to deploy Cilium 1.9.0.


Integrate KIVI into inference frameworks?

This work is amazing. I want to know do you have any plans to integrate it in other inference frameworks, like vLLM?

Awesome idea! We are currently learning the low-level code of vLLM. One potential challenge is managing per-channel quantization while implementing continuous batching. Essentially, per-channel quantization involves compressing groups of 32 or 64 tokens' key caches at once. However, with continuous batching, as soon as one request finishes, another is immediately queued up. This means we need to take care of the corner case of per-channel quantization strategy that ensures tokens from separate requests are quantized independently, to avoid any mix-ups of different requests. We do not wanna mixup different requests because if you mix different requests together, you may potentially leak information from one request to another one.


How to restrict sites owners from removing association?

[Enter feedback here]
There might be cases where sites are associated to hub site automatically via Site Design but associated site owner has a possibility to remove this association. So how we can block associated site owners from removing the association?

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

ID: 99d8d3fd-3c87-c237-495d-01ac9bcd7944
Version Independent ID: 2c621ca7-5395-f4b8-b66a-aa8a8ab4b1e5
Content: Planning your SharePoint hub sites - SharePoint in Microsoft 365
Content Source: SharePoint/SharePointOnline/planning-hub-sites.md
Service: sharepoint-online
GitHub Login: @kaarins
Microsoft Alias: kaarins

@prashant1380 Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


Improve design on the validation page / model-train wizard

[ ] Add error-handling for stuff like no datasets, no labelings, not enough data,...
[ ] Show training process in frontend (in the list of models)
[ ] Show training errors in the frontends model list. The user must delete the failed models manually.


feat(cta-block): introduced cta block web component, added it as cta section variant, removed promo group and promo item

Related Ticket(s)

#5216
#5220
#5221

Description

Adds <dds-cta-block>. This replaces <dds-promo-group> and <dds-promo-item>. It is based off of <dds-content-item>.
Adds CtaBlock variant to <dds-cta-section> component. This variant has an additional prop of Media Type to switch between image, video, statistic and pictogram.
Removes <dds-promo-group> and <dds-promo-item>.

Design Specs

https://ibm.ent.box.com/s/shr0pnhof0yzk2b5lh0nokwopgxxb9rr

Additional design spec for statisitc from Kirby :

Font: IBM Plex Sans, SemiBold
Max: 76px
xlg: 60px
lg: 54px
md and sm: 42px

Functional Spec

https://user-images.githubusercontent.com/3793636/108720924-067c2a00-74e7-11eb-8441-44bb8b412dcd.png

Changelog
New

<dds-cta-block> component.

Changed

<dds-cta-section> story updated with <dds-cta-block> variant.

Removed

<dds-promo-group> and <dds-promo-item> component.

Hey, @rastogir here are some issues I'm noticing in addition to @photodow 's notes from above.
1.Content section heading in the left column area should only span 3 columns
2. Main content area needs shifted left to align with the 16-column grid.

Appears to be some alignment issues with the Content item component. Additional space getting added to title on shorter Content items.
CTA text link with icon should consistently align based on longest content item character count. See design spec for more detail.
I want to also confirm that an additional CTA text link with icon can be added to a Content item for a max of two links if needed.

@photodow did we determine if this logic was in scope or not?

Minimum of two items per row
Avoid orphaned rows with one item. When this occurs the item in the third column from the row above should drop to the row below.

Bottom spacing for items in the last row should be 160px.

@photodow did we determine if this logic was in scope or not?

Out of scope. There should be a # of column prop so the AEM CMS can drop it if a given orphan is present. I didn't see a knob to test this, but I did see one story had 2 columns, and another story had 3 columns.

@asudoh

[ ]  Created sandbox example however I'll need to update it before PR is merged
[ ] Also added plain markup

@photodow

[ ] CTA block, and CTA section are backwards. What you have as CTA block should be CTA section and vice versa.

[ ] Casing needs to be fixed. We use sentence casing for these

Meeting scheduled for 3/22 to discuss the requirement and implementation for above two feedbacks.

[ ] Is CTA section missing bottom spacing?

[ ] The horizontal rules are using two different colors. I don't think that's intended, right? This is as per design spec

[ ] Looks like some spacing issues with the supporting items.

[ ] Nitpicky thing, but is this a media type? The functional specs I call it a supporting element. I'm not necessarily saying we HAVE to use that here, but I don't think media type is accurate.

[ ] WIP - I think you have the video title and duration in the wrong place.

[ ] Why does the type size change here? CTA block should be using expressive-heading-05 for the heading, and heading-03 for that copy.

@kirbyevans

[ ] Content section heading in the left column area should only span 3 columns

[ ] Main content area needs shifted left to align with the 16-column grid.

[ ] Appears to be some alignment issues with the Content item component. Additional space getting added to title on shorter Content items. @asudoh Any guidance on this?

[ ] CTA text link with icon should consistently align based on longest content item character count. See design spec for more detail. @asudoh Any guidance on this?

[ ] WIP - I want to also confirm that an additional CTA text link with icon can be added to a Content item for a max of two links if needed.

[ ] WIP - Bottom spacing for items in the last row should be 160px.

Appears to be some alignment issues with the Content item component. Additional space getting added to title on shorter Content items. @asudoh Any guidance on this?

Some quick findings are:

We went away from using bx--grid for container
s in content pattern stories, including one for CTA block. That should be replaced with dds-ce-demo-devenv--simple-grid.
Along with dds-ce-demo-devenv--simple-grid, we define how much grid columns the story content takes. You can see it at here. Seems that one for CTA block uses dds-ce-demo-devenv--simple-grid--content-layout, which means taking 5th to 12th grid columns in lg or larger breakpoints. Seems that we want the whole 1st to 16th columns for CTA block, and thus dds-ce-demo-devenv--simple-grid--content-section is more applicable.

One you apply above two changes (replacing bx--grid with dds-ce-demo-devenv--simple-grid as well as replacing dds-ce-demo-devenv--simple-grid--content-layout with dds-ce-demo-devenv--simple-grid--content-section), you'll see that <dds-cta-block> now aligns to the Carbon grid well. Now let's take a look at what's inside <dds-cta-block>:

The grid columns inside <dds-cta-block> should be 25%/75% split. However, I see a different split - I guess it's for getting some padding? If so, the padding should be applied by something else.
The column-gap applied in the grid seems to make the subgrid of
 off from the parent grid. I recommend removing the gutter there and use different mean to add padding to the heading/copy/link above the cards.

 has negative margin adjustment. It has adverse side effect and we are moving away from it. Removing such negative margin along with other fixes ensures correct grid alignment.

CTA text link with icon should consistently align based on longest content item character count. See design spec for more detail. @asudoh Any guidance on this?

If it means the vertical position of the CTA text link, the best approach is ensuring that the CTA text link is placed at the bottom of <dds-cta-block-item>.

Thanks @asudoh for the detailed guidance! I cleaned up the classes and was able to achieve vertical position of the CTA text link in <dds-cta-block-item> via flex properties. Attached a screenshot. CTA block is going behind the feature flag because of some refactor work. Do I need to delete CodeSandBox example?

@andysherman2121 @photodow @RaphaelAmadeu
As discussed CTA block is behind the feature flag and CTA Section > Cta Block variant is removed. Below are CTA Section and CTA Block refactor details we discussed which can be used for the new ticket.
CTA Section > Default variant will become CTA Block.

Under the hood CTA Block should utilize Content Block component

Use <dds-content-block-heading> for CTA Block heading. This is implemented correctly in CTA Section.
Use <dds-content-block-paragraph> or <dds-content-block-copy> for CTA Block copy. Currently <dds-cta-section-item-copy> is being used which extend DDSContentItemCopy. This will need to be corrected.
Currently Content Block component doesn't have a CTA. Functional requirement is to create one and use it for CTA Block CTA
This newly created Content Block CTA should also be used in other content block components such Content Block Cards, Content Block Mixed, Content Block Media, Content Block Segmented, Content Block Simple. Technical implementation for this refactor needs to be discussed.
CTA Block CTA should have a prop to switch between button group, text link and none.

CTA Block will have below variants

- Default

- With Content Items

- With Link List

CTA Block will become CTA Section.

CTA Section variants are

- Default. This will utilize CTA Block > default under the hood. Users should be able to switch between button group, text links and none via a prop.

- With Content Items. Users should be able to switch image to video, pictogram, statistics and none via a prop. This is already at CTA Block > Default variant which is behind the feature flag. Design spec for this variant is at https://ibm.ent.box.com/s/shr0pnhof0yzk2b5lh0nokwopgxxb9rr

- With Link List.

Refactor work will also include below two feedbacks from this PR:

Bottom spacing for items in the last row should be 160px from Kirby.
I think you have the video title and duration in the wrong place from James.

CTA block is going behind the feature flag because of some refactor work. Do I need to delete CodeSandBox example?

@jeffchew What is our policy for CodeSandbox examples of roped-off components? Thanks!

We can exclude if behind a feature flag, but my understanding is that this feature is going straight to production ready.

Hi Ravenna, thank you and this is a lot of work! My understanding is this is not a feature-flagged component, and should go into prod. But I noticed your comment:

CTA block is going behind the feature flag because of some refactor work. Do I need to delete CodeSandBox example?

I suggest if this needs more work, we don't rush it by putting it behind feature flag. If the dev team has agreed to put it behind feature-flag, it would also require a different tag to ensure experimental environment gets build. So I cannot review it in the PR preview builds right now. Could you double check that feature flag decision with the dev team? Thank you!

@asudoh @jeffchew @shixiedesign Component is almost production ready. There is a requirement to rename existing CTA Section to CTA Block and address some technical debt which will require significant refactor work. Refactor work is detailed in my last comment. A seasoned DDS developer would be appropriate for the refactor job hence the reason why this component is put behind the feature flag. If needed there is an option to decrease the scope of refactor work. Happy to schedule a meeting to go over the technical details.

@shixiedesign Experimental preview is built and it's ready for your review https://ibmdotcom-web-components-experimental.s3.us-east.cloud-object-storage.appdomain.cloud/deploy-previews/5530/index.html?path=/story/components-cta-block--default

Closing this PR, @RaphaelAmadeu will be opening a new one.


Local development setup

I really like the idea of this project.
What changes would be required to be able to run it on a google colab and have the cache write to google drive files?
import openai_proxy
import openai

openai_proxy.monkeypatch_colab(openai, 'project-A', env='dev', cache="/content/drive/MyDrive/.openai-proxy-cache")
openai.chat.complete.create(...)

openai_proxy.get_statistics('project-A')

Hi there. Thanks for the feedback. Can you give me a use case for this? If you don't need the proxying, then a simple pass through with local caching (and writing out to disk) could be done fairly easily adapting the code in proxy0.py and proxy1.py. In the end it would be a different project though, I think.

Yes you are right. I realized that to be really effective across units it has to be deployed to one location.
How much it costs (ball-park) to keep the system deployed on AWS?  ~$5 /month?

Well as it stands it is practically free as it just uses dynamodb and lambda functions. For a heavy use of OpenAI you'd have to estimate the cost on AWS, but it would be a fraction of the OpenAI cost.


Add -table option for tabular output

This adds a -table option that uses a tabular output format that looks similar to the output of docker images.
$ docker-ls repositories -table -level 0 -progress-indicator=false
REPOSITORY
acme/webhook
admintools/admintools-nodejs-asset-build
cx

$ docker-ls repositories -table -level 1 -progress-indicator=false
REPOSITORY                                        TAG
acme/webhook                                      latest
admintools/admintools-nodejs-asset-build          latest
cx                                                develop

Any idea when this is gonna merged/refused? This PR is already more then one month old...

When I find time and leasure to dig into docker-ls again, review and merge th PRs, make some changes of my own and roll a new release. Not tomorrow, not the day after, and very definitely before the year is over. Consider this copy'n'pasted in response to your other comments :smirk:

I found a weird bug with this -table feature.
If you start to upload an image, and then interrupt the upload, the listing gives an error like:
"ERROR: sabayon: no such repository"
Here is an output:
+ SERVER=https://localhost
+ docker run dockerls:latest docker-ls repositories -table -progress-indicator=false -registry https://localhost
REPOSITORY
busybox
redis
sabayon
ubuntu
+ docker run dockerls:latest docker-ls repositories -table -level 1 -progress-indicator=false -registry https://localhost
ERROR: sabayon: no such repository
+ docker run dockerls:latest docker-ls repositories -progress-indicator=false -registry https://localhost
repositories:
- busybox
- redis
- sabayon
- ubuntu

I don't know if you could reproduce it somehow...

I also have another problem where it does not display some repo (here tinycore):
core@registry00 ~ $ ./docker-ls repositories -table -progress-indicator=false -registry https://localhost
REPOSITORY
tinycore
ubuntu
core@registry00 ~ $ ./docker-ls repositories -table -level 1 -progress-indicator=false -registry https://localhost
REPOSITORY                                        TAG
ubuntu                                            14.04

Also, for shell scripting purposes, I still have to strip the table header like this with a grep, would be nice to have an option like "-noheader":
./docker-ls repositories -table -progress-indicator=false --registry $SERVER | grep -v "REPOSITORY"

Thank you for your contribution!
@zoobab : Your issues look more like the consequence of an unstable registry to me. What version of the registry are you using? Can you reproduce the issue? Concerning scripting, I would advise using either YAML or JSON for a machine readable representation --- that's why I chose those formats :smirk:


Report bug regarding non-permanent thinning

We shall report the Isabelle bug described in the following, which has led to relax retaining unrelaxed premises:

Consider the following code:
lemma "A ⟹ B ⟹ C ⟹ D"
  apply (
    match premises in a [thin]: _ ⇒ ‹
      match premises in b [thin]: _ ⇒ ‹
        succeed
      ›
    ›
  )
  oops

After the application of the proof method, the goal is C ⟹ D, as expected.
Now let’s add some superfluous matching:
lemma "A ⟹ B ⟹ C ⟹ D"
  apply (
    match premises in a [thin]: _ ⇒ ‹
      match ("()") in "()" ⇒ ‹
        match premises in b [thin]: _ ⇒ ‹
          succeed
        ›
      ›
    ›
  )
  oops

This time, the generated goal is not C ⟹ D, but B ⟹ C ⟹ D, which it shouldn’t be.
Let’s add some debugging code:
lemma "A ⟹ B ⟹ C ⟹ D"
  apply (
    match premises in a [thin]: _ ⇒ ‹
      match ("()") in "()" ⇒ ‹
        match premises in b [thin]: _ ⇒ ‹
          match premises in prems: _ (multi) ⇒ ‹
            print_fact prems
          ›
        ›
      ›
    ›
  )
  oops

We get C as the content of prems, which is correct, while the generated goal is still B ⟹ C ⟹ D.
Apparently, the removal of B from the list of premises, while being locally observable, is not reflected outside of the match invocation that performs the superfluous matching. Changing this match invocation to use a different term or a fact as its match target leads to the same outcome. However, if premises or conclusion is used as the match target of this match invocation, the generated goal is again C ⟹ D. It seems that match invocations that don’t perform subgoal focusing introduce some sort of barrier that the effect of thinning cannot transcend.

This bug has now been reported via an e-mail to the Isabelle Users mailing list.


Limit Channel Trace by Memory

This limits the trace node by the amount of memory used to hold the event list, rather than the number of events in the event list.
This was a blocker for enabling by default since mem could grow unbounded.
Tracking: #15340

****************************************************************

libgrpc.so

     VM SIZE                                                                     FILE SIZE
 ++++++++++++++ GROWING                                                       ++++++++++++++
  +0.0%    +144 [None]                                                           +264  +0.0%
  +2.6%     +48 src/core/lib/channel/channel_trace.cc                             +48  +2.6%
       +31%     +33 grpc_core::channelz::ChannelTrace::TraceEvent::TraceEvent         +33   +31%
       +23%     +29 grpc_core::channelz::ChannelTrace::TraceEvent::TraceEvent         +29   +23%
      +4.1%      +5 grpc_core::channelz::ChannelTrace::AddTraceEventHelper             +5  +4.1%
  +1.1%     +48 src/core/lib/slice/slice.cc                                       +48  +1.1%
      [NEW]     +35 grpc_slice_memory_usage                                           +35  [NEW]
      +4.4%     +13 [Unmapped]                                                        +13  +4.4%

  +0.0%    +240 TOTAL                                                            +360  +0.0%

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

****************************************************************

libgrpc.so

     VM SIZE                                                                     FILE SIZE
 ++++++++++++++ GROWING                                                       ++++++++++++++
  +0.0%    +208 [None]                                                           +376  +0.0%
      +0.0%    +176 [Unmapped]                                                       +376  +0.0%
      +3.1%     +32 [None]                                                              0  [ = ]
  +2.6%     +48 src/core/lib/channel/channel_trace.cc                             +48  +2.6%
       +31%     +33 grpc_core::channelz::ChannelTrace::TraceEvent::TraceEvent         +33   +31%
       +23%     +29 grpc_core::channelz::ChannelTrace::TraceEvent::TraceEvent         +29   +23%
      +4.1%      +5 grpc_core::channelz::ChannelTrace::AddTraceEventHelper             +5  +4.1%
  +1.1%     +48 src/core/lib/slice/slice.cc                                       +48  +1.1%
      [NEW]     +35 grpc_slice_memory_usage                                           +35  [NEW]
      +4.4%     +13 [Unmapped]                                                        +13  +4.4%

  +0.0%    +304 TOTAL                                                            +472  +0.0%

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 1,965,143      Total (>)      1,964,916

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
10,888,067      Total (>)     10,887,721

 No significant differences in binary sizes

****************************************************************

libgrpc.so

     VM SIZE                                                                     FILE SIZE
 ++++++++++++++ GROWING                                                       ++++++++++++++
  +0.0%    +144 [None]                                                           +336  +0.0%
  +2.6%     +48 src/core/lib/channel/channel_trace.cc                             +48  +2.6%
       +31%     +33 grpc_core::channelz::ChannelTrace::TraceEvent::TraceEvent         +33   +31%
       +23%     +29 grpc_core::channelz::ChannelTrace::TraceEvent::TraceEvent         +29   +23%
      +4.1%      +5 grpc_core::channelz::ChannelTrace::AddTraceEventHelper             +5  +4.1%
  +1.1%     +48 src/core/lib/slice/slice.cc                                       +48  +1.1%
      [NEW]     +35 grpc_slice_memory_usage                                           +35  [NEW]
      +4.3%     +13 [Unmapped]                                                        +13  +4.3%

  +0.0%    +240 TOTAL                                                            +432  +0.0%

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 1,965,335      Total (>)      1,965,108

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
10,888,229      Total (>)     10,887,894

 No significant differences in binary sizes


Test bash completion for sub-commands of sub-commands

My urfave/cli version is
2.24.1
Checklist

[X ] Are you running the latest v2 release? The list of releases is here.
[ X] Did you check the manual for your release? The v2 manual is here
[ X] Did you perform a search about this problem? Here's the GitHub guide about searching.

Dependency Management

My project is using go modules.

Describe the bug
There is no unit test that would have trapped #1617
To reproduce
Check the PR #1618
Observed behavior
None of the test files were modified
Expected behavior
There should be at least one test file that has additional tests to trap the incorrect behavior that was seen in #1617

@schollii would you like to submit a PR for this ?

I will try to find some time next couple weeks


Time Graph: Add annotations to the view

Some data providers, like the Open Tracing span view, have annotations to display in the time graph view (they are typically additional symbols to put at certain entries/time ranges). They should be displayed in the time graph

Related: #211
Fixed by: theia-ide/timeline-chart#76


Add tests for pandas integration

MERGED
https://github.com/frictionlessdata/testsuite-extended/issues/26


refactoring of page_populator

for some reason text_field population was failing, so I have decided to refactor popular

not sure how to fix specs, as element class does not match actual.

@vveliev I'm not ready to accept this PR at this time.  All of the unit tests around this are failing. I'd be happy to pair with you to address them.  Since it is not really adding any new functionality, I'm not going to include it in the 2.2.4 release.

We cannot apply this PR because it will break population for custom Widgets.


Sphinx pre_install rationale

Hello,
In constants.py, you modify the jinja2 version. Why wouldn't the previous Jinja2>=2.3 not work, and an upper limit of 3.1 needed?

@prabhuteja12 Sphinx 3.1 - 4.0 are older versions. At the time, Jinja2 >= 2.3 meant a version that was < 3.1. Today, with this requirement, this constraint will install the latest version of Jinja2, which is later than 3.1.
Version 3.1 introduces a breaking change that is not backwards compatible. Therefore, we introduce this limitation to ensure that the Jinja2 installation is the one that was contemporary with Sphinx 3.1 - 4.0 versions and does not include the breaking change.
Hope this helps!

Closing this for now, please feel free to re-open if any follow up questions come up!


[Bug]: App works on build mode but got API 404 and timeout error on both production/deployed mode

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Application keep showing all the query has failed, got this error when open console log
Refused to set unsafe header "Expect"
GET https://appsmithdomain/api/v1/applications/snapshot/6495f2ed93e91c1592cfd8a2... 404
Steps To Reproduce

Create an app with 2 page, page 1 has a list view and each list item when you click in will redirect to an item view page with passed ID param
Deploy the app and go to the app's URL
Click on an item to navigate to view item detail page

Public Sample App
https://app.appsmith.com/app/tiktok-builder/trang-chinh-6495f3c19135f82ab51b9084
Environment
Production
Issue video log
No response
Version
Cloud

On the first page we get this error in the console: Refused to set unsafe header "Expect" and a 404 for this url: https://app.appsmith.com/api/v1/applications/snapshot/6495f3c19135f82ab51b9080

On the second page, we get the same as well as the queries failing:

@yitecdeveloper Can you please add<EMAIL_ADDRESS>as a developer to your example app so we can take a closer look?

Invited, the API is 404 but in build mode it works fine. I think it must be a bug.

I've confirmed this now. It seems to happen any time I call a query. My query returns fine, but it always displays this error in the console.

This happens to me whenever I make an API or DB query. Does not affect the functionality of my application but clogs up the console.

Looking closer in the sample app I see JSON reader expects a string but found 'null'. in the query failure message:

This comes after clicking one of the buttons on the list in the landing page. One of the queries is reading from the query params and failing with the above error. This only happens in deployed mode.

@Too-Smart @yitecdeveloper I think the issue is that the navigate function is not adding the query param in the deployed mode. You can get around this by storing the value using {{storeValue('key', value)}} and referencing it as {{appsmith.store.key}} in the new page and that should work

@Nikhil-Nandagopal this does not seem like an issue with the navigateTo function. Here's a sample app that works fine- https://app.appsmith.com/app/navigateto-params/overview-655ed565b6b8894bd68a29a2
@AlexiaAcevedo @yitecdeveloper could you share how you are reading the query params and passing it to your API or DB query?

@yitecdeveloper The usage of params in navigate button is incorrect. Could you please try passing it like this
{{{
"id": currentView.scriptID.text
}}}

Please go through https://docs.appsmith.com/reference/widgets/list#access-list-items for more info.

Closing this issue since the originally affected application works fine by tweaking the code as per the comment above


(cpp) Fix highlighting of unterminated raw strings

@yyyc514, thoughts?
PR #1897 switched C++ raw strings to use backreferences, however this breaks souce files where raw strings are truncated. Like comments, it would be preferable to highlight them.
Instead, go back to using separate begin and end regexps, but introduce an endFilter feature to filter out false positive matches. This internally works similarly to endSameAsBegin.
See also issue #2259.
(Also, I have to say, this C++ raw string syntax is a little absurd...)

I'll play around with a bit.  Nice to see this was so easy to accomplish.  I'm going to explore going broader though:
         begin: /\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/
       },
       { // heredocs
-        begin: /<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/,
-        returnBegin: true,
-        contains: [
-          { begin: /<<[-~]?'?/ },
-          { begin: /\w+/,
-            endSameAsBegin: true,
-            contains: [hljs.BACKSLASH_ESCAPE, SUBST],
-          }
-        ]
+        begin: /<<[-~]?'?(\w+)/,
+        end: /(\w+)\b/,
+        onBegin: function(m, state) { state.heredoc = m[1] },
+        onEnd: function(m, state) { return state.heredoc === m[1] },
+        contains: [hljs.BACKSLASH_ESCAPE, SUBST],
       }
     ]
   };

      {
        begin: /(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,
        end: /\)([^()\\ ]{0,16})"/,
        onBegin: function(m, state) { state.heredoc = m[1] },
        endWhen: function(m, state) { return state.heredoc === m[1] },
      }

Very open to thoughts on naming.  The PR isn't quite right, we'd need lots of thought and additional  regarding how this works with endsParent, endsWithParent, etc... endWhen probably needs to happen inside endOfMode so that if the first endWhen failed it would continue up the parent chain looking for a end that might match... vs right now it would find the first end that possibly matches, and then endWhen could cancel that match.
And already you have some good questions about nesting and when both end rules are the same (other than the callback)... if the first callback returns "false" is that a blocker, or does the chain of possible ends continue to be inspected moving up the parents until it finds one that might hit?
These same type of questions would likely apply to the endFilter also... whether a false is a HARD no, or a soft no, etc...
I MUCH prefer a generic solution here though because I very much dislike the idea of adding specific solutions to the parser each time we come across some weird language nuance.  For example that's what we did with endSameAsBegin.  A VERY specific grammar feature for only TWO languages (pgsql and Ruby)... when that exact problem could have been solved with the more generic solutions being proposed here.
@egor-rogov Any high-level thoughts?  Not looking for code critiques at this point but more of the idea conceptually... of adding callbacks to allow for this type of thing, etc...

that's what we did with endSameAsBegin.  A VERY specific grammar feature for only TWO languages (pgsql and Ruby)... when that exact problem could have been solved with the more generic solutions being proposed here.

Also note this is really almost EXACTLY the same problem as "endSameAsBegin" but because the solution was hard-coded it can't apply to this use case... just another point in why I dislike one off grammar "hack" rules vs more generic solutions that can be used more widely.

I very much dislike the idea of adding specific solutions to the parser each time we come across some weird language nuance.

Absolutely. I'd gladly sacrifice endSameAsBagin in favour of something more general. I was thinking (back when it was invented) about a way to reference begin's matching groups from end regexp, but couldn't come to a good solution.

Any high-level thoughts? Not looking for code critiques at this point but more of the idea conceptually... of adding callbacks to allow for this type of thing, etc...

I like the idea! Callbacks look promising.
For now I can't see what the use cases for onBegin/onEnd may be. Single endFilter is not enough?

For now I can't see what the use cases for onBegin/onEnd may be. Single endFilter is not enough?

Not all matches result in an actual end match... the file could end before an actual ending is reached.
It should probably be possible to reject/ignore a match completely at begin... (hence needing a begin callback of some sort)
Perhaps the onBegin wants to simply change the end regex directly at the time the match starts... (not currently allowed, but I'm not opposed to the idea conceptually).
Or perhaps you're counting tags because you only want to highlight the first occurrence of something or highlight additional occurrences as invalid?

The idea is to build out a flexible plugin system.  I feel like this comment you're making the same mistake as when endSameAsBegin was added... you're only imagining a single use case (filtering) instead of more generic system that people could build on top of.

* Or perhaps you're counting tags because you only want to highlight the first occurrence of something or highlight additional occurrences as invalid?

Yes, this makes sense.

The idea is to build out a flexible plugin/event system. I feel like this comment you're making the same mistake as when endSameAsBegin was added... you're only imagining a single use case (filtering) instead of more generic system that people could build on top of.

I understand the intent, and I'm in no way against it. Just wanted to imagine a situation in which onBegin/onEnd can be useful.

My latest thoughts on this include a response object:
{
        begin: /(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,
        end: /\)([^()\\ ]{0,16})"/,
        onBegin: function(m, state, resp) { state.heredoc = m[1] },
        onEnd: function(m, state, resp) { if (state.heredoc === m[1]) resp.ignoreMatch()  },
      }

It's possible you could have resp.data and then you'd be back to two params... but then I come to a naming issue.  Technically when you have a potential match (remember our callback is going to decide what to do with the match) you have two main possibilities:

"abort"... this is an indication of a failed match but you STILL advance the cursor, ie skipping the content in question
"ignore"... failed match, but the cursor is not advanced.

I think I could use help with the naming.  Examples of both:
beginKeywords in the past used an "abort" style match... So if you have:
B.class = A.class

And beginKeywords: 'class'... the .class would have been matched, but the . would be detected and then the entire match ignored AND the cursor moved to right before the =... ie. any later modes you have that might have matched ".cl" or "las" would fail because the cursor had already moved past.
That's what I'm calling "abort"... meaning "ignore" would ignore class (because of the .) but your cursor would still be at the .... so .cl WOULD match... or las WOULD match.
I'm thinking perhaps we only should expose the ignore behavior, but still I could use some better names just for internal use and talking about these things.

Example of usage:
// in Ruby
          Object.assign({
             begin: /(\w+)/, end: /(\w+)/,
             contains: [hljs.BACKSLASH_ESCAPE, SUBST],
           }
           }, hljs.END_FIRST_MATCH_SAME_AS_BEGIN)

// in C++
      Object.assign({
         begin: /(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,
         end: /\)([^()\\ ]{0,16})"/,
       }, hljs.END_FIRST_MATCH_SAME_AS_BEGIN)

And the "logic" can then become a shared mode snippet:
export const END_FIRST_MATCH_SAME_AS_BEGIN = {
   'after:begin': (m, resp) => { resp.data.heredoc = m[1]; },
   'before:end': (m, resp) => { if (resp.data.heredoc !== m[1]) resp.ignoreMatch(); }
 };

Not quite as pretty as endSameAsBegin: true, but completely modular and reusable.

I really like it. Very flexible and concise.
Response sound good, but too general. Maybe CallbackResponse or something like that?
I consider this PR mergeable, as soon as these new callbacks are described in the docs.
Btw, what do you think about deprecating endSameAsBegin?

Btw, what do you think about deprecating endSameAsBegin?

That would be the next step. Though I'm not sure what that would mean... that we could rip it out in say v11?

export const END_SAME_AS_BEGIN = function(mode) {
  return Object.assign(mode,
    {
    'after:begin': (m, resp) => { resp.data._beginMatch = m[1]; },
    'before:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch() }
    });
};

Now I'm wondering if defaulting to the first match group is assuming too much?  Hmmm...

@egor-rogov Check out the docs.  Now that I had to document them I'm thinking perhaps on:begin and on:end might be better names...
I'm not sure we ever need such granularity as before:begin and after:begin... and if not I'm not sure the prior naming makes good sense.  Its kind of weird to remember one is before and one is after, etc... and begs the question why isn't is "before begin" (and maybe it should be, lol).
I guess I could see some crazy data transforms if we allowed that, but we could do the same thing by adding more flexibility to response... ie response.addContent() or some such...
Does the on naming seem clearer to you?

Btw, what do you think about deprecating endSameAsBegin?

That would be the next step. Though I'm not sure what that would mean... that we could rip it out in say v11?

Just so.

Does the on naming seem clearer to you?

Yes, I have the same feeling that on is better.
Maybe that END_SAME_AS_BEGIN snippet worth mentioning in plugin-recipes?

Maybe that END_SAME_AS_BEGIN snippet worth mentioning in plugin-recipes?

Are all the other MODE helpers documented anywhere?  It'd probably be good if they were, but if you document one you have to document all...

Maybe that END_SAME_AS_BEGIN snippet worth mentioning in plugin-recipes?

Are all the other MODE helpers documented anywhere? It'd probably be good if they were, but if you document one you have to document all...

They are not, but END_SAME_AS_BEGIN is the first one that uses plugins and it is a good example. Anyway, that's a separate story.

They are not, but END_SAME_AS_BEGIN is the first one that uses plugins and it is a good example. Anyway, that's a separate story.

It uses callbacks, not plugins. :-)  But yes separate story.

It uses callbacks, not plugins. :-)

Oh, right... :facepalm: There are no callback recipes yet (:

@davidben Sorry for the delay on this one - and it's not exactly what you originally submitted - but I still gave you the byline for the bug fix. :-)  Merging now.


Update for ammeter 1.1.4

The latest version of ammeter loads capybara/rails, which in turn means Rails.application needs to be present. Somewhere, a connection pool is needed too.

:tada:


[ARM Plugin] Fix DecomposeVariadicSplit transformation if input node has more than 1 output

The fix addresses the error get_shape() must be called on a node with exactly one output

what test / problems does it it fix?

what test / problems does it it fix?

It fixes horizontal-text-detection-0001
Ticket: 101335

/azp run openvino_contrib-android-arm64

/azp run openvino_contrib-lin

/azp run openvino_contrib-win

what test / problems does it it fix?

It fixes horizontal-text-detection-0001 Ticket: 101335

let's port this to releases/2022/3 then


Simplisafe Outage?

Anyone having trouble getting to simplisafe.com? Web and app are both suddenly down for me...and hoping it's a complete coincidence.

Yes also having an issue - seems to be related to my internet provider though - if I try from cellular it works fine but just not over my internet provider. Who do you have? AT&T?

Same here... connected to ISP (Verizon FiOS) I'm getting 403 Forbidden. Works from cell (AT&T). I am able to get to https://webapp.simplisafe.com/ but can't log in.
Needless to say this makes controlling via Homebridge / Homekit impossible. I wish there was a way to access the devices locally.

Doubt you guys are having the same issue.
403 is an authentication issue, I've gotten it in the past with the plugin and seemed like my IP was [temporarily] getting blocked, I stopped the plugin / Homebridge and left it for a few hours and once I verified I could login again via website / app tried again.
See: https://github.com/nzapponi/homebridge-simplisafe3/issues/12
https://github.com/nzapponi/homebridge-simplisafe3/issues/31
Not being able to reach the website or app sounds more like ISP, etc. Again, if you cant login to website / app, its not a plugin issue.

Same issue here... I can’t access SimpliSafe either!

I guess I was flagged and was being blocked for some reason (likely the API storm that was coming from HB and HomeKit). I was eventually able to renew my external IP and got through.
I’m curious what their threshold is. Might open a ticket with SS to log it.

Strange we all got it at the same time...

Still curious if was all the same thing, @nzapponi and @virtualjad you guys were testing out the smart lock update, maybe all that that got you guys temporarily banned (hence 403) but OP couldn’t even reach the website...

I am gonna "co-sign" this; I have access to SimpliSafe over cell but not from my network. Looks like a block to me at the ip level.

I can get to the site again. Stopped homebridge for a few hours.
Pretty sure it was tied to my IP address, I didn’t get the 403 when I went through a proxy.

Oh I forgot to mention, as was in the other issues linked to above, if this keeps happening consider dropping your sensor refresh timer to 30s, default is 15. Eg config:
"sensorRefresh": 30
I had to do that ages ago cause I would get blocked once or twice a day, since I set it to 30 never happens.
I wonder if SS were/are experimenting with more aggressive rate-limiting. hope not, it’s bad enough to flake out on HomeKit support but this would be really uncool...