No text post file, etc.

Expected Behaviour
I expected, when downloading tumblrs, to have a .txt file inclusive of text posts and various other information. (I have it set to download all, except for external items such as giphy.)
I tried to authenticate (login) so that it would be able to download hidden Tumblrs.
Actual Behaviour
I only download images/videos and a .txt file called 'Videos'.
TumblThree crashed (the app disappeared/window closed itself) when I clicked 'Authenticate' in Settings.
Steps to Reproduce the Problem
Detail the steps below to help us reproduce the problem you encountered.
What it says on the tin. Pretty straight forward. I knew for a time TumblThree said it couldn't do text posts, but on the .io website, it says it does in the current version: "Download photo, video (only tumblr.com hosted), text, audio, quote, conversation, link and question posts." And yet it doesn't.
Specifications
Windows 10, TumblThree Version <IP_ADDRESS>9

Hello,
although I was pretty sure, because I just did it a few days ago,
I just tried out a fresh installation of the current version and downloaded apoemaday.tumblr.com with the default settings. It downloaded 1308 text posts into a file texts.txt. Tried it again with the json option and it downloaded the same amount, only saved as json structure instead. So in general it works.
So the question is why you can't download text posts. Have you tried/checked the downloads of several blogs? None of them downloads any text posts? Have you used any other recent version in the past days? I'm asking because you mentioned that it was written that TumblThree cannot download text posts. That must be years ago.
You said that you have enabled all (except external image hosters) which should be the default settings and that it downloads images/videos. So the download is working and it should work for text posts too (if enabled). Have you already checked your settings again or tried it with a fresh installation (any remaining settings files are in "%LOCALAPPDATA%\TumblThree\Settings")?
As to your crash clicking on Authenticate, did you get a message on program start that it needs an additional package (wiki)? Have you extracted the zip file to a protected folder? You can have a look in our log file (%LOCALAPPDATA%\TumblThree\TumblThree.log) or the file debug.log inside the program folder, if you find a hint at the end of the file right after a crash happened.

Hi there! I'm so sorry...  You're right. They are downloading. I guess I got confused looking at older versions, because the images now download (mostly) without 'tumblr' in front (is there a way to change that by the way? I'm trying to get rid of duplicate images so unfortunately the change of system is a little difficult) and those files used to be at the top of the folder rather than mixed in here and there. I apologize for taking up your time. I'll close this unless you want to respond to anything else.

Sorry I was rushing last time, because I was embarrassed about my mistake. But no, no message about needing an additional package, that I can see. Here's the debug log.
debug.log
.

No worries, errors can happen. Everything is good.
Looking only in the log file I would say that not all files from the zip file are in the folder. It says it's missing a file resources.pak. Please extract the zip file into your TumblThree folder again.
But also make sure that the extra package is installed in your system.

Ohhh I wonder what happened lmao, okay well that fixed it! amazing!


Mac OSX - write-access bug..

or
2015-08-19 14:16:21 0 [Note] mysqld (mysqld 5.6.26) starting as process 1 ...
2015-08-19 14:16:21 1 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
2015-08-19 14:16:21 1 [Note] Plugin 'FEDERATED' is disabled.
mysqld: Table 'mysql.plugin' doesn't exist
2015-08-19 14:16:21 1 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
2015-08-19 14:16:21 1 [Note] InnoDB: Using atomics to ref count buffer pool pages
2015-08-19 14:16:21 1 [Note] InnoDB: The InnoDB memory heap is disabled
2015-08-19 14:16:21 1 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-08-19 14:16:21 1 [Note] InnoDB: Memory barrier is not used
2015-08-19 14:16:21 1 [Note] InnoDB: Compressed tables use zlib 1.2.7
2015-08-19 14:16:21 1 [Note] InnoDB: Using Linux native AIO
2015-08-19 14:16:21 1 [Note] InnoDB: Using CPU crc32 instructions
2015-08-19 14:16:21 1 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2015-08-19 14:16:21 1 [Note] InnoDB: Completed initialization of buffer pool
2015-08-19 14:16:21 1 [ERROR] InnoDB: ./ibdata1 can't be opened in read-write mode
2015-08-19 14:16:21 1 [ERROR] InnoDB: The system tablespace must be writable!
2015-08-19 14:16:21 1 [ERROR] Plugin 'InnoDB' init function returned error.
2015-08-19 14:16:21 1 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2015-08-19 14:16:21 1 [ERROR] Unknown/unsupported storage engine: InnoDB
2015-08-19 14:16:21 1 [ERROR] Aborting

2015-08-19 14:16:21 1 [Note] Binlog end
2015-08-19 14:16:21 1 [Note] Shutting down plugin 'partition'
2015-08-19 14:16:21 1 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
[...] SHUTTING DOWN ALL PLUGIN
2015-08-19 14:16:21 1 [Note] Shutting down plugin 'binlog'
2015-08-19 14:16:21 1 [Note] mysqld: Shutdown complete

Running mysql_install_db
2015-08-19 14:32:23 0 [Note] /usr/sbin/mysqld (mysqld 5.6.26) starting as process 17 ...
2015-08-19 14:32:23 17 [Note] InnoDB: Using atomics to ref count buffer pool pages
2015-08-19 14:32:23 17 [Note] InnoDB: The InnoDB memory heap is disabled
2015-08-19 14:32:23 17 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-08-19 14:32:23 17 [Note] InnoDB: Memory barrier is not used
2015-08-19 14:32:23 17 [Note] InnoDB: Compressed tables use zlib 1.2.7
2015-08-19 14:32:23 17 [Note] InnoDB: Using Linux native AIO
2015-08-19 14:32:23 17 [Note] InnoDB: Using CPU crc32 instructions
2015-08-19 14:32:23 17 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2015-08-19 14:32:23 17 [Note] InnoDB: Completed initialization of buffer pool
2015-08-19 14:32:23 17 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
2015-08-19 14:32:23 17 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
2015-08-19 14:32:23 17 [Note] InnoDB: Database physically writes the file full: wait...
2015-08-19 14:32:24 17 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
2015-08-19 14:32:24 17 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
2015-08-19 14:32:25 7fa5a53e1720  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
2015-08-19 14:32:25 7fa5a53e1720  InnoDB: Assertion failure in thread<PHONE_NUMBER>41184 in file fil0fil.cc line 875
InnoDB: Failing assertion: ret
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
14:32:25 UTC - mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.

key_buffer_size=8388608
read_buffer_size=131072
max_used_connections=0
max_threads=151
thread_count=0
connection_count=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 68108 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0 thread_stack 0x40000
/usr/sbin/mysqld(my_print_stacktrace+0x2e)[0x8c0eae]
/usr/sbin/mysqld(handle_fatal_signal+0x471)[0x6998c1]
/lib/x86_64-linux-gnu/libpthread.so.0(+0xf0a0)[0x7fa5a4fc00a0]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35)[0x7fa5a3a5d165]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x180)[0x7fa5a3a603e0]
/usr/sbin/mysqld[0xabaebd]
/usr/sbin/mysqld[0xabd872]
/usr/sbin/mysqld[0x5d0193]
/usr/sbin/mysqld[0xa1f5d8]
/usr/sbin/mysqld[0x9630c5]
/usr/sbin/mysqld(_Z24ha_initialize_handlertonP13st_plugin_int+0x48)[0x5f9bd8]
/usr/sbin/mysqld[0x710999]
/usr/sbin/mysqld(_Z11plugin_initPiPPci+0x7b0)[0x714280]
/usr/sbin/mysqld(_Z11mysqld_mainiPPc+0x7ad)[0x5f22ed]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7fa5a3a49ead]
/usr/sbin/mysqld[0x5e7bad]
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
2015-08-19 14:33:57 0 [Note] mysqld (mysqld 5.6.26) starting as process 1 ...
2015-08-19 14:33:57 1 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
2015-08-19 14:33:57 1 [Note] Plugin 'FEDERATED' is disabled.
mysqld: Table 'mysql.plugin' doesn't exist
2015-08-19 14:33:57 1 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
2015-08-19 14:33:57 1 [Note] InnoDB: Using atomics to ref count buffer pool pages
2015-08-19 14:33:57 1 [Note] InnoDB: The InnoDB memory heap is disabled
2015-08-19 14:33:57 1 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-08-19 14:33:57 1 [Note] InnoDB: Memory barrier is not used
2015-08-19 14:33:57 1 [Note] InnoDB: Compressed tables use zlib 1.2.7
2015-08-19 14:33:57 1 [Note] InnoDB: Using Linux native AIO
2015-08-19 14:33:57 1 [Note] InnoDB: Using CPU crc32 instructions
2015-08-19 14:33:57 1 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2015-08-19 14:33:57 1 [Note] InnoDB: Completed initialization of buffer pool
2015-08-19 14:33:57 1 [ERROR] InnoDB: ./ibdata1 can't be opened in read-write mode
2015-08-19 14:33:57 1 [ERROR] InnoDB: The system tablespace must be writable!
2015-08-19 14:33:57 1 [ERROR] Plugin 'InnoDB' init function returned error.
2015-08-19 14:33:57 1 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2015-08-19 14:33:57 1 [ERROR] Unknown/unsupported storage engine: InnoDB
2015-08-19 14:33:57 1 [ERROR] Aborting

2015-08-19 14:33:57 1 [Note] Binlog end
2015-08-19 14:33:57 1 [Note] Shutting down plugin 'partition'
2015-08-19 14:33:57 1 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
[...] SHUTTING DOWN ALL PLUGIN
2015-08-19 14:33:57 1 [Note] Shutting down plugin 'binlog'
2015-08-19 14:33:57 1 [Note] mysqld: Shutdown complete

with official mysql container when I remove the volume, the container start but when I put a volume it crash and can't restart.
docker run --name db -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 -v ~/Docker/db:/var/lib/mysql -d mysql
Mac release : 10.10.3
Docker Kitematic release : 0.8.2
Docker Engine release : 1.8.1
Docker Machine release : 0.4.0
VirtualBox release : 5.0.0
I got several times a write-access error on my Mac with Docker..

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO


[Bug] Segmentation Fault on Negative Precision for CLI

Signed-off-by: Ashwin Balasubramanian<EMAIL_ADDRESS>

Description of the Change
Fixed segmentation fault that occurs in the cli when precision is given as -1 issue #1259.

Benefits
When negative values are entered the code does not exit with a segmentation fault.

Possible Drawbacks

Usage Examples or Tests [optional]

Open up a new terminal and login to the test domain using the CLI.
"Create a new transaction"
"Add Asset Quantity"
Choose an Account ID, Asset ID, and Amount. (See picture above for example values.)
Enter a negative precision amount.
Enter peer address and port.

Alternate Designs [optional]

Hi! First of all thank you for taking your time to contribute. We will take a look at your review shortly.

Any updates on that?

Since there's no update for a long time I'm closing that pr. Feel free to rebase onto dev branch and propose these fixes again


Port scenario_conditions to ROS2

Based on the excellent work of @jilaada.

@nnmm  @esteve I approved, so from  my side ready to merge.

@fred-apex-ai Thanks, we're only waiting on https://github.com/tier4/scenario_runner.iv.universe/pull/26 being merged

@esteve This one (and #20) are next in the dependency graph. CI should be green in an hour.


161 add tests for penalizeablestaking module in contracts

1 - Modify functions to make fewer external calls
2 - fix the event on unstake to be the account we pass
3 - Add tests for ban and withdrawBannedFundes

@SamBorisov @R-Santev to me these changes LGTM.


Customizable pie chart colors

I would like the ability to customize/specify pie chart colors, like you can for bar charts.
I see there is a workaround mentioned on SO https://stackoverflow.com/questions/34264715/python-pptx-custom-color-for-each-category but ideally I would be able to pragmatically specify the chart colors, and on a per-chart basis.
Keep up the awesome work!

@smcpherson @scanny any luck on this yet? Thanks.

Hi guys,
Same issue for me there, I'm trying to modify the color of a Pie Chart.
The documentation seems to reflect that the .format.fill argument now exist for PieSeries (see PieSeries Documentation), and indeed you can find it in a PieSeries object, but when trying to interact with .fill nothing happens (as suggested in the SO links you posted).
@scanny If the attribute is not yet implemented, should it still be in the object ? Seems counter intuitive to me.
Thank you for the good work !

Okay first, let me apologize, I should have done some exploration before.
As the PieChart is only one serie of multiple points, you need to modify the format attribute of the point instead of the one from the serie. Here are two functions I've made to modify the color of a chart from a list of color:

    from pptx.dml.color import RGBColor

    # This method will change the color of series of a chart using a list of color code
    # chart      - Chart object - The chart with series to modify
    # color_list - list         - A list of color that can be extracted using RGBColor.from_string method (ex: FF0D67)
    def modify_chart_series_color(chart, color_list):
        for idx, serie in enumerate(chart.series):
            col_idx = idx % len(color_list)
            print(serie)
            serie.format.fill.solid()
            serie.format.fill.fore_color.rgb = RGBColor.from_string(color_list[col_idx])

    # This method will change the color of points of a chart using a list of color code
    # chart      - Chart object - The chart with points to modify
    # color_list - list         - A list of color that can be extracted using RGBColor.from_string method (ex: FF0D67)
    def modify_chart_point_color(chart, color_list):
        for idx, point in enumerate(chart.series[0].points):
            col_idx = idx % len(color_list)
            point.format.fill.solid()
            point.format.fill.fore_color.rgb = RGBColor.from_string(color_list[col_idx])

@smcpherson, If you still need this functionality, this should do the trick !


Android: Readded support for libc++ and use it as the standard STL

Didn't care about the initial removal of libc++ since stlport worked fine for me, but it's obviously causing C++11 trouble as discussed here.
Clear case of "revert it, even though it's working". :)

I can confirm that both c++_shared and c++_static options work again now.
Looking at the diff with the old version it looks like these two lines of documentation are still missing though.

You're right, they're back.

It works again. Unfortunately, I can't test my app with this and r12b because of a bug in the lastest Android NDK.

Care to elaborate? I'm using 12b myself without issues.

Don't worry, it's a bug on their side that happens when catching std::bad_cast (they told me that the bug has been fixed for the next version)

This PR has been added to my merge list, meaning it will be merged soon, unless someone raises any concerns.


Can't install lib because of version conflict

$ flutter pub get
Running "flutter pub get" in lending...
Because flutter_storyboard >=0.1.5 depends on device_frame ^0.1.1 which depends on freezed_annotation ^0.7.1, flutter_storyboard >=0.1.5 requires freezed_annotation ^0.7.1.

So, because xx depends on both freezed_annotation ^0.12.0 and flutter_storyboard ^0.1.6, version solving failed.
pub get failed (1; So, because xx depends on both freezed_annotation ^0.12.0 and flutter_storyboard ^0.1.6, version solving failed.)
exit code 1

This is actually due to depending on an old version of the device_frame package and its transient dependency on old version of freezed_annotations. I'm currently working on updating flutter_storyboard to work with the latest 0.3.0 version of  device_frame, I'll update this issue once I have the PR ready.


docs: Update Tekton Custom Pipelines use case (#348)

Pull Request Template
Description
This change contains updates on the Creating and Using Custom Tekton Pipelines page.
Fixes #(issue)
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Improvement
[x] Documentation update

How Has This Been Tested?
The 'npm install && npm ci && npm start' command works properly.
Checklist

[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ x Pull Request contain one commit. I squash my commits.

please align the last clause check list


Ansible tutorial TODOs from Barcelona (Helena edition)

xref https://github.com/galaxyproject/training-material/issues/1809

@natefoo can you review?

Ready for review if anyone has time today @galaxyproject/training-admin

@TKlingstrom hey since you're working on admin stuff, let me know if you have any comments on this?

thanks @hexylena! and thanks for the review @natefoo @Slugger70 @nsoranzo and @TKlingstrom!

I think that sounds great, go for it! Thanks for looking at it
fre. 29. mai 2020, 14:59 skrev Nicola Soranzo<EMAIL_ADDRESS>
@nsoranzo commented on this pull request.
In topics/admin/tutorials/connect-to-compute-cluster/slides.html
https://github.com/galaxyproject/training-material/pull/1831#discussion_r432465223
:

@@ -296,128 +296,7 @@

-# Galaxy Dependency Resolver Configuration
@hexylena https://github.com/hexylena The text removed here contained
more (I think useful) material than what's in
topics/admin/tutorials/toolshed/slides.html . Also I've been thinking
what's the more appropriate slide deck to include such info about
dependency resolution, and I feel it should be in
topics/admin/tutorials/tool-management/slides.html (there was one slide,
which I removed in d5ba4aa
https://github.com/galaxyproject/training-material/commit/d5ba4aa1f5d8c6e2ab3ef4e63897478702a958c6
😊).
What do you think? I can do the work if you agree.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/galaxyproject/training-material/pull/1831#pullrequestreview-420927018,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADP7O4HDCIJ2TBXU2I2EDTRT6WS7ANCNFSM4LBPREYA
.


registering blueprint with flask-sock Sock object

I am trying to convert from flask-sockets but I used blueprints before, having so many routes in my project for normal webpages, and multiple uses of websockets.
I tried simply replacing my flask-sockets import with flask-sock, but get this error:
    sockets.register_blueprint(vnc.vnc_bp, url_prefix=r'/')
AttributeError: 'Sock' object has no attribute 'register_blueprint'

how can I proceed?

There's no register_blueprint in this extension. See the documentation for usage.

I indeed searched the docs, there was no result for blueprint.
I also tried porting the register_blueprint method and associated members from flask_sockets, but while I got no errors, my client's websocket requests were not heard in the server.

Have you considered not using a blueprint for your websocket route, which is how this is designed to work with this extension?
As I said, blueprints are currently not implemented, but this shouldn't impose any big limitations. For a Flask route you would need to have a global app object. This isn't the case for Flask-Sock, since your route is defined on the sock object, not on app.

Can you provide a quick 2-file example? One where your app and Sock is setup, and another with the routes for the Sock? In my current server, my main.py file has the app and flask_socket, and then I have many other files (blueprints) which have the actual routes and response logic. I have 2 separate files for different websocket pages/applications... which are currently registered with the main.py flask_socket object. So unless I make all my blueprints into classes, and then instantiate them after I create a flask_sock Sock object and pass that into their constructor, I'm at a loss for a quick and clean way to go about transitioning.

Here you go. Added to this repo to help others with the same question: https://github.com/miguelgrinberg/flask-sock/tree/main/examples/blueprints

Another solution is to change the code of flask-sock to support blueprints:
In flask_sock/__init__.py :

Add a reference to Blueprints by changing line 2:

from flask import Flask, Blueprint, request, Response, current_app

change the init function of class Sockets for this one:

    def __init__(self, app=None):
        self.app = None
        self.bp = None
        if app is None:
            self.bp = Blueprint('__flask_sock', __name__)
        else:
            if isinstance(app, Flask):
                self.app = app
                self.init_app(app)
            elif isinstance(app, Blueprint):
                self.bp = app
            else:
                raise AssertionError("Unknown type for app argument (must be Flask or Blueprint)")

Then in your blueprint file you can simply write:
    app = Blueprint('MyBlueprint', __name__)
    sockets= Sockets(app)
...
@sockets.route('/handler.sock')
def handler_socket(ws):
...

This works for me.

@ceprio that is a really bad idea, unless you plan on maintaining your own fork of this package. You will not be able to install upgrade if you make custom changes. You are obviously free to do whatever you like, but for the vast majority of people this isn't a workable solution.

@miguelgrinberg, I can also make a pull request when I get time. It would be for after the holidays. Though you seem negative about it: Do you see any issues in this implementation?

@ceprio I'm negative about this change because it doesn't make this package better. There is no need to use a blueprint as the parent of this extension, that does not provide any benefit. The OP wasn't asking about this, they were asking about how to incorporate Flask-Sock in a multi-file app that has blueprints, not to initialize this extension inside of a blueprint.

I see that we will not agree on this one. For me keeping the socket handler in the blueprint solution is of the upmost importance as each blueprint must be independant of each other, attached to that blueprint and the socket should be able to use the facilities of the blueprint. For example, when a user enters my blueprint I want this user to be authenticated and approved for this perticular blueprint. Same goes for the socket, if the socket is at the app level, I cannot validate permissions, if it is at the blueprint level then I can use Blueprint.before_request to validate that user can indeed use the socket.
Here is an example of this (with the changes to flask_sock described above):
from flask import Blueprint, Flask, render_template
from flask_sock import Sockets

app = Flask(__name__)
play = Blueprint('simple_page', 'simple_page')
play_socket = Sockets(play)

@app.route('/')
def first_hit():
    return 'Welcome to Websockets sample!
' + \
        'Go to the Blueprint'

@play.route('/')
def hello():
    return 'You are in the Blueprint!
' + \
        'Run the test'

@play.route('/echo_test', methods=['GET'])
def echo_test():
    return render_template('echo_test.html')

@play.before_request
def validate():
    print("Validate the user permissions here.")

@play_socket.route('/echo')
def echo_socket(ws):
    print(ws.environ['QUERY_STRING'])
    print("Socket opened")
    try:
        while True:
            message = ws.receive()
            ws.send(message[::-1])
    except Exception as e:
        print(f"ws.exception: {type(e)}")
    finally:
        if ws.connected:
            ws.close()
        print("Socket closed")

@play_socket.route('/status_ping')
def ping(ws):
    while not ws.closed:
        message = ws.receive()
        response = json.dumps({"Message":message, "Response":"Message received"})
        ws.send(response)

########### Register blueprints ###########
app.register_blueprint(play, url_prefix=r"/play")

if __name__ == '__main__':
    app.run()

Thanks for the example. I will think about how to support this use case.

@ceprio Just released Flask-Sock 0.6.0 with the option to put the WebSocket route in a blueprint. Example:
app = Flask(__name__)
play = Blueprint('play', __name__)
sock = Sock(app)

@sock.route('/ws', bp=play)
def websocket(ws):
    pass

Thank you, your implementation is different than mine. I wonder why you are initializing the socket with the app instead of directly using the blueprint? You then need to specify the socket at each @sock.route. Was there any thing wrong with my code that I did not see/understand?

@ceprio Flask-Sock is a Flask extension. The normal way to use extensions is to initialize them on the application instance. Your solution does not agree with this standard way of initializing extensions, and would create complications if you want to use websocket routes in more than one blueprint.


CoreML: block_specializations.CoreML7

Netron app and version: 7.1.6
OS and browser version: macOS Ventura

Error: "Cannot read properties of undefined (reading 'operations')"
Steps to Reproduce:
Model attached. Here is the code that produced it
# coremltools==7.0b2

import coremltools as ct
import coremltools.optimize.torch as cto
import torch
import torch.nn as nn

torch_model = nn.Sequential(
                        nn.Conv2d(3, 12, (1, 1), (1, 1), padding=(0, 0)),
                        nn.BatchNorm2d(12),
              )

data = torch.randn(1, 3, 32, 32)
config = cto.quantization.LinearQuantizerConfig.from_dict(
    {
        "global_config": {
            "quantization_scheme": "symmetric",
            "weight_per_channel": True,
        }
    }
)

quantizer = cto.quantization.LinearQuantizer(torch_model, config)
prepared_model = quantizer.prepare(example_inputs=data, inplace=False)
prepared_model(data)
finalized_model = quantizer.finalize(inplace=False)

traced_model = torch.jit.trace(finalized_model, example_inputs=data)

mlmodel = ct.convert(
        traced_model,
        inputs=[ct.TensorType(shape=data.shape)],
        minimum_deployment_target=ct.target.iOS17,
    )
mlmodel.save("simple_activation_quantized_model.mlpackage")

simple_activation_quantized_model.mlpackage.zip

@aseemw please submit a pull requests with proposed fixes for Core ML issues.

Duplicate of #193

@lutzroeder
sorry I do not fully follow. You made this issue a duplicate of #193, but that one is also closed. Shouldn't there be an open issue to track this?  Are all the issues in #193 due to the same root cause, hence you have clubbed them together?

@aseemw please submit pull requests with proposed fixes for Core ML issues.

I am not sure which part of the code is failing with this model. I can definitely help to clarify on how to parse the proto messages, if a specific message is tripping the parsing code. Do you know which exact proto message is leading to this error of "cannot read properties of undefined"?


Add Button in the MainActivity

How do I add a button to do something in the first screen that opens, or for that matter, anywhere in the MediaBrowserFragment?
Thanks!

Can you please ask questions in stackoverflow? If you find a bug or would like to request a feature, then you can file an issue.


Update README.md

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[ ] Feature
[ ] New Binding Issue #___
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[x] Other, please describe: fix typo

Does this PR introduce a breaking change? (check one)

[ ] Yes. Issue #___
[ ] No

The PR fulfills these requirements:

[ ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix: #xxx[,#xxx], where "xxx" is the issue number)
[ ] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

Well, the (1) is actually a reference to the footnote, and while it is possible (and likely) that your electron app will bloat to that size, generally speaking a minimal electron app will not be that large. Closing with "happy developer sound".

Well, the (1) is actually a reference to the footnote, and while it is possible (and likely) that your electron app will bloat to that size, generally speaking a minimal electron app will not be that large. Closing with "happy developer sound".


Use GitHubActionsTestLogger

I'm proposing to use GitHubActionsTestLogger, which will create nice summaries and easier to find test failures instead of the need to browse trough build's console logs.

I'm hoping that the logger is not responsible for the test failure, but already easier to see problematic test details in the summary view:

Very nice, thanks!


Classifier not training in 0.4.17

Classifier training is not working in napari 0.4.17 (at least on some data where it's working in 0.5.0). When running it, I get INFO: Not enough annotations made. Please make more annotations.
This is a consequence of the try-catch for ValueErrors during classifier training. When not catching this ValueError, we get the following error message (not the one the try catch was designed for => maybe we should make this less broad?)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
File ~/mambaforge/envs/classifier-dev/lib/python3.9/site-packages/psygnal/_signal.py:950, in SignalInstance._run_emit_loop(self=<SignalInstance 'changed' on PushButton(value=False, annotation=None, name='')>, args=(False,))
    949 try:
--> 950     caller.cb(args)
        caller = <psygnal._weak_callback._WeakMethod object at 0x2b16d7400>
        args = (False,)
    951 except Exception as e:

File ~/mambaforge/envs/classifier-dev/lib/python3.9/site-packages/psygnal/_weak_callback.py:341, in _WeakMethod.cb(self=<psygnal._weak_callback._WeakMethod object>, args=())
    340     args = args[: self._max_args]
--> 341 func(obj, *self._args, *args, **self._kwargs)
        obj = <Container ()>
        func = <function ClassifierRunContainer.run at 0x2b34ae9d0>
        args = ()
        self = <psygnal._weak_callback._WeakMethod object at 0x2b16d7400>
        self._args = ()
        self._kwargs = {}

File ~/Dropbox/Joel/FMI/Code/napari-feature-classifier/src/napari_feature_classifier/classifier_widget.py:299, in ClassifierRunContainer.run(self=<Container ()>)
    298 self.add_features_to_classifier()
--> 299 self._classifier.train()
        self = <Container ()>
        self._classifier = Classifier
                                 annotations   area      hash
roi_id                    label
r04c07f02p01-ch1sk1fk1fl1 89               1  198.0  0.356967
                          136              1  174.0  0.277897
                          202              1  192.0  0.437402
                          258              1  207.0  0.292852
                          362              1  130.0  0.015523
                          405              1  173.0  0.559590
                          546              1  127.0  0.258025
                          562              1  166.0  0.174446
                          693              1  176.0  0.737419
                          697              1  150.0  0.422359
                          982              1  204.0  0.170698
                          1114             2   63.0  0.292251
                          1393             2   32.0  0.276789
                          1566             2   49.0  0.584304
                          1579             2   43.0  0.210398
                          1628             2   30.0  0.980660
                          1717             2   47.0  0.913480
                          1737             2   27.0  0.765238
    300 try:

File ~/Dropbox/Joel/FMI/Code/napari-feature-classifier/src/napari_feature_classifier/classifier.py:96, in Classifier.train(self=Classifier
                                 anno...              1737             2   27.0  0.765238)
     94 self._classifier.fit(X_train, y_train)
---> 96 f1 = f1_score(y_test, self._classifier.predict(X_test), average="macro")
        X_test =                                  area
roi_id                    label
r04c07f02p01-ch1sk1fk1fl1 1628   30.0
                          1717   47.0
        y_test = roi_id                     label
r04c07f02p01-ch1sk1fk1fl1  1628     2
                           1717     2
Name: annotations, dtype: Int64
        self = Classifier
                                 annotations   area      hash
roi_id                    label
r04c07f02p01-ch1sk1fk1fl1 89               1  198.0  0.356967
                          136              1  174.0  0.277897
                          202              1  192.0  0.437402
                          258              1  207.0  0.292852
                          362              1  130.0  0.015523
                          405              1  173.0  0.559590
                          546              1  127.0  0.258025
                          562              1  166.0  0.174446
                          693              1  176.0  0.737419
                          697              1  150.0  0.422359
                          982              1  204.0  0.170698
                          1114             2   63.0  0.292251
                          1393             2   32.0  0.276789
                          1566             2   49.0  0.584304
                          1579             2   43.0  0.210398
                          1628             2   30.0  0.980660
                          1717             2   47.0  0.913480
                          1737             2   27.0  0.765238
        self._classifier = RandomForestClassifier()
     97 # napari_info("F1 score on test set: {}".format(f1))

File ~/mambaforge/envs/classifier-dev/lib/python3.9/site-packages/sklearn/metrics/_classification.py:1146, in f1_score(y_true=roi_id                     label
r04c07f02p01-ch...       1717     2
Name: annotations, dtype: Int64, y_pred=<class 'numpy.ndarray'> (2,) float64, labels=None, pos_label=1, average='macro', sample_weight=None, zero_division='warn')
   1021 """Compute the F1 score, also known as balanced F-score or F-measure.
   1022
   1023 The F1 score can be interpreted as a harmonic mean of the precision and
   (...)
   1144 array([0.66666667, 1.        , 0.66666667])
   1145 """
-> 1146 return fbeta_score(
        y_true = roi_id                     label
r04c07f02p01-ch1sk1fk1fl1  1628     2
                           1717     2
Name: annotations, dtype: Int64
        y_pred = <class 'numpy.ndarray'> (2,) float64
        labels = None
        pos_label = 1
        average = 'macro'
        sample_weight = None
        zero_division = 'warn'
   1147     y_true,
   1148     y_pred,
   1149     beta=1,
   1150     labels=labels,
   1151     pos_label=pos_label,
   1152     average=average,
   1153     sample_weight=sample_weight,
   1154     zero_division=zero_division,
   1155 )

File ~/mambaforge/envs/classifier-dev/lib/python3.9/site-packages/sklearn/metrics/_classification.py:1287, in fbeta_score(y_true=roi_id                     label
r04c07f02p01-ch...       1717     2
Name: annotations, dtype: Int64, y_pred=<class 'numpy.ndarray'> (2,) float64, beta=1, labels=None, pos_label=1, average='macro', sample_weight=None, zero_division='warn')
   1169 """Compute the F-beta score.
   1170
   1171 The F-beta score is the weighted harmonic mean of precision and recall,
   (...)
   1284 array([0.71..., 0.        , 0.        ])
   1285 """
-> 1287 _, _, f, _ = precision_recall_fscore_support(
        y_true = roi_id                     label
r04c07f02p01-ch1sk1fk1fl1  1628     2
                           1717     2
Name: annotations, dtype: Int64
        y_pred = <class 'numpy.ndarray'> (2,) float64
        beta = 1
        labels = None
        pos_label = 1
        average = 'macro'
        sample_weight = None
        zero_division = 'warn'
   1288     y_true,
   1289     y_pred,
   1290     beta=beta,
   1291     labels=labels,
   1292     pos_label=pos_label,
   1293     average=average,
   1294     warn_for=("f-score",),
   1295     sample_weight=sample_weight,
   1296     zero_division=zero_division,
   1297 )
   1298 return f

File ~/mambaforge/envs/classifier-dev/lib/python3.9/site-packages/sklearn/metrics/_classification.py:1573, in precision_recall_fscore_support(y_true=roi_id                     label
r04c07f02p01-ch...       1717     2
Name: annotations, dtype: Int64, y_pred=<class 'numpy.ndarray'> (2,) float64, beta=1, labels=None, pos_label=1, average='macro', warn_for=('f-score',), sample_weight=None, zero_division='warn')
   1572     raise ValueError("beta should be >=0 in the F-beta score")
-> 1573 labels = _check_set_wise_labels(y_true, y_pred, average, labels, pos_label)
        labels = None
        y_true = roi_id                     label
r04c07f02p01-ch1sk1fk1fl1  1628     2
                           1717     2
Name: annotations, dtype: Int64
        y_pred = <class 'numpy.ndarray'> (2,) float64
        average = 'macro'
        pos_label = 1
   1575 # Calculate tp_sum, pred_sum, true_sum ###

File ~/mambaforge/envs/classifier-dev/lib/python3.9/site-packages/sklearn/metrics/_classification.py:1374, in _check_set_wise_labels(y_true=roi_id                     label
r04c07f02p01-ch...       1717     2
Name: annotations, dtype: Int64, y_pred=<class 'numpy.ndarray'> (2,) float64, average='macro', labels=None, pos_label=1)
   1372     raise ValueError("average has to be one of " + str(average_options))
-> 1374 y_type, y_true, y_pred = _check_targets(y_true, y_pred)
        y_true = roi_id                     label
r04c07f02p01-ch1sk1fk1fl1  1628     2
                           1717     2
Name: annotations, dtype: Int64
        y_pred = <class 'numpy.ndarray'> (2,) float64
   1375 # Convert to Python primitive type to avoid NumPy type / Python str
   1376 # comparison. See https://github.com/numpy/numpy/issues/6784

File ~/mambaforge/envs/classifier-dev/lib/python3.9/site-packages/sklearn/metrics/_classification.py:95, in _check_targets(y_true=roi_id                     label
r04c07f02p01-ch...       1717     2
Name: annotations, dtype: Int64, y_pred=<class 'numpy.ndarray'> (2,) float64)
     94 if len(y_type) > 1:
---> 95     raise ValueError(
        type_true = 'unknown'
        type_pred = 'binary'
     96         "Classification metrics can't handle a mix of {0} and {1} targets".format(
     97             type_true, type_pred
     98         )
     99     )
    101 # We can't have more than one value on y_type => The set is no more needed

ValueError: Classification metrics can't handle a mix of unknown and binary targets

Not sure why we're running into a ValueError: Classification metrics can't handle a mix of unknown and binary targets with this here, will need to dig a bit
Thanks @fdsteffen for pointing us to this!
Next steps:

[x] Reproduce with the minimal test data in 0.4.17
[ ] Create a test case that fails for this with the 0.4.17 napari (which is also the one used during automated testing)
[ ] Find the source of this issue & fix it

Can confirm that it is also broken in our minimal example using the little dev_main.py script => seems to be a larger issue with the 0.1.0 plugin and the 0.4.17 napari release.

I don't understand why the test_running_classification_through_widget test in test_classifier_widget is passing. It's asserting that all the predictions are not NaN and they would be if the training fails, I think. Investigating...

And the story continues to get weirder. Locally, test_running_classification_through_widget actually fails in my old-ish napari env. The NaN assertion correctly catches this, as it was designed to do!
I'll rebuild a fresh napari env, just installing those dependencies and try again. Because those same tests are actually passing in our automated testing on Github (=> we should be catching this issue!)

The issue is not actually with the napari version, I tried with 0.4.17 in a fresh environment and there, everything worked fine.
I next tested the scikit-learn version. I had 1.2.2 in the newer environment where the tests passed, but only 1.2.1 in the old one. Downgrading to 1.2.1 raises this issue again and makes the tests fail. No idea why we depend on the 1.2.2 version of scikit-image.
@MaksHess Any idea? I'll prepare a PR to force scikit-image >= 1.2.2 so we can just fix it that way, unless you see an obvious fix we could do to work in older scikit-image versions (but not worth investing a lot of time in, maybe their bug or how they handle NaNs or something?
@fdsteffen Can you confirm that you also had scikit-image < 1.2.2 in your environment?

Yes, indeed I was running on scikit-learn 1.2.1 in my local environment. Many thanks for digging into this @jluethi!

Just to quickly follow up, I guess this is indeed related to the issue raised in scikit-learn/scikit-learn#25578 and fixed with patch release 1.2.2 (scikit-learn/scikit-learn#25638 and scikit-learn/scikit-learn#25692). Updating the dependencies is likely the fastest way forward.

@fdsteffen These issues are now fixed in the 0.1.1 release that has just been deployed to pypi. Thanks again for reporting them and feel free to open more issues if you run into any other bugs or gaps in our documentation!


reordering in proc_selectChannels

proc_selectChannels  returns an epo or cnt with an ordered list  of channes. So if I ask for
cnt2 = proc_selectChannels(cnt1, {'Fz', 'Oz', 'Cz'});
then
cnt2.clab -->  {'Fz', 'Cz', 'Oz'}
There should be a warning at least!!!

Fixing this one, will (probably) also fix issue #8.

I'm working on it


how to speed up the simulation of GCAL model ?

Hi, I am wondering how to accelerate the simulation of GCAL model, since I need to run
the model for a large time scale and this may use several days for the original speed. Are
there some parts we can modify to push the simulation to run faster ? Thanks for your attention !

Sure.  One thing you can do is change some of the parameters to get a smaller memory footprint, which will give major speedups.  E.g. you can reduce cortical density, which if you reduce by some fraction x will cut down the memory and simulation time by x^4.  You can instead reduce only some of the connection field lengths, if they aren't important for your particular application.  E.g. if you aren't interested in specific lateral connectivity, those connections dominate the memory and computation time, so you should make them a good bit smaller.  You can probably even safely replace all the lateral connections with a fixed, shared kernel, for a dramatic speedup, but I haven't actually tested to see how well that works or what parameters you'd need to adjust.
If you don't want to change any of your parameters, the easiest thing is to try a machine with more cores; Topographica should be able to use all of them to good effect with no coding changes, giving a major speedup.
There are also GPU and MPI versions of Topographica, which allow you to run the most computationally intensive parts of the model on either GPU hardware or on clusters of machines, if you need more computing power or memory than you have on one machine.  Alas, I haven't needed either one, so I can't tell you how to get started with them.  @philippjfr could point you to how to use the GPU support, but he's very busy for the next few weeks, and I think it still has some rough edges that need filling in.  For MPI support I can send you the thesis from the student who implemented it, but I think it has rough edges as well.
So there are definitely things you can do...

Thanks a lot for your nice comments ! I will think about your suggestions thoroughly.

Hi, how about batch mode processing of GCAL model, can it be faster ? Recently I read the user Manual and it mentions the batch processing, but I am not sure that means the running speed can
become faster.

Now I understand what the batch mode means, and it is not supposed to be used for the speedups. Thanks for your attention.

I wrote this before your last comment, but it doesn't look like it got posted:
Depends what you're doing.  If you run one step at a time in the Tk GUI, then batch mode will be faster, because it won't be updating the display all the time.  But if you run 10000 steps in one go in the GUI, it will be exactly the same as batch mode.  The only difference between batch mode and GUI mode is the display.  In fact, when I run things in batch mode they are usually slower, because I have it automatically run various analyses so that the results are ready when I need them.  The big advantage of batch mode is simply that you are not sitting and watching, so that it doesn't much matter how long it takes in most cases.

Okay, I see,  thank you very much !

Dear Bednar,
could you tell me some information about the MPI version of GCAL model, please ? For example,
the student' thesis implementing this version.
With best regards

Here is the thesis describing the MPI implementation.   In nearly all cases in our own work, we've ended up needing to run multiple independent jobs rather than the single large jobs that MPI makes possible, and so we've not really been keeping up the MPI support.  But it shouldn't be hard to revive it if it's gone stale. Good luck!

i have been running large models on gpus (titan x) and i get about 10x to 100x speed up over 36 phys core machine.  So definitely worth it to consider investing in a gpu board...

@jbednar Thanks !

@mjabri Can you tell further about how to implement the gpu version of Topograhica, please ?

I actually started from http://homepages.inf.ed.ac.uk/s1137931/thesis.pdf and https://github.com/Tasignotas/topographica/ and added some functions to load fetch the connections weights from/to GPU. See also https://github.com/ioam/topographica/issues/635.
I also had to fix a bug that makes it work with magnify_mapper > 0.
I am waiting for a problem with the GUI to to be fixed so I can merge with latest version and put a pull request.

@mjabri Could you remind me what exact GUI functionality you need restored in master before applying submitting a PR?

Here it is. https://github.com/ioam/topographica/issues/611#issuecomment-150275418

@mjabri Hi, did you run GPU version of topographica in cluster ? How much is its speed up like ?

I run 1 instance on 1 GPU (Titan X with 12GB RAM). Speed up depends on network size, but for me it is about 10 to 100x.

@mjabri  Sounds great !  Look forward to your problem to be fixed and your pull request for the  GPU
version.

@mjabri Hi, currently it is kind of emergent for me to need a speed-up version of topographica
to run some simulations and up to now the GPU version is supposed to be one of fastest versions.
So I would like to ask, how is the problem you mentioned being processed ? If it is fixed already,
can you share that runnable version with us ? I will really appreciate this, :)

@mjabri  Hi, I would like to ask, did you implement GPU processing of Topographica with MPI ? I am also
very interested in the implementions to speed up the simulations.


Karma: Add Tests for Duplicating Page

Add karma tests for duplicating page. I mainly want this to be tested on elements with any of the possible animations applied, but we may find a need for other tests in here around page duplication too.
We should be able to recycle a lot of this code from this karma test for copy and paste to test the outward facing api here:
https://github.com/google/web-stories-wp/pull/5736

@carlos-kelly I remember creating a ticket like this earlier, but wasn't able to find it on the board. So heads up, There's a chance this is a duplicate.


Make the cursor appear on top of text that is highlighted from a search

After performing a search, the black highlighting on search matches seem to have higher zorder/priority than the green cursor block, so when moving the cursor to search match it is hidden behind the black highlight. This makes it hard to see which match the cursor is on, especially when navigating between matches using n and N.

keywords for people searching: find / next color

So is there any conclusion of this issue?


Stale issues/PR's

It looks like there are a lot of stale issues/PR's in the pipeline including #498, #493, and #488. Is there anything that can be done to move them along?

Done. Will release a new version shortly.

@tlunter Thanks!

Released v1.34.0


Fix Posix demo build and remove src directory

Fix Posix demo build and remove src directory
Description
Fix the POSIX build, some changes that were not reflected in this port broke it
Remove the src directory, and move all source files one level up
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/bot run checks

/bot run checks

/bot run checks

/bot run checks


skip_verify in 0.7.1

This is working

pygnmi 0.7.1
token based auth
no username and no password
skip_verify instead of override

arista@devbox:~$ pip freeze | grep gnm
pygnmi==0.7.1

arista@devbox:~$ cat test2.py
from pprint import pprint as pp
import json
from pygnmi.client import gNMIclient

with open("token.tok") as f:
    TOKEN = f.read().strip('\n')

host = ('<IP_ADDRESS>', '443')
with gNMIclient(target=host, token=TOKEN, skip_verify=False) as gc:
    result = gc.capabilities()

pp(result)
arista@devbox:~$

but using skip_verify=True it doesnt work.
It should be the opposite isnt it?

I second this, I have observed the same behaviour

Hello folks,
thanks for reads up, can please post how your script looks like and the content of the certificate?
Best,
Anton

Hey,
I've published the new pygnmi release 0.7.2, which changes the logic for this skip_verify functionality a bit. Now it shall be working, but, please, pay attention to note in release notes.
Best,
Anton

it works using pygnmi 0.7.2
many thanks @akarneliuk


reform Responder

Coverage increased (+0.2%) to 69.311% when pulling ba4a7b7ac9af78bd85d3366c3cfd2e4bca8d807c on responder-form into 84a8579b461070b78a824518109615f739bf51ad on master.


[scrubber][snmp traps] Scrube community_strings

What does this PR do?
[scrubber][snmp traps] Scrube community_strings

Motivation
community_strings are similar to passwords and should be scrubbed

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] The appropriate team/.. label has been applied, if known.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the config template has been updated.

..except there's no "e" in "Scrub" :)


Update overview-of-always-on-availability-groups-sql-server.md

SQL Server 2019 (15.x) increases the maximum number of synchronous replicas to 5, up from 3 in SQL Server 2017 (14.x). There is one primary replica, plus four synchronous secondary replicas.

Docs Build status updates of commit fc961ab:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/database-engine/availability-groups/windows/overview-of-always-on-availability-groups-sql-server.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@MashaMSFT

Can you review this PR?

IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Hi @0x7FFFFFFFFFFFFFFF , thanks so much for your submission! My apologies for the delay, we've been working through a long backlog of items. I've pulled your PR into the private repository and processed so I'll go ahead and close out this PR but you will still show up as a contributor to the doc once the change goes live. Please feel free to comment should you need anything further.
Thanks again for improving our docs and I hope you have a wonderful rest of your day!
Masha from the SQL Docs team


DetectNet model training not converging, how to improve mAP?

I have a DetectNet model trained for car detection exactly as show on the walkthrough. Digits 5.1 with GTX-1080 took about 18 hours on training and finally given the following result:

The graph show the model is not converging after 15 epochs. How could the mAP value be improved??
Additional query: Since DetectNet is a single-class object detecting network, I have reformed the dataset by entering (for example) dontcare,cyclist in the "Custom classes" field to generate cyclist detection mapping. Now should I edit the prototext Data Transformation layer on the following??
object_class: { src: 1 dst: 0} # obj class 1 -> cvg index 0

Hello, you are actually getting the same results as in the example, it's just that you have to read the mAP on the left axis (due to #900). Hover with your mouse over the mAP curve to get accurate readings.

I have reformed the dataset by entering (for example) dontcare,cyclist in the "Custom classes" field to generate cyclist detection mapping. Now should I edit the prototext Data Transformation layer on the following??

When you do this you are effectively mapping cyclist to class ID#1 so you don't have to edit the prototxt.

When Detection classes from this list, should I define custom class on the dataset? Or Should I change the prototext with custom class ID before training the model? For example, to detect cyclist, which one is the correct procedure as the following?

To detect cyclists only, enter dontcare,cyclist in the "Custom classes" field to generate this mapping in the Object Detection dataset creation form.

Only edit the prototext Data Transformation layer to object_class: { src: 12 dst: 0} # obj class 1 -> cvg index 0

Which one is the correct procedure? Plz help.

Both are correct (though make sure you change both instances of the data transformation layer in the prototxt if you use the second option).

iam trying to detect 2 class network.
1)Custom class = dontcare,car,pedestrian.
2)protxt Data transform layer training and validation to object_class: { src: 1 dst: 0};object_class: { src: 8 dst: 1}
i tried in all different forms ,giving it.But it is always learning only car.Why is it so.Pleease someone help me.


Fight Shadow Affinity bosses if copied outside Shadow Rifts

if (have_effect($effect[shadow affinity]) == 0 && !contains_text(my_location(), "Shadow Rift"))
Added the second part -- should make sure when fighting a shadow affinity enemy that if it's outside a shadow rift, you don't need to abort because you don't have the shadow affinity

https://github.com/C2Talon/c2t_hccs/pull/15/commits/71c6631295ff46683bd565280b050f27dcd657f7

Oops, needed to reverse the sign after testing

There should be no fighting of shadow rift monsters outside the shadow rift, and shadow rift bosses cannot be copied. So this is just confusing. Is there a log of that happening?

Maybe it's a Mafia error then? The logs would be wrong then, unless backing up shadow rift monsters is possible. Here's an example log, but I can provide more. I had to manually kill the shadow rift enemy to keep the script going. If you'd prefer not to update for this edge case, that's fine!
[65] The Neverending Party
Preference lastEncounter changed from burnout to party girl
Encounter: party girl
Round 0: player wins initiative!
Round 1: Your toy train moves ahead to the Viewing Platform. As your train passes the viewing platform, the crowd shouts and cheers inspiring you!
Preference trainsetPosition changed from 27 to 28
Round 1: You gain 207 Muscleboundness
Round 1: You gain 137 Wizardliness
Round 1: You gain 317 Chutzpah

c2t_bb macro: scrollwhendone;pickpocket;if hasskill 7381;skill 7381;endif;twiddle;
Round 1: player executes a macro!
Round 1: player tries to steal an item!
You acquire an item: very small red dress
Round 2: Wusevelt lights a sparkler and stabs your foe with it for 20 damage. Some of the sparks land right on your brain! Whooo!
Round 2: You gain 20 Mojo Points
Round 2: You lose 128 hit points
Round 2: player casts BACK-UP TO YOUR LAST ENEMY!
Round 3: your opponent becomes a shadow guy!
Preference _backUpUses changed from 5 to 6
Preference choiceAdventureScript changed from c2t_hccs_choices.ash to
Preference betweenBattleScript changed from c2t_hccs_preAdv.ash to
Preference afterAdventureScript changed from c2t_hccs_postAdv.ash to
Preference recoveryScript changed from c2t_hccs_recovery.ash to
Preference hpAutoRecoveryItems changed from cannelloni cocoon;tongue of the walrus;disco nap to scroll of drastic healing;cannelloni cocoon;relaxing hot tub;tongue of the walrus;lasagna bandages
Preference hpAutoRecovery changed from 0.9 to -0.05
Preference hpAutoRecoveryTarget changed from 0.95 to 0.0
Preference currentMood changed from hccs-mox to apathetic
c2t_hccs took 0 minutes 2.291 seconds to execute.
Round 3: player casts SAUCEGEYSER!
Round 4: shadow guy takes 484 damage.
Round 4: Wusevelt shoots your foe with a patriotic firework, causing 31 damage. "Ooh!" you say, dutifully. "Ahh!" "Ouch!" your opponent adds.
Round 4: You gain 31 Mojo Points
Round 4: player wins the fight!
After Battle: I bet you didn't know that the shadow guy keeps itself hydrated by storing emergency water in its butt, like a camel.
You acquire an effect: Ultrahydrated (5)
You acquire an item: shadow bread
After Battle: Wusevelt grins at you, which is weird because of the beak? (+10 Stats)
After Battle: You gain 58 Fortitude
You gain a Muscle point!
After Battle: You gain 40 Magicalness
After Battle: You gain 168 Chutzpah
You gain a Moxie point!
After Battle: You gain 1 Magicalness
Preference garbageShirtCharge changed from 32 to 31
Preference encountersUntilNEPChoice changed from 2 to 1
Preference _boomBoxFights changed from 1 to 2
Preference _concoctionDatabaseRefreshes changed from 125 to 126
Preference _concoctionDatabaseRefreshes changed from 126 to 127
Preference afterAdventureScript changed from  to c2t_hccs_postAdv.ash
Preference betweenBattleScript changed from  to c2t_hccs_preAdv.ash
Preference choiceAdventureScript changed from  to c2t_hccs_choices.ash
Preference hpAutoRecovery changed from -0.05 to 0.9
Preference hpAutoRecoveryItems changed from scroll of drastic healing;cannelloni cocoon;relaxing hot tub;tongue of the walrus;lasagna bandages to cannelloni cocoon;tongue of the walrus;disco nap
Preference hpAutoRecoveryTarget changed from 0.0 to 0.95
Preference recoveryScript changed from  to c2t_hccs_recovery.ash
Checking test 11: Coil Wire
Checking test 4: Feed Conspirators
not using trash love potion
Info: don't have the skill "Stevedave's Shanty of Superiority" to get the "Stevedave's Shanty of Superiority" effect
Preference currentMood changed from apathetic to hccs-mox
Preference nextAdventure changed from The Neverending Party to None
Running backup camera and Neverending Party fights
Preference nextAdventure changed from None to The Neverending Party
Maximizer: -tie,mainstat,exp,equip ¶10058,100 bonus ¶10929,equip ¶9699

The script should only be backing up into sausage goblins. There is no provision to backup into any other monster, and especially not into non-free monsters like the shadow rift ones. If you could provide the log from the start of the run up until that point, as well as a link to the IotMs you have (snapshot or greenbox), it'll help me try to figure out what went wrong.

So yeah, the required IotMs are required because the design and script assumes the person has them. And I just have no idea how the script might behave with someone who doesn't have one or more of of the requirements.
I kind of guessed you might not have Kramco if you weren't getting a sausage goblin from back-ups. I've been meaning to move Kramco to a not strictly required IotM since the bat wings came out with its strong and easier MP restore. But there is more than just MP restore that Kramco does, like the wandering monster it provides being the target of all copy abilities used, that it's not so easy to make optional without many other considerations.
As for the other things you're missing, they could technically be optional one day easier than Kramco, but still difficult because they would each require different routing considerations, and likely multiple routes depending on what combination of IotMs and other tools a person has.


PostalAccount Prefix

Not all common prefix are included in the array.
I changed the code in \Z38\SwissPayment\PostalAccount\checkPrefix to the following:
return in_array($prefix, array(
01, 10, 12, 13, 14, 16, 17, 18, 19,
20, 23, 25, 28, 30, 34,
40, 43, 44, 45, 46, 49, 50, 53, 56,
60, 65, 69, 70, 80,
82, 84, 85, 87, 90,
91, 92,
));

Thank you for reporting this issue. It really looks like some prefixes are missing:

SwissPayment
SIX
alain95

01

10
10
10

11

12
12
12

13
13

14
14

16

17
17
17

18
18
18

19
19
19

20
20
20

23
23
23

25
25
25

28

30
30
30

31
34

34
34
40

40
40

41

43

44

45
45
45

46
46
46

49
49
49

50
50
50

53

56

60
60
60

61

65
65
65

69
69
69

70
70
70

80
80
80

81

82
82
82

84
84
84

85
85
85

87
87
87

88

89

90
90
90

91
91
91

92
92
92

How did you discover these additional prefixes? Do you have a source or acquired them using real live data? I'm not sure whether we should ditch the whole prefix check altogether...

My additional prefixes are based on our existing database, which we're using at the moment. I also tried to find an official list / source for postal code prefixes, but i didn't find anything helpful on the web.
But what surprises me is the fact that in your list of SIX prefixes 01 isn't listed, this is a very common prefix in switzerland, so i don't know if you should go with the list of SIX or you should ditch this whole check...

The 01 prefix is indeed quite common. I just checked my source and saw that these are handled differently because they are actually ESR particpant numbers.
As I didn't find any official prefix list either, I replaced the prefix check with one that calculates the check digit. This should improve the detection rate of invalid numbers and frees us from maintaining a prefix list.
In case you have some spare time left, I would be glad to hear if your data records do pass the validation.

The improved validation procedure is now part of v0.5.0. Feel free to reopen this issue if you encounter any problems.


[C++][Parquet] There is a typo in cmake_modules/FindSnappy.cmake comment

Reporter: Kouhei Sutou / @kou
Note: This issue was originally created as PARQUET-938. Please see the migration documentation for further details.

Uwe Korn / @xhochy:
Issue resolved by pull request 284
https://github.com/apache/parquet-cpp/pull/284


Support Handoff on macOS

Handoff is a convenient feature that lets users 'pick up where they left off' on another device running macOS for applications that support it. Would be pretty cool to have this in VSCode too, Electron should already provide the necessary APIs for this:

https://www.electronjs.org/docs/latest/api/app#appsetuseractivitytype-userinfo-webpageurl-macos

When the user switches to a second machine, VSCode would have to be able to 'match up' workspaces between the two devices in order for Handoff to be able to suggest a valid workspace on the second machine. One way I could think of how this could work would be to identify the first machine's workspace by its Git remotes (e.g. origin) and then use the list of recently opened workspaces on the second machine as a baseline to scan for a potential match.

fyi @joyceerhl and @sandy081 given our recent discussions ;)

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Added a method to indicate whether the client is connected or not

Added as the client is encapsulated in some cases, and the encapsulating class needs to know whether the client is still connected.

Simple and to the point. Thanks for the contribution! 👍


[docs] Update SwipeableTextMobileStepper in demos with AutoPlay

SwipeableView is made to auto play the content which make it more interactive.

@JayathmaChathurangani It's a great first pull request on Material-UI 👌🏻. Thank you for working on it!

@oliviertassinari I am really happy for it and I am a big fan of it because of the elegant look and value added to UIs. Appreciate all your effort. :100:

@oliviertassinari how does the site get updated?

During the next release.


add unsafe get add

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

50 of 50 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
192

Relevant Lines:
192

💛  - Coveralls


Layer C vs Layer E classification dimension

Hello,
As I understand it, running cls_dim.py with Layer E gives the classification dimension on the final feature manifold. Running the same script with Layer C is essentially performing the same procedure on the logits. For example in order to keep 95% original accuracy you only need 45/100 logit values for cifar100. Is this right, and if so is it connected to the independence deficit, or is it a better way to validate the general degree of independence deficit (without looking at specific classes and examples like run_deficit.py does)?
Thank you :)

Sorry for the late reply.
Yes, I think you are right. Performing dimension analysis via cls_dim.py on Layer C or Layer E can also reveal the independence deficit. But analyzing the relationships between different categories, as done by run_deficit.py, can further provide counterintuitive examples caused by the independence deficit.


[user-story]: Schema Creation and Data Upload - one or multiple files?

What user story would you like to add?
As a Data Contributor, I want to be able to upload multiple files at once, so that the uploading process will be easier.
Discussion from user flow PR #27

@signekb: Data vs file: File indicates only a single file (e.g., csv) can be uploaded at a time. Is that what we want?
@lwjohnst86: Good question... I don't see why we couldn't upload multiple files that are each scanned and create multiple schemas from them. Maybe for now we assume multiple (without explicitly saying it here?).
@K-Beicher commented: I don't think I've ever seen a system which allowed for multiple files to be uploaded at the same time if they require the level of validation that we suggest will take place. Also, can you imagine the hassle of attaching several files just to have to do it again because one of them failed. We may want to add this as a discussion item to one of our meetings.

@signekb: Maybe Sprout could allow the submission of one schema at a time and then multiple files following the same schema at a time? This would allow a Data Contributor to upload multiple csvs at a time (e.g., if they have one csv per patient per visit with the same measurements/that follows the same structure/schema)
Code of Conduct

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

@lwjohnst86 @K-Beicher @philter87 I have updated the description of this issue. What are your thoughts?

Amazing. I'll leave this open for now, and wait for @K-Beicher's comments, before I close it.

Still not sure that people will want to use this, but I may be limiting my thinking to files that are prone to errors, where it would be a pain in the... to select multiple files if one of them then fails.  I can see it would be convenient if you know that the data is perfect.
I think it is a low priority development though.

@K-Beicher That's a good point. I'm thinking of a scenario where you have one file per participant e.g., in an experiment and you know that the data is similar in those files. But I agree, this is low priority.
Maybe we should even just close this for now and return to it if it becomes relevant again?

@signekb I'm in agreement with you too, there are definitely situations where the data is literally the same structure/format because it's output by a machine (or a very explicit protocol followed by people) that would be nice to be able to upload multiple at a time. Let's not close it but return to it at another point.

We decided to start the web app from scratch after the major design/architecture decisions and changes we made. No longer relevant.


Change module name

Resolve #18

Thank you for creating issue and resolving it!
I looked for some code in early versions of vee-validate plugin.


【二维码编解码工具】生成的二维码中文显示乱码

Current behavior
当我在二维码编解码工具中输入“怎么说”后生成的二维码，将其发送在微信中，扫描后乱码，显示为：???
How to reproduce it (as minimally and precisely as possible)
中文原文：“怎么说”
Expected behavior
扫描二维码显示：怎么说
Screenshots

Workaround
是否有可能和我本地操作系统或其他原因有关（目前我暂未在其他机器上尝试过）
Affected platforms
Windows
Affected DevToys kind
DevToys (app with GUI)
DevToys Version
版本 2.0-preview.5丨x64
Relevant Assets/Logs
2024-10-08T18:09:32.6403619+08:00	Information	[DevToys.Core.FileHelper]	[0]	Cleared temp files in 0.2597ms
2024-10-08T18:09:32.6602849+08:00	Information	[DevToys.Core.Mef.MefComposer]	[LogDiscoveringPlugin]	Discovering plugin in 'C:\Users\mengy\AppData\Local\Programs\DevToys Preview\Plugins\DevToys.Tools'...
2024-10-08T18:09:33.1608032+08:00	Information	[DevToys.Core.Mef.MefComposer]	[LogMefComposition]	MEF composed 114 parts from 6 assemblies in 502.0743ms
2024-10-08T18:09:33.1913136+08:00	Information	[DevToys.Windows.MainWindow]	[2]	MEF, services and logging initialized in 742.0818 ms
2024-10-08T18:09:33.1914394+08:00	Information	[DevToys.Windows.MainWindow]	[1]	App is starting...
2024-10-08T18:09:40.8508300+08:00	Information	[DevToys.Windows.MainWindow]	[4]	Running Windows with WebView 129.0.2792.79
2024-10-08T18:09:40.8931987+08:00	Information	[DevToys.Windows.MainWindow]	[3]	App main window's UI loaded in 7701.5058 ms
2024-10-08T18:09:40.9336066+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'Base64ImageEncoderDecoder' tool instance manager.
2024-10-08T18:09:40.9342284+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'Base64TextEncoderDecoder' tool instance manager.
2024-10-08T18:09:40.9342921+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'CertificateDecoder' tool instance manager.
2024-10-08T18:09:40.9343196+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'ColorBlindnessSimulator' tool instance manager.
2024-10-08T18:09:40.9343357+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'CronParser' tool instance manager.
2024-10-08T18:09:40.9343563+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'DateConverter' tool instance manager.
2024-10-08T18:09:40.9343777+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'EscapeUnescape' tool instance manager.
2024-10-08T18:09:40.9343958+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'GZipEncoderDecoder' tool instance manager.
2024-10-08T18:09:40.9344168+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'HashAndChecksumGenerator' tool instance manager.
2024-10-08T18:09:40.9344339+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'HtmlEncoderDecoder' tool instance manager.
2024-10-08T18:09:40.9344524+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'ImageConverter' tool instance manager.
2024-10-08T18:09:40.9344720+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'JsonFormatter' tool instance manager.
2024-10-08T18:09:40.9345000+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'JSONPathTester' tool instance manager.
2024-10-08T18:09:40.9345299+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'JsonTableConverter' tool instance manager.
2024-10-08T18:09:40.9345508+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'JsonWebTokenEncoderDecoder' tool instance manager.
2024-10-08T18:09:40.9345711+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'JsonYamlConverter' tool instance manager.
2024-10-08T18:09:40.9345942+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'ListCompare' tool instance manager.
2024-10-08T18:09:40.9346167+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'LoremIpsumGenerator' tool instance manager.
2024-10-08T18:09:40.9346391+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'MarkdownPreview' tool instance manager.
2024-10-08T18:09:40.9348065+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'NumberBaseConverter' tool instance manager.
2024-10-08T18:09:40.9348720+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'PasswordGenerator' tool instance manager.
2024-10-08T18:09:40.9349168+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'QRCodeEncoderDecoder' tool instance manager.
2024-10-08T18:09:40.9349500+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'RegExTester' tool instance manager.
2024-10-08T18:09:40.9349731+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'SqlFormatter' tool instance manager.
2024-10-08T18:09:40.9350022+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'TextAnalyzerAndUtilities' tool instance manager.
2024-10-08T18:09:40.9350277+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'TextCompare' tool instance manager.
2024-10-08T18:09:40.9350568+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'UrlEncoderDecoder' tool instance manager.
2024-10-08T18:09:40.9350828+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'UUIDGenerator' tool instance manager.
2024-10-08T18:09:40.9351186+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'XmlFormatter' tool instance manager.
2024-10-08T18:09:40.9351490+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'XMLTester' tool instance manager.
2024-10-08T18:09:40.9357847+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'Extensions Manager' tool instance manager.
2024-10-08T18:09:40.9358319+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'Settings' tool instance manager.
2024-10-08T18:09:40.9362789+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInitialized]	Initialized 'NoSearchResults' tool instance manager.
2024-10-08T18:09:40.9380424+08:00	Information	[DevToys.Core.Tools.GuiToolProvider]	[LogToolInstancesCreated]	Instantiated 32 tools in 30.8083ms
2024-10-08T18:09:41.7884097+08:00	Information	[DevToys.Blazor.Core.Services.FontService]	[LogImportThirdPartyFontsAsync]	Loaded 2 font(s) in 20.3351 ms and injected them in 303.0358 ms
2024-10-08T18:09:44.3407915+08:00	Information	[DevToys.Blazor.BuiltInTools.ExtensionsManager.ExtensionInstallationManager]	[0]	Extension DevToys.Tools is up to date
2024-10-08T18:10:18.6699607+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInstanceCreated]	Instance of 'QRCodeEncoderDecoder' tool created.
2024-10-08T18:10:18.6961422+08:00	Information	[DevToys.Core.Settings.SettingsProvider]	[LogSetSetting]	Setting 'DevToys.Core.RecentTool3' changed to ''
2024-10-08T18:10:18.6964360+08:00	Information	[DevToys.Core.Settings.SettingsProvider]	[LogSetSetting]	Setting 'DevToys.Core.RecentTool2' changed to ''
2024-10-08T18:10:18.6964478+08:00	Information	[DevToys.Core.Settings.SettingsProvider]	[LogSetSetting]	Setting 'DevToys.Core.RecentTool1' changed to 'QRCodeEncoderDecoder'
2024-10-08T18:10:18.6964961+08:00	Information	[DevToys.Core.Tools.GuiToolProvider]	[LogSetMostRecentUsedTool]	Set 'QRCodeEncoderDecoder' as the most recently used tool.
2024-10-08T18:17:22.8463598+08:00	Information	[DevToys.Core.Settings.SettingsProvider]	[LogSetSetting]	Setting 'DevToys.Core.RecentTool3' changed to ''
2024-10-08T18:17:22.8471026+08:00	Information	[DevToys.Core.Settings.SettingsProvider]	[LogSetSetting]	Setting 'DevToys.Core.RecentTool2' changed to 'QRCodeEncoderDecoder'
2024-10-08T18:17:22.8471490+08:00	Information	[DevToys.Core.Settings.SettingsProvider]	[LogSetSetting]	Setting 'DevToys.Core.RecentTool1' changed to 'Settings'
2024-10-08T18:17:22.8471639+08:00	Information	[DevToys.Core.Tools.GuiToolProvider]	[LogSetMostRecentUsedTool]	Set 'Settings' as the most recently used tool.
2024-10-08T18:17:22.8494261+08:00	Information	[DevToys.Core.Tools.GuiToolInstance]	[LogInstanceCreated]	Instance of 'Settings' tool created.
2024-10-08T18:18:30.6467322+08:00	Information	[DevToys.Core.Settings.SettingsProvider]	[LogSetSetting]	Setting 'DevToys.Core.MainWindowBounds' changed to '200,100,1520,832'
2024-10-08T18:18:30.6474794+08:00	Information	[DevToys.Core.Settings.SettingsProvider]	[LogSetSetting]	Setting 'DevToys.Core.MainWindowMaximized' changed to 'False'
2024-10-08T18:18:30.6480221+08:00	Information	[DevToys.Core.FileHelper]	[0]	Cleared temp files in 0.0626ms
2024-10-08T18:18:30.6484416+08:00	Information	[DevToys.Core.Settings.SettingsProvider]	[LogSetSetting]	Setting 'DevToys.Blazor.UserPreferredNavBarState' changed to 'Expanded'```

请问本库是否在正常维护，希望能够尽快回复我，谢谢！

Hi,
I believe this is an issue in one of the dependencies of DevToys. Can you please share this issue on https://github.com/micjahn/ZXing.Net ?
Thanks

Hi, 你好 I believe this is an issue in one of the dependencies of DevToys. Can you please share this issue on https://github.com/micjahn/ZXing.Net ?我相信这是 DevToys 的依赖项之一中的问题。您能否在 https://github.com/micjahn/ZXing.Net 上分享这个问题？ Thanks 谢谢

no problem, thanks

I have already reported this issue to ZXing It's on Net.
https://github.com/micjahn/ZXing.Net/issues/583


Better error message when erroring out

Codecov Report

Merging #372 (c9fa302) into master (7c70d79) will increase coverage by 6.24%.
The diff coverage is 52.24%.

 Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Unable to find "extension"'s helpers

I get a bunch of warnings like:
2can.js:262 WARN: can/view/stache/mustache_core.js: Unable to find helper "asset".
can.js:262 WARN: can/view/stache/mustache_core.js: Unable to find key or helper "isProduction".
looking into extensions.js it's not clear how this is supposed to be used.  A config dependency?

asset and isProduction are helpers that only exist in server side rendering.  I'm not sure what the best solution is to make these warnings go away.

I think we should have an isProduction at least.  Lets talk about asset.  We could simply add a dummy helper to make the warning go away.

We can add a dummy helper but where?  The ssr extension is only applied on the server.  I guess done-autorender could make those be noops in the client.

Going to add the dummy helper in done-autorender on the client.

This is fixed by https://github.com/donejs/autorender/issues/2 and https://github.com/donejs/donejs/commit/679bb4a8b0721a30fb4f307edeb419700bd94eed


RuntimeError: No such middleware to insert before: Rails::Rack::Logger

Running Rails <IP_ADDRESS> with silencer 1.0.0.rc3 and having the same issues as in issue #9

Hi @BaneOfSerenity,
Quite a few have had issues with this and I hope to get to the bottom of this soon. In the meantime, a workaround has been identified which is to move the configuration to an initializer (ie, config/initializers/silencer.rb):
Rails.application.configure do
  config.middleware.swap Rails::Rack::Logger, Silencer::Logger, :silence => ["/noisy/action.json"]
end

Can you give that a try? Apologies for the trouble, I hope to have this figured out shortly. Thanks!

@BaneOfSerenity I've just released 1.0.0, feel free to re-open if you run into further issues. Thanks!


chore: upgrade to nightly-2022-06-20

Signed-off-by: Gregory Hill<EMAIL_ADDRESS>

Please fix the compiler error if you want to get this merged


Peel off website into separate repository

The website does not have any dependencies on internals of the MinaProtocol/mina repository. It's release cycle is currently tied in with the release cycle of the testnet, but this logically doesn't make sense, and has caused issues. Given that we already need to separate it's release from the testnet release cycle, I suggest we move the whole website codebase over to MinaProtocol/mina-website and setup the release cycle and CI separately there.
The main argument I see against doing this is that the docs included on the website should be tied to the release of the testnet, but a potential solution to that could be hosting the docs separately on a docs.minaprotocol.com domain and keep those in the MinaProtocol/mina repo and release cycle.
Arguably, we should do the same for the wallet as well. If we move enough things out of the frontend/ folder, it may also make our frontend-specific CI guards simpler.

The website currently does not have many dependencies shared with the internals of Mina, but it has in the past (the js snark demo) and will in the future (any future js demos and eventually the nonconsensus node).
It does have a shared dependency on the graphql schema (from which we generate the docs) and it has a dependency (though not an automated one yet) on the shape of the CLI.
Currently, the Minaprotocol.com website is deploying off of develop (not master like codaprotocol.com is/was).
I’m not saying we necessarily shouldn’t move it to it’s own repo, but the cons for doing so are larger than you have suggested.
I’m also hoping our ci guards get more fine-grained over time (esp. if bazel becomes our primary path for builds).

The website currently does not have many dependencies shared with the internals of Mina, but it has in the past (the js snark demo) and will in the future (any future js demos and eventually the nonconsensus node).

The js snark demos and the nonconsensus nodes shouldn't be "internal" to the MinaProtocol/Mina repo though. They should be released from MinaProtocol/Mina with the latest version, and then the website can include that release target. This makes sense as the release cycle of the js artifacts should be tied into the release cycle of our general mina node artifacts, but not necessarily tied to every website release. A likely scenario is that we want MinaProtocol/Mina to always point to the most recent snark demos, and if that is the case, we can deploy the js artifacts to a cdn and reference it in the website from there (such that no redeploy of the website is necessary when we publish a new demo version).
The graphql schema and CLI issues I believe are answered by the idea of having a docs.minaprotocol.com site deployed from generated docs that live in MinaProtocol/Mina rather than putting the responsibility of managing and generating that into the website implementation itself (thus tying the release cycles together).
Deploying off of develop helps separate the release cycles for now at least, but I would question that as a long term decision. Seems like we would want a robust process around testing the website in staging after any docs changes in every PR that does so, otherwise we risk pushing invalid docs or docs that don't apply to the currently released version.

The graphql schema and CLI issues I believe are answered by the idea of having a docs.minaprotocol.com site deployed from generated docs that live in MinaProtocol/Mina rather than putting the responsibility of managing and generating that into the website implementation itself (thus tying the release cycles together).

I think this could even go further and we can publish some machine readable representation of our docs (generated automatically ideally) and tie that to releases along with the js code and anything else.
I think we've already lost the idealized monorepo for other reasons so I won't cling to that world for this content. I'm onboard with the plan 👍


The user is not warned that they can't change a monomer's symbol

Steps:
Edit a monomer and change the symbol.
Save the monomer
It is not updated on save and the user is not warned.

After discussion in the team meeting - the symbol box should not be editable when editing existing monomers.

Fixed in 2018-10-15 update

Confirmed fixed. I still get 409 errors, but that is a different issue.


Use pod container name as display container name when container unready

What does this PR do?

This PR sets the value of display_container_name to the podContainer.Name when the container name is unavailable (e.g. if the pod was set as unready and container information is no longer available).
Motivation

Previously, when pods go from a ready to unready state, there would be instances where the display_container_name would not be tagged properly. An alternate solution to #23170
Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Start a minikube cluster with containerd: minikube start --container-runtime=containerd
Start the agent
Create the following nginx deployment: k create namespace workload-nginx && k apply -f test-deploy.yaml
test-deploy.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mynginx
  namespace: workload-nginx
  labels:
    app: mynginx
spec:
  replicas: 60
  selector:
    matchLabels:
      app: mynginx
  template:
    metadata:
      name: mynginx
      labels:
        app: mynginx
      namespace: workload-nginx
    spec:
      containers:
        - name: mynginx-minute
          image: nginx:latest
          imagePullPolicy: IfNotPresent
          args:
            - /bin/bash
            - '-c'
            - sleep 60; echo hello
        - name: mynginx-2min
          image: nginx:latest
          imagePullPolicy: IfNotPresent
          args:
            - /bin/bash
            - '-c'
            - sleep 120; echo hello
        - name: mynginx-5min
          image: nginx:latest
          imagePullPolicy: IfNotPresent
          args:
            - /bin/bash
            - '-c'
            - sleep 300; echo hello
        - name: mynginx-10min
          image: nginx:latest
          imagePullPolicy: IfNotPresent
          args:
            - /bin/bash
            - '-c'
            - sleep 600; echo hello

Verify that you do not see any metrics tagged with display_container_name:N/A if the container_name is not N/A; e.g.:

/merge

/merge


When play second times give error.

first time download the video file and play perfectly but when I close the app and hit download button it correctly says file already found no need to download again and when I hit play it gives me following error:
2018-12-23 20:05:36.879 24151-25913/com.test.exoplayer2 E/ExoPlayerImplInternal: Source error.     com.google.android.exoplayer2.source.UnrecognizedInputFormatException: None of the available extractors (MatroskaExtractor, FragmentedMp4Extractor, Mp4Extractor, Mp3Extractor, AdtsExtractor, Ac3Extractor, TsExtractor, FlvExtractor, OggExtractor, PsExtractor, WavExtractor) could read the stream.         at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractorHolder.selectExtractor(ExtractorMediaPeriod.java:705)         at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:628)         at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:295)         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)         at java.util.concurrent.FutureTask.run(FutureTask.java:237)         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)         at java.lang.Thread.run(Thread.java:762)

@moagrius

@chnouman how to fix that?

@Navidhp downloaded file was corrupt.

@chnouman bro, are you encrypt the file in the server or in a client ?

@Navidhp I was doing this on the client-side.

@chnouman are you problem with large file encryption (2GB or higher then) ?

@Navidhp  issue happened to me with large files but when my download failed in between etc. Otherwise, it works perfectly

@chnouman bro can you help me and share your encryption code and exoplayer ?? I have challenged with issue in 1 weak

@Navidhp I'll try to find that piece of code and share it with you.

@chnouman my deepest thank goes to your help bro

Hi @Navidhp magic things are happening here. I hope it will help you some how.
import android.support.annotation.NonNull;
import android.util.Log;
import android.widget.Toast;
import org.reactivestreams.Subscriber;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.concurrent.TimeUnit;
import javax.crypto.Cipher;
import javax.crypto.CipherOutputStream;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer;
import io.reactivex.functions.Function;
import io.reactivex.schedulers.Schedulers;
import okhttp3.OkHttpClient;
import okhttp3.ResponseBody;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;

public class DownloadAPI {
    private static final String TAG = "DownloadAPI";
    private static final int DEFAULT_TIMEOUT = 15;
    public Retrofit retrofit;

    public DownloadAPI(String url, DownloadProgressListener listener) {

        DownloadProgressInterceptor interceptor = new DownloadProgressInterceptor(listener);

        OkHttpClient client = new OkHttpClient.Builder()
                .addInterceptor(interceptor)
                .retryOnConnectionFailure(true)
                .connectTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS)
                .build();

        retrofit = new Retrofit.Builder()
                .baseUrl(url)
                .client(client)
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .build();
    }

    public void downloadVideo(@NonNull String url, final File file, Cipher mCipher, Observer subscriber) {
        Log.d(TAG, "downloadVideo: " + url);

        retrofit.create(APIInterface.class)
                .download(url)
                .subscribeOn(Schedulers.io())
                .unsubscribeOn(Schedulers.io())
                .map(responseBody -> responseBody.byteStream())
                .observeOn(Schedulers.computation())
                .doOnNext(new Consumer<InputStream>() {
                    @Override
                    public void accept(InputStream inputStream) throws Exception {

                        FileOutputStream fileOutputStream = new FileOutputStream(file);
                        CipherOutputStream cipherOutputStream = new CipherOutputStream(fileOutputStream, mCipher);

                        byte buffer[] = new byte[1024 * 1024];
                        int bytesRead;
                        int count = 0;
                        double sumCount = 0.0;
                        while ((bytesRead = inputStream.read(buffer)) != -1) {
                            Log.d(getClass().getCanonicalName(), "reading from http... ");
                            cipherOutputStream.write(buffer, 0, bytesRead);
                            count = bytesRead;
                            sumCount += count;
                        }

                        inputStream.close();
                        cipherOutputStream.close();
                    }
                })
                .doOnError(throwable -> {
                    Log.d("DownloadTT", "doOnError: "+throwable.getMessage());
                    throwable.printStackTrace();
                })
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(subscriber);
    }

    public interface DownloadProgressListener {
        void update(long bytesRead, long contentLength, boolean done);
    }
}``

@chnouman thank bro. would you mind sending exoplayer source please ? actually i needed


Use map instead of switch in getNamespace

Since job type and namespace is string to string mapping, we could make source code more compact with map[string]string instead of switch statement.
Rest of the changes come from go fmt

Awesome thanks!