Templating Hell: Getting values from an percentiles_bucket

Hi,
I´ going on to implement the statistical anomaly detector in kaaE.
I have a payload like this:
payload": {
    "took": 5765
    },
    "hits": {
        "total": 52862370
    },
    "aggregations": {
        "metrics": {
            "buckets": [
                {
                    "key": "san",
                    "doc_count": 12044956,
                    "queries": {
                        "buckets": [
                            {
                                "key": "test",
                                "doc_count": 1523666,
                                "series": {
                                    "buckets": [
                                        {
                                            "key_as_string": "2016-12-01T11:00:00.000Z"
                                            "avg": {
                                                "value": 1.3768800502676486
                                            }
                                        }
                                    ]
                                },
                                "largest_surprise": {
                                    "value": 9.858812645206719,
                                    "keys": [
                                        "2016-12-01T12:00:00.000Z"
                                    ]
                                }
                            }
                        ]
                    },
                    "ninetieth_surprise": {
                        "values": {
                            "95.0": 9.858812645206719
                        }
                    }
                }
            ]
        }
    }
}

and an action, that should iterate over the payload:
    "actions": {
      "ES_bulk_request": {
        "throttle_period": "1m",
        "webhook": {
          "method": "POST",
          "host": "myhost",
          "port": 80,
          "path": "/_bulk",
          "body": "{{#payload.aggregations.metrics.buckets}}metric:{{key}}, value:{{ninetieth_surprise.values[95.0]}}{{/payload.aggregations.metrics.buckets}}",
          "headers": {
            "content-type": "text/plain; charset=ISO-8859-1"
          }
        }
      }

1st Problem:
I can´t get a value from the ninetieth_surprise bucket. I tried nearly every escaping... like values['95.0']/values['95.0']/values["95.0"]/values["95.0"]
No idea what is going wrong.
2nd Problem:
I will need a formatted timestamp in the next step. I saw a Variable like justNow inside the action.js code. could you make it available to the mustache.render process of the actions?
thank you for helping me.
regards
christian

Hi Christian,

this is a known issue, so far the easiest workaround is to copy to a new accessible var using a transform script to ease the mustaching - there's an example in the Wiki with this specific example.

Not sure but maybe you can generate your timestamp using transform script too?

var payload.newts = new Date().toJSON();

But isn´t this a little bit more complicated, because it´s inside a template loop?
{{#payload.aggregations.metrics.buckets}}
metric:{{key}},
**value:{{ninetieth_surprise.values[95.0]}}**
{{/payload.aggregations.metrics.buckets}}

this means you need add a new 95suprise.value field to each metrics bucket.... hmmm.

@cherweg unfortunately this is a limitation in mustache rather than our implementation AFAIK
The transform script should iterate the buckets and extract the values to a "readable" object selector, or straight up replace the 95.0 instances with an selectable field compatible with mustache....

@cherweg could you try this transform script:
payload = JSON.parse(JSON.stringify(payload).split('95.0').join('95'));

and body
{{#payload.aggregations.metrics.buckets}}metric:{{key}}, value:{{ninetieth_surprise.values[95]}}{{/payload.aggregations.metrics.buckets}}

Thank you. An hour faster than me... here my solution:
    "transform": {
      "script": {
        "script": "payload.aggregations.metrics.buckets.forEach(function(e){ e.ninetieth_surprise.value = e.ninetieth_surprise.values['95.0'] })"
      }
    }

Fantastic! Keeping this issue open to assist (if needed) until you achieve the ultimate goal

At this time my first version of atlas detection is running on my test cluster...still tuning it.
Next week i will post some details of the implementation, hoping you´ll fix my rookie javascript. ;-)
regards
christian

Excited to see and contribute to it! Thanks for your efforts making this happen! :)

Any updates on this? I'm very curious to see what you produced and to share it with other users

Hi there and a Happy New Year!
I think i´ve an working implementation for getting metric disruptions. Our situation:

We´ve an varnish-cache server as Frontend-LB and caching Proxy.
The backends are selected based on their first_url_part.
Backends are dynamically added or removed by our development teams (even new applications).

If we look at the 95th percentile of our consolidated backend runtimes we can´t see problems of a special backend service.
If we draw a graph for every service, it will be to much to see a Problem.
So tried to implement the atlas algorithm as mentioned in the elastic blog entry:
Here is a timelion screeshot of a Loadbalancer Problem:

How to do this?
You need two watchers:
First the one to collect a most suprising req_runtime of every backend for ervery hour:
{
  "_index": "watcher",
  "_type": "watch",
  "_id": "surprise",
  "_score": 1,
  "_source": {
    "trigger": {
      "schedule": {
        "later": "every 1 hours"
      }
    },
    "input": {
      "search": {
        "request": {
          "index": "public-front-*",
          "body": {
            "query": {
              "filtered": {
                "filter": {
                  "range": {
                    "@timestamp": {
                      "gte": "now-24h"
                    }
                  }
                }
              }
            },
            "size": 0,
            "aggs": {
              "metrics": {
                "terms": {
                  "field": "first_url_part"
                },
                "aggs": {
                  "queries": {
                    "terms": {
                      "field": "backend"
                    },
                    "aggs": {
                      "series": {
                        "date_histogram": {
                          "field": "@timestamp",
                          "interval": "hour"
                        },
                        "aggs": {
                          "avg": {
                            "avg": {
                              "script": "doc['req_runtime'].value*1000",
                              "lang": "expression"
                            }
                          },
                          "movavg": {
                            "moving_avg": {
                              "buckets_path": "avg",
                              "window": 24,
                              "model": "simple"
                            }
                          },
                          "surprise": {
                            "bucket_script": {
                              "buckets_path": {
                                "avg": "avg",
                                "movavg": "movavg"
                              },
                              "script": {
                                "file": "surprise",
                                "lang": "groovy"
                              }
                            }
                          }
                        }
                      },
                      "largest_surprise": {
                        "max_bucket": {
                          "buckets_path": "series.surprise"
                        }
                      }
                    }
                  },
                  "ninetieth_surprise": {
                    "percentiles_bucket": {
                      "buckets_path": "queries>largest_surprise",
                      "percents": [
                        90.01
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "condition": {
      "script": {
        "script": "payload.hits.total > 1"
      }
    },
    "transform": {
      "script": {
        "script": "payload.aggregations.metrics.buckets.forEach(function(e){ e.ninetieth_surprise.value = e.ninetieth_surprise.values['90.01']; e.newts = new Date().toJSON(); })"
      }
    },
    "actions": {
      "ES_bulk_request": {
        "throttle_period": "1m",
        "webhook": {
          "method": "POST",
          "host": "myhost",
          "port": 80,
          "path": "/_bulk",
          "body": "{{#payload.aggregations.metrics.buckets}}{\"index\":{\"_index\":\"atlas\", \"_type\":\"data\"}}\n{\"metric\":\"{{key}}\", \"value\":{{ninetieth_surprise.value}}, \"execution_time\":\"{{newts}}\"}\n{{/payload.aggregations.metrics.buckets}}",
          "headers": {
            "content-type": "text/plain; charset=ISO-8859-1"
          }
        }
      }
    }
  }
}

The transform script makes the 90th suprise value of every buckes accessible for mustache and generates a NOW timestamp.
The action writes the relevant values back to a seperate index named atlas.

The second watcher iterates ervery 5 minute over the atlas index to find anomalies to report...:
{
  "_index": "watcher",
  "_type": "watch",
  "_id": "check_surprise",
  "_score": 1,
  "_source": {
    "trigger": {
      "schedule": {
        "later": "every 5 minutes"
      }
    },
    "input": {
      "search": {
        "request": {
          "index": "atlas",
          "body": {
            "query": {
              "filtered": {
                "filter": {
                  "range": {
                    "execution_time": {
                      "gte": "now-6h"
                    }
                  }
                }
              }
            },
            "size": 0,
            "aggs": {
              "metrics": {
                "terms": {
                  "field": "metric"
                },
                "aggs": {
                  "series": {
                    "date_histogram": {
                      "field": "execution_time",
                      "interval": "hour"
                    },
                    "aggs": {
                      "avg": {
                        "avg": {
                          "field": "value"
                        }
                      }
                    }
                  },
                  "series_stats": {
                    "extended_stats": {
                      "field": "value",
                      "sigma": 3
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "condition": {
      "script": {
        "script": "var status=false;payload.aggregations.metrics.buckets.forEach(function(e){ var std_upper=parseFloat(e.series_stats.std_deviation_bounds.upper); var avg=parseFloat(JSON.stringify(e.series.buckets.slice(-1)[0].avg.value)); if(isNaN(std_upper)||isNaN(avg)) {return status;}; if(avg > std_upper) {status=true; return status;};});status;"
      }
    },
    "transform": {
      "script": {
        "script": "var alerts=[];payload.payload.aggregations.metrics.buckets.forEach(function(e){ var std_upper=parseFloat(e.series_stats.std_deviation_bounds.upper); var avg=parseFloat(JSON.stringify(e.series.buckets.slice(-1)[0].avg.value)); if(isNaN(std_upper)||isNaN(avg)) {return false;}; if(avg > std_upper) {alerts.push(e.key)};}); payload.alerts=alerts"
      }
    },
    "actions": {
      "series_alarm": {
        "throttle_period": "15m",
        "email": {
          "to"<EMAIL_ADDRESS>          "from": "sentinl@localhost",
          "subject": "ATLAS ALARM Varnish_first_url_part",
          "priority": "high",
          "body": "there is an alarm for the following Varnish_first_url_parts:{{#alerts}}{{.}}<br>{{/alerts}}"
        }
      }
    }
  }
}

The condition script tests whether the average runtime of the last bucket is grater than upper bound of the std_dev.
The transform script does somthing similar an alerts array at the top of the payload.
At the and we alert per email (and later per Rest to icinga)
Regards
christian
P.s.: I´ll write some more. I have a little less time at the moment.

Thanks Christian! I'll convey this to a Wiki page we can extend with your help if that's ok?

Sure. Thank you for your help. :-)

Closing as this is now generally documented.


[Discuss] Simplify branch management

We'll simplify current Branch Management recently.
master
 ↑
dev         <--- PR(hotfix/typo/3rd-PR)
 ↑ PR
{domain}-feature-{date}

Weex Branches

master branch
0. master is the latest (pre-)release branch.
dev,
0. dev is the stable developing branch. Github Release is used to publish a (pre-)release version to master branch.
0. It's RECOMMENDED to commit hotfix (like typo) or feature PR to dev.
{domain}-feature-{date} branch
0. The branch for a developing iteration, e.g. android-feature-20160607 is an android developing iteration which is done at 2016.06.07. {domain} consists of android, ios, jsfm and html5.
0. DO NOT commit any PR to such a branch.

get √


Eth 2 Phase 2 methods

I think we should merge this because scout only refers to commit hashes now, but if this PR is rebased those will become invalid as the git repo is pruned (git gc) periodically by Github.
The only one I was unsure about is pushNewDeposit, whether it should take a single deposit receipt (SSZ serialised) or to have saveDeposits which expects an entire list of deposits (SSZ serialised).

Merging this for the reason above.

Also pushed 0395cc8e to this branch, which was the original commit needed by the original version of scout.


[Learners] Showcase your own drum-kit webpages

MicroByte Title: Building a JS-based drum-kit webpage
Improvement Proposal:

Learners are requested to build their own versions of our drum-kit webpage and add a link to the deployed webpage inside this section as linked.

Benefits of proposed improvements:

Learners will gain confidence in building their own versions of the drum-kit webpage and showcasing their creations.

It will provide them with an opportunity to build something awesome completely from scratch and finish our final micro-challenge in Activity-5.

Why would you assign this to me?

@sandip2224 I apologize. Nevermind. Let's see which learner picks it up!


Lighthouse performance test fails

Describe the bug
Hi, I have been noticing that on the pages I build with Sveltekit the Lighthouse performance test is not working. It always shows the error NO_FCP (First Content Paint).
At first I thought it could be my fault for using lazy loading in some sections of the page (https://raccode.dev) but in others I don't do it and it keeps happening (https://mmabogada.com).
In both I create a small delay in the rendering to show the page with a fade in but that has never given me problems using other frameworks or creating static web pages in a vanilla way. Both use prerender.
Is this a known problem?
Thanks in advance.

The page shows that couldn't found any data.
Also happens when running Lighthouse locally with the links provided at the description.
Logs
No response
System Info
System:
    OS: macOS 12.2
    CPU: (4) x64 Intel(R) Core(TM) i5-5350U CPU @ 1.80GHz
    Memory: 234.63 MB / 8.00 GB
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 16.13.1 - /usr/local/bin/node
    Yarn: 1.22.17 - /usr/local/bin/yarn
    npm: 8.1.2 - /usr/local/bin/npm
  Browsers:
    Chrome: 99.0.4844.84
    Safari: 15.3

Severity
annoyance
Additional Information
No response

can't reproduce with any of my Svelte projects.

I cannot reproduce on my SvelteKit projects either. This seems likely to be an issue particular to your specific project. We would need more info showing that there's actually a bug caused by SvelteKit here

I have this same problem


Add a CLI application to apply a spherical transformation to an STL file

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

Please upload report for BASE (main@0426d72). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff            @@
##             main        #7   +/-   ##
========================================
  Coverage        ?   100.00%
========================================
  Files           ?         6
  Lines           ?        93
  Branches        ?         0
========================================
  Hits            ?        93
  Misses          ?         0
  Partials        ?         0

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Index title issue

https://github.com/gill-orange/fuzzy-spoon/blob/00a58ce336c92a51191391aa607722cbec0168e5/index.html#L14

Fixed


NIFI-12700: refactored PutKudu to optimize memory handling for AUTO_F…

…LUSH_SYNC flush mode (unbatched flush)
This is for the support 1.x branch. Another PR was made for the 2.x line https://github.com/apache/nifi/pull/8322

Summary
NIFI-12700
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[x] Apache NiFi Jira issue created

Pull Request Tracking

[x] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[x] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[ ] Pull Request based on current revision of the main branch
[ ] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[x] Build completed using mvn clean install -P contrib-check

[x] JDK 21

Licensing

[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[ ] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[ ] Documentation formatting appears as expected in rendered files

Verified the requested changes were made. +1 LGTM, thanks for the improvement! Merging to support/nifi-1.x

Closing as merged


Create serialized extension definitions

And potentially package them with the python lib?

This is done in #584 but is blocked by a larger PR, it has already been used in guppy though by copy pasting.
The plan is to put them in a standalone package, like the ecc sets


Add Adaptive selection statistics to NodeStats

Relates: https://github.com/elastic/elasticsearch/pull/28721
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/6.3/cluster-nodes-stats.html#adaptive-selection-stats
Also,

Ingest statistics are missing; add these
Look at rename of breakers to breaker for field data circuit breaker stats (may be wrong JsonProperty name in client, or renamed in ES source).

breakers is still the property name in the response, if you want to filter on it you need to specify breaker though in the URL which is correctly defined in NodesStatsMetric. No action needed.


Switch line endings from DOS to UNIX for saml_aws_creds.py

@drewandersonnz gave 👍 in stg PR #1672


Teams

Add ability to randomly separate list of names into a set number of teams

Added. Will be in the next release


Request for new device - Fanco Eco Silent Deluxe Ceiling Fan with LED Light CFFCESD3LWHSMRABS

Requesting device support for Fanco Eco Silent Deluxe DC Smart Ceiling Fan with LED Light
Fan switch is currently discoverable in Tuya Local as simple_switch only
Information about DPS mappings
{
"result": {
"category": "fs",
"functions": [
{
"code": "switch",
"dp_id": 1,
"type": "Boolean",
"values": "{}"
},
{
"code": "fan_speed_percent",
"dp_id": 3,
"type": "Integer",
"values": "{"min":"1","max":"6","scale":"0","step":"1"}"
},
{
"code": "light",
"dp_id": 15,
"type": "Boolean",
"values": "{}"
},
{
"code": "bright_value",
"dp_id": 16,
"type": "Integer",
"values": "{"min":"10","max":"1000","scale":"0","step":"1"}"
},
{
"code": "temp_value",
"dp_id": 17,
"type": "Integer",
"values": "{"min":"0","max":"1000","scale":"0","step":"1"}"
}
],
"status": [
{
"code": "switch",
"dp_id": 1,
"type": "Boolean",
"values": "{}"
},
{
"code": "fan_speed_percent",
"dp_id": 3,
"type": "Integer",
"values": "{"min":"1","max":"6","scale":"0","step":"1"}"
},
{
"code": "light",
"dp_id": 15,
"type": "Boolean",
"values": "{}"
},
{
"code": "bright_value",
"dp_id": 16,
"type": "Integer",
"values": "{"min":"10","max":"1000","scale":"0","step":"1"}"
},
{
"code": "temp_value",
"dp_id": 17,
"type": "Integer",
"values": "{"min":"0","max":"1000","scale":"0","step":"1"}"
}
]
},
"success": true,
"t":<PHONE_NUMBER>171,
"tid": "a4586334ab5411ed9a310aeeb3bc8fba"
}
Product ID
{
"result": {
"category": "fs",
"category_name": "Fan",
"model": "MZ-DCFAN",
"product_id": "agyqzsfpafsvkrl9",
"product_name": "DC吊扇",
},
Information about how the device functions
Fan has On/Off, 6 speeds, timer, forward & reverse
LED Light has On/Off, dimmable brightness, color temp selection
Product link: https://www.fanco.com.au/product/eco-silent-deluxe-dc-abs-blades-ceiling-fan-smart-remote-with-cct-led-white-52/
Manual link: https://www.fanco.com.au/wp-content/uploads/manuals/esd-manual.pdf
Smart App guide: https://www.fanco.com.au/wp-content/uploads/manuals/fanco-smart-ceiling-fan-manual.pdf

The info above seems incomplete:

Fan has On/Off, 6 speeds, timer, forward & reverse

The above info contains only on/off and 6 speeds.  No forward/reverse or timer function.

Anyway, I have implemented a preliminary version without forward/reverse or timer support as a first step.

Just removed and re added the device, no error - just discovered as simple switch, with this log message:
Device matches simple_switch with quality of 11%. DPS: {'updated_at':<PHONE_NUMBER>.4074905, '1': False, '2': 'normal', '3': 2, '8': 'forward', '15': False, '16': 1000, '17': 220, '22': '0', '24': 0}
Does this help ?
May be the case that the other functions are only supported by the remote ???

Yes that helps.  Did you update the tuya_local integration to use "main" (Redownload from the HACS menu, then select "main" and wait for the select box to reactivate before pressing Download)?  The DPS list looks like it should match the config I made, though it is not a complete match, due to the dps for the other functions, plus some more
2: "normal" - not sure, probably related to the fan
8: "forward" - this will be the "forward"/"reverse" function
22: "0" - not sure.  It might be related to the timer, as some timers have a separate set and remaining dp
24: 0 - should be the timer, but as above, it might be necessary to set it through dp 22.
If I can see the interface for the timer, I can probably tell what type of timer it is, and therefore whether dp 22 is the timer, or something else.

The manual provides some answers
"normal" and "natural" wind modes
timer is a fixed list of "Cancel", "1H", "2H", "3H", "4H", which suggests that dp 22 is for setting the timer, and dp 24 will just be feeding back the remaining time.

Thankyou,
Updated the tuya_local integration and added device.
Have Fan On/Off and Speed
Have Light On/Off, brightness and color temp - however actual color temp on device is reveresed to that of the slider display in HA

Updated tuya-local to 2023.2.1, can confirm device entities work correctly.
Thankyou for adding this device.


Word-Freq - similar freqs - use full PoS names on mouseover

Plus make the visuals (= different color for brackets) similar to the ones used in the main word PoS (see the pic below).

Sorry, one more thing is needed due to the fact that the freq. info is already merged in the items with the same lemma but different PoS. What we need is to merge the item like this:
tedy [J, T]


Show DynamicListOf for all anything types with list indices

fixed by https://github.com/nix-gui/nix-gui/issues/179


services.uwsgi: python{2,3}Packages ignore PropagatedBuildInputs of inputs

The current module implementation of uwsgi does not resolve implicit dependencies from python packages.
For example for a simple flask app this is not enough:
  services.uwsgi = {
    enable = true;
    user = "nginx";
    plugins = [ "python2" ];
    instance = {
      my-flask-app = {
        type = "normal";
        python2Packages = self: with self; [ pkgs.my-flask-app flask  ];
      };
    };
  };

The whole dependency chain must be added to the packages in order to make the app work:
python2Packages = self: with self; [ pkgs.mycube-flask flask redis werkzeug jinja2 markupsafe itsdangerous ];

The bad thing really is that the problem only shows itself at runtime with the initial import of the dependency inside the python code.
Some minor nitpicks:

the current documentation for uwsgi is extremely slim  - e.g. plugins is empty by default which results in -- unavailable modifier requested: 0 -- .
Mistakenly adding python to plugins list instead of python2 results in a f*ck-you stacktrace generated by nix without any hint what went went wrong - the pkgs.python reference should be used instead.

I'll look into this, thanks.

Let me start with saying I am not familiar with uwsgi at all. Even so this looks somewhat similar to https://github.com/NixOS/nixpkgs/pull/13050 (check the outdated comments).
A general solution to such import problems is to make sure pkgs.my-flask-app goes via python-packages.nix. There have been many issues with packages when that wasn't the case. Maybe this helps...

@FRidh The dependencies are coming from flask itself which is coming from upstream pythonPackages . pkgs.my-flask-app is actually a derivation i built via buildPythonPackage and added it to the pkgs namespace via nixpkgs.config.packageOverrides.

@makefu: does this work now? I can't make a minimal uwsgi + python setup work.

@knedlsepp this is the setup i am running for my custom python application:

configuration: http://cgit.euer.krebsco.de/stockholm/tree/makefu/2configs/deployment/mycube.connector.one.nix
application package: http://cgit.euer.krebsco.de/stockholm/tree/makefu/5pkgs/mycube-flask/default.nix

Thanks for the examples. I'll see what I can make work and maybe contribute something to the docs: https://github.com/NixOS/nixpkgs/issues/26861

@knedlsepp That would be awesome!
You could use the nixos-users wiki ( https://github.com/nixos-users/wiki/wiki ) to write a first draft before going "official".


Fix compiler warnings

Description
Followup on #20, fixing the remaining warnings in this package.  See commits for details.
Open question: The last commit initialises contact_disabled in mirror_free_joint[s].hxx which was potentially used uninitialised.  I set it to false now, but I'm not sure if this is a good default.  Let me know if I should rather initialise it to true.
How I Tested
By building and running unit tests.
I fulfilled the following requirements

[x] All new code is formatted according to our style guide (for C++ run clang-format, for Python, run flake8 and fix all warnings).
[x] All new functions/classes are documented and existing documentation is updated according to changes.
[x] No commented code from testing/debugging is kept (unless there is a good reason to keep it).

I saw that most of the issues have already been fixed on master in the meantime, so I reduced this PR to the remaining warning.

@vincentberenz Does this look good to you?


Twilio configuration

Looks like this "pre-configuration" method no longer works in twilio-ruby 5.3.0:
Twilio.configure do |config|
config.account_sid = 'some_sid'
config.auth_token  = 'some_auth_token'
end
It was removed from lib/twilio-ruby.rb in this commit:
https://github.com/twilio/twilio-ruby/commit/038a3f921bb6ae66063389d9f685ab297042d06a

Twilio developer evangelist here.
I am investigating why this was removed from the gem and will report back when I know more.

The configure block has returned to the twilio-ruby gem in version 5.3.1. I am still investigating why it was removed.

@philnash any updates?

The configure block has returned and won't be removed again. Sadly this means that version 5.3.0 won't work with Textris, but the versions around it and continuing on in the future will.
I might recommend that the version constraint on the twilio-ruby gem moves up to ~> 5.4. Although the versions are only development dependencies in this gem, so I'm not sure how much that will help.

Since there hasn't been much activity since, I assume this has been resolved.


Convert to 100% Gradle

It's hard to move fast when supporting two different IDEs. Android Studio is now
the recommended Android IDE, so let's just drop support for Eclipse.

/cc @stanleyw @wangmengyan95 @hallucinogen

LGTM. Plz ship


RSD455 can not get 90FPS at 480*270 resolution

Test Program
// include the librealsense C++ header file
#include <librealsense2/rs.hpp>

#include <opencv2/opencv.hpp>

#include <chrono>

using namespace std;
using namespace cv;

int main()
try
{
    //Contruct a pipeline which abstracts the device
    rs2::pipeline pipe;

    //Create a configuration for configuring the pipeline with a non default profile
    rs2::config cfg;
    //Add desired streams to configuration
    cfg.enable_stream(RS2_STREAM_COLOR, 480, 270, RS2_FORMAT_BGR8, 90);

    //Instruct pipeline to start streaming with the requested configuration
    pipe.start(cfg);

    // Display in a GUI
    const auto window_name = "Display Video";
    namedWindow(window_name, WINDOW_AUTOSIZE);

    //用于计时
    //show time
    auto start = chrono::system_clock::now();
    int frame = 0;

    while (waitKey(1) < 0 && getWindowProperty(window_name, WND_PROP_AUTOSIZE) >= 0)
    {
        rs2::frameset data = pipe.wait_for_frames(); // Wait for next set of frames from the camera

        //获取彩色图像帧
        rs2::frame color = data.get_color_frame();

        //保存彩色图像
        Mat image(Size(480, 270), CV_8UC3, (void *)color.get_data(), Mat::AUTO_STEP);

        // Update the window with new data
        imshow(window_name, image);

        frame++;
        //one loop end
        auto end = chrono::system_clock::now();
        auto duration = chrono::duration_cast<chrono::microseconds>(end - start);
        double timecost = double(duration.count()) * chrono::microseconds::period::num / chrono::microseconds::period::den;

        cout << frame / timecost << " FPS" << endl;

    }

    return 0;
}
catch (Exception ex)
{
    cout << "Error!!!" << endl;
    cerr << ex.msg << endl;
}

Output
55.5214 FPS
55.5205 FPS
55.5054 FPS
55.5079 FPS
55.4945 FPS
55.4764 FPS
55.4838 FPS
55.4904 FPS
55.491 FPS
55.4976 FPS
55.5032 FPS
55.5051 FPS
55.5176 FPS
55.532 FPS
55.5319 FPS

Hi @FrankCreen   I ran a test at 480x270 RGB in the RealSense Viewer program at 90 FPS in RGB8 format with RGB Auto-Exposure disabled and Auto-Exposure Priority enabled and achieved 62 FPS.
Having RGB Auto-Exposure enabled and Auto-Exposure Priority enabled provided 29 FPS.
Running the test with RGB Auto-Exposure enabled and Auto-Exposure Priority disabled provided 90 FPS.  This is because having AE enabled and AE Priority disabled forces the FPS to try to stay at a constant rate.

If your project requires Auto-Exposure disabled then you can also fix the FPS to a constant rate by setting manual exposure to a certain range.
https://github.com/IntelRealSense/librealsense/issues/1957
If you decide to go for the method of Auto-Exposure Enabled and Auto-Exposure Prority diabled then the link below has C++ code for disabling AE Priority:
https://github.com/IntelRealSense/librealsense/issues/5290

Hi @FrankCreen I ran a test at 480x270 RGB in the RealSense Viewer program at 90 FPS in RGB8 format with RGB Auto-Exposure disabled and Auto-Exposure Priority enabled and achieved 62 FPS.
Having RGB Auto-Exposure enabled and Auto-Exposure Priority enabled provided 29 FPS.
Running the test with RGB Auto-Exposure enabled and Auto-Exposure Priority disabled provided 90 FPS. This is because having AE enabled and AE Priority disabled forces the FPS to try to stay at a constant rate.

If your project requires Auto-Exposure disabled then you can also fix the FPS to a constant rate by setting manual exposure to a certain range.
#1957
If you decide to go for the method of Auto-Exposure Enabled and Auto-Exposure Prority disabled then the link below has C++ code for disabling AE Priority:
#5290

Thanks for your detailed reply,I got some progress but not complete. I add the "Auto_Exposure " and "Auto_Exposure_Priority" setting option after the "pipe.start" , the output even far away from 90FPS.
Test Program with exposure setting
// include the librealsense C++ header file
#include <librealsense2/rs.hpp>

#include <opencv2/opencv.hpp>

#include <chrono>

using namespace std;
using namespace cv;

int main()
try
{
    //Contruct a pipeline which abstracts the device
    rs2::pipeline pipe;

    //Create a configuration for configuring the pipeline with a non default profile
    rs2::config cfg;
    //Add desired streams to configuration
    cfg.enable_stream(RS2_STREAM_COLOR, 480, 270, RS2_FORMAT_BGR8, 90);

    //Instruct pipeline to start streaming with the requested configuration
    pipe.start(cfg);

    //Sensor Settings
    auto sensor1 = pipe.get_active_profile().get_device().query_sensors()[0];
    sensor1.set_option(RS2_OPTION_ENABLE_AUTO_EXPOSURE, 1);
    auto sensor2 = pipe.get_active_profile().get_device().query_sensors()[1];
    sensor2.set_option(RS2_OPTION_AUTO_EXPOSURE_PRIORITY, 0);

    // Display in a GUI
    const auto window_name = "Display Video";
    namedWindow(window_name, WINDOW_AUTOSIZE);

    //用于计时
    //show time
    auto start = chrono::system_clock::now();
    int frame = 0;

    while (waitKey(1) < 0 && getWindowProperty(window_name, WND_PROP_AUTOSIZE) >= 0)
    {
        rs2::frameset data = pipe.wait_for_frames(); // Wait for next set of frames from the camera

        //获取彩色图像帧
        rs2::frame color = data.get_color_frame();

        //保存彩色图像
        Mat image(Size(480, 270), CV_8UC3, (void *)color.get_data(), Mat::AUTO_STEP);

        // Update the window with new data
        imshow(window_name, image);

        frame++;
        //one loop end
        auto end = chrono::system_clock::now();
        auto duration = chrono::duration_cast<chrono::microseconds>(end - start);
        double timecost = double(duration.count()) * chrono::microseconds::period::num / chrono::microseconds::period::den;

        cout << frame / timecost << " FPS" << endl;
    }

    return 0;
}
catch (Exception ex)
{
    cout << "Error!!!" << endl;
    cerr << ex.msg << endl;
}

Output
64.4443 FPS
64.4459 FPS
64.4472 FPS
64.4435 FPS
64.443 FPS
64.4466 FPS
64.4482 FPS
64.4479 FPS
64.4422 FPS
64.4419 FPS
64.4394 FPS
64.4388 FPS
64.4406 FPS

So,what I missed ?
#7661

Depth and RGB have separate Auto Exposure, and it is the RGB Auto Exposure that should be enabled.  Can you check whether you are setting Auto Exposure on the RGB sensor and not the Depth one please?
//Sensor Settings
    auto sensor1 = pipe.get_active_profile().get_device().query_sensors()[0];
    sensor1.set_option(RS2_OPTION_ENABLE_AUTO_EXPOSURE, 1);
    auto sensor2 = pipe.get_active_profile().get_device().query_sensors()[1];
    sensor2.set_option(RS2_OPTION_AUTO_EXPOSURE_PRIORITY, 0);

Depth and RGB have separate Auto Exposure, and it is the RGB Auto Exposure that should be enabled. Can you check whether you are setting Auto Exposure on the RGB sensor and not the Depth one please?
It looks as though you should be using [1] as the index for query_sensors on the auto sensor1 line instead of [0] in order to set RGB exposure instead of depth exposure.
//Sensor Settings
    auto sensor1 = pipe.get_active_profile().get_device().query_sensors()[1];
    sensor1.set_option(RS2_OPTION_ENABLE_AUTO_EXPOSURE, 1);
    auto sensor2 = pipe.get_active_profile().get_device().query_sensors()[1];
    sensor2.set_option(RS2_OPTION_AUTO_EXPOSURE_PRIORITY, 0);

Haha,not change more@_@
66.2738 FPS
66.2836 FPS
66.2801 FPS
66.2939 FPS
66.3056 FPS
66.3154 FPS
66.333 FPS
66.3363 FPS
66.3113 FPS
66.2843 FPS
66.2761 FPS
66.2796 FPS
66.2944 FPS
66.2772 FPS
66.2535 FPS

There's no official tutorials about this. I found these code on the internet which work with D435. Does we have to add some other magic code to work with D455?

The code looks okay to me.  Could you verify please in the RealSense Viewer that you can achieve 90 FPS with RGB AE enabled and AE Priority disabled?   If it can, then I would recommend investigating whether the *frame / timecost formula for calculating the FPS printout is provising the correct result.

You should not need special code for the script to work with D455.
The sensor code looks okay to me. Could you verify please in the RealSense Viewer that you can achieve 90 FPS with RGB AE enabled and AE Priority disabled? If it can, then I would recommend investigating whether the frame / timecost formula for calculating the FPS printout is providing the correct result.
The information overlay that provides the live FPS information can be toggled with the 'i' option on the top of the stream's panel.

Hi Marty! I want to ask the difference between the Hardware FPS and Viewer FPS. Thank you very much!

The model-views.cpp SDK file provides the following explanation:

Hardware FPS captures the number of frames per second produced by the device.  It is possible and likely that not all of these frames will make it to the application.
Viewer FPS captures how many frames the application manages to render.  Frame drops can occur for variety of reasons.
https://github.com/IntelRealSense/librealsense/blob/master/common/model-views.cpp#L2655

So it may be successfully capturing at 90 FPS but there is some factor that is holding the FPS back when the data is rendered in the Viewer.
In my own tests in the Viewer, I got around 62 FPS when set at 90 if I had RGB Auto-Exposure disabled and Auto-Exposure Priority enabled.
Otherwise, if I had RGB Auto-Exposure enabled and Auto-Exposure Priority disabled then I got 90 FPS.

The model-views.cpp SDK file provides the following explanation:
Hardware FPS captures the number of frames per second produced by the device. It is possible and likely that not all of these frames will make it to the application.
Viewer FPS captures how many frames the application manages to render. Frame drops can occur for variety of reasons.
https://github.com/IntelRealSense/librealsense/blob/master/common/model-views.cpp#L2655
So the camera hardware may be successfully capturing at 90 FPS but there is some factor that is holding the FPS back when the data is rendered in the Viewer.
In my own tests in the Viewer, I got around 62 FPS when set at 90 if I had RGB Auto-Exposure disabled and Auto-Exposure Priority enabled.
Otherwise, if I had RGB Auto-Exposure enabled and Auto-Exposure Priority disabled then I got 90 FPS.

Thanks! I solved my problem with a NVIDIA 1070ti GPU that supports opencv4 computation accleration. ^_^

Excellent news - thanks very much for the update!

Case closed due to a successful outcome and no further comments received.


update package.json to publish types to npm module

Thanks @tobq, I appreciate it!
Merging now, I'm going to squash on the way in, as this makes sense as a single commit to me

Thanks @tobq, I appreciate it!
Merging now, I'm going to squash on the way in, as this makes sense as a single commit to me


shell: Cleanup, fixes & refactoring

This patch set removes a lot of dead code from the shell, refactors it to be more readable, and fixes things such as proper lookup of commands/modules.

I also wanted to add that I've verified the changes work with tests/shell as well as the Mesh & Bluetooth shell modules.


access control for file and attachment uploads

No permissions checking is currently done for attachment uploads. Use Container._get() to do it:
self._get(_id, ‘rw’)

Also, file uploads currently require admin permission, but that should probably be changed to read-write as well.

This looks like it can be closed - ref commits by @kevlarkevin that seem to add the feature mentioned.
Thoughts?

Closed by 15cc166cb6b42f2cf55c161d02e5f5b092af204c.


Looking forward to the code/data release!

Very interesting work! Hope you guys can release the code/data to reproduce your results:-)

Thanks for your patience, we have released the code and the data.


Better logging information

Description
Hey All!
I have been running a lot of migrations and adding the REPO_NAME in the output would make hunting failures and success much easier...
Current Output
[11:35 AM] [INFO] Migration RM_kgDaACQ1MjgxNjE5ZS0yYTg4LTQ2YWQtODg0Mi1hMTJmNGI5NjJiNTU is IN_PROGRESS
[11:35 AM] [INFO] Waiting 10 seconds...
[11:35 AM] [INFO] Migration succeeded for migration RM_kgDaACQ1MjgxNjE5ZS0yYTg4LTQ2YWQtODg0Mi1hMTJmNGI5NjJiNTU
[11:35 AM] [INFO] You are running the latest version of the gei CLI [v0.18]
[11:35 AM] [INFO] Waiting for migration RM_kgDaACQwM2Q3ZTZkZS1hOTUyLTQwNDMtOWU3NC0zMDQ4NmFkYmMxZTE to finish...
[11:35 AM] [ERROR] Migration failed for migration RM_kgDaACQwM2Q3ZTZkZS1hOTUyLTQwNDMtOWU3NC0zMDQ4NmFkYmMxZTE
[11:35 AM] [ERROR] Git source migration failed. Error message: the server responded with status 422

Proposed output
[11:35 AM] [INFO] Migration RM_kgDaACQ1MjgxNjE5ZS0yYTg4LTQ2YWQtODg0Mi1hMTJmNGI5NjJiNTU is IN_PROGRESS
[11:35 AM] [INFO] Waiting 10 seconds...
[11:35 AM] [INFO] Migration succeeded for migration RM_kgDaACQ1MjgxNjE5ZS0yYTg4LTQ2YWQtODg0Mi1hMTJmNGI5NjJiNTU, REPO_NAME:[repo1]
[11:35 AM] [INFO] You are running the latest version of the gei CLI [v0.18]
[11:35 AM] [INFO] Waiting for migration RM_kgDaACQwM2Q3ZTZkZS1hOTUyLTQwNDMtOWU3NC0zMDQ4NmFkYmMxZTE to finish...
[11:35 AM] [ERROR] Migration failed for migration RM_kgDaACQwM2Q3ZTZkZS1hOTUyLTQwNDMtOWU3NC0zMDQ4NmFkYmMxZTE, REPO_NAME:[repo2]
[11:35 AM] [ERROR] Git source migration failed. Error message: the server responded with status 422

Conclusion
When running for many repos, it's a bit hard to visually parse the repo that may have failed.
Of course you can grep the logs and find the specific repo, but could be an easy feature to add additional visibilty

Boy, are you ever in luck! We implemented that already last week, it's already in main, just waiting for the next release of the CLI.
duplicate of: https://github.com/github/gh-gei/issues/368


Icon lookup by name

It would be useful to have a function the returns an icon by name.
A use-case is for associating an icon with a persisted entity, e.g. some model that's stored in the DB should have an associated icon.
I see that there's already a generated IconsInfo slice. if there was a map generated by the same means, that could serve as the backing store for the lookup function, e.g.:
var iconDict map[string]IconInfo

func Lookup(name string) (IconInfo, error) {
	info, exists := iconDict[name]
	if !exists {
		return IconInfo{}, fmt.Errorf("not found")
	}

	return info, nil
}

Ideally the map keys would be generated in kebab-case rather than the prose that the IconInfo.Name field uses , for easy copy-paste from the Lucide UI, and url-safety. For parity, maybe the IconInfo struct should have a Slug field with the kebab-case name.
I'm not sure if there are currently any users of the IconsData slice (it's quite large and inefficient to work with), but in the interest of avoiding the memory cost for users at import time of having all that data duplicated, perhaps either the existing IconsData slice could be replaced with a map, or alternatively each IconInfo value could be stored as a global pointer var, and used for both the lookup map, and the IconsData slice (this would necessitate a type change on the slice, so both options would be breaking changes).
Since I'm not convinced of the utility of the slice, I'd likey lean toward the former option, however generating pointer vars would let you do some interesting things, like having the Lookup backing map accept both kebab- and prose-case keys, pointing to the same results, and perhaps adding more search functionlity, (e.g. category lookups) in the future, without blowing out memory further.

Here's a PoC implementation that leverages pointers across multiple data structures: #3


Drop grpc/profobuff dependencies

Is your feature request related to a problem? Please describe.
I'm always frustrated when I see them as explicit requirements in go.mod. Also, new ReplicateObject RPC is the only RPC that our API repo does not support (generated RPC only, no corresponding funcs in https://github.com/nspcc-dev/neofs-api-go/tree/70b1ffbd81414afce53290d61160b4716be02845/rpc), why?
Describe the solution you'd like
Do API-dependent things/implementations in the API repo, and reuse its functionality in SDK.
Describe alternatives you've considered
Nothing. Not sure I would think differently ever. At least -- if we change our perception of the API/SDK, their relations, etc -- we should do it once and with two repos at a time, not one by one.
Additional context
All the thoughts in the thread.

I see your point and yes, inconsistency wrt api-go is bad. At the same time, how about dropping api-go? I don't see it solving any problem for us, there are zero other users of api-go, no one needs it except for SDK. You can argue about potential v3, but even that can be handled internally by SDK and other languages (all those 20 languages we support, right?) can do whatever they want with the stable API definitions.

how about dropping api-go?

Dont mind. Maybe even a little "for". But what bothers me is that there is no issue about it (ok, I may be missing it but there is no link to it in the merged PR then), and it is "started" in some weird way with a single method that is still originally generated in api-go repo. Also, I do not like how often NeoFS does one thing and then does it back (SDK and api-go were together once, so much code was part of the node, then part of SDK, then there is an issue to make it part of the node again, etc). So much useless work (but api-go is full of useless wrappers itself, agree).

there is no issue about it

Yes. We've not touched api-go for some time.

"started" in some weird way with a single method

Obviously, @cthulhu-rider just followed the path of least resistance which is to skip api-go. The choice was either to stop him doing that and lose some time refactoring the thing or accept this contribution that solves some problem as is (leaving the question for this issue, notice that we still can refactor, but after it's all integrated).

I do not like how often NeoFS does one thing and then does it back

Everyone hates it.

SDK and api-go were together once

They were separated to:

differentiate low-level API (they way it is in gRPC) and high-level API
simplify version transitions

Both goals are good on their own, but over time you can notice that in fact:

low-level API is completely unusable, so the only user of api-go is sdk-go
some API separation can be easily achieved with packages (just look at the current pool, for example)
we still have a single version and they can be managed the other way
we lose some time on these boundaries each time we touch this area

The ideal world wrt this issue is:

you have protobuf (OpenAPI/anything else) API definition
you automatically generate bindings for your $LANGUAGE
you're good to go with these bindings

But you know the reality, it doesn't and can't work this way for NeoFS. So we can keep api-go just because we have it and 10 years from now it might become useful in some way or we can forget about it and simplify the process.

there is an issue to make it part of the node again

Which one?

Obviously, @cthulhu-rider just followed the path of least resistance which is to skip api-go.

I understand and deny this approach for things that are well structured and that a side reader can not expect.

api-go [...] we can forget about it and simplify the process

No problem, but where is an issue about? How to understand if we are dropping it or not?

there is an issue to make it part of the node again

Which one?

Just an example: https://github.com/nspcc-dev/neofs-sdk-go/pull/36 and https://github.com/nspcc-dev/neofs-sdk-go/pull/526, ok, it is not even an issue, it is a ready-to-merge suggestion (already done work, harder to complain at review stage, that is what i am talking about) that exactly declines the previous work. We did it more than once.

How to understand if we are dropping it or not?

Communication. Like this one here.

Just an example: #36 and #526

We're not merging #526 in its current form for sure.


Add snapshot related integration tests to jiva CI

Travis CI tests for openebs/jiva currently include only:

volume provisioning
data read/writes

The CI tests should include the tests for snapshot related functionality added as part of the OpenEBS v0.4.0 release.

@kmova Can someone write the steps that will be required for implementation ?

The steps are currently included in the e2e CI. It will be good to include this as part of the UT


request help: the e2e test case has bug when httpbinsvc been removed.

cc PR https://github.com/apache/apisix-ingress-controller/pull/677
Who has the time to help look at this problem, it should work when httpbinsvc has been removed.

I think we can close this one.


🦩 argocd - fix CRD race condition 🦩

this fixes the race condition when installing argocd into an empty cluster using helm lifecycle hooks, waiting for CRD to be made available by subscription/OLM
the ramifications are that 'helm template' does not recognise these hooks, this will affect https://github.com/rht-labs/ubiquitous-journey usage e.g. bootstrap would look like this
# bootstrap to install argocd and create projects
helm upgrade --install bootstrap -f bootstrap/values-bootstrap.yaml bootstrap --create-namespace --namespace labs-bootstrap
# uninstall bootstrap chart
helm delete bootstrap --namespace labs-bootstrap --debug

@eformat ; just for my own understanding, how does helm know to wait for the wait-for-crd pod to have run? was looking at the other bits but couldn't work it out by reading the YAML.

@eformat ; just for my own understanding, how does helm know to wait for the cluster-check pod to have run? was looking at the other bits but couldn't work it out by reading the YAML.

The pattern looks like this:
(1) for operator subscriptions
normal yaml/helm deploy in the templates/folder
(2) then wait for CRD's pod
this uses a hook, with priority that makes it run before other post-install hooks, and deletes itself once OK
annotations:
"helm.sh/hook": post-install,post-upgrade
"helm.sh/hook-weight": "-1"
"helm.sh/hook-delete-policy": hook-succeeded,hook-failed
(3) then for anything that requires a CRD e.g. a CR, deploy using hook, but dont delete after success, needs to run after crd check pod in (2)
annotations:
"helm.sh/hook": post-install,post-upgrade
"helm.sh/hook-weight": "25"

@springdo @tylerauerbeck i have also added support for an ignoreHelmHooks flag to this chart. see:
https://github.com/redhat-cop/helm-charts/pull/120/commits/f90f989d3296eff454c217c2200c1d9f6835be52
this is for ArgoCD support when you want to manage the chart as a dependency in argocd e.g. UJ bootstrap - this is something that currently works for "helm template" .. but because of the way hooks map in argocd (https://argo-cd.readthedocs.io/en/stable/user-guide/helm/#helm-hooks) you get the wrong behavior if you use helm to first install the chart.
so, the flow looks like this (my testing so far using a petbattle repository)
git clone https://github.com/petbattle/pb-ci-cd.git
cd ubiquitous-journey

helm upgrade --install bootstrap \
  -f bootstrap/values-bootstrap.yaml \
  bootstrap --create-namespace --namespace labs-bootstrap

argocd login $(oc get route argocd-server --template='{{ .spec.host }}' -n labs-ci-cd):443 --sso --insecure

argocd app create bootstrap-journey \
  --dest-namespace labs-bootstrap \
  --dest-server https://kubernetes.default.svc \
  --repo https://github.com/petbattle/pb-ci-cd.git \
  --revision main \
  --sync-policy automated \
  --path "ubiquitous-journey/bootstrap" \
  --helm-set argocd-operator.ignoreHelmHooks=true \
  --values "values-bootstrap.yaml"

LGTM 🪂


Steal Net-TS-impl Quick Reference

Nice horizontal layout of grouped sections like "Buffers"
https://chriskohlhoff.github.io/networking-ts-doc/doc/index.html

Beast quick reference is looking pretty great now


Addition of ProjectHoneypot and McAfee

I've added information from ProjectHoneypot and McAfee.  However, it works, so that's a start. If there's a better way to do it, I'd love to know :)

Closing as a new version supersedes this


Missing warning on requesting float64 in random.uniform

Description
It's a known gotcha that by default JAX very aggressively uses fp32, overriding fp64 even when requested explicitly. Warnings about this are very helpful but are not displayed consistently.
jax.numpy.zeros:
In [1]: import jax.numpy as jnp

In [2]: jnp.zeros(1, dtype=jnp.float64).dtype
<ipython-input-2-cf3e83ec7758>:1: UserWarning: Explicitly requested dtype <class 'jax.numpy.float64'> requested in zeros is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/google/jax#current-gotchas for more.
  jnp.zeros(1, dtype=jnp.float64).dtype
Out[2]: dtype('float32')

jax.random.uniform:
In [3]: from jax import random

In [4]: random.uniform(random.PRNGKey(0), dtype=jnp.float64).dtype
Out[4]: dtype('float32')

What jax/jaxlib version are you using?
0.4.14
Which accelerator(s) are you using?
No response
Additional system info
No response
NVIDIA GPU info
No response

Thanks! We're aware of this issue. I have a work-in-progress PR that cleans up dtype handing in jax.random, but it stalled because it led to breakages in so many downstream projects: #15177

Good to know, thanks.


Fix is_dirty check for Repo Settings

Fix handling of Use LXE checkbox on Repo Settings (checkboxes need to be set with boolc)

https://github.com/abapGit/abapGit/assets/15635498/4f9cf54a-07d7-42f0-adc1-d7a53d77944c
But I think the reason is different -> form comes empty on exit. I think it is a bug introduced somewhen earlier. That's why I used the merge approach in sett_remo, it's more consistent.
https://github.com/abapGit/abapGit/pull/6300/files#diff-26879d7167b607818e03b1a5b75b126fa79c9e720d1117c4d1954b220def6c2fR944
mo_form_data->merge( zcl_abapgit_html_form_utils=>create( mo_form )->normalize( ii_event->form_data( ) ) ).

When is_dirty compares the tables, one tables contains use_lxe with empty string(0), the other has is a single space for use_lxe.
Other forms like "Local Settings" handle checkboxes the same way with boolc.
https://github.com/abapGit/abapGit/blob/e6fcfd97afd0a0dd4e34a4039ac4a950abca690c/src/ui/pages/zcl_abapgit_gui_page_sett_locl.clas.abap#L326-L337
Of course, there are other ways to address this as part of the framework but I don't have time for such effort.

Yes, probably these are separate issues indeed. So yes, your fix is good and relevant. It's just that there is another issue too. Maybe to be fixed separately.


How to build other renderApi version?

I can not find the way to change to other RenderApi,It seems I have to build the project again.
By the way,why don't you design it to a dynamic render? There exist render switch requirement in a platform such as android or ios.

You can set the render backend to use through http://docs.bsframework.io/latest/structbs_1_1_s_t_a_r_t___u_p___d_e_s_c.html and pass it along to Application on start-up.
In the future please post questions on discourse.bsframework.io, we're keeping this section for bug reports and feature requests only.


Can't resolve 'history' in 'C:\Users...\node_modules\react-router'

Version
React router v6.0.0beta
Please replace this sentence with the React Router version that you are using.
Test Case
https://codesandbox.io/s/react-router-gh6n7
Steps to reproduce
Expected Behavior
Actual Behavior
My react app is not building

This has nothing to do with React Router.

You need to install history separately. https://github.com/ReactTraining/react-router/releases/tag/v6.0.0-beta.0


Generation of mixin in component seem not work correctly when optimization set to true

Which @angular/* package(s) are the source of the bug?
compiler
Is this a regression?
Yes
Description
When I build with optimization = true (angular.json)
optimization = false:
[concept=file][_nghost-gml-c314]>div.card[_ngcontent-gml-c314]>div.header[_ngcontent-gml-c314] {
color           : #fff;
background-color: #4da1d8
}
optimization = true:
[concept=file]>div.card>div.header[_nghost-oti-c144] {
color           : #fff;
background-color: #4da1d8
}
It seem only affect component with mixin
Please provide a link to a minimal reproduction of the bug
No response
Please provide the exception or error you saw
no exception

Please provide the environment you discovered this bug in (run ng version)
Angular CLI: 15.2.8
Node: 14.21.3
Package Manager: npm 6.14.18
OS: win32 x64

Angular: 15.2.9
... animations, cdk, common, compiler, compiler-cli, core, forms
... localize, material, material-moment-adapter
... platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1502.8
@angular-devkit/build-angular   15.2.8
@angular-devkit/core            15.2.8
@angular-devkit/schematics      15.2.8
@angular/cli                    15.2.8
@schematics/angular             15.2.8
rxjs                            7.8.1
typescript                      4.8.4

Anything else?
No response

This seems like a bug but we'll need to look at a reproduction to find and fix the problem. Can you setup a minimal repro please?
You can read here why this is needed. A good way to make a minimal repro is to create a new app via ng new repro-app and adding the minimum possible code to show the problem. Then you can push this repository to github and link it here.
This might be related to your directory structure so its really important to get an accurate repro to diagnose this.

Closing due to lack of a reproduction.


loading please wait

hi, i have windows 10 uptaded, java too and i have a white screen with loading please wait :(

@sheryus Please follow #545


az network bastion rdp ignores windows system name when using azure ad mfa

Describe the bug
Current situation:
az network bastion rdp connects with the azure resource name of the virtual machine.
If the system name is different then this will result in an error when using the azure ad enabled / web authentication flow:

In the screenshot you see that it tried to connect with vm-redacted-eudev-qyhx whereas the system name is redacted-eudev-qyhx.
Desired situation:
az cli should pull the system name from the virtual machine and provide that to mstsc.exe. Additionally I think the configured domain suffix is relevant. Easiest would just be to provide a parameter the the user must provide.
Existing work around:
I used az network bastion rdp --configure --enable-mfa, saved the resulting file, changed the system name, reloaded the file and connected successfully.
I was also able to use the tunnel feature:
az network bastion tunnel --resource-port 3389 --port 50000
and then use local hosts file spoofing of the target vm and use mstsc.exe to connect to port machinename:50000.
It is unfortunate that mstsc.exe does not allow for setting the target system name separate from the target ip. Maybe this is a limitation of the bastion / rdp gateway api as well.
Related command
az network bastion rdp --configure --enable-mfa
Errors

In the screenshot you see that it tried to connect with vm-redacted-eudev-qyhx whereas the system name is redacted-eudev-qyhx.
Issue script & Debug output
N/A
Expected behavior
az cli should pull the system name from the virtual machine and provide that to mstsc.exe.
Environment Summary
{
"azure-cli": "2.51.0",
"azure-cli-core": "2.51.0",
"azure-cli-telemetry": "1.1.0",
"extensions": {
"azure-devops": "0.25.0",
"bastion": "0.2.5",
"devcenter": "0.1.0",
"init": "0.1.0",
"ip-group": "0.1.2",
"resource-graph": "2.1.0",
"ssh": "2.0.1",
"storage-preview": "0.8.3",
"vm-repair": "0.5.4"
}
}
Additional context
No response

Thank you for opening this issue, we will look into it.

@cveld
Due to NetBios computer names limit, the VM name shouldn't exceed 15 characters
(Link : https://learn.microsoft.com/en-us/troubleshoot/windows-server/identity/naming-conventions-for-computer-domain-site-ou#:~:text=Computer names-,NetBIOS computer names,-Allowed characters%3A)
When your VM ill be joined to AAD of your tenant (By enabling the VM extension), the name this one will be truncated to 15 Characters.
Below an example of a truncated VM name (generating same error you had).
Original name : vm-windows-public
Truncated to : vm-windows-publ

What would be great is that the az cli would pull the system name from the vm. Now I need to run with --configure, save the rdp file, change the rdp file so that it reflects the system name and then mstsc.exe is perfectly able to open the remote desktop.

@yonzhan any update?

hi any update to this as it give the same problem when using a vmss and connection to windows vm.

At the very least the documentation needs to be updated identifying this as an issue


npm audit fix

Description
npm audit fix on master
output of npm audit on master
found 153 high severity vulnerabilities in 23381 scanned packages
  run `npm audit fix` to fix 151 of them.
  2 vulnerabilities require manual review. See the full report for details.

Detailed log
output of running npm audit
added 7 packages from 6 contributors, removed 6 packages, updated 10 packages and moved 1 package in 14.595s
fixed 151 of 153 vulnerabilities in 23381 scanned packages
  2 vulnerabilities required manual review and could not be updated

output of npm audit post code change
found 2 high severity vulnerabilities in 23411 scanned packages
  2 vulnerabilities require manual review. See the full report for details.

Detailed log
Testing
Tested locally by running npm run watch and loading unpacked extension in browser

Thanks @trivikr! Also today web-ext released an update that fixed the problem at the root so I updated that: https://github.com/mozilla/web-ext/releases/tag/3.1.1

Thank you @bfred-it
I confirmed by running npm install on master that there are no security issues:
added 2001 packages from 985 contributors and audited 23435 packages in 54.345s
found 0 vulnerabilities


ImportError: No module named tagging

Using Graphite 1.1.3 , Apache 2.24 , Python 2.7 on Debian 9 stretch machine.
I have django-tagging == 0.4.3 installed . I have the below wsgi error.
mod_wsgi (pid=18358): Exception occurred processing WSGI script '/opt/graphite/conf/graphite.wsgi'. [Wed Sep 26 11:13:14.661225 2018] [wsgi:error] [pid 18358:tid<PHONE_NUMBER>83232] Traceback (most recent call last): [Wed Sep 26 11:13:14.661245 2018] [wsgi:error] [pid 18358:tid<PHONE_NUMBER>83232]   File "/opt/graphite/conf/graphite.wsgi", line 16, in <module> [Wed Sep 26 11:13:14.661300 2018] [wsgi:error] [pid 18358:tid<PHONE_NUMBER>83232]     application = get_wsgi_application() [Wed Sep 26 11:13:14.661313 2018] [wsgi:error] [pid 18358:tid<PHONE_NUMBER>83232]   File "/usr/local/lib/python2.7/dist-packages/django/core/wsgi.py", line 14, in get_wsgi_application [Wed Sep 26 11:13:14.661345 2018] [wsgi:error] [pid 18358:tid<PHONE_NUMBER>83232]     django.setup() [Wed Sep 26 11:13:14.661355 2018] [wsgi:error] [pid 18358:tid<PHONE_NUMBER>83232]   File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 18, in setup [Wed Sep 26 11:13:14.661387 2018] [wsgi:error] [pid 18358:tid<PHONE_NUMBER>83232]     apps.populate(settings.INSTALLED_APPS) [Wed Sep 26 11:13:14.661398 2018] [wsgi:error] [pid 18358:tid<PHONE_NUMBER>83232]   File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 85, in populate [Wed Sep 26 11:13:14.661508 2018] [wsgi:error] [pid 18358:tid<PHONE_NUMBER>83232]     app_config = AppConfig.create(entry) [Wed Sep 26 11:13:14.661519 2018] [wsgi:error] [pid 18358:tid<PHONE_NUMBER>83232]   File "/usr/local/lib/python2.7/dist-packages/django/apps/config.py", line 86, in create [Wed Sep 26 11:13:14.661590 2018] [wsgi:error] [pid 18358:tid<PHONE_NUMBER>83232]     module = import_module(entry) [Wed Sep 26 11:13:14.661600 2018] [wsgi:error] [pid 18358:tid<PHONE_NUMBER>83232]   File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module [Wed Sep 26 11:13:14.661645 2018] [wsgi:error] [pid 18358:tid<PHONE_NUMBER>83232]     __import__(name) [Wed Sep 26 11:13:14.661668 2018] [wsgi:error] [pid 18358:tid<PHONE_NUMBER>83232] ImportError: No module named tagging

Hello @dreddynarahari ,
Could you please describe your installation in detail -
How do you install django-tagging module?
What's your Django version? How it's installed?

@deniszh Installed  Django (1.8), django-tagging (0.4.3)
This was installed using pip install command.

Maybe you have more than one python installed and pip is not installing python modules on the same path where is Apache looking for it?

@deniszh We have only one version of Python installed .ie. Python=2.7

Sorry, I'm out of ideas then. Something is broken with your python installation. Graphite-web should be still compatible with Django 1.8


Added some dsa codes

Task completed #20. Please review my PR.

Hi @arin2002 It would be great if you will add the HacktoberFest label to this issue.


Ticket content must be required

An error is fired when the ticket is created with an empty content
https://www.larabug.com/exception/xuByiYp7OUmbK39

Resolved in the Release v1.4.2 #103


Tech writer revisions needed: Component concept guide

Page: https://www.kubeflow.org/docs/pipelines/overview/concepts/component/
Please discuss this issue with @joeliedtke  or the Kubeflow Pipelines team before working on it.

Component code: I'm not sure that I understand the distinction that is being made between client and runtime code. My initial interpretation is that Client code runs in the KFP cluster and Runtime code defines jobs (for example Spark jobs) that run outside of KFP. If that is correct, this section could be revised to make this distinction clearer.

/priority p2
/kind feature


fixed opengles3+ compile bug

Fix without ifdefs: https://github.com/bkaradzic/bgfx/commit/5db742a7b0e58d17175b24be383bd9eb57fdc515


Implement more chemical reaction effects

Chemical reactions can have effects on the world via reaction effects (ie: explosions, fire, smoke, emp, etc). Currently we only have one reaction effect, ExplosionReactionEffect. It causes an explosion when it's reaction occurs. We need more to be implemented as part of making chemicals functional.
To add one, create a class which implements IReactionEffect. Once you do that, you'll be able to use that effect in chemical reaction prototypes. See ExplosionReactionEffect for an example of how they're implemented, and the potassium + water explosion reaction in Resources/Prototypes/Reactions/chemicals.yml for an example of how their prototypes work.
This is related to #170.

Is there a somewhat comprehensive list of existing reactions that should definitely be implemented? Basically just a point towards the right .dm file.

It might vary by codebase but all the effects that occur upon reaction are here for CEV Eris. Look for reactions that define an on_reaction proc. They should all be on the line I linked and afterwards. Here's the main ones I found:

[x] Explosions (potassium and nitroglycerin explosions on eris). Implemented with IExplosionReaction
[x] Flash powder. IExplosionReaction has flash range.
[ ] EMP effect. An effect that temporarily de-powers electronics in a certain range. Could have range scaling by reaction size like IExplosionReaction does.
[ ] Chemical smoke effect. A smoke that contains the other reagents in it's solution. Those caught in it would metabolize the reagents it contains.
[ ] Foam effect. A foam that spreads the other reagents it's solution to tiles the foam touches.
[ ] Heating/Cooling effect. Seen as thermite or napalm in SS13, a reaction that heats/cools the container it's in, or the objects it's coating.
[ ] Metal foam. Creates several metal foam walls around the reaction which could used to seal breaches or block movement.

Other than the EMP effect, each of these will need additions to the chemistry system before they're possible. For example, the chemical smoke and foam effects would likely coat entities caught inside of them with chemicals, and the smoke would be inhaled and metabolized. Currently we're missing:

Chemical metabolism
Coating tiles / entities with chemicals and the effect of that such as making tiles slippery, or acid damaging entities when coating them.

I should note that we have most of the recipes from vg station already in Resources/Prototypes/Reactions/, it's just that none of them do anything beyond the potassium + water explosion.

Pretty sure this can be closed now? At the very least, it's very out of date.

I haven't been following development lately so I don't know what's changed. Probably better to have someone who's following it create a new issue. Closing for now.

pretty much all of these have been done and more are coming


feat: allow to switch between Jobs and API/Backoffice routes

I am adding ability to enable/disable appropriate set of routes based on ENV variables. Current routes groups are:

IS_API_INSTANCE --> enables API and Backoffice routes
IS_JOBS_INSTANCE --> enables JOBS routes

Please note that route post :test, to: ->(_env) { [200, {}, [""]] } is here just for testing purposes, because I wanted to be able to test that everything works. This one will be removed after we have some logic at jobs controllers.
Testing instructions
There is already test for this, but basically set IS_JOBS_INSTANCE = true and check that /jobs/test returns success
Tracking
https://vizzuality.atlassian.net/browse/LET-259

I would prefer something like a "INSTANCE_TYPE" with a string value, that could be either "API" or "JOBS". Makes it easier to extend and understand (these are var name/value examples, feel free to modify them)
Also: is there a use case (for example local dev) where we would want the same app instance to support both things? in which case, 2 separate IS_API_INSTANCE and IS_JOBS_INSTANCE boolean env vars would perhaps make more sense

Thanks @tiagojsag , that is good point. I find it quite useful to enable API and JOBS routes at same time for develop or test environments  so I have picked your second example and added IS_API_INSTANCE and IS_JOBS_INSTANCE variables so we can freely control which routes are available where.


Removed python_requires="<4"

Python 4 doesn't exist, this requirement is redundant
Fixes #1020

Hi @nedbat are there any plans to make this change to python_requires?
I am running into the same issue as #1020.
I also don't understand the need to specify "<4.0", and I don't want to "surprise" any downstream users by suddenly pinning to a major version of Python

From the discussion in #1020:

can you help me understand how you ended up with ">=3.6" in your pyproject.yaml? Poetry initializes it with "^3.6", which works.

I changed the default from the caret because I don't want to break things for other people (like myself, in other projects) that haven't always specified their Python version as "<4.0". They will also get a failure on install, not just from poetry, but from pip itself.
see comment here from @henryiii
https://mobile.twitter.com/HenrySchreiner3/status/1362183452343296004

Practically, if you haven’t always done it, pip will pull an older release (the first without the <4), which is _not _ more likely to work with a newer Python! Python is not SemVer’d, as well. 4.0 is not supposed to be like 3.0, if ever reached

I am already running into this issue with my own set of tools that depend on each other, and now I have the same issue trying to install pytest-cov.
Beyond avoiding that issue, I don't understand the need to specify Python "<4.0" if there's no concrete plans for 4.0, and Python follows CalVer instead of SemVer.
from this discussion where @matthewfeickert asks
https://mobile.twitter.com/HEPfeickert/status/1362170933658738701

Is there any need to put a "<4.0" in your #Python library's setup.cfg/setup.py python_requires? I have never done this, and it seems that most people don't, but occasionally I've seen people do this. Should we? Or are we all expecting releases out now to not be used in v4.0 era?

Happy to hear that I'm wrong but this is my current understanding.

People may already be aware of this, so apologies if I'm reposting or missing the context if I had read more of the links in this Issue, but @NickleDave is currently having some real world problems with specifying python_requires = >=3.7, <4.0. So I think his situation can be used as a case study of why this PR is a good idea. :+1:

I still think poetry is doing the wrong thing.  But 4.0 is a long way off, and this can relieve some pain.  If 4.0 does emerge, and needs to be excluded, we will all as a community have to revisit how these version pins work.  Maybe it will be easier then.

:raised_hands: thank you so much!
You are totally right (as far as I understand it) that Poetry's solver is being overly strict.
And yes the community will need to come to a solution.
I will try raising a couple questions in their GitHub discussion to see if I can better understand their thinking.

If you need some ammunition, this has been just fixed in the official docs: https://github.com/pypa/packaging.python.org/pull/850 (see the linked core dev discussion).

Hi Ned, any chance we can get a release with the updated metadata?  The poetry 5.5 wheel still has this <4 thing in

Just for completeness: this is in coverage 6.0.

Thank you @nedbat much appreciated


Shared Workspaces / Prompts

Hello!
Just wondering if shared workspaces and prompts is possible?
I noticed in the tables there is a column for it, but has this been implemented on the queries etc to actually share the prompts between users?
Kind regards!

Not implemented yet


Pagination not working for search

Describe the bug
Pagination is not working for the search feature. There is no error, but the same 10 results are returned regardless of page number or size specified in the query. Links to navigate the resources are not provided in the response.
To Reproduce
Steps to reproduce the behavior:

Make an API request to http://www.ebi.ac.uk/ols4/api/search?q=diabetes&page=1&size=1
Scroll down to compare the results to the request

Expected behavior
Links to navigate the resources and a response with specified size and page are expected.

I can confirm this.

It seems the parameter is actually start (in number of rows), not page, in both OLS3 and OLS4.

Thank you for the clarification. I think it would be helpful to update the current documentation to specify which resources are or are not supported by the  page parameter.


Missing entries when using IEnumerable options

 Issue by ptylenda
Thursday Oct 13, 2016 at 13:52 GMT
Originally opened as https://github.com/gsscoder/commandline/issues/362

The exact reproduction is unknown, in some configurations IEnumerable option works properly, in some not. When having:
        [Option('s', "list1", Required = false)]
        public IEnumerable<string> List1 { get; set; }

        [Option("list2", Required = false)]
        public IEnumerable<long> List2 { get; set; }

        // several other non-enumerable options

And arguments specified like this:
command.exe -x<PHONE_NUMBER> -y ABCD -z 2 -u efgh --list1 abc 1 efg 2 aaa 3 --list2 1 10 5 2 3 4 5

the List 1 is missing string "2" and list2 has only 10, 5, 4 (so numbers 1, 2, 3 and 5 are missing).
When modifying "--list1" and adding more arguments, different numbers are missing in parsed options for "--list2".

 Comment by anthonylangsworth
Saturday Oct 22, 2016 at 11:49 GMT

This appears to be fixed in the master branch, @ptylenda . I cannot reproduce the issue. Please let me know if I am incorrect.

 Comment by nemec
Saturday Nov 05, 2016 at 06:52 GMT

I'm not able to reproduce this either using the latest NuGet beta (2.0.275-beta). Here is the exact code I used:
public class Options
{
    [Option('x')]
    public long MyX { get; set; }
    [Option('z')]
    public long MyZ { get; set; }

    [Option('y')]
    public string MyY { get; set; }

    [Option('u')]
    public string MyU { get; set; }

    [Option('s', "list1", Required = false)]
    public IEnumerable<string> List1 { get; set; }

    [Option("list2", Required = false)]
    public IEnumerable<long> List2 { get; set; }
}

CommandLine.Parser.Default.ParseArguments<Options>("-x<PHONE_NUMBER> -y ABCD -z 2 -u efgh --list1 abc 1 efg 2 aaa 3 --list2 1 10 5 2 3 4 5".Split()).Dump();

Do you have any additional info that may help us pin down the issue?


Version Release

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
<EMAIL_ADDRESS>Patch Changes

236c8d2: fixed missing configuration

Pull Request Test Coverage Report for Build<PHONE_NUMBER>0
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 92.982%

Totals

Change from base Build<PHONE_NUMBER>7:
0.0%

Covered Lines:
47

Relevant Lines:
49

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>0
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 92.982%

Totals

Change from base Build<PHONE_NUMBER>7:
0.0%

Covered Lines:
47

Relevant Lines:
49

💛  - Coveralls


Double down

Right now the decider instructions/speech bubble, player options, and timer are all on one screen. Deciders should have 2 different sets of instructions for the speech bubble and for the timer. This means separating the timer into its own screen.

duplicate of #260


Clientside Cam Controller doesn't work for players not present when it was spawned

If a player was not nearby (in the same area portal) or on the server when the cam controller was first spawned, the cam controller will not work for them unless they are near it and it is updated with the tool. The same thing happens for anyone who has a client lag spike/freeze.

This bug has once again shown it's face. This was on the github version of wiremod.
Test E2:
if (first()) {
    Entity = entity()

    Camera["Parent", entity] = Entity
    Camera["Position", vector] = vec()
    Camera["Distance", number] = 100
}

interval(90)
Camera["Activated", number] = Vehicle:driver():isValid()

• Spawn and link/wire a pod, cam controller, and the e2 in a closed off (area portal) part of the map and have someone who wasn't there sit in the pod
• Cam has these checked: "Coordinates Local to Parent", "Clientside Movement", "Clientside Zooming", "Auto-unclip", "Draw Player", "Draw Parent"

I think I know what causes it this time. Could you test this for me real quick? Go to this line https://github.com/wiremod/wire/blob/master/lua/entities/gmod_wire_cameracontroller.lua#L776
and change it to just self.NeedsSync = true (erase the if statement so that it always runs)

Well I'm going to add this label back here because I just tested it with a guy and we couldn't reproduce it.

Use the map gm_carcon_ws, at the spawn location you will notice two garages to the left and right. Have one person enter each of those.

Do you mean two different area portals or just one?

Still works on that map

@shinji144 Two different area portals.

Yeah we tested it when one of us was in one area portal and the other spawned the cam controller in the other, still worked


Fixes #536

Problem: Adds ifiles support

@jasonrahm: Could you look to add some functional tests for this feature. Let me know if you need some answers.

@jasonrahm To create a test object that acts like a file:
import StringIO

fakefileobject = StringIO.StringIO('MYFAKEFILEDATA')

@jasonrahm I've pulled and rebased your branch on top of latest development.
The good news is that (in my local environment) all the other tests (that were passing before) still pass.

File creation appears to succeed which is good news for our upload logic.
However there's an unmet expectation on the part of the test code, that a particular directory will exist in /var/tmp/tmsh   that random-name-looking directory is expected to have a data file.  Other examples of that file that I've seen appear to be logs of tmsh commands?

OK, according to the tmsh help docs the "source-path" (which should be the same as the REST key "sourcePath") has to be a URI:
       source-path [URL]
            This attribute takes a URL, for example:

                 source-path http://file-server/ifiles/AUL_1.cls

                 source-path https://file-server/ifiles/CNN.x

                 source-path<EMAIL_ADDRESS>

Here's my version of the feature:
https://github.com/zancas/f5-common-python/tree/feature.ltm-ifiles_536
Feel free to use it, reset to it, whatever.

The tpath is inline in my version, maybe the line wrapping I was doing was messing up. I’ll update to yours and commit.
Jason
From: Za Wilgustus<EMAIL_ADDRESS>Reply-To: F5Networks/f5-common-python<EMAIL_ADDRESS>Date: Wednesday, August 3, 2016 at 1:11 PM
To: F5Networks/f5-common-python<EMAIL_ADDRESS>Cc: Jason Rahm<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [F5Networks/f5-common-python] Fixes #536 (#537)
Here's my version of the feature:
https://github.com/zancas/f5-common-python/tree/feature.ltm-ifiles_536
Feel free to use it, reset to it, whatever.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/F5Networks/f5-common-python/pull/537#issuecomment-237319056, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA0SSx0w1koW_MjzaJiEdyZuNDv7BXe3ks5qcNnZgaJpZM4JGgmF.

Hmm...   some checks still fail.

locally everything is passing, but not sure what the problem is.
src: mobile
On Aug 3, 2016, at 3:50 PM, Za Wilgustus <notifications<EMAIL_ADDRESS>wrote:
Hmm... some checks still fail.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/F5Networks/f5-common-python/pull/537#issuecomment-237368729, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA0SS_YUfI-je_-3TA-aba_J1lF4QdD6ks5qcP7cgaJpZM4JGgmF.

@jasonrahm it's flake8 errors here
./test/functional/tm/sys/test_file.py:18:1: H306  imports not in alphabetical order (tempfile.namedtemporaryfile, os)
./test/functional/tm/sys/test_file.py:32:1: H405  multi line docstring summary not separated with an empty line

Gah! Will fix tonight
src: mobile
On Aug 3, 2016, at 5:02 PM, Tim Rupp <notifications<EMAIL_ADDRESS>wrote:
@jasonrahmhttps://github.com/jasonrahm it's flake8 errors here
./test/functional/tm/sys/test_file.py:18:1: H306  imports not in alphabetical order (tempfile.namedtemporaryfile, os)
./test/functional/tm/sys/test_file.py:32:1: H405  multi line docstring summary not separated with an empty line

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/F5Networks/f5-common-python/pull/537#issuecomment-237388946, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA0SSxHMXOgRZ71URPBFPB-4IhSt1ypOks5qcQ_6gaJpZM4JGgmF.

My local tests fail with the same error I had before.
Also we need to purge print statements before we can merge.

What version tmos? I'm on 12.1 maybe a version issue? I'll pull print statements
src: mobile
On Aug 3, 2016, at 7:29 PM, Za Wilgustus <notifications<EMAIL_ADDRESS>wrote:
My local tests fail with the same error I had before.
Also we need to purge print statements before we can merge.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/F5Networks/f5-common-python/pull/537#issuecomment-237416246, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA0SS08NAhx7XAAcRnmp_MkP64KifBEPks5qcTJRgaJpZM4JGgmF.

OK, we need to remove that print statement I added.
Then let's think about testing the other operations the resource should support.

Refresh, Update, Delete, Exists?

Oh yeah @jasonrahm, one thing to think about is squashing some of your commits into meaningful chunks (as meaningful as they can be). We have no hard rule about the number of commits to merge, but we often find that the commits can be bunched together to form a few coherent blocks of changes. We can certainly merge this one without bunching those together, but just keep it in mind for future features. Also, if you need some help squashing or rebasing interactively, just shout out here.

Squashing commits would be good, any advice appreciated
src: mobile
On Aug 3, 2016, at 9:19 PM, pjbreaux <notifications<EMAIL_ADDRESS>wrote:
Oh yeah @jasonrahmhttps://github.com/jasonrahm, one thing to think about is squashing some of your commits into meaningful chunks (as meaningful as they can be). We have no hard rule about the number of commits to merge, but we often find that the commits can be bunched together to form a few coherent blocks of changes. We can certainly merge this one without bunching those together, but just keep it in mind for future features. Also, if you need some help squashing or rebasing interactively, just shout out here.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/F5Networks/f5-common-python/pull/537#issuecomment-237433938, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA0SS5cf6At7PI5LIwXa96aXpLxTT_Vjks5qcUxDgaJpZM4JGgmF.

@pjbreaux we do have the ability to squash commits at merge time

This gives you a pretty quick run-through: https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Changing-Multiple-Commit-Messages
Generally, what we do is do a git log --decorate --oneline and find the commit farthest back that we want to squash (this means only the changes we've made locally in our fork and haven't been merged yet). We copy the hash of that first commit when we started working on the feature and do git rebase -i <copied_hash>. This brings us into interactive mode where we can pick, edit, fixup etc.... And remember, if you remove a line during interactive rebasing, it will pull that commit completely out of the rebase (generally no good, unless you meant to do it).
And I haven't tried what @tar suggested above. That might be a good solution today.

@pjbreaux if it's ready to merge i can try the squash button in the UI. I've never actually used it. this could be a good chance to try it

Not sure if it's ready. We'll get the go-ahead from @jasonrahm and @zancas

I think Za wanted me to work on more test cases, so I'll take a look at that and the resources below. Thanks all. Heading back from dinner now and not sure how late I'll last tonight.
src: mobile
On Aug 3, 2016, at 10:24 PM, pjbreaux <notifications<EMAIL_ADDRESS>wrote:
Not sure if it's ready. We'll get the go-ahead from @jasonrahmhttps://github.com/jasonrahm and @zancashttps://github.com/zancas

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/F5Networks/f5-common-python/pull/537#issuecomment-237442372, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA0SS6FD2n82S3kcW39OoSglKKhqPFtMks5qcVtYgaJpZM4JGgmF.

Might be good in this case to hit the squash button, I tried to rebase locally and got an error. I added some extra assertions for testing updates and refreshes. Hopefully that’ll get this over the hump.
Jason
From: Tim Rupp<EMAIL_ADDRESS>Reply-To: F5Networks/f5-common-python<EMAIL_ADDRESS>Date: Wednesday, August 3, 2016 at 10:21 PM
To: F5Networks/f5-common-python<EMAIL_ADDRESS>Cc: Jason Rahm<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [F5Networks/f5-common-python] Fixes #536 (#537)
@pjbreauxhttps://github.com/pjbreaux if it's ready to merge i can try the squash button in the UI. I've never actually used it. this could be a good chance to try it
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/F5Networks/f5-common-python/pull/537#issuecomment-237442066, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA0SS98eoK9u57IRTXyzen6xQli80Xevks5qcVq6gaJpZM4JGgmF.


Fix audio playing issue

It appears that there is a bug where the audio from <AudioTrack> is not playing during <VideoConference> in v2.1.0 and v2.1.1.
This likely involves the same issue as with the <VideoTrack> described in https://github.com/livekit/components-js/pull/831, where the refs aren't being passed correctly.
I have made the necessary corrections on the AudioTrack side.
Related slack threads: https://livekit-users.slack.com/archives/C01KVTJH6BX/p1713514083336509

Sorry, only saw this right after I just merged https://github.com/livekit/components-js/pull/835.
Thanks a lot for the report and fix!

No problem, thanks for the quick response!


This AdWidget is already in the Widget tree

i got this issue in multiple adwidget

Closing for same reason as mentioned here https://github.com/googleads/googleads-mobile-flutter/issues/751#issuecomment-1401750003


refactor: replace Math.pow in favor of the ** operator

friendly PR to improve readability
Use this link to re-run the recipe: https://app.moderne.io/recipes/org.openrewrite.codemods.cleanup.PreferExponentiationOperator?organizationId=UG9wdWxhciBKYXZhU2NyaXB0

I find the Math.pow more readable myself and would be against this change


doc: add rule based page html hooks to coding guidelines

Add rule based page hook to allow to jump to
the respective rule directly.
Example:
.../coding_guidelines/index.html#misrac-rule-2-2
Signed-off-by: Roman Kellner<EMAIL_ADDRESS>

@romkell please fix the compliance failure. You need to add a Signed-off-by: line to your commit message. See the contribution guidelines or other commit messages for examples.

@romkell we cannot merge this until you fix the commit message

@romkell we cannot merge this until you fix the commit message

@mbolivar-nordic Changed git config settings, soft reset, re-commited with identical commit comment and force pushed. I hope that does the trick.


Feature/install page

Description
https://jira.mesosphere.com/browse/DCOS_SITE-156
Urgency

[ ] Blocker
[ ] High
[ ] Medium

Requirements

Test all commands and procedures.
Build content locally and test for formatting/links.
Add redirects to dcos-website/redirect-files.
Change all affected versions (e.g. 1.7, 1.8, and 1.9).
See the contribution guidelines.

This PR also fixes https://jira.mesosphere.com/browse/DCOS_SITE-153

@daveyheuser I just realized what was weird about the spacing: the sections were all alternating colors on the get-started page and shuffling them put two of the same color sections next to each other. Can you change the coloring so that the sections alternate colors, and put the spacing back? Thanks!

Hi Judith,
I changed the coloring and spacings of the sections back. See https://github.com/dcos/dcos-website/pull/1271
Regards,
Rene

Ok, two nitpicks and we're done:

[ ] Can the cards for the install methods be very light gray to make them pop a bit from the white background?
[ ] Can we add links to the documentation above the install buttons for cloud (https://dcos.io/docs/latest/installing/cloud/) and On-prem (https://dcos.io/docs/latest/installing/custom/)?

Hi @judithpatudith ,
I've fixed the 3 issues stated above. The PR can be found here: https://github.com/dcos/dcos-website/pull/1279
Regards,
Rene

@daveyheuser Could we comment out the Tutorials card and merge this now? That way we could uncomment it when the tutorials page goes up, and it won't be blocked in the meantime.

Hi Judith,
I've comment out the tutorials section and changed the documentation links. The PR can be found here: https://github.com/dcos/dcos-website/pull/1286
Regards,
Rene

@renesijnke I meant the tutorials card in the resources section, not the whole DC/OS 101 tutorials section. Sorry for not being clear. Also, I'm not seeing where you gave the links a new line or centered them, I only see that the text has been changed.

Hi @judithpatudith,
I've re-enabled to 101 section and disabled the tutorial card. This is a screenshot of how the install cards now look like: http://jmp.sh/dk1zlvb.

@renesijnke this is almost ready, but I can't figure out how to put the cards back to their normal height. I only wanted the Documentation links to be on a different line than the rest of the description, not to have a ton of extra space in the card. Thanks! Judith


Hi!

Blocklauncher isn't working on my ASUS-Tablet.My Minecraft-Version: 0.15.3.
Please help me, i need it to install most of the mods in the app store.
Greetings from Austria.

It is not available for 0.15 at this time.


Inline variable refactor feature

From @frogger72 on July 18, 2017 0:16
The current refactoring options are great, but this is one I frequently use and is missing.  Basically the opposite of extracting a variable.  Example below:
https://www.jetbrains.com/help/pycharm/inline.html
Copied from original issue: DonJayamanne/pythonVSCode#1094

I believe the rope library supports this functionality.
However even though we're using rope today, we need to remember the fact that rope isn't 100% compatible with Python 3, that work is still work in progress (https://github.com/python-rope/rope/issues/57).

that work is still work in progress (python-rope/rope#57).

There hasn't been activity on that issue in two years...

To help manage our issues and to better communicate what the team plans to work on we are closing issues that we don't plan to work on but would accept a pull request from a volunteer for. To be clear, closing this issue does not mean we won't consider a pull request for this enhancement as outlined in our contributing guide, just that the development team has no plans to work on it themselves.


Disaster pods need a normal minifan

Description

The normal evacuation pods got fixed but not the disaster one, currently causing all the air to escape the pod immediately.
Screenshots

Isn't this already merged? #31601

Fixed by #31915


Added new statistic attributes

Description:
Added new attributes:

Cleaning count
Total cleaning time
Total cleaning area
Time left to change main brush, side brush and filter

Checklist:

[X] Local tests with tox run successfully. Your PR cannot be merged unless tests pass

***This is my first pull request and github adventure, please be considerated if I done something wrong.

Hi @sti0,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

I don't know what to do to pass Travis CI. Could someone help me?

First of all,  vacuum/xiaomi.py has been renamed to vacuum/xiaomi_miio.py . So you should rebase your branch on the latest dev version, and fix the merging conflict.
You also have some indentation errors
https://travis-ci.org/home-assistant/home-assistant/jobs/275650705

Ok. Thank you @Danielhiversen for the hint. I will fix it tomorrow.
I'm sorry that I'm not so familiar with this dev tools.

Can you filter the state values to see only days?
Otherwiese you floot the state tables and database with changes for attributes

I would suggest setting the values to hours to display how long until the brush / filter Change left.
In addition I would set the total cleaning time to full minutes and the total cleaned area to rounded square meter.
The question is, if I should also change the existing values - clean time and clean area, which show the actual values - on rounded square meter and full minutes?

Just a side note, it may be useful to provide the non-formatted versions of those values (the returned time values are timedeltas from which you can use seconds to extract the precise time.

something went absolutely wrong -.-
How could I remove all these commits now?

You have to rebase your commits on top of the upstream/dev, something like:
git fetch upstream
git rebase upstream/dev

should work.

@rytilahti I've done that but commits are always at this pull request... :-( I don't get it...

This generally happens when you work off of the dev branch instead of creating a topic branch. (See here: https://home-assistant.io/developers/development_submitting/ ) Then, if you have conflicts you want to follow the instructions here: https://home-assistant.io/developers/development_catching_up/
Right now the best way to recover is probably to run these commands:
$ git branch temp-branch # Create a temporary branch to recover in case something goes wrong.
$ git rebase -i upstream/dev # Delete any commits here that you didn't create.
$ git push origin -f # Since you used rebase to rewrite the commit history, you will need to force-push to your GitHub fork.

@armills Thank you so much. This did work  :-)