Add hybrid plugin system

Description
Closes #1202.
OpenAssetIO currently supports two different manager plugin backends in the core library, Python and C++. We expect more backends to be added in the future. For example, there has been active investigation into a gRPC backend.
By "backend" we specifically mean an implementation of the abstract base class ManagerImplementationFactoryInterface. The host application chooses an implementation, then injects it into a ManagerFactory, which is then responsible for producing Manager instances that the host application can use.
The idea of a hybrid plugin system is to allow multiple backend plugin providers to be composed, such that API calls can be routed to the most appropriate plugin. For example, performance-critical API requests could route to a C++ plugin, whilst less critical requests route to a Python plugin.
As an added bonus, having a built-in facility to compose multiple backends reduces boilerplate for hosts that wish to support multiple plugin system backends.
So add a HybridPluginSystemManagerImplementationFactory, which implements the ManagerImplementationFactoryInterface interface, and takes a list of child ManagerImplementationFactoryInterface implementations during construction. The host application can then provide an instance of a hybrid factory to their ManagerFactory, taking care of the boilerplate of managing multiple plugin systems.
When a host application attempts to load a plugin with a particular unique identifier, then all child plugin systems are searched. If a match is found in a single plugin system, then its manager implementation is returned directly. If a match is found in multiple plugin systems, then a proxy manager is constructed that routes calls to the appropriate manager implementation.
The "appropriate" manager implementation to route to varies. In most cases, the highest priority implementation that advertises the capability associated with the API call is chosen (i.e. it is routed based on the response of the manager(s) to hasCapability(...)).
The priority order of implementations corresponds to the order of the child factories in the list that was provided to the hybrid factory on construction.
Some API methods don't have an associated capability. For these, routing is "common sense":
For initialize, all implementations are provided with all the settings. For example, if using a .toml OpenAssetIO config file (see OPENASSETIO_DEFAULT_CONFIG), then the settings in that file will be provided to all the matching manager implementations. This could cause problems if two plugins use the same settings key but require different values. Future work may look at ways to disambiguate.
For identifier and displayName the highest priority manager implementation is chosen.
For info and settings, the results of all manager implementations are merged, with the highest priority manager taking precedence if any dictionary keys conflict.
For flushCaches all manager implementations are flushed.

[x] I have updated the release notes.
[ ] I have updated all relevant user documentation.

Reviewer Notes
See Jupyter Notebook for illustration in https://github.com/OpenAssetIO/OpenAssetIO-MediaCreation/pull/99

Set to Draft state pending #1348

For reference, output of "ABI diff check" CI job, before I update the ABI snapshot...
TLDR: it's just saying there's a new class, so there's no need to flag a breaking change in the release notes.
===== Checking ABI of libopenassetio.so.1.0.0 =====

Leaf changes summary: 8 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 4 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
Function symbols changes summary: 0 Removed, 0 Added function symbol not referenced by debug info
Variable symbols changes summary: 0 Removed, 4 Added variable symbols not referenced by debug info
Errors while running CTest

4 Added functions:

  [A] 'method openassetio::v1::pluginSystem::HybridPluginSystemManagerImplementationFactory::HybridPluginSystemManagerImplementationFactory(openassetio::v1::pluginSystem::HybridPluginSystemManagerImplementationFactory::ManagerImplementationFactoryInterfaces, openassetio::v1::log::LoggerInterfacePtr)'    {_ZN11openassetio2v112pluginSystem46HybridPluginSystemManagerImplementationFactoryC2ESt6vectorISt10shared_ptrINS0_7hostApi37ManagerImplementationFactoryInterfaceEESaIS7_EES4_INS0_3log15LoggerInterfaceEE, aliases _ZN11openassetio2v112pluginSystem46HybridPluginSystemManagerImplementationFactoryC1ESt6vectorISt10shared_ptrINS0_7hostApi37ManagerImplementationFactoryInterfaceEESaIS7_EES4_INS0_3log15LoggerInterfaceEE}
  [A] 'method virtual openassetio::v1::Identifiers openassetio::v1::pluginSystem::HybridPluginSystemManagerImplementationFactory::identifiers()'    {_ZN11openassetio2v112pluginSystem46HybridPluginSystemManagerImplementationFactory11identifiersEv}
    note that this adds a new entry to the vtable of class openassetio::v1::pluginSystem::HybridPluginSystemManagerImplementationFactory
  [A] 'method virtual openassetio::v1::managerApi::ManagerInterfacePtr openassetio::v1::pluginSystem::HybridPluginSystemManagerImplementationFactory::instantiate(const openassetio::v1::Identifier&)'    {_ZN11openassetio2v112pluginSystem46HybridPluginSystemManagerImplementationFactory11instantiateERKSs}
    note that this adds a new entry to the vtable of class openassetio::v1::pluginSystem::HybridPluginSystemManagerImplementationFactory
  [A] 'method openassetio::v1::pluginSystem::HybridPluginSystemManagerImplementationFactoryPtr openassetio::v1::pluginSystem::HybridPluginSystemManagerImplementationFactory::make(openassetio::v1::log::LoggerInterfacePtr)'    {_ZN11openassetio2v112pluginSystem46HybridPluginSystemManagerImplementationFactory4makeESt6vectorISt10shared_ptrINS0_7hostApi37ManagerImplementationFactoryInterfaceEESaIS7_EES4_INS0_3log15LoggerInterfaceEE}

4 Added variable symbols not referenced by debug info:

  [A] _ZTIN11openassetio2v112pluginSystem46HybridPluginSystemManagerImplementationFactoryE
  [A] _ZTSN11openassetio2v112pluginSystem46HybridPluginSystemManagerImplementationFactoryE
  [A] _ZTSSt23_Sp_counted_ptr_inplaceIN11openassetio2v112pluginSystem46HybridPluginSystemManagerImplementationFactoryESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE
  [A] _ZTVN11openassetio2v112pluginSystem46HybridPluginSystemManagerImplementationFactoryE

The "appropriate" manager implementation to route to varies. In most cases, the highest priority implementation that advertises the capability associated with the API call is chosen (i.e. it is routed based on the response of the manager(s) to hasCapability(...)).

The priority order of implementations corresponds to the order of the child factories in the list that was provided to the hybrid factory on construction.

Taken from the PR description above.
I get that 'priority order' is the order of the factories passed to the ctor as in your walk-through earlier.
But 'In most cases', what do you mean? Is there another mechanism?

The "appropriate" manager implementation to route to varies. In most cases, the highest priority implementation that advertises the capability associated with the API call is chosen (i.e. it is routed based on the response of the manager(s) to hasCapability(...)).

The priority order of implementations corresponds to the order of the child factories in the list that was provided to the hybrid factory on construction.

Taken from the PR description above. I get that 'priority order' is the order of the factories passed to the ctor as in your walk-through earlier.
But 'In most cases', what do you mean? Is there another mechanism?
EDIT: reading further, is it

For info and settings, the results of all manager implementations are merged, with the highest priority manager taking precedence if any dictionary keys conflict.

that as a merging process different from choosing from the order in the ctor, that you meant?

Yes exactly. Most of the methods have a similar pattern - choose the "first" plugin that satisfies the capability, where "first" corresponds to the order the child factories were passed in the ctor.
But for some methods that doesn't make sense or isn't possible, such as displayName() or settings().

The pybind11 question is open for me, but otherwise, I don't see anything outstanding.

Thanks! Squashed it all down and pushed. Let's see if there's any takers for pybind stuff.  At least its only a tiny part of the PR.


Question about inference speed

Hello,
Can I use your model in my configuration , say 3-4 cameras, by using my cameras' params ?
Have you tested the method for its inference speed and if so how fast is it ?
Thanks

please measure the inference speed of other camera settings by modifying the code, we only measured 5-camera setting


⚠ Geosearch has degraded performance

In 5f00fe0, Geosearch ($SITE_URL_GEOSEARCH) experienced degraded performance:

HTTP code: 200
Response time: 10645 ms

Resolved: Geosearch performance has improved in 3edd0af after 10 minutes.


RTL Support

Hello,
I have added RTL support. also updated the readme and storybook.
Also react 17.0.2 support is added.
Can we have this merged?
Thanks.

Hi @matiniamirhossein - this looks interesting, but curious why it was closed?

@sators Thank you. There were some issues, I was in rush. Created a new one with running tests and cleaner implementation.


Feature/warning text v2

Checklist:

[x] Documentation
[x] Tests
[x] Ready to be merged

Created WarningText component

with tests
with fixtures
with stories
with documentation

Travis is failing on snapshots, probably need to run yarn build & yarn snapshot

Codecov Report

Merging #327 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #327   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          71     73    +2
  Lines         356    366   +10
  Branches       14     14
=====================================
+ Hits          356    366   +10

Impacted Files
Coverage Δ

packages/icons/src/IconImportant/index.js
100% <100%> (ø)

components/warning-text/src/index.js
100% <100%> (ø)

Continue to review full report at Codecov.

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

Thanks @Loque-  - hopefully we can get this one merged this time! :)

Taz has spotted that this just misses the 100% coverage ~ would you be able to bump it up a bit? Not sure how without looking into it but if you are stuck I can help!

@Loque  Sure, it looks like this is error-summary - will check it with Taz.

Awesome thank you - we've caught up offline, error-summary getting some test love now. Will merge this in!


chore: use giphy fixed_height.url for gifs

All gifs have the same height(200px) now.

Improves download/display speed

GiphyAPI
https://github.com/Giphy/GiphyAPI#sample-response-search

Isn't 200px a bit small?

I think it's ok but not ideal tho... 😊

I think it's way too small. If only there was something like 300-400px, it would be perfect.

Yep 300-400px would be nice! Sadly the GiphyAPI does not support such sizes :(
Possible solution to prevent showing too large gifs could be to check sizes e.g.
filter the GiphyAPI response original.height <= 400 ...

Yeah, good idea ;)

:point_right:  #21 :sparkles:


m3u files question

When I add via file upload then it's running just fine but I just want to save m3u file to my PC hard drive. How ? VLC is able to do that.

One can add a playlist "via file upload" from a location on your PC, or "via URL" from a location on the internet. So, if you are adding a playlist "via file upload" then it is already on your PC, right?

Yeah, just use your browser to download the file. At the moment there is no export function in the application. This is because playlists are only converted one way from XML to JSON and not back.


Incorrect Header capitalization

Hi,
Some headers are sent with an incorrect capitalization, for example:
The "Do not Track" header
instead of being sent like this: DNT: 1
is sent this way: Dnt: 1
In Google, instead of sending this header: Google-Accounts-XSRF: 1
this header is sent: Google-Accounts-Xsrf: 1
Thank you!

Thank you for reporting!
This may be an issue with the go-proxy library I'm using. Will keep an eye on that and may need to check their code.

Great! Sorry that I didn't provide a PR here, my go skills are very limited haha

Well, I have investigated a little bit.
As you theorized, the issue is in the go proxy library.
here, you can see how they copy the headers:
func copyHeaders(dst, src http.Header, keepDestHeaders bool) {
	if !keepDestHeaders {
		for k := range dst {
			dst.Del(k)
		}
	}
	for k, vs := range src {
		for _, v := range vs {
			dst.Add(k, v)
		}
	}
}

They use Add. here, you can read it's implementation (inside /net/http).
// Add adds the key, value pair to the header.
// It appends to any existing values associated with key.
// The key is case insensitive; it is canonicalized by
// CanonicalHeaderKey.
func (h Header) Add(key, value string) {
	textproto.MIMEHeader(h).Add(key, value)
}

It says that the header is "canonicalized" via CanonicalHeaderKey.
here clarifies what CanonicalMIMEHeaderKey actually does:
CanonicalMIMEHeaderKey returns the canonical format of the MIME header key s. The canonicalization converts the first
letterand any letter following a hyphen to upper case; the rest are converted to lowercase. For example, the canonical key for
 "accept-encoding" is "Accept-Encoding". MIME header keys are assumed to be ASCII only. If s contains a space or invalid
header field bytes, it is returned without modifications.

This also happens when you use the Set method.
So, long story short, you can't do much about it. The documentation says:  To use non-canonical keys, assign to the map directly.
Which is not really in your control, at least for headers like DNT and Google-Accounts-XSRF.
Maybe a PR to the proxy repo to allow that option?
Feel free to close this issue 😢

This can be "fixed" manually by modifying the source code and recompiling.
Just replace Dnt with DNT (or whatever header one might want to change) by modifying the Header map directly.
This should be done per phishing campaign but is possible.

In case anybody wonders how this can be done:
DNT := req.Header.Get("Dnt")
if DNT != "" {
	delete(req.Header, "Dnt");
	req.Header["DNT"] = []string{DNT}
}


feature: Allow meltano init to create a project in-place

Feature scope
CLI (options, error messages, logging, etc.)
Description
Current behaviour
Supply a project name interactively:
meltano init

Supply a project name to the command:
meltano init <project-name>

Optimisation
Both of the above approaches require the user to cd into the resulting directory that is created for you:
meltano init project
cd project

It would be nice to be able to create a project in-place:
meltano init .

Here, the project contents should be created as normal in the current working directory. The command output should be adjusted to account for in-place operation (e.g. remove cd <project-name> line under the Next steps section).
Running within non-empty directories should check for potential file conflicts and preemptively fail the operation.
Example use-case
If a user wanted to version control a new project via a remote repository (GitHub or similar), creating it in-place would avoid having to copy/move the contents of the project directory into the cloned empty repository directory.
Current:
git clone git@github.com:<user>/my-meltano-project.git

meltano init temp-project
cp -a temp-project/. ../my-meltano project

cd my-meltano-project

git add .
git push

# optionally, clean-up
rm -rf temp-project

Proposed;
git clone git@github.com:<user>/my-meltano-project.git
cd my-meltano-project

meltano init .

git add .
git push

# no cleanup necessary

Comparison to git init
Initialise a Git repository in a new directory:

This is the same behaviour as meltano init.
Initialise a Git repository in an existing directory:

No argument and . result in the same behaviour, whereas currently meltano init with no arguments initiates interactive setup.

Let me know what you think - happy to open a PR as always! :smile:

@ReubenFrankel agreed, stumbled over this multiple times. This behaviour makes the onboarding harder, I tend to first create a new repository and then read the init docs. Also this would allow to:

Fork a meltano sample repository (e.g. https://github.com/sbalnojan/meltano-example-el/)
init it, start working on it right away.

Right now you have to first init and then copy the contents of the meltano.yml.

@ReubenFrankel love the idea. Would definitely take a PR for it 👍

Thinking about this a bit more, is this feature request more like 'Allow meltano init to create a project in an existing directory'? That's all meltano init . would functionally be doing, and I'd expect the same behaviour for any other existing directory.

Running within non-empty directories should check for potential file conflicts and preemptively fail the operation.

Any thoughts on this in particular?


Compatibility with micro:bit v2

Hi @sparkfun,
As you might have seen from https://github.com/microsoft/pxt-microbit/issues/3506 this extension is currently not compiling against the latest version of Micro:bit CODAL. This means it will not work with micro:bit V2.
Software for micro:bit V2 boards is built using CODAL rather than the DAL, and no longer includes the mbed layer. We’ve implemented the most frequently used mbed classes to support easy porting of existing extensions, but there may still be corner cases with this compatibility layer.
As your extension is currently not building, it will be disabled for micro:bit V2. People attempting to use your extension with a micro:bit V2 board will get error 929. This extension will only be re-enabled on micro:bit V2 once it is fixed.
There are details on how to ensure extensions work on both version of the micro:bit here (link to codal-microbit issue).

Use of mbed APIs that are not included in the compatibility layer, or microbit-dal APIs that need different constructors

@AndyEngland521 and @pelikhan. I have received a ticket through the Foundation's support desk today. The user has a micro:bit V2 and a gamer:bit. They are getting an error code. I believe that Joe Finney but a fix in Codal version 0.2.34 in November. is this Codal version in MakeCode?
@AndyEngland521 Does Sparkfun need to do something on this ticket?

@AndyEngland521 and @pelikhan. I have received a ticket through the Foundation's support desk today. The user has a micro:bit V2 and a gamer:bit. They are getting an error code. I believe that Joe Finney but a fix in Codal version 0.2.34 in November. is this Codal version in MakeCode?
@AndyEngland521 Does Sparkfun need to do something on this ticket?

@loricrotser is this fixed by the latest release?

I believe this was actually fixed by the updated MicroBit Button constructor fix here. I built a local server and tested this extension against v1.5 and v2 of the micro:bit and all worked as expected. Let me know if there's anything else I need to do here.

If i add this extension to MakeCode project and upload to Micro:bit v2.21, micro:bit show error 927.

@aktivo We are dependent on the micro:bit builds and for some reason this one has be re-marked as not working, even though it does. We have added a locally built extension download to our tutorial that you can use while we wait on the external processes.
Please check here: https://learn.sparkfun.com/tutorials/microarcade-kit-experiment-guide/troubleshooting-the-extension
If you continue to have issues with the extension, please reach out to SparkFun's tech support team and work directly with them.
Thank you!

Let's resolve this in MakeCode properly, though. @loricrotser do you know whether this stopped working after an update, or some specific other change? If you have it working locally, we should be able to enable it in MakeCode

The original failure was fixed by the MicroBit Button constructor fix. I tested micro:bits v1.5 and v2 against this and everything worked for me. I re-tested again some months ago and everything still worked as expected. To my knowledge this is fixed.


Deckswiper doesn't show up on android

native-base: 0.5.18
react-native: 0.39.2
Android: 6.0
iOS: 10.2

The Deckswiper works and is showing on iOS emulator but does not show up on Android. I've also tested it on an HTC One device android version 6.0.1 and it doesn't show up there either.
import React, { Component } from 'react';
import { Image } from 'react-native';
import {
  Container,
  Header,
  Title,
  Content,
  DeckSwiper,
  Text,
  Card,
  CardItem,
  View
} from 'native-base';

const restaraunts = [
  {
    image: require('../assets/z-man.png')
  },
  {
    image: require('../assets/Pork.png')
  },
  {
    image: require('../assets/Portebello-z-man.png')
  }
]

export default class Main extends Component {
  renderCards(imgsrc) {
    return (
      <Card style={{ elevation: 3 }}>
        <CardItem>
          <Text> Testing</Text>
        </CardItem>
        <CardItem>
          <Image style={{resizeMode: 'cover', width: null}} source={imgsrc}/>
        </CardItem>
      </Card>
    )
  }

  render() {
    return (
      <Container>
        <Header>
          <Title>Header</Title>
        </Header>
        <Content>
          <DeckSwiper
            dataSource={restaraunts}
            renderItem={Item => this.renderCards(Item.image)}
          />
        </Content>
      </Container>
    );
  }
}

I've noticed the same behavior as well.

All I get (RN 0.39.2) is "Check the render method of CardSwiper". Same code as yours.

Cannot reproduce. Seems to work fine in my device. Any other details you can give me?

I have the same issue.Why it is not shown in android.I tried to display within a content.

I just experienced this and I solved it with a minHeight for the containing . This is my own work around, but it should hint at the potential cause of the problem.  Luckily I didn't run into the problem 5 days ago.

here an other solution. I didn't test on different screen but it seems to be more generic:
https://github.com/GeekyAnts/NativeBase/issues/1217

DeckSwiper doesn't like any additional styles then those suggested by the designers. I used to saw empty screen until I removed justify and alignment styles from the wrapper <View> (this one from NativeBase).


Add warning for filtered class collection properties

Coverage decreased (-0.02%) to 93.776% when pulling 36abb5f157b8f36ab46f9804cd08f43943c898aa on add-warning-for-filtered-class-collection-properties into 7c5fcb7a901afd5d3a1a2feb1976fef5af20ea4d on refactor-schema-graph.

Coverage decreased (-0.02%) to 93.776% when pulling 36abb5f157b8f36ab46f9804cd08f43943c898aa on add-warning-for-filtered-class-collection-properties into 7c5fcb7a901afd5d3a1a2feb1976fef5af20ea4d on refactor-schema-graph.


Bug: Invalid get index 'center left' (on base 'Dictionary').

Good day,
So I was trying to put a character in spot "left center" and got this bug:
Invalid get index 'center left' (on base 'Dictionary').

The bug happens when the character is supposed to join the scene.

Cordially,
RilDev

What version are you using?

This was supposed to be fixed in this pull request: https://github.com/coppolaemilio/dialogic/pull/52 that's why I'm asking

I'm using Godot 3.2.3 stable and for the Dialogic, I installed the plugin from the assets library today.

Cool! I'll see if I can update the asset library version to the latest. Thanks for the reports!


Feature - Show "Liked Songs" of an Artist

On the official Spotify app, when on an artist's page, there is a "Liked Songs" section that shows the amount of songs you've liked by this artist.
Clicking into the "Liked Songs" section shows a playlist of these songs.
It would be cool to have this feature/selection filter added to psst as well.

Big fan of this ^


Design qa

[ ] Breadcrumb nav - is this consistent with how this works/looks elsewhere?

[x] Last item in the breadcrumb should be blue since it's a link

[x] These things should close when something is selected or if you click off.

[x] This question icon should show a tooltip to explain how inheriting works. Someone can write that up, but it's generally that the higher level defines areas below if all areas below are set to "inherit setting", but if the child is changed, it takes precedence.

[ ] Any reason why we can't do sortable columns on the table like seen on the other admin tables?

[x] The inherit setting button isn't working. It should change the row back to inheriting the setting (even if its the same as what the row is on currently, since it's a different setting).

[x] The inherit setting button is what the item should be default selected. But right now it doesn't even show up unless you change the setting. A "yes" inherited setting is not the same as a "yes" setting since if the parent changes, the inherited one will change.

@rowo  the OpenSRP web team is to discuss the difference in the breadcrumbs used here and those on review web then update on the next cause of action.

[ ] Any reason why we can't do sortable columns on the table like seen on the other admin tables?

I have moved this to its own issue due to the LOE estimated for the work.

[ ] This question icon should show a tooltip to explain how inheriting works. Someone can write that up, but it's generally that the higher level defines areas below if all areas below are set to "inherit setting", but if the child is changed, it takes precedence.

This is related to the following issue

@rowo https://web.anc-stage.smartregister.org/ the issues addressed are marked.

All issues addressed apart from the breadcrumb one. Moving the breadcrumb to a separate issue.


Crashes When Trying To Load Angular2 5min Tutorial Code

I couldn't make it work with angular code using both local and global installation, via npm and by calling it directly.
The execution always stops on unhandled exception:
'''
events.js:154
throw er; // Unhandled 'error' event
^
Error: watch node_modules/insight/node_modules/lodash/internal/LodashWrapper.js ENOSPC
at exports._errnoException (util.js:856:11)at FSWatcher.start (fs.js:1313:19)
at Object.fs.watch (fs.js:1341:11)at createFsWatchInstance (/node_modules/chokidar/lib/nodefs-handler.js:37:15)
at setFsWatchListener (/node_modules/chokidar/lib/nodefs-handler.js:80:15)
at FSWatcher.NodeFsHandler._watchWithNodeFs (/node_modules/chokidar/lib/nodefs-handler.js:228:14)
at FSWatcher.NodeFsHandler._handleFile (/node_modules/chokidar/lib/nodefs-handler.js:255:21)
at FSWatcher. (/node_modules/chokidar/lib/nodefs-handler.js:473:21)
at FSReqWrap.oncomplete (fs.js:82:15)
'''
npm-debug.log:
[0] info it worked if it ends with ok
[1] verbose cli [ '/usr/bin/nodejs', '/usr/bin/npm', 'run', 'lite' ]
[2] info using<EMAIL_ADDRESS>[3] info using<EMAIL_ADDRESS>[4] verbose run-script [ 'prelite', 'lite', 'postlite' ]
[5] info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>[6] silly lifecycle<EMAIL_ADDRESS>no script for prelite, continuing
[7] info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>[8] verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle true
[11] silly lifecycle<EMAIL_ADDRESS>Args: [ '-c', 'lite-server' ]
[12] silly lifecycle<EMAIL_ADDRESS>Returned: code: 1  signal: null
[13] info lifecycle<EMAIL_ADDRESS>Failed to exec lite script
[14] verbose stack Error<EMAIL_ADDRESS>lite: lite-server
[15] verbose stack Exit status 1
[16] verbose stack at EventEmitter. (/usr/lib/node_modules/npm/lib/utils/lifecycle.js:232:16)
[17] verbose stack at emitTwo (events.js: 100:13)
[18] verbose stack at EventEmitter.emit (events.js:185:7)
[19] verbose stack at ChildProcess. (/usr/lib/node_modules/npm/lib/utils/spawn.js:24:14)
[20] verbose stack at emitTwo (events.js: 100:13)
[21] verbose stack at ChildProcess.emit (events.js:185:7)
[22] verbose stack at maybeClose (internal/child_process.js:827:16)
[23] verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
[24] verbose pkgid<EMAIL_ADDRESS>[25] verbose cwd /home/tyshkev/code/study/angular/quickstart
[26] error Linux 3.19.0-49-generic
[27] error argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "lite"
[28] error node v5.6.0
[29] error npm  v3.6.0
[30] error code ELIFECYCLE
[31] error<EMAIL_ADDRESS>lite: lite-server
[32] error Exit status 1
...
[33] verbose exit [ 1, true ]
This doesn't happen when angular is not included on the page.
Same package configuration with browser-sync v2.11.1 has no issues.

Here was the same. I am on ubuntu and the workaround mentioned in BrowserSync/browser-sync#224 by @amoswachanga
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

I had the same problem on Linux 4.1.18-1-1-Manjaro. The above command fixed it for me.

Thank you @dzwicker.

How do I set this up on OSX?


Quick fix: Add 2017 (and remove 2012) to the date selectors in  both redundancy pay calculators

Trello card: https://trello.com/c/o9VyvVWZ
Motivation
Users want to calculate their statutory redundancy entitlement in advance. As it is December, it is perfectly reasonable for users to want to be able to check dates for early year.
As both of the redundancy pay calculators (calculate-employee-redundancy-pay and calculate-your-redundancy-pay) are preventing users from checking 2017 dates, a lot of errors are being reported in Feedex.
To ease the burden on users, this is a quick fix that allows users to check redundancy payments for dates in 2017.
A more complete fix that removes hard-coded drop-down dates will follow in card https://trello.com/c/9Iq4SmoQ
Factcheck
calculate-employee-redundancy-pay
calculate-your-redundancy-pay
Expected changes
URLs on GOV.UK:

calculate-employee-redundancy-pay

Add 2017 to, and remove 2012 from, the What date were you made redundant? date selector

calculate-your-redundancy-pay

Add 2017 to, and remove 2012 from, the What date were you made redundant? date selector

Calculate Employee Redundancy Pay
Before

After

Calculate Your Redundancy Pay
Before

After

@leenagupte 👍  this LGTM.. I have observed that the commit order flow a bit differently.
2d77409235fa5fb37cc4e5ddb6464a4e6a4037ed and a557c644172c6092bf96f32cd8479b2baf4cd248 are quite similar and could be squashed together .. also the checksums suggests so as well.

@ikennaokpala Thanks. I will implement your suggestions.


Revert "fix: return already exists error"

Overview
Commit b528275d4e819e61fdd57448598b5e2141bbc84e introduced a bug which prevented resources from updating and failed the system tests.
This PR reverts the commit. It keeps the filesystem limit fix functioning.

@vladklokun pls update the branch

@dwertent done


Aug updates

Adding support for checking the status of an upload.

@octabode after running this branch locally, a few suggestions

add a refresh link to the status page to make it easy to check for more recent status update
select the status key and show the value directly (Status: PENDING) instead of inlining the JSON


ARTEMIS-2488: Handle the case where source address is null

@clebertsuconic @michaelandrepearce Updated with your suggestions.


Use the new UIView animation methods that use springVelocity to make animation more natural

Since then, I have also made the visible, leftMenuVisible, and rightMenuVisible properties readonly in header because I needed them in my subclass and I thought it was something important enough to surface in the API.

Hi, guys. Is there any chance that this pull request will be merged? I'd like to use RESideMenu with this animation in my project, but I don't want to break cocoapod support and edit the code manually.

This git is not updated for a while. What if we created a new git???


[SIP-28] Proposal for moving frontend assets to the base of the repo

[SIP] Proposal for moving frontend assets to the base of the repo
Motivation
Currently frontend assets are embedded in the superset package under superset/assets/, which is symlinked insuperset/assets/static. This is really confusing for newcomers to the project as it's unclear why code appears to be duplicated. Additionally this is a UNIX symlink so the link isn't created on Windows machines.
Moreover is seems there's code (eg, MANIFEST.in, Dockerfile ) that tries to work around the fact that the entire frontend exists in the superset module and most of these files are not needed during runtime. Things like whitelisting files and removing files after builds are workarounds to the actual issue and only add complexity to the problem.
Proposed Change

Move the frontend code into a top level directory, something like frontend or client
Configure webpack to output the built/dist files to superset/assets/dist. This can include the package.json (needed for version info) and any other necessary runtime files.
remove the symlinks.
update build scripts
make sure everything works (local builds, docker builds, python package, CI, etc.)
update documentation.

New or Changed Public Interfaces
[no changes]
New dependencies
[no changes]
Migration Plan and Compatibility
No major/breaking changes should be necessary. The bulk of the work would be around making sure no existing builds/scripts break and documentation is updated. Since most of the changes will only be moving files, rebases should be automatic, though this will probably require a lot of existing branches to be rebased.
Rejected Alternatives

Remove the symlink and move everything to superset/static/assets and continue to support the whitelisting in MANIFEST.in and the cleanup in Dockerfile and possibly other places.
Continue to support the current file organization and continue to field questions such as: https://github.com/apache/incubator-superset/issues/8804

🏷 #SIP

🏷 #SIP

🏷 SIP

🏷 🗑 SIP

🗑 🏷 SIP

looks like the bot doesn't like #s 😭

🏷 #SIP

I just ran black superset and it looks like it checked and reformatted some python code in node_modules. Aside from the question of what are python files doing node_modules, this raises the the concern that linters/formatters are running on files we don't care about.

I would LOOOOOVE to no longer see the (apparent) code duplication. It not only makes things confusing at the start, but tedious (e.g. searching) even when you know your way around a bit.
I prefer "client" to "frontend" for some reason, but I'm not stuck on it.
Let me know if/where I can help in this effort!

+1, I have no strong opinions on the topic, but the folder name could also be javascript

Don't forget to notify the dev@ mailing list about the SIP, it should really just be a pointer and the conversation should happen here on Github (rich content, versioned, reactions, bots, ...).

I would even go a step farther and explicitly break out top level dirs for...

superset (backend service): all things python go under here, and no python goes above it (unless it is decoupled from superset's backend service codebase, ie utilities, scripts, etc, for working with the full project)
superset-frontend: nodejs stuff fully contained under here

...and move all requirements*.txt, and setup.py etc--literally everything that is scoped to the backend--out of the root and into that backend svc root dir.
This would be more explicit, much much cleaner and self-documenting (IMO), and it would allow each project root to have its own well-scoped Dockerfile, .gitignore, etc in the root. It would make it clear where the test infrastructure lives for the different bits of frontend and backend (right now the whole thing is powered by python tox orchestration) and would be more intuitive for folks who are used to one stack or the other.

I would even go a step farther and explicitly break out top level dirs for 2 distinct, separate projects:

superset (backend service): all things python go under here, and no python goes above it (unless it is decoupled from superset's backend service codebase, ie utilities, scripts, etc, for working with the full project)
superset-frontend: nodejs stuff fully contained under here

...and move all requirements*.txt, and setup.py etc--literally everything that is scoped to the backend--out of the root and into that backend svc root dir.
This would be more explicit, much much cleaner and self-documenting (IMO), and it would allow each project root to have its own well-scoped Dockerfile, .gitignore, etc in the root. It would make it clear where the test infrastructure lives for the different bits of frontend and backend (right now the whole thing is powered by python tox orchestration) and would be more intuitive for folks who are used to one stack or the other.

Only potential problem I see with @DiggidyDave 's option is that we would have nested superset dirs. A slight variation to this solution could be:

superset-py - superset top-level package lives in here, along with py related stuff
superset-frontend - node stuff

Thoughts?

+1 on distinct top-level dirs. To chime in on the naming discussion, I think just calling them "frontend" (or "client") and "backend" would be good. Using "superset" in the directory names seems superfluous. Disagree with the name "javascript" as that's just one of at least 3 languages in use.
This should actually be SIP-32. Looks like not all SIPs are labelled correctly (fixing).

FWIW I personally also prefer names that explicitly contain frontend and backend, but I was afraid it would get the opposite pushback.  FWIW my "real" suggestion would be superset-frontend and superset-backend, which leaves open the possibility in the future of having some other subproject that is another app or service in the root dir also.
I have a very minor objection to either superset-py or javascript simply because those are coupling the thing being named with the tech currently in use. (Not that we are liable to have a sudden switch to typescript or go or anything like that, but sometimes other things get mixed in a bit, as noted by @suddjian sometimes we sprinkle in other tech... so less specificity in the name w.r.t. the tech in name would be good imo.


Run the dump database & indexing backup to the production.

This is related to the ticket: https://app.zenhub.com/workspaces/iaticloudfrontend-5b8e865bb2cc7b6c78ece322/issues/zimmerman-zimmerman/iati.cloud/1944

@taufik-hidayat so where is the data dumped?


Add support for detokenizing USFM

closes #153

This change is

src/SIL.Machine/Corpora/UsfmToken.cs line 228 at r1 (raw file):

                if (!string.IsNullOrEmpty(Data))
                {
                    if (!addSpaces && (Marker.Length == 0 || Marker[Marker.Length - 1] != '*'))

What does this do?

src/SIL.Machine/Corpora/UsfmToken.cs line 228 at r1 (raw file):
Previously, johnml1135 (John Lambert) wrote…
What does this do?

Ported updates from machine.py.


Added missing requirement for testing to requirements_test.txt

Added missing requirement frozendict, which is needed in /tests/optimizers_test.py.

Hi @peterdsharpe ,
Thanks for your pull request. We actually caught this issue internally a while ago and fixed it. I just synced up the github repo with our internal repo, so I'm going to go ahead and close this PR.


Branch 137452948

Merging internal changes.

@tensorflow-jenkins test this please

@tensorflow-jenkins test this please.


Switch to "unversioned" in antora.yml

See https://docs.antora.org/antora/latest/component-with-no-version/
We don't actually have a master branch, so it should have been main to begin with. Likely a copy/paste snafu made in
93b0e925ed36e7f8fa64249c007d7f08c95910bc.
But actually, because we don't build docs for different branches, switching to unversioned should be is better, and by chance it preserves the url path for the policies. I guess since "master" exist the antora build was skipping the url prefix entirely.
(And now we know why ec-policies is the only component without the 'main/' in its url path.)
Drive-by fix while working on...
Ref: https://issues.redhat.com/browse/EC-903

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (f93ecac) to head (4598f7f).
Report is 2 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff            @@
##              main     #1169   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files          117       117
  Lines         6126      6141   +15
=========================================
+ Hits          6126      6141   +15

see 2 files with indirect coverage changes

Actually this one is safe to merge now I think..?


Rebuild fedora images to upgrade to 37

Updated the images, but I am afraid the latest Fedora is still 36.

OK - I need 37, because that supports the most recent version of a package I want to install. How about adding an ARG instruction above the FROM ? That way you can set the default version to "latest: but still build images based on other tags. I can provide a pull request if you like.

I suggest forking and modifying the top line to FROM fedora:37. The reason I don't want to include an ARG is that xrdp is not compatible will all versions of Linux. These have to be tested individually to make sure it actually works before pushing to the Docker Hub. It would be a hassle to do this manually unless there is an automated way to keep up with the updates.
Can the ARG have a default value? So if the user doesn't include it falls back on :latest?

Can the ARG have a default value? So if the user doesn't include it falls back on :latest?
It can indeed, just add the following line before the FROM :
ARG TAG=latest

you can now override this with :
docker build --build-arg TAG=37 ...

Okay, feel free to do a pull request. Thanks.

FYI: fedora:latest has just been updated to 37.


[XSLT converter] errors during stylesheet compilation

This cURL
curl -X POST -H "Content-Type: text/html" -H "Cache-Control: no-cache" -H "Postman-Token: 09e5688e-ade3-f429-7458-22ed9b34a69c" -d '<xliff version="2.0" xmlns="urn:oasis:names:tc:xliff:document:2.0" srcLang="en" trgLang="fr">
    <file id="f1">
        <unit id="u1">
            <segment>
                <source>We very much welcome you in the city of Prague, a home of XML!</source>
            </segment>
        </unit>
	  <unit id="u2">
            <segment>
                <source>We very much welcome you in the city of Berlin, a home of JSON!</source>
            </segment>
	      <unit id="u3">
            <segment>
                <source>We very much welcome you in the city of London, a home of RDF!</source>
            </segment>
        </unit>
        </unit>
    </file>
</xliff>
' "http://api-dev.freme-project.eu/current/toolbox/xslt-converter/documents/xliff20-to-html"

produces
{
  "exception": "eu.freme.common.exception.FREMEHttpException",
  "path": "/toolbox/xslt-converter/documents/xliff20-to-html",
  "message": "Errors were reported during stylesheet compilation",
  "error": "Internal Server Error",
  "status": 500,
  "timestamp":<PHONE_NUMBER>474
}

I fixed the init-xsltconverter...sql scripts (had to remove all \r) and updated the converter at freme-dev. I'm not sure about the converter at live, it still looks different than the dev version.

@fsasaki can we replace the version at live (which can not not be compiled and I could not find the error) with the one at freme-dev?

yes, we can do that, thanks.

I updated the converter at live. But because of some bug fixes which are not released yet, the output of the request above is still incorrect at live. Nevertheless, @jnehring can we close this?

I leave it open so I can test it at next release.

This works after the release


Release Google.Cloud.BareMetalSolution.V2 version 1.3.0

Changes in this release:
New features

Restructure proto messages (commit 1eeb6b3)

Created release for Google.Cloud.BareMetalSolution.V2-1.3.0


UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd7 in position 30: invalid continuation byte

I get the error while using it for a aup3 file (maybe that's the problem...), the full command is:
python -m audacity inp.aup3 out.wav

while running in a venv.

I think this project is using aup2 as aup3 has switched to sqlite3 format. You can use this tool instead: https://github.com/audacity/audacity-project-tools.

Yes, sorry, I haven't used audacity in ages.  If they've changed the format then this package has probably become obsolete, but there is a audacity-project-tools that apparently fixes everything you needed to get fixed with audacity.


Using existing mnemonic in kosmos in first time setup fails

On development_types branch
do you want to use ssh-agent for secret key in jumpscale? [y/n]: n
Provide a strong secret which will be used to encrypt/decrypt your private key:
Provide a strong secret which will be used to encrypt/decrypt your private key (confirm):
Ok to generate private key (Y or 1 for yes, otherwise provide words)? [y/n]: n
Provide words of private key: [24 words]

give the 3e word of the private key string: [3rd word]

EXCEPTION

        /sandbox/bin/kosmos                                          : 149 : j.application.bcdb_system #needed to make sure we have bcdb running, needed for code completion
        /sandbox/lib/jumpscale/Jumpscale/core/Application.py         : 64  : bcdb = self._j.data.bcdb.new("system",None)
        /sandbox/lib/jumpscale/Jumpscale/data/bcdb/BCDBFactory.py    : 32  : self.bcdb_instances[name] = BCDB(zdbclient=zdbclient,name=name,reset=reset)
        /sandbox/lib/jumpscale/Jumpscale/data/bcdb/BCDB.py           : 49  : self.meta = BCDBMeta(self)
        /sandbox/lib/jumpscale/Jumpscale/data/bcdb/BCDBMeta.py       : 28  : self.reset()
        /sandbox/lib/jumpscale/Jumpscale/data/bcdb/BCDBMeta.py       : 68  : self.data
        /sandbox/lib/jumpscale/Jumpscale/data/bcdb/BCDBMeta.py       : 49  : if self._data.name != self.bcdb.name:
        /sandbox/var/CODEGEN/schema_jumpscale_schemas_meta_1.py      : 84  : v = j.data.types.string.clean(self._cobj_.name)
        capnp/lib/capnp.pyx                                          : 1048:
        capnp/lib/capnp.pyx                                          : 1046:
        capnp/lib/capnp.pyx                                          : 1042:

Fri22 15:14 Application.py   -  59 - bcdb_system                        : {RED}EXCEPTION: {RESET}capnp/layout.c++:2418: failed: expected ref->listRef.elementSize() == ElementSize::BYTE; Message contains list pointer of non-bytes where text was expected.
stack: 0x7fbee51122fa 0x7fbee511283f 0x7fbee4ff00f7 0x7fbee4fa505b 0x560592 0x50677d 0x504c28 0x58644b 0x4ac411 0x56074d 0x50677d 0x504c28 0x58644b 0x4ac411 0x56074d 0x50677d 0x502209 0x502f3d 0x506859 0x501945 0x591461 0x54b813 0x555421 0x5a730c 0x503073 0x506859 0x504c28 0x501b2e 0x591461 0x54b813 0x555421
CANNOT CONTINUE

which install options, was this with docker
when did this error happen?
was this in container?

installed in docker, image is: phusion/basimage:master
installed by following the install instructions for linux while already inside container (created container, ssh'ed into it, then did the linux install)
error happened after switching from development to development_types branch, needed to set up the key again

think you didn't have right install script, questions as above are not part of installer of development_types branch
please try again and make new if needed
to install in docker better to do:
https://github.com/threefoldtech/jumpscaleX/blob/development_types/docs/Installation/install_docker.md
maybe sure the install script you call is from right branch


deliveryProfileUpdate mutation not working

Issue summary
The GraphQL Query for deliveryProfileUpdate is not working via Shopify.Clients.Graphql and receiving a 400 Bad Request.
 mutation ($id: ID!, $profile: DeliveryProfileInput!) {
           var: deliveryProfileUpdate(id: $id, profile: $profile){
             profile {
               id
             }
             userErrors {
               field
               message
             }
           }
         }

This is using the Shopify.Clients.Graphql(shopName, accessToken);
Expected behavior
Should process the query and update the Shipping Profile.
The graphql query works using the Shopify GraphiQL App.
I've been using a workaround via fetch (below) which is working - However I thought I should report my error anyway.
    let updateShippingProfile = await fetch(
      `https://${shop}/admin/api/2021-07/graphql.json`,
      {
        method: "POST",
        headers: {
          "X-Shopify-Access-Token": shopAccessToken,
          "Content-Type": "application/json",
        },
        body: JSON.stringify({
          query:
            'mutation{deliveryProfileUpdate(id: "gid://shopify/DeliveryProfile/' +
            deliveryProfileId +
            '", profile: {variantsToAssociate: ["gid://shopify/ProductVariant/' +
            variantId +
            '"]}){profile {id}userErrors{message}}}',
        }),
      }
    );

Error Msg
HttpResponseError: Received an error response (400 Bad Request) from Shopify: [object Object]. If you report this error, please include this id: 4ab27f39-a174-4522-9713-6843276aeaae
0|dyn    |     at HttpResponseError.ShopifyError [as constructor] (/var/www/html/node_modules/@shopify/shopify-api/dist/error.js:13:28)
0|dyn    |     at new HttpResponseError (/var/www/html/node_modules/@shopify/shopify-api/dist/error.js:95:28)
0|dyn    |     at HttpClient.<anonymous> (/var/www/html/node_modules/@shopify/shopify-api/dist/clients/http_client/http_client.js:214:55)
0|dyn    |     at step (/var/www/html/node_modules/@shopify/shopify-api/node_modules/tslib/tslib.js:143:27)
0|dyn    |     at Object.next (/var/www/html/node_modules/@shopify/shopify-api/node_modules/tslib/tslib.js:124:57)
0|dyn    |     at fulfilled (/var/www/html/node_modules/@shopify/shopify-api/node_modules/tslib/tslib.js:114:62)
0|dyn    |     at processTicksAndRejections (internal/process/task_queues.js:97:5) {
0|dyn    |   code: 400,
0|dyn    |   statusText: 'Bad Request'
0|dyn    | }

Steps to Reproduce

Setup a shipping profile on a store and retrieve its ID (manually or programmatically)
Use the Shipping profile ID to make a GraphQL Request via deliverProfileUpdate mutation
Use a product's variant ID (not a product ID) within the query with the goal to attach it to the custom shipping profile

Extra information: this is all done through a Custom App and the accessToken used is an offline token

I'm getting the same error but for a different api call and the error message displays [object Object] meaning the error is not being unwrapped.
creating a script tag:
const data = await ctx.state.client.post({
            path: 'script_tags',
            body: {
                "script_tag": {
                    "event": "onload",
                    "src": "https://google.com"
                }
            },
            type: DataType.JSON,
        });

returns:
 Received an error response (400 Bad Request) from Shopify: [object Object]. If you report this error, please include this id: 764305ab-f162-491c-9ab9-7ce93a835f09


dbt_utils.pivot function fails on empty table

Describe the bug
dbt_utils.pivot function does expect at least one record to be populated in the source table. If there is no record in source table, this function fails with a nonetype object error as it does not found values to loop through.
Steps To Reproduce
Use dbt_utils.pivot function/macro for an empty table and do the run.
Expected behavior
Function should silently pass with no records generated. It should not fail.
System information
Which database are you using dbt with?

[ ] postgres
[ ] redshift
[ *] bigquery
[ ] snowflake
[ ] other (specify: ____________)

The output of dbt --version:
installed version: 0.17.0
   latest version: 0.18.0

Your version of dbt is out of date! You can find instructions for upgrading here:
https://docs.getdbt.com/docs/installation

Plugins:
  - bigquery: 0.17.0
  - snowflake: 0.17.0
  - redshift: 0.17.0
  - postgres: 0.17.0

The operating system you're using:
Mac
The output of python --version:
Python 3.7.3

@aadityahippo I'm going to transfer this issue to the dbt-utils repository, where the code defining dbt_utils.pivot exists.


Use LazyLogging

tileserver #104 FAILURE
Looks like there's a problem with this pull request

tileserver #105 FAILURE
Looks like there's a problem with this pull request

tileserver #107 SUCCESS
This pull request looks good


Depth rgb registration

Can be exposed something in openni to accellarate depth registration also on android?
Please see:
http://forums.structure.io/t/registration-between-color-and-depth/2301
And your PR at https://github.com/Itseez/opencv_contrib/pull/132

@trotlinebeerca You sell a structure sensor android soluion and you are doing also some android work for occipital. Do you have any feedback on this?


Override the default timezone

Would you consider adding a feature to set the default timezone that Tempo would use to format dates?
Perhaps deviceTZ() could be enhanced to consult a default timezone override, falling back to the device timezone if unset?

isn't tzDate() enough though? I asked similar question for UTC in an issue that I closed not long after getting more info from the author in this comment

So yes, if you want to create the utc time, in utc you can do tzDate('2020-02-04', 'utc'), but you can also do tzDate('2020-02-04T09:30', 'America/New_York') which would return a Date object (utc timestamp) for 9:30am on Feb 4th, 2020 in new york.

Thank you. I'm primarily concerned with formatting the dates. All of my dates come from the server in UTC, but I always want them displayed in the website's local timezone (which may be different than the user's timezone).
That's why I think being able to set a default format (or display) timezone would be useful.
As it is now, I have to remember to set the timezone in every call to format() (and there are many in this application we're building).


Curious about package availability

Hi there!
I was excited to come across this project! Do you have any rough guesses as to when it might be published on https://www.npmjs.com/?

Looks like it's here: https://www.npmjs.com/package/word


Set Date/Time and Agenda for Next Project Meeting

Lets do this.  When is good for everybody?

Let's add to agenda: June 6 project plan and introductions to Treaty project team (led by Eric Malzer).

Tuesday, May 26th 11am Eastern Time.  Skype and GitHub for Collab. Confirmed.  (Need to hear from Eric)


WIP Update scripts for systemd-boot

Move scripts back to /usr. for immutability.
Update scripts for systemd-boot.
Add air-plus dsdt override script.
Add OXP Mini Pro audio fix.
Add /etc/device-quirks.conf, which will be used to enable firmware overrides like DSDT's and EDID's

https://github.com/ChimeraOS/device-quirks/pull/30/commits/00e04a3f0c1c32f089814418e3266edb48f8fb5d good catch. I'll update the remainder.


Added Pet Skins, a Pet, Pet Recipes and Rarity Colors. fixed Flying Fish

Added new Pet Skins (so fast)
Added Common Zombie
Added Recipes for Zombies
Fixed Flying Fish
Added Rarity Colors

i hope everything is right, if its not then i'm gonna die

good job

good job


Iterate recursively to handle vendor-specific keys

This resolves child keys, for example:
{
 "browser_action": {
    "default_popup": "pages/popup.html",
    "__firefox__browser_style": true
  },
  "options_ui": {
    "page": "pages/options.html",
    "__chrome__chrome_style": true
  },
  "__firefox__applications": {
    "...": "..."
  }
}

Note,  if there's a prefix-vendor match,  we don't iterate on child keys, it doesn't make sense.   if the parent key is already vendor-specific,  its children keys don't need to be prefixed.

This is pretty cool! Thanks never thought of this use case. 👍


Fix for #782

I can't figure out how to run a debug build of SFX locally in a manner that allows it to also interact with an already-running SF dev box cluster so it can pull data, but I believe this to be a fix for the timestamp sorting issue in #782 - the string-based path to the property it sorts on had incorrect casing.

@WhitWaldo you should be able to modify the config for the sfx-proxy and run that in conjunction with the SfxWeb project.


Set allowDiskUse to true in MongoDB bucketAuto aggregation

Fixes #25012 and sets allowDiskUse to true in the mongodbio.Read bucketAuto aggregation.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @lostluck


Double Image Appears in ImageView AfterDownload in ios 13

Once the image get downloaded double image is shown in a imageview

I have same issue. waiting for solution

I will look at this in next days.
Can you provide some code sample? When this behavior occurs?

We have change the code and add a UIView in UIImageView and then add innerImageview in that UIView.
Please check the code below.
@property (weak, nonatomic) UIView *innerView;

(instancetype)initWithCoder:(NSCoder *)aDecoder{
self = [super initWithCoder:aDecoder];
if (self) {
_imageVerticalAlignment = LDImageVerticalAlignmentCenter;
_imageHorizontalAlignment = LDImageHorizontalAlignmentCenter;
_imageContentMode = LDImageContentModeScaleAspectFit;
[super setContentMode:UIViewContentModeScaleToFill];
self.clipsToBounds = YES;
  UIView *tmpView = [[UIView alloc] init];
  tmpView.backgroundColor = [UIColor whiteColor];
  [self addSubview:tmpView];
  _innerView = tmpView;

  UIImageView *tmp = [[UIImageView alloc] init];
  tmp.contentMode = UIViewContentModeScaleToFill;
  tmp.backgroundColor = [UIColor clearColor];
  [tmpView addSubview:tmp];
  _innerImageView = tmp;

  self.contentMode = [super contentMode];
  //self.image = [super image];

}
return self;
}

(void)layoutSubviews{

.....
...
[self.innerView setFrame: self.frame];
}

The above solution by @vijayjangid07 sadly just masks the problem instead of solving it by adding a white background.
The actual issue appears to be that something changed internally in iOS 13 in how images are set (most likely for Dark Mode) and setting the image to nil has no effect. The cleanest way I could find of working around it was to create a separate correctImage property instead of overriding the image property and using that. This constitutes an API change, of course.
Will submit as a PR next.


If you use the kernel for the Minecraft Java Edition server original (Vanilla from Mojang) and have never patched it (NMS) and use additional modifications from forks, then you should ask yourself about using "shit kernel". (Examples)[https://imgur.com/a/atodl1Y].
Try to get a decompiled kernel and patched yourself using (BuildTools)[https://www.spigotmc.org/wiki/buildtools/] and make sure of it.
The sources used were also with patches (Paper)[https://github.com/PaperMC/Paper/tree/ver/1.12.2].
I note that decompilers for online viewing will not show unused code, use the decompilation process itself from more powerful decompilers (example: fernflower).

код такой себе, рефактор нужен

Not enough information.


WHere is codemirror.js in lib

i think in this version of git the lib files don;t contains codemirror.js such that codemirror.js is required for the index.html page

Right, you have to build the file if you clone the git repository. Run npm install for that.

Thanks I'll fix it
On Fri, Mar 2, 2018, 12:26 AM Adrian Heine né Lang<EMAIL_ADDRESS>wrote:

Right, you have to build the file if you clone the git repository. Run npm
install for that.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/codemirror/CodeMirror/issues/5289#issuecomment-369693425,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQ2qynJUqW7IcWxGkqHSkLo8yooH5SpQks5taERtgaJpZM4SYxhY
.


Reduced matching engine request batch size and added retry logic

Match requests to matching engine will now be broken into chunks of 5 (determined by GET_MATCHES_CHUNK_SIZE) to be submitted sequentially.  Also added retry logic using the tenacity library.  The retry scheme right now uses 4 attempts per request, with exponential backoff for the wait time between requests.

Small cosmetic things, but please add updates to changelog before merging.

@fedorgrab The previous entry in the changelog has a header with version number 1.4.2.  Should I use a new version number?

Small cosmetic things, but please add updates to changelog before merging.

@fedorgrab The previous entry in the changelog has a header with version number 1.4.2. Should I use a new version number?

No, let's keep using 1.4.2, we well start a new version after the release. Version increments after each merge dev -> main, while dev aggregates all changelogs from feature branches.

Small cosmetic things, but please add updates to changelog before merging.

@fedorgrab The previous entry in the changelog has a header with version number 1.4.2. Should I use a new version number?

No, let's keep using 1.4.2, we well start a new version after the release. Version increments after each merge dev -> main (which is basically a release), while dev aggregates all changelogs from feature branches.

@fedorgrab Okay I've updated it. Can you take a quick look to make sure I did it correctly?

Looks Great!


ZAPD shouldn't have XML node types or attributes case sensitive

XML standards say attribute nodes should be case sensitive.

XML standards say attribute nodes should be case sensitive.


Add the DatabaseDataProvider and SqliteDataProvider

Description
What is the current behavior?

Add Dataprovider for Databases
Add DataProvider for Sqlite
Add non-native transfer implementation for s3 to Sqlite
Add non-native transfer implementation for GCS to Sqlite
Add example DAG

closes: #1731
What is the new behavior?

Add Dataprovider for Databases
Add DataProvider for Sqlite
Add non-native transfer implementation for s3 to Sqlite
Add non-native transfer implementation for GCS to Sqlite
Add example DAG

Following is the recording of example DAG running: https://astronomer.slack.com/archives/C03868KGF2Q/p1676662728169199
Does this introduce a breaking change?
No
Checklist

[x] Created tests which fail without the change (if possible)
[x] Extended the README / documentation, if necessary

Following is the recording of example DAG running: https://astronomer.slack.com/archives/C03868KGF2Q/p1676662728169199

Some of the test cases which refer to a local file are not added as of now, because the notion of LocalFile is present here it is introduced in another PR - https://github.com/astronomer/astro-sdk/pull/1794, post we have merged this PR we will go ahead and add test case which refers local files.


test-branch/execute-job/comment-from-wrong-user-on-pr/e5161971-4d9a-4540-969d-b62076d34fd8

PR for testing 6e20308494bb9fbf12535127cf3840d36f441738

/canonical/self-hosted-runners/run-workflows 6e20308494bb9fbf12535127cf3840d36f441738


(PDB-1026) Remove to_pson calls in terminus

This commit removes all the to_pson calls in the terminus as well as
removing the associated char_encoding code that is dead code with the
switch to to_json.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/480/

@pljenkinsro retest this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/484/

@pljenkinsro retest this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/489/

@ajroetker do you need someone to help you get this past the line? I recall you briefly mentioning you wanted to chat to me about it.

@pljenkinsro retest this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/552/

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/553/

@pljenkinsro retest this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/564/

@pljenkinsro retest this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/566/

@pljenkinsro retest this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/567/

@pljenkinsro retest this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/570/

@ajroetker oh oh ... we're down to the wire on this patch. That test failure: https://github.com/puppetlabs/puppetdb/blob/master/acceptance/tests/storeconfigs/file_with_binary_template.rb is exactly where I expected some issues. We can talk about this one later, but I'm glad we've removed most of the problems.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/592/

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/595/

@pljenkinsro retest this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/599/

@pljenkinsro retest this please

@pljenkinsro retest this please

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://jenkins.puppetlabs.com/job/platform_puppetdb_intn-sys_pr/600/


Integrate llama into meson & ninja build system

I reproduced all the steps from this blog "https://github.com/nelhage/llama" to build LLVM with cmake and ninja without any problems. Now I’ m trying to integrate llama into our meson & ninja based build system. We build embedded applications for four different architecture and rely on crossfiles to specify the compilers and other tools used per architecture. We have our own SDK for each processor architecture that contains all the tools required for building applications for that architecture. Currently I'm trying to integrate llamacc and llamac++ into the crossfile for just one architecture (PowerPC). At this stage I have managed to use llama update_function to create a debian image that contains our PowerPC sdk push it to AWS ECR and set up a corresponding Lambda container function. The sdk lives in /opt/poky/ppc in the container, which is the same path that it can it be found in on local dev machines. However, I’m struggling to edit our cross-file to use llamacc and llamac++ as the c and cpp compilers.
It is not quite clear for me, how environment variables can be used to control the behaviour of llamacc and llamac++ such that they know where to look for the c and c++ compilers inside the lambda function. Should I be using the LAMACC_LOCAL_CC/CXX environment variables to control that ?  . Any recommendation?
These are the steps I've gone through:

Created a dockerfile in images/ppc_gcc

FROM ghcr.io/nelhage/llama as llama
FROM debian:buster-slim
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-unauthenticated \
        xz-utils \
        python
RUN mkdir -p /opt/poky/
COPY ./poky-ppcsdk.sh /opt/poky/ // poky-ppcsdk.sh is the script to install powerpc sdk
RUN /opt/poky/poky-ppcsdk.sh -y -d /opt/poky/ppc  // install sdk to /opt/poky/ppc
ENTRYPOINT ["/llama_runtime"]

Run llama update function
llama update-function --create --build=images/ppc_gcc ppc_gcc

Updated cross-file for ppc architecture in our build system (ppc.txt)

#Cross-file for building for ppc architecture

[binaries]
c = ['llamacc', '-mtune=e300c3', '--sysroot=/opt/poky/ppc-poky-linux']
cpp = ['llamac++', '-mtune=e300c3', '--sysroot=/opt/poky-poky-linux']
ar = '/opt/poky/ppc/powerpc-poky-linux/powerpc-poky-linux-ar'
strip = '/opt/poky/ppc/powerpc-poky-linux-strip'
pkgconfig = '/opt/poky/ppc/usr/bin/pkg-config'

[built-in options]

# Properties used by the compilers
cpp_args = ['-fno-exceptions', '-ffunction-sections', '-fdata-sections', '-fno-working-directory', '-Werror=poison-system-directories', '-Wall', '-std=c++17', '-Wnon-virtual-dtor', '-fdiagnostics-color=always',$
cpp_link_args = ['-fuse-ld=bfd', '-Wl,--no-keep-memory']
c_args = ['-fno-exceptions', '-ffunction-sections', '-fdata-sections', '-fno-working-directory', '-Werror=poison-system-directories', '-Wall', '-std=c99', '-fdiagnostics-color=always', '-g', '-gsplit-dwarf', '-$
c_link_args = ['-fuse-ld=bfd', '-Wl,--no-keep-memory']

[host_machine]
system = 'linux'
cpu_family = 'ppc'
cpu = 'e300c3'
endian = 'big'

Set up build directory using meson
meson . .ppcbuild --cross-file ppc.txt

The error message that i'm getting is:
ERROR: Compiler  llamacc --sysroot=/opt/poky/ppc-poky-linux can not compile programs.

It is not quite clear for me, how environment variables can be used to control the behaviour of llamacc and llamac++ such that they know where to look for the c and c++ compilers inside the lambda function. Should I be using the LAMACC_LOCAL_CC/CXX environment variables to control that ?

Currently llamacc is hard-coded to look for cc and c++ inside the Lambda function, under the theory that since you control the Docker images it's easy enough to set up a symlink inside the image. If that doesn't work, we could potentially add in LLAMACC_REMOTE_{CC,CXX} options; I was just trying to avoid unnecessary configuration surface.
LLAMACC_VERBOSE=1 during a build should help debug what's going on a bit; I would also expect llamacc to emit an error along the lines of "cc: no such file" if you're able to get log output from the ./configure or whatever it is that's emitting that error. For configure it's usually in config.log IIRC, but I can't tell if you're using autoconf or something else.

Hi Nelhage, thanks for that info. We're not using autoconf, we're simply using meson to generate the build.ninja file which is then used by ninja to build.
I'm currently testing using a single compilation step used by my build system. When I run it with LLAMACC_VERBOSE=1, the console output makes we wonder if llamacc is even using my lambda function, looks like it is using my local cc and c++.  Is there a way I can find out which lambda function llamacc is using?
Context:
I have used llama update_function to set up a lambda function called ppc-sdktest using my Dockerfile. My container contains our ppc sdk in /opt/poky/2.5.3/ppc and the c and c++ compilers in our sdk have been symlinked to c and c++. I try to force llamacc to use this function using the LLAMACC_FUNCTION env variable but it looks like it is the local c and c++ on my machine.
me@my-machine: ~/src/firmware/.ppcbuild$ LLAMACC_VERBOSE=1 LLAMACC_FUNCTION=ppc-sdktest llamac++ -v -mtune=e300c3 --sysroot=/opt/poky/2.5.3/ppc/sysroots/mpc83xx-poky-linux -IlibTextLog_ppc.a.p -I. -I.. -I../TextLog/include -IErrors -I../Errors -I../BOS/include -I../BOS/include/BOS/Test -I../BOS/platform/linux/include -I../Util/include -I../UnitTest/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -fno-exceptions -ffunction-sections -fdata-sections -fno-working-directory -Werror=poison-system-directories -Wall -std=c++17 -Wnon-virtual-dtor -fdiagnostics-color=always -g -gsplit-dwarf -DLINUX -DLABRINTH -DNDEBUG -Wno-unused -Wno-uninitialized -O2 -MD -MQ libTextLog_ppc.a.p/TextLog_source_StringRef.cpp.o -MF libTextLog_ppc.a.p/TextLog_source_StringRef.cpp.o.d -o libTextLog_ppc.a.p/TextLog_source_StringRef.cpp.o -c ../TextLog/source/StringRef.cpp

2021/08/16 23:35:43 run cpp -MM: ["c++" "-v" "-mtune=e300c3" "--sysroot=/opt/poky/2.5.3/ppc/sysroots/mpc83xx-poky-linux" "-fdiagnostics-color=always" "-Wall" "-Winvalid-pch" "-Wnon-virtual-dtor" "-fno-exceptions" "-ffunction-sections" "-fdata-sections" "-fno-working-directory" "-Werror=poison-system-directories" "-Wall" "-std=c++17" "-Wnon-virtual-dtor" "-fdiagnostics-color=always" "-g" "-gsplit-dwarf" "-Wno-unused" "-Wno-uninitialized" "-O2" "-MQ" "libTextLog_ppc.a.p/TextLog_source_StringRef.cpp.o" "-D" "_FILE_OFFSET_BITS=64" "-D" "LINUX" "-D" "LABRINTH" "-D" "NDEBUG" "-I" "libTextLog_ppc.a.p" "-I" "." "-I" ".." "-I" "../TextLog/include" "-I" "Errors" "-I" "../Errors" "-I" "../BOS/include" "-I" "../BOS/include/BOS/Test" "-I" "../BOS/platform/linux/include" "-I" "../Util/include" "-I" "../UnitTest/include" "-M" "-MF" "/dev/stdout" "../TextLog/source/StringRef.cpp"]

Using built-in specs.
COLLECT_GCC=c++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-6' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 8.3.0 (Debian 8.3.0-6)
COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-mtune=e300c3' '-Winvalid-pch' '-fno-exceptions' '-ffunction-sections' '-fdata-sections' '-fno-working-directory' '-Werror=poison-system-directories' '-Wall' '-std=c++17' '-Wnon-virtual-dtor' '-g' '-gsplit-dwarf' '-Wno-unused' '-Wno-uninitialized' '-O2' '-MQ' 'libTextLog_ppc.a.p/TextLog_source_StringRef.cpp.o' '-D' '_FILE_OFFSET_BITS=64' '-D' 'LINUX' '-D' 'LABRINTH' '-D' 'NDEBUG' '-I' 'libTextLog_ppc.a.p' '-I' '.' '-I' '..' '-I' '../TextLog/include' '-I' 'Errors' '-I' '../Errors' '-I' '../BOS/include' '-I' '../BOS/include/BOS/Test' '-I' '../BOS/platform/linux/include' '-I' '../Util/include' '-I' '../UnitTest/include' '-M' '-MF' '/dev/stdout' '-shared-libgcc' '-march=x86-64'
 /usr/lib/gcc/x86_64-linux-gnu/8/cc1plus -E -quiet -v -I libTextLog_ppc.a.p -I . -I ..  search starts here:
#include <...> search starts here:
 libTextLog_ppc.a.p
 .
 ..
 ../TextLog/include
 Errors
 ../Errors
 ../BOS/include
 ../BOS/include/BOS/Test
 ../BOS/platform/linux/include
 ../Util/include
 ../UnitTest/include
 /usr/include/c++/8
 /usr/include/x86_64-linux-gnu/c++/8
 /usr/include/c++/8/backward
 /usr/lib/gcc/x86_64-linux-gnu/8/include
 /usr/lib/gcc/x86_64-linux-gnu/8/include-fixed
 /opt/poky/2.5.3/ppc/sysroots/mpc83xx-poky-linux/usr/include
End of search list.
cc1plus: error: bad value (‘e300c3’) for ‘-mtune=’ switch
cc1plus: note: valid arguments to ‘-mtune=’ switch are: nocona core2 nehalem corei7 westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2 broadwell skylake skylake-avx512 cannonlake icelake-client icelake-server bonnell atom silvermont slm knl knm intel x86-64 eden-x2 nano nano-1000 nano-2000 nano-3000 nano-x2 eden-x4 nano-x4 k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3 athlon-fx amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 znver1 btver1 btver2 generic native
Running llamacc: Detecting dependencies: exit status 1

Hm, yeah, it looks like you're running into trouble before you even make it to Lambda. The cpp -MM call llamacc is printing out is a local run of the preprocessor in order to detect the header files needed by a source file, so we know which files to bundle up and send to the cloud. That run will use the LLAMACC_LOCAL_CC/CXX compiler to decide which compiler to run locally.

Thanks nelhage, that makes sense :)


Clicking on the year part of the date should open the year selector

hey, first of all, thank you for this amazing rewrite!
There currently is no way to open the "year" picker to select the year.
Ideally when clicking on the year, it would open the year picker.
Thanks again!

Yes, agree!


Handle OmittedExpression nodes in binding patterns

Now that  #10798 is in we need to update our lint rules to check for OmittedExpressions too.

:+1:


Import asdf-python repository

@asdf-community/asdf-python Once you have moved the repository, please comment here. I will merge this and import the repository into Terraform appropriately.

Related issue: https://github.com/asdf-community/.github/issues/30


fix: Add protocol to system engine

Thanks for adding the tests. I can't review my own PR but lgtm.


Dynamical systems tutorial is missing textual content

The introductory notebook dynamical_intro.ipynb in #241 needs explanatory text to be written for most of the code and results.

Resolved by #377


[FEATURE] Addition of a switch to dark mode button

Description
As i have seen the website has no dark theme so it would be better from the point of view of user if we add a dark mode, I can work under this isssue!
Screenshots

🥦 Browser
Google Chrome
Checklist ✅

[X] I checked and didn't find similar issue
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (blank for no)

Please assign me this issue under GGSOC'23.
Thanks in advance.

@IAmTamal can you assign me this issue so I can start working on it .

Sure go ahead, and assigning you.
Please make sure that you have read our documentation on Commiting guidelines and Pull request guidelines, without proper format the PR might be closed.

Hi there, it has been a while. I would love to know what changes you are making and/or are working on this.

hey there I am on it.

hey there I am on it.

That's great to know. You can make a PR once almost there ⚡

This issue has been inactive for a long time
I would like to work on this issue
Please assign

This issue has been inactive for a long time I would like to work on this issue Please assign

The last reply from the original contributor was 5 days ago. I generally wait for 2-3 weeks since everyone has a life apart from coding. So please be patient.

Notice 🚩
Hi there, unfortunately, I have to close this Issue/PR, as there is no work currently going on for the same. There might be more Issues/PR which are waiting for this to be completed - so it is better to pace things up. I generally spend/wait for 3 weeks before closing.
If you think that this is a mistake, please drop a mail at<EMAIL_ADDRESS>and we will get back to you.
Regards,
Team Milan.


truncateAsFixed() idea

Hello, I ran into an issue today at work (using flutter at work) where I was receiving a double from the backend that was<PHONE_NUMBER>6. I wanted to display this value as an amount of money, such as £116.41 and I didn't expect any rounding to occur.
Unfortunately, I found out that toStringAsFixed() does appear to round as I was getting £116.42 on the display.  I searched but I didn't see any kind of way to effectively truncate a double to a fixed amount.
In the end, I created a function to do it for me. I don't think it's great but maybe a jumping-off point for a feature that I think would be useful to have in the SDK.
https://dartpad.dev/?id=e8ab76b086cbd79b212491b38bf58a7f

Only now of writing this do I see on the docs the example line toStringAsFixed()
(4321.12345678).toStringAsFixed(5);  // 4321.12346

where it shows rounding but my personal opinion is that it's not obvious enough. Perhaps instead
(1.118).toStringAsFixed(2);  // 1.12

maybe it's the 1, 2, 3, ... it doesn't stand out.
Either way, kind regards, Tom.

I'm not sure that functionality is available in JavaScript, and it's something we'd have to fix manually.
It's also unclear what truncation should do, fx for the double value written as 10.43. That is, what string is 10.43.truncateAsFixed(2).
It looks like it should give "10.43", obviously, but the actual value for that double is slightly less than the rational number 10.43 (it's 10.42999999999999971578290569595992565155029296875 to be precise), so realistically, you'd probably see 10.43.truncateAsFixed(2) being "10.42". Likely surprising and not what you want.
You do want rounding. You just want "the right rounding", which is hard to define.
The only way to win is not to play. Use integers for computations, then format them when you're done.
(Generally, it's just not recommended to use floating point numbers for money. Truncating may do what you want here, if defined in some way, or it may not, but since doubles can't correctly represent all multiples of 1/100, they're not necessarily well suited for anything where the precise value is important, and where rounding wrong can cost someone money. There are definitely places where using floating point numbers for money transactions is downright illegal.)


Bump MicroProfile dependencies to 7.0

https://microprofile.io/compatible/7-0
This version still targets JEE 10, so it doesn't have to wait for JEE 11 to be finished.
In this version, Metrics was replaced by Telemetry, but I don't know if that's a breaking API change for the Metrics annotations. Even if it is, it probably isn't worth bumping the major version of this project, since Metrics is lightly used if used at all.

For now, it'd probably make sense to leave Metrics in place and adopt Telemetry as its own thing.


Add setOffline() to enable custom offline logic

Summary
This issue is to collect customer requests on adding setOffline().
Amplitude Browser SDK supports offline mode out of the box by https://github.com/amplitude/Amplitude-TypeScript/pull/644.
Leave a comment under this issue with the use causes when and why you need this feature. We will prioritize it and fit into our roadmap.

We're using the offline property to dynamically pause sending events. This allow us to capture events in the unsent queue, until the customer answers our consent popup (which can be delayed), and then if they give consent, we can unpause the queue.
It's a bit unfortunate the feature is called offline, instead of using something more generic, like "pause", as it could be used by multiple plugins if it wasn't only associated with offline.
Renaming it to something like "paused" might be better, and then allow different plugins to set their own locks, and if any lock is set, events won't be sent until all locks are lifted.

Hi @Multiply, I think for this scenario particularly you can amplitude.track() first. Then if user accepts your consent, call amplitude.init() to initialize the SDK. In this way, events are tracked and are in storage without actually being sent to Amplitude until user consent and init the SDK.

@Mercy811 consent can be changed during runtime, and we'd still have to pause events in that scenario.

@Multiply I see. I will keep you updated once we have the feature in our roadmap.


Keptn 0.8.3 shows that it uses specversion 0.2.1 instead of 0.2.2

In Keptn 0.8.3, CloudEvents contain the field shkeptnspecversion which apparently is set to 0.2.1.
This is in contrast to the actually used CloudEvents of Spec 0.2.2 (see release notes).
Actions

Find out why Keptn 0.8.3 says that Spec 0.2.1 is used instead of 0.2.2 and document the root-cause in this issue
Verify if our release process needs to be adapted

Investigations showed that this was caused by an accidental modification of the specification submodule after PR #4128 had been merged.
As discussed in an internal meeting, we have to be aware of changes made to the submodule and not accept any PRs that change it without clearly stating the intention to do so in the PR description/title


distgit.py: search builds for component not dg name

When doing a scan for changed sources, the test for whether the distgit
copy of the source has been built looks for brew builds. But it was
looking for the distgit name instead of the component. For RPMs they are
the same but images generally add -container or -apb or explicitly
specify a component.

/lgtm

There's no urgent need to update buildvm for this; incrementals just kind of become daily full builds without it. We can live with that until monday.


PayloadTooLargeError

When I send a post request,and the json payload is a little big(463kb),then the server response error is as follows.
Is it possible for developers to config the size of post payload themselves?
Thanks!

got.  I'll reproduce & fix it soon

got. I'll reproduce & fix it soon

This is my pleasure


Добавление repository

[x] moved dto, entity packages to new package: dao
[x] added ForecastRepository and TimeIntervalRepository
[x] added 'hibernate.default_schema' to application.yaml and application-auto-test.yaml
[x] fixed 'preConditions' of main changelog
[x] fixed ToString and EqualsAndHashCode annotaction to ForecastEntity

#18


"Configuring Cache Layers" link doesn't work in IS 6.1.0 docs

Is your suggestion related to a missing or misleading document? Please describe.
"Configuring Cache Layers" link doesn't work in IS 6.1.0 docs
https://is.docs.wso2.com/en/latest/deploy/configure-hazelcast/
Describe the improvement

Optional Fields
Additional context

Related Issues:

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Return appropriate error when a queue is not found

https://ocd.appscale.com:8080/job/Daily Build/3979/


Please give an example on how to generate XML having complex XSD

I need to see an example of how to generate XML having this complex XSD (zipped file):
http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=xLaRDcJryNA=
With that ZIP file contents, today in C# we can use
xsd.exe nfe_v4.00.xsd xmldsig-core-schema_v1.01.xsd /c /edb
Here in Brazil XSD Schemas are being used heavily.
Right now that governament portal indicates 19394 billion documents generated using those XSD schemas.
How to generate XML having those XSD, using F# ?

what root element are you trying to create?

The root element I want is this:
<xs:element name="NFe" type="TNFe">
In C# I used this:
var nfe = new TNFe();
nfe.infNFe.emit = new TNFeInfNFeEmit()
{
    xNome = "GR5"
};

Inside xmldsig-core-schema_v1.01.xsd the only element I see is Signature

I'm closing this because XSD is now available in F# Data and we may further discuss things there.


Fix missing args input in action.yml

I've seen you've added the option to add custom args in 1.5.0 (e3c7eb42d842357ee55e9148a9861386489661c5) but you forgot to add the new option to the action.yml and therefor it throws an error when using it:
##[warning]Unexpected input 'args', valid inputs are ['github_token', 'mac_certs', 'mac_certs_password', 'release', 'windows_certs', 'windows_certs_password', 'package_root', 'build_script_name', 'skip_build', 'use_vue_cli', 'app_root']
Run samuelmeuli/action-electron-builder@v1

Will run NPM commands in directory "."

As you can see in this pipeline run here.
I've just added the option and already ran it and it worked but feel free to test it yourself before merging! Thanks for your action!

Thank you!


Subjects containing underscores are not correctly decoded

Hi, I have an email containing the subject line =?UTF-8?q?Off-The-Beaten-Path_Trails_You've_Never_Heard_Of!__=F0=9F=8C=8F?=. This is decoded by my email client (Mail.app on macOS), as well as by the npm library rfc2047 as

Off-The-Beaten-Path Trails You've Never Heard Of! 🌏

However, this library instead returns

Off-The-Beaten-Path_Trails_You've_Never_Heard_Of!__🌏

i.e. underscores are not successfully decoded into spaces. The relevant section of the standard is RFC-2047, section 4.2.2:

Encodings
4.2. The "Q" encoding
(2) The 8-bit hexadecimal value 20 (e.g., ISO-8859-1 SPACE) may be represented as "_" (underscore, ASCII 95.).  (This character may not pass through some internetwork mail gateways, but its use will greatly enhance readability of "Q" encoded data with mail readers that do not support this encoding.)  Note that the "_" always represents hexadecimal 20, even if the SPACE character occupies a different code position in the character set in use.

Fix
I believe a fix would involve updating mimeDecode as follows:
         if (chr === '=' && hex && /[\da-fA-F]{2}/.test(hex)) {
             buffer[bufferPos++] = parseInt(hex, 16);
             i += 2;
         }
+        else if (chr === '_') {
+            buffer[bufferPos++] = 20; // space character
+        }
         else {
             buffer[bufferPos++] = chr.charCodeAt(0);
         }

@c-harding believe that this may be the cause of #5, an issue I'm seeing where the unicode characters are not properly printing on the browser

The fix for this was too broad in scope, underscores in the mail body should not also be changed. RFC-2047, section 4.2 only defines the Q encoding, which is an extension to, rather than equivalent to, Quoted-Printable.


About form messed up

What version of WebTorrent Desktop? 0.3.3
What operating system and version? Arch Linux
What did you do? Opened the 'About'
What did you expect to happen? To see a proper About form
What actually happened? Messed up text appeared in the form:

EDIT: I relaunched it and it was fine the second time.

This is extremely odd.
It seems that part of the page html and the index.css file showed up inside the box. The index.css file isn't even referenced from the about page, so I don't get how this could happen.
Do you have memory corruption or a bad hard disk perhaps?

No, I've checked the disk, and there's no issues. I think it might've just been a random hiccup. Every time I've started it since taking that screenshot, it's displayed fine. The main form performed fine when this issue happened.

If anything it's an election bug as I don't believe we have any direct control over the about window.

@ungoldman, the About window on non OS X platforms is just a BrowserWindow
since those don't get them for free like OS X.
On Fri, Apr 8, 2016 at 14:45 Nate Goldman<EMAIL_ADDRESS>wrote:

If anything it's an election bug as I don't believe we have any direct
control over the about window.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/feross/webtorrent-desktop/issues/354#issuecomment-207620268

This sounds like a fluke and we can't reproduce it. Closing.


No Cookies during precache/cache request

Hey,
The sw-precache does not seem to allow the fetch feature, including cookies / credentials.
Actually, Grunt generates a default fetch, which does not send cookies/credentials.
For instance, it is quite problematic when you want to precache dynamic resources from an app server.
Fetch API allows it, with mode and credentials attributes.
I may be wrong, but I did not find it in the precache API.
C.

Can you tell me a bit more about your use case? The way I envision folks using sw-precache, the assets are are fetched immediately when the service worker is registered, which (usually) would happen upon first visit to a web app. Are you delaying service worker registration until after a user has logged in to your web app?
I've got some concerns around having sw-precache maintain a cache of assets that are personalized to a given user based on some sort of user credential. One problem is that you'd need to properly expire all those personalized assets whenever the user logs out, and I don't know if that could be implemented generically in a library like sw-precache. It's the sort of thing that is (probably) best handled via service worker code customized for your situation.
This Stack Overflow question/answer has some further discussion about how authenticated requests complicate service worker caching.

...and actually, on further inspection of the code, it's already setting {credentials: 'same-origin'} on the precaching request. Are you asking for remote origin credentials, specifically?

Hey Jeffrey,
The use case is the following:

I have a CMS which delivers dozens of sites (web apps actually), with a unique hash for each in the URL
the front end is driven by an Angular app
the app has an app shell (minified js + css + html) and REST calls for the contents
I am testing service workers to deliver cache optimization, push, and offline in the near future

Through grunt, I prepared the precache of static files (the app shell, common for all sites my CMS delivers), just as described in the tutorial, within the writeServiceWorkerFile function.
Works fine.

I wanted to try a full offline scenario (app shell + REST dynamic content).
Then in a « custom-dynamic-rules.js » file, that I generate on-the-fly per site, I prepare the tree/list of additional dynamic URLs to precache (they are specific per sites).
For that, I used the function:

toolbox.precache([« /srv/service/mysuperhomepage?hash=12345 » ],[« /srv/service/mysupercontent?id=12],… );
And of course, within my gruntfile, I inserted that file through the sw-precache attribute command of the writeServiceWorkerFile function:
importScripts: [ ‘/path/sw-toolbox.js',  ’/srv/custom-dynamic-rules.js’]

I get in the service-worker.js file generated by grunt:
...
importScripts("./js/sw-toolbox.js", »./srv/custom-dynamic-rules.js »);

var PrecacheConfig = [[« /appshell/filea.html »,"checksum1 » ], [« /appshell/fileb.js», « checksum2 » ],…] ;
…
In that scenario, the toolbox.precache function (from the imported custom-dynamic-rules.js file) does  HTTP GET requests with a cookie-set A.

In terms of analytics and/or credentials, it was a problem.
I did some tests after I read you message: If I insert my ’/srv/custom-dynamic-rules.js’ in the writeServiceWorkerFile of the grunt, it actually generates a HTTP GET with the same cookie-set as the other app shell files. It really works as you mentionned.
But as my app shell is always the same for all my sites, and my custom-dyanmic-rules are different for each site: I tried to separate the sw precache calls.
I realize now that the toolbox.precache command does not share the same context as the grunt precache command (at least, the way I did it).
I will rethink my process, now I know that.
Thanks for your answer !
C.


variables not changing in watch mode (rust)

Works when stopping it and starting it again but not by restarting
https://user-images.githubusercontent.com/91016099/236775238-46cb5820-88c3-4422-9b5d-83b9253e36d8.mp4

"Restart" does not rebuild your program.

ohhhhh, that make sense but how can i make restart as rebuild?

Don't think you can.  Restart is meant to restart the same binary you were just debugging.

hmm okay


Radio, checkbox, and switch widgets are missing functionality of other widgets

Currently, there is no way to show errors for validations on radio, checkbox, or switch fields.
For example, if you defined 'acceptTerms': FormControl<bool>(validators: [Validators.requiredTrue]) you would expect to see an error message stating that the box must be checked.

Hi @dailyraisin
Thanks for using Reactive Forms and for the issue.
The native inner widgets in Flutter like Checkbox, radio, and radio buttons don't have a validation message. That is why Reactive Forms doesn't include them.
But you can easily add a Text somewhere in the Form that displays the error if the accept terms checkbox is invalid.
You can either use a custom flag variable or use a ReactiveStatusListenableBuilder.
On the other hand, your issue has served to detect that indeed there is an error in Reactive Form with Material 3, recently added to Fluter. In Material 3 there is a new property added to the Checkboxes isError that will paint the Checkbox with the Error Color defined in the ThemeData. I will upload a fix soon. This will not show any error message but instead will paint the Checkbox in a different color if it is invalid. The message should be handled by yourself.
I will let you know when the new version is released.
Thanks a lot @dailyraisin

Hi @dailyraisin,
Version 16.0.4 has been released.
This version fixes an issue when Material is enabled in the ThemeData, and exposes the showError() property. It does not show any error message though. Default Flutter Checkboxes don't show messages but you can achieve this by displaying a text below the Checkbox based on the validity status of the control. This text can be rebuilt each time the Checkbox value changes, you can optionally use the ReactiveValueListenableBuilder.

HI @joanpablo,
Thanks for this wonderful package.
I'm also having trouble with displaying a text below a ReactiveCheckbox or ReactiveCheckboxListTile when a button is pressed and the form is validated. A user need to check the checkbox first, before being able to continue. If he presses the button and the checkbox is not checked, it should show an error message using ReactiveValueListenableBuilder.
I have a form like this:
final form = FormGroup({
  'accepted': FormControl<bool>(
    validators: [
      Validators.requiredTrue,
    ],
  ),
});

and the Reactive Form here:
ReactiveCheckboxListTile(
  controlAffinity: ListTileControlAffinity.leading,
  formControlName: 'accepted',
  title: Text('Legal terms'),
  contentPadding: EdgeInsets.zero,
),
ReactiveValueListenableBuilder(
  formControlName: 'accepted',
  builder: (context, control, child) {
    return control.invalid && control.touched ? Text("required true") : Container();
  },
),

When the button is pressed, the following code is executed:
final accepted = (form.control('accepted').value as bool? ?? false);

if (!accepted) {
  form.markAllAsTouched();
  return;
}

The form.markAllAsTouched() is called, but does not rebuild the widget in the ReactiveValueListenableBuilder. Only when I force set the accepted control using form.control('accepted').value = false;, this rebuild is triggered.
Any pointers?