Revisit unassignment request mechanism introduced in #3382

In #3382 a quick hack was added to for requesting the manager to unassign a tablet that needed to be split.  This code needs to be revisited.  Either need to develop a new approach or improved the approach that was taken in #3382 to make it more robust.  There are multiple TODOs in the code related to this.

The following are TODOs in the code related to this issue.
https://github.com/apache/accumulo/blob/808c0bb5cc28511da6b50676a34f1abf36b7d20c/server/manager/src/main/java/org/apache/accumulo/manager/split/SplitScanner.java#L35
https://github.com/apache/accumulo/blob/808c0bb5cc28511da6b50676a34f1abf36b7d20c/server/base/src/main/java/org/apache/accumulo/server/manager/state/CurrentState.java#L45
https://github.com/apache/accumulo/blob/808c0bb5cc28511da6b50676a34f1abf36b7d20c/server/base/src/main/java/org/apache/accumulo/server/manager/state/MetaDataTableScanner.java#L105
https://github.com/apache/accumulo/blob/808c0bb5cc28511da6b50676a34f1abf36b7d20c/server/manager/src/main/java/org/apache/accumulo/manager/Manager.java#L573

@keith-turner and I discussed a possible solution for this would to create a new method on the Manager Thrift API so that another process could request a Tablet to be unloaded for maintenance (split/merge). The new method would write an entry into the tablet metadata so that when the TabletMetadataIterator read the TabletMetadata for the Tablet it would return a unhosting state to the TabletGroupWatcher.

The new metadata key could contain the fate transaction id.  That allows concurrent FATE ops to remove their unassignment request independently. The hacky in memory map that does this currently tracks each FATE that wants a tablet unassigned independently.

@keith-turner and I discussed a possible solution for this would to create a new method on the Manager Thrift API so that another process could request a Tablet to be unloaded for maintenance (split/merge). The new method would write an entry into the tablet metadata so that when the TabletMetadataIterator read the TabletMetadata for the Tablet it would return a unhosting state to the TabletGroupWatcher.

We also discussed that this change is a prerequisite for #3822 as it removes the reliance on FATE execution and the TGW being in the same process.

@keith-turner  - I think #3835 resolved this. That PR replaced the hack, and the TODOs referenced above are gone.


Add an icon and docs to the charm hub summary

Icon was not part of this PR. Opening a separate issues for that.


Feature request: Custom predictors for multivariate forecasting

ForecasterMultiVariate appears to only allow lag features to be created from the target time series. It would be helpful to be able to create rolling statistics from the target (aka window features) as well (like ForecasterMultiSeriesCustom).

This is a feature I would like to see implemented as well

Hi @KishManani, @gkrampah
In skforecast 0.14.0, ForecasterDirectMultiVariate now allows the creation of window and custom features
Hope it helps!


configurations: allow models without CONFIGURATIONS dict

Tired of having to add empty CONFIGURATIONS attributes to your models?
Look no further, in this PR, I introduce what I think is a neat little feature for Models. Whenever there is no CONFIGURATIONS dict defined, the model will still be available with a name corresponding to its class name, but snaked case.
So,
from modelkit import Model, ModelLibrary

class ModelWithoutConfig(Model):
    def _predict(self, item):
        return item

library = ModelLibrary(models=ModelWithoutConfig)
model = library.get("model_without_config")

This is much better, in particular because unless the type is specified fully, mypy will complain, so the current alternative is much more verbose:
class ModelWithoutConfig(Model):
    CONFIGURATIONS : Dict[str, Any] = {
        "model_without_config": {}
    }

    def _predict(self, item):
        return item

What do you think?

I think it's a god idea. LGTM

Great work!

This change has a side-effect on one of our construct that is using inheritance to define common behavior for groups of assets.
We are defining abstract assets let's call it AbstractAsset that inherits for instance from Asset and overrides the _load method.
Then we define concrete assets that inherits from AbstractAsset and comes with proper CONFIGURATIONS dict.
Prior to this change, the AbstractAsset was ignored because it didn't have any CONFIGURATIONS dict set.
Now, this AbstractAsset is considered a valid Asset instance and it fails at init time (with lazy loading disable) because of missing asset_path.
Any idea how to continue supporting this ? And unblock 0.0.19 integration ?

Thinking twice about it, I can probably get around this by using MixInAsset rather than AbstractAsset.
This would be eventually a better solution than what we had before where the invalid AbstractAsset was only ignored because of missing CONFIGURATIONS dict

Hi!
Like I said, I think it is safe to revert this change if this blocks integration of 0.0.19 in your stack.
Still, I am trying to understand the issue you are having. I wrote the following test, which fails on the current main branch, and I think correctly reproduces what you are referring to:
def test_model_sub_class(working_dir, monkeypatch):
    monkeypatch.setenv("MODELKIT_ASSETS_DIR", working_dir)
    with open(os.path.join(working_dir, "something.txt"), "w") as f:
        f.write("OK")

    class AbstractAsset(Asset):
        def _load(self):
            assert self.asset_path

    class ConcreteAsset(AbstractAsset):
        CONFIGURATIONS = {
            "sub_class": {
                "asset": "something.txt"
            }
        }

        def _predict(self, item):
            return item

    lib = ModelLibrary(models=[ConcreteAsset, AbstractAsset])
    lib.preload()

It seems to me that it has to do with which models modelkit tries to load when not in lazy mode (and when you don't explicitly set required_models). Therefore, I would think that this can easily be fixed by intervening on  the modelkit.core.model_configuration.configure mechanism. We could indicate which Asset sub classes we never want to configure.
For example:

add a class attribute abstract, which is False by default, but when it is set to True modelkit won't configure this class
create additional types AbstractAsset and AbstractModel that are copies of the existing types, but are not configured

WDYT?

I took the liberty to draft something on this branch https://github.com/Cornerstone-OnDemand/modelkit/tree/fix-abstract-model-init


Determine claim award

Description

As a user, I want the system to tell me how much my claim is worth

Scope of Work
Acceptance Criteria
Story Points

20

Priority

High

Risk

High

What is the worth of a claim? Is it only the predicted compensation that will be awarded or are there additional considerations?

This user story refers to cases where there is a monetary amount at stake, i.e. damage awards (compensatory or punitive).

split into #79 #87 #85 #86


[Question]

Question

How do I make these activate a recipe?
Plugin Version
Mineflow_dev-226

wut is that

i wasn't even trying the plugin tho

What do you mean?
If you want to activate a recipe if the player fly´s, then just set the trigger of the recipe to ´When a player toggles their flying state´

What do you mean? If you want to activate a recipe if the player fly´s, then just set the trigger of the recipe to ´When a player toggles their flying state´

No, I mean like when the turn the toggle button on and summit the form they get fly. I just don't know how to make those toggle buttons to activate something.

I think there is no action to let the player fly.

This recipe sets the target gamemode to creative if they toggle the button to true.

Thanks

I think there is no action to let the player fly. Maybe add it by yourself or download a plugin.

This recipe sets the target gamemode to creative if they toggle the button to true.

Where is that condition?

Sorry for the late reaction, but you need to add the condition.
Edit condition > Script > Compare to the character string > Add > first value = {form.data[0]}, second value = true > Submit


macos-latest-large job fails with "spending limit needs to be increased" on free tier

Description
When using the "macos-latest-large" runner image (but not with the "macos-latest" one) I get this error:
The job was not started because recent account payments have failed or your spending limit needs to be increased. Please check the 'Billing & plans' section in your settings.
I am on a free tier and I already switched to yearly billing, in case monthly billing is buggy. No change.
Platforms affected

[ ] Azure DevOps
[ ] GitHub Actions - Standard Runners
[ ] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[ ] macOS 13
[ ] macOS 13 Arm64
[X] macOS 14
[ ] macOS 14 Arm64
[ ] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
https://github.com/stefantalpalaru/transmission-og/actions/runs/9030763192?pr=25
Is it regression?
Yes. Last successful build was more than a year ago: https://github.com/stefantalpalaru/transmission-og/actions/runs/5894799112
Expected behavior
The AMD64 macOS job should run.
Actual behavior
The AMD64 macOS job does not run.
Repro steps
Try to use the "macos-latest-large" builder image on a free tier. See it fail to start.

Hey @stefantalpalaru!
Unfortunately we cannot help you with this problem. Please contact Github support: https://support.github.com/contact/account


Access token not getting after getting code and apply in WebServerAsync

can you please tell me this issue as soon as possible

This flow does in fact work. Not sure why you're having trouble. I'm going to close this pending additional details from you.


REST API interface

The OSDU reservoir DDMS provides REST (r) and ETP (rw) API's. Currently resqpy handles epc file input. Would it be possible to add a REST read function, such that the content (XML and array) becomes available to resqpy?

Thanks for suggesting this Marcus (@marcusapel).  The REST interface seems a good idea. (I'm not at all sure about ETP.)  Anyway, we're discussing in bp how to progress, so hopefully you will hear shortly – probably through direct channels rather than here.

FYI: We are working on a library using ETP to send/receive RESQML data to RDDMS
https://github.com/equinor/pyetp

Hello, very interesting work! I don't if you saw it but we also provide  python energyml packages (RESQML, WITSML, PRODML) built with xsData for serde.


Test cleanup

Reduces repetition in test classes
Allows template tests to be run as a performance test
Removes nose as a dependency since we're using py.test (nose isn't maintained any more)
Fixes Python 3 issue in class based views module
Adds test coverage generation (we should connect up coveralls.io)
Consistent names for test classes and modules

Apologies for the awful diff... I guess I changed a lot and renamed files

@Psycojoker I think you can now enable https://coveralls.io/ for this repo, and then we can have any PR fail if the coverage drops

@Psycojoker please take a look when you get a chance

Changes Unknown when pulling 9f2441e7da7e7ca986efc64d3478aad4debdbd34 on test_cleanup into ** on master**.

Changes Unknown when pulling c0009b9e0ade2b6b59a3014e5d21e7349a0817b7 on test_cleanup into ** on master**.

Update: figured out I can enable coveralls for this repo, and removed Tox. Tox isn't necessary for multi-python-version testing but I had in there previously because I was figuring we'd need it if we ever test against different versions of Django - but it seems that can all be done straight from travis with a build matrix. Also added a coverage badge to the readme.

Things looks fine, sorry for the delay.


Bug fixer

Related Issue
fixes issue : #4245
closes issue : #4245
Fixes:   #4245
Description
changing alignment  of the navbar on about us page
Type of PR

[x] Bug fix
[ ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Checklist:

[x] I have made this change from my own.
[x] I have taken help from some online resources.
[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers and screenshots after making the changes.

add before after screenshots . or demo video

resolve conflicts.

resolve conflicts.

i resolve the conflict and i upload before and after ss
before changes :

after changes :

chk deploy preview . everything is messed up after u resolved conflicts .
work on updated branch .

resolve conflicts.

i resolve the conflict and i upload before and after ss before changes :  after changes :

for navbar , fix the position of dark mode toggle . when we click on it , it shifts .
everything else is fine .

for navbar , fix the position of dark mode toggle . when we click on it , it shifts . everything else is fine .

ok ma'am

solve the issue according to deployment :
here SS:

https://github.com/user-attachments/assets/a38ceb62-cfdb-43e5-bed8-b4ac70a1bcc9
work on updated branch . raise new pr .

Screen.Recording.2024-10-30.at.11.56.50.AM.mov
work on updated branch . raise new pr . the issue isnt resolved .

ok ma'am


Use map for task & task exec policy arns variables

what

Replaced variables task_policy_arns and task_exec_policy_arns with task_policy_arns_map and task_exec_policy_arns_map respectively
Existing variables were moved to variables-deprecated.tf and values will be internally converted to a map if variables are defined

why

The for_each change implemented in https://github.com/cloudposse/terraform-aws-ecs-alb-service-task/commit/14008fc2491eb31b03567ea98e319e90340546d6 has the potential to cause the Terraform '"for_each" value depends on resource attributes that cannot be determined until apply' error.
Modifying this input to use a map can circumvent this error

references

closes #191

/test all

/test all

/test bats

/test readme

/test terratest

Tested against my dummy stack in the issue.
Where it failed with
  source                    = "cloudposse/ecs-alb-service-task/aws"
  version                   = "0.66.4"

It now flawlessly works with
source = "git::ssh://git@github.com/joe-niland/terraform-aws-ecs-alb-service-task.git?ref=8fc8878"

Note that I didn't do extensive tests on other modifications, I just reran the dummy stack + tested on original stack (more complex with more containers) that also succeeded.

Reintroduce of https://github.com/cloudposse/terraform-aws-ecs-alb-service-task/issues/167


Instructions for make all

@samlowry
As hard as I try, I keep making mistakes with the dependencies.
Can you help me with the step-by-step?
@samlowry I am also interested in your updated fork

Sssup, bro! I'm updated all frameworks, but couldn't make it up.
Found the creator of initial ver. - he said, he started to redesign all to use typescript and that I have to revert to commit 8cb684553c08dc13f0c8f105a2fcf918fb7e64ab
At that moment I became so tired of trying to understand project structure, so I switched to the other projects.
If you're skilful in git - pls revert to that commit, than apply my updates - you'll get all new libs in the extension. Pls share if you did this, or commit here (I never managed public git repos - if need some my action pls tell), or simply fork my repo.
Cheers!

@luisantunes8500 @samlowry hey folks, I am sorry for been absent for some time.
I will revert master to the stable commit so that you can build it.

@luisantunes8500 @samlowry to update the files, you need to put them to the corresponding versioned folder in injectees and add the metadata to config/reg-config and config/hash-config

The current master corresponds to v3.2.4 release


Admin Panel

Does it have Admin Panel? How will the administrators will make the woorkaround?

Can I create a web coin exchange? And can you help

Sorry @jungmyunghak
This repo is not being maintained actively.


Unable to Install: Detected Package Downgrade

I'm having trouble installing via nuget package manager. It's aborting with the following error:
Install-Package : NU1605: Detected package downgrade: Serilog from 2.9.0 to 2.8.0. Reference the package directly from the project to select a different version.
Is this not compatible with Serilog 2.9.0?

Sorry that was user error on my part

Thanks for the follow-up :+1:


Language Pack import add ./build folder to internal LP structure.

@joaomoreno FYI.
One .build/ too much :-)


multi-data for pf-utilization-bar-chart

multi-data with multi-color support for single utilization bar chart
Signed-off-by: kamlesh<EMAIL_ADDRESS>

Hi, cloned, built, viewed ng-docs, and reviewed the code.  While the coding looks solid, we are not sure if this new feature breaks the intention of the utilization bar whose main purpose is to be able to quickly view the thresholds of the various bars (Error, Warning, Ok).  The new sub-item/divisions of the Used bar doesn't appear to use the thresholds for coloring.  We are currently discussing whether this new type of utilization bar should live here, or perhaps be a new angular-patternfly directive.

Hi, this enhancement deviates enough from the utilization bar pattern to warrant a new patternfly component.  This work is being tracked via: https://patternfly.atlassian.net/browse/PTNFLY-1229
I new PR will be created once the new component becomes available.


Add CustomRole model for missing resource-set and role attributes

Issue(s)
Okta Java SDK is not deserializing resource-set and role attributes of custom roles in Role model.
Description
First Fix deserialization of polymorphic types when discriminator property is unknown or null should be completed. Custom Role model is added as subtype to Role model.
Category

[ ] Bugfix
[X] Enhancement
[ ] New Feature
[ ] Library Upgrade
[ ] Configuration Change
[ ] Versioning Change
[ ] Unit or Integration Test(s)
[ ] Documentation

Signoff

[ ] I have submitted a CLA for this PR
[X] Each commit message explains what the commit does
[ ] I have updated documentation to explain what my PR does
[ ] My code is covered by tests if required
[X] I did not edit any automatically generated files

This change is

I don't think it's wise to use a different type for custom roles, considering the API describes the roles and custom roles as the same object: https://developer.okta.com/docs/reference/api/roles/#role-properties
Closing in favor of #2

I already merge this one to v15_merged, I will remove last commit and use 2.


specify repository for zookeeper image

With docker implementing rate limits I have selected to use a local repository.  I was able to specify this in a couple places but didn't see a way to specify the repo for zookeeper.  Ended up editing the statefulset after it was deployed to make the change.  Is it possible to do this via the helm chart?
An idea:
I've seen several charts with this up top:
global:
  imageRegistry: ""

and when used, it lets you specify your local repo, which all images get pulled from

you can change the images in each of the dependencies so we don't need global registry for 4 images.


feat: add TagGenerator

@jakoschiko 🤬

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

49 of 49 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 92.995%

Totals

Change from base Build<PHONE_NUMBER>:
0.03%

Covered Lines:
11205

Relevant Lines:
12049

💛  - Coveralls

@duesee How do we handle transitive features? We do re-export imap-types in imap-codec and imap-next. Do we also want to delegate features? Otherwise the benefit of re-exporting imap-types (you don't need to specify its version) is lost.

Yes, I know :-/ It remembered me this was one of the reasons I thought about removing the re-export. I was too lazy to think more closely how to handle this. Do we want to simply forward all features? Only some? How do we handle name collissions?

If we

re-export imap-types
forward all features
and suggest not depending directly on imap-types

then this

Also... did you know we can break the build? By using an ext_ feature only in imap-types and not imap-codec?

should be no problem in practice.

Yes. I think this is as close as we can get.


Allow SharedMemoryDict to be initialized like a regular dictionary

There is an issue suggesting the addition of *args and **kwargs in our object initialization, but I would like to discuss some points and maybe a possible postponement of this implementation to release a major version, since it can change the method signature.
Some ideas and considerations:

Adding args and kwargs along with dictionary initialization will throw an error about creating a dictionary, wouldn't it be better for a specific non-dictionary exception?
Today "name" is a positional or named parameter and it is mandatory. But when initializing shared memory it is not.
Maybe we should remove serializer from __init__ and use it from serializer module, like logging module.
ShareableList uses the size from the iterator param. Why not do the same, but optionally allow to define a size?
We should consider putting name and size as mandatory named parameters. This will imply that both cannot be used as a key. Removing the serializer from __init__ also helps here, considering it will be one less name.

I would like to listen to your opinions @spaceone, @renanivo, @jeanmask, @itheodoro, @thyagomininelli.

First of all: I proposed the change. For me this is an enhancement, which I currently don't necessarily need. So I have no problem with postponing it and waiting for a nice solution.
I also changed my opinion about having a manager. It would probably be nice if this library looks similar to what mulitprocessing looks like - so that one could easily change between the implementations.
One general point which should be considered is:
What to do when initializing a dictionary (with values) when the dictionary already exists?

* Adding args and kwargs along with dictionary initialization will throw an error about creating a dictionary, wouldn't it be better for a specific non-dictionary exception?

I don't understand this point. What exceptions will be thrown in which case?

* Today "name" is a positional or named parameter and it is mandatory. But when initializing shared memory it is not.

When name is left out, a name is automatically generated. Specifying a/Knowing the name is mandatory If you initialize the memory in subprocesses after forking.

* Maybe we should remove serializer from `__init__` and use it from serializer module, like `logging` module.

How would it work then to use different serializers for different instances? This is a absolutely must for me to support nested dictionary structures.

* ShareableList uses the size from the `iterator` param. Why not do the same, but optionally allow to define a size?

This is something different - iiuc ShareableList cannot change it's size afterwards anymore - Therefor it's not really a list but a tuple. The size is also not the size of the shared memory but the count of the items.

* We should consider putting name and size as mandatory named parameters. This will imply that both cannot be used as a key. Removing the serializer from `__init__` also helps here, considering it will be one less name.

Mabye something like the following can be implemented:
class Manager(object):
    def __init__(self, name=None, size, serializer=Pickle) -> None:
         …
   def dict(self, *args, **kwargs) -> SharedDictionary:
        return SharedDictionary(*args, **kwargs)
       # or
       return SharedDictionary.create(self.name, self.size, self.serializer)(*args, **kwargs)

And last: When implementing the nested serializers I had the idea: why not changing this whole project into more than dictionaries - so that e.g. lists are also supported in the same serializing way. If you plan to do a major version update this would be very nice and probably not that hard.


BUG: Transaction Records missing from CAMPD data outputs

As a result of new programmatic actions, two new transaction types were created and used. However, the associated transaction records are not returning in CAMPD's data outputs (APIs and Custom Data Download Tool Queries). Potentially the transaction types need to be added to the database so they are returned in the output, but it is unclear if that is the reason why they aren't returning. This is a production issue and needs to be addressed immediately. @ergjustin @shahbazkhan1999
The following transaction type codes and descriptions are:
•	REMGNP (Remove for Good Neighbor Plan Reissuance)
•	REISGNP (Distribute Revintaged Allowances for Good Neighbor Plan)
We should be seeing in the data the following transaction types for the conversions performed on 9/19:
•	“Remove for Good Neighbor Plan Reissuance” transaction type of 2017-2022 CSOSG2 allowances from a bunch of facility and general accounts to CSAPR Retirement for Reissuance Account (CSAPR0000310)
•	“Remove for Good Neighbor Plan Reissuance” transaction type of 2021-2022 CSOSG3 allowances from KY and LA facility accounts to CSAPR Retirement for Reissuance Account (CSAPR0000310)
•	“Distribute Revintaged Allowances for Good Neighbor Plan” transaction type of 2023 CSOSG3 allowances from CSAPR Revintage Account (CSAPR0000005) to a bunch of facility and general accounts
•	“Distribute Revintaged Allowances for Good Neighbor Plan” transaction type of 2023 CSOSG2E allowances from CSAPR Revintage Account (CSAPR0000005) to KY and LA facility accounts

@ergjustin @shahbazkhan1999  please coordinate with @jwhitehead77 as to why this wouldn't be returning in CAMPD. thx!

@shahbazkhan1999 @ergjustin I just emailed Hiwot, but I wanted to emphasize that all other work should be paused until this is remedied. I will be available from 3 - 4:30pm and am OOO tmrw.

resolved the issue
Private Zenhub Image


change package name

I would like to see this lib on {h,st}ackage.  Alas, money is taken, as is simple-money and safe-money.
Some ideas:

money-wrapped
money-arithmetic
moneta (https://en.wiktionary.org/wiki/money#Etymology)

ping @gwils... chosen a new name yet? :)

Changed to "dollaridoos"


better UX for note editor

vrite

vditor is awesome:

markdown editor
IR editor
WYSIWYG

Jupyter notebook

rems now:

https://blocksuite.affine.pro/working-with-block-tree.html#block-tree-in-editor

https://github.com/topics/notion-alternative

I'm really happy with the current idea, It's more convenient and predictable and modular than others

Google Colab is not bad

https://en.wikipedia.org/wiki/Help:Wikitext

Blocky (like jupyter) is simpler abs much better, do cross referencing if want nesting


unable to start AirSonos

Problem/Motivation
Hi all
I have the same issue described in issue "Unable to start AirSonos server" opened on june, 20th
Hi installed AirSonos from repository running on Hass io on ubuntu
The first time all worked fine. Then I deleted it and reinstalled it.
From that moment the log, every second, shows
INFO: Starting the AirSonos server
[19:33:05.604702] main:1207 Starting airupnp version: v<IP_ADDRESS> (Jun 22 2018 @ 19:33:41)
[19:33:05.606117] Start:955 UPnP init failed: -203
[19:33:05.606289] main:1248 Cannot start
the plugin is shown as active, but it doesn't actually start because of a missing component (upnp), I suppose
Any idea about how to investigate this issue? I'm new in docker environment...
where I can find upnp logs?
many thanks
egiorno

This might be caused by port 1900 being in use already.
Do you have any other add-on (or things on your Host OS) using this port already?
(e.g., the Plex add-on or the Unifi add-on).

You are right! the fault was the unifi controller! now I tried to change the host port from 1900 to 1901 but, since I haven't any ubnt device (not yet) I cannot try if it works fine but I suppose autodiscovery will be broken...
unfortunately now airsonos finds all my upnp devices but sonos! during my test I've deleted from config file all references to my sonos device: maybe I've broken something?
Also trying to add sonos from HA integration a message appear saying that there are no sonos device in my network (obviously sonos is detected by my phone)

@egiorno, I'm using the Unifi add-on myself, and have port 1900 disabled (by making the port 1900 field empty). And do not experience any issues.
Happy this has been resolved.


Add v1.0.3 release and update online docs

This should be done after https://github.com/poanetwork/dpos-token/pull/59 is merged. Please, don't forget to set 1.0.3 version in package.json and package-lock.json as well.

https://github.com/poanetwork/dpos-token/releases/tag/v1.0.3


Added ability to handle CalculateContentMD5Header flag for S3 uploads.

Description
Added ability to handle CalculateContentMD5Header flag for S3 uploads.
Motivation and Context
Testing

Added new integration tests.
Ran integration tests locally.

Screenshots (if appropriate)
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] My code follows the code style of this project
[ ] My change requires a change to the documentation
[ ] I have updated the documentation accordingly
[ ] I have read the README document
[ ] I have added tests to cover my changes
[ ] All new and existing tests passed

License

[x] I confirm that this pull request can be released under the Apache 2 license

Did @ashishdhingra run both .NET Framework and .NET Standard test cases?

Did @ashishdhingra run both .NET Framework and .NET Standard test cases?

Added the integration tests for NetStandard. Please review.


[CI backport] Add jenkins stage for loading vagrant boxes

This change is

test-me-please

test-docs-please

test-missed-k8s

test-missed-k8s

test-me-please

Build failure: https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/12511/flowGraphTable/

test-me-please

Jenkins stage added succeeded, build failures are flakes, merging this to ease problems with other backports.


[Question] How to update for Heroku

Has anyone deployed to Heroku? I've been having problems trying to get the app working on Heroku.
I've gone pretty far down the rabbit hole over the past two days, setting up an Express server and updating my package.json scripts based on environment. After two days of hacking away at it, that feels like overkill.
Hoping I just made a simple mistake. So, I recloned the repo and pushed it out of the gate. The browser is returning the standard Heroku application error. Here's an abbreviated dump from heroku logs --tail:

Starting process with command npm start

<EMAIL_ADDRESS>start /app
npm install && npm run start:dev

<EMAIL_ADDRESS>start:dev /app
webpack-dev-server --config webpack.dev.js --inline

sh: 1: webpack-dev-server: not found
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT
npm ERR<EMAIL_ADDRESS>start:dev: webpack-dev-server --config webpack.dev.js --inline
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start:dev script.

I think I'm just about there, albeit with several changes. First, I installed the following packages:

express
per-env

Then I created server.js in the root:
const express = require('express');
const app = express();
const distDir = 'public';
const path = require('path');
const port = process.env.PORT || 5000;

app.use(express.static(distDir));

app.get('*', (req, res) => {
	res.sendFile(path.resolve(__dirname, 'public', 'index.html'));
})

app.listen(port, () => console.log(`App listening on port ${port}!`))

Next, I modified the scripts section of package.json, using per-env variables:
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "per-env",
    "build:staging": "node clean && webpack -p --config webpack.staging.js",
    "build:production": "node clean && webpack -p --config webpack.prod.js",
    "build:lib": "npm run tsc && webpack -p --config webpack.lib.js",
    "@comment start": [
      "'npm start' is _the_ command to start the server across all environments."
    ],
    "start": "per-env",
    "start:development": "npm install && webpack-dev-server --config webpack.dev.js --inline",
    "start:staging": "node server.js",
    "start:production": "npm run build",
    "deploy": "npm run build:lib && npm publish",
    "lint": "npm run tsc",
    "clean": "node clean",
    "tsc": "tsc"
  },

Finally, I added removed public/index.html from .gitignore for testing and added a second, generic index.html in the root as a catch-all.
After pushing to Heroku, I get a blank canvas with my application's name. The console isn't returning anything, but inspect shows that /public/index.html is being loaded.
It can't find the js files referenced in the body:
''
This test proved the app is now (almost loaded). I'm guessing public/index.html and those JS files are dynamically generated. So, I added public/index.html back to .gitignore, pushed again, and refreshed my cache.
App still loads the blank screen and inspect indicates it's looking for those same file names.
Using bash, I see that index.html is back on the server. However, I can't find a js directory anywhere.
Am I on the right track? What am I missing?

There is a npm run build script for deployment.
The output of this script is distributed in the docs path, not in the public directory.
Your express code is set to public as a static directory. Change this to docs.
In addition, webpack-dev-server is the web server for your development environment. In order to deploy with heroku it is correct to proceed with a production build.

Updating my directory from public to docs solved it. Thank you!


I downloaded vgg16.npy, but still "not found"

ERROR File 'DATA/vgg16.npy' not found. Download it from ftp://mi.eng.cam.ac.uk/pub/mttt2/models/vgg16.npy

I have the same problem. @anonym24  Have you solved this problem? Can you teach me?

where that 'DATA ' folder must be created ??


Update README.md

Sidekiq::Scheduler.reload_schedule! is required here.

Coverage remained the same at 95.658% when pulling 26ad2e50f680d1058cfe277fe054a543d15a8fef on 1v:patch-1 into ee317fd427bf600ba2562f9ae3cc64b9880d0e68 on moove-it:master.

Thanks!


[locale] fr: Improve weekdays

Fix the week days order.

While the dow was correctly set to Monday, the actual weekdays were still starting on Sunday.

Fix the case of weekdaysMin

In French, the days of the week are all in lowercase. The min version of the weekdays had were starting with an uppercase.

@jfroffice what do you think
@Elhebert you need to change src/locale/fr.js and src/test/locale/fr.js.

@Elhebert so you're saying weekdays in french were all wrong (because of the order)?

@ichernev Yes, in France and Belgium (and probably other french speaking countries) a week start on Monday.
With the weedays starting on Sunday and the dow (first weekday) being set on 1 (Monday). The labels were wrongly displayed.
You can check it here https://codepen.io/Elhebert/pen/brwjaY.
If you look at today (3rd August), it's displayed as a Wednesday (mercredi in French).
But if you uncomment the updateLocale it'll be correctly displayed as a Thursday (jeudi in French).
I'll update the src/test/locale/fr.js to match it.

@Elhebert thank you for your submit.
But I think the API already take care about the first day of the week using the dow.
You just need to take care of this properly and you will get the right order the first day of the week.
The first day of the week is a common property, you cannot change this. This will cause compatibility problems with other implementations.
For the case of weekdaysMin, you can use the CSS property to transform text as you want.
Do you have any references to transform this in lowercase?

@jfroffice Indeed, mb, I didn't saw that we could give a parameter to weekdays() to get the labels in the correct order.
As for the lowercases, I agree that css could be used, but it's not a good practice. That'll mean I'll have to add/remove a css class depending on the locale, were it could simply be handled in the locales files (that's what they are supposed to be used for).
Also, the weekdays and the weekdaysShort are already in lowercase, so, having weekdaysMin capitalize is confusing and not consistent.

@Elhebert can you create a new MR with weekdaysShort in lowercase?

@jfroffice Sure I'll do that tonight.

@Elhebert I think @jfroffice is correct. Can you provide an example of what you're trying to achieve, because the locale change you're suggesting is clearly wrong.

Wow, kinda forgot about this.
@ichernev As I said in one of my last comment, I did find that the API allow to retrieve the weekdays in correct order.
However I haven't done the PR to put the weekdays in lowercase, gonna do that before I forget, like last time.


documentation link is broken

It does appear that this is due to some issue with building the docs. I will investigate at some point!

@deyulu fixed! I also made the docs significantly prettier. Let me know if you have any questions!


Mask mode intersects oddly with invisible walls and open doors

It seems as though, with Better Roofs enabled and Mask Mode activated, invisible walls are treated like normal walls when it comes to viewing beneath the mask.

With invisible wall

Without invisible wall

How my walls are set up, as well
Would be useful if it could distinguish so I could put windows my players can't just wander their way through.
Edit: It also seems to apply to open doors, as well.


how can I create a model without tf.keras in tf2.0

if I use tf2.0 and not use tf.keras, which advanced api(like tf.layers.* or tf.contrib.* in  tf1.x ) I can use for creating model

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.


v2.0.0

Update default API version to 2018-02-08
Update documentation to reflect changes to config location
Update examples to use estimated_days instead of days

Also, do we need to do this one? Update docs and add "Migrating to v2" section

If the changes are small enough maybe not, up to you.

Also, do we need to do this one? Update docs and add "Migrating to v2" section

I think malcolm already completed this in rc1


Extended documentation

At Codacy we are using this amazing tool to provide Kotlin static analysis.
We currently scrap the rules for the documentation but some users are trying to improve the docs with more details.
How would something like https://github.com/codacy/codacy-detekt/pull/9/files be possible to add here inside detekt for everybody that uses the tool benefit?
Would https://github.com/arturbosch/detekt/blob/dfb6fb615a0a10cc7052dcac285773702115e071/detekt-rules/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/style/ExpressionBodySyntax.kt#L37 be a good enough place?

Hey, thanks for the motivating words!
There is no way (yet) to change the issue message outside of the source code.
As you can see beside the reported message the rule itself has KDoc with extended documentation similar what your users want to achieve.
We generate our rule documentation for our website based on this KDoc.
Our detekt-generator module produces this markdown documentation.
You could try to parse them or just link to the detekt website when reporting detekt issues ?

@arturbosch is there any easy way we could get the extended docs while we are generating the docs here https://github.com/codacy/codacy-detekt/blob/master/src/main/scala/codacy/detekt/DocGenerator.scala#L70 ?

Take a look at the runner class of the detekt-generator module.
basically it is all the code you need to parse detekt's rules and get a List<RuleSetPage> with all the documentation and stuff.

Thanks I was a bit confused by the names and did not notice there we two Rule classes.
Just did a quick hack here: https://github.com/codacy/codacy-detekt/pull/10

Cool that it worked out!


As a user, I want to be able to book multiple time slots for a task so that I dont have to wait till a time slot is confirmed to be able to add the task

Done


Update enrollment detail mart

What are the relevant tickets?

Close https://github.com/mitodl/hq/issues/4532
Description (What does it do?)

The last step in https://github.com/mitodl/hq/issues/4532 is to clean up marts__combined_course_enrollment_detail and its tests since order-related fields are now moved to marts__combined__orders.
How can this be tested?

run dbt build --select marts__combined_course_enrollment_detail and tests should pass

Builds ran clean, code and definitions look good.


All ingest pipelines including WFS-T should insure the creation of meta-data associated adapter to index.

The meta-data is used for query processing to decide which indices can be used with which adapters.
To insure ingest and the Geotools are in line with each other, the index selection component of the geotools plugin should be used by import formats that ingest into geotools feature adapters.

It doesn't look like Kafka Ingest has this Adapter Mapping.

I noticed an issue in LocalIngestRunData.  During issue #658, a thread safety issue was introduced.  The temporary 'adapter' cache should not be written to after it is initialized.  There is a comment, right above its initialization that states:

  // NOTE: This should be thread-safe because the adapterCache is never
  // added to after this point. It's a static list.

However, an addAdapter method was created and is being used and called from multiple threads without sychronization.


Add Service Fabric 6.3 REST API specs remove unsupported versions

Added Service Fabric 6.3 REST API specs and removed specs for unsupported versions
This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[X] The title of the PR is clear and informative.
[X] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[X] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[X] If applicable, the PR references the bug/issue that it fixes.
[X] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[X] I have read the contribution guidelines.
[S] My spec meets the review criteria:

[S] The spec conforms to the Swagger 2.0 specification.
[S] The spec follows the guidelines described in the Swagger checklist document.
[S] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

vipulm-azure-rest-api-specs\specification\servicefabric\data-plane>autorest --validation --csharp --model-validator=true --semantic-validator=true
AutoRest code generation utility [version: 2.0.4280; node: v8.9.1]
(C) 2018 Microsoft Corporation.
https://aka.ms/autorest
   Loading AutoRest core      'C:\Users\vipulm\.autorest\@microsoft.azure_autorest-core<EMAIL_ADDRESS>(2.0.4280)
   Loading AutoRest extension<EMAIL_ADDRESS>(~2.2.51->2.2.67)
   Loading AutoRest extension 'oav' (~0.4.20->0.4.61)
   Loading AutoRest extension<EMAIL_ADDRESS>(2.3.50->2.3.50)

Automation for azure-sdk-for-python

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-node

Automation for azure-sdk-for-java

Automation for azure-sdk-for-go

@sarangan12 - Could you please review when you get chance? Please do let me know if you have any questions or comments.


[website][docs] Update the product identifier menu and X page

[x] I have followed (at least) the PR section of the contributing guide.

This PR adds all the currently available X components in the Docs menu, displayed on the marketing pages' navbar and the product identifier within the documentation switcher. I also took the opportunity to do some general tweaking here and there around the X page, mostly to display that all components are now stable. Other changes are fine-tuning stuff.
For the time being, these changes work well! Just acknowledging that, in the future, though, as we continue to add more components to the X suite, we may want to revisit a bunch of these items altogether (i.e., the docs switcher, the page content itself, that focuses a bit too much still on the Data Grid, etc.).
👉 https://deploy-preview-39832--material-ui.netlify.app/x

@samuelsycamore heya! 👋 I've pushed in some copywriting changes in this PR as I revisited this page a bit — it'd be awesome if you could review it! The general thought process was to make the copy more inclusive to other advanced components, and slightly less Data Grid-centric, although it's still the main example used throughout.


Link to weights is broken

Hello, unfortunately link to model weights doesn't work. If you follow it, you will get the message 404 FILE NOT FOUND

Anyone can update the weights link?

I'd also like to try it, but links to trained model weights and S3D pre-trained weights are still broken so no way to train or test .

I've found this link in the script fetch_data.sh http://cvsp.cs.ntua.gr/research/stavis/data/ . It has some trained models, not on the DHF1K that I was looking for. It might be of help for you maybe

Any updates?

Any updates?

Author's checkpoints are available here - https://mega.nz/file/B1pFWKxT#7U5Jj1qtaRjFR4Ce-vm63zsnwgNaho5mRN8bL9xWaiU

Any updates?

Author's checkpoints are available here - https://mega.nz/file/B1pFWKxT#7U5Jj1qtaRjFR4Ce-vm63zsnwgNaho5mRN8bL9xWaiU

How did you get this? source?

How did you get this? source?

This model was tested in our lab benchmark https://videoprocessing.ai/benchmarks/video-saliency-prediction.html, so the weights were downloaded when they were available.

How did you get this? source?

This model was tested in our lab benchmark https://videoprocessing.ai/benchmarks/video-saliency-prediction.html, so the weights were downloaded when they were available.

This is awesome, thank you for that info. Do you also know for how many epochs these models have been trained for?


Fix ZFS migration test due to forkfile runnning for target instance

Since https://github.com/lxc/lxd/pull/10469 was merged the ZFS migration tests have been failing due to the increased run duration of forkfile.
lxc copy l1:c1 l2:c1 --refresh --verbose
INFO   [2022-05-27T23:15:40Z] Waiting for migration channel connections
INFO   [2022-05-27T23:15:40Z] Migration channels connected
INFO   [2022-05-27T23:15:40Z] Creating container                            ephemeral=false instance=c1/snap0 instanceType=container project=default
INFO   [2022-05-27T23:15:40Z] Created container                             ephemeral=false instance=c1/snap0 instanceType=container project=default
Error: Failed instance creation: Error transferring instance data: Got error reading migration source: websocket: close 1000 (normal)
ERROR  [2022-05-27T23:15:51Z] Failed closing listener connection            err="use of closed network connection" listener=5b6b0b03-3024-4694-9880-e0977c6168ef
ERROR  [2022-05-27T23:15:51Z] Failed closing listener connection            err="use of closed network connection" listener=51a64bb3-7235-4ef3-9be9-31ae7144d44c

https://jenkins.linuxcontainers.org/job/lxd-github-pull-test/7098/arch=arm64,backend=zfs,compiler=golang-1.18,section=standalone/console#console-section-0
This has been identified as caused by the ZFS optimized refresh mode being prevented from deleting the target volume because it is mounted (and in use by forkfile).

[x] Properly propagate the storage error on the target as currently it is not displayed to user (https://github.com/lxc/lxd/pull/10480).
[ ] Ensure that exclusive access to the instance is gained before trying to receive a volume.

Reproducer:
lxc launch images:alpine/3.15 c1 -s zfs
lxc file pull c1/etc/hosts /home/user/c1hosts
lxc copy c1 c2 --refresh
lxc file pull c2/etc/hosts /home/user/c2hosts
lxc copy c1 c2 --refresh
Error: Refresh instance: Failed to run: zfs destroy -r zfs/containers/c2: cannot unmount '/var/lib/lxd/storage-pools/zfs/containers/c2': pool or dataset is busy


el7.2/one4.14.2: fix gem rpm package creation (mini_portile2)

Probably it's enough to install only rubygem mini_portile2 and remove mini_portile, but I did not test.
Also the build failed when not specifying the version.

Great! thanks a lot, and sorry for the late reply. I was quite busy the last weeks. I have tested this in our VMs and works fine.

I still needed to fix something after putting the packages in a local rpm repo, because I got conflicts and dependency problems.

--- install_gems.orig   2015-11-25 20:38:25.000000000 +0100
+++ install_gems        2016-01-14 21:27:10.177177104 +0100
@@ -12,10 +12,12 @@ end

 if !defined?(RUBY_VERSION) || RUBY_VERSION < '1.9.0'
     $nokogiri='nokogiri --version "< 1.6.0"'
+    $mini_portile='mini_portile'
     LDAP='net-ldap --version "< 0.9"'
     ZENDESK_API='zendesk_api --version "< 1.5"'
 else
     $nokogiri='nokogiri'
+    $mini_portile='mini_portile2 --version "= 2.0.0.rc2"'
     DEFAULT = DEFAULT_PRE + %w{hybrid}
     LDAP='net-ldap'
     ZENDESK_API='zendesk_api'
@@ -231,13 +233,13 @@ def help
 end

 def which_gems(packages)
-    ([$nokogiri]+packages.map do |package|
+    ([$mini_portile]+[$nokogiri]+packages.map do |package|
         GROUPS[package.to_sym]
     end).flatten.uniq
 end

 def get_gems(packages)
-    ([$nokogiri]+packages.map do |package|
+    ([$mini_portile]+[$nokogiri]+packages.map do |package|
        GROUPS[package.to_sym]
     end).flatten.uniq-installed_gems
 end

It seems there is something wrong with the deps of nokogiri regarding mini_portile2.
the script builds me
rubygem-mini_portile2-2.0.0-1.noarch.rpm
but
nokogiri rpm wants
rubygem-mini_portile2-<IP_ADDRESS>-1.noarch.rpm (which is actually 2.0.0.rc2).
After some weird trying and copying the rubygem-mini_portile2-<IP_ADDRESS>-1.noarch.rpm to the local rpm repo instead of the rubygem-mini_portile2-2.0.0-1.noarch.rpm, all rubygem rpm's install correctly.

Mmm... strange, I have to try this in my testbed.  In this case nokogiri gem package is already installed by OpenNebula so you can remove it from the rpm list. just edit the exclude_gems

exclude_gems = ['nokogiri']
and remove the nokogiri rpm in your repo, that will fix this issue

i have the packages already :), probably for 4.16 or 5.0

ah yes: CentOS 7.2


Distributed setup

Is there any way to make "slaves" fetch new targets from the master? Like how Smokeping works with slaves so if we have 4 slaves, we don't have to update their targets manually.

I really like that idea and didn't know Smokeping supported it. Happy to come up with something, could you describe a bit more how you would expect it to work?

The way Smokeping works is:
You can start it either has master or slave
You set a shared password for master and slave
You specify the master URL to the slaves and a name.
Slaves on startup will fetch master configs and targets and will start probing targets
Every x minute, slaves will POST data to master. If master is down. It will keep the data until it's back up.
Final result looks like


In-App Messaging serious crash - [NSBundle initWithURL:]: nil URL argument

Describe your environment

Xcode version: 10.2
Firebase SDK version: v6.5.0
Firebase Component: In-App Messaging
Component version:  v0.15.2

Describe the problem
Steps to reproduce:
I created and deployed my first In-App Message dialog. When I tested on my device I did not run into any issues, but after I started the campaign, I started seeing a lot of crashes (approximately 25% of DAU).
Nothing in the stack trace below is from my code, it's all from the Firebase SDK.
Relevant Code:
No client side code
Stack Trace:
# Crashlytics - plaintext stacktrace downloaded by Sam Bender at Mon, 12 Aug 2019 19:37:35 GMT
# URL: https://fabric.io/sam-bender/ios/apps/com.sambender.traincentric/issues/22358fc98e00f1896dc9af04b5f24613?time=last-twenty-four-hours/sessions/6ce816f32d0b4e06bf3f9ab86b95f458_DNE_0_v2
# Organization: Sam Bender
# Platform: ios
# Application: Train Centric
# Version: 3.5.5 (187)
# Bundle Identifier: com.sambender.TrainCentric
# Issue ID: 22358fc98e00f1896dc9af04b5f24613
# Session ID: 6ce816f32d0b4e06bf3f9ab86b95f458_DNE_0_v2
# Date: 2019-08-12T19:02:00Z
# OS Version: 12.3.1 (16F203)
# Device: iPhone X
# RAM Free: 13.1%
# Disk Free: 13.4%

#9. Crashed: com.twitter.crashlytics.ios.exception
0  TrainCentric                   0x1023d1ff0 CLSProcessRecordAllThreads + 376 (CLSProcess.c:376)
1  TrainCentric                   0x1023d23d8 CLSProcessRecordAllThreads + 407 (CLSProcess.c:407)
2  TrainCentric                   0x1023c1d4c CLSHandler + 26 (CLSHandler.m:26)
3  TrainCentric                   0x1023d0604 __CLSExceptionRecord_block_invoke + 199 (CLSException.mm:199)
4  libdispatch.dylib              0x2211357d4 _dispatch_client_callout + 16
5  libdispatch.dylib              0x2211165fc _dispatch_lane_barrier_sync_invoke_and_complete + 56
6  TrainCentric                   0x1023d00a0 CLSExceptionRecord + 206 (CLSException.mm:206)
7  TrainCentric                   0x1023cfed4 CLSExceptionRecordNSException + 102 (CLSException.mm:102)
8  TrainCentric                   0x1023cfaf0 CLSTerminateHandler() + 259 (CLSException.mm:259)
9  libc++abi.dylib                0x2208c4838 std::__terminate(void (*)()) + 16
10 libc++abi.dylib                0x2208c48c4 std::terminate() + 84
11 libobjc.A.dylib                0x2208cfd5c _destroyAltHandlerList + 10
12 libdispatch.dylib              0x2211357e8 _dispatch_client_callout + 36
13 libdispatch.dylib              0x221106040 _dispatch_once_callout + 28
14 TrainCentric                   0x1024340e4 +[FIRIAMDefaultDisplayImpl getViewResourceBundle] + 85 (once.h:85)
15 TrainCentric                   0x10243421c +[FIRIAMDefaultDisplayImpl displayCardViewWithMessageDefinition:displayDelegate:] + 75 (FIRIAMDefaultDisplayImpl.m:75)
16 TrainCentric                   0x102435100 -[FIRIAMDefaultDisplayImpl displayMessage:displayDelegate:] + 258 (FIRIAMDefaultDisplayImpl.m:258)
17 TrainCentric                   0x10241fe84 __55-[FIRIAMDisplayExecutor displayForMessage:triggerType:]_block_invoke + 593 (FIRIAMDisplayExecutor.m:593)
18 TrainCentric                   0x102425b84 __63-[FIRIAMMessageContentDataWithImageURL loadImageDataWithBlock:]_block_invoke.23 + 145 (FIRIAMMessageContentDataWithImageURL.m:145)
19 TrainCentric                   0x102425ee0 __68-[FIRIAMMessageContentDataWithImageURL fetchImageFromURL:withBlock:]_block_invoke + 176 (FIRIAMMessageContentDataWithImageURL.m:176)
20 CFNetwork                      0x221cc9688 __75-[__NSURLSessionLocal taskForClass:request:uploadFile:bodyData:completion:]_block_invoke + 32
21 CFNetwork                      0x221cdd220 __49-[__NSCFLocalSessionTask _task_onqueue_didFinish]_block_invoke + 176
22 Foundation                     0x222159ef8 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 16
23 Foundation                     0x2220663e0 -[NSBlockOperation main] + 72
24 Foundation                     0x2220658c8 -[__NSOperationInternal _start:] + 740
25 Foundation                     0x22215bc7c __NSOQSchedule_f + 272
26 libdispatch.dylib              0x221134a38 _dispatch_call_block_and_release + 24
27 libdispatch.dylib              0x2211357d4 _dispatch_client_callout + 16
28 libdispatch.dylib              0x22110cc34 _dispatch_continuation_pop$VARIANT$armv81 + 404
29 libdispatch.dylib              0x22110c314 _dispatch_async_redirect_invoke + 592
30 libdispatch.dylib              0x2211189d4 _dispatch_root_queue_drain + 340
31 libdispatch.dylib              0x221119248 _dispatch_worker_thread2 + 116
32 libsystem_pthread.dylib        0x2213151b4 _pthread_wqthread + 464
33 libsystem_pthread.dylib        0x221317cd4 start_wqthread + 4

--

Fatal Exception: NSInvalidArgumentException
0  CoreFoundation                 0x2216f527c __exceptionPreprocess
1  libobjc.A.dylib                0x2208cf9f8 objc_exception_throw
2  CoreFoundation                 0x2215ff4b0 -[NSCache init]
3  Foundation                     0x222090bd4 -[NSBundle initWithURL:]
4  Foundation                     0x222090b58 +[NSBundle bundleWithURL:]
5  TrainCentric                   0x10243415c __49+[FIRIAMDefaultDisplayImpl getViewResourceBundle]_block_invoke + 61 (FIRIAMDefaultDisplayImpl.m:61)
6  libdispatch.dylib              0x2211357d4 _dispatch_client_callout
7  libdispatch.dylib              0x221106040 _dispatch_once_callout
8  TrainCentric                   0x1024340e4 +[FIRIAMDefaultDisplayImpl getViewResourceBundle] + 85 (once.h:85)
9  TrainCentric                   0x10243421c +[FIRIAMDefaultDisplayImpl displayCardViewWithMessageDefinition:displayDelegate:] + 75 (FIRIAMDefaultDisplayImpl.m:75)
10 TrainCentric                   0x102435100 -[FIRIAMDefaultDisplayImpl displayMessage:displayDelegate:] + 258 (FIRIAMDefaultDisplayImpl.m:258)
11 TrainCentric                   0x10241fe84 __55-[FIRIAMDisplayExecutor displayForMessage:triggerType:]_block_invoke + 593 (FIRIAMDisplayExecutor.m:593)
12 TrainCentric                   0x102425b84 __63-[FIRIAMMessageContentDataWithImageURL loadImageDataWithBlock:]_block_invoke.23 + 145 (FIRIAMMessageContentDataWithImageURL.m:145)
13 TrainCentric                   0x102425ee0 __68-[FIRIAMMessageContentDataWithImageURL fetchImageFromURL:withBlock:]_block_invoke + 176 (FIRIAMMessageContentDataWithImageURL.m:176)
14 CFNetwork                      0x221cc9688 __75-[__NSURLSessionLocal taskForClass:request:uploadFile:bodyData:completion:]_block_invoke
15 CFNetwork                      0x221cdd220 __49-[__NSCFLocalSessionTask _task_onqueue_didFinish]_block_invoke
16 Foundation                     0x222159ef8 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__
17 Foundation                     0x2220663e0 -[NSBlockOperation main]
18 Foundation                     0x2220658c8 -[__NSOperationInternal _start:]
19 Foundation                     0x22215bc7c __NSOQSchedule_f
20 libdispatch.dylib              0x221134a38 _dispatch_call_block_and_release
21 libdispatch.dylib              0x2211357d4 _dispatch_client_callout
22 libdispatch.dylib              0x22110cc34 _dispatch_continuation_pop$VARIANT$armv81
23 libdispatch.dylib              0x22110c314 _dispatch_async_redirect_invoke
24 libdispatch.dylib              0x2211189d4 _dispatch_root_queue_drain
25 libdispatch.dylib              0x221119248 _dispatch_worker_thread2
26 libsystem_pthread.dylib        0x2213151b4 _pthread_wqthread
27 libsystem_pthread.dylib        0x221317cd4 start_wqthread

#0. com.apple.main-thread
0  CoreFoundation                 0x2215e0fc0 -[__NSDictionaryM objectForKey:] + 264
1  SharkORM                       0x102aff220 __35-[SharkORM fetchEntitySetForQuery:]_block_invoke + 2093 (SharkORM.m:2093)
2  SharkORM                       0x102afe7e4 -[SharkORM performQuery:rowBlock:] + 1988 (SharkORM.m:1988)
3  SharkORM                       0x102afef9c -[SharkORM fetchEntitySetForQuery:] + 2075 (SharkORM.m:2075)
4  SharkORM                       0x102b9da98 -[SRKQuery fetch] + 448 (SRKQuery.m:448)
5  TrainCentric                   0x102356300 specialized BrowseWorkoutsViewController.workouts() + 74 (BrowseWorkoutsViewController.swift:74)
6  TrainCentric                   0x10235240c closure #1 in BrowseWorkoutsViewController.viewDidLoad() + 68 (BrowseWorkoutsViewController.swift:68)
7  TrainCentric                   0x102375abc thunk for @escaping @callee_guaranteed (@in_guaranteed Notification) -> () (<compiler-generated>)
8  Foundation                     0x222077540 -[__NSObserver _doit:] + 316
9  CoreFoundation                 0x221666318 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20
10 CoreFoundation                 0x2216662e4 ___CFXRegistrationPost_block_invoke + 64
11 CoreFoundation                 0x2216657d8 _CFXRegistrationPost + 392
12 CoreFoundation                 0x221665484 ___CFXNotificationPost_block_invoke + 96
13 CoreFoundation                 0x2215ded64 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1496
14 CoreFoundation                 0x221664f34 _CFXNotificationPost + 696
15 Foundation                     0x22204d7f4 -[NSNotificationCenter postNotificationName:object:userInfo:] + 68
16 TrainCentric                   0x102341c24 closure #1 in closure #1 in closure #1 in static SyncProvider.sync(completion:progressHandler:) + 65 (SyncProvider.swift:65)
17 TrainCentric                   0x1022dc060 thunk for @escaping @callee_guaranteed () -> () (<compiler-generated>)
18 libdispatch.dylib              0x221134a38 _dispatch_call_block_and_release + 24
19 libdispatch.dylib              0x2211357d4 _dispatch_client_callout + 16
20 libdispatch.dylib              0x2211159e4 _dispatch_main_queue_callback_4CF$VARIANT$armv81 + 1008
21 CoreFoundation                 0x221686c1c __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
22 CoreFoundation                 0x221681b54 __CFRunLoopRun + 1924
23 CoreFoundation                 0x2216810b0 CFRunLoopRunSpecific + 436
24 GraphicsServices               0x22388179c GSEventRunModal + 104
25 UIKitCore                      0x24deed978 UIApplicationMain + 212
26 TrainCentric                   0x10225d328 main + 20 (StoreCollectionViewController.swift:20)
27 libdyld.dylib                  0x2211468e0 start + 4

#1. com.apple.root.background-qos
0  libobjc.A.dylib                0x2208e7d14 objc_release + 132
1  libobjc.A.dylib                0x2208e9b9c (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 672
2  libdispatch.dylib              0x2211357b4 _dispatch_last_resort_autorelease_pool_pop + 40
3  libdispatch.dylib              0x221118cb4 _dispatch_root_queue_drain + 1076
4  libdispatch.dylib              0x221119248 _dispatch_worker_thread2 + 116
5  libsystem_pthread.dylib        0x2213151b4 _pthread_wqthread + 464
6  libsystem_pthread.dylib        0x221317cd4 start_wqthread + 4

#2. Thread
0  libsystem_kernel.dylib         0x221292b74 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x221315138 _pthread_wqthread + 340
2  libsystem_pthread.dylib        0x221317cd4 start_wqthread + 4

#3. Thread
0  libsystem_kernel.dylib         0x221292b74 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x2213151f8 _pthread_wqthread + 532
2  libsystem_pthread.dylib        0x221317cd4 start_wqthread + 4

#4. com.apple.uikit.eventfetch-thread
0  libsystem_kernel.dylib         0x2212870f4 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x2212865a0 mach_msg + 72
2  CoreFoundation                 0x221686a10 __CFRunLoopServiceMachPort + 236
3  CoreFoundation                 0x221681920 __CFRunLoopRun + 1360
4  CoreFoundation                 0x2216810b0 CFRunLoopRunSpecific + 436
5  Foundation                     0x22204efac -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 300
6  Foundation                     0x22204ee3c -[NSRunLoop(NSRunLoop) runUntilDate:] + 96
7  UIKitCore                      0x24dfd3494 -[UIEventFetcher threadMain] + 136
8  Foundation                     0x22217b6a4 __NSThread__start__ + 984
9  libsystem_pthread.dylib        0x2213142c0 _pthread_body + 128
10 libsystem_pthread.dylib        0x221314220 _pthread_start + 44
11 libsystem_pthread.dylib        0x221317cdc thread_start + 4

#5. Thread
0  libsystem_kernel.dylib         0x221292b74 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x221315138 _pthread_wqthread + 340
2  libsystem_pthread.dylib        0x221317cd4 start_wqthread + 4

#6. Thread
0  libsystem_kernel.dylib         0x221292b74 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x2213151f8 _pthread_wqthread + 532
2  libsystem_pthread.dylib        0x221317cd4 start_wqthread + 4

#7. com.twitter.crashlytics.ios.MachExceptionServer
0  libsystem_kernel.dylib         0x2212870f4 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x2212865a0 mach_msg + 72
2  TrainCentric                   0x1023bcd20 CLSMachExceptionServer + 180 (CLSMachException.c:180)
3  libsystem_pthread.dylib        0x2213142c0 _pthread_body + 128
4  libsystem_pthread.dylib        0x221314220 _pthread_start + 44
5  libsystem_pthread.dylib        0x221317cdc thread_start + 4

#8. Thread
0  libsystem_kernel.dylib         0x221292b74 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x221315138 _pthread_wqthread + 340
2  libsystem_pthread.dylib        0x221317cd4 start_wqthread + 4

#9. Crashed: com.twitter.crashlytics.ios.exception
0  TrainCentric                   0x1023d1ff0 CLSProcessRecordAllThreads + 376 (CLSProcess.c:376)
1  TrainCentric                   0x1023d23d8 CLSProcessRecordAllThreads + 407 (CLSProcess.c:407)
2  TrainCentric                   0x1023c1d4c CLSHandler + 26 (CLSHandler.m:26)
3  TrainCentric                   0x1023d0604 __CLSExceptionRecord_block_invoke + 199 (CLSException.mm:199)
4  libdispatch.dylib              0x2211357d4 _dispatch_client_callout + 16
5  libdispatch.dylib              0x2211165fc _dispatch_lane_barrier_sync_invoke_and_complete + 56
6  TrainCentric                   0x1023d00a0 CLSExceptionRecord + 206 (CLSException.mm:206)
7  TrainCentric                   0x1023cfed4 CLSExceptionRecordNSException + 102 (CLSException.mm:102)
8  TrainCentric                   0x1023cfaf0 CLSTerminateHandler() + 259 (CLSException.mm:259)
9  libc++abi.dylib                0x2208c4838 std::__terminate(void (*)()) + 16
10 libc++abi.dylib                0x2208c48c4 std::terminate() + 84
11 libobjc.A.dylib                0x2208cfd5c _destroyAltHandlerList + 10
12 libdispatch.dylib              0x2211357e8 _dispatch_client_callout + 36
13 libdispatch.dylib              0x221106040 _dispatch_once_callout + 28
14 TrainCentric                   0x1024340e4 +[FIRIAMDefaultDisplayImpl getViewResourceBundle] + 85 (once.h:85)
15 TrainCentric                   0x10243421c +[FIRIAMDefaultDisplayImpl displayCardViewWithMessageDefinition:displayDelegate:] + 75 (FIRIAMDefaultDisplayImpl.m:75)
16 TrainCentric                   0x102435100 -[FIRIAMDefaultDisplayImpl displayMessage:displayDelegate:] + 258 (FIRIAMDefaultDisplayImpl.m:258)
17 TrainCentric                   0x10241fe84 __55-[FIRIAMDisplayExecutor displayForMessage:triggerType:]_block_invoke + 593 (FIRIAMDisplayExecutor.m:593)
18 TrainCentric                   0x102425b84 __63-[FIRIAMMessageContentDataWithImageURL loadImageDataWithBlock:]_block_invoke.23 + 145 (FIRIAMMessageContentDataWithImageURL.m:145)
19 TrainCentric                   0x102425ee0 __68-[FIRIAMMessageContentDataWithImageURL fetchImageFromURL:withBlock:]_block_invoke + 176 (FIRIAMMessageContentDataWithImageURL.m:176)
20 CFNetwork                      0x221cc9688 __75-[__NSURLSessionLocal taskForClass:request:uploadFile:bodyData:completion:]_block_invoke + 32
21 CFNetwork                      0x221cdd220 __49-[__NSCFLocalSessionTask _task_onqueue_didFinish]_block_invoke + 176
22 Foundation                     0x222159ef8 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 16
23 Foundation                     0x2220663e0 -[NSBlockOperation main] + 72
24 Foundation                     0x2220658c8 -[__NSOperationInternal _start:] + 740
25 Foundation                     0x22215bc7c __NSOQSchedule_f + 272
26 libdispatch.dylib              0x221134a38 _dispatch_call_block_and_release + 24
27 libdispatch.dylib              0x2211357d4 _dispatch_client_callout + 16
28 libdispatch.dylib              0x22110cc34 _dispatch_continuation_pop$VARIANT$armv81 + 404
29 libdispatch.dylib              0x22110c314 _dispatch_async_redirect_invoke + 592
30 libdispatch.dylib              0x2211189d4 _dispatch_root_queue_drain + 340
31 libdispatch.dylib              0x221119248 _dispatch_worker_thread2 + 116
32 libsystem_pthread.dylib        0x2213151b4 _pthread_wqthread + 464
33 libsystem_pthread.dylib        0x221317cd4 start_wqthread + 4

#10. Thread
0  libsystem_kernel.dylib         0x221292b74 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x221315138 _pthread_wqthread + 340
2  libsystem_pthread.dylib        0x221317cd4 start_wqthread + 4

#11. Thread
0  libsystem_kernel.dylib         0x221292b74 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x221315138 _pthread_wqthread + 340
2  libsystem_pthread.dylib        0x221317cd4 start_wqthread + 4

#12. Thread
0  libsystem_kernel.dylib         0x221292b74 __workq_kernreturn + 8
1  libsystem_pthread.dylib        0x2213151f8 _pthread_wqthread + 532
2  libsystem_pthread.dylib        0x221317cd4 start_wqthread + 4

#13. AVAudioSession Notify Thread
0  libsystem_kernel.dylib         0x2212870f4 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x2212865a0 mach_msg + 72
2  CoreFoundation                 0x221686a10 __CFRunLoopServiceMachPort + 236
3  CoreFoundation                 0x221681920 __CFRunLoopRun + 1360
4  CoreFoundation                 0x2216810b0 CFRunLoopRunSpecific + 436
5  AVFAudio                       0x227569334 GenericRunLoopThread::Entry(void*) + 156
6  AVFAudio                       0x227593c60 CAPThread::Entry(CAPThread*) + 88
7  libsystem_pthread.dylib        0x2213142c0 _pthread_body + 128
8  libsystem_pthread.dylib        0x221314220 _pthread_start + 44
9  libsystem_pthread.dylib        0x221317cdc thread_start + 4

#14. Thread
0  libsystem_kernel.dylib         0x221287148 semaphore_timedwait_trap + 8
1  libdispatch.dylib              0x221104a4c _dispatch_sema4_timedwait$VARIANT$armv81 + 64
2  libdispatch.dylib              0x2211053a8 _dispatch_semaphore_wait_slow + 72
3  libdispatch.dylib              0x2211187c8 _dispatch_worker_thread + 344
4  libsystem_pthread.dylib        0x2213142c0 _pthread_body + 128
5  libsystem_pthread.dylib        0x221314220 _pthread_start + 44
6  libsystem_pthread.dylib        0x221317cdc thread_start + 4

#15. com.apple.audio.toolbox.AUScheduledParameterRefresher
0  libsystem_kernel.dylib         0x221287130 semaphore_wait_trap + 8
1  AudioToolbox                   0x225592834 WorkThread::run() + 48
2  AudioToolbox                   0x225592794 WorkThread::entry(void*) + 20
3  AudioToolbox                   0x22598d4f8 CAPThread::Entry(CAPThread*) + 88
4  libsystem_pthread.dylib        0x2213142c0 _pthread_body + 128
5  libsystem_pthread.dylib        0x221314220 _pthread_start + 44
6  libsystem_pthread.dylib        0x221317cdc thread_start + 4

#16. com.apple.NSURLConnectionLoader
0  libsystem_kernel.dylib         0x2212870f4 mach_msg_trap + 8
1  libsystem_kernel.dylib         0x2212865a0 mach_msg + 72
2  CoreFoundation                 0x221686a10 __CFRunLoopServiceMachPort + 236
3  CoreFoundation                 0x221681920 __CFRunLoopRun + 1360
4  CoreFoundation                 0x2216810b0 CFRunLoopRunSpecific + 436
5  CFNetwork                      0x221c9a74c -[__CoreSchedulingSetRunnable runForever] + 216
6  Foundation                     0x22217b6a4 __NSThread__start__ + 984
7  libsystem_pthread.dylib        0x2213142c0 _pthread_body + 128
8  libsystem_pthread.dylib        0x221314220 _pthread_start + 44
9  libsystem_pthread.dylib        0x221317cdc thread_start + 4

@rednebmas how are you integrating the Firebase SDK? If you're using CocoaPods can you share your CocoaPods version? Are you including Firebase in a subtarget of your application?

Hi @morganchen12. I am using Cocoapods version 1.5.3 and below is my Podfile.
platform :ios, '10.0'

# ignore all warnings from all pods
inhibit_all_warnings!

target 'TrainCentric' do
  use_frameworks!

  # Pods for TrainCentric
  pod 'Fabric', '1.10.2'
  pod 'Crashlytics', '3.13.4'
  pod 'Firebase/Core', '6.5.0'
  pod 'Firebase/InAppMessagingDisplay'

  ... (other non-Google pods)

  target 'TrainCentricTests' do
    inherit! :search_paths
    # Pods for testing
  end

end```

@rednebmas Anything notable about the iOS versions on the crash reports?  I notice the one in the report is 12.3.1. # OS Version: 12.3.1 (16F203)

@paulb777 Nothing notable, see the screenshot below from Fabric

@rednebmas It looks like the resource bundle cannot be found sometimes. I wonder, if the app has any app extensions, so the crash may come from an app extension?

PR #3593 will fix the crash. The resources issue itself is tracked internally in b/139430309

@maksymmalyhin How does PR #3593 fix the crash? All it does is add a log statement.

@rednebmas Good catch! Looks like a missing else?

The problem also exists when linking firebase in app messaging via carthage.
Crash occurs only on the devices with iOS 10.3

@rednebmas Great catch! Thank you for your attentive code review!
@Anastassi Thank you for additional details.

The most strange part of the crash for me is that it does not happen consistently. I would expect that if there is an issue with the resource bundle, then the crash should occur consistently on any device with a certain app version. Based on it I have two ideas what may happen here so far:

It looks like NSBundle API is not thread-safe which may be the reason why the resource bundle is not found sometimes. In this case #3613 may not really fix the issue. We will work a proper fix for that and try to add it into the coming release.

There might be an app configuration issue. In this there might be several app versions with the same Firebase version which were built differently (different parameters or Xcode versions, etc.), so for some of the app versions crash all the time and some of them don't crash at all. @rednebmas @Anastassi could you confirm if it is the case for you or you can see inconsistent crashes within a single app version?

@maksymmalyhin I only have one app version in production that had the In-App Messaging cocoapod integrated, although I've had the main Firebase SDK integrated for a while with no issues.
Good point about the threading issue. Would also explain why this isn't happening consistently. And, in the stack trace the crash is happening off the main thread.
Another thought - maybe you should be using [NSBundle bundleForClass:[self class]] instead of [NSBundle mainBundle] on line 57 of FIRIAMDefaultDisplayImpl.m.

@rednebmas Thank you for your suggestions. With the current podspec configuration[NSBundle bundleForClass:[self class]] will not return the bundle we need because the class is in the framework, but the resources bundle is added to the app bundle.

The issue should be fixed in Firebase 6.7.0.


Add Standards

Useful reference I guess, but not really an awesome list. Awesome lists are curations of the best of something. Yours is just a list of standards and versions of those. Sorry.

No worries, I expected this.
I was hoping that by posting it here, it would get traction and people would chime in with suggestions on how to make it an awesome list.


fix: Refactor ownership checks

SUMMARY
Yak shaving at its finest. Originally I drafted this PR to fix an issue with inconsistencies between ownership checks as described in this Slack thread. BTW this PR does not address said issue—I believe we only need a migration for legacy charts/datasets.
Things quickly spiraled out of control as I realized that the DAO check_access method checks whether the actor is an owner alongside a check whether the current user is an admin—this clearly is wrong, i.e., both checks should be for the same user. Digging further I realize that the actor is always g.user and thus continuing my crusade to simplify the whole user space (removing passing g.user all around the place) I opted to fully deprecate the actor concept—which touched a huge swatch of files. The main reason being is that Superset is really only configured to work with the logged in user and overrides should be done—if needed—via the override_user context manager.
The TL;DR of this PR:

Removes the actor construct across all the DAO models.
Refactors check_ownership which either raised or returned a bool into the raise_for_owernship and is_owner methods—the later being a wrapper of the former. This helps to improve code readability, i.e., it is apparent that raise_for_owernship raises. These methods have been moved to the security manager to allow for customization.
Removes duplicate methods which person the same check, i.e., whether a user is an admin.

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

@eschutho I've addressed your question and thus this should be ready for re-review. @dpgaspar would you mind also reviewing said change given that it updates the DAO logic that you and @villebro authored.

@dpgaspar

On the other hand we will loose some future flexibility if we would ever wanted to use DAO or commands with different users, celery context for example?

I don't disagree in terms of lose of flexibility, however the g.user is so engrained in the entire application workflow that we would need a very major refactor in order to support this. Per the PR description the actor is somewhat misleading given that some checks are in relation to the specified actor whereas others (like is_user_admin et al.) are based on g.user.


Fix TeX.Environment() to use the correct end environment.

There is no issue number for this.  It turned up when I was checking another bug, but was unrelated to it.  You are supposed to be able to use
MathJax.InputJax.TeX.Environment(name,prefix,suffix,n,default)
(after loading the TeX newcommand extension) in order to define a new command, where prefix is the TeX code to insert at the beginning of the environment, suffix is the TeX to insert at the end, n is the number of arguments required for the environment, and default is the default for the argument.  The n and default are not required.
This works as advertised, except for one thing:  if the prefix includes a \begin{...} and the suffix includes an \end{...}, MathJax issues an error about the nesting being wrong.  With this fix, the begin and end work properly.  E.g.,
MathJax.InputJax.TeX.Environment("nested","\\begin{matrix}","\\end{matrix}");

would cause \begin{nested} a& b \end{nested} to produce the message '\begin{matrix} ended by \end{nested}` without the patch.  With the patch, you should get a matrix as expected.

LGTM (afaict)


Added Cell.getCenter method

Looks great! We'll have to add the type definition as well for TypeScript:
https://github.com/radarlabs/s2/blob/master/index.d.ts#L50-L54

@jkao good catch! I uploaded typescript definition for getCenter function.

Thanks for the contribution! :)


fully parallel benchmark runner

The code in benchmark_runner should be a full replacement for the simple_test_runner in modelgauge. If folks like this PR, then my next step is to put it to use in run.py.
Not sure how I messed up the rebase but many of the commits below are duplicates. Sorry about that!

For example, BenchmarkRunner inherits attribute tests which is never used, but BenchmarkRun on the other hand does use its’ tests attribute. BenchmarkRunner also inherits method run_tests as a part of it's interface which shouldn't be called by a user.

This is now fixed. I confess I think the TestRunner/TestRun extraction is a bit artificial, in that I'm not sure it will ever get used. If there are further potential improvements in relation to that, I would like them to wait for the PR that actually uses them.

I’m also not sure how I feel about ModelgaugeTestWrapper. The object space already feels a bit cluttered, so I’m not personally a fan of the idea to create an entire wrapper object just to handle TestRunItem transformation in two of it’s methods. But it’s not that big of a deal for me.

I think the ModelGauge object graph is hideously cluttered, as I've mentioned here among many other places. And I think that clutter is both confusing and contagious, overcomplicating related code like this. ModelgaugeTestWrapper is an attempt to isolate this code from a lot of the clutter. What I'd eventually like to do is make ModelgaugeTestWrapper go away by either pushing the complexity into the tests or by further cleanup there. I just am trying to stop the clutter from metastasizing further.

That makes sense. I agree modelgauge needs a lot of simplification as well. Thanks!


[BEAM-7239] Add withDataSourceProviderFn() to JdbcIO

It also refactors BEAM-7041 to align with it.
Notice that the removal of the parameters are just a refinement and do not affect backwards compatibility because they were introduced for 2.13.0 too.
R: @aromanenko-dev

Java JdbcIO Performance Test

Run Java JdbcIO Performance Test

Run Java PreCommit

Run Java JdbcIO Performance Test

Everything should be ok now. PTAL @aromanenko-dev

Run Java JdbcIO Performance Test

Everything should be ok now. PTAL @aromanenko-dev

Notice that the Memoization of the DataSource instance fixes in part the issue reported in BEAM-7230

As the original author and maintainer of this IO, I would appreciate to be part of the review.

@jbonofre yes please, this is a continuation of your work on BEAM-7041 but refactoring it to be more composable. If possible please do the review quickly because this is a blocker for 2.13.0. Thanks!

Run Java PreCommit

Merging eagerly now that the tests passed. Thanks a lot @jbonofre for the quick review.

Good job, thanks @iemejia !


add remote markdown template

@ChenTanyi,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

close since we don't use standard markdown


Fix for perpetual Insert Cannula "Pod Already Paired" errors

This rare event happened with Trio but could potentially happen with Loop or iAPS as the code involved is virtually identical in all cases. The straightforward logic modification will prevent being forever stuck in the Insert Cannula screen with a Pod Already Paired error in the future. See https://github.com/nightscout/Trio/issues/380 for additional info.

Add optional mock error Preview handling code

Fix for https://github.com/nightscout/Trio/issues/380

Status
Success. LGTM.
Code Review
Code review looks good. This will return success in the rare case that the Insert Cannula screen is displayed after podAlreadyPaired is set. This will prevent the infinite loop in the UI that was reported in Trio Issue 380.
Tests
Test with Preview
I tested this using the Preview in Trio. (For some reason, the Preview in Loop never opens for me.)
Use the Preview without this patch.

Insert cannula works fine

Use the Preview as provided by this PR, the insert cannula behaves as expected.

Insert cannula works fine

Use the Preview with the modification of setting both mockError and mockPodAlreadyPairedError to true
and get the expected message in the Xcode debug log:
### insertCannula treating podAlreadyPaired as success

Remove the modification in OmniKitUI/ViewModels/InsertCannulaViewModel.swift from this patch and repeat the Preview test with the true setting. The debug log reports
### insertCannula encountered error Pod already paired, retrying after 3.0 seconds

followed by this Preview screenshot. This matches the error seen by the user who reported this.

Test with Phone
I did not test with a real pod
I used the OmniBLE testing with an rPi DASH simulator.
I demonstrated that a new pod paired and inserted with no issues.

I added the code from this PR onto my real looping phone. I just did a pod change and the Insert Cannula was nominal, as usual.


BibAuthorID: broken disambiguation on Atlantis demo site

BibAuthorID stopped working for Atlantis demo site.
Firstly, collection treatment should be amended:
$ diff -u modules/bibauthorid/lib/bibauthorid_config.py /opt/invenio/lib/python/invenio/
--- modules/bibauthorid/lib/bibauthorid_config.py       2014-06-20 14:43:36.823044058 +0200
+++ /opt/invenio/lib/python/invenio/bibauthorid_config.py       2014-06-23 16:06:45.973087504 +0200
@@ -92,8 +92,10 @@
 # Special for ADS: Focus on ASTRONOMY collection
 if GLOBAL_CONFIG and CFG_ADS_SITE:
     LIMIT_TO_COLLECTIONS = ["ASTRONOMY"]
-else:
+elif CFG_INSPIRE_SITE:
     LIMIT_TO_COLLECTIONS = ['HEP']
+else:
+    LIMIT_TO_COLLECTIONS = []

 # Exclude documents that are visible in a collection mentioned here:
 EXCLUDE_COLLECTIONS = ["HEPDATA","Data", "HEPNAMES", "INST", "Deleted", "DELETED", "deleted"]

Secondly, location of Tortoise cache should be put under /opt/invenio/var/cache/bibauthorid/tortoise_cache by default.  Currently one has to do:
$ sudo mkdir /opt/tortoise_cache/
$ sudo chown www-data.www-data /opt/tortoise_cache/

Thirdly, the first process runs fine:
$ sudo -u www-data /opt/invenio/bin/bibauthorid -u admin --update-personid --all-records -v 9

and populates well tables:
mysql> SELECT * FROM aidPERSONIDPAPERS LIMIT 5;
+----------+--------------+--------------+--------+-------------------+------+------+---------------------+
| personid | bibref_table | bibref_value | bibrec | name              | flag | lcul | last_updated        |
+----------+--------------+--------------+--------+-------------------+------+------+---------------------+
|        8 | 100          |            1 |      1 | Photolab          |    0 |    0 | 2014-06-23 16:06:53 |
|        9 | 100          |            2 |      2 | Loïez, Patrice    |    0 |    0 | 2014-06-23 16:06:53 |
|       10 | 100          |            3 |      4 | Caron, J. L.      |    0 |    0 | 2014-06-23 16:06:54 |
|       11 | 700          |            2 |      8 | Hobson, M. P.     |    0 |    0 | 2014-06-23 16:06:54 |
|       12 | 100          |            4 |      8 | Efstathiou, G. P. |    0 |    0 | 2014-06-23 16:06:54 |
+----------+--------------+--------------+--------+-------------------+------+------+---------------------+
5 rows in set (0.01 sec)

but the second process does not run well:
$ sudo -u www-data /opt/invenio/bin/bibauthorid --disambiguate --from-scratch -u admin

for it prints many warnings of the kind:
Bib_matrix: error occurred while loading bibmap, cleaning...  <type
exceptions.IOError'> [Errno 2] No such file or directory:
u'/opt/tortoise_cache/mc/mcmahon-bibmap.pickle'
Bib_matrix: error occurred while loading bibmap, cleaning...  <type
exceptions.IOError'> [Errno 2] No such file or directory:
u'/opt/tortoise_cache/mc/mcmahon-bibmap.pickle'
Bib_matrix: error occurred while loading bibmap, cleaning...  <type
exceptions.IOError'> [Errno 2] No such file or directory:

and ends with a traceback:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/invenio/bibtask.py", line 606, in task_init
    ret = _task_run(task_run_fnc)
  File "/usr/local/lib/python2.7/dist-packages/invenio/bibtask.py", line 1146, in _task_run
    if callable(task_run_fnc) and task_run_fnc():
  File "/usr/local/lib/python2.7/dist-packages/invenio/bibauthorid_daemon.py", line 157, in _task_run_core
    run_tortoise(bool(bibtask.task_get_option("from_scratch")))
  File "/usr/local/lib/python2.7/dist-packages/invenio/bibauthorid_daemon.py", line 307, in run_tortoise
    tortoise_from_scratch()
  File "/usr/local/lib/python2.7/dist-packages/invenio/bibauthorid_tortoise.py", line 95, in tortoise_from_scratch
    schedule_workers(lambda x: force_create_matrix(x, force=True), cluster_sets)
  File "/usr/local/lib/python2.7/dist-packages/invenio/bibauthorid_general_utils.py", line 328, in schedule_workers
    new_proc = mp.Process(target=function, args=(jobs.pop(),))
IndexError: pop from empty list

In addition to what Tibor mentions, bibauthorid_daemon.py seems to throw the following exception when bibauthorid -u admin --disambiguate --from-scratch  is called:
Unexpected error occurred: local variable 'tortoise_db_name' referenced before assignment.

This could be easily solved by something like this:
--- /downloads/invenio/modules/bibauthorid/lib/bibauthorid_daemon.py.orig       2015-02-06 15:49:54.651000000 +0200
+++ /downloads/invenio/modules/bibauthorid/lib/bibauthorid_daemon.py    2015-02-06 15:50:44.670000000 +0200
@@ -303,12 +303,11 @@
 def run_tortoise(from_scratch):
     from invenio.bibauthorid_tortoise import tortoise, tortoise_from_scratch

+    start_time = get_db_time()
+    tortoise_db_name = 'tortoise'
     if from_scratch:
         tortoise_from_scratch()
     else:
-        start_time = get_db_time()
-        tortoise_db_name = 'tortoise'
-
         last_run = get_user_logs(userinfo=tortoise_db_name, only_most_recent=True)
         if last_run:
             modified = get_modified_papers_since(last_run[0][2])

Maybe (or I should say probably) this was fixed in a separate commit along with other enhancements/fixes, but since it's not yet merged to master, I thought I should also mention it here in case it helps anyone.


Add docs on how we can deploy caprover using TS client

Docs must be added on how we can deploy Caprover nodes using the typescript client directly and examples should be provided

Verified
https://library.threefold.me/info/manual/#/manual3_iac/grid3_javascript/manual__grid3_javascript_caprover


Add support for :hover underlines

Would likely need to be done through an option (SmartUnderline.init({ '.content a': 'hover' }); or something like that) since unfortunately we can’t use getComputedStyle to detect text-decoration: underline on the :hover pseudo-class.
http://stackoverflow.com/questions/11495535/why-doesnt-getcomputedstyle-work-with-pseudo-classes-like-hover

+1

@feross :wink:

Cool, thanks!


Fix repeated points in line

... on Headless/ bad GPU drivers...
Not 100% sure why this is so driver dependent, but the normals became NaN and poisened the line like that...
Fixes #865 #1349 #1356  #1366 ...
@ffreyer, I think we shouldn't remove the duplicated points, since in CairoMakie, that closes the line 😅

I tested those :) Turns out, I can reproduce the issue with WSL2 + headless GLMakie...


Add release notes into main

What does this PR do?:

Adds current release notes into main branch. Allow us to maintain this easier across releases.
Which issue(s) this PR fixes:

PR acceptance criteria:
Testing and documentation do not need to be complete in order for this PR to be approved. We just need to ensure tracking issues are opened and linked to this PR, if they are not in the PR scope due to various constraints.

[ ] Tested and Verified

[ ] Documentation (READMEs, Product Docs, Blogs, Education Modules, etc.)

How to test changes / Special notes to the reviewer:

I think we can close this right?

Closing as we decided to keep release notes in the release publications.


Create a new release

Hi!
Could you please create a new release from the master branch and push it to npm?
This would solve the issue #13
Thx :-)

any reason why 0.6.0 wasn't published?

@acdlite  PING


Adding drop_duplicate test

I'm adding a failing test of drop_duplicates.
Test is failing for no columns provided.
Error shows that the drop duplicates function does not preserve 1 of the duplicate rows (df1 is empty).
E           chispa.dataframe_comparer.DataFramesNotEqualError:
E           +------+-------------------------------------------+
E           | df1  |                    df2                    |
E           +------+-------------------------------------------+
E           | None | Row(col1=1, col2='A', col3='A', col4='C') |
E           +------+-------------------------------------------+

@robertkossendey - can you please take a look?

Merged this in.  Have an issue open to get this fixed: https://github.com/MrPowers/mack/issues/25
Thanks for reporting the bug @nkarpov

@MrPowers There is a test failure with this PR.
@nkarpov Can you fix the unittest for this change

@souvik-databricks - I normally don't merge in changes that break test suites intentionally, but this is an exception because the test is correct and the code is broken.  It's good for the test suite to be failing if there is a bug in the code ;)
Here's the issue to get this fixed: https://github.com/MrPowers/mack/issues/25
Anyone can grab that issue and fix the bug 💪


Check upstream repo is in good order

We need a checker with a heuristic that checks that an upstream is in good order.
That means the repository layout conforms to some good standard (such as https://github.com/unified-font-repository/Unified-Font-Repository)
It also means the README.md file has all relevant info. Some ideas from @crystaltype :)

Family Name
Designer
Visual sample image
Current version status: Stable release on DATE, link
Description
Languages covered
How to contribute, issues need to be fixed
Contact information
Dependencies
License

@crystaltype prepared this list of some good examples:
https://github.com/m4rc1e/Abel
https://github.com/cyrealtype/Vidaloka
https://github.com/weiweihuanghuang/Work-Sans
https://github.com/itfoundry/teko
https://github.com/cyrealtype/Sirin-Stencil
https://github.com/impallari/Raleway
https://github.com/graphicore/Questrial-Font
https://github.com/googlefonts/nunito
https://github.com/typeoff/martel_sans
https://github.com/typeoff/martel
https://github.com/cyrealtype/Marko-One
https://github.com/huertatipografica/Kadwa
https://github.com/ossobuffo/jura
https://github.com/cyrealtype/Jacques-Francois-Shadow
https://github.com/cyrealtype/Jacques-Francois
https://github.com/cyrealtype/Federo
https://github.com/khaledhosny/sahl-naskh
Here are examples of repos in a semi-good state:

https://github.com/EbenSorkin/Aplous/tree/46e559c70941f31efe5e9097f261020a21c14a97
https://github.com/eliheuer/orbitron/tree/bdfbfe609d38609e8bc9b736cd77d16b171e7d1d

Assigning this to @laerm0 from Felipe.
@laerm0 has been working to stack rank all the add new fonts requests, and once that is done, the next step will be to to come up with the list of things that we should check an upstream has, so that Felipe can write FB checks.
Above is a list of upstreams to look at, in good and not so good states; I think both can be helpful in defining a list of the attributes of the best ones (things to check are there) and things done we want to be done differently (things to check are not there)
That list of "dos and donts" can become a set of requirements for Felipe can code up, to ensure that all our upstream repos are set up nicely.
Then we can plug these into the upstream sheet, and then the FB dashboard, and then see them flow through to the production API.

Thanks, Dave!  A precisely defined specification of what needs to be checked will be very useful for me to implement such new checks. And it will likely easily convert into good rationale metadata for such checks.

Excellent, good idea Dave. I'll finish the chunk of the process that I am on and then start on this.

There are several more issues
https://github.com/googlefonts/fontbakery/issues/291 - "Track project metadata: upstream repo, downstream package targets/requests, etc"

[ ] Does a bakery.yml exist anywhere in the repo (warn it should be in the following location) or at /sources/bakery.yml (pass); if no, fail; also check if more than 1 exists, then warn. Never fail.
[ ] Does the bakery.yml include a downstreams key with a googlefonts child with a specimen child with a value that .startsWith("https://fonts.google.com/specimen/")? If any of these are no, then warn. Never fail.
[ ] Does the bakery.yml include a upstream key with at least 1 repo child with a value that .startsWith("http[s]://") (this seems a bit redundant, but since there can be several upstreams that people may be interested in, it may be worth having this. Again, only ever warn.)

https://github.com/googlefonts/fontbakery/issues/342 - "Is repo set up for bower?" is really a child of the above issue. I think today that there are several other downstream packaging projects for self-hosting web fonts, that we might want to track...
https://github.com/googlefonts/fontbakery/issues/1860 - "Is there a build script?"

[ ] Similar to above checks for bakery.yml just existing.

https://github.com/googlefonts/fontbakery/issues/1841 - "Check Upstream repo has a minisite"

[ ] Similar to above checks for files just existing, but inside a branch.

https://github.com/googlefonts/fontbakery/issues/1849 - "Add upstream check for correct subs feature". This is going into the .glyphs source file, which is a departure from the above 'repo layout' checks. Still, I expect that many source .glyphs file may have done this in a way we don't want, so we should check for that.

Hey Felipe –
Here's what I think the checklist should be to determine if a family can easily be onboarded.

on GitHub ;)
the Unified Font Repository spec is good but I think more than we need.

documentation is nice to have but can be empty
fonts we need and I want it to have OTF or TTF
scripts is unnecessary
I don't think we need to ensure the sources folder has subfolders for drawing OTF TTF and features. Just some kind of source file in there that we can work with (UFO .glyphs .sfd .sfdir or .vfb).
the files loose in the base directory are nice to have: can fontbakery autogenerate some of these?
LICENSE.txt needs to be there and be OFL

have FB do --check-googlefonts on whatever is in the fonts directory

where should the report go? @m4rc1e suggests posting that in the source repo with some boilerplate and tag him/me on the post. I bet FB can't do that, though, can it? :wink:

...and more to come? What are your thoughts on this so far?

I once attempted to write detail up, but my browser crashed and lost my stuff.
However, here's a PR that fixes 2 cosmetic things, that we should have checks for:
https://github.com/polarsys/b612/pull/2

fixes 2 cosmetic things, that we should have checks for:

If I understood correctly the two things are:

Font family names should not have spaces in the filename.
All repos should have a folder called docs/ on their rootdir. And if a documentation/ folder exists, then we should suggest renaming it.

Is that what you meant, @davelab6 ?


Issue 45 changes

Added field for PatientID (not being used atm) and fixed the note field (not being used atm). Increased the size of forms

Prob better to commit after the Review today