Unable to parse filename %FILENAME% due to delimiter "-.-" missing`

Running latest images of Manga-Tagger and Manga-Tagger-DB and upon first trial I get the message below from the logs:
2022-02-15T03:23:02.937007684Z [cont-init.d] 99-custom-files: exited 0.
2022-02-15T03:23:02.937508911Z [cont-init.d] done.
2022-02-15T03:23:02.938129890Z [services.d] starting services
2022-02-15T03:23:02.945719191Z [services.d] done.
2022-02-15T03:23:03.932360242Z 2022-02-14 22:23:03,932 | MainThread<PHONE_NUMBER>11656 | MangaTaggerLib.database.Database | INFO - Establishing database connection...
2022-02-15T03:23:05.455800914Z 2022-02-14 22:23:05,455 | MainThread<PHONE_NUMBER>11656 | MangaTaggerLib.database.Database | INFO - Database connection established!
2022-02-15T03:23:05.456758260Z 2022-02-14 22:23:05,456 | MainThread<PHONE_NUMBER>11656 | MangaTaggerLib.utils.AppSettings | INFO - Download directory has been set as "/downloads"
2022-02-15T03:23:05.457822726Z 2022-02-14 22:23:05,457 | MainThread<PHONE_NUMBER>11656 | MangaTaggerLib.utils.AppSettings | INFO - Image directory "/config/cover" does not exist; creating now.
2022-02-15T03:23:05.458855130Z 2022-02-14 22:23:05,458 | MainThread<PHONE_NUMBER>11656 | MangaTaggerLib.utils.AppSettings | INFO - Data directory "None" does not exist; creating now.
2022-02-15T03:23:05.459871527Z 2022-02-14 22:23:05,459 | MainThread<PHONE_NUMBER>11656 | MangaTaggerLib.database.ProcSeriesTable | INFO - Loading processed series...
2022-02-15T03:23:05.500453540Z 2022-02-14 22:23:05,500 | MainThread<PHONE_NUMBER>11656 | MangaTaggerLib.database.TaskQueueTable | INFO - Loading task queue...
2022-02-15T03:23:05.501304773Z 2022-02-14 22:23:05,501 | MainThread<PHONE_NUMBER>11656 | MangaTaggerLib.database.TaskQueueTable | INFO - Attempting to delete all records in the database...
2022-02-15T03:23:05.502076129Z 2022-02-14 22:23:05,501 | MainThread<PHONE_NUMBER>11656 | MangaTaggerLib.database.TaskQueueTable | INFO - Deletion was successful!
2022-02-15T03:23:05.502652765Z 2022-02-14 22:23:05,502 | MainThread<PHONE_NUMBER>11656 | MangaTaggerLib.MangaTaggerLib | INFO - Starting Manga Tagger - Version 1.2.3-alpha
2022-02-15T03:23:05.504401186Z 2022-02-14 22:23:05,504 | MainThread<PHONE_NUMBER>11656 | MangaTaggerLib.task_queue.QueueWorker | INFO - Watching "/downloads" for new downloads
2022-02-15T03:41:10.226251788Z 2022-02-14 22:41:10,226 | Thread-1<PHONE_NUMBER>53240 | MangaTaggerLib.task_queue.SeriesHandler | INFO - Creation event for "/downloads/Manga/Useless Ponko/Vol. 09 Ch. 064.cbz" will be added to the queue
2022-02-15T03:41:10.843578052Z 2022-02-14 22:41:10,842 | MTT-0<PHONE_NUMBER>44216 | MangaTaggerLib.task_queue.QueueWorker | INFO - Pulling "file created" event from the queue for "/downloads/Manga/Useless Ponko/Vol. 09 Ch. 064.cbz"
2022-02-15T03:41:11.846281271Z 2022-02-14 22:41:11,845 | MTT-0<PHONE_NUMBER>44216 | MangaTaggerLib.MangaTaggerLib | INFO - Now processing "/downloads/Manga/Useless Ponko/Vol. 09 Ch. 064.cbz"...
2022-02-15T03:41:11.847161819Z 2022-02-14 22:41:11,846 | MTT-0<PHONE_NUMBER>44216 | MangaTaggerLib.MangaTaggerLib | INFO - Attempting to rename "Vol. 09 Ch. 064.cbz"...
2022-02-15T03:41:11.848214204Z 2022-02-14 22:41:11,847 | MTT-0<PHONE_NUMBER>44216 | MangaTaggerLib.MangaTaggerLib | ERROR - Unable to parse filename "Vol. 09 Ch. 064.cbz" due to delimiter "-.-" missing
2022-02-15T03:41:11.848251194Z Traceback (most recent call last):
2022-02-15T03:41:11.848262711Z   File "/app/Manga-Tagger/MangaTaggerLib/MangaTaggerLib.py", line 85, in filename_parser
2022-02-15T03:41:11.848273198Z     raise UnparsableFilenameError(filename, '-.-')
2022-02-15T03:41:11.848282954Z MangaTaggerLib.errors.UnparsableFilenameError: Unable to parse filename "Vol. 09 Ch. 064.cbz" due to delimiter "-.-" missing
2022-02-15T03:41:11.849294834Z 2022-02-14 22:41:11,848 | MTT-0<PHONE_NUMBER>44216 | MangaTaggerLib.task_queue.QueueWorker | ERROR - 'NoneType' object is not subscriptable
2022-02-15T03:41:11.849329531Z Traceback (most recent call last):
2022-02-15T03:41:11.849340271Z   File "/app/Manga-Tagger/MangaTaggerLib/task_queue.py", line 188, in process
2022-02-15T03:41:11.849350484Z     MangaTaggerLib.process_manga_chapter(path, uuid.uuid1())
2022-02-15T03:41:11.849359927Z   File "/app/Manga-Tagger/MangaTaggerLib/MangaTaggerLib.py", line 68, in process_manga_chapter
2022-02-15T03:41:11.849369946Z     metadata_tagger(file_path, manga_details[0], manga_details[1], manga_details[2], logging_info)
2022-02-15T03:41:11.849379756Z TypeError: 'NoneType' object is not subscriptable
2022-02-15T03:41:11.850084443Z 2022-02-14 22:41:11,849 | MTT-0<PHONE_NUMBER>44216 | MangaTaggerLib.task_queue.QueueWorker | WARNING - Manga Tagger is unfamiliar with this error. Please log an issue for investigation.
I am running the FMD2 docker with default filenaming properties. It seems FMD2 succeeds in pulling the file from Mangadex, and Mangatagger can see the file, but it can't do anything with it. Any clues on this?

Hello, it's because fmd2 isn't renaming correctly the files it downloads. It should have been auto-configured (i'll take a look) but if it isn't you have to change fmd2 settings so it output files with a name like:  "%MANGA% -.- %CHAPTER%.cbz"
Manga-Tagger needs this delimiter to parse the filename and recognize the manga/chapter.

Thank you! I went to Options/"Save to" in FMD2 and under the box "Filename:" changed the value to "%MANGA% -.- %CHAPTER%.%FILENAME%". Mangatagger succeeded after this change.


Remove search layer from legend

I use the ol-ext layerswitcher and this geocoder.
However following the search with geocoder in the legend the visible layer appears at the top.

The layerswitcher has a setting displayInLayerSwitcher : false, to be written in ol.layer.Vector ({
I don't understand how to edit ol-geocoder.js to insert the setting.
Can you help me?
Thank you

I found a solution by myself.
You need to enter displayInLayerSwitcher: false at this point:
this.layer = new n ({name: this.layerName, source: new s, displayInLayerSwitcher: false,})

I have provided this in https://github.com/Dominique92/ol-geocoder

Closed in https://github.com/Dominique92/ol-geocoder/releases/tag/v4.3.0


auto_exc's hashing behavior and its documentation do not match

The documentation for auto_exc says:
  - the values for *cmp* and *hash* are ignored and the instances compare
          and hash by the instance's ids (N.B. ``attrs`` will *not* remove
          existing implementations of ``__hash__`` or the equality methods. It
          just won't add own ones.),

However, the test for auto_exc says:
    Classes with auto_exc=True have a Exception-style __str__, are neither
        comparable nor hashable, and store the fields additionally in
        self.args.

and tests:
            with pytest.raises(TypeError):
                hash(e)

The documentation and the code should be made consistent.  I noticed this because unittest complained that the exception type was unhashable when thrown from a test and I see some references to logging expecting hashable exceptions, so the documented behavior is probably better than the implemented behavior.

Oh god, are there any docs on Exception hashability? This looks bonkers:
In [7]: hash(Exception()) == hash(Exception())
Out[7]: True

In [8]: hash(Exception(1)) == hash(Exception(1))
Out[8]: True

In [9]: hash(Exception(1)) == hash(Exception(2))
Out[9]: True

In [10]: hash(TypeError(1)) == hash(TypeError(2))
Out[10]: True

@hynek: This confused me for quite a while, but I think I have tracked it down, helped by some further investigation by @berquist.
Note you don't get the same error if you first assign the exceptions to variables before doing the comparison.  I think what is going on is:

Exception and TypeError have hash and equality by id().
The the first exception is created and its hash is taken from its memory location.  Then it is no longer referenced, so it is deleted from memory.  The second exception is created in the same memory location formerly occupied by the first exception and therefore has an identical id().  See https://github.com/satwikkansal/wtfpython#-deep-down-were-all-the-same- .

For the life of me I can't find any documentation of the requirements or conventions for __eq__ and __hash__ with respect to exceptions.   There is definitely nothing about it in the obvious places in the Python documentation.  This is unfortunately an extremely difficult thing to Google for, and I can't turn up anything else useful.  Also, what appears to be the tests for the base exception classes in CPython have no tests related to either hashing or equality.
The actual behavior of the built-in exceptions seems to match what the attrs documentation says it will do (hashing and equality by id()), so it seems reasonable to switch the implementation to match the documentation.

For anyone searching for these errors, this issue can cause failures to format tracebacks that look like this:
Traceback (most recent call last):
  File "attrstb.py", line 19, in <module>
    traceback.print_exc()
  File "/usr/lib/python3.5/traceback.py", line 159, in print_exc
    print_exception(*sys.exc_info(), limit=limit, file=file, chain=chain)
  File "/usr/lib/python3.5/traceback.py", line 100, in print_exception
    type(value), value, tb, limit=limit).format(chain=chain):
  File "/usr/lib/python3.5/traceback.py", line 439, in __init__
    _seen.add(exc_value)
TypeError: unhashable type: 'UnhashableException'

Or, if you passed hash=True or frozen=True, hashing may fail when it encounters an unhashable type like list or dict that was passed to the exception constructor.
Passing hash=False is a simple and forward-compatible workaround, so in attrs 19.1.0 you can use auto_exc like this:
@attr.s(auto_exc=True, hash=False)
class MyException(Exception):
    foo = attr.ib()

hash=False causes the class to inherit object.__hash__. Such an exception type is compatible with the traceback module's formatting functions.


SASS version on npm

I am not able to find any sass version of the materialize library on npm all I find is this project on npm but it does not include the javascript files. How can someone who would like to work on sass version of materialize use this library , I can download the sass version but I would like have it on npm so it is easy to download.

+1

+1 - Angular/React/Ember communities would love this, I'm sure

+1

Fixed in latest release

Does the npm package https://www.npmjs.com/package/materialize-sass  include the SASS version now?

What has been fixed in latest release?

The sass files are now included in the npm release

Thanks @Dogfalo and @acburst for the update.


HI3 Senadina Game Settings Adjustments

This PR contains fixes for changes in game settings happened in Honkai Impact 3rd 7.3.0.

Fixed error caused by lack of medium enum in Shadow Quality
Added new settings:

Level of Detail (moved from APHO2 settings)
Particle Quality
Lighting Quality
Post-FX Quality
Anti-Aliasing Mode
Character Quality
Weather Quality
Physics toggle (moved from Visual Effects expander)

Moved "still available settings but not found in-game" settings into "Legacy Settings"
Disabled Preset function

Screenshots:

Please ignore the Snyk failed test :derp:

I don't see anything out of the ordinary, so looks OK for me. Are we planning on removing legacy options one day or are we trying to keep them for as long as possible?

IMO we can keep it as is until they are removed from the json by the game


drag issue from outside

Failure Information (for bugs)
When dragging a new item from the outside to the top, abnormal behavior occurs as shown below.
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
https://github.com/gwinnem/vue-responsive-grid-layout/assets/1608782/5bc04de2-d4a5-43fb-bbbd-02aa561e1597

Hi @zeroty.
This not a bug in the npm package. But it is a bug in the example app.
I will look at it later, but this will not be a high priority right now.


Add files via upload

Description 📜
Added Finding Packages and Classpath.

Type of change 📝

[ ] Au#dio (Should be in mp3 format Includes speech clarity, Concise ,Low distortion)
[ ] Vi#deo (Animations, screen-recordings, presentations and regular explanatory films are all possibilties etc)
[x] Documentation (Content Creation in the form of codes or tutorials)
[ ] Other (If you choose other, Please mention changes below)

Domain of Contribution 📊

[ ] Android Dev #(Flutter)
[ ] Android Dev #(Java)
[ ] Android Dev #(Kotlin)
[ ] Backend Dev #(Java)
[ ] Backend Dev #(.NET)
[ ] Backend Dev #(PHP)
[ ] Backend Dev #(Python)
[ ] C/#CPP
[ ] Competitive #Programming
[ ] Cyber #Security
[ ] DS#A
[ ] Data#base
[ ] Datascience with #Python
[ ] Datascience with #R
[ ] Frontend Dev #HTML/CSS/JS
[ ] Frontend Dev #React/Angular/Vue
[ ] Go#lang
[ ] Interview #Prep
[x] Java_Domain
[ ] Java#Script
[ ] ME#RN
[ ] Machine #Learning
[ ] Open #Source
[ ] Python_#Domain
[ ] Ru#st
[ ] Statis#tics
[ ] UI/#UX

Checklist ✅

[ x] I follow Contributing Guidelines & Code of conduct of this project.
[x ] I have performed a self-review of my own code or work.
[x ] I have commented my code, particularly in hard-to-understand areas.
[ x] My changes generates no new warnings.
[x ] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@shoebxsiddiqui You had made changes in the wrong branch. Do changes in your Java branch and create a new PR. I am closing this.

@AkMo3  sir i have made another PR pls do check  #3525


Support for swagger 2 example in Schema Object

It would be very useful to support the Schema Object "example" field (https://github.com/wordnik/swagger-spec/blob/master/versions/2.0.md#schema-object-).
That could be done by adding a parameter to the ApiModelProperty annotation.

Has this been released? I am using 2.0. How does it render in UI? I don't see it. My object definition is like this but it doesn't show anywhere in UI. Please help.
"definitions":{
"Communication": {
"description": "Represents user's emails and phone numbers.",
"externalDocs": {
"description": "This is a EA defined Resource reused here.",
"url": "https://xyz"
},
"example": {
"communication": {
"mobiles": {
"itemID": "1",
"nameCode": {
"codeValue": "personal",
"shortName": "Personal"
},
"formattedNumber": "2015551212"
},
"emails": {
"itemID": "1",
"nameCode": {
"codeValue": "personal",
"shortName": "Personal"
},
"emailUri"<EMAIL_ADDRESS>}
}
}
}
}

same here.


Fixes #2354. View should have a IgnoreHasFocusPropertyOnRedraw property to prevent unnecessary derived class.

Fixes #2354 - A simple view now can be used as container with normal and focus color if IgnoreHasFocusPropertyOnRedraw is false (default) or only with the normal color if it's true. Now if it's possible to focus a enable view this is ensured, otherwise the cursor will be invisible.
Pull Request checklist:

[x] I've named my PR in the form of "Fixes #issue. Terse description."
[x] My code follows the style guidelines of Terminal.Gui - if you use Visual Studio, hit CTRL-K-D to automatically reformat your files before committing.
[x] My code follows the Terminal.Gui library design guidelines
[x] I ran dotnet test before commit
[x] I have made corresponding changes to the API documentation (using /// style comments)
[x] My changes generate no new warnings
[x] I have checked my code and corrected any poor grammar or misspellings
[x] I conducted basic QA to assure all features are working

Do we have a real user that has requested this?
In my opinion we should be very leery of adding new features (methods/properties) to v1 that are not critically needed.
Everything we add to v1 now becomes more legacy we need to support/port in v2.
I would much rather get focused on v2 for things like this.
However, if there is a real customer (developer external to this project) who is requesting this, and can't get their app to work without it, then I'll change my mind.

Do we have a real user that has requested this?

We may not need the IgnoreHasFocusPropertyOnRedraw which is a new feature, but I think you didn't yet seen that this PR fixes three bugs:

Fixes the View.Redraw that doesn't clear itself before redraw his subviews.
Fixes the Enabled property if is true of a view that is being added to the superview that has the Enabled as false by not also setting the subview to false.
Fixes the PositionCursor where the cursor isn't placed on the available view that can focus, is visible and is enabled when a previous view that was previously focused and his Enabled property is set to false.

The GetFocusColor method is a helper to get the Focus or the Disabled color.

In my opinion we should be very leery of adding new features (methods/properties) to v1 that are not critically needed.

I agree. The only thing I can remove here is the IgnoreHasFocusPropertyOnRedraw property. The rest I think is useful for both versions.

Everything we add to v1 now becomes more legacy we need to support/port in v2.

I agree. Do you want I do remove the IgnoreHasFocusPropertyOnRedraw property, then?

I would much rather get focused on v2 for things like this.

I agree with the cases of adding new features, but not for bug fixes before the v2 is published.

However, if there is a real customer (developer external to this project) who is requesting this, and can't get their app to work without it, then I'll change my mind.

No there is no customer, that was only me that I detected some bugs and when I was fixing I thinking in a view to force the view to always using the normal color whether it's focused or not, if the IgnoreHasFocusPropertyOnRedraw property is true.

Do we have a real user that has requested this?

We may not need the IgnoreHasFocusPropertyOnRedraw which is a new feature, but I think you didn't yet seen that this PR fixes three bugs:

Fixes the View.Redraw that doesn't clear itself before redraw his subviews.
Fixes the Enabled property if is true of a view that is being added to the superview that has the Enabled as false by not also setting the subview to false.
Fixes the PositionCursor where the cursor isn't placed on the available view that can focus, is visible and is enabled when a previous view that was previously focused and his Enabled property is set to false.

I know it seems like more work (and I know I'm guilty of not always doing this right myself), but these should really each be documented as individual Issues and submitted as separate PRs.
For v1 develop (I think we can operate slightly more loosey-goosy in the v2 branch), I am wondering if we should start being super-hardcore about this. I'd be curious to know your reaction to me stating that.

I agree. Do you want I do remove the IgnoreHasFocusPropertyOnRedraw property, then?

Yes.

I know it seems like more work (and I know I'm guilty of not always doing this right myself), but these should really each be documented as individual Issues and submitted as separate PRs.

Yes you are right. Sometimes I'm so lazy, sorry :-)

For v1 develop (I think we can operate slightly more loosey-goosy in the v2 branch), I am wondering if we should start being super-hardcore about this. I'd be curious to know your reaction to me stating that.

Yes I'm starting working more in the v2 and I propose that you move the View2 code to the View, so we can only be focusing in the v2. But I think that all the v1 bugs that are transversal to the v2 must be merge in the v1 and all the v2 PR must be merged with the develop branch before they are submitted, otherwise there will be a bunch of merge conflicts to resolve.

I agree. Do you want I do remove the IgnoreHasFocusPropertyOnRedraw property, then?

Yes.
I already removed and changed the issue and PR's titles.

I know it seems like more work (and I know I'm guilty of not always doing this right myself), but these should really each be documented as individual Issues and submitted as separate PRs.

Yes you are right. Sometimes I'm so lazy, sorry :-)

No need to apologize. We're all in this for fun (but I think it's fun to sometimes pretend this all matters ;-).

For v1 develop (I think we can operate slightly more loosey-goosy in the v2 branch), I am wondering if we should start being super-hardcore about this. I'd be curious to know your reaction to me stating that.

Yes I'm starting working more in the v2 and I propose that you move the View2 code to the View, so we can only be focusing in the v2. But I think that all the v1 bugs that are transversal to the v2 must be merge in the v1 and all the v2 PR must be merged with the develop branch before they are submitted, otherwise there will be a bunch of merge conflicts to resolve.

I'm going to do this asap.
In some cases, I plan on focusing on v2 and then back-porting to v1. I think that either way we'll have some merge issues to deal with. Not fun.


feat: take picture from a specified device

As a resident, I might want to take/receive picture from a specified device. I can stream my cameras, but what If I have a low connection? Or I might just want a simple picture, easier than a video streaming, quicker...
Technically
Remember that, by design we don't include any device_id in the mqtt topic. So here, as we want to target some device(s), we have to put this information in the json payload. By writting this, I don't know if this is a "good" solution. It might be better to add specific topic with the device_id in it, for instance: camera/take_picture/<device_id>. By doing so, we move the "pain" in another area: If we want to take pictures from the "outside" for instance, we will have to publish multiple message on different topics. This is a trade-off...

Today topics have the device_id data.

Won't implement it because live stream feature is available.


New "new deployment" page

Background
We've been working on Frictionless Free Trials, Credit Card Payments and a workflow (similar to vercel) that takes care of building a container and deployment SDL for the user. Previously we built a way for users to get a "VM-like" experience using the "container-vm" template (that let's them provide an SSH pub key and then get access to a plain linux container that they can then install what they want into).
All these features combined together make Akash network usable by non-crypto users who may not be familiar with akash or SDLs or docker containers. There is a good opportunity to revisit the new deployment page, with these features in place - so that we're meeting these non-crypto, non-akash-familar developers where they are coming from.
Goal
The goal of this task is to redesign the new deployment page (https://console.akash.network/new-deployment) so that there are clear workflows for the 4 developer user personas we want to target:

For Pure web devs who just have a react app and don't know how or know but don't want to deal with containers or infra (and use vercel or equivalent PaaS today) => "Buid & Deploy"  (which will lead to the new "Build & Deploy" template that is under development and soon to be released https://github.com/akash-network/console/issues/226)

For DevOps Engineers who use EC2 or equivalent VM instances, to deploy apps for their teams => "Container-VM" (which will lead to this existing workflow under the "Plain-Linux" template https://console.akash.network/deploy-linux?step=edit-deployment)

For DevOps engineers who already have microservices and are already container native with their applications => "Custom Container" which will lead to this existing workflow: https://console.akash.network/new-deployment?step=edit-deployment

For Akash champions (aka power users) who already have their own SDLs and don't need help building containers or SDLs => "Upload SDL" (this will be a minimalist element on the top right of this page that Denis will add in a subsequent iteration)

UI Design

Hello @anilmurty I will take this issue

hey @forbesus - thanks for the interest - let me discuss with the core team and let you know

hey @forbesus - We discussed this and realized that we need to define a better process for community code contributions. This is based on the struggles we've had with some recent PRs (larger features). We're going to work on that. Meanwhile we want to get this one out relatively quickly so we'll have the core team work on it.

Hi @anilmurty
I am interested in this issue
If I can start work,  plz let me know

hey @Bct-crypto - please see my last comment. We are working on identifying good issues for community devs and also a more formal process for how they can contribute


ReferenceError - undefined function

I'm using anuglar-load to load the SlidingMarker API after my google maps API has loaded asycnohornly in an angular controller. https://github.com/terikon/marker-animate-unobtrusive#api
This does not throw an error but when I try to use the plugin in the controller I get a ReferenceError. Interestly, I can call new SlidingMarker inside the chrome developer console without any issues.
ionic.bundle.js:26771 ReferenceError: SlidingMarker is not defined

            var marker = new SlidingMarker({
                position: myLatlng,
                map: map,
                title: "I'm sliding marker",
                duration: 2000,
                easing: "easeOutExpo"
            });

IS there some scoping issue going on here?

I have the same issue! I was wondering the exact same thing - what am I not getting here? In the meantime, I am forced to explore other options.
Can someone update us at least if there is a timeframe for investigation this?
Thanks!!


Document Manager Sync and Configuration

Introduces the ability to syncronize documents to a "publish" document manager.
The "publish" document manager will be assocated with a different PHPCR session from
the "default" manager.

New documents are always propagated to the publish manager (we assume that they will be created in draft mode and therefore not visible on the website).

Documents can be then explicitly syncronized using SyncronizationManager::syncFull or syncSingle.

Each document which can be syncronized should imlplement the SyncronizeBehavior.

Each document which can be syncronized has a list of document manager names with which it is syncronized with.

When a document is already syncronized it is not necessary to sync it again.
This is also useful in knowing if we need to transfer additional documents to the other workspace, i.e. in the case of redirect routes.

[x] SyncroizationManager.

[x] SyncronizationSubscriber.

[x] Syncronization command.

[x] Deleting.

[x] Test subscriber.

[x] Test sync manager.

[x] Documentation

[ ] Benchmark creating / updating document with 1 or 2 workspaces.

NOTE: Currently saving is about 125% slower than normal with 2 workspaces. We could reasonably expect 100% slower without optimizations.
We can improve the situation by not registering certain subscribers on the live document manager - notably the search subcriber adds much overhead and it not at all required.

Updated, now have problem with:
[RuntimeException]
  Document "ProxyManagerGeneratedProxy\__PM__\Sulu\Component\DocumentManager\Document\UnknownDocument\Generateda84aebfffbf882fd8bddc950faa89e05" with OID "0000000075b2
  d1000000000073e79748" is not managed, there are "0" managed objects,

Where the UnknownDocument is accessed by the "publish" document manager, would probably also be an issue for all proxy-parent documents.
Need a solution there.

@dantleech General question: Shouldn't it be synchronize instead of syncronized?

@danrot in reference to what?

@danrot it seems syncronized is an "alternative" spelling of synchronized, we should probably use the canonical one.

There were hacks added to the document manager to bypass subscribers if the path option was present. These have currently been removed from the document manager PR, as it is probably better to reorder the subscribers so that the ExplicitSubscriber precedes the offending subscribers. Will need to verify here.

Renamed Syncronized to Synchronized.

Closing this and reopening as a PR against my branch.

See https://github.com/dantleech/sulu/pull/2


remove based, keep validators

closes https://github.com/rollkit/rollkit/issues/1272, https://github.com/rollkit/rollkit/issues/1172, https://github.com/rollkit/rollkit/issues/1312
This PR uses the SignedHeader.Validators field to track the proposer, unlike my previous PR which removed the field.
in processNextDABlock, we now avoid wasting resources on blocks that fail ValidateBasic, or are signed by someone other than the expected proposer (scraped from genesis).

Summary by CodeRabbit

New Features

Implemented new validation checks to ensure only valid blocks are processed.
Added functionality to verify if a SignedHeader is from the expected centralized sequencer.
Introduced a method to compare validator pointers for equality.

Bug Fixes

Fixed an issue where the proposer validation did not handle multiple validators correctly.

Refactor

Updated block publishing logic to utilize centralized sequencer validators.
Enhanced signature verification for increased security and reliability.

Tests

Modified integration tests to align with the new validation and signature verification logic.

closed in favor of https://github.com/rollkit/rollkit/pull/1397


Fixed indent.

Used space instead of tabs in readme.
I made a mistake in the last PR about the readme, sorry.

Lol thanks


Feature Request : Shiny

Thanks to I assume @davidakachaos check in we are now getting notifications if catches are Shiny, but can we use this logic else where? Ideally I would like to use it as a VIP / always catch / never release.
Is this possible?

I made this change only im my code  but i'm not shure it will work becouse I'm a developer but it is my first time with python, can you tell me wheter it will wordks, my only dobt is about indent.
def should_release_pokemon(self, pokemon, keep_best_mode=False):
    release_config = self._get_release_config_for(pokemon.name)

    if pokemon.shiny:
                self.emit_event(
                    'pokemon_shiny_keep',
                    data={
                        'pokemon': pokemon.name,
                        'iv': pokemon.iv,
                        'cp': pokemon.cp,
                        'ivcp': pokemon.ivcp
                        'shiny': pokemon.shiny
                    },
                    formatted="Kept {} (CP: {}, IV: {}, IVCP: {} shiny: {})".format(pokemon.name, pokemon.cp, pokemon.iv, pokemon.ivcp, pokemon.shiny),
                )
       return False

I know it is hard code and will keep all shiny, I'll try something better, after understand how python and all this engine work.

I made this change on my transfer_pokemon.py code, it works for me:
def should_release_pokemon(self, pokemon, keep_best_mode=False):
    release_config = self._get_release_config_for(pokemon.name)

    never_release_shiny = release_config.get('never_release_shiny', 0)
    if pokemon.shiny and never_release_shiny:
       self.emit_event(
           'pokemon_shiny_keep',
           data={
               'pokemon': pokemon.name,
               'iv': pokemon.iv,
               'cp': pokemon.cp,
               'ivcp': pokemon.ivcp,
               'shiny': pokemon.shiny
           },
           formatted="Kept {} (CP: {}, IV: {}, IVCP: {} shiny: {})".format(pokemon.name, pokemon.cp, pokemon.iv, pokemon.ivcp, pokemon.shiny),
       )
       return False

    if (keep_best_mode

And of config.json
    "any": { "keep_best_cp": 1, "never_release_shiny": true},

    "Pidgey": { "keep_best_cp": 10, "never_release_shiny": true },
    "Weedle": { "keep_best_cp": 10, "never_release_shiny": true },
    "Caterpie": { "keep_best_cp": 10, "never_release_shiny": true},
    "Caterpie": { "keep_best_cp": 10, "never_release_shiny": true},
    "// Keep no more than 3 best IV pokemon for every pokemon type": {},

I don't know how to implement it in project.

I'd love to know how to get the bot to treat shiny as VIP and never transfer/release them.

@ronaldobr72 Make sure you also have extended config/config.json.example as well as docs/configuration_files.md. Then run these commands:
> git config --global user.name "Your Full Name"
> git config --global user.email<EMAIL_ADDRESS>> git commit pokemongo_bot/cell_workers/transfer_pokemon.py config/config.json.example docs/configuration_files.md
> git push origin HEAD:pr-01-keep-shiny

NOTE: When committing, make sure to include the line Closes #5982 to make sure Github will notice that your pull request will close this thread.
Visit your fork at https://github.com/ronaldobr72/PokemonGo-Bot and create a full request.


[TheChiveIE] Add support for thechive.com (Closes #5016)

This commit adds support for www.thechive.com, closing bug #5016.

Thanks a lot for the PR and the hard work, however, I've added a more generic Kaltura extractor and support for Kaltura embeds (which are use by thechive.com) in the generic extractor. Sorry for the lack of indication that I was working on it, I guess I should've assigned the issue to myself :worried:

Oops, sorry for the accidental merge, didn't notice your message, @naglis.


ENH: Added value_indices() function to scipy.ndimage

This new function returns a dictionary of array indices, one entry for each distinct value in the input image, keyed by value. Provides a time-efficient method to search for the locations of individual values within an array.

Reference issue

What does this implement/fix?

Additional information

Hi @neilflood, thank you for the PR. This seems useful. Before doing any review, we need to consider this for inclusion in SciPy. Can you send an email to the mailing list to get some opinion? https://mail.python.org/mailman3/lists/scipy-dev.python.org/

Thanks @tupui
I have just sent mail to the list, it is waiting on moderation.
:-)

P.S. Good job making use of the ndimage machinery! Very tidy.

Would it be useful to optionally specify the min/max so you can just get the clusters you are interested in?

Thanks @gillins
I think that could be done. It does add a little clutter, because we could no longer assume that the array values are within the range [minval, maxval], but instead we would have to explicitly check this on every element, in both the 2nd and 3rd passes. If I did add this, I would probably allow min and max to be passed independently, i.e. one could give one or the other or both. Do you think that would be best? If both are given (but not otherwise) then the 1st pass can be omitted, but if only one is given, then the 1st pass will also have check which has not been given, and only calculate that.
It has never come up in the situations I have used in the past, but I can sort of imagine there could be use cases for this. Any particular uses in mind?
The worst part would be thinking up names for the min and max values to be passed in. :-)

This functionality can always be added later as a second PR, and can currently be obtained by post-processing the dictionary. I think we should get this simple version in first.

Sounds good. I hadn't realised that adding this would slow the calculation down so happy to leave it and post-process if needed.

OK, I agree with all that. I will leave the min/max arguments until the need arises.
@tupui, @stefanv - what are the next steps in SciPy's procedures for a PR like this? Is there anything I should be doing, or should we just allow time for comment from others?

I've approved; @tupui, anyone else able to review and merge?

@stefanv I don't know who is working ATM on this module. Maybe @grlee77? But if you reviewed the C++ code, we could go for it since it was already announced on the ML and got positive feedbacks.

I wonder whether a way forward maybe to have 2 implementations. One for the sparse case and one for the dense case and which one to use be controlled by a flag? This way both situations will have the optimum algorithm...
Would be nice if there could be a flag value which means "I don't know, please choose the best one". Maybe a simple test of the difference between min and max?

Thanks @gillins
I could certainly do something like this, if people think it is worthwhile. I would try to aim for the automatic option, probably based on some threshold in the "sparseness" of the values contained in the input array. Happy to have a go at doing it in the neatest way possible, any thoughts welcome.

Thanks @stefanv. Much appreciated!
:-)

Those 4 failed tests don't appear connected to this PR. Am I missing something? Should I be taking any action on them?

Those 4 failed tests don't appear connected to this PR. Am I missing something? Should I be taking any action on them?

@neilflood nothing to do here. These have been fixed in main now.
Let's give other maintainers a week and then we merge.

Thanks so much @tupui :-)
Sounds good, whatever you think best.

In it goes. Thanks all 😃

Thanks @neilflood, I suspect this is going to come in handy!


AuTest: port selection improvements.

This is an attempt to address AuTest port selection issues. This:

Checks whether the port being delivered via the port queue is still available. If not, the next port in the queue checked. This repeats until an available port is found.
Changes the port from a LIFO to a FIFO. As a LIFO, the port that was used in a previous test and just released would be attempted to be used again in the very next test. It could be that the port is still in a WAIT state. I'm wondering whether this caused the address in use issues. Changing to a FIFO should address this.
Adds debug and verbose logging so we can get a view into the logic being used. There's two methods of port selection, one that is preferred and a fallback method using a bound socket with SO_REUSEADDR. If we are still having issues after this change, I suggest we turn on verbose logging in our CI which would reveal which method is used. Note that verbose logging shouldn't be nearly as noisy as debug logging.

This PR is made to address a couple AuTest issues:

https://github.com/apache/trafficserver/issues/6840
https://github.com/apache/trafficserver/issues/6842

[approve ci autest]

Cherry picked to 9.0.x


iOS 16 | Lock Screen Widget

Let's plant the NetNewsWire flag firmly on the Lock Screen for the discerning iOS 16 user.

Reopening because this needs additional verification.


Python Bindings - pybind11 vs. private destructor

At the last TSC meeting, we discussed of the pybind11 issues with private destructors and Larry mentioned that OIIO successfully implemented pybind11. So, I checked the ImageInput class from OIIO. For example, ImageInput has a protected constructor but a public destructor. The class also overloads the new and delete operators. And it uses a std::unique_ptr.
OCIO declares all the public classes with private constructor and destructor operators and uses a std::shared_ptr. The static method XX::Create creates a std::shared_ptr using std::shared_ptr<XX>(new XX(), &XX::deleter).
The OIIO approach works well i.e. the new/delete operator used are those implemented by the class.  And enforcing the two operators to be all in the source file guaranties the memory management policy. The OCIO dynamic library controls the allocate/deallocate of its instances.
Following some investigations to validate the OIIO approach, I discovered that the std::make_shared<> never uses the overloaded new/delete operators unlike std::shared_ptr<>, std::unique_ptr and std::make_unique<>. In fact, std::make_shared creates an aggregated buffer (i.e. a single allocation) containing some data (i.e. some shared pointer data I assume) and the requested data (i.e. class instance data). That ‘optimization/behavior’ could explain why it does not use the overloaded new/delete operators.
From http://www.cplusplus.com/reference/memory/make_shared/:
This function uses ::new to allocate storage for the object.  It clearly states that std::make_shared only uses the global new operator.
The second aspect is that the destructor is public polluting the API and allowing something really bad delete p.get() on any OCIO public classes.
In conclusion, using the overloading approach means to forbid std::make_shared for all the XX::Create methods part of the public API when compiling a dynamic library, and polluting the public API with a dangerous method. Two weaknesses added to comply with pybind11.
Below is the code to investigate the new/delete operators versus the memory management utilities:
#include <iostream>
#include <memory>

//
// The following methods are the overloaded global new/delete operators.
//
void * operator new(size_t size)
{
        void * ptr = ::malloc(size);
        std::cout << "Global --> new " << size << " bytes: " << ptr << "\n";
        return ptr;
}

void * operator new[](size_t size)
{
        void * ptr = ::malloc(size);
        std::cout << "Global --> new[] " << size << " bytes: " << ptr << "\n";
        return ptr;
}

void operator delete(void * ptr)
{
        std::cout << "Global --> delete: " << ptr << "\n";
        ::free(ptr);
}

void operator delete[](void * ptr)
{
        std::cout << "Global --> delete[]: " << ptr << "\n";
        ::free(ptr);
}

class MyClass
{
public:
        MyClass() { std::cout << "MyClass::MyClass: " << this << "\n"; }
        ~MyClass() { std::cout << "MyClass::~MyClass: " << this << "\n"; }

        // Useless method to only check that the class instance is correctly created in memory.
        void useIt() const { std::cout << "\tMyClass:useIt()\n"; }

#ifdef CUSTOM_NEW
        // Overloaded new operator.
        void * operator new (size_t size)
        {
                void * ptr = ::operator new(size);
                std::cout << "MyClass::new " << size << " bytes: " << ptr << "\n";
                return ptr;
        }

        // Overloaded delete operator.
        void operator delete (void * ptr)
        {
                std::cout << "MyClass::delete: " << ptr << "\n";
                ::operator delete(ptr);
        }
#endif

private:
        // Useless data to avoid potential optimizations based on the class instance size.
        char arbitrary[100]{ 0 };
};

int main()
{
        std::cout << "*******************\n";
        {
                std::cout << "new MyClass\n";
                std::cout << "**\n";
                MyClass * p = new MyClass;
                p->useIt();
                delete p;
        }
        std::cout << "\n";

        std::cout << "*******************\n";
        {
                std::cout << "std::shared_ptr<MyClass>(new MyClass)\n";
                std::cout << "**\n";
                std::shared_ptr<MyClass> p = std::shared_ptr<MyClass>(new MyClass);
                p->useIt();
        }
        std::cout << "\n";

        std::cout << "*******************\n";
        {
                std::cout << "std::make_shared<MyClass>()\n";
                std::cout << "**\n";
                std::shared_ptr<MyClass> p = std::make_shared<MyClass>();
                p->useIt();
        }
        std::cout << "\n";

        std::cout << "*******************\n";
        {
                std::cout << "std::unique_ptr<MyClass>(new MyClass)\n";
                std::cout << "**\n";
                std::unique_ptr<MyClass> p = std::unique_ptr<MyClass>(new MyClass);
                p->useIt();
        }
        std::cout << "\n";

        std::cout << "*******************\n";
        {
                std::cout << "std::make_unique<MyClass>()\n";
                std::cout << "**\n";
                std::unique_ptr<MyClass> p = std::make_unique<MyClass>();
                p->useIt();
        }
        std::cout << "\n";

        return 1;
}

// Use the overloaded new/delete operators
g++ -Wall -std=c++17 -O0 -DCUSTOM_NEW main.cpp
// Use the global new/delete operators
g++ -Wall -std=c++17 -O0 main.cpp
So potential changes could be:
Below is the original pseudo code:
class Config
{
public:
        static ConfigRcPtr Create();

private:
        Config();
        ~Config();

        Config(const Config &) = delete;
        Config& operator= (const Config &) = delete;

        static void deleter(Config* c);
};

WIP Below is a potential pseudo code:
class Config
{
public:
        static ConfigRcPtr Create();

        ~Config();  // <-- Useless for a user and dangerous.

private:
        Config();

        Config(const Config &) = delete;
        Config& operator= (const Config &) =delete;

        // Is that better than the former deleter?
        void * operator new(size_t size);
        void operator delete(void * ptr);
};

Tomorrow, I will continue the investigation by looking at the move semantic.

In the meantime, any comments/questions are welcome.

Here is another proposal where the constructor & destructor remain private and the memory is well managed. The design is to offer a shared_ptr and also a unique_ptr in the public C++ API.
(5)
class Faa
{

[...]

public:
	using unique_ptr = std::unique_ptr<Faa, Deleter>;
	using shared_ptr = std::shared_ptr<Faa>;

	static unique_ptr CreateUnique() { return unique_ptr(new Faa, Deleter()); }
	static shared_ptr Create()       { return shared_ptr(new Faa, Deleter()); }

	unsigned get() const { return m_i; }
	void set(unsigned i) { m_i = i; }
};

PYBIND11_MODULE(PyOpenColorIO, m)
{
    py::class_<Faa, Faa::unique_ptr>(m, "Faa")
        .def(py::init(&Faa::CreateUnique))
        .def_property("i", &Faa::get, &Faa::set);
}

Whatever is the underlying pointer type, Python is by design reference counting instances. So, the shared instance request is done by Python.
Below is an example where the underlying instance is in a std::unique_ptr but two names (i.e. instances in C++) exist at the same time:
import unittest
import PyOpenColorIO as OCIO

class TransformsTest(unittest.TestCase):

    def test_interface(self):
		faa = OCIO.Faa()
		faa.i = 10
		self.assertEqual(faa.i, 10)
		faa1 = faa
		faa.i = 20
		self.assertEqual(faa.i, 20)
		self.assertEqual(faa1.i, 20)
		faa1 = None

		# As expected, the line below crashes
		#self.assertEqual(faa1.i, 20)

		# Line below succeeds because the instance is ref. counted
		self.assertEqual(faa.i, 20)
		faa = None

		# As expected, the lines below crash
		#self.assertEqual(faa.i, 20)
		#self.assertEqual(faa1.i, 20)

To not have a public destructor, pybind11 imposes std::unique_ptr but OCIO only provides std::shared_ptr. For backward compatibility reason the class has the two offers, but I agree that's quite confusing.
Note 1:
On the other hand, does it make sense to offer a shareable Config instance?
But it make sense for Processor & CPUProcessor instances for example.
Note 2:
Finally, a std::shared_ptr can always be created from a std::unique_ptr if needed:
Faa::unique_ptr u(Faa::CreateUnique());
Faa::shared_ptr s(std::move(u));

Thanks for all your investigations @hodoulp !
The question becomes, how much do we change core OCIO to support cleaner, easier to maintain, Python bindings. From an architectural point of view, what is there to gain or lose from moving to unique_ptr at a core level (where possible). I think it makes sense to use unique_ptr where shared_ptr is not practically needed, but for the cases where it is, and Python bindings are also needed, we're back to the original problem.
Could it be possible to have the OCIO public interface use unique_ptr exclusively, and reserve use of shared_ptr to internal use, or for classes where a public destructor is safe?

The goal of all these investigations was to preserve the pybind11 simplicity and the existing C++ public API.
Unfortunately only solutions with some various level of refactoring of the C++ public API enable the use of a std::shared_ptr with pybind11.
So my proposal is to have a public destructor while maintaining a private constructor ( i.e. proposal (1) ) which is very small & easy change and keep pybind11 binding trivial. Anyway, the potential problem delete ptr.get() exists for any classes using std::unique_ptr and std::shared_ptr so the C++ public API does not any extra weakness.

This makes it look simple:
https://pybind11.readthedocs.io/en/stable/advanced/smart_ptrs.html#std-shared-ptr

Agreement on the (1) proposal so I close the issue.


Add simple yardopts to generate yardoc indexes

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context

Resolve https://github.com/fastlane/fastlane/issues/12139
Description

Create .yardopts file and add simple configuration to index fastlane files.

Before
After

@nafu Is there anything we can do about that <img src=... stuff in your screenshots? 🙃

@joshdholtz Not sure yet. I'll look into and handle that in another PR 👍

@joshdholtz @janpio Thanks ✨


Validating cluster component configuration manifests

I am wondering if there's a way to validate the following manifests for an audit policy and API server configuration. At this time, kubeconform does not find a schema for them.
apiVersion: audit.k8s.io/v1
kind: Policy

apiVersion: apiserver.config.k8s.io/v1
kind: EncryptionConfiguration

apiVersion: apiserver.config.k8s.io/v1
kind: AdmissionConfiguration

Any guidance would be appreciated.

Hi @bmuschko , Kubeconform currently only supports objects described in Kubernetes'  swagger file: https://github.com/kubernetes/kubernetes/blob/master/api/openapi-spec/swagger.json
The following project contains a number of Custom Resources and might be useful: https://github.com/datreeio/CRDs-catalog
For resources not present there either, you might need to follow this documentation: https://github.com/yannh/kubeconform#customresourcedefinition-crd-support
Best, Yann


Persist visit options if a response is present

Missing tests

@olivaresf is this work related to https://github.com/hotwired/turbo-ios/issues/136#issuecomment-1944578518? What kind of community support could help push this forward?

Coincidentally, my plan is to test this PR thoroughly sometime next week. Let me test this and https://github.com/hotwired/turbo-ios/pull/160 as I believe we're both sort of circling around the same issue and then I'll come back to you.

Hey @olivaresf, we'd love to get this wrapped up as it also fixes #186.
Is all that's left adding tests and addressing the comment?
I'm no Android expert, but @jayohms called out that the Android library handles this in a separate view model to keep track of the visit options in between requests. It's then used here.
I wonder if there's an approach that might work better on iOS following that model? If you've already explored that then disregard, just wanted to explore a closer implementation between the two libraries.

Thanks for your patience! Still trying to come back to this, but I've had other priorities.

Is all that's left adding tests and addressing the comment?

Yep. If you can help me with that, I'd appreciate it. If not, I'll make some time tomorrow to test this out.

I've added a unit test for this behavior. As far as I can tell, I'm mimicking Android's behavior:

If visit options with a responseHTML are provided during a Turbo visit, we save the options.
During the next visit, saved options are given to the new visit and then saved options are deleted so they cannot be reused.

I've tested this on Basecamp and it works as I expected. Let me know if there's anything else needed.


Code improvement and dependency update.

I prefer tabs instead of spaces
Other than that sure I can take this in

ok, changed indent.

Thanks


Low contrast between background colour and excluded folders

Deselected excluded folders have really low contrast that makes their names difficult to read:

Once highlighted, their appearance improves:

Hi @sushisharkjl :wave:, thanks for your contribution :+1:
I guess this is a problem based on two factors: The foreground color for excluded files and folder uses a low contrast by design. This decision has been made so the theme assists you to keep the focus on the important things: the source code as well as the relevant files/folders when seen for the tree view. The excluded data is excluded with a reason: you shouldn't care about it :smile:
Anyway, the second fact is that it looks like you're using IntelliJ's File Colors features that highlights some files in various UI elements with different background colors. You can take a look at #53 that changed the style for this features (release in version 0.6.0) and also follow the instructions in the linked JetBrains documentation to disable the features if you like. I've never used it and in my opinion the UI feel way more cleaner + the files/folders can be read better again.
Let me know if it helps to make it useable again for you :+1:

I'll chip in here and say this struck me as a bit painful too. I understand the philosophy, but given that File Colors is enabled by default, probably makes sense to make these a little bit more legible. De-emphasizing makes perfect sense, but not to the point of nearly-impossible-to-read. Personally, I find the highlights quite useful for test folders.
The fix in #53 doesn't seem to be totally working, as I am using 0.6.0 and get the exact look as in OP's screenshot. I would expect the text on the excluded folders to be white as in the fix, but it's still greyish for me.
Additionally, the little expansion arrows are really really hard to see on top of that blue background when items are highlighted.
Love your theme! Thanks for your hard work!

@Sushisource I totally agree, but unfortunately there are no theme keys to explicitly set the foreground color of ignored/excluded files in a tree view when a file color has been applied. The only solution would be to change the general ignore/exclude foreground color which again would make it impossible to differ between a normal and excluded folder when the user has disabled the File Colors feature. Also even when File Colors are enabled by default, the background color is not inherited from the active UI theme but the default and „hardcoded“ values of the parent theme Darcula.
In short: As long as there is no way to apply specific colors/styles when a specific condition is met this is a edge case that a theme author can not handle.
There are other edge case that are hard to handle since the user can choose any background color.
How to determine if the chosen background color is dark or bright? Using a bright color like white in combination with e.g. nord4 as foreground color would make text almost invisible. On the other hand in situations like now where the default/fallback Darcula values are used the dark foreground color nord3 makes it also hard to read.
This pseudo code shows an possible solution that is necessary in order to fix the problem that must be added by JetBrains to the theme API in any way exposed to the JSON theme interface:
var ignore_or_excluded_foreground_color = "nord3"
var matching_file_color_scope_background_color = getMatchingFileColorBgColor()

if file_colors {
  if calcBrightnessRatio(matching_file_color_scope_background_color) > "50%" {
    ignore_or_excluded_foreground_color = "nord3"
  } else {
     ignore_or_excluded_foreground_color = "nord3"
  }
}

I hope this makes the situation a bit more clear, it's not as easy as you think and unfortunately as a theme author I depend on a solution on the side of JetBrains :disappointed:

@sushisharkjl @Sushisource I have the same issue. the only solution was unchecking the "ignored" "file status color":

@jgrossi Oh, I never saw this screen in previous IDE versions before :astonished:
I'll definitely need to check this. The theme scheme itself doesn't expose any keys to customize the colors so I'll initialize and commit all IDE setting into a Git repository and test which keys are added when using this UI view :smile:

Disabling "File Colors" solved it for me, I was able to leave the Version status colors as is.

not sure where this should go but it seems related to this, so I wanted to emphasize this proposed solution on the official plugins reviews: https://imgur.com/r7G5WgX from https://plugins.jetbrains.com/plugin/10321-nord/reviews#review=53562-53563


Rename make storage-integration-test command to fit its function

Coverage remained the same at 100.0% when pulling b042cfc53dac04ad485df775766f23774087a0d6 on storage-integration-test-fix into 05e37a495f8f19f4284bb4e1a32c4dc457e17450 on master.


Drawing size limit

It seems like there is a hard-coded 10 MB limit. Is this true? Once my document (mathematical notebook with basically just drawings by hand and text) exceeded this size, whenever I open excalidraw (free website version) I now find that the changes are lost. Luckily I saved a local backup so I never really lost any data, but it is still annoying to have to remember to reload the document manually from disk each time I open the app.
(I have also had a related issue when collborating, which has caused some sort of desyncing issues. I believe it was when someone accidentally pasted stuff onto the whiteboard that this used to happen. But I have not had this issue when working alone, so I don't think it is the same issue.)
I am using the latest chrome version on arch linux.

Thanks for the info. I searched for a bit now and it seems like you can't increase this size in chrome. So maybe I should be using firefox for excalidraw.

I reached the limit today, after I added some drawings to my ever-growing list of drawings 😅 .
Would a move towards IndexDB be something to consider? It has a much higher limit than the 5mb of localstorage ...


[WIP] Add view_decorators list to View

Add an option to the View class to apply decorators to the view function returned by as_view.
[needs docs + tests]

I didn't check if this API was ever proposed, but I guess 186eb21d allows the use case with some different syntax?

I find using method_decorator clumsy for the general case [of decorating all requests] as:

it requires importing method_decorator
it requires writing a dispatch just to decorate

In comparison, this will decorate the view function itself [avoiding all the hacks to look inside or carry attributes out], supports multiples trivially, is inheritable/extendable...
I'm ok with it being dismissed... just wanted to get this written down and proposed so I could point people at it for comment.

I would raise it on the mailing list for further discussion.

view decorators would be a good thing

Curtis, could you raise it on the mailing list?

Closing due to inactivity. django-developers discussion


Error initializing pinecone client

I setup a Pinecone account and retrieved the API key and environment name from the Pinecone default project. I have not done anything else on the Pinecone console, so I specified PINECONE_INDEX_NAME to be an arbitrary name. Running npm ingestproduced the following output,
`><EMAIL_ADDRESS>ingest

tsx -r dotenv/config scripts/ingest-data.ts

[WARN] Importing from 'langchain/document_loaders' is deprecated. Import from eg. 'langchain/document_loaders/fs/text' or 'langchain/document_loaders/web/cheerio' instead. See https://js.langchain.com/docs/getting-started/install#updating-from-0052 for upgrade instructions.
error [ErrorWithoutStackTrace: PineconeClient: Error getting project name: SyntaxError: Unexpected token 'A', "API key is"... is not valid JSON]
/Users/jshalabi/dev/projects/repos/gpt4-pdf-chatbot-langchain-main/utils/pinecone-client.ts:19
throw new Error('Failed to initialize Pinecone Client');
^
Error: Failed to initialize Pinecone Client
at initPinecone (/Users/jshalabi/dev/projects/repos/gpt4-pdf-chatbot-langchain-main/utils/pinecone-client.ts:19:11)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at  (/Users/jshalabi/dev/projects/repos/gpt4-pdf-chatbot-langchain-main/utils/pinecone-client.ts:23:25)
Node.js v19.7.0`
The environment variables are being exposed correctly.

I had the same error. The problem was that the environment variables were not loaded. You can fix it by adding these 2 lines:
import dotenv from 'dotenv';
dotenv.config();

To the ingest-data.ts file

does not work

I have the same issue! Did anyone solve this?

I have the same issue. pls help

Anyone found a workaround


feat: ledger connections happen on agent init in background

Agent will try to connect to all ledger pools on initialization unless specifically told not to in InitConfig.connectLedgersOnStart.
Has a dependency on the next indy-sdk-react-native release https://github.com/hyperledger/indy-sdk-react-native/pull/24. May want to avoid merging until that has been made available.

Codecov Report

Merging #580 (40b9919) into main (4e7b9cf) will decrease coverage by 0.09%.
The diff coverage is 96.96%.

@@            Coverage Diff             @@
##             main     #580      +/-   ##
==========================================
- Coverage   86.01%   85.91%   -0.10%
==========================================
  Files         267      286      +19
  Lines        5840     6079     +239
  Branches      875      891      +16
==========================================
+ Hits         5023     5223     +200
- Misses        814      853      +39
  Partials        3        3

Impacted Files
Coverage Δ

packages/core/src/types.ts
100.00% <ø> (ø)

packages/core/src/modules/ledger/IndyPool.ts
84.93% <95.00%> (+0.87%)
:arrow_up:

packages/core/src/agent/Agent.ts
97.97% <100.00%> (ø)

packages/core/src/agent/AgentConfig.ts
94.64% <100.00%> (+0.19%)
:arrow_up:

packages/core/src/modules/ledger/LedgerModule.ts
90.62% <100.00%> (+0.62%)
:arrow_up:

...e/src/modules/ledger/services/IndyLedgerService.ts
85.93% <100.00%> (+0.22%)
:arrow_up:

...ore/src/modules/ledger/services/IndyPoolService.ts
100.00% <100.00%> (ø)

packages/core/src/agent/MessageReceiver.ts
81.25% <0.00%> (-7.94%)
:arrow_down:

packages/core/src/agent/Dispatcher.ts
84.90% <0.00%> (-6.77%)
:arrow_down:

packages/core/src/modules/proofs/ProofsModule.ts
80.55% <0.00%> (-5.71%)
:arrow_down:

... and 44 more

Continue to review full report at Codecov.

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

indy-sdk-react-native 0.1.16 has been released: https://github.com/hyperledger/indy-sdk-react-native/releases/tag/0.1.16

@TheTreek the branch is out of date, can you update?

@TimoGlastra Okay, it's been updated.

Almost forgot, but can you also update to the latest indy-sdk-react-native version? Otherwise this wouldn't work right?


Incorrect samples on scope when increasing sample rate divisor

not sure if it affects sound, also saw an entire block of garbage instead of just a dot at one point

#36 has much better info on this bug


Lost connection after cable disconnect or after router reboot

After any connection loss to the router, the interface loses the connection to the Domintell devices and do not try to re-establish the connection.
Can you ping the Domintell device every 60 seconds, and when response is not received, attempt to re-establish the connection?

Ah that explains why the integration stops working even though I adjusted the disconnect timeout on my domintell ETH02 module! My routers are frequently auto-updated.

There's already a ping_daemon function in \connections_init_.py.
If the calling function will wait for the ping_daemon response and reset communication when no response is received, it should solve the issue.

I made a simple workaround by changing the "&PING" command with "LOGIN".
It seems to solve the problem but I'm not sure if there are any side effects to this.
I will report back if I find any related issues.

I made a simple workaround by changing the "&PING" command with "LOGIN".

Did it work for you now?

There's already a ping_daemon function in \connections__init__.py.
If the calling function will wait for the ping_daemon response and reset communication when no response is received, it should solve the issue.

I will checkit. I personally never experienced this problem.

I made a simple workaround by changing the "&PING" command with "LOGIN".

Did it work for you now?

Yes, and I didn't notice any issues.

&LOGIN
returns "INFO:Session opened:INFO" on success, or on error "INFO:Auth failed:INFO" or INFO:Access denied. Close current session:INFO
So it reopens the session for you, or error messages get ignored by the driver.
&PING
returns status of all modules.
Driver understands these messages and updates status.
So if for some reason Master did not returns the status of the module, &PING forces to send status, and updates info on HA
I think, for now, this quick-fix solves the problem but would be good to update the ping_daemon procedure to include Login on failure.
Haven't tested it yet, but because UDP is used here, you may not receive a response at all if the session is closed.
Let's leave this issue open, will try to fix it when have some free time.

Still suffering from this problem.
According to the Domintell protocol documentation you should send a HELLO command to keep the session open.
--- from the docs ---
Keep session open
To keep session opened, you have to send one command (or LightProtocol string) to
DETH02. The best way is to use HELLO command. PING command should be avoid to keep a
session opened as it will generate a lot of trafic on Domintell Bus and takes ressources in Master
(DGQG01).
> HELLO
< INFO:World:INFO
d) Refresh statuses
As said above , PING command must be used carefully. Generally, use it after a LOGIN (if
your application has already been configured using APPINFO).

PING <...
There is not string/flags to notify end of list of statuses.

Any progress on this issue ? I can only use the domintell integration for a few hours and then it stops working.
Is there somewhere good documentation that explains how I can build my own version of this plugin and run it without deploying to a release server ?


why L1_cache_size and L2_cache_size are constant value

Different cpu should have different L1_cache_size/L2_cache_size, and I can't find any code in ComputeLibrary that will update these values later.
https://github.com/ARM-software/ComputeLibrary/blob/f2eda6665c12d568e179f5b0e7a24ccdc0ac824d/src/core/CPP/CPPTypes.cpp#L37-L38
Thank you in advance.

Hi @dervon
That's correct, we don't update these values at runtime. The cache size is used to calculate the block sizes and this only works correctly if the cache sizes are reported accurately. The calculated block sizes are not guaranteed to be correct and they will change for different devices based on other variables and not just cache size.
An additional complication is that these cache sizes are not easily discoverable in Linux (and can vary across CPUs in a big/little system).
Hope this helps


Make exported modules work with aliased import declarations (depends on #136)

Depends on PR
Implement references between imported data and newtype declarations (https://github.com/intellij-purescript/intellij-purescript/pull/136)
https://user-images.githubusercontent.com/5345337/110249877-b38b8380-7f78-11eb-88f6-1ffc50997a71.mov

Updated exported modules to resolve to the import alias if present, and also find usages.
https://user-images.githubusercontent.com/5345337/110362413-87880500-8041-11eb-9351-b912e8c163cc.mov


Add cargo audit CI

Which issue does this PR close?

Closes #9116 .
Rationale for this change

What changes are included in this PR?
Add cargo audit CI.
Are these changes tested?

Are there any user-facing changes?

Thanks @ongchi how much longer the CI build is with the new security task?

It takes a couple of minutes to install cargo-audit and download the advisory db while installing from Cargo. Instead of that, use rustsec/audit-check, which takes no time for this step.
The audit process takes about 10 seconds to complete.

👍  looks good to me -- the audit check job takes 12s to run: https://github.com/apache/arrow-datafusion/actions/runs/7877518929/job/21493850998?pr=9205
Perhaps we can simply add this to the normal CI runs?

The GitHub CI runner VM does not recreate each time it runs, the installation time of cargo-audit could be ignored in most cases. It's would be viable to include this action on every PR.

The GitHub CI runner VM does not recreate each time it runs, the installation time of cargo-audit could be ignored in most cases. It's would be viable to include this action on every PR.

When I looked at the log of
https://github.com/apache/arrow-datafusion/actions/runs/7877518929/job/21493850998?pr=9205
It appears to show that cargo-audit is already installed (so "reinstalling" it is just a no op)
Run cargo install cargo-audit
    Updating crates.io index
 Downloading crates ...
  Downloaded cargo-audit v0.19.0
     Ignored package `cargo-audit v0.19.0` is already installed, use --force to override

Thanks again @ongchi


feat: add createJson and contentsJson

Added createJson and contentsJson methods which are pretty useful when dealing with json files
Also re-exported FileSystem type from root because the type is not exposed which is quite annoying for the creation of small helpers in our tests. For example I wanted to make a helper :
setupHotfile(fs: FileSystem) {
  await fs.create('public/assets/hot.json, 'foo')
}

test('my test', ({ assert, fs }) => {
  await setupHotfile(fs)
})

But not possible because the FileSystem type is not exposed. So we have to replace it by any

Just replaced fsExtra.writeJson by fsExtra.outputJson for FileSystem.createJson
This creates the sub-folder if it does not exist. This is more convenient and also consistent because our FileSystem.create also uses fsExtra.outputFile which has the same behavior

Looks good :+1


Delete windows.md

High-level description
Windows Is not supported.

@mesosphere-mergebot request-review  @jeschkies @jongiddy

@mesosphere-mergebot changelog-not-required cleanup


fixed select_ordered_records relate error

What type of PR is this?

What is the purpose of this PR and its related background?
Which issue(s) this PR fixes:

Fixes #
Does this PR introduce a user-facing change?

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 71.42857% with 2 lines in your changes missing coverage. Please review.

Project coverage is 86.52%. Comparing base (ff70aeb) to head (059ed44).
Report is 54 commits behind head on main.

Files with missing lines
Patch %
Lines

fss/common/persistence/sqlmodel_impl.py
71.42%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #167      +/-   ##
==========================================
+ Coverage   86.50%   86.52%   +0.02%
==========================================
  Files          47       47
  Lines        1215     1217       +2
==========================================
+ Hits         1051     1053       +2
  Misses        164      164

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


HfHubHTTPError: 504 Server Error: Gateway Time-out for url: https://huggingface.co/api/models/sentence-transformers/all-mpnet-base-v2

Well, it turned out that it wasn't working on the google colab, but it is working just fine on my pc.


repo: Fix shellcheck errors (in newer version)

Signed-off-by: Ryan Northey<EMAIL_ADDRESS>Partial fix for #20199
Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

cc @kfaseela


Update tibia.py function spell

I think that the "return" is missing in there.

You're right, thanks!


Types vs Interfaces

Spectrum discussion here brought up the Types vs Interfaces discussion. as far as I can tell there is no real difference between them. I personally always use interfaces but i dont have a strong reason apart from I can extend them if i need to. Should we recommend one or the other? anyone have a source?

I would always use interface for public API definitions. I usually use interface for internal types, but it’s less critical. In most cases they are functionally similar.
If you want one simple heuristic, just use interfaces everywhere. (Types can look and feel better in the case of unions though!)
Good resource here: https://medium.com/@martin_hotell/interface-vs-type-alias-in-typescript-2-7-2a8f1777af4c

ah yes i forgot to mention i already merged in a bit about that here: https://github.com/sw-yx/react-typescript-cheatsheet#types-or-interfaces
that article is doing very well in SEO, it's come up 3 separate times :)


yum commands result in Killed in Almalinux

I was testing updating the image using yum and no matter what yum command I use the result is always Killed
$ sudo yum update
Failed to set locale, defaulting to C.UTF-8
AlmaLinux 8 - BaseOS                                                                                4.2 MB/s | 5.2 MB     00:01
AlmaLinux 8 - AppStream                                                                                9.7 MB/s |  11 MB     00:01
AlmaLinux 8 - Extras                                                                                23 kB/s |  19 kB     00:00
AlmaLinux 8 - PowerTools                                                                                3.4 MB/s | 3.1 MB     00:00
Azure Lustre Packages                                                                                4.1 MB/s | 3.0 MB     00:00
cuda-rhel8-x86_64                                                                                4.5 MB/s | 2.1 MB     00:00
Extra Packages for Enterprise Linux 8 - x86_64                                                                                8.9 MB/s |  14 MB     00:01
Killed

I tried with yum clean and then running the update again but no joy. I was wondering if this is a known issue.

I re-deployed in a new VM and now I'm getting the following error
$ sudo yum update --skip-broken
Failed to set locale, defaulting to C.UTF-8
AlmaLinux 8 - BaseOS                                                                                5.3 MB/s | 5.2 MB     00:00
AlmaLinux 8 - AppStream                                                                                9.7 MB/s |  11 MB     00:01
AlmaLinux 8 - Extras                                                                                25 kB/s |  19 kB     00:00
AlmaLinux 8 - PowerTools                                                                                3.5 MB/s | 3.1 MB     00:00
Azure Lustre Packages                                                                                5.9 MB/s | 3.0 MB     00:00
cuda-rhel8-x86_64                                                                                4.8 MB/s | 2.1 MB     00:00
Extra Packages for Enterprise Linux 8 - x86_64                                                                                6.9 MB/s |  14 MB     00:01
InfluxDB Repository - RHEL 8                                                                                195 kB/s |  50 kB     00:00
Error:
 Problem: package amlfs-lustre-client-2.15.1_24_gbaa21ca-<IP_ADDRESS>5.13.1.el8.7-1.noarch requires kmod-lustre-client-<IP_ADDRESS>5.13.1.el8.7 = 2.15.1_24_gbaa21ca, but none of the providers can be installed
  - cannot install the best update candidate for package amlfs-lustre-client-2.15.1_24_gbaa21ca-<IP_ADDRESS>5.3.1.el8-1.noarch
  - package kmod-lustre-client-<IP_ADDRESS>5.13.1.el8.7-2.15.1_24_gbaa21ca-1.el8.x86_64 is filtered out by exclude filtering
(try to add '--nobest' to use not only best candidate packages)

This seems very similar to the error in #202. Should one use the --nobest option as recommended? or is there something else that one should use?
Is an error similar to this present in the ubuntu based images also?
The reason I'm asking is that if I set this as a head node in a system it might be running for a while, and being able to update and set the latest security patches would be very nice.
@ltalirz do you have any ideas on this?

Hey @JPchico ,
the quick fix is to run sudo yum --exclude=kernel* --exclude=amlfs* update (you also don't want to update the kernel)
To make it permanent, add it to the /etc/yum.conf:
[main]
...
exclude=kernel* amlfs*

Thanks to @edwardsp for the hints, he may be able to prepare a PR later this week

Thanks @ltalirz !  that solves the problem :)

@JPchico is this the same image published by azhop?
Please share the image URI

Hi @abhamidipati0614 yes this is a azhop image, it is exactly the same than the one reported in #211
The information is the following
            "imageReference": {
                "publisher": "azhpc",
                "offer": "azhop-compute",
                "sku": "almalinux-8_7",
                "version": "latest",
                "exactVersion": "2023.0313.1406"
            },

    "plan": {
        "name": "almalinux-8_7",
        "publisher": "azhpc",
        "product": "azhop-compute"
    },

I am not sure of your use case, the image almalinux:almalinux-hpc:8_6-hpc-gen2:8.6.2023022301 in the marketplace is the one prepared from this repository. Would it be possible to give it a try with this one? (if it fits your use case)

@JPchico this is fixed in our latest marketplace image. Following is the image information
{
"architecture": "x64",
"offer": "almalinux-hpc",
"publisher": "almalinux",
"sku": "8-hpc-gen1",
"urn": "almalinux:almalinux-hpc:8-hpc-gen1:8.7.2023060101",
"version": "8.7.2023060101"
},
{
"architecture": "x64",
"offer": "almalinux-hpc",
"publisher": "almalinux",
"sku": "8-hpc-gen2",
"urn": "almalinux:almalinux-hpc:8-hpc-gen2:8.7.2023060101",
"version": "8.7.2023060101"
},
{
"architecture": "x64",
"offer": "almalinux-hpc",
"publisher": "almalinux",
"sku": "8_7-hpc-gen1",
"urn": "almalinux:almalinux-hpc:8_7-hpc-gen1:8.7.2023060101",
"version": "8.7.2023060101"
},
{
"architecture": "x64",
"offer": "almalinux-hpc",
"publisher": "almalinux",
"sku": "8_7-hpc-gen2",
"urn": "almalinux:almalinux-hpc:8_7-hpc-gen2:8.7.2023060101",
"version": "8.7.2023060101"
}


PromptASR training

Hi @marcoyang1998,
Thank you for the PromptASR paper and the recipe. I am trying to replicate the training on libriheavy dataset. First, I could not find the base recipe for libriheavy, so I tried using the libriheavy_recipe branch of git@github.com:pkufool/icefall.git. A few conventions seemed different, for e.g. texts[0] versus the conventional text. I tried modifying these and started the training, however, the models (both baseline and PromptASR) seem to not converge. Decoding with your uploaded models (both baseline and PromptASR) works perfectly though. Do you have any suggestions for the training part?
Thanks.

Hi @pavankumar-ds ,
On which subset and which recipe are you using to train the baseline model? Are you training with a single style of transcription?

I tried using the small and medium subsets, using the zipformer_prompt_asr/train_baseline.py. I am training with mixed case transcription with punctuation. I used the standard script you committed into the libriheavy directory to generate the sentencepiece model.

The recipe uses the style of upper-cased text without punctuation by default, see https://github.com/k2-fsa/icefall/blob/52c24df61da3d04a6fdcab32d5615c394951279b/egs/libriheavy/ASR/zipformer_prompt_asr/train_baseline.py#L1226
Would you mind decode your models and see if the model outputs only upper-cased text?
If you want to use the MCP style for training, please set the text_sampling_func to get_first https://github.com/k2-fsa/icefall/blob/52c24df61da3d04a6fdcab32d5615c394951279b/egs/libriheavy/ASR/zipformer_prompt_asr/train_baseline.py#L103

I am also trying this recipe but I get following error:
No such file or directory: 'data/tmp/transcript_words_medium.txt'
How we should prepare this file?

@mohsen-goodarzi Do you have the manifest data/fbank/libriheavy_cuts_medium.jsonl.gz?

@mohsen-goodarzi Do you have the manifest data/fbank/libriheavy_cuts_medium.jsonl.gz?

No, how can I obtain it?

@mohsen-goodarzi  There is a base recipe for Libriheavy that has not been merged yet. Please follow this script (https://github.com/k2-fsa/icefall/blob/a2dafee5a348d579b79b92a25105bcc5595cd75d/egs/libriheavy/ASR/prepare.sh) for data preparation.

@mohsen-goodarzi There is a base recipe for Libriheavy that has not been merged yet. Please follow this script (https://github.com/k2-fsa/icefall/blob/a2dafee5a348d579b79b92a25105bcc5595cd75d/egs/libriheavy/ASR/prepare.sh) for data preparation.

Thank you so much!

Thank you for your clarification. Changing the base learning rate to 0.01 seems to have worked. The training (with text in all caps as you rightly pointed out) is still in progress; I decoded with an intermediate model and confirmed it is training well. The training log plot looks much better now.

Would you mind decode your models and see if the model outputs only upper-cased text?
If you want to use the MCP style for training, please set the text_sampling_func to get_first

Yes, the decoded output is in upper case, although it just outputs a single letter for every utterance (which means the model did not converge at all). I tried setting text_sampling_func to None (because my cuts have a single mixed case text) and started another round of training, but it still did not converge.

Yes, the decoded output is in upper case, although it just outputs a single letter for every utterance (which means the model did not converge at all). I tried setting text_sampling_func to None (because my cuts have a single mixed case text) and started another round of training with the default learning rate, but it still did not converge.

How many GPUs are you training the model with? And what's the --max-duration you are using?

It's 1 GPU and max duration of 100.

It's 1 GPU and max duration of 100.

The max-duration is too small, which might cause the model convergence issue in your case. We trained with 4 V100 GPUs using max-duration 1000.

Oh okay, thanks. With this smaller setting, is reducing the learning rate the only option?

Oh okay, thanks. With this smaller setting, is reducing the learning rate the only option?

Yes, but this will hurt the model's performance.


Sort our catalogue_pipeline cluster from doing an autoscaling zigzag

There's a sweet spot we keep hitting where the number of instances just zigzags, causing lots of disruption and unhealthy alarms.
The current rules are:

>80% => add an instance
<80% => take away an instance

(I don't remember where equality is)
We should stop it zigzagging!

Closing for now – this would be nice, but merging #1557 means this is significantly less annoying!


Can't render icons, even on default config file

I have followed what was suggested in different issues (https://github.com/jaagr/polybar/issues/392, https://github.com/jaagr/polybar/issues/45 ...), but still  cannot obtain all the icons on polybar version 3.0.5.
I have first used the example config file that is provided in usr/share/doc/polybar/ , but even this default config file is not working (many modules have no icons, including powermenu, xbacklight, volume, wlan ...)
Example :
font-0 = "Hack:fontformat=truetype:size=15;1"
font-1 = "FontAwesome:fontformat=truetype:size=15;1"
font-2 = "siji:pixelsize=15;1"
font-3 = "unifont:fontformat=truetype:size=12:antialias=false;0"
font-4 = "fixed:pixelsize=15;1"

[module/xbacklight]
type = internal/xbacklight

format = <ramp> <label>

label = %percentage%%

; Only applies if <ramp> is used
ramp-0 = 🌕
ramp-1 = 🌔
ramp-2 = 🌓
ramp-3 = 🌒
ramp-4 = 🌑

ramp-font = 2

Gives the output  :
$polybar main_bar
warn: Dropping unmatched character 🌓 (U+1f313)

Well, seems it was because of the ramp-font = 2 setting. My bad :)


Updates content/es

Apologies for the long delay.
Here are the updates

deletes index.md
translates template.json, governance.md, working-groups.md and 404.md

@julianduque, @edsadr, @cesarloachamin, @ipeluffo could you take a look and review?
cc @nodejs/iojs-es just in case

Let me know if you prefer a rebase and I'll do it after the review

Thanks for the update. Governance and Working Groups are directly pulled from the main io.js repository and don't show up in a translated version on the website. We should look for a way to add those as well.

Thanks for the review. I'll wait for the +1 of nodejs/iojs-es and do the rebase.

Thanks a lot for the review @ipeluffo and @edsadr. I'll be out the evening. All corrections look good to me so I will do them when I come back later after dinner.

Corrections made. The only thing I haven't corrected (because I think is less confusing for the reader) is when an acronym is used the first time in a paragraph (this was pointed by @edsadr and @ipeluffo). Meaning: I haven't used an acronym, even if it was defined before, the first time it appears in any section.
The reason for this is the following:  titles are links when translated from markdown to html. It would create confusion if you don't correctly guess what the acronym is (for this case what GT is).
In any case, if you think is not that weird I'll make the correction to GT.

Rebase done, let me know if looks good to do the merge @edsadr, @ipeluffo, @sergiolepore and @fhemberger.

Thanks @sergiolepore. Corrected.

well... LGTM

+1 from me


De-duplicate package installation logic

bors try

bors try

bors try

bors try

Oh! Also, can we move the ansible folder from '.jenkins' to 'scripts/ansible'?


Dev dojos get slow

Eventually dev dojos seem to get very slow, with docker operations eventually just hanging entirely.
This needs to be investigated.
My current guess is that the mail server is crashing hard in a dev environment, spamming logs, and jamming up the docker daemon. This could be resolved with rotating logs.

Seems that this may be related:
$ cat /proc/self/mountstats | sort | uniq -c
...
   2047 device overlay mounted on /opt/pwn.college/nginx-proxy/etc/nginx/conf.d/pwncollege.conf with fstype overlay
   2048 device overlay mounted on /var/lib/docker/volumes/pwncollege_conf/_data/pwncollege.conf with fstype overlay
...

For some reason there is a recursive issue with mounting between the volume mount and bind mound.


Support config filename/filestem only

--config now support filename/fileStem , which is great and lets us specify a config file for thumbnails.

Add support for filename/fileStem in --config
Update/Improve doc
Fix an issue with options not read from config file, introduced in #396
Add a thumbnail.json and use it in thumbnailers
Add tests

last push is only commit reorg.


Align DEV_VERSION with expected tags

The “latest” image is now “devel”, but we locally build “latest” and
“dev”, which complicates consuming local images. This changes
DEV_VERSION to “devel” so that we build “devel” images instead.
Signed-off-by: Stephen Kitt<EMAIL_ADDRESS>

Dropped in favour of https://github.com/submariner-io/submariner-website/pull/189


feat: add an argument to return CompletedProcess

Fix #34.

Hello @njzjz! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file nodejs_wheel/executable.py:

Line 13:80: E501 line too long (86 > 79 characters)
Line 19:80: E501 line too long (87 > 79 characters)
Line 25:80: E501 line too long (85 > 79 characters)
Line 30:80: E501 line too long (85 > 79 characters)
Line 33:80: E501 line too long (85 > 79 characters)
Line 71:80: E501 line too long (82 > 79 characters)
Line 77:80: E501 line too long (83 > 79 characters)
Line 83:80: E501 line too long (88 > 79 characters)
Line 88:80: E501 line too long (88 > 79 characters)
Line 98:80: E501 line too long (92 > 79 characters)
Line 105:80: E501 line too long (87 > 79 characters)
Line 109:80: E501 line too long (88 > 79 characters)
Line 114:80: E501 line too long (82 > 79 characters)
Line 120:80: E501 line too long (83 > 79 characters)
Line 126:80: E501 line too long (88 > 79 characters)
Line 131:80: E501 line too long (88 > 79 characters)
Line 141:80: E501 line too long (92 > 79 characters)
Line 148:80: E501 line too long (86 > 79 characters)
Line 162:80: E501 line too long (82 > 79 characters)
Line 168:80: E501 line too long (83 > 79 characters)
Line 174:80: E501 line too long (88 > 79 characters)
Line 179:80: E501 line too long (88 > 79 characters)
Line 189:80: E501 line too long (92 > 79 characters)
Line 196:80: E501 line too long (87 > 79 characters)


'Select all search results' in the 'Order and hide columns' dialog

Currently, when a user searches for some columns in the 'Order and hide columns' dialog and then clicks the checkbox to 'Select all', the selection applies to all columns.
Acceptance criteria:

Change the function (and, maybe, title/hint?) for the checkbox to 'Select all search results' once any search is applied

To consider:

Adding the third state for the checkbox for consistency? Or just stop keeping the box checked if at least one column has been deselected?
What would be selected if a user selects something within the search results?
Selecting all makes it impossible to go back to your previous columns set. Does it make sense to apply the changes in the dialog only after clicking 'Save' or 'Apply' to avoid accidental setting loss?
Currently, the checkbox is close to the dropdown 'All' so it looks like it's the name of the checkbox - maybe, it makes sense to change their relative position?

[ ] Changed the function and the tooltip for the checkbox to 'Select all search results' once any search is applied.
[ ] Added the third state for the checkbox for consistency.
[ ] If a user selects something within the search results, the function is applied to the selected items only.
Available in v1.16.0


20190610 change #8: Simplified the selection mechanism for CLIC mode

Draft 20190610 – separating multiple changes as individual issues to enable change tracking/approval from draft-20190610 doc upload.
20190610 change #8: Simplified the selection mechanism for CLIC mode.
Changed selective hw vectoring nvbits control.  was: if nvbits=0, then clictrl.vector.  if clicctrl.vector = 0, check tvec bits to decide if vectored or unvectored is used.  now: if nvbits=0, all are unvectored.  if nvbits=1, check clicattr.shv to decide if hw vectored or not.  no 2nd checking.  tvec lower bits now indicate clic mode vs. Legacy mode.  Only using 11 encoding of tvec instead of both 10/11.  now using clicintattr.shv and cliccfg.nvbits to differentiate between vectoring and non-vectoring.

Can be tracked as separate issue: cliccfg is listed as RW but cliccfg.nvbits is read-only #55
"We definitely need to revise this in the near future after we have determined how many modes are mandatory and supported."


How to build a custom bootloader for a 26mhz esp32c2?

I'm trying to build an example from esp-wifi for my esp32c2 with a 26mhz crystal. After running through some hoops to pass the "xtal-26mhz" feature from esp-wifi's Cargo.toml down to esp-hal/esp32c3-hal I finally managed to build the code but now I get a boot loop with this error:
  !! A panic occured in '/home/lexey/esp-hal/esp-hal-common/src/rtc_cntl/rtc/esp32c2.rs', at line 65, column 5

PanicInfo {
    payload: Any { .. },
    message: Some( Did you flash the right bootloader configured for 26MHz xtal?, ),
    location: Location {
          file: "/home/lexey/esp-hal/esp-hal-common/src/rtc_cntl/rtc/esp32c2.rs", line: 65,  col: 5, },
          can_unwind: true,
          force_no_backtrace: false,
      }

    Backtrace:  0x4201e65c
                      0x420000d0

In the original pull request where this feature was added author mentions that a custom bootloader is necessary (https://github.com/esp-rs/esp-hal/pull/301). How do I make one?
Thank you!

Easiest way to build a suitable bootloader is to use esp-idf and build one of the examples (which one doesn't matter -  examples/get-started/hello_world is probably a good fit)
Do esptool.py set-target esp32c2
Before building you need to use menuconfig to set Component config → Hardware Settings → Main XTAL Config → Main XTAL frequency to 26MHz (40 by default)
After idf.py build you should find the bootloader as examples/get-started/hello_world/build/bootloader/boot loader.bin
That can be used with espflash

Thank you very much! I'll give it a try later today

See https://esp-rs.github.io/book/troubleshooting/espflash.html#rtc_clk_init-possibly-invalid-config_xtal_freq-setting and https://github.com/esp-rs/espflash/issues/526


Calf/i18n

implements #222

build fail for grape >= 0.10.0, trying to fix it

:+1: :+1: :+1:

I feel like the fallback and the nil story is a bit unclear. I think if I do detail 'Foobar' and have a translation, the translation should win, but if it cannot be translated I should get Foobar. It looks like I cannot get a "default", aka my locale (English) value, which makes it impossible to document the API in one language, then add translation on top.

I think if I do detail 'Foobar' and have a translation, the translation should win

So you suggest that even if the message is a normal string, try to look up a translation based on it, am i right?

No I am suggesting that it becomes a default value.

will refine it later :smile_cat:

updated ~

This looks good., I read it carefully. I think bypass should be changed to translate: true/false, bypass is not very english and it's unclear what you're bypassing. What do you think?

This is good to merge? Mind squashing the commits?

squashed :smiley:

Merged, great work.

Hey @calfzhou , I can't manage to make translations work.
There is a route "videos/{uuid}/status and the key "api.videos.:uuid.status.get.desc" but nothing is show either on swagger json or swagger UI.
I can translate  I18n.t("api.videos.:uuid.status.get.desc") in the console tough.
Am I missing any config?
I'm using grape-swagger (0.25.3).

I'm not sure, maybe the :uuid should be enclosed by quotes in language file?

please see here: https://github.com/ruby-grape/grape-swagger/issues/465

@calfzhou it was, but @LeFnord link explains it.
Sorry @LeFnord I tought that issue was about documentation missing and didn't look it.


MatTabContent not working inside ngIf

I am using a switch between lazy and eagerly loaded tabs depending on application parameters, but this does not work the moment i actually activate the lazy-loading structure, since apparently the ng-template is not attached if it is inside an ngIf / else branch of ngIf.
The structure I'm trying to achieve is something along the lines of:
<ng-container *ngIf="doCache else lazy">something
<ng-template #lazy>something lazy
Of course I cannot really put the matTabContent on the parent template otherwise it ovverrides the container.
I tried using 2 cointainers with switching *ngIf, but still the semplace of the second half doesnt get evaluated

It would he good if you posted an actual example rather than two incomplete and incorrect lines of code.

MatTab doesn't support using ngIf or ngFor on MatTabContent. You should put the ngIf inside of the MatTabContent template.


Integration/interop tests for DHT

Meta issue for testing tasks:

Extend this IPTB testing PR to support:

[ ] Easily getting clients for nodes created
[ ] Connecting nodes into a "gateway" and "peer" style topology (i.e. specify # of gateways and ensure all "peers" connect to them)
[ ] Virtual NAT aka zero bound addresses
[ ] Should support benchmarking (probably requires no code, just a thought)

Create an interop tests repo

DHT Tests

[ ] Verify all nodes in a network can find a key that's been put, regardless of platform

Pubsub Tests

[ ] For all implementations, verify message delivery within a time limit

[ ] Zero bound addresses to be implemented on the Daemon
[ ] Circuit relay test, similar to relay example in libp2p-examples


Remove JobGenerators own customWorkspace implementation

jenkins-ci core has already implemented customWorkspace in AbstractProject and JobGenerator's own customWorkspace variable overridden it when job configuration was opened and this is why the field was empty.

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests

@matepeter90 does this PR superseed #2 ?

I believe it does, the patch removes the whole function, which is partially modified by  #2

Can this get merged and published? Just ran into this issue myself.

seems to be still open. is this still maintained?