MM-54865 - Calls: Multisession support

Summary

This PR implements multisession support for mobile
Please see https://github.com/mattermost/mattermost-plugin-calls/pull/518 for context and the server-side/webapp side of this.
@DHaussermann I've done a lot of testing on all my devices, trying to do all the combinations of events (screensharing on/off, screensharing on before joining, reactions, raised hands, all from the other clients of the current users and vise-versa). The testing for this would be trying your best to break things, for the second or third clients and for regular users -- this PR touches most of the code, so almost everything calls-related is affected. Thanks.

Update1: you'll need to do some calls version forcing (like we had to do before for notifications) until v0.21.0 gets released, ask me and I'll walk you through that)
Update2: you'll need to also test against older non-multisession servers, I'll help you set that up too.

The UX doesn't change much, except for allowing multiple clients from the same user to join the same call:

iOS
Android

Ticket Link

https://github.com/mattermost/mattermost-plugin-calls/pull/518
Also fixes: https://mattermost.atlassian.net/browse/MM-49338

Checklist

[x] Added or updated unit tests (required for all new features)
[x] Has UI changes
[ ] Includes text changes and localization file updates
[x] Have tested against the 5 core themes to ensure consistency between them.

Device Information

Android: 13, Pixel 6
Android: 13, Galaxy Tab s7+
iOS: 16.5.1, iPhone 14

Release Note
Calls: Added support for multiple client sessions for the same user in the same call.

Is this backwards compatible with previous versions of the plugin?

@enahum Yes, thanks for reminding me, slipped my mind. Fixed in https://github.com/mattermost/mattermost-mobile/pull/7647/commits/1bc58a8b06cecf241ee969852afdaea4e4b2289c .

Building app in separate branch.

Hey @cpoile I seem to be showing 2 avatars for myself when joining a call (before I even join with another session). Are you seeing this on your end? When I join on a 2nd device I see 3 of me.

Before joining with another device:

After joining with another device:

In addition to that, the name seems more truncated than is needed, and so I can't see the (You)

@matthewbirtch Yep that's expected because you have to force the calls version to be v0.21.0 (my note to Dylan above).
As for the (you) being cut off, that's always been the case if the user name overflows the box (as per the designs and margin spacing). Should we change them? If so would you mind making a separate ticket for that?

@matthewbirtch Yep that's expected because you have to force the calls version to be v0.21.0 (my note to Dylan above).

Ok, no worries. I won't block on this then. I don't think I can easily do the version forcing at this point (I've been having trouble getting mobile builds up and running locally at the moment).

As for the (you) being cut off, that's always been the case if the user name overflows the box (as per the designs and margin spacing). Should we change them? If so would you mind making a separate ticket for that?

For the truncation, let's leave that for now. Maybe we can look at it separately down the road. I'll take a look through the designs again and can create a ticket if needed. I think in the design files, we had used Firstname + Last initial, but let's just leave it at truncation as-is for now. Thanks!

Hi @cpoile I have done a round of testing on this and for the most part it is working for me as I would expect based on the info you have provided.
In summary:

Tested connecting / disconnecting or using Calls when up to 3 clients (inc. Android and iOS) are all on the same call with other users
I can leave the call with any individual client and remaining clients for the same user are not affected.
No issues with Mute or reactions being client specific. It seems a but weird that raise hand is client specific but as all clients must be listed individually this design makes sense so that no raised hands are double counted.
No issues found with scenarios specific to screen share or expanded view
As a precaution I ensured the post author is accurate when posting from various clients into the chat thread
note: testing is ongoing as I must still test these new mobile builds on an older server version

I see only 1 issue and I'm not 5/5 it's new to this PR. On Android the active call banner does not always show when I am joining a call. This seems to only happen to me when I join a call that I started from another client.
Steps:

Start a call not from Android such as on webapp
Have another user from different browser session join the call (optional)
Open the channel on Android
Join the call
Observed I am a participant on the call and can hear the audio but I have no call banner.

I know there is sometimes a delay in the banner showing but, this was not the case. I was on the call for serveral minutes with no banner. The issue does not occur when joining from iOS

Optional steps:

Since there is no obvious way to leave the call, nav to a different channel and start a call
Note the banner appears as expected
Return to the first  channel

Click the join button again
Observed:
Still no banner when I join the 2nd time

Please let me know if you can repro this 👆

@DHaussermann Thanks for the thorough review! I'm wondering though, where are you testing this? Because it would be best to test with the build from this PR on a server that's loaded with calls v0.21.0 (which you could have tagged manually then built + uploaded), or you can use the v0.21.0 we just released (and that should be on cloud test servers built from master as of today (depending on when they update I guess). Please let me know and I'll help you set one up if it's not easy. After that, can you try again? The reason I ask is because that might be an artifact of using this build with an older server -- calls will mostly work, but thing's might get a little strange (we tried to make multisession backward compatible, but there are edge cases where it's not perfect).

Hi @cpoile
I am testing this on my local running master from within the past week and a build of calls that that I manually tagged as 0.21.0
However, now I can no longer repo it either after doing some more testing.
0/5 My best guess about what happened is that we released a new Mattermost Beta build to the Play store and it updated on my device. If true it means I was accidentally testing with an older mobile release that did not yet contain this PR.
I can try to confirm the behavior there but, that said - is it a concern if this happens to people who don't upgrade the mobile client? I would expect they see the old behavior where they are just unable to connect.
Regardless I'll try again to refine exacty when the issue happens.

Yep. Older mobile users on newer servers will probably have edge cases if they're trying to join calls that they've already connected to on other clients. In that case they are trying to use new functionality on mobile without upgrading mobile. Is it ideal? No. But there's nothing we can really do, it's unfortunately a pre-1.0 breaking change that we've tried to keep as compatible as possible.

Hey @DHaussermann So are we good to go then for this?

Hey @cpoile I did a bit more spot checking on this today.
I have also confirm the issue only occurs when the Play store silently replaces the build I have side-loaded.

@DHaussermann And is it only when the user themselves tries to use the multisession functionality with an older mobile version? (the "trying to use new features but not upgrading their client" use case)

@cpoile yes, I saw no other case were it happens. Only when using an old build and more importantly only when using the new feature (you're already connected to the same call from a different client).

Thanks @DHaussermann!


How to declare M2M relation with additional values?

I have to store few additional fields with many2many relation
The best mapping that I'd like to have in SQL is
user_group
------------
user_id     INT
group_id  INT
record_date DATETIME

Is it possible to achieve that with Ent schema or could you propose any another feasible way?
func (User) Edges() []ent.Edge {
	return []ent.Edge{
		edge.To("groups", Group.Type).Annotations(entsql.OnDelete(entsql.Cascade)),
	}
}

Hey! See the EdgeSchema option: https://entgo.io/docs/schema-edges#edge-schema
If you still need support, join our Discord server please.


Improve shared server support

TBW

Provide the feature as a Vim plugin. https://github.com/vim-denops/denops-shared-server.vim


License of The Elysium Project

https://sourceforge.net/projects/elysium/, http://elysium.sourceforge.net/ has no license information present next to the source code. Try to contact the authors and clarify the license.

The CVS repository of Elysium, that I only recently converted to Git, contains the license information (which is actually different from the license information on the Sourceforge page). I will take the license information from the CVS and add an entry based on that. The license is GPL-2.0.

I added an entry. (Might not be really beta though, will revisit at a later point.)


[TW#26491] Better support for Powershell with the CMake build system

Environment

Development Kit:      [ESP32-DevKitC]
Kit version (for WroverKit/PicoKit/DevKitC): [v4]
Core (if using chip or module): [ESP-WROOM32]
IDF version (git rev-parse --short HEAD to get the commit id.): e7faa1d85
Development Env:		[CMake]
Operating System:		[Windows 10]
Power Supply:         [USB]

Problem Description
Currently, when executing the idf.py, a new CMD window show up which is actually running python. In some cases, for example, running idf.py without any arguments, the CMD window opens, prints few lines, and then closes.
Steps to reproduce

Open Powershell
Run idf.py

Screenshot when running idf.py menuconfig

Hi @tuangu, sorry that this issue was left without any response. This seems to be the behavior of Powershell: when idf.py is invoked, powershell opens a new window where the Python interpreter is started. In other words, it does not matter what we do in idf.py or the build system, new window will be opened anyway. However you can modify PATHEXT variable in your Powershell environment to allow running Python scripts in the same window:
$env:PATHEXT += ";.py"

(source: stackexchange answer).
After this, idf.py and other Python scripts will run from the same Powershell window.


conection error on Citoen Eelekro C4

i have  the problem..  some time ists work and some times my car say inkompadeble usb device .. its incositant with conaection i use the rasbarry pi 4b and Samsung S22 Ultra..

If you can get out some logs when it fails, it would help.


Copy remote file/directory path option in context menu.

Is this a similar or duplicate feature request?

[x] No.

Is your feature request related to a problem? Please describe.
: Sometimes my colleagues and I need to work on some specific directory in the server so writing remote directory path manually is very tedious and time consuming.
Describe the solution you'd like
There should be an option to copy the link of the file/directory when we right click on the file/directory in remote explorer.
Does this project help you?

[x] Yes. SFTP IS AWESOME!

Thank you for build such an awesome tool. This tool gives me a reason to use VS Code completely. Keep developing awesome features Best of Luck

this function must have. plz!


Ensure core dumps are restricted task (1.6.4) missing changes needed in /etc/security/limits.conf

Seems the SCORED | 1.6.4 | PATCH | Ensure core dumps are restricted task is only partially complete, setting fs.suid_dumpable for sysctl, but missing the changes needed in /etc/security/limits.conf
These are the full remediation steps per the CIS benchmark for core dumps:

Remediation:
Add the following line to /etc/security/limits.conf or a /etc/security/limits.d/* file:
* hard core 0
Set the following parameter in /etc/sysctl.conf or a /etc/sysctl.d/* file:
fs.suid_dumpable = 0
Run the following command to set the active kernel parameter:
# sysctl -w fs.suid_dumpable=0
If systemd-coredump is installed:
edit /etc/systemd/coredump.conf and add/modify the following lines:
Storage=none
ProcessSizeMax=0

Run the command:
systemctl daemon-reload

Here's an example using lineinfile to update /etc/security/limits.conf accordingly:
- name: "SCORED | 1.6.4 | PATCH | Ensure core dumps are restricted"
  lineinfile:
      state: present
      dest: /etc/security/limits.conf
      regexp: '^#?\\*.*core'
      line: '*                hard    core            0'
      insertbefore: '^# End of file'
  when:
      - ubtu18cis_rule_1_6_4
  tags:
      - level1-server
      - level1-workstation
      - scored
      - patch
      - rule_1.6.4
      - coredump


Added missing return type to FindAllElementsWithAttribute

Added missing return type to FindAllElementsWithAttribute
Summary
Method FindAllElementsWithAttribute was missing IEnumerable<XElement> as return type
Details
No return type was specified in the signature of the method. The correct return type should be IEnumerable<XElement>

Thanks @carlosmunozrodriguez for the contribution, and to @svick for giving it a close look.
Let's merge this now, as it is an improvement over what we have now.
We'll continue to look at the styles and how to handle long source code lines.


Dashboard 2.0

Wish list:

[x] Change plotting library to Chart.JS (same as in addbiomechanics). This will ease the development of the rest of the elements in the list.
[ ] option to bring up 3d visualizer to the right of the plot with the time bar, and a vertical line on the plot that allows to scroll thru
[ ] Chart persistence
[ ] buttons to add to plot or generate new plot (e.g., so we can add data from a previous session).
[ ] option to add additional plots

When backend ready:

[ ] pop-out for additional analyses that can be done. You can select the session, trial, and analysis. Once you "launch" the analysis, it will get queued for backend, and the trial will show up in a list with colored dots, like we have in step 5.

@suhlrich and @AlbertoCasasOrtiz, feel free to edit. I feel like getting the visualizer synced with the plots is the most important item of this list and that the other items could be in a later version

I've been working on this issue since Friday and I have some updates and thoughts:

I have the new library, chart-js, working. There are only three tasks to do:
1.1. Allow download chart. Since we changed the library, now the download methods are different.
1.2. Zoom. The new library does not allow zooming in/out, but I found a plugin for it that allows zooming with the mouse wheel.
1.3. Adjust height.
I've been thinking, and I think we should make charts persistent. Right now, if you create a chart and you exit or refresh, everything is lost. This would imply changes in database mainly. If we make charts persistent (basically we would only have to save into the database the chart options and the session id it belongs), people could share charts.
I have added a new functionality, now you can select color scales for the chart. I set the viridis palette as default since it is good for visualization, when transformed to black and white, and it is accessible for color blind people.
I fixed some bugs.

@antoinefalisse, @suhlrich let me know your thoughts, especially about the data persistence issue.

Great! I think the chart settings persistence is a nice idea. I wonder if we'd want to do it on a per-user basis. I could imagine a user wanting to create the same chart for multiple sessions. For example, you could save the chart settings to your profile, then pick one from a drop-down. This would require changing the database model, but that's ok probably.

New update on this.
I think we should review and merge if everything is working properly now, since many changes are accumulated. The full list of changes is on this PR: https://github.com/stanfordnmbl/opencap-viewer/pull/100


Remove old version linter (develop)

Same changes as in #14203 (cherry-picked commits from there), against develop. When this is merged, should allow the merge-to-develop CI task to succeed there.

!ci-build-me

!ci-build-me

I'm not sure that cherry-picking was what we need to satisfy CI.

The reported conflict is in version-linter.py, which was modified in the other PR branch.

!ci-build-me


Box Station - Connected Recycler, rerouted power for Singlo Substation, added law boards to AI upload room

About the PR
Addresses #32443, #30375 and #32581
For #32443
The Recycler just needed to be connected.
For #30375
I realized that the substation powering the PA and Containment field was on the same HV network as the power generation. This mean that if power generation ever stopped, the substation would drain before the station SMESes and could cause a loose.
This changes it to where that substation is now running off of the same HV network as the rest of the station, thereby ensuring that the SMESes are used to power the substation which in turn powers the PA and Containment Field. Most other maps are wired this way.
For #32581
Added the 10 AI lawboards to the AI upload room.

From top left going counter-clockwise:

NT Default
Paladin
Ten Commandments
Corporate
Station Efficiency
Left Glass Case: Artist
Right Glass Case: Robocop
Dungeon Master
Crewsimov
Nutimov

Why / Balance

Addresses issues with the map.
Technical details
For the substation, I rerouted the power from the TEG through a new reinforced window between the power generation area and the TEG room. I also added a HV cable under the glass going to the PA to link those networks together.
Before

After

Media
See above.
Requirements

[x] I have read and am following the Pull Request and Changelog Guidelines.
[x] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

None that I know of.
Changelog

:cl: Southbridge

fix: Box station's recycler has been properly connected.
tweak: Box station's singlo substation has been rewired to the station-wide HV network.
add: Box station now has AI law boards in the upload room.

Will also address #32581 and fix those merge conflicts.

test fail real

I see what's wrong and will fix it

Another similar issue, I will fix

Well I can't find where the entity with a uid of 0 is. Not really sure what I need to do to fix this.

Well I can't find where the entity with a uid of 0 is. Not really sure what I need to do to fix this.

Looks like I may have had a UI element open while saving which caused there to be an invalid UID. It's been removed.


wm => AP: discard responses to blocklisted targets

eg https://www.jvt.me/mf2/2023/06/kkiv9/, a like of a tweet. In web._activitypub_targets, we correctly remove the tweet from the initial set of targets, then we see we have no targets and deliver the activity to all followers. The receiving inboxes correctly discard it since it's a Like of an id none of them own, but still, unnecessary.

I think this is fixed.


.github: fix passing of secrets to shared actions

It's failing because it's operating on the PR target, so it needs to be merged before it'll function.


Which features are planned?

Which features are planned for the plugin and can we help?
Maybe the following links are helpful:

https://docs.mezzio.dev/mezzio/v3/reference/cli-tooling/
https://github.com/orgs/laminas/projects/17

My #1 pain with PhpStorm and laminas is that PhpStorm cannot infer usage references/links between the laminas-route action tokens and the controller action methods. You have to manually create them and keep them in sync:
        'example_route_foo'         => [
            'type'    => HttpRoute\Literal::class,
            'options' => [
                'route'    => '/foo/bar',
                'defaults' => [
                    'controller' => Controller\Foo\Bar::class,
                    /** @see \Application\Controller\Foo\Bar::bazAction */
                    'action' => 'baz',
                ],
            ],
        ],

I started making a plugin one day to fix this but I haven't been able to find the time.

With laminas-mvc-middleware you do not have this problem. 😉
https://docs.laminas.dev/laminas-mvc-middleware/v2/quick-start/#mapping-routes-to-middleware-and-request-handlers


fix: reflect bugfixes in Kolide API

Description
Reflect recent bugfixes to the Kolide API to bring documentation and behaviour inliine
Related Tickets & Documents
Fixed #160
Steps to Verify

Run select * from kolide_device and return non-error result
Run select * from kolide_issue and return non-error result
Run select * from kolide_registration_request and return non-error result

@coderabbitai resume


[BUG]The prompt text of mutiple instance's name prefix  is incorrect

Describe the bug

To Reproduce
Steps to reproduce the behavior:

Go to vm page
Click Create
switch to Multiple instance

Expected behavior

Prefix Name should be Name Prefix
Show Name prefix for each instance or something else

Log

Environment:

Harvester ISO version:
Installation Mode: ISO/app-mode
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630):

Additional context
Add any other context about the problem here.

And capitalize the count @WuJun2016

need capitalize the count

validated on master-head


error in method definition: function Base.info must be explicitly imported to be extended

As of today on v0.4:
julia> Pkg.build("Homebrew")
INFO: Building Homebrew
==============================[ ERROR: Homebrew ]===============================

LoadError: LoadError: error in method definition: function Base.info must be explicitly imported to be extended
while loading /Users/kmsquire/.julia/v0.4/Homebrew/src/Homebrew.jl, in expression starting on line 256
while loading /Users/kmsquire/.julia/v0.4/Homebrew/deps/build.jl, in expression starting on line 1

================================================================================

================================[ BUILD ERRORS ]================================

WARNING: Homebrew had build errors.

 - packages with build errors remain installed in /Users/kmsquire/.julia/v0.4
 - build the package(s) and all dependencies with `Pkg.build("Homebrew")`
 - build a single package by running its `deps/build.jl` script

================================================================================

git bisect identifies https://github.com/JuliaLang/julia/commit/2502f270dba9768fc30735991743a1766f6daf06
Importing Base.info seems to work, but it's unclear to me why this is now necessary.
Cc: @JeffBezanson

I just stumbled on this too, but got past it by checking out master of Homebrew.jl. If that works for you too, then tagging a new release should hopefully fix it.
Still might be a good idea to figure out the cause, though ;)

Affecting Images, https://travis-ci.org/timholy/Images.jl/jobs/72226752. CC @rsrock.

Building ImageMagick is also broken with the same errors (except, for the second error, it's a version_str field that Void doesn't have.

@JeffBezanson pushed a fix to JuliaLang/julia@24c515ad, but now Homebrew hangs on using Homebrew.  Discussion at JuliaLang/julia@2502f270dba. Not sure where the problem lies.

More info here on using Homebrew hanging.  If I ctrl-C, I get:
ERROR: LoadError: LoadError: LoadError: InterruptException:
while loading /Users/rrock/.julia/v0.4/Homebrew/src/BinDeps.jl, in expression starting on line 2
while loading /Users/rrock/.julia/v0.4/Homebrew/src/bindeps.jl, in expression starting on line 2
while loading /Users/rrock/.julia/v0.4/Homebrew/src/Homebrew.jl, in expression starting on line 351

Possibly related to bindeps vs. BinDeps?  This is on a Mac, of course.
I will roll back Julia a bit and report back here.

I suspect it is related to the issue I just cross-referenced.

No doubt.  Thanks @jiahao, I knew I had seen that issue a few days ago.
Changing bindeps.jl to bin-deps.jl (filename and include line) fixes the problem here.

I'm tagging a new release that works around this issue.  Thanks for investigating this, guys!

Thanks!

Closing this as fixed now.


fgdc Contact Name with ORCID

The Alaska Science Center's practice of is attaching ORCID to contact name raises a few issues:

If a contact is to be reused elsewhere in the metadata record it must always have the same name, e.i. have the ORCID attached and in the same format.  Because FGDC does not support contact IDs I must match contacts by contact name.  Any variation in name will result in a new contact.
ORCID is being attached to the name because it is deemed important.  However, I probably should not try and pluck it from the name field to create a contact identifier since this is not a universal or wise convention to attach supportive information to the name field. If we want to preserve ORCID we should find another method.

I don't know of any other way to record ORCIDs in FGDC. We would not continue this practice in ISO. I think it is perfectly fine to leave the ORCID attached to the name as contact name. We use ORCID consistently, but this is not a universal practice in USGS. They are trappable within a string by the use of parenthesis to encapsulate the id.

I'm okay with ASC to using the name field as they wish.  But do not plan to scan it for ORCID as the FGDC reader is for a broad audience and will try to stay true to the standard.


Start defining required extensions in composer

At the moment we don't define required extensions in our require section of composer.json
Now that core requires php-intl (for example) we should define this as a "platform-requirement" using "ext-intl": "*" in the require definition.

Yes please!

Ok, as long as we don't end up with a repeat of https://github.com/silverstripe/silverstripe-installer/pull/87 :D

If we do then one will not be able to install ss without the required modules. The same error would appear.

87 was different because it was a requirement of running the framework's tests and not using the framework.

87 was different because it was a requirement of running the framework's tests and not using the framework, so we're okay.
Other than intl, what are the required packages?

OK I went through the installer and made a list.
PRs here:

https://github.com/silverstripe/silverstripe-framework/pull/6817
https://github.com/silverstripe/silverstripe-assets/pull/9

All merged.


Quantization-aware training Fails

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 16.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: One plus 5
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 1.13
Python version:3.6
Bazel version (if compiling from source):bazel-0.24.0-installer-darwin-x86_64
GCC/Compiler version (if compiling from source): NA
CUDA/cuDNN version: NA
GPU model and memory: NA

Describe the current behavior
I am referring to https://github.com/tensorflow/tensorflow/issues/20867. I am currently running Quantization-aware training and I have modified my deeplab->train.py file. When I start training using train.py :

# Copyright 2018 The TensorFlow Authors All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
"""Training script for the DeepLab model.

See model.py for more details and usage.
"""

import six
import tensorflow as tf
from tensorflow.python.ops import math_ops
from deeplab import common
from deeplab import model
from deeplab.datasets import data_generator
from deeplab.utils import train_utils

flags = tf.app.flags
FLAGS = flags.FLAGS

# Settings for multi-GPUs/multi-replicas training.

flags.DEFINE_integer('num_clones', 1, 'Number of clones to deploy.')

flags.DEFINE_boolean('clone_on_cpu', False, 'Use CPUs to deploy clones.')

flags.DEFINE_integer('num_replicas', 1, 'Number of worker replicas.')

flags.DEFINE_integer('startup_delay_steps', 15,
                     'Number of training steps between replicas startup.')

flags.DEFINE_integer(
    'num_ps_tasks', 0,
    'The number of parameter servers. If the value is 0, then '
    'the parameters are handled locally by the worker.')

flags.DEFINE_string('master', '', 'BNS name of the tensorflow server')

flags.DEFINE_integer('task', 0, 'The task ID.')

# Settings for logging.

flags.DEFINE_string('train_logdir', None,
                    'Where the checkpoint and logs are stored.')

flags.DEFINE_integer('log_steps', 10,
                     'Display logging information at every log_steps.')

flags.DEFINE_integer('save_interval_secs', 1200,
                     'How often, in seconds, we save the model to disk.')

flags.DEFINE_integer('save_summaries_secs', 600,
                     'How often, in seconds, we compute the summaries.')

flags.DEFINE_boolean(
    'save_summaries_images', False,
    'Save sample inputs, labels, and semantic predictions as '
    'images to summary.')

# Settings for profiling.

flags.DEFINE_string('profile_logdir', None,
                    'Where the profile files are stored.')

# Settings for training strategy.

flags.DEFINE_enum('learning_policy', 'poly', ['poly', 'step'],
                  'Learning rate policy for training.')

# Use 0.007 when training on PASCAL augmented training set, train_aug. When
# fine-tuning on PASCAL trainval set, use learning rate=0.0001.
flags.DEFINE_float('base_learning_rate', .0001,
                   'The base learning rate for model training.')

flags.DEFINE_float('learning_rate_decay_factor', 0.1,
                   'The rate to decay the base learning rate.')

flags.DEFINE_integer('learning_rate_decay_step', 2000,
                     'Decay the base learning rate at a fixed step.')

flags.DEFINE_float('learning_power', 0.9,
                   'The power value used in the poly learning policy.')

flags.DEFINE_integer('training_number_of_steps', 30000,
                     'The number of steps used for training')

flags.DEFINE_float('momentum', 0.9, 'The momentum value to use')

# When fine_tune_batch_norm=True, use at least batch size larger than 12
# (batch size more than 16 is better). Otherwise, one could use smaller batch
# size and set fine_tune_batch_norm=False.
flags.DEFINE_integer('train_batch_size', 8,
                     'The number of images in each batch during training.')

# For weight_decay, use 0.00004 for MobileNet-V2 or Xcpetion model variants.
# Use 0.0001 for ResNet model variants.
flags.DEFINE_float('weight_decay', 0.00004,
                   'The value of the weight decay for training.')

flags.DEFINE_multi_integer('train_crop_size', [513, 513],
                           'Image crop size [height, width] during training.')

flags.DEFINE_float(
    'last_layer_gradient_multiplier', 1.0,
    'The gradient multiplier for last layers, which is used to '
    'boost the gradient of last layers if the value > 1.')

flags.DEFINE_boolean('upsample_logits', True,
                     'Upsample logits during training.')

# Hyper-parameters for NAS training strategy.

flags.DEFINE_float(
    'drop_path_keep_prob', 1.0,
    'Probability to keep each path in the NAS cell when training.')

# Settings for fine-tuning the network.

flags.DEFINE_string('tf_initial_checkpoint', None,
                    'The initial checkpoint in tensorflow format.')

# Set to False if one does not want to re-use the trained classifier weights.
flags.DEFINE_boolean('initialize_last_layer', True,
                     'Initialize the last layer.')

flags.DEFINE_boolean('last_layers_contain_logits_only', False,
                     'Only consider logits as last layers or not.')

flags.DEFINE_integer('slow_start_step', 0,
                     'Training model with small learning rate for few steps.')

flags.DEFINE_float('slow_start_learning_rate', 1e-4,
                   'Learning rate employed during slow start.')

# Set to True if one wants to fine-tune the batch norm parameters in DeepLabv3.
# Set to False and use small batch size to save GPU memory.
flags.DEFINE_boolean('fine_tune_batch_norm', True,
                     'Fine tune the batch norm parameters or not.')

flags.DEFINE_float('min_scale_factor', 0.5,
                   'Mininum scale factor for data augmentation.')

flags.DEFINE_float('max_scale_factor', 2.,
                   'Maximum scale factor for data augmentation.')

flags.DEFINE_float('scale_factor_step_size', 0.25,
                   'Scale factor step size for data augmentation.')

# For `xception_65`, use atrous_rates = [12, 24, 36] if output_stride = 8, or
# rates = [6, 12, 18] if output_stride = 16. For `mobilenet_v2`, use None. Note
# one could use different atrous_rates/output_stride during training/evaluation.
flags.DEFINE_multi_integer('atrous_rates', None,
                           'Atrous rates for atrous spatial pyramid pooling.')

flags.DEFINE_integer('output_stride', 16,
                     'The ratio of input to output spatial resolution.')

# Hard example mining related flags.

flags.DEFINE_integer(
    'hard_example_mining_step', 0,
    'The training step in which exact hard example mining kicks off. Note we '
    'gradually reduce the mining percent to the specified '
    'top_k_percent_pixels. For example, if hard_example_mining_step=100K and '
    'top_k_percent_pixels=0.25, then mining percent will gradually reduce from '
    '100% to 25% until 100K steps after which we only mine top 25% pixels.')

flags.DEFINE_float(
    'top_k_percent_pixels', 1.0,
    'The top k percent pixels (in terms of the loss values) used to compute '
    'loss during training. This is useful for hard pixel mining.')

# Dataset settings.
flags.DEFINE_string('dataset', 'pascal_voc_seg',
                    'Name of the segmentation dataset.')

flags.DEFINE_string('train_split', 'train',
                    'Which split of the dataset to be used for training')

flags.DEFINE_string('dataset_dir', None, 'Where the dataset reside.')

def _build_deeplab(iterator, outputs_to_num_classes, ignore_label):
  """Builds a clone of DeepLab.

  Args:
    iterator: An iterator of type tf.data.Iterator for images and labels.
    outputs_to_num_classes: A map from output type to the number of classes. For
      example, for the task of semantic segmentation with 21 semantic classes,
      we would have outputs_to_num_classes['semantic'] = 21.
    ignore_label: Ignore label.
  """
  samples = iterator.get_next()

  # Add name to input and label nodes so we can add to summary.
  samples[common.IMAGE] = tf.identity(samples[common.IMAGE], name=common.IMAGE)
  samples[common.LABEL] = tf.identity(samples[common.LABEL], name=common.LABEL)

  model_options = common.ModelOptions(
      outputs_to_num_classes=outputs_to_num_classes,
      crop_size=FLAGS.train_crop_size,
      atrous_rates=FLAGS.atrous_rates,
      output_stride=FLAGS.output_stride)

  outputs_to_scales_to_logits = model.multi_scale_logits(
      samples[common.IMAGE],
      model_options=model_options,
      image_pyramid=FLAGS.image_pyramid,
      weight_decay=FLAGS.weight_decay,
      is_training=True,
      fine_tune_batch_norm=FLAGS.fine_tune_batch_norm,
      nas_training_hyper_parameters={
          'drop_path_keep_prob': FLAGS.drop_path_keep_prob,
          'total_training_steps': FLAGS.training_number_of_steps,
      })

  # Add name to graph node so we can add to summary.
  output_type_dict = outputs_to_scales_to_logits[common.OUTPUT_TYPE]
  output_type_dict[model.MERGED_LOGITS_SCOPE] = tf.identity(
      output_type_dict[model.MERGED_LOGITS_SCOPE], name=common.OUTPUT_TYPE)

  for output, num_classes in six.iteritems(outputs_to_num_classes):
    train_utils.add_softmax_cross_entropy_loss_for_each_scale(
        outputs_to_scales_to_logits[output],
        samples[common.LABEL],
        num_classes,
        ignore_label,
        loss_weight=1.0,
        upsample_logits=FLAGS.upsample_logits,
        hard_example_mining_step=FLAGS.hard_example_mining_step,
        top_k_percent_pixels=FLAGS.top_k_percent_pixels,
        scope=output)

    # Log the summary
    _log_summaries(samples[common.IMAGE], samples[common.LABEL], num_classes,
                   output_type_dict[model.MERGED_LOGITS_SCOPE])

def _tower_loss(iterator, num_of_classes, ignore_label, scope, reuse_variable):
  """Calculates the total loss on a single tower running the deeplab model.

  Args:
    iterator: An iterator of type tf.data.Iterator for images and labels.
    num_of_classes: Number of classes for the dataset.
    ignore_label: Ignore label for the dataset.
    scope: Unique prefix string identifying the deeplab tower.
    reuse_variable: If the variable should be reused.

  Returns:
     The total loss for a batch of data.
  """
  with tf.variable_scope(
      tf.get_variable_scope(), reuse=True if reuse_variable else None):
    _build_deeplab(iterator, {common.OUTPUT_TYPE: num_of_classes}, ignore_label)

  losses = tf.losses.get_losses(scope=scope)
  for loss in losses:
    tf.summary.scalar('Losses/%s' % loss.op.name, loss)

  regularization_loss = tf.losses.get_regularization_loss(scope=scope)
  tf.summary.scalar('Losses/%s' % regularization_loss.op.name,
                    regularization_loss)

  total_loss = tf.add_n([tf.add_n(losses), regularization_loss])
  return total_loss

def _average_gradients(tower_grads):
  """Calculates average of gradient for each shared variable across all towers.

  Note that this function provides a synchronization point across all towers.

  Args:
    tower_grads: List of lists of (gradient, variable) tuples. The outer list is
      over individual gradients. The inner list is over the gradient calculation
      for each tower.

  Returns:
     List of pairs of (gradient, variable) where the gradient has been summed
       across all towers.
  """
  average_grads = []
  for grad_and_vars in zip(*tower_grads):
    # Note that each grad_and_vars looks like the following:
    #   ((grad0_gpu0, var0_gpu0), ... , (grad0_gpuN, var0_gpuN))
    grads, variables = zip(*grad_and_vars)
    grad = tf.reduce_mean(tf.stack(grads, axis=0), axis=0)

    # All vars are of the same value, using the first tower here.
    average_grads.append((grad, variables[0]))

  return average_grads

def _log_summaries(input_image, label, num_of_classes, output):
  """Logs the summaries for the model.

  Args:
    input_image: Input image of the model. Its shape is [batch_size, height,
      width, channel].
    label: Label of the image. Its shape is [batch_size, height, width].
    num_of_classes: The number of classes of the dataset.
    output: Output of the model. Its shape is [batch_size, height, width].
  """
  # Add summaries for model variables.
  for model_var in tf.model_variables():
    tf.summary.histogram(model_var.op.name, model_var)

  # Add summaries for images, labels, semantic predictions.
  if FLAGS.save_summaries_images:
    tf.summary.image('samples/%s' % common.IMAGE, input_image)

    # Scale up summary image pixel values for better visualization.
    pixel_scaling = max(1, 255 // num_of_classes)
    summary_label = tf.cast(label * pixel_scaling, tf.uint8)
    tf.summary.image('samples/%s' % common.LABEL, summary_label)

    predictions = tf.expand_dims(tf.argmax(output, 3), -1)
    summary_predictions = tf.cast(predictions * pixel_scaling, tf.uint8)
    tf.summary.image('samples/%s' % common.OUTPUT_TYPE, summary_predictions)

def _train_deeplab_model(iterator, num_of_classes, ignore_label):
  """Trains the deeplab model.

  Args:
    iterator: An iterator of type tf.data.Iterator for images and labels.
    num_of_classes: Number of classes for the dataset.
    ignore_label: Ignore label for the dataset.

  Returns:
    train_tensor: A tensor to update the model variables.
    summary_op: An operation to log the summaries.
  """
  global_step = tf.train.get_or_create_global_step()
  summaries = []

  learning_rate = train_utils.get_model_learning_rate(
      FLAGS.learning_policy, FLAGS.base_learning_rate,
      FLAGS.learning_rate_decay_step, FLAGS.learning_rate_decay_factor,
      FLAGS.training_number_of_steps, FLAGS.learning_power,
      FLAGS.slow_start_step, FLAGS.slow_start_learning_rate)
  summaries.append(tf.summary.scalar('learning_rate', learning_rate))
 # Build forward pass of model.
  loss = tf.losses.get_total_loss()

# Call the training rewrite which rewrites the graph in-place with
# FakeQuantization nodes and folds batchnorm for training. It is
# often needed to fine tune a floating point model for quantization
# with this training tool. When training from scratch, quant_delay
# can be used to activate quantization after training to converge
# with the float graph, effectively fine-tuning the model.
  g = tf.get_default_graph()
  tf.contrib.quantize.create_training_graph(input_graph=g,
                                          quant_delay=2000000)

# Call backward pass optimizer as usual.
  optimizer = tf.train.GradientDescentOptimizer(learning_rate)
  optimizer.minimize(loss)
  #optimizer = tf.train.MomentumOptimizer(learning_rate, FLAGS.momentum)

  tower_grads = []
  tower_summaries = None
  for i in range(FLAGS.num_clones):
    with tf.device('/gpu:%d' % i):
      with tf.name_scope('clone_%d' % i) as scope:
        loss = _tower_loss(
            iterator=iterator,
            num_of_classes=num_of_classes,
            ignore_label=ignore_label,
            scope=scope,
            reuse_variable=(i != 0))
        grads = optimizer.compute_gradients(loss)
        tower_grads.append(grads)

        # Retain the summaries from the first tower.
        if not i:
          tower_summaries = tf.summary.merge_all(scope=scope)

  with tf.device('/cpu:0'):
    grads_and_vars = _average_gradients(tower_grads)
    if tower_summaries is not None:
      summaries.append(tower_summaries)

    # Modify the gradients for biases and last layer variables.
    last_layers = model.get_extra_layer_scopes(
        FLAGS.last_layers_contain_logits_only)
    grad_mult = train_utils.get_model_gradient_multipliers(
        last_layers, FLAGS.last_layer_gradient_multiplier)
    if grad_mult:
      grads_and_vars = tf.contrib.training.multiply_gradients(
          grads_and_vars, grad_mult)

    # Create gradient update op.
    grad_updates = optimizer.apply_gradients(
        grads_and_vars, global_step=global_step)

    # Gather update_ops. These contain, for example,
    # the updates for the batch_norm variables created by model_fn.
    update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)
    update_ops.append(grad_updates)
    update_op = tf.group(*update_ops)

    total_loss = tf.losses.get_total_loss(add_regularization_losses=True)

    # Print total loss to the terminal.
    # This implementation is mirrored from tf.slim.summaries.
    should_log = math_ops.equal(math_ops.mod(global_step, FLAGS.log_steps), 0)
    total_loss = tf.cond(
        should_log,
        lambda: tf.Print(total_loss, [total_loss], 'Total loss is :'),
        lambda: total_loss)

    summaries.append(tf.summary.scalar('total_loss', total_loss))

    with tf.control_dependencies([update_op]):
      train_tensor = tf.identity(total_loss, name='train_op')
    summary_op = tf.summary.merge(summaries)

  return train_tensor, summary_op

def main(unused_argv):
  tf.logging.set_verbosity(tf.logging.INFO)

  tf.gfile.MakeDirs(FLAGS.train_logdir)
  tf.logging.info('Training on %s set', FLAGS.train_split)

  graph = tf.Graph()
  with graph.as_default():
    with tf.device(tf.train.replica_device_setter(ps_tasks=FLAGS.num_ps_tasks)):
      assert FLAGS.train_batch_size % FLAGS.num_clones == 0, (
          'Training batch size not divisble by number of clones (GPUs).')
      clone_batch_size = FLAGS.train_batch_size // FLAGS.num_clones

      dataset = data_generator.Dataset(
          dataset_name=FLAGS.dataset,
          split_name=FLAGS.train_split,
          dataset_dir=FLAGS.dataset_dir,
          batch_size=clone_batch_size,
          crop_size=FLAGS.train_crop_size,
          min_resize_value=FLAGS.min_resize_value,
          max_resize_value=FLAGS.max_resize_value,
          resize_factor=FLAGS.resize_factor,
          min_scale_factor=FLAGS.min_scale_factor,
          max_scale_factor=FLAGS.max_scale_factor,
          scale_factor_step_size=FLAGS.scale_factor_step_size,
          model_variant=FLAGS.model_variant,
          num_readers=2,
          is_training=True,
          should_shuffle=True,
          should_repeat=True)

      train_tensor, summary_op = _train_deeplab_model(
          dataset.get_one_shot_iterator(), dataset.num_of_classes,
          dataset.ignore_label)

      # Soft placement allows placing on CPU ops without GPU implementation.
      session_config = tf.ConfigProto(
          allow_soft_placement=True, log_device_placement=False)

      last_layers = model.get_extra_layer_scopes(
          FLAGS.last_layers_contain_logits_only)
      init_fn = None
      if FLAGS.tf_initial_checkpoint:
        init_fn = train_utils.get_model_init_fn(
            FLAGS.train_logdir,
            FLAGS.tf_initial_checkpoint,
            FLAGS.initialize_last_layer,
            last_layers,
            ignore_missing_vars=True)

      scaffold = tf.train.Scaffold(
          init_fn=init_fn,
          summary_op=summary_op,
      )

      stop_hook = tf.train.StopAtStepHook(FLAGS.training_number_of_steps)

      profile_dir = FLAGS.profile_logdir
      if profile_dir is not None:
        tf.gfile.MakeDirs(profile_dir)

      with tf.contrib.tfprof.ProfileContext(
          enabled=profile_dir is not None, profile_dir=profile_dir):
        with tf.train.MonitoredTrainingSession(
            master=FLAGS.master,
            is_chief=(FLAGS.task == 0),
            config=session_config,
            scaffold=scaffold,
            checkpoint_dir=FLAGS.train_logdir,
            summary_dir=FLAGS.train_logdir,
            log_step_count_steps=FLAGS.log_steps,
            save_summaries_steps=FLAGS.save_summaries_secs,
            save_checkpoint_secs=FLAGS.save_interval_secs,
            hooks=[stop_hook]) as sess:
          while not sess.should_stop():
            sess.run([train_tensor])

if __name__ == '__main__':
  flags.mark_flag_as_required('train_logdir')
  flags.mark_flag_as_required('dataset_dir')
  tf.app.run()

**Describe the expected behavior**

**Code to reproduce the issue**
Provide a reproducible test case that is the bare minimum necessary to generate the problem.

**Other info / logs**
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

I get the following error:

WARNING: The TensorFlow contrib module will not be included in TensorFlow 2.0.
For more information, please see:

https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md
https://github.com/tensorflow/addons
If you depend on functionality not listed there, please file an issue.

INFO:tensorflow:Training on train set
WARNING:tensorflow:From /home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/ops/control_flow_ops.py:423: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.
Instructions for updating:
Colocations handled automatically by placer.
WARNING:tensorflow:From /home/ubuntu/ajinkya/models/research/deeplab/core/preprocess_utils.py:203: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.cast instead.
Traceback (most recent call last):
File "deeplab/train2.py", line 516, in
tf.app.run()
File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 125, in run
_sys.exit(main(argv))
File "deeplab/train2.py", line 468, in main
dataset.ignore_label)
File "deeplab/train2.py", line 348, in _train_deeplab_model
loss = tf.losses.get_total_loss()
File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/ops/losses/util.py", line 112, in get_total_loss
return math_ops.add_n(losses, name=name)
File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/util/dispatch.py", line 180, in wrapper
return target(*args, **kwargs)
File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/ops/math_ops.py", line 2658, in add_n
raise ValueError("inputs must be a list of at least one"
ValueError: inputs must be a list of at least oneTensor/IndexedSlices with the same dtype and shape

How do I resolve this error? Its extremely tough to debug whats happening here

@ajinkya933 This question is better asked on StackOverflow since it is not a bug or feature request. There is also a larger community that reads questions there.If you think we've misinterpreted a bug, please comment again with a clear explanation, as well as all of the information requested in the issue template. Thanks!

@ajinkya933 did you solved the issue ??


ci: new version of upload-artifact in CI

fixes the following error from the CI: Error: This request has been automatically failed because it uses a deprecated version of actions/upload-artifact: v2. Learn more: https://github.blog/changelog/2024-02-13-deprecation-notice-v1-and-v2-of-the-artifact-actions/

already fixed by #668


Convert a ReadWrite environment to a ReadOnly environment

In an application, it would be useful to have 2 views of the same environment, on ReadOnly environment and another ReadWrite environment. In this way, the parts of the application needing only ReadOnly operations will take a ReadOnly environment and the compiler will make sure that those parts of the application will only do read only operations on the environment.
So, it would be useful to have a simple operation that will create an Environment ReadOnly out of an Environment ReadWrite. It would be the same environment, but it will be marked as ReadOnly so the compiler will only allow readonly operations on it.

Thanks for the suggestion. I’ve implemented it in 865fa0de72497cef369146b5b969ca4d638794a7 for v<IP_ADDRESS>.


Reduce test geojson size and update affected stats

Changes:

reduce test vectors with intersection + zonal merging
rerun tests and update changed stats

what about the crops file?


Apply bold / italics IRC stylings instead of sending raw markdown

It's possible to insert characters that color and style code. As such, *thing* should be rendered as thing, **thing** should be rendered as thing, and ***thing*** should be rendered as thing.

No.  I hate the sound of that, and after a quick Google, I am appalled to find out what horrible hacks clients have added to the plain text protocol IRC because someone wants to look cool and add fancy colors.
Please, Gitter devs… no.

A more practical concern: Markdown is sometimes difficult to get right (pop quiz: how do you produce *cough* [something] *cough*? trick question; it depends on your implementation of course, because there is no such thing as a standard Markdown), and seeing the plain source in the IRC bridge frequently allows us to help users who can’t get their formatting to work (“you need to add a newline between the ``` and the actual code”). For this, it is important that we can see the pure, plain, unaltered Markdown source.

I'm with @lucaswerkmeister on this one. Markdown is meant to be readable as source and uses the existing plaintext conventions to imply emphasis. Markdown rendering is up to the client.


merge from arlac77/npm-package-template-kronos-module

package.json

chore(scripts): add c8 -x 'tests/**/*' --temp-directory build/tmp ava --timeout 2m && c8 report -r lcov -o build/coverage --temp-directory build/tmp (scripts.cover)
chore(scripts): add ava && ava --timeout 2m (scripts.test)
chore(package): add ^3.3.0 remove ^2.4.0 (devDependencies.ava)
chore(package): remove ^3.2.25 (devDependencies.esm)
chore(package): (ava)

.travis.yml

chore(travis): (jobs.include)
chore(travis): remove 12.15.0 (jobs.include.node_js)
chore(travis): (script)

Codecov Report

Merging #660 into master will decrease coverage by 2.12%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #660      +/-   ##
==========================================
- Coverage   93.99%   91.87%   -2.13%
==========================================
  Files           4        4
  Lines         283      283
  Branches       25       13      -12
==========================================
- Hits          266      260       -6
- Misses         17       23       +6

Impacted Files
Coverage Δ

src/logging-interceptor.mjs
85.18% <0%> (-14.82%)
:arrow_down:

src/timeout-interceptor.mjs
98.07% <0%> (-1.93%)
:arrow_down:

src/limiting-interceptor.mjs
86.23% <0%> (-0.92%)
:arrow_down:

src/interceptor.mjs
96.84% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Benchmarks should operate on square whole images

Currently, abel.benchmark.AbelTiming passes, for example, a 101x101 pixel half-image to each transform method. This corresponds to a 101x201 pixel whole-image when we apply the cylindrical (left-right) symmetry.
In most experimental situations, people are recording both sides of the projection (using a 512x512 pixel camera, for example), and would want benchmarks for the square whole-image. Therefore, I suggest that we modify benchmark.py to pass a rectangular half-image to each transform method.
Specifically, I believe that modifying line 107 of abel/benchmarks.py from:
x = np.random.randn(ni, ni)

to:
x = np.random.randn(ni, np.floor(ni * 0.5) + 1)

should do the trick.
This has the added advantage of making all of the benchmarks seem a factor-of-two faster :). But, I think that most previous benchmarks use this convention. For example, when Rallis et al say that they can transform a 1024x1024 image in 0.6 seconds, they are referring to the whole image. In PyAbel, we would be passing a 1024x512 half-image to the individual transform method.
One could argue that, for the photoelectron distributions in Rallis et al, up/down symmetry could additionally be applied, and the transform could be performed on a 512x512 pixel image. However, this symmetry is not generic to the Abel transform, which only assumes cylindrical symmetry. Additionally, one could argue that, since the default behavior of abel.Transform is to allow for asymmetric transforms, where each quadrant is transformed separately, then the result of abel.benchmark.AbelTiming with n=101, actually corresponds to 25% of the time it would take to perform the transform on a 201x201 pixel image (which is not necessarily equal to the time it takes for a 101x101 image).
Thoughts?

This was addressed by #209, so I'm closing this issue.


runtime: shrink signal stacks with AT_MINSIGSTKSZ

A new auxiliary vector, AT_MINSIGSTKSZ was added for arm64 in Linux 4.18, amd64 in Linux 5.14, and ppc64 in Linux 5.19.
AT_MINSIGSTKSZ reports the size of a signal frame, and thus the absolute minimum amount of space required to receive a signal, though additional space is of course required for userspace stack usage.
Currently we hard-code our signal stacks to 32KB. With AT_MINSIGSTKSZ, I think we could adjust this to something like AT_MINSIGSTKSZ + _StackFixed, which would almost certainly reduce the signal stack size on all systems (AT_MINSIGSTKSZ is 3632 bytes on my Skylake machine).
cc @aclements @cherrymui

Sounds like a good idea. Thanks.
Currently there are code that depend on the signal stack being its own manual span. That needs to be adjusted if the stack is smaller and allocated from a stack pool.


Create dataset loader for IndoQA

Dataloader name: indoqa/indoqa.py
DataCatalogue: http://seacrowd.github.io/seacrowd-catalogue/card.html?indoqa

Dataset
indoqa

Description
IndoQA is an Indonesian question-answering dataset. It is comprised of ~4.5k examples. The datasets consists of a context paragraph along with an associated question-answer pair.

Subsets
-

Languages
ind

Tasks
Question Answering

License
Creative Commons Attribution No Derivatives 4.0 (cc-by-nd-4.0)

Homepage
https://huggingface.co/datasets/jakartaresearch/indoqa

HF URL
https://huggingface.co/datasets/jakartaresearch/indoqa

Paper URL
https://huggingface.co/datasets/jakartaresearch/indoqa

#self-assign


Certificate Management in disconnected cluster

Applications running in a cluster that uses a private/custom CA will break when calling other services hosted in the same cluster. The applications need to have access to the private truststore.

This is an RFE and can't be addressed via configuration.


Use a single index with wildcard in Elasticsearch reader

Resolves #1361
Use a wildcard (jaeger-span-*) in queries instead of the concrete list of indices (jaeger-span-2018-12-24, jaeger-span-2018-12-25...).
The motivation for this change:

simplified index management and usage - no --es.max-span-age parameter
search screen and trace detail screen will show the same results.
align with rollover (a single read index) and later deprecate rollover lookback option (similar to --es-max-span-age) https://medium.com/jaegertracing/using-elasticsearch-rollover-to-manage-indices-8b3d0c77915d

Possible negative impacts:

Performance - although kibana also uses wildcard pattern therefore time range queries (on span timestamp) should be well optimized.

Docker images to test:
pavolloffay/jaeger-query:es-wildcard
pavolloffay/jaeger-collector:es-wildcard

GetTrace, GetServices and GetOperatios used --es.max-span-age to compose a list of historical indices for the query - now query all indices via the wildcard
FidTraceIDs and FindTraces use times from query parameters to compose the list of historical indices - now query all indices but they use timestamp range query.

@jaegertracing/elasticsearch we are looking for volunteers to test this functionality especially if the query performance changed. Any feedback is appreciated. The docker images are listed in the PR description.

Should we also change the esCleaner.py script as part of this PR and allow users to specify a max TTL for span data?

I am not sure if I follow you. The purpose of esCleaner.py script is to clean old data. Elasticsearch does not allow to specify TTL in any form.

@pavolloffay Sorry I didn't frame that properly.

Elasticsearch does not allow to specify TTL in any form.

Yes. What I meant was that should we modify the esCleaner.py script as part of this PR as well, to include the change made in index naming format, so that users can continue to specify how long they want to store data.

There is no change in index name format in this PR. The writer still writes to daily indices.


Gitter link directs to Facebook

ScreenToGif v2.17.1
The Gitter link on the Options->About page directs to the Facebook link.

See here:
https://github.com/NickeManarin/ScreenToGif/blob/b49d298095b4357309cb40862c279c5c40912295/ScreenToGif/Windows/Options.xaml#L1422-L1424

Good catch.

Fixed. Thanks. :)


no method matching length(::Nothing) in get_engine when engine does not exist

The following error occurs in get_engine():
julia> get_engine(ctx, "sagar-2022-11-12")
ERROR: MethodError: no method matching length(::Nothing)
Closest candidates are:
  length(::Union{Base.KeySet, Base.ValueIterator}) at abstractdict.jl:58
  length(::Union{LinearAlgebra.Adjoint{T, S}, LinearAlgebra.Transpose{T, S}} where {T, S}) at /Applications/Julia-1.8.app/Contents/Resources/julia/share/julia/stdlib/v1.8/LinearAlgebra/src/adjtrans.jl:172
  length(::Union{Tables.AbstractColumns, Tables.AbstractRow}) at ~/.julia/packages/Tables/T7rHm/src/Tables.jl:180
  ...
Stacktrace:
 [1] get_engine(ctx::Context, engine::String; kw::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ RAI ~/.julia/packages/RAI/RbjsZ/src/api.jl:262
 [2] get_engine(ctx::Context, engine::String)
   @ RAI ~/.julia/packages/RAI/RbjsZ/src/api.jl:259
 [3] top-level scope
   @ REPL[3]:1

This occurs when the engine does not exist, ~when it is in the PROVISIONING state,~ or when it has been deleted. The error does not occur in the PROVISIONED state. It's unclear whether the error occurs in the DELETE_REQUESTED state.
Based BWA logs, I believe this error started occurring some time between Wed, 09 Nov 2022 08:04:44 GMT and Fri, 11 Nov 2022 03:48:32 GMT.
@vilterp also observed this error.

It should be fixed by https://github.com/RelationalAI/raicloud-control-plane/pull/4169. Feel free to close once confirmed.

Thank you, @geokollias! I think that did the trick.

This link is only accessible to employees of RelationalAI.


[Feature]: Spell check support for strings

What would you like to see added?
Useful for things like writing commit messages from command line
Maybe as a plugin since this may have some performance impact

duplicate of #278

duplicate of #278


Broken stdin operation output in 0.12.0

Thanks for bringing this to my attention. This is fixed in v0.12.1.


Can I change style the background color for Android and iOS  ?

Hey!
Take a look at these dicussions.


[Suggestion]: Rename GraphQL Extension to .graphql from .gql

More of an enhancement than bug.
Reasons for change:
(1) .graphql is used internally at Facebook
https://github.com/facebook/graphql/issues/203
(2) Plugins by default use .graphql as syntax extension for highlight

Plus one for this. The Webstorm GraphQL plugin doesn't recognise the .gql extension - missed out on a week of auto-completed :)

In 3.0.0 (released today), there's actually no .gql or .graphql by default at all. Instead, it's pure Typescript:
// Get local count state

// ----------------------------------------------------------------------------
// IMPORTS

/* NPM */

// GraphQL tag library, for creating GraphQL queries from plain
// template text
import gql from "graphql-tag";

// ----------------------------------------------------------------------------

// GraphQL query for retrieving the current count from local state
export default gql`
  {
    state @client {
      count
    }
  }
`;

If re-enabling .gql is important for local IDE linting, that's an easy addition to Webpack that I don't mind doing to the core kit. I'll close this for now but let me know if this is important to you.


Fixed: Delete prior to insert during update

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "debug-staging-2",
    "component": "manipulate",
    "pr-id": "93",
    "commit-sha": "450a788bbf4e148c6a507bf7cf5ad1976d4bf6f3"
  },
  {
    "project": "debug-staging-2",
    "component": "enforcerd",
    "pr-id": "1301",
    "commit-sha": "1dee754bd5095b494e468b495f5a03ddbd9467f0"
  },
  {
    "project": "debug-staging-2",
    "component": "backend",
    "pr-id": "480",
    "commit-sha": "3a7a3094f7023c49a640e8fe5f798b02e493524f"
  }
]

Not needed


HIP draft – Record all potential beacon witnesses

Please be gentle with me - this is my first foray into Github as well as HIP submission

Hello and welcome @captainhindsite!
rendered view:
https://github.com/helium/HIP/blob/d388b235a066360fe19a074730ac898cb53a3948/0049-display-all-potential-beacon-witnesses.md
will review & get back w/ any notes, or else number and merge for discussion + discord channel + etc

Many thanks 👍
On Fri, 17 Dec 2021, 17:47 Jamie Dubs, @.***> wrote:

Hello and welcome @captainhindsite https://github.com/captainhindsite!
rendered view:
https://github.com/helium/HIP/blob/d388b235a066360fe19a074730ac898cb53a3948/0049-display-all-potential-beacon-witnesses.md
will review & get back w/ any notes, or else number and merge for
discussion + discord channel + etc
—
Reply to this email directly, view it on GitHub
https://github.com/helium/HIP/pull/322#issuecomment-996890773, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ATPYRUBEMTWD6G6OJXJRKPTURNWSLANCNFSM5JZWJUMQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

@captainhindsite would you be interested in presenting this HIP at the community call today? noon ET https://dewi.org/community-call
I'll be reviewinga and likely merging this shorty as well, please excuse the holiday delay

Sorry, I can't.
Important family business.
On Wed, 29 Dec 2021, 14:31 Jamie Dubs, @.***> wrote:

@captainhindsite https://github.com/captainhindsite would you be
interested in presenting this HIP at the community call today? noon ET
https://dewi.org/community-call
I'll be reviewinga and likely merging this shorty as well, please excuse
the holiday delay
—
Reply to this email directly, view it on GitHub
https://github.com/helium/HIP/pull/322#issuecomment-1002621715, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ATPYRUHGEEKJY7KHENQGKNLUTMLNPANCNFSM5JZWJUMQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

I like this proposal, I live in a rather hilly area and it's quite tricky to figure out what I can reach (especially without discovery mode), have to make a physical position change of my hotspots on the roof, then wait several weeks to see if there's any differences in witnesses

Someone seems to have been able to comment on my HIP proposal, which led me
to check it out, and I see that a DRAFT tag has been added.
Can I ask please, what happens next?
On Wed, 29 Dec 2021, 14:31 Jamie Dubs, @.***> wrote:

@captainhindsite https://github.com/captainhindsite would you be
interested in presenting this HIP at the community call today? noon ET
https://dewi.org/community-call
I'll be reviewinga and likely merging this shorty as well, please excuse
the holiday delay
—
Reply to this email directly, view it on GitHub
https://github.com/helium/HIP/pull/322#issuecomment-1002621715, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ATPYRUHGEEKJY7KHENQGKNLUTMLNPANCNFSM5JZWJUMQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

This HIP draft has been numbered and merged for discussion as HIP 50. https://github.com/helium/HIP/issues/331
Please direct future questions & comments to the new tracking issue: #331
If you are one of the named authors, please include #331 in future pull requests to have them automatically merged.


Strange visualization result.

When I executed the visualization command
python3 demo/demo.py --config-file configs/transfiner/mask_rcnn_R_50_FPN_3x.yaml ----input 'demo/sample_imgs/000000018737.jpg'  --opts MODEL.WEIGHTS ./pretrained_model/output_3x_transfiner_r50.pth
The result of segmenting the picture<PHONE_NUMBER>37.jpg in the demo is strange, why is this?
My pytorch version is 1.10, is it a problem caused by the pytorch version?
000000018737.jpg

000000321214.jpg

000000132408.jpg

That's due to some incorrect bounding box detection results in small backbone. You can eliminate it by setting higher confidence thresholds or change to lager backbone.


ksp-audit-stig-rhel-v-230337

Pr link: https://github.com/kubearmor/policy-templates/pull/459/files

Closing this since unsuccessful logon attempts can't be detected via KubeArmor as of now.


lib: set DeployState to non-zero

          1 Error

:no_entry_sign:
Please include a CHANGELOG entry.

  Generated by :no_entry_sign: Danger


PoseGraphInterface can mostly be const

Currently, all methods in PoseGraphInterface are not const, even though most of them can be.
I think the reason was that they require a read mutex, but semantically, they are const.

That is a philosophical decision. We decided way back that in Cartographer, const should mean the same for the compiler and us, so we never used mutable ever. Mutable is also a slippery slope, diluting the possibility to correctly reason about class state from the outside. I think the Chromium project landed on the other side, using mutable all over the place and trying to express with const semantic constness.
Further reading, though a bit outdated:

https://www.amazon.de/More-Effective-Addison-Wesley-Professional-Computing-ebook/dp/B004VSMDNY

I stumbled into this talk, which I found interesting:
https://channel9.msdn.com/posts/C-and-Beyond-2012-Herb-Sutter-You-dont-know-blank-and-blank

@ojura - this is a nice talk, thanks for sharing.
For those who can't spare the time to watch it, the summary is that in C+11 the meaning of const and mutable has change away from "logically const" to "thread-safe" (bitwise const or internally synchronized). Meaning, declaring a synchronized object (like a mutex) mutable is concise and actually desired.
That being said, I will move forward with changing Cartographer classes to reflect this, as it also makes other classes using these object more sane in terms of const-ness.


Fix build with OPENSSL_NO_ENGINE

The ENGINE APIs are deprecated in OpenSSL v3, and Fedora 41 and RHEL 10 no longer ship the openssl/engine.h header by default.  This allows the build to succeed as a provider without engine.h present.
https://fedoraproject.org/wiki/Changes/OpensslDeprecateEngine
I have built and loaded this locally with OpenSSL 3.2.2 (F40 and EL9 as an engine, F41+ and EL10+ as a provider), 3.1.4 (F39), and 1.1.1k (EL8); hopefully your CI will check other environments.

@yselkowitz  - I see that <openssl/engine.h> is not included when QAT_OPENSSL_3 is not set. In QAT Engine, QAT_OPENSSL_3 flag is common for both engine and provider modules. Despite the fact that the engines are deprecated in OpenSSL v3, QAT Engine still has engine support for OpenSSL 3.
I would put like:
#ifndef QAT_OPENSSL_PROVIDER
include <openssl/engine.h>
#endif
I have updated the files and internal testing is in progress.

@yselkowitz No.


Docs: Notification when viewing outdated version of API docs

There is an ongoing problem when readers of the online API docs on https://crystal-lang.org/api land on documentation for an older crystal version which doesn't accurately reflect the current API. One reason for this is that search results tend to point to older versions (this is a separate issue discussed in #5952). Even when this is fixed, readers might be following links from blog posts etc. which point to older versions (this can be avoided by linking to https://crystal-lang.org/api/latest/ instead of a specific version).
When landing on such a page, it is hard to notice that the information is (or may be) outdated. Since 0.35.0 the version is shown on page in the side bar and a version selector allows to jump to different versions. But even that may not immediately jump into the eye. And it requires the reader to familiar with which version is the most recent. With older releases (prior to 0.35.0) you can only tell from the URL which version you're actually viewing.
The proposed solution to make readers aware of outdated documentation is to show a notification, preferably a bar at the top of the page. An example can be found in the Python docs: https://docs.python.org/3.4/

This document is for an old version of Python that is no longer supported. You should upgrade, and read the Python documentation for the current stable release.

There was previously already a PR for this: #7011 based on querying and compering to the /api/latest redirect.
Now we could use the version data already available for the version selector to generate this alert. That would certainly work, but it has a few shortcomings:

It depends on JavaScript. #7011 is pretty clever about this with a noscript-message: "This documentation may be out of date. Click here to visit the latest version." It helps for users without JS. But after clicking that link, you would still see the same message and don't really know if it was successful or not. And machines consuming the site without JS evaluation would be oblivous to the fact.
It doesn't work retroactively. We currently have documentation for over 30 outdated versions. Adding notifications to these is most important right now. So we'll need a different solution to achieve that anyways.

I propose to inject the notification directly into the hosted HTML files instead.
That's certainly some effort, you need to fetch all the files from s3, inject the content and then reupload. But this can be easily automated. And it's only necessary once for each version. The idea to inject the version selector data that way was dismissed because it would require an update for every release. But the status change from recent to outdated only happens once.
Maybe we'll eventually have more support status changes (like outdated but still supported) but it's still very limited per file.
So I think this would be a feasible approach to update the already existing outdated docs, as well as current and future docs as soon as they become outdated. This could just be a step in the release process: When a new documentation version is pushed, the old one gets the outdated notification.

Looking forward to this after googling "crystal stdout" took me to https://crystal-lang.org/api/0.18.7/toplevel.html today... :)

There could be a <link rel="canonical" href=""> meta, too, that would always point to the same URL (e.g. /1.2.3/x.html => /latest/x.html).


⚠ Bofrost.at has degraded performance

In be95056, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 896 ms

Resolved: Bofrost.at performance has improved in 93c5980.


Scale Deployments to 0 when minReplicas is set to 0.

It became apparent during a DB upgrade that when we update minReplicas to 0 on our clowdapps that the deployment resources wouldn't be scaled to 0. I think this is due to the check that the deployment replicas is less than the configured replicas - e.g. it scales up the deployments but refuses to scale them down.
This PR basically changes that check to do a few things:

If the deployment is nil -> set it to the configured value for initialization
Otherwise, (if autoscaling is disabled) sync the deployment + podSpec replica count

Let me know if this isn't the fix you're looking for, I was just playing around here to see if it was in this little check. cc @psav

This is gonna be addressed in another PR already open #686.

Oh sweet! That's great.


Updated setSpanSizeLookup example for Java 7 and below

It wasn't working out of the box when I tried it on my project 😃

My bad, I wrote it from memory 😅. Thanks!


make drive letter withstand non-latin languages

fixes #13

Codecov Report

Merging #15 into master will decrease coverage by 0.63%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##           master      #15      +/-   ##
==========================================
- Coverage   73.91%   73.27%   -0.64%
==========================================
  Files           7        7
  Lines         230      232       +2
==========================================
  Hits          170      170
- Misses         32       34       +2
  Partials       28       28

Impacted Files
Coverage Δ

pkg/furl/read.go
68.75% <33.33%> (-2.99%)
:arrow_down:

Continue to review full report at Codecov.

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


Opcode fixes and improved consistency for funct7 field

I think the opcodes for srl and sra are wrong, and changed them to what I think is correct.  Also The funct7 field is not defined for I-Type instructions, and I added some changes that make that more consistent with regards to the instruction type.
I included an updated pdf file.  The previous version did not include previous opcode fixes.

Any plans on accepting this PR?

Any plans on accepting this PR?

@emoon sorry about being absent, I've been on holiday. I'll merge pending some fixes, including the one you suggested.


Test cases causing segfaults in Node

should return functions in array
should return struct containing function pointers
should handle function pointer as comptime field
should handle function in error union

Not longer crashing. Tracking problem with comptime field in #516.


TFlite on container problem

Hello, I run inference model TFlite on this Github: https://github.com/Mjrovai/TFLite_IA_at_the_Edge
It can run on raspbian 32 bit without any problem, but after I put it on the container. I got an error:
Traceback (most recent call last):
File "TFLite_IA_at_the_Edge/mMobile.py", line 42, in
model_path='./models/mobilenet_v1_1.0_224_quant.tflite')
File "/usr/local/lib/python3.7/dist-packages/tflite_runtime/interpreter.py", line 204, in init
model_path, self._custom_op_registerers))
ValueError: Could not open './models/mobilenet_v1_1.0_224_quant.tflite'.
I guess the problem may be TFlite doesn't support this image or something. I use base docker image jsurf/rpi-raspbian
Any idea about this?

Please make sure the above model file is accessible in the container. Looks like there are possibilities that the file location is wrong or the model file is not available from the container.

I can fix it now, it was because of the path on the container. Thank you.


onStartReached not being called

Code:
Lib Version: 0.3.3
React Native: 0.61.5
import { FlatList } from "react-native-bidirectional-infinite-scroll";

<FlatList
        ref={(ref) => setFlatListRef(ref)}
        initialNumToRender={Math.min(formattedList.length, 45)}
        style={styles.flatList}
        data={data}
        keyExtractor={(item, index) => item.id}
        renderItem={renderCard}
        showsVerticalScrollIndicator={false}
        onMomentumScrollBegin={() => {
          onEndReachedCalledDuringMomentum = false;
        }}
        onEndReached={onListEndReached}
        onStartReached={onListTopReached}
        onScrollToIndexFailed={scrollToIndexFailed}
        viewabilityConfig={viewConfigRef.current}
        onViewableItemsChanged={onViewableItemsChangedRef.current}
        showDefaultLoadingIndicators={false}
        removeClippedSubviews
      />

I have a huge list and when scrolling upwards, I render 10 records at a time. I have to implement a logic as to when more than 60 records are added to list, I have to slice the list from bottom, ensuring only 50 records at max should be there.
While implementing this, everything else works fine, but onStartReached stops getting invoked at all after certain calls.
Removing this logic works fine though.
Any ideas / suggestions?
Thanks in advance!

My onStartReached stops getting invoked after 3 times. It was unclear, you said Removing this logic works fine though.. What do you mean?

I know it it an old Issue, but I took a look into the sourcecode for another issue. When data is fetched (aka onEndReached/onStartReached is called), the component remembers if the functions are already called for the current number of items. If on some past point the end or start was reached with the same number of items, it is not called again, even if the items or the number of items changed inbetween.
If you cut the data to 50, the functions will not be called again since they are already called

Is there a way to deactivate length memoization for the data list? would be very useful for infinite list optimization


write a loader seem wrong can you help me

module.exports = function (content, map) {
  return `
  import React from 'react';
  import ReactDOM from 'react-dom';
  import { AppContainer } from 'react-hot-loader';
  import App from '${this.resourcePath.replace(/\\/g, '\\\\')}'

  const render = (App) => {
    ReactDOM.hydrate(ENV_IS_DEV ? <AppContainer><App {...window.$$data} /></AppContainer> : <App {...state} />, document.getElementById('app'));
  };

  if (ENV_IS_DEV && module.hot) {
    module.hot.accept('${this.resourcePath.replace(/\\/g, '\\\\')}', () => { render(Entry) });
  }
  render(App);
  `;
};

i write a loader like this. but it seems to be wrong.

It looks like you just deleted/ignored our lovely crafted issue template. It was there for good reasons. Please help us solving your issue by answering the questions asked in this template. I'm closing this. Please open a new issue with filled issue template. Also make sure your issue is not a question. Questions should be posted on Stack Overflow.


Package compatibility

Just wanted to share my experience with the versions of required packages for ARES. The code was not working with this combination of packages for me:
Python=3.9.16 numpy=1.24.2 scipy=1.10.1 h5py=3.8.0
If you have the same issue try this:
conda install python=3.10.4 numpy=1.21.5 h5py=3.7.0 scipy=1.7.3

I think the error is coming from the numpy side. I attached the error here:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File ".../ares/simulations/Global21cm.py", line 296, in run
    self.history_igm = _sort_history(self.all_data_igm, prefix='igm_',
  File ".../ares/util/ReadData.py", line 225, in _sort_history
    data[key] = np.array(data[key], dtype=float).squeeze()
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 2 dimensions. The detected shape was (2588, 1) + inhomogeneous part.

OK, this is now fixed in the latest version of main, which I've tagged as v0.9. Thanks for your patience on this!


[BUG] Fix tests conftest which disabled all merging and splitting of parquet

added the fix here, also had to modify some of the sql tests because the scan task merging affects it


[WIP] Add 'mad-libs' filtering to Contributions page

Changes to the ContributionFetcher library to add a hardcoded list of contribution types and changes to the Browse.vue SFC to display filters in a madlibs style form.

Still needs:

[x] update the active filters based on selections in the dropdowns
[ ] update page text about filters to include the mad-libs option
[ ] get JS tests passing
[ ] maybe some backend stuff for the different filter options instead of calculating them from the contributions data

https://github.com/rubyforgood/mutual-aid/issues/641

@viamin How do you feel about adding tests to this? I'd love to pair with you to work on them

@h-m-m Yes, I think pairing would be great.

@viamin, i'm going to close this PR for now. Definitely appreciate the work that went into it and we'll keep the branch around in case you, or anyone else, wants to pick it back up. 🙏🏾 .


update soroban-dev to use preview 11 versions

The versions of software now also live in the Makefile under the build-soroban-dev section. Could you update those also?

The versions of software now also live in the Makefile under the build-soroban-dev target. Could you update those also?

thanks, didn't notice that, https://github.com/stellar/quickstart/pull/483/commits/672f07bec8dd28264b08af3d0d934cd4ee5c352d


Update workflow to build container images from branch

Prerequisites:

[ ] Unless it is a documentation hotfix it should be merged against the dev branch
[x] Branch is up-to-date with the branch to be merged with, i.e. dev
[x] Build is successful
[ ] Code is cleaned up and formatted

Summary
We need to build containers from this branch in preparation for v4 migration.

@krivard This is the start of the branch that will contain the PRs for reviewing the Epidata V4 changes. We will need to eventually deploy this to some environments along the way, hence the necessity to build images from it.


Add launch import settings

This adds the ability to launch import settings from the new onboarding.
Depends on: #7037

The line findNavController().popBackStack() in SettingsImportFragment should to be changed to findNavController()?.popBackStack() because FragmentLauncherActivity doesn't initialize a NavController.

I had a look at the underlying implementation, it might throw an IllegalStateException.  Added a wrapper.


Warning : Deprecation $weight: Passing a number without unit % (60) is deprecated

Which @angular/* package(s) are the source of the bug?
compiler-cli
Is this a regression?
Yes
Description
Hello,
I installed Angular 15(fresh install)  and create a new project with the default boiler plate and I have the  warning below when starting the project. Any idea where this is coming from? I've also tried upgrading  one other project, on another computer, from Angular 14 to 15  and I get the same warning.
**ng: Module Warning (from ./node_modules/sass-loader/dist/cjs.js):
Deprecation $weight: Passing a number without unit % (60) is deprecated.
To preserve current behavior: $weight * 1%
More info: https://sass-lang.com/d/function-units
@material/slider/_slider-theme.scss 77:5                                    @use
<EMAIL_ADDRESS>3:1                @use
<EMAIL_ADDRESS>25:1  @forward
@angular/_index.scss 18:1                                                   @use
src/paprika.scss 4:1                                                        root stylesheet**
Please provide a link to a minimal reproduction of the bug
No response
Please provide the exception or error you saw
No response
Please provide the environment you discovered this bug in (run ng version)
Angular CLI: 15.0.0
Node: 18.12.1
Package Manager: npm 8.19.2
OS: darwin arm64

Angular: 15.0.0
... animations, cdk, cli, common, compiler, compiler-cli, core
... forms, material, platform-browser, platform-browser-dynamic
... router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1500.0
@angular-devkit/build-angular   15.0.0
@angular-devkit/core            15.0.0
@angular-devkit/schematics      15.0.0
@schematics/angular             15.0.0
rxjs                            7.5.7
typescript                      4.8.4

Anything else?
No response

Can confirm this. I tried to build the components individually this way, but removing the slider theme as indicated in the error message did not help.
@mixin my-components ($theme) {
   @include mat.core-theme($theme);
   @include mat.card-theme($theme);
   @include mat.progress-bar-theme($theme);
   @include mat.tooltip-theme($theme);
   @include mat.form-field-theme($theme);
   @include mat.input-theme($theme);
   @include mat.select-theme($theme);
   @include mat.autocomplete-theme($theme);
   @include mat.dialog-theme($theme);
   @include mat.chips-theme($theme);
   @include mat.slide-toggle-theme($theme);
   @include mat.radio-theme($theme);
   //@include mat.slider-theme($theme);
   @include mat.menu-theme($theme);
   //@include mat.list-theme($theme);
   @include mat.paginator-theme($theme);
   @include mat.tabs-theme($theme);
   @include mat.checkbox-theme($theme);
   @include mat.button-theme($theme);
   @include mat.icon-button-theme($theme);
   //@include mat.fab-theme($theme);
   //@include mat.snack-bar-theme($theme);
   //@include mat.table-theme($theme);
   @include mat.progress-spinner-theme($theme);
   @include mat.badge-theme($theme);
   //@include mat.bottom-sheet-theme($theme);
   @include mat.button-toggle-theme($theme);
   @include mat.datepicker-theme($theme);
   //@include mat.divider-theme($theme);
   @include mat.expansion-theme($theme);
   //@include mat.grid-list-theme($theme);
   @include mat.icon-theme($theme);
   @include mat.sidenav-theme($theme);
   //@include mat.stepper-theme($theme);
   @include mat.sort-theme($theme);
   @include mat.toolbar-theme($theme);
   //@include mat.tree-theme($theme);
}

Duplicate of https://github.com/angular/components/issues/25980.

I already updated my dependencies and the warning still appearing

"dependencies": {     "@angular/animations": "^15.0.1",     "@angular/common": "^15.0.1",     "@angular/compiler": "^15.0.1",     "@angular/core": "^15.0.1",     "@angular/forms": "^15.0.1",     "@angular/platform-browser": "^15.0.1",     "@angular/platform-browser-dynamic": "^15.0.1",     "@angular/router": "^15.0.1",     "@angular/service-worker": "^15.0.1",     "@angular/cdk": "^15.0.0",     "@angular/material": "^15.0.0",     "@js-temporal/polyfill": "^0.4.3",     "rxjs": "~7.5.0",     "tslib": "^2.3.0",     "zone.js": "~0.12.0"   }
Any ideas?

I have updated angular 15.0.1 and getting same error, also all dependencies are up to date still getting same.

Angular Material 15.0.1 hasn't been released yet. It should be some time on Wednesday.

I don't see 15.0.1 available in npm yet. How did you install it?

It's gone after installing "@angular/material": "^15.0.1",

Well, I must be doing something wrong, then. I just started a fresh, clean project, the same way OP did - fresh Node v18 install, fresh @angular/cli v15.0.2 global install through npm, ng new project and and ng add @angular/material. It installed the latest material (v15.0.1), and yet I can't apply the typography as was expected prior to @angular/material v15.x.x.


AO-17219: update test cert file to use SAN

This PR fixes the following problem under Go 1.15:
authentication handshake failed: x509: certificate relies on legacy Common Name field, use SANs or temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0
This makes a test case hang when the legacy CN is used in the test cert file.

Codecov Report

Merging #155 into master will decrease coverage by 0.95%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #155      +/-   ##
==========================================
- Coverage   82.57%   81.62%   -0.96%
==========================================
  Files          38       38
  Lines        4718     3995     -723
==========================================
- Hits         3896     3261     -635
+ Misses        699      615      -84
+ Partials      123      119       -4

Impacted Files
Coverage Δ

v1/ao/internal/config/wrappers.go
0.00% <0.00%> (-33.34%)
:arrow_down:

v1/ao/internal/host/host.go
65.90% <0.00%> (-4.27%)
:arrow_down:

v1/ao/internal/host/sys_linux.go
43.24% <0.00%> (-2.92%)
:arrow_down:

v1/ao/trace.go
83.58% <0.00%> (-2.67%)
:arrow_down:

v1/ao/internal/reporter/url.go
91.11% <0.00%> (-2.54%)
:arrow_down:

v1/ao/internal/host/observer.go
80.45% <0.00%> (-2.13%)
:arrow_down:

v1/ao/internal/reporter/reporter_grpc.go
68.44% <0.00%> (-2.05%)
:arrow_down:

v1/ao/internal/config/config.go
80.71% <0.00%> (-1.75%)
:arrow_down:

v1/ao/internal/reporter/bytesbucket.go
85.91% <0.00%> (-1.15%)
:arrow_down:

v1/ao/internal/reporter/methods.go
87.14% <0.00%> (-1.01%)
:arrow_down:

... and 28 more

Continue to review full report at Codecov.

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


Add leads@ to onboarding documentation

Per notification from Steering, SRC members should PR themselves into the leads@ list here
We also need to add that as a step to the onboarding and offboarding process docs.

/triage accepted


Dump whole team information command

Dump all information related to files, permissions, etc into file to ensure large operation like team migration.

team folders
shared folders
files/folders
paper (at least ID and sharing information)
member list
group
namespace

Released on https://github.com/watermint/toolbox/pull/152


(BOLT-820) Add suggested modules documentation to PCP config

Suggest that users make the default bundled module content available in the PE environment to be used with PCP. Link to the installing modules section and provide explanation of why it is important.

CLA signed by all contributors.


typo in !Run file

Copy and paste hangover.
The  !Run file refers to !RLook not  !TBPTest
| Just doing all the Toolbox modules as a precaution
RMEnsure Toolbox 0.00 RMLoad System:modules.toolbox.toolbox
RMEnsure Toolbox 1.23 Error You need Toolbox 1.23 or later to run !RLook

Good eye, I've fixed this in experimental in commit 5c72bc1df38f87dad58bd084b508fa39d325836a
This is cosmetic, so it will be merged back into main for the next version.


Stake Pool Content

Stake pool content for english, vietnam japan, korean -> use English language
For indonesia -> use Indonesian language
I have to find out why I can't find philippines language folder.

you can merge this along with #196

@andrecahyadi you can merge this along with #196

@PardusEidolon Ok, thanks.


[FEATURE] Google sign in

Gogle sign in in the register page helps user to registen themselves easily
@Vignesh025   please assign me this issue i want to work on it
also add level 3, gssoc-extd, hacktoberfest labels

Hey @meghanakn473 ,We don't need this feature right now, but thanks for the suggestion!


Add ability to read postcss config from package.json (#342)

I'm going to close this in favor of https://github.com/zeit/next.js/issues/8626
Thanks for your contribution 🙏


GenerateSasUri encodes url / characters partially to %2F

Describe the bug
GenerateSasUri method creates Sas uri where url path is partially encoded. e.g.
https://mydomain.blob.core.windows.net/test-data/MyData%2Ftest_file.txt?sv=2020-04-08&se=2021-03-15T17%3A47%3A20Z&sr=b&sp=r&sig=...
https://mydomain.blob.core.windows.net/test-data/MyData%2Ftest_file.txt
Should it be either of following
https://mydomain.blob.core.windows.net/test-data/MyData/Ftest_file.txt or https://mydomain.blob.core.windows.net%2Ftest-data%2FMyData%2Ftest_file.txt
Is this a bug or expected behaviour on GenerateSasUri method?
To Reproduce
string connectionString = "your_connection_string";
string containerName = "test-data";
string filename = "MyData/test_file.txt";
BlobContainerClient container = new BlobContainerClient(connectionString, containerName);
BlobClient blobClient = container.GetBlobClient(filename);
string storedPolicyName = null;

if (blobClient.CanGenerateSasUri) {
	BlobSasBuilder sasBuilder = new BlobSasBuilder() {
		BlobContainerName = blobClient.GetParentBlobContainerClient().Name,
		BlobName = blobClient.Name,
		Resource = "b"
	};

	if (storedPolicyName == null) {
		sasBuilder.ExpiresOn = DateTimeOffset.UtcNow.AddHours(1);
		sasBuilder.SetPermissions(BlobSasPermissions.Read);
	}
	else {
		sasBuilder.Identifier = storedPolicyName;
	}

	Uri sasUri = blobClient.GenerateSasUri(sasBuilder);
	string url = sasUri.ToString();
	url = null;
	// https://mydomain.blob.core.windows.net/test-data/MyData%2Ftest_file.txt?sv=2020-04-08&se=2021-03-15T17%3A47%3A20Z&sr=b&sp=r&sig=...
}

Environment:

C# dotnet core 3.1
Azure.Storage.Blobs <IP_ADDRESS>
Windows 10 Pro
Visual Studio Code 1.54.2

Hi @spylkkanen.  The base URL is being intentionally encoded, but this is the first we've heard about the SAS part of the query not being encoded.
Is the resulting SAS URL functioning for you?
-Sean

SAS URL technically works correctly. We noticed behavior change when we upgraded Microsoft.Azure.Storage.Blob version 11.2.2 to Azure.Storage.Blobs <IP_ADDRESS>. So technically it's correct and as you mention "The base URL is being intentionally encoded". So I don't think this is an issue.


Jerry configuration from Configuration files

Until now, the configuration is 'hardcoded' in JerryConfigurator.
Better is to read from configuration (since atbash-config) is already a dependency for the logging of configuration.

This will result in a breaking change when you want to use your own version of the RenderKitWrapper
Will be specified in release notes.


docs: Remove old JSONs

Description of the PR
This PR removes any unused json files from the docs branch in order to keep it clean. Let me know what other JSON files are deletable
Changes Proposed in this Pull Request (List new items in CHANGELOG.MD)

Just some spring cleanup

Semver Classification

[x] This PR only includes documentation or non-code changes.
[ ] This PR fixes a bug and does not change the (intended) framework interface.
[ ] This PR adds methods or properties to the framework interface.
[ ] This PR removes or renames methods or properties in the framework interface.

This repository does not accept PRs to the docs branch.


11.1.1 - Updated changelog and readme

Updated changelog and readme ready for release of:

STABLE -> 11.1.0
LABS -> 11.1.1

Note: Still couple of issues to complete before release of 11.1.1: #721 and #742

Note: Dates will need adding prior to merge.


Loading animation

Instead of placing the words "Loading..." there shold be a nice loading animation

The words loading are still visable but a loading animation has been added with 7128193b93f791fcdfae7a6a9c6c128d77003e0d


Move project folders from Assets to Packages

In order to take full advantage of the upm system, our projects assets should be embedded in the Packages folder, not the assets folder.
Requirements

[ ] Move the ProjectRoot/XRTK-Core/Assets/XRTK folder into to ProjectRoot/XRTK-Core/Packages/XRTK/

[ ] Move all sub-projects to the same pattern

[ ] Update the CI git split-tree command to use the updated path.
[ ] Ensure that docfx builds correctly.

Unfortunately it doesn't look like Unity supports exporting traditional .unitypackages from assets located in the Packages location, so we cannot move forward with this yet.

Well, as our preferred path is the UPM route (as it's far easier), we could proceed.  So Packages should be the default option.
If the community votes for a side by side .UnityAsset, it wouldn't be hard to create an asset that targets a different folder.

Yeah I'm thinking #103 should fix this issue for us


C# Tests- add graphql API tests

using *.graphql files and all existing roles (where applicable).
might simply use middleware user to generate appropriate JWTs for different roles
only check if graphql query runs without error

no helpful unit test and not suitable as an integration test without using fixed test data