Making the image snap back if you zoom out, pan, and then zoom back in

@cmulders Your version of this plugin seems to work great. Thank you for the hard work!
Would it be possible to add support so that the image snapped back into place if you pan or zoom beyond the canvas?
Take a look at this implementation and notice that if you try to pan the image too far it snaps back.
http://kempe.net/blog/2014/06/14/leaflet-pan-zoom-image.html

@mkaatman Yes you can! The bounds of the image are calculate and stored by the plugin in it's options. So if you look at the example.html file, you see the following:
//Setting the view to our layer bounds, set by our Zoomify plugin
map.fitBounds(layer.options.bounds);

The layer.options.bounds could also be used to use the L.map.setMaxBounds, resulting in:
map.setMaxBounds(layer.options.bounds);

@cmulders That seems to work great. Thanks!


Best approach to get last typing word or block

Hi I want to ask what is the best approach to get last word for example I want to create editor like this
1: I write "Abm7" in the editor and hit space
2: The editor looks in an array if "Abm7" exist
3: If true, "Abm7" is replaced with "Abminorseventh" and the font is changed
I am struggling to get the lastword from editor for hitspace i have found the way using keybinding
thanks

Perhaps you're looking for EditorState.getSelection (which returns a SelectionState)
You could then do something like:
var end = selectionState.getEndOffset();
var slicedText = myContentBlock.getText().slice(0, end);
var start = slicedText.lastIndexOf(" ");
if (start == -1) { start = 0; }
var word = slicedText.slice(start);

(There's probably a better way of doing that.)

Actually depending on what you're doing, decorators could be a lot easier.

Do you want to find all instances of that string? Or just check whatever is right before the space you inserted?

Only one before space, I just want to change the single last word that user type before space and continue type new word

Got it. My suggestion is to use handleBeforeInput to check for the insertion of the space character.

When this character is about to be inserted, you can check the string before the cursor to determine whether it matches your target string.
If there is no match, return false. (https://facebook.github.io/draft-js/docs/api-reference-editor.html#cancelable-handlers-optional)
If there is a match, modify the ContentState and use EditorState methods to push your change, move the cursor, etc.
Set the updated EditorState as your new state. return true to indicate that the event was handled by your code.

We do this on Facebook to replace emoticon text with their emoji replacements. E.g. if you type :), pressing the spacebar is what triggers the search to replace the smiley string with the emoji.

Thanks man for fast response, really appreciate it

@hellendag  I have try this approach using handleBeforeInput, it seem this.setstate in handleBeforeInput doesnt change the editor state. But I console.log the editorStateModified , and the contentBlock was changed. Do you have any solution for it?
import React, {Component} from 'react';

import {Editor, EditorState,getDefaultKeyBinding,moveFocusToEnd, KeyBindingUtil,getContentStateFragment, SelectionState, Modifier, CompositeDecorator} from 'draft-js';

const storage = {
  "Abm7" : "Abminorseventh"
}
export default class MyEditor extends Component {

  constructor(props) {
    super(props);

    this.state = { editorState: EditorState.createEmpty(), lastOffset:0 };
    this.focus = () => this.refs.editor.focus();
    this.logState = () => console.log(this.state.editorState.toJS());
  }

  onChange(editorState) {
    this.setState({editorState});
  }

  handleBeforeInput(e) {
    if(e === ' ') {
      const { editorState } = this.state;
      const content = editorState.getCurrentContent();
      const selection = editorState.getSelection();
      const end = selection.getEndOffset();

      const block = content.getBlockForKey(selection.getAnchorKey());
      const word = block.getText();
      const result = word.slice(this.state.lastOffset, selection.getEndOffset());
      const newSelection = new SelectionState({
          anchorKey: block.getKey(),
          anchorOffset: 0,
          focusKey: block.getKey(),
          focusOffset: 2
      })
      const contentReplaced = Modifier.replaceText(
                content,
                newSelection,
                "**")
      const editorStateModified = EditorState.push(
         editorState,
         contentReplaced,
         'replace-text'
      );

      this.setState({lastOffset: selection.getEndOffset(), editorState:editorStateModified})
      return true;
    }else {
      return false;
    }
  }

  prompt(e) {
    e.preventDefault();
    const {editorState} = this.state;
    const content = editorState.getCurrentContent();
    const selection = editorState.getSelection();
    const block = editorState.getCurrentContent().getBlockForKey(selection.getAnchorKey());

    let text = block.getText().slice(selection.getStartOffset(), selection.getEndOffset());

    const contentReplaced = Modifier.replaceText(
              content,
              selection,
              storage[text])
    const editorStateModified = EditorState.push(
       editorState,
       contentReplaced,
       'replace-text'
    );
    console.log(editorStateModified.getCurrentContent())
    this.setState({editorState:editorStateModified})
  }

  render() {
    const styles = {
      root: {
        fontFamily: '\'Helvetica\', sans-serif',
        padding: 20,
        width: 600,
      },
      editor: {
        border: '1px solid #ccc',
        cursor: 'text',
        minHeight: 80,
        padding: 10,
      },
      button: {
        marginTop: 10,
        textAlign: 'center',
      },
      buttons: {
          marginBottom: 10,
      },
    };
    return (

                <button
                  onMouseDown={(e)=>{this.prompt(e)}}
                  style={{marginRight: 10}}>
                  Change word
                </button>

          <Editor
            editorState={this.state.editorState}
            onChange={(e)=>{this.onChange(e)}}
            handleBeforeInput={(e)=>{this.handleBeforeInput(e)}}
            placeholder="Enter some text..."
            ref="editor"
            />

        <input
          onClick={this.logState}
          style={styles.button}
          type="button"
          value="Log State"
          />

    );
  }

}


fix(notification): Fix is-installed logic to prevent issue when a custom build.target-dir is set

The old logic failed because exe_dir was A:\_target\debug on my system.
I also tried to read to read the shell:AppsFolder folder to support more custom installers but couldn't figure out how to read a virtual folder.
Ideally i'd like to look into lifting the installation requirement but that seems to be a bit more work than this simple PR.

The idea was to make notifications somewhat working for portible builds and/or custom installers. Currently it doesn't show up at all, with this change it would at least show up as powershell.
Otherwise we might as well use tauri::is_dev()

The idea was to make notifications somewhat working for portible builds and/or custom installers. Currently it doesn't show up at all, with this change it would at least show up as powershell.

What if the portable build was published without uninstall.exe next to it? this PR won't work either.

Otherwise we might as well use tauri::is_dev()

I am fine with using tauri::is_dev() tbh

I did a bit of investigating for AppUserModelId and here is what I found:

AppUserModelId can be set using SetCurrentProcessExplicitAppUserModelID but it doesn't take effect unless there is a shortcut in Start Menu (doesn't need to be pinned)

We can get notifications to work by pinning the executable to Start Menu (Right Click, choose Pin to Start) or creating a simple shortcut in %AppData%\Microsoft\Windows\Start Menu\Programs but when we are showing the notification, we will use the full path to the executable as AppUserModelId for the notification. Can be as simple as calling std::env::current_exe().

So, I am recommending:

Document this notification quirks in the plugin README and subsequently in our documentation site similar to what Electron did.
use tauri::is_dev() and always use PowerShell id in development.
Expose app_user_model_id in the notification plugin api
We should also add snippet for portable builds showcasing:

how to create a shortcut in %AppData%\Microsoft\Windows\Start Menu\Programs
how to use the new app_user_model_id to get notifications working i.e calling it with std::env::current_exe().
[Optional] cleanup shortcut on exist

[Optional] Document how users can get their app icon in development:

show them how they can pin their exe to start
how to use the new app_user_model_id to get notifications working i.e calling it with std::env::current_exe().

References:

https://learn.microsoft.com/en-us/windows/win32/shell/enable-desktop-toast-with-appusermodelid
https://www.electronjs.org/docs/latest/tutorial/notifications#windows

What if the portable build was published without uninstall.exe next to it? this PR won't work either.

Before this PR no notification will be shown at all, with this PR a notification with the PowerShell ID will be shown, which if you ask me is better then nothing. This PR was really just meant to be a temporary improvement over the current logic until we can figure out something better (the stuff you researched).

I see, but I don't think we should have this temporarily and should implement the suggestions I posted above.


[turborepo] With-tailwind example won't watch tailwind.config changes

What version of Turborepo are you using?
1.10.14
What package manager are you using / does the bug impact?
Yarn v1
What operating system are you using?
Mac
Describe the Bug
It seems turborepo (nextjs) dev server does not correctly watch tailwind.config.ts changes when the config file is located in another package. The output css file is not updated (apps/web/.next/static/css/layout.css).
After manually restarting server, changes are present.
If tailwing.config.ts file is not imported from packages/tailwing.config.ts, but is defined directly in apps/web, any changes to tailwind config are correctly recognized by the dev server, and web app receives an updated css file.
Expected Behavior
Whenever tailwind.config.ts or its import files change, dev server compiles and updates css files. Manual server restart is not required.
To Reproduce

clone https://github.com/vercel/turbo/tree/main/examples/with-tailwind repo
run the app yarn dev
update packages/tailwind-config/tailwind.config.ts file (for instance, the gradient color) - the app does not see any updates
restart dev server manually - changes are available

optional steps, to reproduce correct behaviour:

copy packages/tailwind-config/tailwind.config.ts to apps/web/tailwind.config.ts
run the app run dev
update apps/web/tailwind.config.ts  - nextjs sees the changes and web app receives updates

Reproduction Repo
https://github.com/vercel/turbo/tree/main/examples/with-tailwind

pnpm dlx create-turbo@canary issue-6054 --example with-tailwind --package-manager pnpm
code issue-6054
cd issue-6054/apps/web
turbo build
next dev

Multiple issues here:

next dev fails if not invoked via turbo dev.
next doesn't detect and reload packages/tailwind-config/tailwind.config.ts through a workspace.

Hey @nathanhammond, @mehulkar.
Is someone working on this issue?
I can work on it

Hey @Neosoulink thanks for the ping, I don't think anyone's actively working on it, but @anthonyshew can help shepherd in any changes that might be appropriate!

Hello @mehulkar @nathanhammond @anthonyshew,
I tried to work on this issue today and I think this is not related to Turborepo, but Next or more precisely to the NextJS webpack configuration.
All the packages imported into the folder ./src are well detected, but not the packages imported from the root.
Even after I tried to update the watch and watchOptions webpack properties into next.config.ts, the result remained the same.
But, there's a small trick (which I don't really like), is to set a relative path at the importation
E.g: import sharedConfig from "../../packages/tailwind-config/tailwind.config.ts";
By doing that, changes will be detected
cc: @mareksupruniuk

@nathanhammond, I'm sure the command failed because of the version of your global next and the project next version
Here I tried to run the project with the global next at version 14.x.x and the project next at version ^13.x.x and got an error

However after I updated the version of the project to the same version of the global next, all worked fine (which means at version 14.x.x)

Maybe I missed some configuration or other details, please if you have more information about the way NextJs watches file changes, I would really appreciate receiving them🙏
I did not go too deep inside NextJs to see how it works and how webpack was configured 😔

The with-tailwind example is receiving some upgrades in #6575.
However, we still won't be able to watch the packaged Tailwind configuration file since it is a simple export with no way to file-watch on it. In my research, the tailwindcss CLI doesn't watch for changes in the config files in the extends key.
If you'd like to see a Turborepo solve for this, follow along with/add a reaction to #986.

Going to close this down since the tailwind example part of this is as resolve as it's going to get. Apologies we don't have better news for you at the moment @mareksupruniuk and everyone else!


Add common issues, improve structure

Proposed changes

Slightly improves the main readme organization
Adds a "common issues" section useful for some quick tips for troubleshooting

Thank you!


[BUG] Heap types created by type specs don't handle GC

As noted in https://github.com/cython/cython/pull/3611#discussion_r616883983, heap types need to implement the GC protocol, tp_traverse and tp_clear. When the CYTHON_USE_TYPE_SPECS option is set, this applies to all extension types.
See https://bugs.python.org/issue42972

I'm going to do this once https://github.com/cython/cython/pull/5846 is merged. It's slightly simpler than I was giving it credit for - only tp_traverse needs to handle type(self) (not tp_clean) and I think Python does the right thing for classes that only need to handle type(self). The only complication is that it's version dependent.


Add progress display (or some sort of animation) during import

Current or last imported element could also do the trick.


DRILL-6588: Make Sys tables of nullable datatypes

This addresses the issue of columns in the System tables being marked as non-nullable. While these tables are immutable, they can carry nullable values as well. (e.g. num_val in sys.options)
This commit introduces an annotation for the PojoReader that applies the nullable property if explicitly defined for a column (i.e. explicitly defined isNullable for a member of the POJO instance).
apache drill 1.14.0-SNAPSHOT
"just drill it"
0: jdbc:drill:schema=sys> select count(*) from sys.options where num_val is null;
+---------+
| EXPR$0  |
+---------+
| 108     |
+---------+
1 row selected (2.703 seconds)
0: jdbc:drill:schema=sys> select count(*) from sys.options where isnull(num_val);
+---------+
| EXPR$0  |
+---------+
| 108     |
+---------+
1 row selected (0.3 seconds)
0: jdbc:drill:schema=sys> select distinct is_nullable, count(*) from INFORMATION_SCHEMA.`COLUMNS` where table_schema = 'sys' group by is_nullable;
+--------------+---------+
| is_nullable  | EXPR$1  |
+--------------+---------+
| NO           | 36      |
| YES          | 50      |
+--------------+---------+
2 rows selected (0.69 seconds)
0: jdbc:drill:schema=sys> describe options;
+-------------------+--------------------+--------------+
|    COLUMN_NAME    |     DATA_TYPE      | IS_NULLABLE  |
+-------------------+--------------------+--------------+
| name              | CHARACTER VARYING  | NO           |
| kind              | CHARACTER VARYING  | NO           |
| accessibleScopes  | CHARACTER VARYING  | NO           |
| optionScope       | CHARACTER VARYING  | NO           |
| status            | CHARACTER VARYING  | NO           |
| num_val           | BIGINT             | YES          |
| string_val        | CHARACTER VARYING  | YES          |
| bool_val          | BOOLEAN            | YES          |
| float_val         | DOUBLE             | YES          |
+-------------------+--------------------+--------------+
9 rows selected (0.221 seconds)
0: jdbc:drill:schema=sys> describe internal_options;
+-------------------+--------------------+--------------+
|    COLUMN_NAME    |     DATA_TYPE      | IS_NULLABLE  |
+-------------------+--------------------+--------------+
| name              | CHARACTER VARYING  | NO           |
| kind              | CHARACTER VARYING  | NO           |
| accessibleScopes  | CHARACTER VARYING  | NO           |
| optionScope       | CHARACTER VARYING  | NO           |
| status            | CHARACTER VARYING  | NO           |
| num_val           | BIGINT             | YES          |
| string_val        | CHARACTER VARYING  | YES          |
| bool_val          | BOOLEAN            | YES          |
| float_val         | DOUBLE             | YES          |
+-------------------+--------------------+--------------+
9 rows selected (0.185 seconds)
0: jdbc:drill:schema=sys> describe options_val;
+-------------------+--------------------+--------------+
|    COLUMN_NAME    |     DATA_TYPE      | IS_NULLABLE  |
+-------------------+--------------------+--------------+
| name              | CHARACTER VARYING  | NO           |
| kind              | CHARACTER VARYING  | NO           |
| accessibleScopes  | CHARACTER VARYING  | NO           |
| val               | CHARACTER VARYING  | YES          |
| optionScope       | CHARACTER VARYING  | NO           |
+-------------------+--------------------+--------------+
5 rows selected (0.183 seconds)
0: jdbc:drill:schema=sys> describe profiles_json;
+--------------+--------------------+--------------+
| COLUMN_NAME  |     DATA_TYPE      | IS_NULLABLE  |
+--------------+--------------------+--------------+
| queryId      | CHARACTER VARYING  | NO           |
| json         | CHARACTER VARYING  | YES          |
+--------------+--------------------+--------------+
2 rows selected (0.727 seconds)
0: jdbc:drill:schema=sys> describe profiles;
+--------------+--------------------+--------------+
| COLUMN_NAME  |     DATA_TYPE      | IS_NULLABLE  |
+--------------+--------------------+--------------+
| queryId      | CHARACTER VARYING  | NO           |
| startTime    | TIMESTAMP          | YES          |
| foreman      | CHARACTER VARYING  | NO           |
| fragments    | BIGINT             | YES          |
| user         | CHARACTER VARYING  | YES          |
| queue        | CHARACTER VARYING  | YES          |
| planTime     | BIGINT             | YES          |
| queueTime    | BIGINT             | YES          |
| executeTime  | BIGINT             | YES          |
| totalTime    | BIGINT             | YES          |
| state        | CHARACTER VARYING  | YES          |
| query        | CHARACTER VARYING  | YES          |
+--------------+--------------------+--------------+
12 rows selected (0.309 seconds)

@amansinha100 can you review this?

@paul-rogers I've made the changes to use Java's Annotation class Nonnull
Please review the rest of the changes.

@arina-ielchiieva / @paul-rogers  Done the final changes.

@kkhatua could you please add unit tests, similar to the queries you showed in description.

Added a unit test that groups and counts the number of IS_NULLABLE values. Originally, the query would have returned only 1 group (IS_NULLABLE = false). After the patch, there are 2 records for both boolean values.

Once minor comment to remove space, also please squash the commits. +1, LGTM.


add partition endpoint for views along with validation on which

Creating a new PR because the previous PR #1480 was closed and then I force pushed which means I cannot open it again.
This is a PR for the partitioned-wip branch. It adds some validation around partition work and a new url. The final url is still TBD but and can be changed in this PR easily at a later date.

closing for https://github.com/apache/couchdb/pull/1577


[flat] TODO

Missing:

Famicom Disk System
-- add L and R to nes.cfg (think in a button like "change side A-->B" and "change disk" for example), https://github.com/libretro/nestopia/blob/master/libretro/libretro.cpp#L354
Nintendo 64
-- an overlay with d-pad, start, A, B, c-buttons, L and R
-- other with analog, start, A, B, c-buttons, R and Z
-- other with d-pad, analog, start, L and Z
Jaguar - too many buttons... one overlay to d-pad, pause, option, A, B, C, and other to the 9 phone buttons? Not a priority, virtualjaguar will not run smoothly on mobile anyway...
Sega Saturn
-- a genesis 6-button overlay like, with L and R
-- another with analog
WonderSwan
Lynx
Atari 2600
MSX / MSX2 - d-pad and two face buttons? It seems there's no standard...
Dreamcast - easy, retropad-fast with flipped face buttons
Vectrex
DOOM? Quake? Cave Story?
Arcade overlay using D-pad scheme from wonderswan (different approach in diagonal) & analog stick
Make a keyboard overlay too?

Genesis with ABC only and bigger

Bigger? What's your device screen size @jvook ?
Btw, the first overlay in genesis one is the ABC only

I found out that it's very hard to play Metroid Fusion with current gba overlay... hard to press R+B together. And L must be closer to B too.

I need to improve portrait in all gamepads
diff --git a/gamepads/flat/nes.cfg b/gamepads/flat/nes.cfg
index 681c673..da89b31 100644
--- a/gamepads/flat/nes.cfg
+++ b/gamepads/flat/nes.cfg
@@ -375,45 +375,45 @@ overlay5_desc17_next_target = "portrait-gb-B"

 overlay6_descs = 18

-overlay6_desc0 = "left,0.12778,0.85417,radial,0.09630,0.04635"
+overlay6_desc0 = "left,0.12778,0.65625,radial,0.09630,0.04635"
 overlay6_desc0_overlay = dpad-left.png
-overlay6_desc1 = "right,0.35370,0.85417,radial,0.09630,0.04635"
+overlay6_desc1 = "right,0.35370,0.65625,radial,0.09630,0.04635"
 overlay6_desc1_overlay = dpad-right.png
-overlay6_desc2 = "up,0.24074,0.79063,radial,0.08241,0.05417"
+overlay6_desc2 = "up,0.24074,0.59271,radial,0.08241,0.05417"
 overlay6_desc2_overlay = dpad-up.png
-overlay6_desc3 = "down,0.24074,0.91771,radial,0.08241,0.05417"
+overlay6_desc3 = "down,0.24074,0.71979,radial,0.08241,0.05417"
 overlay6_desc3_overlay = dpad-down.png
-overlay6_desc4 = "left|up,0.09259,0.77188,rect,0.06481,0.03646"
-overlay6_desc5 = "right|up,0.38704,0.77188,rect,0.06481,0.03646"
-overlay6_desc6 = "left|down,0.09259,0.93750,rect,0.06481,0.03646"
-overlay6_desc7 = "right|down,0.38704,0.93750,rect,0.06481,0.03646"
+overlay6_desc4 = "left|up,0.09259,0.57396,rect,0.06481,0.03646"
+overlay6_desc5 = "right|up,0.38704,0.57396,rect,0.06481,0.03646"
+overlay6_desc6 = "left|down,0.09259,0.73958,rect,0.06481,0.03646"
+overlay6_desc7 = "right|down,0.38704,0.73958,rect,0.06481,0.03646"

-overlay6_desc8 = "a,0.87407,0.85417,radial,0.08889,0.05000"
+overlay6_desc8 = "a,0.87407,0.65625,radial,0.08889,0.05000"
 overlay6_desc8_overlay = A.png
-overlay6_desc9 = "b,0.68148,0.89584,radial,0.08889,0.05000"
+overlay6_desc9 = "b,0.68148,0.69792,radial,0.08889,0.05000"
 overlay6_desc9_overlay = B.png

-overlay6_desc10 = "a|b,0.77037,0.86417,radial,0.02963,0.01667"
-overlay6_desc11 = "a|b,0.78518,0.88584,radial,0.02963,0.01667"
+overlay6_desc10 = "a|b,0.77037,0.66625,radial,0.02963,0.01667"
+overlay6_desc11 = "a|b,0.78518,0.68792,radial,0.02963,0.01667"

-overlay6_desc12 = "start,0.88889,0.72396,radial,0.08148,0.021875"
+overlay6_desc12 = "start,0.88889,0.52604,radial,0.08148,0.021875"
 overlay6_desc12_overlay = start_genesis.png

-overlay6_desc13 = "select,0.11111,0.66146,radial,0.08148,0.021875"
+overlay6_desc13 = "select,0.11111,0.46354,radial,0.08148,0.021875"
 overlay6_desc13_overlay = start_genesis.png

-overlay6_desc14 = "menu_toggle,0.50000,0.47083,radial,0.046296,0.02604"
+overlay6_desc14 = "menu_toggle,0.50000,0.94792,radial,0.046296,0.02604"
 overlay6_desc14_overlay = rgui.png

-overlay6_desc15 = "overlay_next,0.35000,0.47083,radial,0.046296,0.02604"
+overlay6_desc15 = "overlay_next,0.35000,0.94792,radial,0.046296,0.02604"
 overlay6_desc15_overlay = rotate.png
 overlay6_desc15_next_target = "landscape-gb-A"

-overlay6_desc16 = "overlay_next,0.20000,0.47083,radial,0.046296,0.02604"
+overlay6_desc16 = "overlay_next,0.20000,0.94792,radial,0.046296,0.02604"
 overlay6_desc16_overlay = overlay-A.png
 overlay6_desc16_next_target = "portrait-gb-B"

-overlay6_desc17 = "overlay_next,0.65000,0.47083,radial,0.046296,0.02604"
+overlay6_desc17 = "overlay_next,0.65000,0.94792,radial,0.046296,0.02604"
 overlay6_desc17_overlay = 2-button.png
 overlay6_desc17_next_target = "portrait-A"


Unable to persist session,  getServerSideProps shows the sessions object empty

@Ranjankumar666 Maybe you forgot to save the session? req.session.save()
It was my issue...

closing as stale


Aggregated time series for Sentinel 1[HELP]

Hi everyone!
Im trying to obtain the statistics from S1 (mean OF VV, VH and incidence angle) for Many polygons in a shapefile... Im using the code bellow:
yearly_time_interval = '2020-01-01', '2020-01-31'

s1_evalscript = """
//VERSION=3

function setup() {
  return {
    input: ["VH","VV", "localIncidenceAngle", "scatteringArea", "shadowMask"],
    output: [{ id:"s1_rtc_VV_area", bands: 2, sampleType: "FLOAT32"},
             { id:"s1_rtc_angle_mask", bands: 2, sampleType: "UINT8"}]
  }
}
function evaluatePixel(samples) {
  return {
    s1_rtc_VV_area: [samples.VV, samples.scatteringArea],
    s1_rtc_angle_mask: [samples.localIncidenceAngle, samples.shadowMask]
  }
}'

"""

aggregation = SentinelHubStatistical.aggregation(
    evalscript=s1_evalscript,
    time_interval=yearly_time_interval,
    aggregation_interval='P15D',
    resolution=(10, 10)
)

input_data = SentinelHubStatistical.input_data(
    DataCollection.SENTINEL1_IW
)

histogram_calculations = {
    "s1": {
        "histograms": {
            "default": {
                "nBins": 20,
                "lowEdge": -5.0,
                "highEdge": 40.0
            }
        }
    }
}

s1_requests = []

for geo_shape in polygons_gdf.geometry.values:
    request = SentinelHubStatistical(
        aggregation=aggregation,
        input_data=[input_data],
        geometry=Geometry(geo_shape, crs=CRS(polygons_gdf.crs)),
        calculations=histogram_calculations,
        config=config
    )
    s1_requests.append(request)

Then:
%%time

download_requests = [s1_request.download_list[0] for ndvi_request in s1_requests]

client = SentinelHubStatisticalDownloadClient(config=config)

s1_stats = client.download(download_requests)

len(s1_stats)

Finally when I analyse the s1_stats I get the following messages:
[{'data': [{'error': {'type': 'BAD_REQUEST'},
    'interval': {'from': '2020-01-01T00:00:00Z',
     'to': '2020-01-16T00:00:00Z'}},
   {'error': {'type': 'BAD_REQUEST'},

Does anyone know What I could be doing wrong?
Thank you very much!

To use StatAPI you need to output an additional mask, called dataMask, which will be used to filter out no-data (so that pixels with this mask do not contribute to the aggregated data). See for instance examples.
Something along:
//VERSION=3

function setup() {
  return {
    input: ["VH","VV", "localIncidenceAngle", "scatteringArea", "shadowMask","dataMask"],
    output: [{ id:"s1_rtc_VV_area", bands: 2, sampleType: "FLOAT32"},
             { id:"s1_rtc_angle_mask", bands: 2, sampleType: "UINT8"},
             { id:"dataMask", bands: 1, sampleType: "UINT8"}]
  }
}
function evaluatePixel(samples) {
  return {
    s1_rtc_VV_area: [samples.VV, samples.scatteringArea],
    s1_rtc_angle_mask: [samples.localIncidenceAngle, samples.shadowMask],
    dataMask: [samples.dataMask]
  }
}

Hi @batic thank you for your answer... But the problem was in the configuration of my dashboard...
However, now Im only getting VV values, I cant obtain VH =(, and even in the examples I dont find any about this.
Im using the following script now:
early_time_interval = '2020-01-01', '2020-01-31'
evalscript = """
//VERSION=3
function setup() {
  return {
    input: [{
      bands: [
        "VV",
        "dataMask"
      ]
    }],
    output: [
      {
        id: "output_VV",
        bands: 2,
        sampleType: "FLOAT32"
      },
      {
        id: "dataMask",
        bands: 1
      }]
  }
}
function evaluatePixel(samples) {
    return {
        output_VV: [samples.VV],
        dataMask: [samples.dataMask]
        }
}
"""
aggregation = SentinelHubStatistical.aggregation(
    evalscript=evalscript,
    time_interval=yearly_time_interval,
    aggregation_interval='P12D',
    resolution=(10, 10)
)

input_data = SentinelHubStatistical.input_data(
    DataCollection.SENTINEL1_IW
)

vv_requests = []
for geo_shape in polygons_gdf.geometry.values:
    request = SentinelHubStatistical(
        aggregation=aggregation,
        input_data=[input_data],
        geometry=Geometry(geo_shape, crs=CRS(polygons_gdf.crs)),
        config=config
    )
    vv_requests.append(request)

Followed by:
%%time

download_requests = [vv_request.download_list[0] for vv_request in vv_requests]

client = SentinelHubStatisticalDownloadClient(config=config)

vv_stats = client.download(download_requests)

len(vv_stats)

It works for VV, but when I try to get VH(replacing correctly at the script) it is coming with NaN values...
Maybe do you know the reason?
Thank you very much!

Are all values NaN? Would you mind sharing a bounding box of a request that ends with NaNs?
At this point I'd advise you to head over to forum.sentinel-hub.com and ask there, as it is much more suitable for such questions.

Hi @batic as you sggested I just posted the question there.
And answering your question, all values are NaN, but for VV they look ok...

For reference, working evalscript:
//VERSION=3
function setup() {
  return {
    input: [{
      bands: [
        "VV","VH",
        "dataMask"
      ]
    }],
    output: [
      {
        id: "bands",
        bands: ["VV","VH"],
        sampleType: "FLOAT32"
      },
      {
        id: "dataMask",
        bands: ["dataMask"]
      }]
  }
}
function evaluatePixel(samples) {
    return {
        bands: [samples.VV, samples.VH],
        dataMask: [samples.dataMask]
    }
}

@anaptoro Please close the issue at your convenience.


Serialization hooks

Add new serializer and deserializer options for wrapStore and Store, which will serialize all outgoing messages and deserialize all incoming messages.
Update README

Note: When testing in an actual extension, I found it necessary to wrap all of the messaging functions (e.g. port.postMessage or chrome.runtime.onMessage.addListener) in anonymous functions, rather than passing the function references directly. If I didn't, Chrome gave me the following error:
Uncaught TypeError: Method called without a valid receiver (this). Did you forget to call .bind()?
  at getPrivateImpl (extensions::utils:119:16)
  at publicClassPrototype.(anonymous function) (extensions::utils:137:20)
...

I'm not sure what's causing this, but would welcome ideas. It feels unnecessary to have to wrap all of the calls.

@vhmth, @tshaddix have either of you had a chance to review?

@ethanroday Have this on my todos. Trying to get to this today!

The '' to null change caused one of my tests to fail since it was expecting chrome.runtime.sendMessage to have been called with ('', ...). Should be good now.

@vhmth would love a second pass from you! This is a pretty big change!

@vhmth I'm tempted to merge this and #124 and release under a prerelease as they are fairly large changes. Thoughts?

@tshaddix @ethanroday
https://www.useloom.com/share/86d043f30c5a4515be7238b2909b4fc3

Great! Let's finalize this thing!

@vhmth Given this, I'm thinking we just release under a next tag. Thoughts?

Absolutely down. My vote would be to actually increase by a major version but seems like I missed the boat on that one! Ah well - cool with 1.6.0-alpha.1 anyhow.

@vhmth We can always bump it to 2.0 alpha! Why would you vote major, just curious?
@ethanroday Yes, thank you very much for your fantastic contribution. I echo @vhmth 's sentiment completely. Regarding the additional test, you can always add it as a separate PR :)

@tshaddix primary reason for the bump to major is I look at "plug and play" layers as a step towards increasing complexity in many ways. In this case we've introduced a custom serialization that diverges away from the standard Chrome behavior. I smell lots of issues potentially coming up since this interferes with the core communication mechanism b/w background and content processes.

@vhmth Ah, I see your point and I see my point 😄
I'm happy to bump major when on next publish.

@tshaddix that works!


Projects menu shows blank screen

I installed the sidekick.exe file on my laptop.
I still not completed the FVM setup.
Inside settings In the Projects menu, it shows a blank screen.

@leoafarias this is the same issue I experienced and had not managed to fix


Cluster analysis in smoke-test doesn't seem to work

As soon as I click "create" in the dialog of "Cluster" analysis, all the points disappear (there is no cluster column in the table view either)
See screenshot sequence (in reverse order)

related: https://github.com/CartoDB/cartodb/issues/8397

I am also getting this error, nothing is loading when I apply the Cluster analysis (step 2).

Right, there is something failing, but there is no error message. I've checked the definition that is sent to the Maps API and looks correct, could you take a look @rochoa or @dgaubert ?

Can you share a link to any of the problematic visualisations?


Cannot modify header information

RainLoop version, browser, OS:
<IP_ADDRESS> as a nextcloud plugin. Ubuntu 16.04
Logs or screenshots:
Found in log file many similar records:
Cannot modify header information - headers already sent by (output started at /path_to_nextcloud/apps/rainloop/app/rainloop/v/<IP_ADDRESS>/app/libraries/Imagine/Gd/Image.php:580) at /path_to_nextcloud/apps/rainloop/app/rainloop/v/<IP_ADDRESS>/app/libraries/RainLoop/Actions.php#8661

having the same issue cant access my emails was working fine yesterday, no changes made

+1 Have a same issue. php-fpm 5.6

same problem also here / NC 11
PHP 7.02 - error at every usage of rainloop mail plugin
Cannot modify header information - headers already sent by (output started at /htdocs/apps/rainloop/app/rainloop/v/<IP_ADDRESS>/app/libraries/Imagine/Gd/Image.php:580) at /htdocs/apps/rainloop/app/rainloop/v/<IP_ADDRESS>/app/libraries/RainLoop/Actions.php#8665
this error is horrible flooding the logs - at NC10 was no problem

Same problem on CentOS 6, PHP-FPM 7.0.15

v4.28 of the plugin for nextcloud is out with Rainloop v<IP_ADDRESS>, can you tell us if this bug is still applicable?

Yes. Bug is still here:
"PHP","message":"Cannot modify header information - headers already sent by (output started at \/var\/www\/nextcloud\/apps\/rainloop\/app\/rainloop\/v\/<IP_ADDRESS>\/app\/libraries\/Imagine\/Gd\/Image.php:580) at \/var\/www\/nextcloud\/apps\/rainloop\/app\/rainloop\/v\/<IP_ADDRESS>\/app\/libraries\/RainLoop\/Actions.php#8671"
"url":"\/apps\/rainloop\/app\/?\/Raw\/&q[]=\/_dPLM-3BypMN-XxxUfSCQFCvfkHEAFPymndf7qz5nYFOcMtox61JvscUz2HLayhWpBJeqf5pPlgiu8YioOrjBdq08i-BKFjpfnaX6FcYj0EjpybP8lkoF8Rq5mqi-FKSpiBuRVlKr4EF36TyyDNhN-mLZsyc0r7HPXZ6umlXs-w0kefJRyrR1cJhfbxTCCEhjuc5jCPqhHk5f4L-q8Tl0D6W8btQsbhI5rXVutVZdLt20Y14216UKOGGQ2ykGlMYHrgqB_vwwLAawbn-ZaTvBVVV3D-agEshId2WPJwsx8NmZFU5bEBUb3Z9QGeY\/View\/&q[]=\/rlUN7kKWz-aG04RizK0jhZ8I8UxRdKjLH0QGI25OfhF31Iw_rQs2E5eAO1g7rRYS-k_z8FprBZ0g7iMLf5HZeX4nEtUfk1h5fv_cM2YIhzLVkz_22hJFw6pRqxvGntloVuY92oXidoftjR69vryatGdt-wK3O6yPwUIduatP7bVPwgNgx74gcnX30buIkD6FUsq0vHJ6PoqWw14wYkeMegoHox6slWQIbNHHLT6cIrFKzsCF_2FoVQm8YfWzjhbfc_cWdtG7i0eMJcoHogv-AUa94KOAbym-uxjbHfzzv6xeu4vgPGMnVQogEKOzsYmUu45km8wAoDzdklTeUEkaxwefmys"

I cannot replicate the behavior in a fresh install of Nextcloud (11.0.2) with Rainloop 11.0.230 freshly installed...
Can you?

On fresh install same error.
I can provide one of email messages that becomes error if it helps.

Ah the error is only triggered with some messages, not all?

Yes messages with attached images as I see.

Ok now I can replicate this behavior. it is not really blocking except that it is flooding the logs. And this seems to appear only when the image is displayed the first time, do you agree?

The log line appears when Rainloop "lazy loads" the image in the body of the mail.

I may have found the culprit: I commented those 5 lines
						\header('Content-Type: '.$sContentTypeOut);
						\header('Content-Disposition: '.($bDownload ? 'attachment' : 'inline').'; '.
							\trim(\MailSo\Base\Utils::EncodeHeaderUtf8AttributeValue('filename', $sFileNameOut)), true);
						\header('Accept-Ranges: bytes');
						\header('Content-Transfer-Encoding: binary');

in rainloop/app/rainloop/v/<IP_ADDRESS>/app/libraries/RainLoop/Actions.php.
And I do not have the error message... Also, Rainloop seems to work without issue. Would you give it a try as well on your side?

Even better, I encapsulated the call to headers() as below:
                                                if (!headers_sent()) {
                                                        \header('Content-Type: '.$sContentTypeOut);
                                                        \header('Content-Disposition: '.($bDownload ? 'attachment' : 'inline').'; '.
                                                        \trim(\MailSo\Base\Utils::EncodeHeaderUtf8AttributeValue('filename', $sFileNam$

                                                        \header('Accept-Ranges: bytes');
                                                        \header('Content-Transfer-Encoding: binary');
                                                }

and the error message is gone.

Yes. Now error is gone.

@Loki3000, I've pushed a pull request, hoping this can be added to master if it makes sense. Can you close the issue maybe?
PAB


storage/bucket: add label accessor methods

Fixes #2370
To Dos

[x] Docs
Tests

[x] Unit
[x] System

This adds three methods:

bucket.deleteLabels([labelName, ...], function(err) {})
bucket.getLabels(function(err, labels) {})
bucket.setLabels({ labelName: 'labelValue' }, function(err) {})

@jskeet for vis.

Not sure what you mean by "for via" - I'm not really an appropriate person to review Node code.

Probably "for visibility" -- can you tag someone else?

I'm afraid I don't know anyone offhand to review the Node code here... And I'm only on my phone, so can't really look up folks appropriately.

It's not so much the code that needs review from a GCS member, but the methods we've created to support this feature, and the ways they can be used. We want to be sure we are supporting the intended use cases properly.
Having someone read over the code comment blocks in the PR would be helpful. They will demonstrate the methods and list their possible arguments.

I still don't think I'm the most appropriate person to do this, and I wouldn't be to do it before Monday anyway.

(Note that I'm not part of GCS myself.)

Okay, sorry for getting you looped up in here. @danoscarmike had you listed as the POC for Storage Veneer.
@danoscarmike any suggestions on how to proceed?

Hi both, apologies Jon - thought you'd be able to review the approach as
opposed to the code itself - I'll find somebody on GCS team to have a look.
On Fri, Jun 16, 2017, 08:59 Stephen Sawchuk<EMAIL_ADDRESS>wrote:

Okay, sorry for getting you looped up in here. @danoscarmike
https://github.com/danoscarmike had you listed as the POC for Storage
Veneer.
@danoscarmike https://github.com/danoscarmike any suggestions on how to
proceed?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/google-cloud-node/pull/2387#issuecomment-309065006,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC_FgNvi1-e5pUdd9WEvvBJS1Dq8yOiyks5sEqZ7gaJpZM4N6Am5
.

Changes Unknown when pulling 1fe85ada48c982ee16f101e35720407e76f78222 on stephenplusplus:spp--2370 into ** on GoogleCloudPlatform:master**.


Update repeaters to work with active states.

Description
This pr introduces some changes:

When a new repeater is saved multiple times, we keep track of frontend/backend ids to not delete/resave so the IDs do no longer pile up.
The active state is taken from the parent model, this also automatically publishes/unpublishes the slugs
Blocks and childblocks are now updating instead of removing/creating.

Repeaters will not work nicely if it would be a module itself. As the active/inactive state of a translation might "desync"
Repeater activates the translation, while it might be disabled from the module's page itself.
There is no easy fix for this but to have the active flag (like in the sidebar) on the repeater itself.
(this problem is not new with this pr but has always existed)
Below is something I found out as well, but not really an issue.
When you remove the repeater field from the model and save, the values are erased in the database. -> I guess we can fix this to leave them untouched.

@ifox can we add this to 2.8 beta?


[release/1.61] Fix crash when calling ClearEdits() on invalid widget pointer

As Qt is handling the lifecycle of widgets such as the track filter
panel, we cannot directly call methods on widgets such as
FilterPanelWidget. We use Qt's signal/slot mechanism to avoid a direct
call for ClearEdits(), which fixes a crash.
Tested: Manually ran Orbit multiple times and took captures. Also tested
if the filter text panels are actually cleared on starting a capture.
Bug: http://b/183199646

LGTM! Is this the issue we were having when starting a capture? Thanks for solving this :)

Yes, exactly!

Thanks for the reviews!


Is there a way to make youtube-dl remember what videos already been downloaded from the channel url?

Even if I physically delete the videos itself. I need to download thousands of videos from the channel but my drive capacity not allow to store it all at the same time, so I upload excess videos to cloud, but youtube-dl if I issue new command to download channel will download them again. I think it remember within command being executed but when you issue the same command again he forget. And I cannot finish all downloads within 1 command because some error usually occur andI need to reissue the command.

--download-archive. Maybe you'll already learn how to use search?


Initialize CSP address

In CSP v2.0, CSP address has been moved to per interfaace. But, we still need the csp_conf to set the CSP address on the interface because we don't have APIs to set an address for some interfaces.
With this PR,

socketcan interface takes the address from csp_conf.
csp_server_client.c sets the address given with  the command line option -a to csp_conf so that it can work with CANbus as expected

Since we haven't released v2.0 yet, we can, instead of this PR, fix interface APIs.
For reference, the address field on csp_conf is removed in 4dadf8ff917402.

This should be re-tested after #436

This is solved by passing down the address now

@johandc, do you mean "this should be solved by passing down the address now"? Just like 0d4dac28a5bf75390bdd1ef26e1c109094e0a032? The commit is only for develop branch.  And this PR is about v2.0.

Ahh i didnt see it was a backport. In that case fine. But perhaps we should sync up some of the 2.0 stuff anyways. I think its a bad idea to release a 2.0 with inconsistent addressing between interfaces


Add equivalent VB.NET examples

It would be helpful if VB.NET examples were added to this page as the Bluetooth docs are a little confusing and some people are more familiar with VB.NET than C#. Thanks!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 6c57c086-3015-37b6-5318-b90a8e1fc0ba
Version Independent ID: 94556012-dcdd-1dde-c8e5-147e1d05d5c0
Content: Bluetooth GATT Client - Windows UWP applications
Content Source: windows-apps-src/devices-sensors/gatt-client.md
Product: uwp
Technology: peripherals-sensors-and-power
GitHub Login: @eliotcowley
Microsoft Alias: elcowle

Thanks for taking the time to let us know about this issue and we sincerely apologize for the delayed response.
As providing vb snippets on every page that has a c# snippet would be quite time consuming we recommend using an online converter in most cases. Due to the sheer volume of of feedback in this repo requires us to prioritize new issues, we're closing this one due to age and lack of activity.
If you think the issue still exists and should be addressed, please open a new issue with any details/suggestions you think might be helpful.


docs: broken links in registry

What needs to be changed?
Components that have moved from 'core' to 'contrib' need their repo links updated in the registry.
What is the name + path of the page that needs changed?
content/en/registry/collector-exporter-file.md
content/en/registry/collector-exporter-jaeger.md
content/en/registry/collector-exporter-kafka.md
content/en/registry/collector-exporter-logging.md
content/en/registry/collector-exporter-opencensus.md
...
(I can make the necessary edits and submit a PR.)
Additional context
See my comment on Remove jaeger, zipkin, kafka, testbed components #3889

It seems that (re)moving these "contrib" components has broken some of their links in the Registry.
For example: viewing the list of available Receivers includes Kafka Collector Receiver, which ends up at a GitHub 404 page.
It appears this has happened before. I can open an issue and submit a PR at opentelemetry.io

Thanks for the issue and the PR!
Closed by #717 -- if not, feel free to reopen the issue @bcdady.


Sort job state descending

Use objectId instead of string for Job id

This will allow sorting by ID

Add migration step

Also, we should create a 0.5.6 branch and merge to that.
I'll do that later this weekend :)


TSX / JSX differences in syntax highlighting

Hey! First of all, thanks for the great extension. While making my own theme, I noticed that there are a few differences between the highlighting of tsx and jsx files. I'd like to colour my react component template code (the jsx part) to be different on tags/properties/values.
Using the syntax inspector, it seems that there are no css classes to refer to when using a TSX file whereas there are specific classes when using a JSX file type. I'm referring to the scopes section in the screenshots.
Is this a concern of this extension or native to nova? I would be happy to help and provide a PR if someone could point me into the correct direction. 🙃
Edit: Seems that this is related to nova's internal syntax highlighting (https://github.com/apexskier/nova-typescript/issues/68). Will send a request to the nova team.
TSX:

JSX:

As you've seen in #68, this isn't part of this extension. I'm going to close this as a duplicate, but keep an eye on #68 for any updates.

As you've seen in #68, this isn't part of this extension. I'm going to close this as a duplicate, but keep an eye on #68 for any updates.


added amazon2023 builder and tester

Description

Related Issue

Types of changes

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

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] If Gemfile.lock has changed, I have used --conservative to do it and included the full output in the Description above.
[ ] All new and existing tests passed.
[ ] All commits have been signed-off for the Developer Certificate of Origin.

created a separate pr which linked to the ticket for better tracking purpose , This is just test branch used for amazon linux2023. we merged the amazon2023 changes in this pr https://github.com/chef/chef/pull/14228 , hence closing this.


Make dd.head(n) and bag.take(n) explore all partitions necessary to get first n results

Based on http://stackoverflow.com/questions/38278157/does-npartitions-influence-the-result-of-dask-dataframe-head/38283697 and http://stackoverflow.com/q/38254247/356729, using only the first partition/block to fetch the head drives to unexpected results.
An easy way would be to fetch the first n elements from each partition, concatenate them all and return the first n. Another option would be to fetch n results from first partition and, if they are less than n, fetch from the second, and so on.
Which option sounds better? :)

The second option wouldn't work with a static graph: you'd need multiple calls to compute to iterate through until you found the proper number of rows. As such, I'm not a fan of this option.
The first option would work, but would make head/take more expensive (imagine reading from many csvs - currently head only needs to read one file, changing it would need to read all files). If we were to make this change, I'd expect it to be a keyword argument, and default to the current behavior. Just my opinion though.

I thought about this this morning. What about the following (elaborated first option):

Add an optional parameter n_partitions=1  (defaults to 1, which is current behaviour) to look at when doing head/take.
If head/take is expected to return n elements but less than n elements were found in the inspected partitions (and there are more partitions), issue a warning: "head/take: Less than {n} elements were found in the first {n_partitions} partitions. Try specifying a larger value for n_partitions.

I like the idea of specifying npartitions (it's a nice extension from one vs all).  I like the idea of warning the user.  I think that the user should recompute though, rather than dask.  Generally I think that, when it comes to expensive operations users should opt-in rather than have us do it automatically.

I think an "all partitions" option would be nice. npartitions=-1 perhaps?

I also like the npartitions keyword, defaulting to 1, with -1 meaning all partitions. This should be fairly straightforward to implement if anyone wants to take it on. Just a map of head/take/etc... across the first npartitions, then a concat, then the same head/take/etc... again (with a good warning if not enough elements).

I think i'll give it a go if no-one else set his eyes on it

Fixed by #1441.


Add CONTRIBUTING.md

We need a file that tells folks who are unfamilliar with github how to contribute inputs / open issues etc...
Possibly take a brief primer from somewhere else?

@mikemhenry do you know if there's anything in software carpentries that might help here?


Business Analyst - Wellington, New Zealand Full-time

Company Description
SG Digital (formerly OpenBet) leads the global gaming market, providing innovative software that powers the world’s most successful operators.
We pride ourselves on product innovation and technical excellence and are constantly adding new applications and new functionality to our product suite. And, while many other companies have been downsizing, we continue to see growth across our business.
Want to be part of our story?
We are looking for a Business Analyst, as we continue to work on the next generation and world leading online sports betting platforms.
Job Description
What you will be involved with as a Business Analyst at SG Digital:
You will be working alongside Product Managers, Development Managers, Project Managers, Software Engineers & Test Analysts to shape the technology and product vision of the team that will drive forward our strategic product initiatives.
Opportunity to work directly with the key business stakeholders and Product Owners
The candidate will be skilled in defining and creating both functional and non-functional requirements and in supervising the conversion of these into Agile user stories for use by all members of a software development team.
Key Accountabilities
Create business requirements and define user stories for use by cross-functional teams.
Analyse results of product solutions and report on customer acceptance.
Engage with customers and product managers to define new functionality and document this in user stories.
Communicate with both business and technical colleagues and customers in an appropriate manner and using a range of techniques.
Key Responsibilities
Working with customers to extract business requirements .
Evaluating business problems and proposing solutions to allow customers to meet these, either through software or changes to the existing processes.
Training, walk-throughs and demos of our products and development to customers and how they may be used with existing business practices - else how business practices may be modified to work with our platform.
Serving as a liaison by pro-actively communicating and collaborating with customers and SG Digital development teams to evaluate solutions to customer requirements.
Reconciling conflicts if necessary in an effort to achieve the optimum solution.
Providing excellent verbal and written communication skills whilst interacting with a diverse group of people, internally and externally.
Qualifications
3+ years’ experience as a Business Analyst role in an online industry
Demonstrable experience in defining and implementing comprehensive product strategies for complex IT projects working in Agile environments, with a heavy emphasis on user stories and acceptance criteria  through to production deployment, also with focus on non-functional requirements.
Proven communication and presentation skills.
Dealing with change on a daily basis; must be comfortable both with external factors driving this change as well as internals.
Excellent verbal and written communication skills.
Should be opinionated but also data-driven, especially about design and implementation of products.
Experience of SAFe methodology will be considered a plus
Additional Information
Why would you enjoy working with us at SG Digital?
Competitive benefits, an open and supportive environment as well as a modern and exciting workplace
The opportunity to interact with global teams on a regular basis and the possibility to switch teams and projects as you and our business continues to develop and grow
Tangible and genuine development - at SG Digital, you can take your career where you want it to go!
Exposure to real work, business-critical projects and the chance to develop some of the world’s leading e-commerce sportsbooks whilst working on exciting client projects and interact with lots of code!
Contact-info<EMAIL_ADDRESS>

N/A. closed


Updated piezo to use HTTPS

Thank you for the contribution. It was merged directly as 1c082b6081827a11efc4a52435b6d0c26545ff80 to keep commit history cleaner. Your contribution is still credited to you.


Allure result is failed to be generated when use allure-cypress

Current behavior
Use cypress cucumber and allure cypress https://allurereport.org/docs/cypress/ to make the allure-results JSON files failed to be generated when run npx cypress run via terminal
Desired behavior
allure-results JSON should be generated after the test is done
Test code to reproduce

Install Cypress 13.x
install and use cucumber for cypress @badeball/cypress-cucumber-preprocessor
Install allure plugins and set it up
const { defineConfig } = require("cypress");
const { allureCypress } = require("allure-cypress/reporter");
const createBundler = require('@bahmutov/cypress-esbuild-preprocessor');
const preprocessor = require('@badeball/cypress-cucumber-preprocessor');
const createEsbuildPlugin = require('@badeball/cypress-cucumber-preprocessor/esbuild');

async function setupNodeEvents(on, config) {
  allureCypress(on);

  await preprocessor.addCucumberPreprocessorPlugin(on, config);
  on(
    'file:preprocessor',
    createBundler({
      plugins: [createEsbuildPlugin.default(config)],
    })
  );

  return config;
}

module.exports = defineConfig({
  e2e: {
    setupNodeEvents
  },
});

via terminal exec npx cypress run

Versions

Cypress version: 13.x
Preprocessor version: 20.0.4
Node version: 20.11.0

Checklist

[ ] I've read the FAQ.
[ ] I've read instructions for logging issues.
[ ] I'm not using<EMAIL_ADDRESS>(package name has changed and it is no longer the most recent version, see #689).

This is answered in the FAQ.


Incompatibility with logger_flutter 0.7.1

As per the docs say, I want to add logger_flutter, but it is incompatible with the latest version of this package

I do not have access to the logger_flutter repo. Please file an issue there.
If I find the time I'll create a PR there. Chances are not terribly high ATM.


Design update

This PR fixes #31
Note: The changes mentioned in Slide 2 have not been implemented yet. We previously used a video background for this, but according to the document we need to change it to a gradient instead. Check my answer here: https://github.com/scimusmn/tsck-bionic-eyes-quiz-show/issues/31#issuecomment-1016327196

The following points were already fixed in the PR:

Question text box width should be 2500px. Currently is full width of web page. (https://d.pr/i/rZhEH2 -> https://d.pr/i/LdCH9L)
Score screen: update gradient and stroke around video (https://d.pr/i/1Mf7HO).

Not sure why it's showing you the same results. I will test it again to make sure.
The remaining issues will be fixed by Monday

@tnordberg All the issues have been fixed.
There's no simple JS/CSS solution for the last change. However, we can follow this answer on Stackoverflow if you're okay with updating the content:
https://stackoverflow.com/a/31974553/10050979
You'll have to add   between the second-last and last word. I've done that for the question in the example i.e s1_q1. Let me know if this solution works for you.


KDTree.count_neighbors : 0xC0000005 error for tuple of different weight arrays

I am having an issue for a specific usage of the count_neighbors method of a KDTree. With the new "weights" argument in 1.6.0, this error occurs when counting neighbors between two different arrays A and B, with their respective weight arrays in a tuple for the "weights" arg :
Reproducing code example:

r = np.arange(0.05, 1, 0.05)

A = np.random.random(21).reshape((7,3))
B = np.random.random(45).reshape((15,3))

wA = np.random.random(7)
wB = np.random.random(15)

kdA = KDTree(A)
kdB = KDTree(B)

nAB = kdA.count_neighbors(kdB, r, cumulative=False, weights=(wA,wB))

Error message:

Process finished with exit code -1073741819 (0xC0000005)

There is no Traceback, simply this exit code when the last line is executed. I was initially working with very large arrays when it occured, so I thought it could be a memory issue, but the example above produces the same error. Note that there is no such error when using count_neighbors between the same two KDTrees, with the same weights, as shown here:
nAA = kdA.count_neighbors(kdA, r, cumulative=False, weights=(wA,wA))

Scipy/Numpy/Python version information:

1.6.0 1.20.0 sys.version_info(major=3, minor=8, micro=6, releaselevel='final', serial=0)

It is possible that I misinterpreted the documentation, and that weighting is only implemented for two identical arrays. If that is the case, it would be useful to be able to do it for different ones.
Thanks!

@AetherTruth2019 When you get a segfault it is by definition a bug. You did not misread anything.
In this case there is a typo in the C++ code. Unfortunately it slipped through the testsuite.


Constructor for MoMoCoefficients without expression

MoMoCoefficients with constructor for only shape and color - quick convenience constructor

Thx. This makes life easier.


 Does not crash with wined3d
dmesg output on freeze:
[372457.659026] NVRM: GPU at PCI:0000:0a:00: GPU-949f5cab-1c1d-7259-3fb5-1970dcc00c65
[372457.659029] NVRM: GPU Board Serial Number:
[372457.659031] NVRM: Xid (PCI:0000:0a:00): 69, Class Error: ChId 003e, Class 0000902d, Offset 000008b8, Data fffff607, ErrorCode 00000004

Software information
Hard Reset (non-redux), Low and high settings, 1440p
System information

GPU: GTX 1080Ti
Driver:430.14 (also used 418.56 previously)
Wine version: 4.6-4.8 including staging as well as proton 4.2
D9VK version: multiple versions up until 0.12 release

Apitrace file(s)
https://mega.nz/#!BLg3kajR!hHdtIRdpLfnMMKkq3eOEKgypP4A1ZAPI_vXa5vVmeC0
Log files

d3d9.log:
hardreset_d3d9.log

dxgi.log:
hardreset_dxgi.log

Also I noticed the same with The Deadly Tower of Monsters, and as Ashton noticed in that Showcase I made of that game, that also Hard Reset seems to be leaking a massive amount of samplers.

I'm just gonna put this here so it doesn't get burried on Discord. Here's what CME found out:
gotta sleep soon, but the hard reset trace triggers some validation errors:
VUID-VkBufferImageCopy-bufferRowLength-00203(ERROR / SPEC): msgNum: 0 - vkCmdCopyBufferToImage(): pRegion[0] bufferRowLength (1) must be a multiple of the compressed image's texel width (4).. The Vulkan spec states: If the calling command's VkImage parameter is a compressed image, bufferRowLength must be a multiple of the compressed texel block width (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkBufferImageCopy-bufferRowLength-00203)
and
VUID-VkBufferImageCopy-bufferImageHeight-00204(ERROR / SPEC): msgNum: 0 - vkCmdCopyBufferToImage(): pRegion[0] bufferImageHeight (1) must be a multiple of the compressed image's texel height (4).. The Vulkan spec states: If the calling command's VkImage parameter is a compressed image, bufferImageHeight must be a multiple of the compressed texel block height (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkBufferImageCopy-bufferImageHeight-00204)
and
UNASSIGNED-CoreValidation-Shader-PointSizeMissing(ERROR / SPEC): msgNum: 0 - Pipeline topology is set to POINT_LIST, but PointSize is not written to in the shader corresponding to VK_SHADER_STAGE_VERTEX_BIT.

The game doesn't hang anymore after the first enemy killed. 🎉
The issue can be closed :)


Disconnecting and reconnecting internet makes server freak out and spam you

Thank you @Pokemanzz for report. It'll be patched soon.


High CPU usage

Ruby version
3.0.6
Code snippet
No response
Description
High CPU usage.
I noticed this issue today when quickly correcting an error reported by YARP, typically using copilot's autocomplete. Ruby starts consuming a substantial amount of CPU for an extended period, ultimately causing the Ruby LSP to crash completely. Here's a video demonstrating this behavior:
https://github.com/Shopify/ruby-lsp/assets/42195321/aa3892fc-8fe2-4001-9b1c-500cc9b06eaa
Expected output
Should have detected the correction change quickly.

Thank you for the bug report! At what point does the LSP crash? Until the end of the video it looks like it's still reporting diagnostics - and the process is still there at the end.
I haven't seen this when using the completions, but it'd be interesting to understand if Copilot is pasting the suggestion as a single TextEdit or multiple (which could be the source of the spike in CPU usage).

Thank you for the bug report! At what point does the LSP crash? Until the end of the video it looks like it's still reporting diagnostics - and the process is still there at the end.
I haven't seen this when using the completions, but it'd be interesting to understand if Copilot is pasting the suggestion as a single TextEdit or multiple (which could be the source of the spike in CPU usage).

In the video, I demonstrated when Ruby LSP stops reporting new diagnoses. Why does it get stuck on the 'yarp' error? When the error reported by 'yarp' appears, I try to add some blank spaces at the bottom to see if it changes the diagnosis (in this case, it should show some RuboCop violations), but nothing happens. It remains stuck on the 'yarp' error. Only after some time, the error alert goes away, and I go back to adding blanks, and the RuboCop diagnostics reappear.
time: 0.26 seconds

I haven't seen this when using the completions, but it'd be interesting to understand if Copilot is pasting the suggestion as a single TextEdit or multiple (which could be the source of the spike in CPU usage).

Today I also experienced this error without autocomplete... but unfortunately I didn't record it.

 But there's no crash in the sense of the process dying, otherwise VS Code would've thrown a bunch of dialogues saying that the server was crashing.
Are you able to consistently reproduce this? If so, you might be able to discover exactly what's taking too long by using this setting
{
  // Put this temporarily in your user settings
  "ruby lsp.trace.server": "messages"
}

When the LSP goes into the high CPU state, take a look at the Output tab and the Ruby LSP channel. It should be printing all requests made and their response times. If you can share which requests came in immediately before going into high CPU usages, that would really help diagnose.

Yes, I can reproduce this easily, I will analyze it later and send you the results. Thanks!

Thank you very much for digging deeper into this. It looks like the completion request was the one taking too long.
I believe #1073 will mitigate this issue.

Thank you very much for digging deeper into this. It looks like the completion request was the one taking too long.
I believe #1073 will mitigate this issue.

I performed new tests after version 0.11.2, and the high CPU usage behavior persists, even with the PR #1073 fix.

I will try to answer your questions.

Where in the file do you insert the letter and trigger the slowness? The nesting here is particularly important

I always perform these tests in the same way as shown in the video, modifying the proc_for_binds method in the
arel/nodes/homogeneous_in file (Rails repository). This can help you test it on your machine.

Which key did you press? We only support completion for classes, modules and constants at the moment, so this has to be an uppercase letter

I always start with an uppercase letter, in this case, 'A'.
Every time I tested it, it was at this location and with the letter A. So far, I haven't been able to reproduce this issue with lowercase letters.

Are you able to reproduce the slowness with a single keypress? There are two relevant parts for profiling this right:

I can reproduce it by pressing a key, but there is still quite a bit of noise in the log... I tried to make it as clean as possible to help, but I couldn't.

This is very helpful information, thank you for describing it. We'll need to profile what's going on exactly when triggering a completion on that file.


[Chart]Gauge chart enhancement request and bug fix

We recently added new Gauge chart(Echarts) to our library, which is great as MVP. Thanks to @krsnik93
Here are some enhancement requests to make the chart more robust. we can either make the improvement in Superset or Echarts.
Request

Add tooltips to 'needles' - p1
Add (dynamic)time range filter, not the entire time section - p1 (4/17/2021 Time section is added, need to make it dynamic)
Percentage on scale p2
Detect the scale range if there are more than one series. right now default is set [0,100], and user have to change MAX for the chart the make sense

Allow user to adjust label position
Click event and X-filtering support

Bug

Only up to four labels can be displayed when group-by is added, see the second screenshot above, we have the data of 7 regions from the query, but only showing 4.

After changing VALUE FORMAT in Custom tab, there's no way to restore the original value on the chart label.  - p1

All changes made in the CUSTOMIZE tab seems re-trigger query in the south data table which may affect perf - p2

When SHOW PROGRESS box is checked in Customize, and there are multiple series after group-by, user is only able to see up to 2 values.

Changing dataset should reset control panel to default, and set chart to the original state, only leaves COUNT(*) in metric.

Cosmetic issue
Overlapping here and there

in Show Progress and Round Cap

Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

@krsnik93 @EBoisseauSierra
Do you think we can address some of the issues above? happy to share the load. 🙏

@junlincc what do you think about moving the detail (value + text in the center) into the legend?  I think changing the default scale to START 180 and END 0 angle could help.

@junlincc what do you think about moving the detail (value + text in the center) into the legend?

We probably want to keep the legend simple.I wonder if we can show the labels dynamically?

when there's only one series, display number in the middle below with text.
when group-by is added,  move this section from center below to the right of the chart?
Tooltip(num + text) on hover is a must have in this case
Showing the all series after group-by is also must have

@mihir174 @villebro wdyt?

@junlincc should this PR be merged first: https://github.com/apache-superset/superset-ui/pull/1056 ?

1. Add tooltips to 'needles' **- p1**

added in https://github.com/apache-superset/superset-ui/pull/1070/commits/62be2086c05483a08932d2869021f597801145d8

2. Add (dynamic)time range filter, not the entire time section **- p1** (4/17/2021 Time section is added, need to make it dynamic)

All the other charts seem to use the entire time section, should we try to stay consistent?

3. Percentage on scale p2

Due to the way echarts overlaps multiple series:

by not showing the full length of each progress line, I think displaying percentages does not make sense. The changes for this should be done in echarts and I don't know if the use case is strong enough. For percentages, I would say using the pie chart makes more sense.

4. Detect the scale range if there are more than one series. right now default is set [0,100], and user have to change MAX for the chart the make sense

I have made it so that both min and max are now dynamically determined. Max on the axis becomes 2 * max data value, min on the axis is smaller of 0 and 2 * min data value (this is useful for negatives). It's still possible for the user to pass these two explicitly, but they are now optional control panel args.

1. Only up to four labels can be displayed when group-by is added, see the second screenshot above, we have the data of 7 regions from the query, but only showing 4.

This depends on the font size. By reducing it to the smallest value on the slider, I was able to display 7 data points. One way would be to decrease space between two different titles/values, but I don't think it should be decreased further. If you look at the image the spacing is already quite compact:

2. After changing VALUE FORMAT in Custom tab, there's no way to restore the original value on the chart label.  **- p1**

I don't understand this argument completely. I actually don't like this control and think it should be replaced, perhaps with separate prefix and suffix fields, just to avoid having this template value in the input field. Maybe even dropped completely as manipulating the query can be used to achieve similar results and the other charts don't have this type of formatter. What do you think?

3. All changes made in the CUSTOMIZE tab seems re-trigger query in the south data table which may affect perf **- p2**

Currently all changes need to trigger, otherwise it's not possible to have a separate CUSTOMIZE tab and everything gets moved back to DATA tab:
https://github.com/apache/superset/blob/77a9cc7088c421ff3d74cd8c54d7990a74b58bce/superset-frontend/src/explore/components/ControlPanelsContainer.tsx#L277

4. When SHOW PROGRESS box is checked in Customize, and there are multiple series after group-by, user is only able to see up to 2 values.

Those 2 should not be related. Control splitNumber should be used to set number of splits/labels. If there is an overlap this could be fixed in https://github.com/apache-superset/superset-ui/pull/1056

1. Changing dataset should reset control panel to default, and set chart to the original state, only leaves COUNT(*) in metric.

Isn't this constant for all chart types?

Cosmetic issue
Overlapping here and there
1. in Show Progress and Round Cap

Regarding labels, this is fixed in https://github.com/apache-superset/superset-ui/pull/1056 as well. Regarding values in the middle, I don't know if anything can be done besides reducing the font size and perhaps utilizing row limit and adhoc filters. Giving the chart more space on the dashboard might help as well.

@junlincc wdyt?

I'd like to be able to hide the column title on gauge chart or be able to customize what to show.

Another application is:  if it is a boolean column, instead of showing automated:True vs automated:False, I'd like the option to able to customize what is showing on the chart.

@junlincc  I have read in https://github.com/apache/superset/issues/14472 that the bullet graph will be replaced by the gauge one.
In my opinion the gauge visualisation uses too much screen estate compared to the bullet variant, but that may be personal taste.
Will there be a 'smaller' gauge variant? (such as the option in the timeseries chart (line, steps, scatter, bar, ...)
Will it be possible to define a query value for the MIN/MAX value and the intervalbounds (or one datapoint as marker on the gauge)? In the current design you have to use fixed values which limits the possibilities of this chart.

@PowerPlop hi! yes, bullet will soon be replaced but we do wanna make sure gauge offer more not less.
what do you mean by "smaller" ? i believe you can resize the chart on the dashboard right? we do have to fix the overlapping issue on resize though........

i do believe you can set the min/max in gauge, i'm thinking adding % too...

@junlincc With 'smaller' I would mean, a straight line instead of the curved gauge which takes up quite some space, only to mimic a speedometer design (which imo is not an ideal visualisation)
https://www.tableau.com/about/blog/2015/2/bullet-graphs-beat-gauge-charts
The bullet graph was developed to replace the meters and gauges that are often used on dashboards. Its linear and no-frills design provides a rich display of data in a small space, which is essential on a dashboard.
You can indeed set a min and max value, but the value cannot be linked to a query, which limits its use.
I would think that in most scenarios the min/max value are dynamic compared to the actual measurement value that is visualized (e.g. I have an expected sales amount, a minimum sales amount and the actual sales amount that are different depending on the selected region/producttype). In the current viz you have to set a fixed min/max while you should be able to define it with a query.

I think this is expected behavior but should be improved.
When the guage is set to only semi circle(angles 180-0), then there is a lot of whitespace seen in dashboard chart. If possible, the guage should be expanded in the chart area when such angles are set.

https://github.com/apache/superset/issues/16433
one more in the list!

@kamalkeshavani-aiinside make sense! it does take up too much unnecessary real estate. @stephenLYZ we can slowly get down to these.
@PowerPlop

I would think that in most scenarios the min/max value are dynamic compared to the actual measurement value that is visualized

agreed. what about there are multiple metrics? i have a hard time visualizing having different dynamic min/max on same scale. please advise 🙏

@junlincc I don't know if the gauge chart will be used with different metrics that have a different scale. If you would do this, I would expect you convert them to ratios so you can compare them and then 1 min/max can be used.


custom sound doesn't work.

the custom folder doesn't work for me (win10).
i follow the steps of the website but when I restart mech vibes the list is empty and I can't click it, and the sound stop (sorry for my bad english)

same :( idk what i'm doing wrong


Not allowed to access vertices on mesh 'Sling1' (isReadable is false; Read/Write

primitives from an imported basic table sling1, sling2, primitive 13 and 52 have the following errors when trying to play in editor. also plunger and ball create works after the above 4 gameobjects are removed.
Not allowed to access vertices on mesh 'Sling1' (isReadable is false; Read/Write must be enabled in import settings)
UnityEngine.Mesh:get_vertices ()
VisualPinball.Unity.MeshExtensions:ToVpMesh (UnityEngine.Mesh) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/Extensions/MeshExtensions.cs:34)
VisualPinball.Unity.MainRenderableComponent1<VisualPinball.Engine.VPT.Primitive.PrimitiveData>:GetDefaultMesh () (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/MainRenderableComponent.cs:72) VisualPinball.Unity.PrimitiveComponent:GetMesh () (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/Primitive/PrimitiveComponent.cs:243) VisualPinball.Unity.PrimitiveColliderGenerator:GenerateColliders (single,System.Collections.Generic.List1<VisualPinball.Unity.ICollider>) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/Primitive/PrimitiveColliderGenerator.cs:47)
VisualPinball.Unity.PrimitiveApi:CreateColliders (System.Collections.Generic.List1<VisualPinball.Unity.ICollider>,single) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/Primitive/PrimitiveApi.cs:50) VisualPinball.Unity.CollidableApi3<VisualPinball.Unity.PrimitiveComponent, VisualPinball.Unity.PrimitiveColliderComponent, VisualPinball.Engine.VPT.Primitive.PrimitiveData>:VisualPinball.Unity.IApiColliderGenerator.CreateColliders (System.Collections.Generic.List1<VisualPinball.Unity.ICollider>,single) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/CollidableApi.cs:59) VisualPinball.Unity.QuadTreeCreator:Create (Unity.Entities.EntityManager,Unity.Collections.NativeHashMap2<Unity.Entities.Entity, bool>&) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/Physics/Collision/QuadTreeCreator.cs:57)
VisualPinball.Unity.SimulateCycleSystemGroup:OnStartRunning () (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/Physics/SystemGroup/SimulateCycleSystemGroup.cs:71)
Unity.Entities.ComponentSystem:Update () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystem.cs:103)
VisualPinball.Unity.VisualPinballSimulationSystemGroup:OnUpdate () (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/Game/VisualPinballSimulationSystemGroup.cs:112)
Unity.Entities.ComponentSystem:Update () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystem.cs:114)
Unity.Entities.ComponentSystemGroup:UpdateAllSystems () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystemGroup.cs:472)
Unity.Entities.ComponentSystemGroup:OnUpdate () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystemGroup.cs:417)
Unity.Entities.ComponentSystem:Update () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystem.cs:114)
Unity.Entities.ScriptBehaviourUpdateOrder/DummyDelegateWrapper:TriggerUpdate () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ScriptBehaviourUpdateOrder.cs:333)
Not allowed to access normals on mesh 'Sling1' (isReadable is false; Read/Write must be enabled in import settings)
UnityEngine.Mesh:get_normals ()
VisualPinball.Unity.MeshExtensions:ToVpMesh (UnityEngine.Mesh) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/Extensions/MeshExtensions.cs:35)
VisualPinball.Unity.MainRenderableComponent1<VisualPinball.Engine.VPT.Primitive.PrimitiveData>:GetDefaultMesh () (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/MainRenderableComponent.cs:72) VisualPinball.Unity.PrimitiveComponent:GetMesh () (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/Primitive/PrimitiveComponent.cs:243) VisualPinball.Unity.PrimitiveColliderGenerator:GenerateColliders (single,System.Collections.Generic.List1<VisualPinball.Unity.ICollider>) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/Primitive/PrimitiveColliderGenerator.cs:47)
VisualPinball.Unity.PrimitiveApi:CreateColliders (System.Collections.Generic.List1<VisualPinball.Unity.ICollider>,single) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/Primitive/PrimitiveApi.cs:50) VisualPinball.Unity.CollidableApi3<VisualPinball.Unity.PrimitiveComponent, VisualPinball.Unity.PrimitiveColliderComponent, VisualPinball.Engine.VPT.Primitive.PrimitiveData>:VisualPinball.Unity.IApiColliderGenerator.CreateColliders (System.Collections.Generic.List1<VisualPinball.Unity.ICollider>,single) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/VPT/CollidableApi.cs:59) VisualPinball.Unity.QuadTreeCreator:Create (Unity.Entities.EntityManager,Unity.Collections.NativeHashMap2<Unity.Entities.Entity, bool>&) (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/Physics/Collision/QuadTreeCreator.cs:57)
VisualPinball.Unity.SimulateCycleSystemGroup:OnStartRunning () (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/Physics/SystemGroup/SimulateCycleSystemGroup.cs:71)
Unity.Entities.ComponentSystem:Update () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystem.cs:103)
VisualPinball.Unity.VisualPinballSimulationSystemGroup:OnUpdate () (at Library/PackageCache/org.visualpinball.engine.unity@0.0.1-preview.106/VisualPinball.Unity/VisualPinball.Unity/Game/VisualPinballSimulationSystemGroup.cs:112)
Unity.Entities.ComponentSystem:Update () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystem.cs:114)
Unity.Entities.ComponentSystemGroup:UpdateAllSystems () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystemGroup.cs:472)
Unity.Entities.ComponentSystemGroup:OnUpdate () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystemGroup.cs:417)
Unity.Entities.ComponentSystem:Update () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ComponentSystem.cs:114)
Unity.Entities.ScriptBehaviourUpdateOrder/DummyDelegateWrapper:TriggerUpdate () (at Library/PackageCache/com.unity.entities@0.17.0-preview.42/Unity.Entities/ScriptBehaviourUpdateOrder.cs:333)

These errors are not related to VisualPinball.Engine.PinMAME. Please post in the appropriate project.
Also, when posting errors and stack trace, please format using markdown, so it makes it easier for us to read:
https://www.markdownguide.org/extended-syntax/#fenced-code-blocks


https://www.appdynamics.com/supported-technologies/java

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Your swag version
e.g. 1.4.1
Your go version
e.g. 1.12.0
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser: [e.g. chrome, safari]
Version: [e.g. 22]

Additional context
Add any other context about the problem here.

So are u having an issue with appdynamics.com or it is related to swagger somehow?


Error when running KNN on training set

Hello and thank you for providing your code. I keep receiving the following error while trying to duplicate your code:
Error in { : task 1 failed - "could not find function "st_coordinates""
This error is specifically coming while trying to run KNN on the training set, provided in the code block below.
I downloaded your code and ran it with the dataset from your blog to see where I was going wrong and was getting the same error message.  I'm not sure if this is because the code is a few years old?
Any help would be appreciated! I'm not the most tech-savvy with R.
Thanks!
# config
k <- 1000 # "k" for k-nearest-neighbour-interpolation

# specify function which is executed for each tile of the grid
computeGrid <- function(grid, dialects_train, knn) {
  # create empty result data frame
  dialects_result <- data.frame(dialect = as.factor(NA),
                                lon = st_coordinates(grid)[,1],
                                lat = st_coordinates(grid)[,2])
  # run KKNN
  dialects_kknn <- kknn::kknn(dialect ~ .,
                        train = dialects_train,
                        test = dialects_result,
                        kernel = "gaussian",
                        k = knn)
  # bring back to result data frame
  # only retain the probability of the dominant dialect at that grid cell
  dialects_result %<>%
    # extract the interpolated dialect at each grid cell with the
    # kknn::fitted function
    mutate(dialect = fitted(dialects_kknn),
           # only retain the probability of the interpolated dialect,
           # discard the other 7
           prob = apply(dialects_kknn$prob,
                                1,
                                function(x) max(x)))
  return(dialects_result)
}

# specify the number of cores below (adapt if you have fewer cores or
# want to reserve some computation power to other stuff)
registerDoParallel(cores = 8)

# specify number of batches and resulting size of each batch (in grid cells)
no_batches <- 60 # increase this number if you run into memory problems
batch_size <- ceiling(length(grid) / no_batches)

Hey. Are you sure you followed the installation procedure through checkpoint as detailed in the README?


Error Retrieving ModelInfo

I am trying to retrieve the modelInfo for a single model. Note this does include a potentially sizeable GeoJSON object.
In insomnia (i.e. the API is working):

In NAMCr:

Will look into this and get back to you


Add extra information for self hosting

Overall, I found self-hosting to be pretty straightforward. I added a couple points that were discussed in #187, as well as information about authentication because the generated swagger doc doesn't have details about that for some reason.

@allcontributors please add aditsachde for docs


Move API Profile logic to Azure SDK

Is this referring to the fact that the profiles are currently hard coded in the CLI?

Yes. Will work with SDK team to create a shared package.

will reopen when we will have to do it


Too hard to preserve POST params prior to request phase

Currently params provided to the request phase via the query string in the GET request are stored as session["omniauth.params"]:
https://github.com/omniauth/omniauth/blob/cc0f5522621b4a372f4dff0aa608822aa082cb60/lib/omniauth/strategy.rb#L280
and then retrieved and made available in the callback phase as request.env["omniauth.params"]:
https://github.com/omniauth/omniauth/blob/cc0f5522621b4a372f4dff0aa608822aa082cb60/lib/omniauth/strategy.rb#L236
This useful feature, whilst mentioned in third-party blogs like here and here, is still lacking official documentation as mentioned in issue #909.  That's unfortunate, but there is a further issue caused by a combination of two facts:

This only works when the request phase is triggered with GET.
When mitigating CVE-2015-9284 via the advice given in https://github.com/omniauth/omniauth/wiki/Resolving-CVE-2015-9284, it is necessary to trigger the request phase via POST, since allowing GET /auth/:provider is unsafe.

So when attempting to write code which uses omniauth safely, there is no obvious way to preserve custom application-specific parameters which are passed at login time.
By looking at lib/omniauth/strategy.rb I managed to figure out that I could do something like:
Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, ENV['FACEBOOK_KEY'], ENV['FACEBOOK_SECRET']
  provider :twitter, ENV['TWITTER_KEY'], ENV['TWITTER_SECRET']

  before_request_phase do |env|
    # Prior to login, save user parameters to session so that we can
    # retrieve them after authentication in order to update the user's
    # preferences.
    #
    # This API is basically undocumented and was figured from reading
    # omniauth's strategy.rb.
    env["rack.session"]["user_params"] = env["rack.request.form_hash"]["user"]
  end
end

Then later on after authentication has succeeded and the callback redirects to my users_controller.rb, I can access these custom parameters via session[:user_params].  However it does not seem good that developers should have to assume such knowledge about the internals of the middleware in order to write code which safely preserves parameters across the various HTTP requests in the authentication flow.  Therefore I suggest that something similar to omniauth.params is implemented for POST requests - it could be called omniauth.form_params, for instance.
And of course, all of this should be clearly documented, and explained in https://github.com/omniauth/omniauth/wiki/Resolving-CVE-2015-9284 too :-)

I am using this strategy https://github.com/stevenkaras/omniauth-mailchimp and it does not work like that.
Basically, anything I add to the session in the request phase is lost when I am in the callback controller.
This is using rails 6.0.3
  provider :mailchimp, ENV['MAILCHIMP_CLIENT_ID'], ENV['MAILCHIMP_CLIENT_SECRET'], setup: lambda { |env|
    if env["omniauth.strategy"].on_request_path?
      env['rack.session']['foo'] = 'foo'
    end
  }

  before_request_phase do |env|
    # Prior to login, save user parameters to session so that we can
    # retrieve them after authentication in order to update the user's
    # preferences.
    #
    # This API is basically undocumented and was figured from reading
    # omniauth's strategy.rb.
    env["rack.session"]["user_params"] = 'something!!!'
  end
end

Then in the callback controller
def create
    puts session[:foo]
    puts session[:user_params]
    render plain: 'ok'
  end

Nothing is printed. Any Idea what could be happening here?

Also wondered about the same thing, and the search led me here. Is there any willingness to support this from the maintainers? are PRs for this going to be considered? or is it a dead-end?

I would need to look into any potential ramifications of the changes being discussed, and overall community need

I am using this strategy https://github.com/stevenkaras/omniauth-mailchimp and it does not work like that.
Basically, anything I add to the session in the request phase is lost when I am in the callback controller.
This is using rails 6.0.3

  provider :mailchimp, ENV['MAILCHIMP_CLIENT_ID'], ENV['MAILCHIMP_CLIENT_SECRET'], setup: lambda { |env|

    if env["omniauth.strategy"].on_request_path?

      env['rack.session']['foo'] = 'foo'

    end

  }

  before_request_phase do |env|

    # Prior to login, save user parameters to session so that we can

    # retrieve them after authentication in order to update the user's

    # preferences.

    #

    # This API is basically undocumented and was figured from reading

    # omniauth's strategy.rb.

    env["rack.session"]["user_params"] = 'something!!!'

  end

end

Then in the callback controller

def create

    puts session[:foo]

    puts session[:user_params]

    render plain: 'ok'

  end

Nothing is printed. Any Idea what could be happening here?

I'm not guaranteeing this works, but have you tried accessing with string keys?

I'm not guaranteeing this works, but have you tried accessing with string keys?

Yes, I tried that, but still does not work.

I also ran into this problem after switching from GET /auth/:provider to POST /auth/:provider.
I was able to work around it by using ::Rack::Utils.parse_query(URI(request.env["omniauth.origin"]).query) instead of request.env["omniauth.params"].
This probably isn't the "right way"; but if anyone knows what the "right way" is I hope they will enlighten me.


Goes to beer o'clock when its one minute to go

I've Noticed a fatal error in the count down. While sitting there, patiently waiting with a cold beer in my hand and the counter has one minute to go it suddenly switches to "Beer o'clock". Leaving me no time to find an opener or even a suitable glass. This is an outrage! :)

You need to be more prepared 😉
Cheers! 🍻


Fix deprecation warnings.

Change style bindings mixin to use htmlSafe().
Change deprecated attributeBindings syntzx.

LGTM! Thanks @arenoir!
We still need to run grunt dist in this repository to generate the globals build. Go ahead and do that if you want, otherwise I'll just run it myself when I merge in a couple hours.

@arenoir the demo application (running ember s) doesn't work after your change to use htmlSafe(). Do you know why?

Oh strange; I was thinking all of the changes were pretty benign. I will look into it.

Fixes applied via efa43e3ee5c6d6449b12c0886e97cf78929da13f and 9d9cd4bb5d56ff3fadb97aae1022da409aba6297.


Added NotUserConfigurableCheck and Configuration example

NotUserConfigurableCheck is really a workaround for a poor API, but we've got what we've got and it's not too bad - it's fairly neat doing config like this.


[release-1.1] Add further checks on Module version

This is a cherry-pick of 5067a83.
/cc @yevgeny-shnaidman

Prevent updating to or from an empty ModuleLoader version, as this requires recreating new DaemonSets because of labelSelector updates
Upstream-Commit: 4b3bc41f58135aa859050dbe4115a1c4974a6376

/lgtm


Which database do we upload to?

The tool should result in automatic uploading to common libraries.
We could directly upload to GNPS and Massive for instance.
Uploading directly to these existing libraries would have as downside that these libraries will get mixed with libraries that previously did not have quality control. How should we address this?
One thing I could think of is adding to the metadata, which quality checks were performed. This would allow users of public libraries to filter out spectra that were not checked by quality control.

Personally database would be far down stream. All the databases are managed quite manually. You usually still need to push the change and request a review etc. Automating this might not be necessary and stable as things will change in the future.
I think the keyword here is data formats and conversion to allow people to add libraries to all databases.

We are building a repository though were people just upload the metadata files that should then be cleaned up and enriched. We have a template for this metadata and can then rerun the automatic library generation with different parameters, generating libraries for different purposes:

machine learning
library matching
...

We have actually just implemented exactly this functionality in matchms in the last few months. So it would be very interesting to collaborate further on this. Might still be valuable to have this directly implemented in MZMine/Java as well, but it is good to know that all this is already available in matchms. So it might be interesting to try to connect the two and/or to share our experience to make it easier for you to add similar metadata cleaning functionality into MZMine.

Exactly, let's prevent re-inventing the wheel :-)


storage capacity GA blog post

https://github.com/kubernetes/enhancements/issues/1472: storage capacity tracking GA

We'll need to assign a publication date and fix the path before this can merge. (something for the release comms team)

@pohly could we plan to have this ship on 6-MAY-2022?

I've changed to date: 2022-05-06 and force-pushed with all commits squashed and the path updated.

This would need tech LGTM from sig storage, I think.

@xing-yang : does this look good to you?

/assign @xing-yang


Created Maturity Score in Product Dashboard

This Maturity level model has been developed with 16 check points to monitor the delivery pipeline.

Implemented JSON-logic.js to place all the maturity score logic in JSON.
Created cicd-gates-data factory to consume the name of factory, method, arguments and makes required API calls by replacing the arguments by its value based on name.
Version Control, Branching Strategy (PR#1303 is pending), Code Coverage, Automated Build and Static Analysis logic is present in JSON.

@satishc1 @tabladrum  - LGTM


[QUESTION] - What does this extension provide?

Description
The readme is somewhat geared toward the developer that may wish to contribute to the project. However, the only info in the readme that is provided to a non-dev is "An extension to support OML in VSCode-based IDEs".  What does that exactly mean?
It would be nice to have a succinct list of features that are exposed in Code and possibly a set of snapshots to help the average user understand what the tooling will provide.

Agreed. I plan to provide such feature list. For now, I can say:

The VS Code extension allows one to edit the *.oml files with feature fledged content-assist.
The VS Code client with the Gradle plugin installed allows to invoke the Gradle tasks of the OML project like build, startFuseki, owlQuery, etc.
The VS Code extension allows visualizing OML models in diagram automatically (open an OML model, right click the editor and choose "Open Diagram").


Allow bioconda builds to run commandline tests

(Rev is 0 to 2 because I did some testing with 1 and then deleted 1 from PyPI but can't resubmit a new 1)

Codecov Report

Merging #106 into master will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##           master     #106   +/-   ##
=======================================
  Coverage   96.18%   96.18%
=======================================
  Files          17       17
  Lines        2281     2281
=======================================
  Hits         2194     2194
  Misses         87       87

Impacted Files
Coverage Δ

trtools/version.py
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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