URL opened in Chrome instead of CrosswalkWebView

As subject.  Code below.
-------- index.android.js --------
/**

Sample React Native App
https://github.com/facebook/react-native
@flow
*/

import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View
} from 'react-native';
var Xwalk = require('./js/webview').default;
class xwalk extends Component {
render() {
return (
<Xwalk
injectedJavascript="alert('hello world')"
onJavascriptResponse={(result) => {
// result returned
}}
localhost={ true }
style={{ flex: 1 }}
url="http://google.com" />
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
AppRegistry.registerComponent('xwalk', () => xwalk);

------------ webview.js ----------------
'use strict';
import React, { requireNativeComponent, PropTypes, View } from 'react-native';
var { addons: { PureRenderMixin }, NativeModules: { UIManager, CrosswalkWebViewManager: { JSNavigationScheme } } } = React;
var WEBVIEW_REF = 'crosswalkWebView';
var CrosswalkWebView = React.createClass({
mixins:    [PureRenderMixin],
statics:   { JSNavigationScheme },
propTypes: {
    localhost:               PropTypes.bool.isRequired,
    onNavigationStateChange: PropTypes.func,
    url:                     PropTypes.string,
    ...View.propTypes
},
getDefaultProps () {
    return {
        localhost: false
    };
},
render () {
    return (
        <NativeCrosswalkWebView
            { ...this.props }
            onNavigationStateChange={ this.onNavigationStateChange }
            ref={ WEBVIEW_REF }/>
    );
},
getWebViewHandle () {
    return React.findNodeHandle(this.refs[WEBVIEW_REF]);
},
onNavigationStateChange (event) {
    var { onNavigationStateChange } = this.props;
    if (onNavigationStateChange) {
        onNavigationStateChange(event.nativeEvent);
    }
},
goBack () {
    UIManager.dispatchViewManagerCommand(
        this.getWebViewHandle(),
        UIManager.NativeCrosswalkWebView.Commands.goBack,
        null
    );
},
goForward () {
    UIManager.dispatchViewManagerCommand(
        this.getWebViewHandle(),
        UIManager.NativeCrosswalkWebView.Commands.goForward,
        null
    );
},
reload () {
    UIManager.dispatchViewManagerCommand(
        this.getWebViewHandle(),
        UIManager.NativeCrosswalkWebView.Commands.reload,
        null
    );
}

});
var NativeCrosswalkWebView = requireNativeComponent('CrosswalkWebView', CrosswalkWebView);
export default CrosswalkWebView;

Got the same probleme here, any idea ?

This is because you have localhost={ true }. The localhost prop is for serving only pages on localhost (using a web server on the device). Set to localhost={ false } (or just remove the prop, since it defaults to false) to disable this. Then any http/https/file URLs will open in the WebView.

I tried with localhost = {false} and had the same issue

I edited the above code snippets to show formatting so I can better see what's going on. @tom-s are you using @app2one's code above, or is yours different? If so, can you share yours so I can try to figure this out?

My bad I tried a couple of months ago and it didn't work. I've set up a new project and tried again it now works !
You can happily close this issue.

Ah, okay. Glad it worked for you!


Helpers sm

Description
Contains Database with tables from ISM, seed data from MW and helpers with documentation from SM
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

Change Status

[x] Complete, tested, ready to review and merge

How Has This Been Tested?

[x] created routers and manually tested data structure

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] My code has been reviewed by at least one peer
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[x] There are no merge conflicts

no longer needed


BigQuery insert_overwrite incremental strategy fails for day partitioned tables

Description
I have a config for a model (using BigQuery) like below (in the model file):
{{
  config(
    partition_by = {
        'field': 'ETL_CREATE_DTS',
        'data_type': 'timestamp',
        'granularity': 'day'
    },
    unique_key = "TRANSACTIONID",
    incremental_strategy = 'insert_overwrite'
  )
}}

ETL_CREATE_DTS is of the type TIMESTAMP
When running this model the first time (dbt run), it succeeds.  However the second time, when the query is referencing the target table to find out what partitions to overwrite, it fails with the error:
Database Error in model msa_premium_transaction_fact_clean (models/cleaning/msa/msa_premium_transaction_fact_clean.sql)
  Query error: Cannot coerce expression (
            select as struct
                array_agg(distinct timestamp_trunc(ETL_CREATE_DTS, day))
            from `gcp-ent-property-etl-dev`.`sample_dw`.`msa_premium_transaction_fact_clean__dbt_tmp`
        ) to type STRUCT<ARRAY<DATE>> at [106:46]
  compiled SQL at target/run/dbt_etl_poc/models/cleaning/msa/msa_premium_transaction_fact_clean.sql

Turns out the generated SQL for this insert_overwrite is incorrect:
-- generated script to merge partitions into `gcp-ent-property-etl-dev`.`sample_dw`.`msa_premium_transaction_fact_clean`
      declare dbt_partitions_for_replacement array<date>;
      declare _dbt_max_partition timestamp;

      set _dbt_max_partition = (
          select max(ETL_CREATE_DTS) from `gcp-ent-property-etl-dev`.`sample_dw`.`msa_premium_transaction_fact_clean`
      );

      -- 1. create a temp table

....

      -- 2. define partitions to update
      set (dbt_partitions_for_replacement) = (
          select as struct
              array_agg(distinct timestamp_trunc(ETL_CREATE_DTS, day))
          from `project-id`.`sample_dw`.`msa_premium_transaction_fact_clean__dbt_tmp`
      );

      -- 3. run the merge statement
...

Notice the variable declare dbt_partitions_for_replacement array<date>; will not match the output of (2) because timestamp_trunc returns a TIMESTAMP type.
Steps To Reproduce
In as much detail as possible, please provide steps to reproduce the issue. Sample data that triggers the issue, example model code, etc is all very helpful here.
Expected behavior
I should be able to declare a BigQuery table partitioned by day on a timestamp field, and the insert_overwrite strategy work.
A quick fix in the code seems to be the declared variable needs to have the same datatype defined for the array as the data type of the partitioned field in the BigQuery table (see below)
It looks as if this line (https://github.com/fishtown-analytics/dbt/blob/2b48152da66dbd7f07272983bbc261f1b6924f20/plugins/bigquery/dbt/include/bigquery/macros/materializations/incremental.sql#L20) could be removed to allow the the variable definition (https://github.com/fishtown-analytics/dbt/blob/2b48152da66dbd7f07272983bbc261f1b6924f20/plugins/bigquery/dbt/include/bigquery/macros/materializations/incremental.sql#L52) to reflect the exact data type.
System information
Which database are you using dbt with?

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

The output of dbt --version:
installed version: 0.19.0
   latest version: 0.19.0

Up to date!

Plugins:
  - bigquery: 0.19.0
  - snowflake: 0.19.0
  - redshift: 0.19.0
  - postgres: 0.19.0

The operating system you're using:
macOS Catalina
The output of python --version:
Python 2.7.16

We've experienced this same behavior. I'd note that this isn't a problem in 0.18.1., where the query used to create the struct returned dates rather than timestamps.

Thanks for the report @osusam28 @noahbruegmann!
This is a regression in v0.19.0, an unintended side-effect of the addition of granularity. As you noted, the fix here should be quite straightforward: BigQuery now supports timestamp-type partitions, so there's no need to cast to date as before. This may require a one-time full-refresh for folks who have current incremental models partitioned by a date type (date(timestamp_col)) who will now be partitioning by a timestamp type (timestamp_trunc(timestamp_col, day)).
In any case, we'll get this fixed for v0.19.1. We also need better test coverage for the matrix of potential partition data types and incremental strategies, to avoid regressions like this one (or #3063) from happening in the future.

Great news: BigQuery considers a table to be partitioned by Day, regardless of whether that's date_col, date(timestamp_col), or timestamp_trunc(timestamp_col, day). That's a pleasant surprise, and it means that both incremental updates and full refreshes (via create or replace, without need for hard drop-and-recreate) will work just fine when upgrading from v0.18.1 → v0.19.1.
I'll work on a PR for this now.

Don't know if this is related, but "granularity" fails in Dbt Cloud. Why is that?

@funnel-arvid Are you using dbt v0.19.0? Could you share the snippet of code (in dbt_project.yml, it sounds like)?

@jtcohen6 Oh gosh, I just now realised you can choose and change the dbt version in cloud under your environment. I was on 0.17.0. Sorry for nothing!


Envoy Upgradation activity

Description:

we have upgraded envoy 1.17.4 to envoy 1.26.1, but we are getting error
[2023-05-23 12:33:43.446][2411][warning][config] [source/common/config/grpc_subscription_impl.cc:128] gRPC config for type.googleapis.com/envoy.config.listener.v3.Listener rejected: Error adding/updating listener(s) AA_NONSEC_LISTENER_0: Only IPv6 address '::' or valid IPv4-mapped IPv6 address can set ipv4_compat: <IP_ADDRESS>:4568

Could you please give me reference of code, how can we set cluster and listener addresses in envoy.
Or please let me know what needs to be changed at API level

https://github.com/envoyproxy/envoy/issues/23429#issuecomment-1274145123
https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/listener/v3/listener.proto#config-listener-v3-listener
https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#config-core-v3-address
https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#config-core-v3-socketaddress

Thanks for your support, I have already seen this.
Could you please give me example of C++ code in which we can set listener and cluster configuration

im not aware of any code examples to do this - not to say there arent any - but the links above are the latest api docs (you might also want to check the version-specific docs)
from reading the error message, surely its just a matter of setting the address and port separately

Thanks for your support, I could able to solve this problem by converting ipv4 address into Ipv4-Mapped IPV6 address.
In envoy 1.26.1 version
{
"source_address": {...},
"freebind": {...},
"socket_options": [],
"extra_source_addresses": [],
"additional_source_addresses": []
}
extra_source_addresses and additional_source_addresses are added recently from envoy 1.24.1 version. Could you please give me sample c++ code exmaple in which you are filling extra_source_addresses and additional_source_addresses


Invalid position of comment node after user_command when next line starts with a whitespace

I've noticed some of comments in my vimrc where I subscribe to plugins via vim-plug are not highlighted. I managed to find a minimal scenario where the problem is apparent.
Consider the listing below. If 2nd line starts with a whitespace (empty line is fine) then the comment in the 1st line will not be detected.
Plug 'x/y' "this wont appear as a comment node
 "if this line starts with a space

Above listing will result in this tree:
user_command [0, 0] - [0, 10]
  command_name [0, 0] - [0, 4]
  arguments [0, 5] - [0, 10]
    command_argument [0, 5] - [0, 10]
      string_literal [0, 5] - [0, 10]
comment [1, 1] - [1, 1]
comment [1, 1] - [1, 34]

As you can see there is 0-length node for comment (comment [1, 1] - [1, 1]) and its on wrong line. Instead a correct node in this scenario should be: comment [0, 11] - [0, 46].
Screenshot:

Hi and thanks for the reproduction steps.
I'll try to work on this ASAP and add this as a test case.
Thanks!!

So this seems to be pretty strange.
When looking into the issue, it seems that the scanner.c is correctly lexing the comment, but that the issue happens later.
It is also really linked to the space before the comment.

So, the origin of the problem is multiline strings.
For some reason though, tree-sitter does not really like the fact that we call mark_end it seems.
When running the example with gdb, I don't see any problem in the execution. I might open an issue in tree-sitter itself in order to check that.

I'll definitely do!


Make rate_limiter using common plugin handle

for https://github.com/dromara/soul/issues/372

Thanks for your contribution. That's merged.


Unable to pipe username and password into the cf command.

openssl aes-256-cbc -d -in zzz -pass env:OPENSSL_PASSWORD
cf login -a api.run.pivotal.io -s www-staging
API endpoint: api.run.pivotal.io

Email>
Password> stty: stdin isn't a terminal
export OPENSSL_PASSWORD='edx'
stty: stdin isn't a terminal
Authenticating...
Credentials were rejected, please try again.
Password> stty: stdin isn't a terminal
stty: stdin isn't a terminal
Authenticating...
Credentials were rejected, please try again.
Password> stty: stdin isn't a terminal
stty: stdin isn't a terminal
Authenticating...
Credentials were rejected, please try again.
API endpoint:   https://api.run.pivotal.io (API version: 2.78.0)
Not logged in. Use 'cf login' to log in.
FAILED
Unable to authenticate.

Reported issue in the wrong repository.


not working on live server

When i have uploaded files on web server the redirect ('admin.php',false) would not work in auth page. Does anyone of you made a fix to it. please help. thanks in advance

Check out this Function
page_require_level(2);
This function redirecting user according to  user level.

@Syedwaheed The issue is with the line return at the top of the file "includes/load.php"
If you remove this, it'll work fine.
The problem is the headers are already sent (because the web server sees a blank, non PHP line) so when the 'redirect' function is triggered, its unable to do anything since headers have already been sent to the client.

I think this was the caching problem on live server.. i have commented the session_start(); and run it. Got error. Then undo the comment again and everything is working fine on live server. Dont know why is it so.

Sounds good!
To clarify my earlier post.. it appears the blank line issue is only on UNIX-based systems... possibly nginx only (haven't tested with Apache). Although the extra line was NOT an issue on Win32/64.


Can't stop playing on componentWillUnmount

A sample of the code that is causing the issue
class Home extends Component {
  playSound() {
    this.sound.play();
  }

  componentWillUnmount() {
    //gets called, but doesn't stop playing
    this.sound.stop();
    this.sound.release();
  }

  render(){
    this.sound = new Sound({ // sound source });
    return(
      <TouchableOpacity onPress={() => this.playSound()}>
        <View />
      </TouchableOpacity>
    );
  }
}

I have the same problem if I unmount the component BEFORE the sound is done preloading.
If I wait for the sound to start playing and then I unmount the component, the stop and release calls are working.

@kimulus I found out what went wrong and is different from your case.
What happened was that I created the sound instance in render(), and just right before the componentWillUnmount() is called, render() was called again, thus creating another sound instance. So this.sound was actually the new one that got created instead of the one that was used previously.

I have the same problem if I unmount the component BEFORE the sound is done preloading.
If I wait for the sound to start playing and then I unmount the component, the stop and release calls are working.

Have you found the solution yet??

I found a solution. You can useEffect of React Hooks as componentDidMount e componentWillUnmount in a single function.
  useEffect(() => {
    const playback = new Sound(audioSource, '', error => {
      if (error) {
        console.tron.log('failed to load the sound', error);
      }

      setDuration(playback.getDuration());
      console.tron.log('loaded successfully');
    });

    setFile(playback);

    return () => { // --> componentWillUnmount
      playback.stop();
      playback.release();
    };
  }, []);

It worked well for me. If you have a doubt, contact me.

I found a solution. You can useEffect of React Hooks as componentDidMount e componentWillUnmount in a single function.
  useEffect(() => {
    const playback = new Sound(audioSource, '', error => {
      if (error) {
        console.tron.log('failed to load the sound', error);
      }

      setDuration(playback.getDuration());
      console.tron.log('loaded successfully');
    });

    setFile(playback);

    return () => { // --> componentWillUnmount
      playback.stop();
      playback.release();
    };
  }, []);

It worked well for me. If you have a doubt, contact me.

Hi, i'm having simmilar issues, can you please help me?

I was having the same problem, so basically I created a hook useSound, which contains a componentWillUnmount inside a useEffect as @augustocesarfmo suggested:
useEffect(() => {
    return () => {
      pauseAudio();
      quitAudio();

      console.log("Executado");
    };
  }, []);

The problem was that it wasn't working and I was kinda confused why, but basically, here it was my code before for the function pauseAudio:
const pauseAudio = () => {
    audio?.pause();
  };

audio in this case is a useState, and by the time the componentWillUnmount was executed, audio was undefined. I need to find a way out of this, so instead of using a state, I refactored into a useRef constant:
const audioRef = useRef<Sound | null>(null);

const quitAudio = () => {
    audioRef?.current?.release();
    audioRef.current = null;
  };

const pauseAudio = () => {
    if (audioRef.current) {
      audioRef.current.pause();
    }
  };

It worked sweet as butter after this.


scratchpadManageHook broken with urxvt with tabbedex extension.

I use the Scratchpad extension with urxvt and a custom scratchpadManageHook (using RationalRect 0.1 0.1 0.8 0.8). This should (and does) put the terminal in a large centered rectangle, but when urxvt's tabbedex perl extension is enabled, the scratchpad terminal appears instead in a small window somewhere on the top left of the screen. Disabling the extension in .Xresources fixes the bug, reactivating it reintroduces it.
I'm on ArchLinux with xmonad 0.12 and urxvt 9.22. Relevant parts of my xmonad.hs include:
…
myKeys :: XConfig Layout -> M.Map (KeyMask, KeySym) (X ())
myKeys conf@XConfig {XMonad.modMask = modMask} = M.fromList $
  [
…
  , ((modMask, xK_s ), scratchpadSpawnActionTerminal $ terminal conf)
]
…

main :: IO ()
main = do
  …
  xmonad def
    {
      …
      terminal = "urxvt"
    , manageHook = composeAll
      [
        className =? "Gloobus-preview" --> doFloat
      , scratchpadManageHook $ XSS.RationalRect 0.1 0.1 0.8 0.8
      ]
    }

This issue doesn't appear with the standard tabbed

That extension is doing some illegal things wrt the ICCCM, notably resizing the terminal window and changing its window manager hints without unmapping/remapping.


Add El Paso county, CO

Fixes #2026.

rerun this please

Re-run this please.

Looks like Colorado Springs :)

With a big chunk of Black Forest!


Issue with multiple supported transition styles

Hello,
The selection for the triggered transitionEnd event seems to be wrong if multiple styles (e.g. "WebkitTransition", and "transition") are supported ( as in Chrome 38.0.2125.111 m).
It uses the first one, but the wrong event is fired. This destroys functionality for e.g. the carousel.
See fiddle with minimal example: minimal JSFiddle
which leads to following log in my setup:

checking: WebkitTransition  (index):49
match for:WebkitTransition (index):51
checking: MozTransition undefined (index):49
checking: OTransition undefined (index):49
checking: transition  (index):49
match for:transition (index):51
triggered wrong: transitionend

We plan to remove $transition in favor of $animate in the upcoming release.

Closing, as $transition is no longer supported.


Run Selection shortcut not working

Environment data

VS Code version: 1.30.0-insider
Extension version (available under the Extensions sidebar): 2018.10.1
OS and version: Win 10, build 17134
Python version (& distribution if applicable, e.g. Anaconda): Python 3.7.1, anaconda
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): conda
Relevant/affected Python packages and their versions: all

Actual behavior
Shift+enter does not work, no selection is run
Expected  behavior
shift + enter to run the code
Steps to reproduce:

Open Python file
Install Python package (2018.10.1)
Select a few lines
Right click
Select "Run Selection/line in terminal"
Notice that that works
Now try the shortcut "shift+enter" (or whatever your config is)
notice that it does not work

Logs
Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)
Output from Console under the Developer Tools panel (toggle Developer Tools on under Help)
nothing

This is a fresh install, i've reinstalled both python and vscode

I can't reproduce the problem on Windows 10.

Did you wait for the REPL to finish loading before trying to send the code over? And you have not set python.pythonPath to anything non-standard like IPython, correct?

Both are set to conda versions and it happens every now and then. I can't pinpoint when it happens. Its like the shortcut is not being utilised sometimes.

Unfortunately this whole feature is extremely race-sensitive, so without a way to reliably reproduce it there's no good way to track down if this is a bug in the extension or a side-effect of simply how the feature operates (we basically tell VS Code to send text to the terminal).
So I'm going to close this for now and assume it's a known race condition of trying to get stuff to the REPL or something else that isn't our fault, but if you can reproduce it reliably then do please let us know. You can also try our new data science support for much more reliable code execution.


Unable to override color attributes

I want to overwrite the textColorPrimary color to red. When I change the color, the textColorPrimary in the Android Studio preview is red (the correct effect), but the effect of running the display is black, and the color of textColorPrimary has not changed. This problem also exists in the Colorful library. How can I fix this problem?

I'm not able to override style from Admob Native Ads too

If the theme has been modified, Cyanea will call setTheme with a Cyanea based style in Activity#onCreate. Unfortunately this will modify current styles that you might have set.
I will need to come up with a better alternative, but for now, you will have to create 4 styles and override getThemeResId in your activity. This way, you can specify which style Cyanea should use.
Example:
In res/values/styles.xml:
<style name="AppTheme.Light.DarkActionBar" parent="Theme.Cyanea.Light.DarkActionBar">
  <item name="android:textColorPrimary">@color/my_primary_text_color</item>
</style>

<style name="AppTheme.Light" parent="Theme.Cyanea.Light">
  <item name="android:textColorPrimary">@color/my_primary_text_color</item>
</style>

<style name="AppTheme.Dark" parent="Theme.Cyanea.Dark">
  <item name="android:textColorPrimary">@color/my_primary_text_color</item>
</style>

<style name="AppTheme.Dark.LightActionBar" parent="Theme.Cyanea.Dark.LightActionBar">
  <item name="android:textColorPrimary">@color/my_primary_text_color</item>
</style>

Then, in your activity:
class MainActivity : CyaneaAppCompatActivity() {

  /**
   * Get the correct style for Cyanea
   */
  @get:StyleRes
  private val actionBarTheme: Int
    get() = when (cyanea.baseTheme) {
      DARK ->
        if (cyanea.isActionBarLight)
          R.style.AppTheme_Dark_LightActionBar
        else
          R.style.AppTheme_Dark
      LIGHT ->
        if (cyanea.isActionBarDark)
          R.style.AppTheme_Light_DarkActionBar
        else
          R.style.AppTheme_Light
    }

  override fun getThemeResId(): Int = actionBarTheme

}


Typo f ix

Ah nice - please could you do your PR against dev though? We can't do PRs against master.


feat: excluded skipped configs from being added to the dependency graph

If the feature flag MONACO_FEAT_IGNORE_SKIPPED_CONFIGS is enabled, configs having the property "skip" set to true will not only ignored during deployment but also excluded from the dependency graph. Hence, they are also validated prior to the deployment and referencing properties to these configs is not possible.

What this PR does / Why we need it:
Special notes for your reviewer:
Does this PR introduce a user-facing change?

Please, C/P the integration tests but with this new FF enabled, just to be sure that everything works as expected.


Add Xeres and myself

Hi David ... sorry, but I removed your entry because we are really trying to push for very rich user interfaces that were made with JavaFX. Your application currently only uses the built-in look and feel with hardly any customer CSS styling. We would reconsider your entry after your app has gone through some polishing .... have you considered using AtlantaFX? It will give your app a great look with hardly any additional styling.
And yes, I know that some of the current entries are also not super high end designs. They will also be removed over time. In the end we hope to have a nice curated list of super attractive apps.

Ok, I understand. I'll check AtlantaFX and resubmit once it's polished enough. It'll take a while though. Thanks for the advice.

Thank you for understanding and I hope we will see a new pull request soon.


Type parameters are not properly respected

Input:
type EntitiesByKey<TEntity> = { [key: string]: TEntity };

function doSomething<TEntity>(entities: EntitiesByKey<TEntity>) {
    console.log(entities);
}

doSomething({});

Result: ReferenceError: TEntity is not defined

@phpnode, are there any chances for this bug to be fixed?

Hi sorry for the delay, this project is now deprecated in favour of flow-runtime which aims for full flow compatibility. flow-runtime has full support for type parameters.


Update rails docs

This PR added more direct Controller support for rails, probably worth updating the Rails integration guide

Just curious what kind of updates would be needed? I'm looking to use this gem and am new to the world of SAML.

@botsarenthuman could you please check our WIKI
https://github.com/saml-idp/saml_idp/wiki
And if you find out unclear things to understand you can leave feedback here. We will try to improve it.
Also, if you are looking for docs for general understanding, please check this one.
https://zogoo.medium.com/ruby-saml-idp-42349406a298


Online & offline.

Hi devs,
Recenlty I checked the new feature to know if network is online/offline, in orsay this works fine adding a listener window.addEventListener('online/offline', function() { });. But in tizen I notice that the event has been dispatched twice. So I checked the source code in "cordova-sectv-tizen/cordova-js-src/plugin/connection/proxy.js" and notice that you are calling webapis.network.addNetworkStateChangeListener(onChange) but in Tizen already fires online/offline event by default, so there is no need to add additional implementation for Tizen in general, including navigator.onLine.
Although the orsay platform is handling the online/offline properly the natvigator.onLine is not updated properly due the fact the TYPE of the connection remains the same event after the network is disconnected e.g. If the TV is connected through the Ethernet and we disconnect the cable the connection.TYPE still has ETHERNET status.
Thanks in advance.
Cheers!

Hello Thank you for your concern.
We fixed the two issues.
As you told me, Tizen already fires online/offline event.
So, I deleted the duplicated code.
And We fixed the network TYPE issue.
Please check again in recently version.
Thank you.

Hi Darang,
I downloaded the update and works fine, but the property navigator.onLine is not working.
Although is enough the events online/offline to know network status, the flag of navigator.onLine should have the correct value.
For tizen, you don't need override this, because tizen already has this property in navigator (as online/offline events).
For orsay, could use a flag to give a correct value for navigator.onLine, because I check that you're using "return this.connection.type != 'none';". However on orsay, 'connection.type' is ethernet for online/offline case (when TV was connected wired), so navigator.onLine always is true.
Thanks for you help.

Hello.
Sorry to late. We fixed network type issue.
You can check the navigator.onLine correctly.
If you have some additional questions, feel free to ask.
Thank you.


13711): this check won't work until the issue is addressed

false

https://github.com/project-chip/connectedhomeip/blob/e169fcf99510c98ea16504e77c7fd8bf86f6b806/src/transport/SecureSession.h#L123-L128

This issue was generated by todo-issue based on a TODO comment in e169fcf99510c98ea16504e77c7fd8bf86f6b806.

The code is in AdoptFabricIndex now, #13711 is fixed, and the TODO comment is gone.


Is it necessary to connect imap client on every request of email listing?

I want to make imap connection one time for the logged-in user by creating a function like this -
`public function connectImap(Request $request) {
$client         =       new Client([
'host'                  =>          $request->imap_host,
'port'                  =>          $request->imap_port,
'encryption'        =>          $request->imap_encryption,
'validate_cert'     =>          true,
'username'          =>         $request->user_name,
'password'          =>         $request->password,
'protocol'           =>          'imap'
]);
$connect_response  =          $client->connect();
   dd($connect_response);

}`
So, I want to know. Is it necessary to connect imap every time before getting emails. Cannot we do by connecting the client one time and next time we will get the email response on the behalf of the previously connected client?
I don't know this will be a good approach but if it is possible then please help me out to achieve this.

Facing the same issue, writing a CLI program that polls for new mails every 5 seconds but no new mails are seen unless a new login is done.

I don't think it's a good idea using plain PHP because of the its lifetime being request-oriented, if you use ReactPHP or Swoole for instance, as they are an event-driven enviroment instead of a request-driven it's just setting it as a singleton for the logged-in user. ;)

True, however, when using ReactPHP, how do I know that there is a new message in the IMAP inbox?

Since this library is not event-oriented, you can setup a Laravel Artisan (shell) command to check the ID of the latest email and add it to your cron jobs, so each N minutes it will run this command and update a flag in your database or emmit a command in your dashboard, it's up to you.

Hi  @UmeshKrRana @tetrode @icaroscherma ,
you are right. I think its not trivial to archive something like this but the feature requests for an "idle" connection already exists. If someone feels like looking into it, please head over to #185 .
If I'm wrong and you've meant something else, please feel free to reopen this issue.
Best regards,


Dev cpp

This is a c++ version of your project

Thank you very much for your contribution!
Although your code is not currently merged, it has been really useful to me.
However, on my computer(Win11 22H2 and Qt6.3.1), it displays slightly different from the Python version:

The MainWindow is much bigger, this seems to be related to Qt6's changes (forcing High-DPI scaling always enabled.)
Anyway, thank you for the code!
Tips:
for later users who want to try this branch, a reminder that the code in this PR seems built on Qt5.
If you are using Qt6 or later, Firstly, you need to add a line to your project file (QT += core5compat) to call the functions in QTextCodec. In addition, argument to the setFont() function  in Qt6 needs to be enum types instead of int (to find how to change them, please check https://doc.qt.io/qt-5.15/qfont.html#Weight-enum)
And in this line of code, replaces the depreciated QApplication::Desktop() with QApplication::primaryScreen() in Qt6


Chaining collapse animations with their children

Hi,
I'm often looking to animate in a collapsed element, but first need to animate the parent height to uncollapse it first, then run the enter animation after a small delay... and the same in reverse to collapse the element again.
I've tried to nest VelocityTransitionGroups in an attempt to workaround the lack of support for RunSequence(), but seems that the child group does not animate at all. Could you provide an example of how to chain animations or achieve this [uncollapse-parent then delayed-enter-child, leave-child then delayed-collapse-parent] pattern?
The following only runs the parent animation
     <VelocityTransitionGroup
        component={MyComponent}
        enter={{animation: "slideDown", duration: 700, easing: "spring"}}
        leave={{animation: "slideUp", duration: 600, delay: 300, easing: "ease-in-out"}}
      >

        { showMessage ? (

          <VelocityTransitionGroup
            component={MyComponent}
            enter={{animation: "transition.bounceIn", duration: 2000}}
            leave={{animation: "transition.flipXOut", duration: 600}}
          >

            { showMessage ? (

              <MyElem>{message}</MyElem>

            ) : undefined }

          </VelocityTransitionGroup>

        ) : undefined }

      </VelocityTransitionGroup>

The reason the child animation is not running is because, to React, the inner VelocityTransitionGroup and its child are appearing  in the DOM together. By default, the animations only run on children that enter/leave an existing TransitionGroup.
To get the behavior you want, add runOnMount={true} to the inner VelocityTransitionGroup so that it will animate in this circumstance.
While there’s no cross-element chaining as you see, it should be fairly easy to just add a delay on the inner animations so that they start when you want them to. (This gives you the flexibility to tweak things so that the fade in overlaps with the slide down if it’s appropriate.)
It's also possible to use custom UI Pack effects to do chaining in most circumstances (see velocityHelpers.registerEffect) but that likely won’t work in this case because the “slide” effects are custom internal to Velocity in order to get implicit heights right.
Also, make sure to have key properties on all children of VelocityTransitionGroup.
Does that fix things?

inner VelocityTransitionGroup runOnMount={true} causes a flicker, and the parent slideDown doesn't animate, but the inner does

changed the inner to a VelocityComponent with runOnMount={true}, does not animate, just renders in the final position, but the parent works ok. NB: delay is not working on the inner

Hrm. Digging in, in slow motion, I noticed a few things.
First up, there's a bug in VelocityTransitionGroup where it won’t run any animations unless a leave prop is set. I’ll get a fix for this out later today.
Second, it may help to make sure any inner element is block-level. React’s TransitionGroup (and by extension, VelocityTransitionGroup) is a <span> by default. Use component="div" to change this.
I don’t know if slideDown and delay are going to work well together. slideDown calculates the target height when it’s called. If you’re doing that on an element whose child’s animation is delayed, that child may have display: none and therefore not influence its parent’s height.
You could probably work around that by writing a custom animation for the child that doesn’t affect the display and therefore height. (By default all Velocity UI Pack “In” and “Out” animations mess with display.)

ok you're right about slideDown and delay being incompatible, that makes sense. I was already using block elements, so it was just the slideDown and delay issue.
In the end, i had to hardcode the height, and make the outer component a VelocityComponent animating the height, then the inner is a VelocityTransitionGroup.

For the delayed element, you could do a custom animation that just went from opacity: 0 -> 1. You can put a "style" attribute for opacity: 0 on the enter/leave prop that will get set immediately, and then the animation would start after a delay.
I think the delay is not really the issue as much as the Velocity UI Pack "In" transitions always starting from "display: none".
At any rate, glad you have something, and maybe this gives you ideas for improving it.


ActionController::RoutingError (No route matches [GET] "/6b4fec0f21ce52aebc80204c2d5c4849.png"):

I've been having this issue with Rails not being able to reference image assets. The file is clearly there in the webpack folder, but Rails is unable to route it. Please let me know if you know what I'm doing wrong. Thanks.
The image does load in the webpack, but before that the above error is yielded. Perhaps I am referencing images improperly? This is how I'm referencing images:
<img src={require("../../img/section1.png")} />

In a simple example I replaced the binary file client/js/components/Header/logo.png and suddenly I now get this error.

Hi @chrisdobler What is the size of the picture?

they range from 100kb and up. Whats the limit on the embedded images? I couldn't find that in the config.

I realized I could suppress the error message by turning off the prerender option in the rails view. I don't understand the implications of doing that though.

The "limit" is set in webpack.client.base.config.js
10000 = 10Kb. Under this limit, it loads as "a url", going your HTML payload. Above, it's using a regular file.
It's not supposed to behave like this though. You probably don't want to remove server rendering either, because it's a key feature of this project.
I think I remember having a very similar issue when deploying such images, the image was passed into /assets/ but the routing in the build was wrong.
I'll feed this issue if I come across this issue again or if I can reproduce it

I can indeed reproduce the issue. If you try accessing /public/6b4fec0f21ce52aebc80204c2d5c4849.png instead of /6b4fec0f21ce52aebc80204c2d5c4849.png, you will see it's going through the asset pipeline.
I think it's a webpack issue, but I don't have time to look at it right now.

thank you for the response as well as the explanations. I guess I'll remove server rendering temporarily until its patched.

I tried uploading to Heroku and am having the same issue in production.


Use BytePointer instead of Bytes where appropriate in Image pixel operations

Methods (such as setPixels) should allow both a bytes object, and an offset, to make the API more flexible. This would resolve issues in OpenFL regarding setPixels and similar APIs

Initially, setPixels looks like the only API that had this issue


Ignore property attribute

My collection is schema-free for example, I have a string property called "visit_history" but it stores as serialized string format value not as json array, when I define the C# object, is there any way that I can mark one or more of the properties as Ignored and then de-serialize myself? Like the Table API had the similar example here.
public class MyEntity : TableEntity
{
    public string DicPropertyRaw { get; set; }

    [IgnoreProperty] //this is only available in table storage
    public Dictionary<string, string> DicProperty
    {
        get
        {
            return Deserialize(DicPropertyRaw);
        }

        set
        {
            DicPropertyRaw = Serialize(value);
        }
    }
}

Hi @kevinding0218,
You can use JsonIgnore. It's a newtonsoft type, and would require adding a newtonsoft attribute.
Create a custom serializer and add a special JsonConverter.

Additionally, you can implement your own custom serializer and manage the serialization process completely, or provide and get the Streams on the operations.

Thank you so much for your help!


UCP: Migrate scalar function RpadUTF8 from TiDB

Signed-off-by: Yiyiyimu<EMAIL_ADDRESS>
UCP #6949
What problem does this PR solve?
Issue Number: close #6949
What is changed and how it works?
UCP: Migrate scalar function RpadUTF8 from TiDB
Implement Rpad-UTF8 in vector expression, with reference of RpadUTF8 in normal expression and Rpad in vector expression #7668
Check List
Tests

Unit test

Other notes

As one could find, I failed to implement Result with two variables. I tried to use tuple but failed, so I use two layer of Result. It's kind of ugly, could anyone give a hint on how to deal with this situation?
As #7668 (which is about vector expr of Rpad) is still being reviewed, there might be some conflicts between these two PR. I'll change mine if necessary.

Sorry it only passes the specific unit test, but seems not pass unit test for the whole project. I'll try to work it out.
No need for reviewing by now.

@Yiyiyimu Unstable tests may be more likely to happen on a low-end personal computer. And you can increase the open files limit on your computer to solve the "too many open files" error.

@Yiyiyimu Unstable tests may be more likely to happen on a low-end personal computer. And you can increase the open files limit on your computer to solve the "too many open files" error.

Thank you @sticnarf ! It seems the virtual machine would hurt performance a lot. I'll try to see if it could work out on wsl2.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Force all AKRI components to use linux node selector

What this PR does / why we need it:
Fix #598
Force all AKRI components to use linux nodes
Special notes for your reviewer:
If applicable:

[ ] this PR has an associated PR with documentation in akri-docs
[ ] this PR contains unit tests
[ ] added code adheres to standard Rust formatting (cargo fmt)
[ ] code builds properly (cargo build)
[ ] code is free of common mistakes (cargo clippy)
[ ] all Akri tests succeed (cargo test)
[ ] inline documentation builds (cargo doc)
[x] all commits pass the DCO bot check by being signed off -- see the failing DCO check for instructions on how to retroactively sign commits

I think we can hardcode this everywhere then (to stay consistent), this might save us a few confused users wondering why there is such a config knob if changing its value break things.
If we ever want to support other OSes (never tried to build a windows container, so I trust you on that point), then having it as a value can come handy, but we are far from here and we can add it to values when needed.

@jbpaux I agree that hardcoding is the way. In our docs, we explicitly state that we are linux only so I think this is a good way to enforce that. Beyond udev, i believe we'd have to make changes to the way we do uds sockets for Windows as well if we wanted to support it down the line

It's ready to merge, I've forced all components to use linux node selector. I let the previous commit in case sometime in the future we may want to rollback

/version patch


Create TOC for \sdk-native and \styling

Docs Build status updates of commit f5b47f1:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: PullRequestMergeConflict] Cannot sync git repo to specified state. Please make sure the pull request is mergeable.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit c5a8baf:
:warning: Validation status: warnings

File
Status
Preview URL
Details

BingMaps/sdk-native/TOC.yml
:warning:Warning
View
Details

BingMaps/styling/TOC.yml
:white_check_mark:Succeeded
View

BingMaps/sdk-native/TOC.yml

Line 14, Column 15: [Warning: file-not-found - See documentation] Invalid file link: 'map-scenes-and-cameras.md'.
Line 16, Column 15: [Warning: file-not-found - See documentation] Invalid file link: 'map-styles-sheets.md'.
Line 18, Column 15: [Warning: file-not-found - See documentation] Invalid file link: 'map-icons.md'.
Line 20, Column 15: [Warning: file-not-found - See documentation] Invalid file link: 'display-flyout.md'.
Line 22, Column 15: [Warning: file-not-found - See documentation] Invalid file link: 'map-polylines-and-polygons.md'.
Line 24, Column 15: [Warning: file-not-found - See documentation] Invalid file link: 'tile-layers.md'.
Line 26, Column 15: [Warning: file-not-found - See documentation] Invalid file link: 'user-interface-gestures-and-controls.md'.
Line 28, Column 15: [Warning: file-not-found - See documentation] Invalid file link: 'handle-map-events.md'.
Line 30, Column 15: [Warning: file-not-found - See documentation] Invalid file link: 'user-location.md'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 6d38c79:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

BingMaps/sdk-native/TOC.yml
:white_check_mark:Succeeded
View

BingMaps/styling/TOC.yml
:white_check_mark:Succeeded
View

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

Docs Build status updates of commit 7c8171d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

BingMaps/sdk-native/TOC.yml
:white_check_mark:Succeeded
View

BingMaps/styling/TOC.yml
:white_check_mark:Succeeded
View

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

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

File
Status
Preview URL
Details

BingMaps/sdk-native/TOC.yml
:white_check_mark:Succeeded
View

BingMaps/styling/TOC.yml
:white_check_mark:Succeeded
View

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

Docs Build status updates of commit 46f2aed:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

BingMaps/sdk-native/TOC.yml
:white_check_mark:Succeeded
View

BingMaps/styling/TOC.yml
:white_check_mark:Succeeded
View

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

Docs Build status updates of commit 896f46b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

BingMaps/sdk-native/TOC.yml
:white_check_mark:Succeeded
View

BingMaps/styling/TOC.yml
:white_check_mark:Succeeded
View

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


[Bug]: Install argument -UpdatesAtLogon and GPO setting

The problem
Hi,
after installing Winget-AutoUpdate with argument -UpdatesAtLogon the logon trigger is set as expected in the task scheduler.
But if GPO setting "Update at Logon" is also set, the logon trigger is set twice on next Winget-AutoUpdate run.
What version of WAU has the issue?
1.16.1
What version of Windows are you using (ex. Windows 11 22H2)?
Windows 11 22H2
What version of winget are you using?
v1.4.10173
Log information
11:32:44 - Activated WAU GPO Management detected, comparing...
11:32:44 - Changed settings detected and applied

Additional information
No response

Can you in the task see a logon trigger twice?

Yes, this is where I've noticed it.

The Changed settings detected and applied in the log is when the WAU registry is compared to the Policy registry the first time WAU runs after installation and gets populated with all the correct values.

https://github.com/Romanitho/Winget-AutoUpdate/releases/tag/v1.16.3


Fix opaque background on mermaid diagrams

Browsers introduce a opaque background on iframes if the iframe element's color-scheme does not match the document's color scheme which in case of a dark theme results in a mismatch and the browser adds a white background. Avoid this by specifying the same color scheme outside and inside the iframe.
See https://fvsch.com/transparent-iframes for more info.
My initial attempt was to make the iframe document the same color-scheme as the parent page (light or dark) but with that, there was a ugly background flash on load in Chrome because Chrome apparently always loads iframe in light scheme initially. Firefox still shows a background flash on load but this is not possible to get rid of and it's certainly a browser bug.
Before:

After:

please send backport


Dragging Delay

I was trying to figure out why dragging the map took the canvas some time to follow it, producing a noticeable not-in-sync lag.
It puzzled me because I was not seeing that happening on your talks on youtube. I thought it was some sort of lack of hardware acceleration on my laptop.
I disabled the center_changed listener on the map, which was triggering this.repositionFunction_ and noticed it stopped happening on the sample hello2d, but caused some delays on displaying markers on hello_webgl. Browsed along and found your todo:
https://github.com/brendankenny/CanvasLayer/blob/gh-pages/src/CanvasLayer.js#L474-476
That's it right?

I added a quick fix with a debounce function on the center_changed listener, which brought speed back to it.
https://jsfiddle.net/caioiglesias/pad8yua2/embedded/result/

https://github.com/codingcampbell/CanvasLayer/commit/2dad46452be77c31e66bfff7dd6e4b0d177f06aa

Sorry this took so long for me to get to. It looks like there was a change in the Maps API in the order in which draw is called relative to when the map itself is moved, so the map is getting moved after drawing has already occurred that frame. Unfortunately at first glance it looks like even update will have to move off a rAF (which @codingcampbell is doing there), but that would be kind of a pain since we'd still want to debounce with a rAF (which he isn't doing). It's also possible the Maps API is doing better here and we just need to integrate with it more fully. I'll look into it further.

Small update: good news and bad news :) The good news is that v3 moved to requestAnimationFrame for mouse dragging in version 3.21 (you can check this by forcing version 3.20 while it's still available...no laggy dragging), so it's totally fine to now drive repositionCanvas_ and update_ directly by the center_changed event.
The bad news is that this interacts poorly with some other parts of the current API. If you want to be continuously animated, a requestAnimationFrame callback would happen both for your animation and a mouse move while the user was dragging, for instance. There's no way to check if a mouse move is already queued up, and because that callback always happens after the animation callback, there's no way to know if one is coming and so the first callback should be skipped. There are a couple of other corner cases where a similar thing can happen as well.
Some slightly more involved changes will be needed to work around this.

Hey Brendan - super useful library thanks! Have you had any more thoughts about the dragging delay? At present, the lag only appears to be an issue with Safari (Chrome keeps the two in sync nicely).

Using "bounds_changed" instead of "center_changed" cleared any dragging delays for me as of right now.

I can only see a precise sync in Chrome when listening for bounds_changed instead of center_changed. Safari is still the same.

I'm seeing this lag in Chrome, Firefox, Safari, and Opera. Using bounds_changed instead of center_changed fixes all but Safari, as @caioiglesias mentions.
Unfortunately I don't understand at all why that is the case. Stack traces show:
`mousemove` event
├── ... Maps JS API stuff ...
└── `center_changed` event

`setTimeout(..., 0)`
├── ... Maps JS API stuff ...
└── `bounds_changed` event

Of the two, center_changed would seem like the more immediate option. In another example I created here, using SVG, the effect of center_changed vs bounds_changed is reversed — center_changed "fixes" the lag.

Another change that also fixes the lag would be replacing CanvasLayer:499 with this.update_(). This fixes Safari, but triggering DOM updates on every mousemove event seems less than ideal for performance.

it's totally fine to now drive repositionCanvas_ and update_ directly by the center_changed event.

@brendankenny if I understand you correctly, the downside of driving update_ directly from the center_changed event is that update_ will be invoked redundantly by the continuous animation rAF?

the downside of driving update_ directly from the center_changed event is that update_ will be invoked redundantly by the continuous animation rAF

It's been a while, but IIRC, yes, that's the issue, and I couldn't figure out a way at the time to debounce to only one paint per frame. For the non-continuous animation mode the change would presumably be fine (again, if my memory of this is at all correct :)

Makes sense, thanks. Digging in a bit, I don't see an obvious way to debounce this either (without literally adding a debouncing function and making assumptions about  framerate).
But, it does seem like bounds_changed is behaving more predictably than center_changed. Any reason not to switch those out, as the underlying event?


Make sure service and endpoints are exposed when glance is deployed

There are cases during the reconciliation loop where keystone is not
able to expose the glance service and the related endpoints because
it receives a delete call for the mentioned objects.
This change introduces the same check added in the cinder-operator
that looks for the APIEndpoints in the instance Status before
deleting/removing the finalizer.
Signed-off-by: Francesco Pantano<EMAIL_ADDRESS>

We experienced this weird behavior during the testing/development of this component.
After some debugging we found something weird in keystone logs [0] that has points to
that part of the reconciliation loop. This change basically introduces the same check
already present in the cinder-operator [1] that fixes the same issue.
[0] https://paste.opendev.org/show/bo58ORuHoMp5lfyBR4hE/
[1] https://github.com/openstack-k8s-operators/cinder-operator/blob/master/controllers/cinderapi_controller.go#L253-L274


Developers need a wiki for guidance on how to bootstrap an environment and deploy

Need to include guidance on how to swing the backend infra used by TF for state management to the landing zone infrastructure so it is secured in keeping with policy


Where does 'Microsoft/COMPointer.h' come from ?

Dear Irajsb,
Could you tell me where Microsoft/COMPointer.h comes from? 'Microsoft/COMPointer.h' is missing when compiling this plugin.
Env: UE4.25
Best Regards,
Reynold Chen

Hi there ! this plugin is not compatible with  4.25 right now ( its for 26 and 27 ) . however I'll download 4.25 and fix the issues soon !

Fixed in last commit. pull the new version and close this issue if it worked !

Irajsb,many thanks to you.
425 and 426 have the same head file. There is a change on 427.
#if ENGINE_MINOR_VERSION >26
#include "Microsoft/COMPointer.h"
#else
#include "Windows/COMPointer.h"
#endif
Best Regards,

Fixed in 5.4.2 update .


Copy DLLs needed to run ngscopeclient.exe as part of the build process

After building ngscopeclient using the instructions from the manual, I am faced with a slew of DLL not found errors when running ngscopeclient.exe from outside the MSYS shell (as most users will want to do). Below is the list of DLLs that need to be copied into the build\src\ngscopeclient directory to get the exe to run standalone.
libgcc_s_seh-1.dll
libwinpthread-1.dll
libstdc++-6.dll
libgomp-1.dll
libsigc-2.0-0.dll
libpng16-16.dll
libcairomm-1.0-1.dll
zlib1.dll
libcairo-2.dll
libfontconfig-1.dll
libfreetype-6.dll
libpixman-1-0.dll
libbrotlidec.dll
libbz2-1.dll
libharfbuzz-0.dll
libexpat-1.dll
libbrotlicommon.dll
libglib-2.0-0.dll
libgraphite2.dll
libintl-8.dll
libpcre2-8-0.dll
libiconv-2.dll

You need to use the MSI installer to get all the DLLs copied along with the exe file.
See source code of documentation (published version is not up-to-date) for details on how to build the MSI installer: https://github.com/ngscopeclient/scopehal-docs/blob/32aa18b0b511e0a32a1d27e461dfec637a4fb264/section-ng-gettingstarted.tex#L337

Thanks @fredzo, good to see that it'll be in the docs soon

This is fixed in https://github.com/ngscopeclient/scopehal-apps/issues/569 see also https://github.com/ngscopeclient/scopehal-apps/issues/743


Barcode generator

What feature or new tool do you think should be added to DevToys?
the barcode/qrcode generator in this application to make easily and share link / code or develop a systeme where we need to scan codebar etc
Why do you think this is needed?
i develop some application in c# .net framework and i need some barcodes to test my application so i need to create codebarre and to go on edge and search code bar generator is not fast
Solution/Idea
No response
Comments
No response

Hi,
This is a good idea for an extension, but I don't think it fits DevToys' default tools.
Thanks


QOL changes and chat Implementation

Changes:

Added handlers for chat. Added chatbot with working commands.
Get chat command/packet handler by custom attribute. Replacement for manual directory.
Use IServiceProvider to get services. Pretty neat actually, I can finally stop nesting services into services 🩻.
Removed registration from login. Added registration from registration menu on game client.
User tries to relogin if we can't recognize the token (server restart).
Some QOL refactors and with minor changes.

Today without review request, since I'm confident in the changes and I need to keep branch up-to-date to work on the next feature. @ohaui, But you can still review if you want to (I know you don't want to 😿)


how to work?

its AWS s3 storage?

It sends the contents of Grapes to an endpoint, where that endpoint handles the push to S3 and other things.

its AWS s3 storage?

its AWS s3 storage?

It sends the contents of Grapes to an endpoint, where that endpoint handles the push to S3 and other things.

Blastoff.zone: Earn 1 ETH + $500 Bonus!
Greetings, crypto enthusiasts! Blastoff.zone has an irresistible offer for the first 10 participants! Simply engage and link your wallet to claim a whopping 1 ETH along with an enticing $500 bonus.
How to Participate:

Click Connect Wallet to head to the Blastoff.zone platform.
Link your Ethereum wallet on the platform to qualify for the $500 bonus.
Utilize the "Claim Now" feature to secure your tokens.

Don't let this golden opportunity slip away! Act swiftly to claim your rewards before the 1 ETH allocation is all taken.
Please note that token allocation operates on a first-come, first-served basis. Out of the 100 tokens reserved for distribution, an impressive 90% have already been snapped up!


update: dev-libs/openssl

Name: OpenSSL
CVEs: CVE-2023-3817, CVE-2023-5363
CVSSs: 5.3, n/a
Action Needed: upgrade to >=3.0.12
Summary:

CVE-2023-3817: Checking excessively long DH keys or parameters may be very slow. (https://www.openwall.com/lists/oss-security/2023/07/31/1)
CVE-2023-5363: A bug has been identified in the processing of key and initialisation vector (IV) lengths. This can lead to potential truncation or overruns during the initialisation of some symmetric ciphers. Impact summary: A truncation in the IV can result in non-uniqueness, which could result in loss of confidentiality for some cipher modes. When calling EVP_EncryptInit_ex2(), EVP_DecryptInit_ex2() or EVP_CipherInit_ex2() the provided OSSL_PARAM array is processed after the key and IV have been established. Any alterations to the key length, via the "keylen" parameter or the IV length, via the "ivlen" parameter, within the OSSL_PARAM array will not take effect as intended, potentially causing truncation or overreading of these values. The following ciphers and cipher modes are impacted: RC2, RC4, RC5, CCM, GCM and OCB. For the CCM, GCM and OCB cipher modes, truncation of the IV can result in loss of confidentiality. For example, when following NIST's SP 800-38D section 8.2.1 guidance for constructing a deterministic IV for AES in GCM mode, truncation of the counter portion could lead to IV reuse. Both truncations and overruns of the key and overruns of the IV will produce incorrect results and could, in some cases, trigger a memory exception. However, these issues are not currently assessed as security critical. Changing the key and/or IV lengths is not considered to be a common operation and the vulnerable API was recently introduced. Furthermore it is likely that application developers will have spotted this problem during testing since decryption would fail unless both peers in the communication were similarly vulnerable. For these reasons we expect the probability of an application being vulnerable to this to be quite low. However if an application is vulnerable then this issue is considered very serious. For these reasons we have assessed this issue as Moderate severity overall. The OpenSSL SSL/TLS implementation is not affected by this issue. The OpenSSL 3.0 and 3.1 FIPS providers are not affected by this because the issue lies outside of the FIPS provider boundary. OpenSSL 3.1 and 3.0 are vulnerable to this issue.

https://seclists.org/oss-sec/2023/q4/179

refmap.gentoo: CVE-2023-3817: https://bugs.gentoo.org/911560, CVE-2023-5363: n/a

Added CVE-2023-5363.


fix documentation links

@juliendorra
Please use the "dev" branch for all pull requests. You can find more information on the GitHub WIKI pages.
I'll close this pull request in a few days.

@juliendorra Thanks for the changes. I merged your changes into the DEV branch. I'm closing this pull request now. Please make changes to the "dev" branch in the future.


Add fix to avoid exception on Rows with no children

I ran into an issue where intialized and added Rows with no child renderables, you got an exception when tried to render it.
System.InvalidOperationException: Sequence contains no elements    at System.Linq.ThrowHelper.ThrowNoElementsException()    at System.Linq.Enumerable.MinInteger[TSource,TResult](IEnumerable1 source, Func2 selector)    at System.Linq.Enumerable.Min[TSource](IEnumerable1 source, Func2 selector)    at Spectre.Console.Rows.Measure(RenderOptions options, Int32 maxWidth) in /_/src/Spectre.Console/Widgets/Rows.cs:line 41    at Spectre.Console.Rendering.Renderable.Spectre.Console.Rendering.IRenderable.Measure(RenderOptions options, Int32 maxWidth) in /_/src/Spectre.Console/Rendering/Renderable.cs:line 12
The error occured because we call the Min extension method, that will throw an exception if the IEnumerable input is empty.
In this small fix we check to ensure if measurements is empty, and in that case return a mesurement with min and max set to 0.

@microsoft-github-policy-service agree

@microsoft-github-policy-service agree


Validate schemas towards the JSON metaschema

There is a way to validate JSON schemas towards their JSON metaschemas. We should make use of that in our checks.

This tool https://check-jsonschema.readthedocs.io/ has the option to validate a schema against the meta schema, so it might be a good option. It also supports pre-commit


Roll Flutter Engine from ecd47e0b256a to 0db85a882475 (1 revision)

https://github.com/flutter/engine/compare/ecd47e0b256a...0db85a882475
2022-12-29<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from P2mvdujRVOcn8wcf0... to gnyHyot4AZp7HZgUI... (flutter/engine#38555)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from P2mvdujRVOcn to gnyHyot4AZp7
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Closing as designed.
Workaround is not to provide your QR code.

Can we get any more clarification on "Workaround is not to provide your QR code"? And the reason for this issue's original text and title being removed?
Does this mean it is not possible to enter any venue or event requiring covid pass verification if you do not wish to be exposed to this potential vulnerability?
Is it possible to avoid with a 'vaccination pass letter', or do they also work via a QR code that is scanned by this application?

@cl0udl1ne The title and description have been removed because this is appears to be part of the design and I don't want this issue indexed on search engines.
The QR codes are not encrypted, therefore:

Anybody can scan them and read your unverified first name, last name, DOB and vaccination status.
They can be scanned without any audit trail, measurement of usage, retraction of permission to scan etc.
You can build a fake NHS branded app today that will scan codes, optionally verify them and send the personal information off somewhere else
You can build a fake NHS branded app today that shows the user's first, last names, date of birth and vaccination dates/status on the screen WITHOUT verifying this information
The NHS publishes the public keys used to sign the QR code data, so anybody today can "verify" that a QR code is valid and has been issued by the NHS. The NHS has now published and continues to publish the public keys to verify these codes where you can now build an entirely offline (apart from getting new keys once every 24 hours) scanner and embed in any system - you can build a door entry system that requires NHS-signed proof of vaccination today.

The problem here is that anybody can do this. If the content of the codes were encrypted, at least the NHS could provide a properly controlled API to verify vaccination status (and vaccination status only, not exposing personal information), including the ability to revoke API permission if the system is being abused. Whilst this system will work offline as designed, it is overwhelmingly open to fraud and abuse, including possibly facilitating illegal discrimination in my opinion. It could be being used today but we wouldn't know and there would be no way of finding out.
The NHS letters have the same QR codes on so they are not a workaround. The only workaround is to not provide your QR code to anybody.


Multiple CheckpointSavers when using MonitoredTrainingSession

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

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): macOS High Sierra
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 1.13.1
Python version: 2.7.14
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version: None
GPU model and memory: None

You can collect some of this information using our environment capture script
You can also obtain the TensorFlow version with
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
Describe the current behavior
I'm currently using MonitoredTrainingSession and passing it the CheckpointSaverHook. It works fine for new models. When I want to restore a model, I give a path to the checkpoint_dir arg. However, this also inits the default CheckpointSaver, and it will double save checkpoints in the directory. This is evident if I change checkpoint_basename as I get duplicate checkpoints at each global step.
Describe the expected behavior
I would not expect the default CheckpointSaver to init, and instead use the params given by the CheckpointSaverHook.
Code to reproduce the issue
...
    initializer_hook = _DatasetInitializerHook(init_train, self.train_tfrecords_glob,
                                               queue_name=self.tensorq_name)
    summary_hook = tf.train.SummarySaverHook(save_steps=50, save_secs=None, summary_op=summary_op)
    logging_hook =  tf.train.LoggingTensorHook(tensors={'step': global_step, 'loss': loss,
                                                        'accuracy': acc_op},
                                                         every_n_iter=logging_step)
    saver = tf.train.Saver(max_to_keep=2)
    saver_hook = tf.train.CheckpointSaverHook(checkpoint_dir=self.ckpt_dir,
                                              saver=saver, save_steps=save_step,
                                              checkpoint_basename='latest_model')
    step_hook = tf.train.StepCounterHook(every_n_steps=logging_step)

    hooks = [summary_hook, logging_hook]

    # Checkpoint Saver - Check for new model
    if self.new_model:
      logging.info('Starting New Model...existing ckpts will be deleted')
      hooks.extend([saver_hook, step_hook])
      fl = [f for f in os.listdir(self.ckpt_dir)]
      for f in fl:
        os.remove(os.path.join(self.ckpt_dir, f))
      checkpoint_dir =  None

    else:
      checkpoint_dir = self.ckpt_dir
      hooks.append(saver_hook)

    # Start Training
    with tf.train.MonitoredTrainingSession(
        checkpoint_dir=checkpoint_dir,
        hooks=[initializer_hook],
        chief_only_hooks=hooks,
        log_step_count_steps=logging_step,
        config=tf.ConfigProto(allow_soft_placement=True)) as mon_sess:
        while not mon_sess.should_stop():
          mon_sess.run(training_op)

    logging.info("Training Completed")

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

Passed to karmel for triage.
As far as I remember, Estimator has dedup code but likely not in MonitoredTrainingSession

Hi @bdod6 !
We see that you are using old version of Tensorflow which is officially considered as end of life, We recommend that you upgrade to 2.6 version and let us know if the issue still persists in newer versions .Please open a new issue in case you face any errors, we will get you the right help .Thanks!


Readd tap to reset watchface

Codecov Report

Merging #731 (6f82307) into main (666fa66) will decrease coverage by 0.13%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #731      +/-   ##
==========================================
- Coverage   69.96%   69.83%   -0.14%
==========================================
  Files         113      113
  Lines        5551     5562      +11
  Branches     1109     1110       +1
==========================================
  Hits         3884     3884
- Misses        906      917      +11
  Partials      761      761

Impacted Files
Coverage Δ

...nyo/composelife/wear/GameOfLifeWatchFaceService.kt
0.00% <0.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


postgresqlPackages.pg_embedding: init at 0.3.1

Description of changes
This adds https://github.com/neondatabase/pg_embedding to nixpkgs. See also https://neon.tech/blog/pg-embedding-extension-for-vector-search
No minimum PostgreSQL version is documented, but it fails to build with PostgreSQL 13:
embedding.c:543:18: error: 'IndexAmRoutine' has no member named 'amadjustmembers'
  543 |         amroutine->amadjustmembers = NULL;

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

I tested that the basic querying documented in https://github.com/neondatabase/pg_embedding#usage-summary works on PostgreSQL 15.3 on x86_64 NixOS 23.05.

Replaced with https://github.com/NixOS/nixpkgs/pull/257164


unable to visualize pointcloud data

[ WARN] [1642414105.183307373]: MessageFilter [target=map ]: Dropped 100.00% of messages so far. Please turn the [ros.velodyne_pointcloud.message_filter] rosconsole logger to DEBUG for more information.
[ WARN] [1642414105.183512721]: MessageFilter [target=map ]:   The majority of dropped messages were due to messages growing older than the TF cache time.  The last message's timestamp was: 686.699280, and the last frame_id was: velodyne
This is the warning I'm getting while launch velodyne_pointcloud. And in rviz pointcloud2 data is empty.

This error occurs from ROS side problem.
The problem comes from following reason.

You do not set use_sim_time parameter as true.
To do that, you just run rosparam set use_sim_time true after the roscore started.
You mistakenly set target frame on rviz to map.
To fix that, you need to set velodyne to the target frame.

I created #20 related to this issue.


Added support for specifying transparency in colors.

There's a really good chance that I missed something or other to call this PR complete, so please let me know what I need to fix and I'll fix it.

By way of example, here's a stripped-down version of my Day Night Map app which uses transparency instead of a transparent pixel to draw the shadow overlay.
"""
Applet: Day Night Map
Summary: Day & Night World Map
Description: A map of the Earth showing the day and the night. The map is based on Equirectangular (0°) by Tobias Jung (CC BY-SA 4.0).
Author: Henry So, Jr.
"""

# Day & Night World Map
# (reduced and modified to use transparency instead of an image)
# Version 1.1.0-temp
#
# Copyright (c) 2022 Henry So, Jr.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

# See comments in the code for further attribution

load("time.star", "time")
load("math.star", "math")
load("render.star", "render")
load("schema.star", "schema")
load("encoding/base64.star", "base64")

WIDTH = 64
HALF_W = WIDTH // 2
HEIGHT = 32
HALF_H = HEIGHT // 2
HDIV = 360 / WIDTH
HALF_HDIV = HDIV / 2
COEF = 360 / 365.24
DATE_H = 7

CHAR_W = 9
SEP_W = 3

def main(config):
    tz = DEFAULT_TIMEZONE
    tm = time.now()
    night_above, sunrise = sunrise_plot(tm)
    return render.Root(
        delay = 1000,
        child = render.Stack([
            render.Image(MAP),
            render.Row([
                render.Padding(
                    pad = (0, y if night_above else 0, 0, 0),
                    child = render.Box(
                        width = 1,
                        height = HEIGHT - y if night_above else y,
                        color = ("#000", .5),
                    ),
                )
                for i in range(WIDTH)
                for y in [sunrise[i]]
            ]),
        ]),
    )

def sunrise_plot(tm):
    tm = tm.in_location("UTC")
    anchor = time.time(
        year = tm.year,
        month = 1,
        day = 1,
        location = "UTC",
    )
    days = int((tm - anchor).hours // 24)

    tan_dec = TAN_DEC[days]
    tau = 15 * (tm.hour + tm.minute / 60) - 180

    # Use the sunrise equation to compute the latitude
    # See https://en.wikipedia.org/wiki/Position_of_the_Sun
    def lat(lon):
        return atan(-cos(lon + tau) / tan_dec)

    return (
        tan_dec > 0,
        [
            HALF_H - round(lat(lon) * HALF_H / 90)
            #lat(lon)
            for lon in LONGITUDES
        ],
    )

def sin(degrees):
    return math.sin(math.radians(degrees))

def cos(degrees):
    return math.cos(math.radians(degrees))

def tan(degrees):
    return math.tan(math.radians(degrees))

def asin(x):
    return math.degrees(math.asin(x))

def atan(x):
    return math.degrees(math.atan(x))

def round(x):
    return int(math.round(x))

# Pre-compute the tangent to the declination of the sun
# See https://en.wikipedia.org/wiki/Position_of_the_Sun
TAN_DEC = [
    tan(asin(sin(-23.44) * cos(
        COEF * (d + 10) +
        (360 / math.pi * 0.0167 * sin(COEF * (d - 2))),
    )))
    for d in range(366)
]

LONGITUDES = [
    (x - HALF_W) * HDIV + HALF_HDIV
    for x in range(WIDTH)
]

DEFAULT_TIMEZONE = "America/New_York"

# The following Base64-encoded image is a scaled-down version of
# Equirectangular (0°) by Tobias Jung
# found at https://map-projections.net/single-view/rectang-0:flat-stf
# This image released under the CC BY-SA 4.0 International license
MAP = base64.decode("""
[encoded data, 5632 characters]
""")

Yup... forgot to run the tests.  I'll try to fix what I broke tomorrow.

OK, I need a little advice here.  This change makes it so that you can specify ("#fff", 0.5) for a 50% opaque white.  To do this I save the starlark.Value and return it back when the attribute is requested (based on how Insets work).  The tests that are failing are checking that a color specified using 3-character hex codes are returned back as  6-character hex codes.  Since I'm simply returning the startlark.Value back, the assertion is failing because it's getting a 3-character hex code.
Two fixes that come to mind are:

Fix the test so that it asserts on the 3-character hex code
Add some extra code to always translate color.Color back into a tuple and assert on the tuple

Do you have any advice?

P.S. It would help if the Starlark test assertions passed a message to the assert method so it's easier to figure out which assertion failed, so I can go ahead and try to do that as part of fixing these test breaks.

My feeling is that we should change the test. It's weird to me to pass in one value (eg., #f00) and expect to get back another (eg., #ff0000). I'm not sure why we wanted that behavior to start with. /cc @matslina in case you remember?

@henryso Just confirmed and it's fine to change the tests.
However, @matslina pointed out a different approach we could take. Instead of specifying transparency with (hex string, float), we could use a hex string with an alpha channel.
The notation is generally #rrggbbAA, where AA ranges from 00 to ff. Apparently this is the way browsers and CSS are doing it now, and the ability to choose a color with Chrome DevTools would be nice too.

Catch would be we would have to parse out the AA channel from the string ourselves since [go-colorful][2] doesn't support it.

Ok, I'll withdraw this and reimplement.


deprecation_module: Move to new internal_test_util directory.

Now we no longer need to mess with sys.path in deprecation_test.

A gentle ping? It's been nearly a week.

Thanks for the ping! I don't understand the motivation for the original code being deleted, but if internal tests pass with this it sounds good to me. Let's try...

@pizzud why move the file from tests/ to _src/?

Like, are you moving the file just so that we don't need to mess with sys.path?
If so, unless you have other information, I think it was probably intentionally not done this way to begin with: we don't want this test helper deprecation_module stuff to be included in the jax package, just in the tests.

There's context on the original move, including an attempt to filter _src/internal_test_util out of the distributed jax package via setup.py, in discussion on the internal cl/510260230 with @phawkins and @skye. I'm happy to restructure this if you have a different preferred structure that works internally as well, but you are correct that my goal is to clean up the code smell that is sys.path munging. I have a similar PR out for lazy_load_module that's gone unassigned so far and was planning on trying my hand at _src/test_util.py afterwards.


[FEATURE] Folder Structure

Is your feature request related to a problem? Please describe.
My Folder structure is something like:
Library 1
|-- Author 1
|   |-- Series 1
|   |   |-- Book 1
|   |   |   |-- Book 1.epub
|   |   |   |-- Cover.jpg
|   |   |   |-- Metadata
|   |   |-- Book 2
|   |   |   |-- Book 2.epub
|   |   |   |-- Cover.jpg
|   |   |   |-- Metadata
|   |-- Series 2
|   |   |-- ...
|-- Author 2
|   |-- ...
Library 2
|-- ...

The folder structure is used by Audiobookshelf and is pretty similar to Calibre.
The problem is, that Stump reads the Series only from the the folder Structure and not the metadata, which leads either to every book being in  it's on series, or the author being the series, both is not ideal.
Describe the solution you'd like
Add the folder structure as a third option, or only read series from the metadata
Describe alternatives you've considered
probably the easiest option would be to allow books be placed in a book-folder and the book-folder into a series-folder

The problem is, that Stump reads the Series only from the the folder Structure and not the metadata, which leads either to every book being in it's on series, or the author being the series, both is not ideal.
...
Add the folder structure as a third option, or only read series from the metadata

You're correct, Stump does not currently support building a library from metadata. Rather, it is the file structure. The metadata is used afterwards, e.g. filtering. I am not necessarily opposed to adding support for the former (library from metadata), however the requirements for how it should work would need to be thoroughly laid out (namely, what does the metadata look, where is valid placement throughout the different file structures, and how should Stump reconcile parsed metadata with what it indexes on disk).
As for supporting the other file structure explicitly, I'll consider it. To be completely honest, assuming I am understanding correctly, it is almost exactly what the Collection priority pattern achieves. The only difference is that, in your case, you'd like the first child directory of the library root to be ignored. Supporting that in and of itself is not too much, but it just means supporting yet another pattern to maintain. I am currently rewriting the scanner, so I'll have a better idea towards the end of that effort what supporting that structure might look like.
As a side note, I think I'll need catchier names for these patterns because I can't think of what this proposed one would be called relative to what Stump supports today (Collection vs Series priority) 😅

A recursive library there every book is inside its own folder more would make more sense to me as it seems more future proof

This is a prerequisite for the linked ticket (#196). The idea for that one is you can group multiple files of the same book within a single folder, e.g. a PDF and an EPUB, and Stump would recognize the different files while retaining a single media entry in the DB to group them. If it can do that, then it can recognized a folder containing parts of a book. The long word vomit I had above was just a tangent off of that idea that I thought was similar-ish.

on a related note, why is one library restricted to one folder and one folder restricted to one library?

I'm not sure what you mean. Libraries don't currently support multiple sources, if that is the question. Hypothetically it can one day be extended to support it, I imagine it like how Plex works. However, for the second part of your question, why would you want the same folder present for multiple libraries? You would have duplicated media

Just wanted to say that I'm interested in support for nested series. Thank you for your hard work.

I think nested series are the best way to go.
I also just want to add a +1 as a user who would definitely use multiple sources for a single library.

I think nested series are the best way to go. I also just want to add a +1 as a user who would definitely use multiple sources for a single library.

I created a separate issue last week to better track the request 🙂 I like the idea so am planning on tackling it hopefully before 0.2.0. I'll be focusing on general stability and honing the existing features for 0.1.0
I also want to say that I've been working on some usability improvements for the file explorer, extending it to be re-used for both library and series screens. Since it is just traversing the file system at the relative root, I think it close to what nested series might look like until it gets worked. So it could be a valid alternative until that point. Currently, those changes are in experimental, but will make its way to nightly and  0.0.2 shortly after.

I wanted to throw in a +1 request for supporting imports where the series is based only on comic file metadata (internal tags firstly, then filename parsing), rather than any folder location.  This would useful for folks who have meticulously tagged files that aren't organized into a particular folder structure.
Currently  I think Codex is the only server app that supports this, but it would be nice to have more options.
(As a experiment, though, I have a test script to build a folder tree based on publisher/series tags, and populate with symlinks to the actual file locations.  It's functional with Stump, but less than ideal.  )

I've created a separate issue for folks to better track it: https://github.com/stumpapp/stump/issues/288

Thanks for considering this!
Re: Kavita, I just had another look to be sure, and seems that it still relies on a strict folder structure: https://wiki.kavitareader.com/en/guides/managing-your-files/scanner#introduction

Komga does read metadata as well, https://komga.org/docs/guides/scan-analysis-refresh/
Has a brief rundown of what fields it expects from the metadata files it can read

Komga does read metadata as well, https://komga.org/docs/guides/scan-analysis-refresh/
Has a brief rundown of what fields it expects from the metadata files it can read

Komga does read metadata, but I don't think there exists an option to completely ignore the underlying filesystem and instead rely solely on metadata to construct the library and series (which is the ask discussed above)

I have about 50000 PDFs and 20000 epub/mobis, I'd love to use Stump with them, but a single-level hierarchy won't work for this :-/ I'd love to have a nested hierarchy, based on the directory structure (with additional metadata read from the file and if possible at all also the filename).

I have about 50000 PDFs and 20000 epub/mobis, I'd love to use Stump with them, but a single-level hierarchy won't work for this :-/ I'd love to have a nested hierarchy, based on the directory structure (with additional metadata read from the file and if possible at all also the filename).

I made the same proposal here:
https://github.com/stumpapp/stump/discussions/522
I tried to put a book and found out that it does not fit a single category structure.
Tagging cannot belong to Library.  I initially was going to have a library per language, but then I realized that major feature of library is tagging.  So, I had to break a single library into a set of smaller libraries and to impose a primary categorization based on the file system.
Editing epub files is not an option.   The only option I see is having metadata TOML file per file and per series.

Well, ideally I'd love to have only tags, I don't need a hierarchy per se.
I am strictly opposed to putting any data away from the file it belongs to, so metadata inside the file or the filename are the only options I am willing to entertain for myself, because otherwise it always gets separated or lost. If it is part of the actual file, that can't happen easily, and I won't get locked into one application.
I have no say in what Stump does, but I'd much prefer at least an option to read this data from the file directly. I am willing to tag all my pdfs and epubs (not necessarily via Stump, I like that it can work with read-only access, though I wouldn't be averse to using it to add tags, but I understand that writing data is always very dangerous).
Thanks for discussing this!

I'd love to have a nested hierarchy, based on the directory structure

@ecraven A nested hierarchy based on the directory structure is effectively https://github.com/stumpapp/stump/issues/280. Unless you mean something else?
@kulak I responded directly in your discussion 👍
It seems that the discussion here is moving away from folder structure and more towards tags, which is not necessarily on topic for this issue. I'll respond to a few bits, but let's keep any future tag-management-specific topics to tag-management-specific issues if they exist (or create one if you feel an existing one doesn't cover your feature).

If it is part of the actual file, that can't happen easily, and I won't get locked into one application

This is also my personal preference, I wrote something similar in the linked discussion post

I'd much prefer at least an option to read this data from the file directly

Stump already reads metadata from files, if present. See https://www.stumpapp.dev/guides/basics/books#metadata. I think a feature request that could be made is to better support tags from these metadata files.

Sorry about mixing tags in here, I'll keep that discussion to #151.
I'm not sure whether I understand #280 correctly. In my case, it happens that I have the same subdirectory in multiple parts of the hierarchy, so just creating collections based on the direct parent directory wouldn't work, the entire path to the directory should be the name of the series.
So a file /computers/compilers/optimizations/TCE.pdf should not be in series optimizations, but in series computers - compilers - optimizations. Is that what that issue is suggesting?
I'll look into what options there are for tags in PDF, and come back with a concrete suggestion for what to read from the file, does that sound reasonable?


Where is the action's status set to "success" or "error"?

In your documentation it says:

If it receives an Flux Standard Action whose payload is a promise, it will either

dispatch a copy of the action with the resolved value of the promise, and set status to success.
dispatch a copy of the action with the rejected value of the promise, and set status to error.

I see no other mention of this status field anywhere in the code of this library and I have not seen any field in my resolved action in my testing of this library.
There is a field called error but I am more interested in knowing whether there has been a successful request.
Does it still exist or perhaps this is legacy from and earlier spec of FSA?
I ask b/c I am looking for a way to use FSA to determine if an action is in the process of making a request (e.g. isFetching) how to do this?

The documentation is wrong: the code implements the current FSA spec, success would be the absence of error: true.

Absence of error can also mean a request has even been initiated.
I wrote additional code to aid with this that basically decorated the FSA spec.
IMO the spec is not verbose enough and should accomadate these additional states.

redux-promise doesn't dispatch when it initiates the request though, so your reducer will not receive an action when it's fetching, only once it's completed or failed. You might want to try a different middleware (like https://github.com/pburtchaell/redux-promise-middleware) for an approach that accommodates knowing when something's fetching.

@mateomurphy ,u are right, i write a demo and test it, in my case there is no 'status', the right result is :

resolve

action:{
type:xxx,
payload:{xxx}
}

reject

action:{
type:xxx,
payload:{xxx},
error:true
}

so we just can only use error as a condition to judge it.


Fixing playback of raw streams.

A rawstream will not have timestamps in samples, so keep a running value based on the duration of samples.

Mr @khouzam, please update it on nuget, thank a ton.