reload data when cacheBusterNotifier is called

When I save some data Id like that my informations get updated automatically.
Im doing the following:
get(pessoaId): Observable<Array<VideoModel>> {
        return merge(of([]), cacheBuster$).pipe(
            switchMap(() => {
                return this.http.get(`${this.baseUrl}/${pessoaId}`);
            })
        );
    }

 @CacheBuster({
        cacheBusterNotifier: cacheBuster$
    })
    add(video: VideoModel): Observable<VideoModel> {}

But im not sure if this is the best way to accomplish this.
Do you have any idea?

Hey @williamxsp. Thanks for the question. You are on the right path, with the cache buster.
What you need to do so the cache is evicted successfully, is to just decorate your get method like:
@Cacheable({
    cacheBusterObserver: cacheBuster$.asObservable()
})
get(pessoaId): Observable<Array<VideoModel>> {
        return of([]).pipe(
            switchMap(() => {
                return this.http.get(`${this.baseUrl}/${pessoaId}`);
            })
        );
    }

Also, is there a reason that you need this of([]) and a switchMap?

@williamxsp 🏓

Thanks @angelnikolov .
Sorry for the late reply :)


Standardize the container json log name.

- What I did
- How I did it
- How to verify it
- A picture of a cute animal (not mandatory but encouraged)
Currently the json log includes the UUID of the container, even though
the log file is already stored in a RootResource Directory with is UUID based.
All of the other content in the RootResource Directory is not UUID based so
using a standard name does not seem to be a problem.  Changing it to a standard
name will allow us to label it correctly on creation using SELinux.  This will
allow other logging tools to be able to access just the log files but none of
the other data related to the container.
Signed-off-by: Dan Walsh<EMAIL_ADDRESS>

Unfortunately, this isn't enough. It doesn't set up symlinks so that downstream tools with bad practices (like Kubernetes) are able to read the log files and, critically, it doesn't migrating existing log files, so docker logs on an existing container will fail.

As I noted in #21673:

I experimented with standardizing the filename as json.log, but that caused some issues, specifically:

Running docker log on containers that existed before the change resulted in Docker not reading fom the existing logfiles, despite the fact that docker inspect showed the correct (i.e. old) value for LogPath.
Some downstream projects (e.g. Kubernetes) use the log files but, rather than querying Docker for the location, basically replicate the logic used to construct the LogPath.

A significant amount of the discussion on #21673 is about how to avoid making Docker relabel files while also retaining compatibility with external tools and internally to Docker itself on old containers. This does not address any of that.

As stated in the other issue, the names in the docker inspect json file point to the log files, so as long as tools like k8s use LogPath of docker inspect this will work. Old containers will work with the old names.  I checked docker logs to make sure it still worked.  I don't think we need the symbolic links.

@rhatdan: I just cherry-picked this commit into the code used on the CentOS 7 Docker 1.8.2-10.el7.centos release:
# docker inspect 75db7178e4ac | grep LogPath
    "LogPath": "/var/lib/docker/containers/75db7178e4acc9f228218265dfc072a8df7cb8fa34acea64cd2d2247abcb317a/75db7178e4acc9f228218265dfc072a8df7cb8fa34acea64cd2d2247abcb317a-json.log",
# docker logs 75db7178e4ac
# tail /var/lib/docker/containers/75db7178e4acc9f228218265dfc072a8df7cb8fa34acea64cd2d2247abcb317a/75db7178e4acc9f228218265dfc072a8df7cb8fa34acea64cd2d2247abcb317a-json.log
{"log":"[2016-04-05 03:28:53,743][INFO ][cluster.metadata         ] [Crimson Dynamo V] [.operations.2016.04.05] update_mapping [fluentd] (dynamic)\n","stream":"stdout","time":"2016-04-05T03:28:53.74441534Z"}
{"log":"[2016-04-05 03:29:22,686][INFO ][cluster.metadata         ] [Crimson Dynamo V] [logging.2016.04.05] creating index, cause [auto(bulk api)], templates [], shards [5]/[1], mappings [fluentd]\n","stream":"stdout","time":"2016-04-05T03:29:22.688417538Z"}
{"log":"[2016-04-05 03:29:22,971][INFO ][cluster.metadata         ] [Crimson Dynamo V] [logging.2016.04.05] update_mapping [fluentd] (dynamic)\n","stream":"stdout","time":"2016-04-05T03:29:22.972713779Z"}
{"log":"[2016-04-05 03:30:27,843][INFO ][cluster.metadata         ] [Crimson Dynamo V] [logging.2016.04.05] update_mapping [fluentd] (dynamic)\n","stream":"stdout","time":"2016-04-05T03:30:27.844802026Z"}
{"log":"[2016-04-05 03:39:41,786][INFO ][cluster.metadata         ] [Crimson Dynamo V] [.operations.2016.04.05] update_mapping [fluentd] (dynamic)\n","stream":"stdout","time":"2016-04-05T03:39:41.787426204Z"}
{"log":"[2016-04-06 00:00:01,536][INFO ][cluster.metadata         ] [Crimson Dynamo V] [logging.2016.04.06] creating index, cause [auto(bulk api)], templates [], shards [5]/[1], mappings [fluentd]\n","stream":"stdout","time":"2016-04-06T00:00:01.538414862Z"}
{"log":"[2016-04-06 00:00:01,779][INFO ][cluster.metadata         ] [Crimson Dynamo V] [logging.2016.04.06] update_mapping [fluentd] (dynamic)\n","stream":"stdout","time":"2016-04-06T00:00:01.779493949Z"}
{"log":"[2016-04-06 00:00:01,918][INFO ][cluster.metadata         ] [Crimson Dynamo V] [.operations.2016.04.06] creating index, cause [auto(bulk api)], templates [], shards [5]/[1], mappings [fluentd]\n","stream":"stdout","time":"2016-04-06T00:00:01.919695533Z"}
{"log":"[2016-04-06 00:00:02,127][INFO ][cluster.metadata         ] [Crimson Dynamo V] [.operations.2016.04.06] update_mapping [fluentd] (dynamic)\n","stream":"stdout","time":"2016-04-06T00:00:02.12844799Z"}
{"log":"[2016-04-06 00:12:47,534][INFO ][cluster.metadata         ] [Crimson Dynamo V] [.operations.2016.04.06] update_mapping [fluentd] (dynamic)\n","stream":"stdout","time":"2016-04-06T00:12:47.534578839Z"}

Conclusion: It does not properly read old logs.

The name is already standard, ID-json.log. That's applied to all logs, making it the standard naming for docker container logs. I don't think we should change this name. This does NOT LGTM.

The name is already standard, ID-json.log.

By "standard", here we mean "static". The hosts file in each container's folder is always named hosts. The same goes for config.json, resolve.conf, and various other files. The log file, by contrast, is named $ID-json.log, a variable name that is different for every container. As documented in #21672, this makes file name transitions impossible.

I agree having this file specially namespaced in a directory that is namepspaced adds no value and causes us issues because of a  limitation in SELinux labeling. SELinux can label a consistantly named file in a directory via policy but can not do it with variably named files.  Making it statically named would allow us to cause the file to be labeled consistantly and allow logging tools and containers access to the file while not allowing them access to all of the content in /var/lib/docker/containers.  I see little value in the current naming.

Agree with @calavera
Generally we don't want anyone accessing files in /var/lib/docker. While this is a log file, it's really state information about the container we prefer to only have available over the API.
I also suspect that changing the filename will cause more trouble than it's worth...and it's not the first time we've done this, there used to be code to handle the possibility of 2 files and it was nasty, and that was before we supported log rotation.


Chown with certain plugins takes forever and a day

My server takes over half an hour to start because of the chown -R on the root directory
app_1  | usermod: no changes
app_1  | Running as uid=1000 gid=1000 with /data as 'drwxrwxr-x   11 1000     1000            29 Apr 22 15:13 /data'
app_1  | Checking version information.
app_1  | Checking type information.
app_1  | server.properties already created, skipping
app_1  | Checking for JSON files.

This is probably because my plugin folder has a lot of files in them (dynmap tiles)

45 minutes last start

Hmm, it doesn't seem to be the chown since your output doesn't include the log from this statement:
https://github.com/itzg/dockerfiles/blob/master/minecraft-server/start#L15
When is the delay relative to the log lines you provided?

Right after the last line

Ah, it’s something about the JSON fix process since that last log is “Checking for JSON files”. I’ll look around there.

Can you double check that you have docker pulled the latest image? In March I pushed out a fix that limited the JSON fixing logic to only the top-level of the /data directory.
If that still doesn't fix it, then I think I'll make that JSON fix a configurable option.

I did a docker pull and that does seem to have resolved it!
Apologies!


define a new configuration for adding async attributes to script element when loading chunks

Feature request

What is the expected behavior?
A new configuration for adding async attribute to script element that used for loading chunks.
What is motivation or use case for adding/changing the behavior?
Improve performance.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script
Based on the documentation of async attr

This attribute allows the elimination of parser-blocking JavaScript where the browser would have to load and evaluate scripts before continuing to parse. defer has a similar effect in this case.

It can unblock parser to work.
How should this be implemented in your opinion?
Define a configuration in the outputOptions, and modify the file: https://github.com/webpack/webpack/blob/6f413ae2e63897aef5e1956cb1c351ab33f6dbfe/lib/web/JsonpTemplatePlugin.js#L134
Similar to crossOrigin.
Are you willing to work on this yourself?
yes

It is unnecessary because all scripts created via var script = document.createElement('script'); always async.
Just run in browser:
var script = document.createElement('script');
console.log(script.async);

It is unnecessary because all scripts created via var script = document.createElement('script'); always async.
Just run in browser:
var script = document.createElement('script');
console.log(script.async);

Thank you!


[REEF-409] Pass the rackName from the runtime to the top of REEF stack

This work bubbles up the rack information from the runtime (after the resource is allocated) towards the evaluators allocation handlers.
The ResourceAllocationEvent interface now includes an optional rack name, which is populated by the respective runtimes when the resource is allocated.
The ProcessContainer is created with a null rack for now, it ends up using the default one.
Added a unit test that tests the whole cycle, checking if the default rack is the one retrieved.
JIRA:
[REEF-409] (https://issues.apache.org/jira/browse/REEF-409)
This closes

Looking at it again.

Changes are done.
Now we are able to configure the rack names.
Please take a look

@nachocano I've done a pass.

@markusweimer changes done

@markusweimer changes in the test files done

@nachocano Thanks, I'll merge this.


Polish o.g.cc.serialization.Workarounds

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

I've triggered a build for you. Click here to see all failures if there's any.


chore: remove unused code

Fine collection of skeletons

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

Project coverage is 45.36%. Comparing base (2469e7a) to head (509bdd6).
Report is 364 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3898      +/-   ##
==========================================
+ Coverage   44.83%   45.36%   +0.53%
==========================================
  Files         265      308      +43
  Lines       14620    21807    +7187
==========================================
+ Hits         6555     9893    +3338
- Misses       7313    10854    +3541
- Partials      752     1060     +308

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


 In case reviewers merge this PR, I tag this PR for draft first. Discussions will come later in the Issue page.

nope I still don't know why the YAML validation test is failing

I'll have a look, perhaps I can spot something

First thing I'm trying is to run the validation locally on this PR with
python code/test/sanityCheck.py

This returns the same error

Traceback (most recent call last):
File "/Users/petre/Human-GEM/code/test/sanityCheck.py", line 105, in
checkUnusedEntities(model, "genes")
File "/Users/petre/Human-GEM/code/test/sanityCheck.py", line 96, in checkUnusedEntities
assert len(unused_entities) == 0, f"Found unused {{entity_type}}!"
^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Found unused {entity_type}!

It seems the other PRs are passing this test, so a more in-depth look is required. Sorry I cannot do more at the moment, but I'll try to get back to this tomorrow.

Aha the problem is that MAR03769 was the only reaction that ENSG00000128928 (IVD) was associated with; it clearly should have also been associated with MAR03770, since IVD is an FAD-dependent enzyme, but removing MAR03769 made IVD into an "unused gene"
I'm gonna add ENSG00000128928 to the GPR of MAR03770 unless anyone has any objections to (hopefully) get this to pass the YAML validation test

since @feiranl requested it in #625 and seemed uneasy about this PR, I figured I'd also go through and merge the reaction annotations from the deleted reactions into the kept ones

@Devlin-Moyer I'm glad you figured out the unused gene.
I've pushed a commit on this branch that improves the validation output as suggested above. If you feel this is not the right place, please feel free to remove it from this PR.

@Devlin-Moyer please merge latest develop this branch


Disabling scroll

Is there a way to disable scroll with the plugin.
For instance, I'd like to do something like described here: https://gis.stackexchange.com/questions/200189/cant-continue-scrolling-on-mobile-devices-when-a-map-occupy-all-the-screen
The aim is to prevent page scrolls resulting in map zooming
I tried adding a variable in the leaflet.php and map options but it doesn't have any effect:
...
$this->template_vars      = [
                        'id'        => $this->config->get('id') . '-' . self::$instances,
                        'width'     => $this->config->get('width'),
                        'height'    => $this->config->get('height'),
                        'class'     => $this->config->get('class'),
                        'lat'       => $this->config->get('lat'),
                        'lng'       => $this->config->get('lng'),
                        'lat_marker'       => $this->config->get('lat_marker'),
                        'lng_marker'       => $this->config->get('lng_marker'),
                        'zoom'      => $this->config->get('zoom'),
                        'address'   => $this->config->get('address'),
                        /* added dragging variable */
                        'dragging'      => $this->config->get('dragging'),
                        'scrollWheelZoom'  => $this->config->get('scrollWheelZoom'),
                        'instances' => self::$instances
                ];
...

{{ leaflet({'class': 'map', 'width': '100%', 'height': '400', 'lat': '-33.05', 'lng': '150.8', 'lat_marker': '-33.6', 'lng_marker': '150.8', 'address': 'location', 'dragging': 'false', 'scrollWheelZoom': 'false'}) }}

hi @zeigerpuppy  if you are still interested in this, I have added also the possibility to update setting from the admin and I have added the scrollWheelZoom as well to my repo
https://github.com/JohnMica/GetGrav-Leaflet-Map
not sure if this one is still being updated or not


Fix repo links following move to monorepo

This doc uses old links for component repos.
git clone https://github.com/projectcalico/confd.git
git clone https://github.com/projectcalico/calico.git
git clone https://github.com/projectcalico/app-policy
git clone https://github.com/projectcalico/libcalico-go.git
git clone https://github.com/projectcalico/kube-controllers
git clone https://github.com/projectcalico/felix
git clone https://github.com/projectcalico/node
git clone https://github.com/projectcalico/api
git clone https://github.com/projectcalico/node
git clone https://github.com/projectcalico/calicoctl
git clone https://github.com/projectcalico/cni-plugin
git clone https://github.com/projectcalico/pod2daemon
git clone https://github.com/projectcalico/typha

ROOT_CALICO_REPOS_DIR=~/calico_all/ BUILD_CALICO=true ./kind-local-up.sh
echo "play with your cluster for a while"
kind delete cluster calico-test

CC @caseydavenport

Yeah that whole doc needs to be re-written I think.


Question: How to use MapTiler

Hello,
I'm trying to use this plugin to display MapTiler vector map with FlutterMap.
But the map isn't displayed properly.
My code is below:
code
FlutterMap(
  options: MapOptions(
    center: latlng.LatLng(latitude, longitude),
    zoom: 16.0,
    enableScrollWheel: true,
    enableMultiFingerGestureRace: false,
    interactiveFlags: InteractiveFlag.pinchMove |
        InteractiveFlag.drag |
        InteractiveFlag.pinchZoom,
    minZoom: 1,
    maxZoom: 20,
    plugins: [VectorMapTilesPlugin()],
  ),
  layers: [
    VectorTileLayerOptions(
      tileProviders: TileProviders({
        "openmaptiles": NetworkVectorTileProvider(
          urlTemplate:
              "https://api.maptiler.com/tiles/jp-mierune/{z}/{x}/{y}.pbf?key=${myKey}",
        ),
      }),
      theme: ProvidedThemes.lightTheme(),
    ),
  ],
),

And the error message is below:
error message
[VERBOSE-2:ui_dart_state.cc(198)] Unhandled Exception: InvalidProtocolBufferException: Protocol message end-group tag did not match expected tag.
#0      CodedBufferReader.checkLastTagWas (package:protobuf/src/protobuf/coded_buffer_reader.dart:32:7)
#1      CodedBufferReader.readUnknownFieldSetGroup (package:protobuf/src/protobuf/coded_buffer_reader.dart:80:5)
#2      UnknownFieldSet.mergeFieldFromBuffer (package:protobuf/src/protobuf/unknown_field_set.dart:70:30)
#3      UnknownFieldSet.mergeFromCodedBufferReader (package:protobuf/src/protobuf/unknown_field_set.dart:87:24)
#4      CodedBufferReader.readUnknownFieldSetGroup (package:protobuf/src/protobuf/coded_buffer_reader.dart:79:21)
#5      UnknownFieldSet.mergeFieldFromBuffer (package:protobuf/src/protobuf/unknown_field_set.dart:70:30)
#6      _mergeFromCodedBufferReader (package:protobuf/src/protobuf/coded_buffer.dart:42:38)
#7      GeneratedMessage.mergeFromBuffer (package:protobuf/src/protobuf/generated_message.dart:185:5)
#8      new VectorTile.fromBuffer (package:vector_tile/raw/proto/vector_tile.pb.dart:340:128)
#9      VectorTile.fromBytes (package:vector_tile/vector_tile.dart:29:33)
#10     VectorTileReader.read.<anonymous closure> (package:vector_tile_renderer/src/vector_tile_reader.dart:10:25)
#11     Timeline.timeSync (dart:developer/timeline.dart:157:22)
#12     profileSync (package:vector_tile_renderer/src/profiling.dart:16:19)
#13     VectorTileReader.read (package:vector_tile_renderer/src/vector_tile_reader.dart:9:12)
#14     _createTile (package:vector_map_tiles/src/cache/vector_tile_loading_cache.dart:101:44)
#15     _Job.apply (package:vector_map_tiles/src/executor/queue_executor.dart:96:59)
#16     QueueExecutor._runOneAndReschedule (package:vector_map_tiles/src/executor/queue_executor.dart:51:34)
#17     _rootRun (dart:async/zone.dart:1418:47)
#18     _CustomZone.run (dart:async/zone.dart:1328:19)
#19     _CustomZone.runGuarded (dart:async/zone.dart:1236:7)
#20     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1276:23)
#21     _rootRun (dart:async/zone.dart:1426:13)
#22     _CustomZone.run (dart:async/zone.dart:1328:19)
#23     _CustomZone.runGuarded (dart:async/zone.dart:1236:7)
#24     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1276:23)
#25     _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
#26     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)

If you have any clue, I'm very happy to hear that.

I found my bug was caused by zoom field.
When I unset this, map has been displayed correctly.
This issue has been resolved, so I'm closing.

@komi1230 Hi I'm just starting with Maptiler, just want to know where you got your urlTemplate? Thanks!

@dptorres Actually this issue was not resolved. After displayed, the map would be crashed with scrolling or swiping.
In the beginning of starting app, the map is correctly displayed with adjusting zoom level. In my case, zoom level was too high.
But just it was.
Finally I gave up using FlutterMap. Now I'm using Google Maps.
I'm sorry I cannot help to resolve your issue.

@komi1230 sorry to hear that you couldn't get it working. If you have steps to reproduce the crash that would be really helpful.
@dptorres feel free to open an issue with the specifics of your problem

Great to hear! Thanks for the explanation.
On Thu, Jul 21, 2022 at 5:44 AM Yusuke Kominami @.***>
wrote:

Closed #76
https://github.com/greensopinion/flutter-vector-map-tiles/issues/76 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/greensopinion/flutter-vector-map-tiles/issues/76#event-7037981758,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEKDQ7TAYTRA6PHWSD7S2QDVVFA2HANCNFSM54HNUW6A
.
You are receiving this because you are subscribed to this thread.Message
ID:
<greensopinion/flutter-vector-map-tiles/issue/76/issue_event/7037981758@
github.com>


set up system to allow clean changes of DataObject ClassNames

Affected Version
All versions
Description
When a DataObject ClassName is changed the SS project may not work anymore as there may be unexpected references to the classname in the database tables.
Unexpected as: not the main ClassName field in the table relating to the class itself, but references in other tables (including Foo_Versions).
Proposed solution
Use the concepts from this module: https://github.com/sunnysideup/silverstripe-search-all-tables-and-fields and keep a log of changes made.
Question
This may already be covered by:
---
Name: project
---
SilverStripe\ORM\DatabaseAdmin:
  classname_value_remapping:
    Building: 'Project\Web\Models\Building'
    City: 'Project\Web\Models\City'

Although I am not sure if it would fix all mentions.

I believe the DatabaseAdmin::classname_value_remapping config already provides this for ORM-created db columns. Anywhere else it's project-level code.

Yeah this functionality definitely already exists. I'd say it should be documented though, I couldn't find anything in the docs when I looked briefly just now.
I'll move this to the developer-docs repo.


feat: operator liveness metric

Operator Liveness Metric
Motivation
We need a way to rapidly determine if an operator is down.
Description
Adds a Bar Gauge with the count of missed tasks for each operator over a specified time range.

How To Test

Start anvil:

make anvil_start_with_block_time

Start the telemetry server in interactive mode:

make telemetry_run_db
make telemetry_ecto_migrate
cd telemetry_api
ALIGNED_CONFIG_FILE="../contracts/script/output/devnet/alignedlayer_deployment_output.json" OPERATOR_FETCHER_WAIT_TIME_MS=5000 ENVIRONMENT=devnet RPC_URL=http://localhost:8545 iex -S mix phx.server

Run metrics:

make run_metrics

Call the missing_operator method from the telemetry terminal with different operator names:

TelemetryApi.PrometheusMetrics.missing_operator("gaston")

Go to the aggregator-batcher dashboard in localhost:3000 and you should see the dashboard with the values.

Test also the full flow:

Start anvil:

make anvil_start_with_block_time

Start batcher:

make batcher_start_local

Go to config-files/config-aggregator.yaml and reduce the bls_service_task_timeout.
Start the aggregator:

make aggregator_start

Register and start the operator:

make operator_register_and_start

Kill the operator and watch the panel.

[!NOTE]
Since we are using the increase() method in Grafana, the first time an operator misses a task, it won't be counted as an increment. This will add the operator to the list but with a value of 0. I'm open to suggestions for resolving this issue.  Nevertheless, only the first missed task is affected, so if an operator is down, the panel still manages to achieve its objective.

Type of change

[x] New feature

Checklist

[ ] “Hotfix” to testnet, everything else to staging
[ ] Linked to Github Issue
[ ] This change depends on code or research by an external entity

[ ] Acknowledgements were updated to give credit

[ ] Unit tests added
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

[ ] This change is an Optimization

[ ] Benchmarks added/run

[ ] Has a known issue

Link to the open issue addressing it

[ ] If your PR changes the Operator compatibility (Ex: Upgrade prover versions)

[ ] This PR adds compatibility for operator for both versions and do not change batcher/docs/examples
[ ] This PR updates batcher and docs/examples to the newer version. This requires the operator are already updated to be compatible

WIP discussing the possibility of a graph

WIP discussing the possibility of a graph

Given we need the metric, wouldn't it be better to merge and change later to improve its display?

Given we need the metric, wouldn't it be better to merge and change later to improve its display?

I agree with this. I don't know how much information an historical graph will add.

@JuArce
I added the total transformation since when only one operator was missing tasks, no name was displayed on the bar gauge:

Also, the bar gauge lacked an option to dynamically order the labels.
I addressed both in #15a53ae by switching from a "Bar Gauge" to a simple "table + gauge display" with successful results:


bower, please :)

Great job with this. I've started working with it in an Angular 1.5 application, and so far it's been super easy to work with.
Would love to see this as a bower package though. Like a lot of devs, I try to limit the use of npm for just the tooling and node.js specific stuff, and use bower (or jspm or whatever) for the pure front-end application dependencies.

I specifically removed my prior bower support because I got the exact opposite advice. npm is more than just for server-side JS. I'll let those with more experience hash this one out.

Yeah, there is a whole war over what js package managers you should use and all... I get it it.
I agree 100% that there should be an npm package, no doubt... and probably that should be the main one you promote.
But, there are tons of projects in the angular world using both npm and bower; the standard yo generator (generator-angular) even sets up with bower; as do many of microsoft's own stock new-project templates, etc.
So, I'd advocate that a bower package be available for those projects that do use it, while other people can stick to pure npm for all js management.
I personally have projects setup both ways, some use bower, some stick to pure npm... and I have yet to be able to get emotionally invested in either approach.

Ok, I concede. Can you 1) tell me how adding bower support will affect the dev workflow, and 2) send me a PR for it?

You already registered this in bower a while back, so adding back the bower.json should be all that's needed. There isn't a version property in the bower.json, so it will not affect the dev process... just keep tagging releases in github with semver tags and bower should automatically do its thing.

merged, thx


chore: update github URL in package.json

The package.json still used the old arturadib github URL. This is now updated for the new shelljs URL. This will save someone an HTTP redirect.

LGTM!


Members Link in SynoCommunity Website Footer Is Bad

Is this a new Bug?

[X] I checked that the bug hasn't been reported before

What happened?
The link "Maintained by SynoCommunity" at the bottom of https://synocommunity.com/ , in the footer is bad.
Should point to https://github.com/orgs/SynoCommunity/people
Also, all the "View details links under "Easy Install", "Bleeding Edge", and "Open Source" just link to itself and seem pointless, gives no further details, recommend removing the links or truly give more info.
Reproduction steps
n/a

@war59312, this issue will be resolved in the spkrepo which is the code that generates the website so I've transferred your issue there.

@war59312, the links you mention under the large icons take the user further down the page to where the content is. Given that the webpage is small, on a large screen it may appear to do nothing but on smaller screens it does work. Will consider if there is a need for a change there or not.


Paging support

Paging wasn't working when I originally implemented the request - try to troubleshoot this and provide smaller HTTP requests. Reach out to USAJOBS for recommendations on their preferred request size.

Currently, the cmdlet that performs the HTTP request, Invoke-UsajobsPaginatedRequest requests 250 items and no more. I think this is an appropriate number for a max - any more results and you should do more filtering. Originally I had limited my requests to 50 objects per. This would result in 5 round trips. However, I was getting duplicate results back (in addition to non-duplicate results). I don't know if this was the API or my code, but it was easier to set the max number of objects to 250 and call it a day. USAJOBS seems to be okay with this and sets the max to 500. USAJOBS Rate Limiting
I may just leave it because I'm not running queries on behalf of other people.


From OrientationFusion to OrientationFused

Hi, i really love your software! But i don't understand, how OrientationFused should be used now, since it was changed 2 months ago and the documentation still contains OrientationFusion.

Hi,
Apologies for the terrible state of the documentation, I just haven't had the time to update it. However, the https://github.com/KalebKE/GyroscopeExplorer project has been updated and provides examples on how to use the updated API.


install problem on linux jupyterlab

I am not able to install the widget on a jupyter-lap platform on Ubuntu 18.04.
When running this code
jupyter labextension install jupyter-sankey-widget
I get the following error:

error<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.

Also happens on windows, which makes sense because fs-events appears to be macOS specific.

Thanks for reporting the issue. I believe some changes may be needed for the newer version of jupyterlab.

Closing as the jupyter widget code has been updated since then. Please comment if this is still an issue.


Revisit phrasing of version strategy question

code state: f0201323c3a472055878058dd4188d2b0e545695

Updated to:

With this latest change, I would like to close this issue, what do you think @tom-h?

Very close. "different versions of the software are not identified separately" is a bit difficult to parse. "reflect interoperability aspects" in the final answer is really opaque.
But, the points/levels of differentiation are good. I prefer the explanatory text over the wording you've given for the answers. A combination might be better like:

the software does not make releases, or different versions are not identified
(e.g., updates may or may not be available, but when they are, no version or release is indicated)
(second answer and example are spot on)
As previous answer, but the version identifier is labelled according to a software versioning scheme
(e.g., popular schemes include semantic versioning, calendar versioning. Some software communities may require a specific scheme to be used)

Updated to:

Updated to:

agree


Bunch more QoL stuff from my fork

Thought I'd open this PR just in case you wanna merge my other quality of life changes I made. These include

a dedicated print_seperator function to make code more readable and easily print horizontal seperators
searching for characters now lists the first anime/manga they appeared instead of a seemingly random one
there's now a default action for the display image prompt, the prompt can be left by just pressing enter
the program will notify the user when the image viewing command couldnt be set automatically
all the synopsis/about sections are now properly formatted, so sentences wrap correctly, not the whole terminal is taken up and no words are incorrectly broken

I won't be insulted if you ignore the PR lol, just merge if you feel like it I guess

Wow, that's insane. I almost feel guilty of not doing anything on the project myself 😓
Ofc i'll merge your pr, how is that even a question 🚀


No way to remove handles or update their color position in code

This is a request to add support for removing handles and/or updating their position in code with a color value

Added PR #57


Add License

Hello! I came across this project not long ago, and I'm interested in forking it and making some modifications. I noticed that there isn't any license though, which means I can't do that.
I was wondering if you'd be open to adding a license to this project?

Hello !
Thank you for reaching out. I'm sorry I noticed your message only now.
I added the MIT license to this project. Hope it helps you !
For the record, I don't intend to work on it further, as I currently use Obsidian for taking notes and creating tables. Still use neovim to code though.


Further Split::IntoMultipleColumns tweaks

BUGFIX: no longer removes spaces between segments that get right/left combined
MINOR BEHAVIOR CHANGE: if original field value is an empty string, all new field values are nil (i.e. does not make newfield0 an empty string, and the remaining newfields nil)
Refactored to make code more readable/maintainable.

@eightBitter - will these changes cause any problems for your use of this transform?
I noticed the spaces being removed from the names in your test, which shouldn't have been happening.

@kspurgin  No problems with my use - I'll just have to remove an additional transform that was adding back the spaces. I had kept that in because I didn't know if it would break other behavior.


HEIF produced by sharp is corrupted

Possible bug
Is this a possible bug in a feature of sharp, unrelated to installation?

[x] Running npm install sharp completes without error.
[x] Running node -e "require('sharp')" completes without error.

If you cannot confirm both of these, please open an installation issue instead.
Are you using the latest version of sharp?

[x] I am using the latest version of sharp as reported by npm view sharp dist-tags.latest.

If you cannot confirm this, please upgrade to the latest version and try again before opening an issue.
If you are using another package which depends on a version of sharp that is not the latest, please open an issue against that package instead.
What is the output of running npx envinfo --binaries --system --npmPackages=sharp --npmGlobalPackages=sharp?
npx: installed 1 in 2.023s
System:
OS: Linux 5.4 Ubuntu 20.04.4 LTS (Focal Fossa)
CPU: (8) x64 Intel(R) Core(TM) i7-6850K CPU @ 3.60GHz
Memory: 1.46 GB / 3.84 GB
Container: Yes
Shell: 5.0.17 - /bin/bash
Binaries:
Node: 14.17.5 - ~/.nix-profile/bin/node
Yarn: 1.22.0 - ~/.nix-profile/bin/yarn
npm: 6.14.14 - ~/.nix-profile/bin/npm
What are the steps to reproduce?
Running the sample code will produce an heif image that is corrupted.
What is the expected behaviour?
An heif image that can be opened normally.
Please provide a minimal, standalone code sample, without other dependencies, that demonstrates this problem
#!/usr/bin/env node

'use strict'

const sharp = require('sharp')

async function resizeImage () {
  try {
    await sharp('elephant.png')
      .resize({
        width     : 1000,
        height    : 1000,
        background: { r: '255', g: '255', b: '255', alpha: '0' },
      })
      .toFormat('heif')
      .toFile('wow-resized.heif')
  } catch (error) {
    console.log(error)
  }
}

resizeImage()

Please provide sample image(s) that help explain this problem

I can reproduce with
  System:
    OS: macOS 12.2.1
    CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 835.04 MB / 32.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.13.0 - ~/.nvm/versions/node/v16.13.0/bin/node
    Yarn: 1.22.17 - ~/.nvm/versions/node/v16.13.0/bin/yarn
    npm: 8.1.0 - ~/.nvm/versions/node/v16.13.0/bin/npm
  npmPackages:
    sharp: ^0.30.1 => 0.30.1

Interestingly https://www.checkfiletype.com/ can render a preview of the heif image

It works on my machine :tm:
The output appears to be a valid AVIF image, which is expected as the default compression is av1.
https://sharp.pixelplumbing.com/api-output#heif

Latest Photoshop on Mac can also not open the resulting file, btw

This is the file that is produced on my machine: https://we.tl/t-BQNWEikAXI

@lovell are you saying the file is valid but the standard isn't supported on hosts yet?

The default HEIF compression av1 will give you an AVIF file, which can be viewed in most web browsers (Firefox opens the output image as-is, Chrome needs the extension changed to .avif before it will do so).

heif-info -d wow-resized.heif
MIME type: image/avif
main brand: avif
compatible brands: avif, mif1, miaf

Box: ftyp -----
size: 28   (header size: 8)
major brand: avif
minor version: 0
compatible brands: avif,mif1,miaf

Box: meta -----
size: 408   (header size: 12)
version: 0
flags: 0
| Box: hdlr -----
| size: 33   (header size: 12)
| version: 0
| flags: 0
| pre_defined: 0
| handler_type: pict
| name:
|
| Box: pitm -----
| size: 14   (header size: 12)
| version: 0
| flags: 0
| item_ID: 1
|
| Box: iloc -----
| size: 52   (header size: 12)
| version: 0
| flags: 0
| item ID: 2
|   construction method: 0
|   data_reference_index: 0
|   base_offset: 444
|   extents: 0,1945
| item ID: 1
|   construction method: 0
|   data_reference_index: 0
|   base_offset: 2389
|   extents: 0,32605
|
| Box: iinf -----
| size: 56   (header size: 12)
| version: 0
| flags: 0
| | Box: infe -----
| | size: 21   (header size: 12)
| | version: 2
| | flags: 0
| | item_ID: 1
| | item_protection_index: 0
| | item_type: av01
| | item_name:
| | content_type:
| | content_encoding:
| | item uri type:
| | hidden item: false
| |
| | Box: infe -----
| | size: 21   (header size: 12)
| | version: 2
| | flags: 0
| | item_ID: 2
| | item_protection_index: 0
| | item_type: av01
| | item_name:
| | content_type:
| | content_encoding:
| | item uri type:
| | hidden item: false
|
| Box: iprp -----
| size: 215   (header size: 8)
| | Box: ipco -----
| | size: 177   (header size: 8)
| | | Box: colr -----
| | | size: 19   (header size: 8)
| | | colour_type: nclx
| | | colour_primaries: 2
| | | transfer_characteristics: 2
| | | matrix_coefficients: 6
| | | full_range_flag: 1
| | |
| | | Box: av1C -----
| | | size: 12   (header size: 8)
| | | version: 1
| | | seq_profile: 0
| | | seq_level_idx_0: 5
| | | high_bitdepth: 0
| | | twelve_bit: 0
| | | chroma_subsampling_x: 1
| | | chroma_subsampling_y: 1
| | | chroma_sample_position: 0
| | | initial_presentation_delay: not present
| | | config OBUs:
| | |
| | | Box: ispe -----
| | | size: 20   (header size: 12)
| | | version: 0
| | | flags: 0
| | | image width: 1000
| | | image height: 1000
| | |
| | | Box: pixi -----
| | | size: 14   (header size: 12)
| | | version: 0
| | | flags: 0
| | | bits_per_channel: 8
| | |
| | | Box: auxC -----
| | | size: 56   (header size: 12)
| | | version: 0
| | | flags: 0
| | | aux type: urn:mpeg:mpegB:cicp:systems:auxiliary:alpha
| | | aux subtypes:
| | |
| | | Box: av1C -----
| | | size: 12   (header size: 8)
| | | version: 1
| | | seq_profile: 1
| | | seq_level_idx_0: 5
| | | high_bitdepth: 0
| | | twelve_bit: 0
| | | chroma_subsampling_x: 0
| | | chroma_subsampling_y: 0
| | | chroma_sample_position: 0
| | | initial_presentation_delay: not present
| | | config OBUs:
| | |
| | | Box: ispe -----
| | | size: 20   (header size: 12)
| | | version: 0
| | | flags: 0
| | | image width: 1000
| | | image height: 1000
| | |
| | | Box: pixi -----
| | | size: 16   (header size: 12)
| | | version: 0
| | | flags: 0
| | | bits_per_channel: 8,8,8
| |
| | Box: ipma -----
| | size: 30   (header size: 12)
| | version: 0
| | flags: 0
| | associations for item ID: 1
| | | property index: 1 (essential: true)
| | | property index: 6 (essential: true)
| | | property index: 7 (essential: false)
| | | property index: 8 (essential: true)
| | associations for item ID: 2
| | | property index: 2 (essential: true)
| | | property index: 3 (essential: false)
| | | property index: 4 (essential: true)
| | | property index: 5 (essential: true)
|
| Box: iref -----
| size: 26   (header size: 12)
| version: 0
| flags: 0
| reference with type 'auxl' from ID: 2 to IDs: 1

Box: mdat -----
size: 34558   (header size: 8)

GIMP (v2.10.18) on Ubuntu 20.04 can open the resultant AVIF file quite happily.
Which Ubuntu tools are you using that you would normally expect to be able to parse AVIF images but cannot parse the resultant image provided in this issue?

I am using heif-gdk-pixbuf . And using GIMP on my machine fails also with this.

What version of libheif are you using? Are you using the PPA? https://launchpad.net/~strukturag/+archive/ubuntu/libheif

@lovell The issue was on my side and I fixed it now. Thank you very very very much :pray:

I have the same Issue. What have you done to fix it?

@lovell The issue was on my side and I fixed it now. Thank you very very very much 🙏

I have the same Issue. What have you done to fix it?


POM Dependency Error:  ready-api-soapui-pro version not right

version 1.2.0 of ready-api-soapui-pro could not be find in repository now. Should change it to be 1.2.2 or higher version.
<dependency>
        <groupId>com.smartbear</groupId>
        <artifactId>ready-api-soapui-pro</artifactId>
        <version>1.2.2</version>
</dependency>

Thank you @hxgqh


Issue with "fatal: protocol error" on OpenBSD using git push

Gitea version (or commit ref): 1.7.4 built with go1.12.1
Git version: 2.21.0
Operating system: OpenBSD 6.5
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[x] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[x] No
[ ] Not relevant

Log gist: no log entries from protocol error.

Description
Using https to push to gitea from local.
I was able to use git push -u origin master without issue. I added files, and tried to push these using git push, and received this error:
fatal: protocol error: bad line length character: POST
I removed the .git folder, reinitialized everything, and started adding files and directories to be tracked one by one when it dawned on me that the error occurred after I got tired of adding individual files/directories and added everything at once. While doing this one file/directory at a time, I got to the following and ran into the error:
git add roles/
git commit -m 'adding roles dir'
git push
fatal: protocol error: bad line length character: POST
I attempted to remove the folder from tracking, made a commit about the removal, tried to push again, and the same error comes up.
git rm -r roles/
git commit -m 'removing directory from tracking'
git push
fatal: protocol error: bad line length character: POST
Screenshots
N/A

What protocol are Gitea listening on? (http, fastcgi etc)

Could you use a recent version(1.9.0) than 1.7.4 ?

Hello,
Notification failure.
I'm currently using fastcgi for serving the front end, but I use https for git push/pull.
It is not possible to use 1.9.0 at this time.

Have you set ROOT_URL different from LOCAL_ROOT_URL.

They are the same.

@daemhan You should change them. ROOT_URL should be http/https for user clone/pull/push, LOCAL_ROOT_URL should be your fastcgi protocol address.

Closing as answered, please reopen if not


Deleting text in element resets its styles

Bug Description
Deleting all the text in a label resets font color, weight and italic/underline (and perhaps others too).
Steps to Reproduce

Create a text element and set font color, weight or italic/underline.
Edit the text and press backspace until all the text is deleted.
Type some new text.

Expected: The new text is styled with the same style as the deleted text.
Actual: The new text is not styled.
Screenshots

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria
QA Instructions

How could I "clear" the formatting in this case without having to reset each setting manually in the design panel? Press backspace again? Might need some UX definition here.

Following precedence from text editors, that's usually done with a separate "clear formatting" action. Command+\ in Docs for example.

Just tagging @samitron7 for awareness on this one.

Tested in QA - PR#2584
See QA Testing Instructions above
1st scenario is fine now, but 2nd and 3rd are still having the same prob

@csossi, can I get you to re-test this making sure you're on the right branch? I'm seeing all scenarios work as expected here. Scenario 1 probably worked even before this branch, thus you might be on an unrelated to see this result.

@csossi it seems there was a temporary problem with Pantheon caching an old version of the branch. But when I re-applied the branch from the dropdown, it worked fine.
You can validate, that you're on the right version of the branch, if you see the safe zone tick marks (rather than the old danger zone marking).
Can you please re-evaluate this issue with that in mind?

Verified in QA

All 3 use cases passed but the following one (which is not a part of this QA failed)

Add new text field and style
Add a new line then select all and type. All the styles are wiped out.

@barklund Should I move this to done and we get a new ticket filed?

Should I move this to done and we get a new ticket filed?

Yes. Every time a ticket does not fully pass UAT, a new issue should be created to address the remaining issues.

Moved to done but filed a new issue.


Reading value that was deleted in a mapping causes panic

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
No response
What command(s) is the bug in?
No response
Operating System
None
Describe the bug
Description
It looks like when I read a empty value on a mapping my test panics. I am unsure what exactly is going on, but I can reproduce with the steps below.

Checkout this branch locally https://github.com/alexkeating/hats-protocol/tree/experimentation/why-not-working
Run the following test forge test  --match-test testAdminCanBurnAndRemintLinkedTopHat --zksync

I added console logs throughout and it looks like the issue is happening in this test in Hats.sol on line 1341.

Hey thanks for the report! We are looking into this and will let you know when we have a fix ready.
Thanks also for the example, and I'd really appreciate if you could list the logical list of operations that triggers this failure:
from what I can tell, it's something like "populate slot" (mint) -> "delete storage slot" (burn) -> "read deleted storage slot" (as part of reminting), correct?
I'd like to further reduce the example to something simpler (if possible) to make debugging more effective, perhaps something we can integrate in our test suite :)

@alexkeating we investigated the issue in detail and figured out that this weird behavior was caused by a combination of zkEVM call behavior for missing code addresses (mocked), and using low level calls. Basically the following mocks were missing from your setup:
vm.mockCall(
    _eligibility,
    abi.encodeWithSignature("getWearerStatus(address,uint256)", topHatWearer, topHatId),
    abi.encode()
);
vm.mockCall(
    _eligibility,
    abi.encodeWithSignature("getWearerStatus(address,uint256)", topHatWearer, secondHatId),
    abi.encode()
);
vm.mockCall(
    _eligibility,
    abi.encodeWithSignature("getWearerStatus(address,uint256)", address(99), secondTopHatId),
    abi.encode()
);

In the EVM, calling a non-existent address returns the zero-value but on zkEVM it causes unexpected behavior which manifested itself in this way when using low-level calls.
As a mitigation we will add some error logs when we encounter this behavior, and potentially raise an issue with zkEVM to fail more reliably.
PS: Please note that addresses below 65536 (0 - 65535) are reserved by zksync and may not be used in tests.

Hey @alexkeating, I'll go ahead and mark this issue as completed - we introduced some heuristic and logging to better detect this case in the future, and it should also give you enough information to troubleshoot our test and add the necessary mockCall invocations

Great, thank you guys!


ttAdapter missing param in latest version?

Hi @vvo
I'm using algolia's 3.19.1  along with typeahead 0.10.1. After looking at the code I realized ttAdapter method is returning just:
cb(content.hits);
instead of:
cb(content.hits, content.nbHits);
Is there any reason for leaving out the nbHits param?
Thanks! and great job with the library :)

Hi @mixergtz I do not remember we called cb with more than the hits in a previous version of this library. Can you provide me more context about "instead of: cb(content.hits, content.nbHits);"? Thanks

Sure, we were using a pretty old version of the library -> 2.5.1
This is the code for ttAdapter in that version:
        /*
         * Get a Typeahead.js adapter
         * @param searchParams contains an object with query parameters (see search for details)
         */
        ttAdapter: function(params) {
            var self = this;
            return function(query, cb) {
                self.search(query, function(success, content) {
                    if (success) {
                        cb(content.hits, content.nbHits);
                    }
                }, params);
            };
        },

nbHits provides the number of results of that query and passes it to this function in typeahead (0.10.1)
function renderIfQueryIsSame(suggestions, nbHits) {
  query === that.query && that._render(query, suggestions, nbHits);
}

And then it can be used in typeahead
return {
    source: index.ttAdapter(hitsPerPage: hitsPerPage)
    displayKey: "name"
    templates:
      header: (query) ->
        nbHits = query.nbHits
        if nbHits == 1
          message = "1 match"
        else
          message = nbHits + " matches"
        "<li class='search-object-header'>" + headerTitle + " (" + message + ") </li>"
      suggestion: (hit) ->
        template.render hit
    }

But if the ttAdapter function only returns  cb(content.hits), in the typeahead code query.nbHits will return null
However the renderIfQueryIsSame function in typeahead doesn't seem to exist in the latest version so I don't know if adding the nbHits params affects something.
Maybe is there a different way of getting the nbHits (number of results) in the latest version of algoliasearch in the ttAdapter function that I'm missing? or maybe should I update typeahead with the latest version?
Thanks again!!

Hi @mixergtz for now I would advise you to just code your own ttAdapter, like this for typeahead 0.10.
var client = algoliasearch(...);
var ttAdapter = createTtAdapter(client);
var typeaheadSource = ttAdapter('indexName', params);

// now use typeaheadSource;

function createTtAdapter(algoliaClient) {
  return function(indexName) {
    var index = algoliaClient.initIndex(indexName);
    return function(query, cb) {
      index.search(query, params, function(err, results) {
        if(err) {
          console.error(err);
          cb(err);
          return;
        }

        cb(results.hits, results); // here we send all hits and the results
      });
    }
  }
}

I would not recommend you to switch to typeahead 0.11, it's not maintained and has many issues.
We also have https://github.com/algolia/autocomplete.js for you, a "better" more Algolia typeahead.
Let me know how it goes.

ttAdapter will be removed in v4. Please use autocomplete.js or open an issue for using v3 and you're having an error.


Custom Backend/Route update performance

@murphymj25 and I have been working to improve the route update performance in Fabio.  We have a very large set of services (+4,000), routes (+10,000) and TPS (+120,000 across 8 fabios) . Due to the very large set of services/route updates its taking 30-60 seconds to perform the route updates.  Even with the concurrent serviceMonitors that we added a while back (https://github.com/fabiolb/fabio/pull/564) set at a high level (100+) we still have the slow updates.
To improve the performance we have added a custom backend that is a simple API call to a remote system.  The return values map directly to the route.RouteDef struct.  This eliminates the text parsing and a number of other functions only needed with the consul backend.  This could be used by other Fabio users who don't deploy Consul but have the ability to stand up an API for quick updates.
API return json schema
  [
    {
      "cmd": "string",
     "service": "string",
      "src": "string",
       "dest": "string",
     "weight": float,
    "tags": ["string"],
       "opts": {"string":"string"}
    }
   ]

We have built a caching service that takes the consul data and populates the API.    Performance is significantly better but we still run into an issue with the updates taking around 15 seconds.  Most of that time seems to be with https://github.com/fabiolb/fabio/blob/3de70c7f0638b41ab37bddc399375f9af6d8074b/route/route.go#L52
I suspect the DeepEqual is the culprit and I wanted to understand if the dedup is required if we trust our inbound data sources?  Or is this used to solve other issues?  If we remove the dedup call the update for 10,000 routes goes from 15 seconds to 0.2 seconds.
We are nearing completion of our testing and will be submitting a PR.  We wanted to start getting your feedback on the issue and subsequent custom backend addition.

Code for your review - https://github.com/fabiolb/fabio/tree/issue-611-custom-backend

make test file for your review
issue-611-make-test.txt

After further testing the dedup isn't an issue as we had our 50K routes installed incorrectly.  The dedub was crawling those as if it was a single service.  Once we have the proper data being ingested the table load times are subsecond for 50K routes.  Just for fun the table load took  2 seconds for 170K routes and 20 seconds for 1.7M routes.  :)

@magiconair @leprechau Any thoughts on this idea/PR?  Any improvements/changes we can make?
We most likely will move forward internally with this approach but would like to stay as close to the public master branch as possible.

Sorry, I'll try to get a review in on this today or tomorrow.

No worries.  I know everyone is crazy busy.

@galen0624 Sorry for the delay.  Didn't get to looking this over last week.
This is a great feature and I can see it being a great way to expand the capabilities of Fabio without having to continuing to modify the core for other route sources.
One small niggle ... on the struct name can we make CustomBE just Custom so it matches the style of the existing Static, File, and Consul in that package?
Other than that LGTM and thank you again for your contributions and patience!

@leprechau Sounds good.  I'll update next week.  Out of town at the moment.  Thanks for taking a look.  I know this isn't your day job so I appreciate the work you put in.

#614 Updated CustomBE to Custom


[MM-18174] Replicated missing user functionality for system messages from webapp in RN

Summary
In the mobile app, if a user who isn't loaded joined the channel, the system message will read @undefined joined the channel. This PR changes that message to Someone joined the channel to reflect what is already done in the webapp.
Ticket Link
https://mattermost.atlassian.net/browse/MM-18174
Device Information
This PR was tested on: iOS Simulator, iPhone X iOS 12.4

Created as draft because I cannot reproduce the issue myself. Will open once I know it's working for sure.
@hmhealey can you download my build and ensure what I've done fixes the issue?

Build Apps for PR label detected. Will generate the app if build succeeds (checks pass and no conflicts with base branch).

Build the App failed. See the logs for more information.

Build Apps for PR label detected. Will generate the app if build succeeds (checks pass and no conflicts with base branch).

Android build App: https://releases.mattermost.com/mattermost-mobile-pr/PR-3219/Mattermost_Beta.apk)
iOS build App: itms-services://?action=download-manifest&url=https://releases.mattermost.com/mattermost-mobile-pr/PR-3219/Mattermost_Beta.plist

Looks good to me. I'll add more detailed repro steps to the ticket for how you should be able to cause it


Change Oneview Redfish Toolkit to use CherryPy

Changes the app.py code to use CherryPy standard;
Adds TransLogger to handler logs between cherrypy and flask app
Uses Daemonizer plugin of the cherrypy to run the app as a daemon process
Changes the requirements.txt adding the cherrypy to be installed

Closes #348

I am working now changing the code to use cherrypy for both production and development environments.

I am working now changing the code to use cherrypy for both production and development environments.
This will be good to avoid run the app in a server different that the production server and to have an unexpected behavior in production environment due that.
Thanks for this suggestion @sidneifranco .

Done!


exec: Override container process option if needed

runc expects the exec command to use the same options defined when
the container process was started. And if the command line provide
some options, we should override with what is provided.
Fixes #323

Coverage decreased (-0.6%) to 52.931% when pulling 0d833eaca7235e12224407810a9acf950dd567fa on fix_exec_override_options into e85026c39c241fda71fbf3091625efb099c52eac on master.

lgtm


Added Twitter Embedded Tweet component

This PR adds a component that allows to embed Twitter cards with {{twitter-card tweet-id=<tweet_id>}}.
Includes:

twitter-card component
twitter/card page with code example
acceptance test for twitter-card component

This PR was failing tests because bower could not pull correct Ember version. I'm going to create another PR, one that will fix the bower problem.


AwsLambdaReceiver does not handle request headers propertly

@TheManWhoStaresAtCode did you do anything special to set this up?
I tried and I keep getting [WARN] Unexpected content-type detected: undefined. I am still digging in but my lambda is pretty much the example one.
I know it is executing the code because that error is in this bolt code for the PR that added the AwsLambdaReceiver.
Edit:
I did some digging in and noticed that I think the issue is that AWS API Gateway lowercases all the header keys and we are looking for exact case.

https://github.com/slackapi/bolt-js/blob/main/src/receivers/AwsLambdaReceiver.ts#L112
https://github.com/slackapi/bolt-js/pull/785/files#diff-28e1324e38592888b6be7978f98e3ab7922a41777a4cf142f1c09235b22ed6edR125-R126

Example:
We are looking for a header of Content-Type but my headers come in as "content-type": "application/json", when proxied from API Gateway. Same for "x-slack-signature": "****".

I found the documentation that indicates that headers are lower cased.  One added detail is that we are using http api vs Rest API on AWS API Gateway.
https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
Originally posted by @JSSAggie in https://github.com/slackapi/bolt-js/issues/815#issuecomment-849867090

Fixed by #938 - Thanks @TheManWhoStaresAtCode for your contribution!


Image uploading issue with generic handler in asp.net

Hello,
I am a .Net dev. So I don't understand how PHP works. So I modify upload.php to upload.ashx in medium-editor-insert-plugin.min.js file.
Now when I upload a file, trigger goes to my file but I am not able to get a file there.
Below is my handler code.
  public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        context.Response.Expires = -1;
        try
        {
            HttpPostedFile postedFile = context.Request.Files["Filedata"];

            string savepath = "";
            string tempPath = "";
            tempPath = System.Configuration.ConfigurationManager.AppSettings["FolderPath"];
            savepath = context.Server.MapPath(tempPath);
            string filename = postedFile.FileName;
            if (!Directory.Exists(savepath))
                Directory.CreateDirectory(savepath);

            postedFile.SaveAs(savepath + @"\" + filename);
            context.Response.Write(tempPath + "/" + filename);
            context.Response.StatusCode = 200;
        }
        catch (Exception ex)
        {
            context.Response.Write("Error: " + ex.Message);
        }
    }

Please suggest me how can I achieve this with my asp.net application.
Or suggest another way to I can upload image file to specific folder.

We're using blueimp's jQuery File Upload Plugin to hande all uploads. You can look to their documentation to see .NET examples: https://github.com/blueimp/jQuery-File-Upload/wiki#aspnet

Thank you for your valuable suggestion.


fix: workspace name suggestion

Description
This PR trims git suffix being appended to suggested workspace names when using a .git url
Type of Change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist

[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings

Related Issue(s)
This PR addresses issue #354
/claim #354
Screenshots

Changes look good to me but let's wait for GitHub to get back up before we approve. Thanks!

@Tpuljak, github is working fine now.


Typo in section Add a data model class

The last sentence in Add a data model class is missing 'T' at the very beginning.
Instead of The question mark... it currently reads as he question mark...

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

ID: 1d975a83-1550-b284-d0d8-7fe2ea206ff5
Version Independent ID: 48e81b42-7c2b-afbf-71e6-d4f442a4bd1f
Content: Part 4, add a model to an ASP.NET Core MVC app
Content Source: aspnetcore/tutorials/first-mvc-app/adding-model.md
Product: aspnet-core
Technology: aspnetcore-tutorials
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Thanks, fixed in this commit


FIX - Re-add openssl

What it does

Re-adds the openssl implementation with session re-use
Keeps native-tls feature gated
Adds From impl for FtpError to use ? in ftp.rs
Resolves #96

@ChristianVisintin you might be interested 🙂
@mattnenterprise I guess you have a notification as maintainer but in case ^^
Notes on changes
Dependencies
I've removed the minor and patch versions in dependencies as that's equivalent to the carret condition which is what cargo uses by default (see cargo documentation). I believe it's best not to specify minor versions if not used with = (aka my_lib = "=1.2.3") as less experienced developers might not know that cargo can choose an newer version then what's written.
Imports
I've grouped dependencies (which I think should be the good practice) because it reduces the number of lines used for imports and allows a more visual representation of what it used in a library.
Welcome message
I was not convinced with the current implementation of the welcome message for two reason:

It increases the memory size of the struct FtpStream for data you probably need to read only once
The field welcome_msg is an option in the the struct FtpSteam suggesting it might not be here, however implementation made it available in all cases only to simplify the implementation of the function connect

Therefore I've made it available in the return of the function connect 🙂
Result vs crate::Result
I find it quite misleading to override import from rust prelude and notably for the result enum. If therefore moved the type Result<T> to lib.rs and use crate::Result to indicate the functions return a classical result of the crate rather than juste a classical result
About the put command
When uploading files to an ftp server using openssl I had the error FTP 426 Failure reading network stream.. My guess was that the ssl stream wasn't closed properly and that the master connection couldn't read until the data stream was closed. This is probably the case only with session re-use as without master and data connection are completly independent. Anyway, the fix consists in forcing the connection to shutdown after uploading the file. I'm quite unhappy of how I'm doing that, ideally it should have been in something equivalent to a Drop implementation. I didn't do a custom Drop implementation because I didn't know how to handle the possible connectivity errors when doing the shutdown. This is something to keep in mind for #93. Anyway, currently it works :tada:

@mattnenterprise When do you think you'll be able to merge this ? Thanks 🙂

@mattnenterprise When do you think you'll be able to merge this ? Thanks 🙂


Request for more info

Please provide some documentation.

Thanks for your suggestion.
Already write some documents.

Thanks


how to generate prior_boxes

Hi, may you explain how to generate the prior files ?
I would train using my own training set

U should use get data from xml file to train ur own dataset

Hi, I used the file  get_data_from_XML.py  to generate voc_2012.pkl
How to generate the files you stored in the folder priorFiles ?
I need to train MobileNet 256x256 alpha 0,125 (This is the max size of the model tha should work in Google AIY vision kit)

I see that the file prior_boxes_ssd300MobileNet.pkl doesn't work if the input image is 256x256.
May I kindly ask you to upload in the project folder priorFiles also this file  ?
If it is not too much time consuming may you upload the same file 256x256 related to MobileNetV2 and Featurefused ?


feat(ui): add team on homepage

This PR mainly adds the OKP4 core team to the OKP4 website's homepage.

:tada: This PR is included in version 2.13.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


OSX arm64 migration (redo)

Retry osx-arm64 migration. Add myself as maintainer.
Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Closes #19

The build logs have been deleted on the last one, so retrying straight migration first to generate new logs.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

@conda-forge-admin please rerender


ZYM100W presence: fix min/max for min/max distance dps

@make-all, I have this device, and these new values are what both the app and tinytuya show as min/max.
             "3": {
                "code": "near_detection",
                "type": "Integer",
                "values": {
                    "unit": "M",
                    "min": 0,
                    "max": 825,
                    "scale": 2,
                    "step": 75
                }
            },
            "4": {
                "code": "far_detection",
                "type": "Integer",
                "values": {
                    "unit": "M",
                    "min": 75,
                    "max": 900,
                    "scale": 2,
                    "step": 75
                }
            },

Rather than simply changing from the original values in #1913 to your device's values, it would be better to reduce the limits to cover both. Since the other variant has a lower limit of 150 for both, don't change the lower limit, but since your upper limits are lower, bring down the upper limit to 900/825 instead of 975/900.  That way neither device will be put into a setting that it cannot handle.

Oh. That's weird. Maybe our devices are not the same after all.
The box of mine says:
Loginovo (brand) Smart Human Presence Sensor M100

[x] Wifi
[x] Wall version
[x] 24G

On one label, it says:
Product name: Smart Sensor
Model: C3007
On another label, it says:
TY-WS-24G
https://aliexpress.com/item/1005007586670159.html
Variant: 24G Wifi Wall
This is Tinytuya's device data for it:
Note that this is the only place where a model like ZYM100W is mentioned (under product_name):
      {
        "name": "Presen\u00e7a do escrit\u00f3rio",
        "id": "eb1846afdec6131f8ecjsn",
        "key": "hidden",
        "mac": "hidden",
        "uuid": "f7b5c6295a6df923",
        "sn": "100128046005CA",
        "category": "hps",
        "product_name": "ZY-M100-WIFI24G\u5b58\u5728\u4f20\u611f\u5668V2",
        "product_id": "5lld8pgsoynvctqa",
        "biz_type": 0,
        "model": "",
        "sub": false,
        "icon": "https://images.tuyaus.com/smart/icon/ay15431316572284AcPZ/51bdad4264cd4894214d790a99c39ca8.png",
        "mapping": {
            "1": {
                "code": "presence_state",
                "type": "Enum",
                "values": {
                    "range": [
                        "none",
                        "presence"
                    ]
                }
            },
            "2": {
                "code": "sensitivity",
                "type": "Integer",
                "values": {
                    "unit": "",
                    "min": 1,
                    "max": 10,
                    "scale": 0,
                    "step": 1
                }
            },
            "3": {
                "code": "near_detection",
                "type": "Integer",
                "values": {
                    "unit": "M",
                    "min": 0,
                    "max": 825,
                    "scale": 2,
                    "step": 75
                }
            },
            "4": {
                "code": "far_detection",
                "type": "Integer",
                "values": {
                    "unit": "M",
                    "min": 75,
                    "max": 900,
                    "scale": 2,
                    "step": 75
                }
            },
            "9": {
                "code": "target_dis_closest",
                "type": "Integer",
                "values": {
                    "unit": "M",
                    "min": 0,
                    "max": 100,
                    "scale": 1,
                    "step": 1
                }
            },
            "103": {
                "code": "illuminance_value",
                "type": "Integer",
                "values": {
                    "unit": "lux",
                    "min": 0,
                    "max": 10000,
                    "scale": 0,
                    "step": 1
                }
            }
        },
        "ip": "<IP_ADDRESS>",
        "version": "3.3"
    },

@make-all maybe the best would be to add a new profile just for it. What do you think?

Do you really have a use case for setting the detection limits less than 1.5m?
If we make a duplicate with different limits, how does the user know which one to choose?

If we make a duplicate with different limits, how does the user know which one to choose?

Maybe we can distinguish it by firmware version.

Do you really have a use case for setting the detection limits less than 1.5m?

No, that's fine. It's not big deal. I can live with it.
To be honest I'll probably flash this device with an alternative firmware as soon as possible (but LibreTiny/ESPHome doesn't support its board yet), because I am not able to extract relying results out of this device. It has lots of false detections and false un-detections.

Firmware version is not readable locally. For now, just restore the min back to 150 for both sensors, and we'll merge the reductions for max to avoid going out of range on either sensor.

Firmware version is not readable locally.

I meant to present the user two choices of profiles when setting up the device, and then user can choose whichever they want.
But in fact, when the user has enabled cloud assisted setup, you can fetch the dp information with tinytuya and then use that data (the correct min/max) to select the right profile.
But I agree it's probably not worth the time spent implementing that.

For now, just restore the min back to 150 for both sensors, and we'll merge the reductions for max to avoid going out of range on either sensor.

To be honest I don't like that option either. Right now, the profile is perfect for one device. If we change that, it's gonna be unperfect for both.

Unfortunately the tuya cloud does not allow fetching local dp information with the QR code authentication flow.

Got it. Thank you anyway then. I suggest you wait for someone else to complain before considering doing anything.


lib_enum.ks allows the partition indices to walk off the ends in the quicksort routine

I'm not sure what conditions lead to the i and j indices walking off the ends, but they do sometimes, seemingly randomly but probably not really.
I altered my local copy at line 102 in the sort fn from:
if lo<hi{local p is pt(A, lo, hi). qs(A, lo, p). qs(A, p + 1, hi).}}
to:
if (lo>0 AND hi<A:LENGTH-1) AND lo<hi{local p is pt(A, lo, hi). qs(A, lo, p). qs(A, p + 1, hi).}}
and the issue went away for me.  But there is probably a more robust solution

Mostly just forwarding what we discussed on the kOS discord as well as some other thoughts I have on the subject.
The root cause of the issue from what I could determine likley stems from the chosen compare function as said function was computing the distance along the SHIP:FACING vector for parts.  As this is physics linked data should a physics tick fall between getting the data for the two passed in parts it is possible for the same part to have two difference distances.  This is a problem for the sort function as written because it assumes that the things being sorted are not volatile and thus when comparing two parts there will be no difference.  But should there be a difference and that difference is positive or negative depending that can cause the i and j values in the internal pt function to go out of range.
Once this was determined I was able to construct a reproducible test case with the error by injecting noise into the comparison function.  From what I was then able to determine the proposed solution only works in some cases not all.    The only thing I dislike about the solution is that it comes with an increase in sort time that seams to impact longer lists more.  Thus as the issue was narrowed down to being caused by sorting a volatile list I am debating if it should be patched.


Support scrollable non-body containers.

Hello! This library works fine for default (body) scrollable container. Hovewer, it's often necessary to have a combination of scrollable container and a sticky header. Or something else for that matter. Unless I messed up, the following does not work with next-scroll-restorer:
export function Shell() {
  // using Tailwind classes, hopefully it's clear
  return <div className="overflow-auto max-h-screen">
  ...
  </div>
}

Here's the same problem discussed in Remix framework community and some yet unofficial solutions to it.
Context
I'm trying to auto-restore scroll position on a user search page with an infinite scroll (powered by React-Query).
I'm clicking on a Profile Detail link, then I'm clicking on the native Back button in Chrome. My own ad-hoc restorer works fine so there's no structural issue that would block the desired behavior.

Hello! I have some ideas on how to implement it but will do so later.
If you'd like to speed up the process, feel free to open a pull request. However, please ensure that you include tests for this particular case.

https://github.com/javascripter/next-scroll-restoration
I ended up not using custom scrolling elements for our website so I'm not using it yet in production but here's my attempt at it when I was trying to solve it (feel free to take implementation ideas from my library if applicable).
Using scroll events to discover custom scrolling elements automatically seems to be reliable in dynamic websites.
Current known problem in my implementation is when navigating to the same href in different history stacks it wrongly restores scrolls, since my implementation uses location.pathname as the history state key.
next-scroll-restorer seems to cover lots of edge cases quite well so if non-body container scroll restoration gets implemented in this library it'd be pretty awesome!


Couple typos, testing instruction extract

@robmadden this didn't Blync. Did I do something wrong? The meta data looks OK to me.

ENV['repo'] was set incorrectly in Heroku, let's try again to "beta" or "dev" branch so we don't tamper with production.


[Snyk] Security upgrade documentation from 13.2.5 to 14.0.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `npm` dependencies of this project.

Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

package.json

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

696/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 7.5
Regular Expression Denial of Service (ReDoS) SNYK-JS-ANSIHTML-1296849
Yes
Proof of Concept

686/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 7.3
Authorization Bypass Through User-Controlled Key SNYK-JS-PARSEPATH-2936439
Yes
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.

Commit messages

Package name: documentation
    The new version differs by 89 commits.

849a083 chore(release): 14.0.0
42b14a0 build(deps-dev): bump eslint from 8.21.0 to 8.22.0 (#1547)
85ecbbf build(deps): bump @ babel/generator from 7.18.10 to 7.18.12 (#1545)
4609719 chore(release): 14.0.0-alpha.1
f513485 Align babel plugin list with Prettier
5d66953 Sort babel plugins
7e17203 revert to upsteam package-lock.json
3f187d7 feat: :sparkles: update Babel, copy list of plugins from Prettier
73bb2a4 chore(release): 14.0.0-alpha.0
390edff Update release instructions
e4ba155 patch updates to babel and husky
9941fb6 Bump husky from 4 to 8
69066bb don't ignore updates to husky
3d2c043 run migration script from husky 4 to 8
c5e0156 Merge pull request #1541 from documentationjs/bump-mock-fs
8236bd0 Bump to mock-fs 5.1.4
ab0cade Merge pull request #1530 from SojinSamuel/patch-1
77968e1 Bump mock-fs from 5.1.2 to 5.1.3
0d04462 Merge pull request #1540 from documentationjs/Add-test-suite-for-node-18
a6dc1bd Add test suite for node 18
2c885bf Run npm audit fix
21fbb3e Bump fs-extra from 10.0.1 to 10.1.0
2cb5a26 Bump prettier from 2.6.2 to 2.7.1
fb20409 Bump eslint from 8.13.0 to 8.21.0

See the full diff

Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Regular Expression Denial of Service (ReDoS)

Codecov Report
Base: 99.03% // Head: 99.03% // No change to project coverage :thumbsup:

Coverage data is based on head (cda3d81) compared to base (c48d229).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##           master      #91   +/-   ##
=======================================
  Coverage   99.03%   99.03%
=======================================
  Files          69       69
  Lines        1243     1243
  Branches      188      188
=======================================
  Hits         1231     1231
  Misses         12       12

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


note dur and note pitch embedding is added with phone embedding or concat with embedding

Hello, I just want to know note dur and note pitch embedding is added with phone embedding or concat with embedding? my experiment show concat result is very bad when i change my note pitch. Thank You

Hi, Thanks for raising the question. Generally speaking, it depends on the models.
For Xiaoice, the embedding is added up as in https://github.com/SJTMusicTeam/Muskits/blob/3750a54f414761bb8bd72b1f0914b442d34cb176/muskit/svs/xiaoice/XiaoiceSing.py#L447
For transformer-based SVS, the embedding is either concat or added up as in https://github.com/SJTMusicTeam/Muskits/blob/3750a54f414761bb8bd72b1f0914b442d34cb176/muskit/svs/glu_transformer/glu_transformer.py#L758-L761
For RNN-based model, the embedding is either concat or added up as in https://github.com/SJTMusicTeam/Muskits/blob/3750a54f414761bb8bd72b1f0914b442d34cb176/muskit/svs/naive_rnn/naive_rnn.py#L445-L450

Could you refer to which recipe you are working with so that we could check and even help you investigate the issues?

Since there is no response for a long time, I will close the issue


GameBoy emulator hangs on set_state()

Issue summary
A number of GameBoy games hang when using set_state(), so they may also not work well with bk2s.
I also saw these games fail with a simple test script https://gist.github.com/christopherhesse/7519b51896a33b2361466c6dce06e0fa:
AlfredChicken-GameBoy
BoobyBoys-GameBoy

This game fails with a more elaborate test script https://gist.github.com/christopherhesse/f5c8cda9ab40e62cdddbc31ff9802594:
BlockKuzushiGB-GameBoy
Asteroids-GameBoy

System information

macOS 10.13.6
Python 3.6.6 :: Anaconda, Inc.
0.6.1.dev36+g3305752

Possibly related: https://github.com/libretro/gambatte-libretro/pull/117

Seems likely. Unfortunately that change looks like it will break existing savestates, so be careful if you update the core.


Add quiet mode

For use in scripts, it would be nice to have a "quiet mode" (i.e that only outputs to stderr on error rather than the more verbose present style)

The CLI is already designed to be quiet.  What verbose style are you referring to?  A specific command?

I'm more referring to the typical Linux definition of quiet (i.e. only make noise if there's something wrong).
For example, you would expect az storage blob upload --no-progress to be pretty quiet, but it still blurts out content on success but all I'm really interested in is whether or not the upload was successful, which means at the moment I'm forced to > /dev/null 2>&1
Or the same with a clean-up command such as:
az storage blob delete-batch -s "${azureContainer}" --delete-snapshots include --if-unmodified-since "${timeDelta}"
I don't really care for output if the clean-up was succesful, I only want to hear about failures.

duplicate of #5667

add to S165.

We have added option --only-show-errors in #12604 to disable warnings that are written to stderr. It will be included in S167 release.


Enums get removed when merged

Enums like:
enum Direction {
                  Up = 1,
                  Down = 2,
              }

Get removed after merging. I have created a test reproducing this in my fork. Please check here.

Already fixed


Make vectors focusable and labellable

Fixes #7822
Fixes #4179

This is my initial attempt that is working. It should also play nice with #8250, but additional testing is needed.
Changes include:

Vectors rendered in SVG have a tabindex to be focusable by keyboard
Vectors rendered in Canvas have Canvas sub DOM div elements for each. These elements have their role set to graphics-symbol (same as the implicit role for SVG <path>), and tabindex making them focusable by a keyboard. When they're focused, redraw is called, and the tied canvas element is outlined. They translate keypress event to the associated vector layer leaflet object.
Path class has new option keyboard with default true similar to Marker
Path class has new option title (used as <title> in SVG, and title attribute in Canvas sub DOM), with defaults set for every subclass of a Path
Path class has new option desc to provide alternative text description of a drawn feature (used as <desc> in SVG, and aria-describedby in Canvas sub DOM).
New page in the debug that renders the same simple map with both SVG and Canvas (see on the demo)

Demo

Possible discussion
I tied canvas sub DOM elements to layer._path. layer._path is already used in SVG to store the actual path element and is returned by Path's getElement. On one hand., using _path is confusing. Still, it allows us to utilize changes for popup interaction that rely on getElement in #8250. I'll be happy to hear different opinions on the matter.

@alekzvik I have updated the initial PR description of the changes to reflect some of the latest changes and also avoid the term "shadow".

Thank you, I have also updated the demo gif to reflect changes after adding the title/description.

Areas of improvement

Popups do not open with keyboard in Canvas but work in SVG

The work on this PR is phenomenal and I highly appreciate it, however keyboard operability is quite important, do you think it should be implemented separately?

The work on this PR is phenomenal and I highly appreciate it, however keyboard operability is quite important, do you think it should be implemented separately?

I was going to suggest moving it into a separate PR, but I figured out how to do it, so it's no longer a problem.

For reviewers to test this out locally:

Go to debug/vector/simple-canvas-svg.html
Start a screen reader (if things get too noisy use ctrl to temporarily pause speech)
tab to vectors and press enter

Keep in mind https://github.com/Leaflet/Leaflet/pull/8251#pullrequestreview-985965212:

While there may be some imperfections (pointed out below), this PR does enable vector accessibility!

Hi @alekzvik,

Vectors rendered in SVG have a tabindex to be focusable by keyboard

Are these vectors always supposed to be interactive, for example, to display a popup or tooltip, or as a form field to adjust a value?
tabindex="0" is ONLY for interactive elements that need to be focusable using Tab and Shift + Tab, for example, buttons, links, form fields. (tabindex is often mis-understood and mis-used on the wrong elements.)
If the Vector needs to be available to assistive technology like screen readers, maybe it should be identified as an image?
Here is a basic example:
<svg aria-labelledby="myLabelId">
  <title>A descriptive name</title>
  ...
</svg>

Does that help?
Nick

Vectors rendered in SVG have a tabindex to be focusable by keyboard

Are these vectors always supposed to be interactive, for example, to display a popup or tooltip, or as a form field to adjust a value?
tabindex="0" is ONLY for interactive elements that need to be focusable

(Thanks for your feedback @nfreear, across multiple issues and PRs, highly appreciated!)
No these vectors are not always supposed to be interactive. The distinction between interactive and non-interactive vectors (similar to for markers: https://github.com/Leaflet/Leaflet/issues/8116) could be addressed separately, IMO.


Allow movable guild frame

As title - please do this because it sucks to have it ALL THE WAY TO THE LEFT on a super widescreen monitor.
Please... !!!!

The "Guild & Communities" window being movable broke as of 10.0.0. Support for moving this panel has been disabled until I can determine the cause.
https://github.com/nezroy/DeModal#known-issues


Migrate aws/rapids_sagemaker_higgs/sagemaker_rapids_higgs.ipynb to deployment docs

Migrate aws/rapids_sagemaker_higgs/sagemaker_rapids_higgs.ipynb to deployment docs.
See https://github.com/rapidsai/cloud-ml-examples/issues/203#issuecomment-1410349915 for detailed migration instructions.
### Tasks
- [x] Decide if notebook should be migrated and add "migrate: X" label (if no also close this issue)
- [x] Test if notebook works
- [ ] Fix up anything that needs changing
- [x] Ensure notebook has good title, description and metadata tags in the first cell
- [x] Replace deployment instructions with links to docs pages
- [x] Copy notebook into a new folder into deployment docs examples
- [x] Copy any supporting files to the folder
- [x] Add notebook to examples toctree
- [x] Make PR to deployment docs repo

I already migrated a version of this notebook for testing in https://github.com/rapidsai/deployment/pull/108. Need to go back over the checklist and ensure it is done correctly though.

I ran through the instructions and the diff with what we have from https://github.com/rapidsai/deployment/pull/108 came out the same so this is done.

Looks like https://github.com/rapidsai/cloud-ml-examples/pull/204 makes a bunch of changes to that notebook so reopening this for migration.


Add GuildManager#setFeatures

Pull Request Etiquette

[x] I have checked the PRs for upcoming features/bug fixes.
[x] I have read the contributing guidelines.

Changes

[ ] Internal code
[x] Library interface (affecting end-user code)
[ ] Documentation
[ ] Other: _____

Closes Issue: NaN
Description
This can be used to pause invites in a guild.
Example
List<String> features = new ArrayList<>(guild.getFeatures());
features.add("INVITES_DISABLED");
guild.getManager().setFeatures(features).queue();

Supposedly this is just an experiment according to https://github.com/discord/discord-api-docs/pull/5269#issuecomment-1229050375

https://github.com/discord/discord-api-docs/pull/5270 is relevant here

This is definitely the bare minimum of what we could provide to do this, but it feels.. not great.
Like, regardless of the actual implementation of how discord is representing these toggles, it feels like this should be
isInvitesPaused and setInvitesPaused(Boolean)

The relevant Discord Docs PR has been merged. Doesn't appear to be an experiment


Please add NPM package to iobroker-community-adapters:developers team

verifying all repos and NPM ownership we noticed the NPM package of this repo is not part of our team.
please execute :
npm access grant read-write iobroker-community-adapters:developers iobroker.<adaptername>
or add the package by web :
https://www.npmjs.com/settings/iobroker-community-adapters/teams/team/developers/access

problem is, no one has yet created a npm of the community version

issue open for to long without follow-up, closure


[WIP ]Feature/templates

Hey Alex. Sorry, just saw this. Hopefully you've not been waiting on me — please do go ahead and merge when ready.

Ah, have just seen the "WIP"
Also, in case you weren't aware, github added a "draft PR" feature a little while ago: https://github.blog/2019-02-14-introducing-draft-pull-requests/

@khawkins98  Thanks, I have converted it into a draft pull request.

What's the plan or timeline for merging this into master?
Just so when I'm working on the CSS changes, I'm working against the latest version.


Update fixtures for 3.5.8

cc/ @springmeyer

Coverage remained the same at 94.071% when pulling 2d74e857d342642b54216fa2a8414db2b6755a34 on update-fixtures into 2c4de98597fc61f9fc5315c656d6964b78459c86 on master.


(enh):hide settings menu on config page

we could hide the settings icon on config page, cause we have nothing to do with it on that page.

I don't agree. Settings != config.
Settings value override configs in realtime + add something on their own.
From settings you can update headaless/headful mode, set editor, etc


Add option to save file in older NBS version

Let's be honest, a new datapacks from version 3.7.0 are very heavy and due to them map is loading veeery slowly.
And if I wanted to export my song in older datapack method (like in 3.6.0) - I can't do it, because older version just crashes when opening a file from new version
I can't copy notes from one app to another either
So what if we have an option to save files in older nbs versions? (Like in MS Word with .doc saving)

Go to Preferences > Save options. :)

Well... Okay :) Thanks!
But still, I think you should move it to "Save As"

Yeah, I'm considering moving it somewhere else, it's kinda hidden in there currently. Thanks for your feedback =)

I'll reopen this and change the title so I remember to find a better place :P


I am interested in using your game on my website. Could you add a license file like the MIT one in this pull request so I know how you want your software used?

Just use as you wish :)


fix: correct default config file path for multi-module project

TRY TO RESOLVE #94 although I have no idea about the maven plugin's best practice...
Reference: https://stackoverflow.com/questions/1012402/maven2-property-that-indicates-the-parent-directory

This approache has an issue that for multi-module project that has no violation, we'll execute the check task N times where N=number of pom.xml (modules).

Sorry for not reading the maven aggregator docs carefully, so I should work on top of that branch of your commit?

I'm thinking of the proper solution. license-maven-plugin actually use an inline fixup to exclude submodules:
  private String[] buildExcludes(final LicenseSet licenseSet) {
    List<String> ex = new ArrayList<>();
    ex.addAll(asList(licenseSet.excludes));
    if (project != null && project.getModules() != null && !aggregate) {
      for (String module : project.getModules()) {
        ex.add(module + "/**");
      }
    }
    return ex.toArray(new String[ex.size()]);
  }

But if we use aggregator, we can simply guide users not to configure the plugin into multiple modules but only the root. Let me fix up #94.
And yes you can PR against #94 so that we can co-author the PR.

I make some new changes in #94 and write a dedicated README for our expected usage. You may give it a review (even after merge).


Error: [Immer] minified error nr: 4. Find the full error at: (3cXEKWf)

I know you only accept issue reports for the latest version but the version is not completely under my control. We get this error very very often in production versions of our app. But I have no clue what the error means:
Error: [Immer] minified error nr: 4. Find the full error at: (3cXEKWf)
I followed the link of course but that just leads me to a method of Immer. How can I find out why this error occurs and what we can do to mitigate the problem?

Immer version: 9.0.17

The unminified errors for your version can be found here: https://github.com/immerjs/immer/blob/v9.0.17/src/utils/errors.ts

Doh! Could have found that myself, sorry for bothering you with this.


It overrides facebook login appId with value '1309697205772819'

Current Behavior
We have Next.js web application and we use react-player with dynamic load (front side render, without SSR). We have also Facebook SDK with facebook login enabled. The issue comes out in pages where we load video using react-player. The facebook login simply get failed with message "Can't load URL":

Expected Behavior
The Facebook login should work without problems on pages where react-player used.
Steps to Reproduce

Have a simple Next.js app and use react-player (not sure but maybe with dynamic import) for playing a facbook video
Have facbook SDK with facebook login enabled
Try to login and you will get error about failure ("Can't load URL")
You can find that your Facebook appId got overridden with value<PHONE_NUMBER>772819

Environment

URL attempting to play: any Facebook video URL
Browser: any
Operating system: any

Other Information

Face this issue in my project as well. But I found out react-player allows us to override the config. Can refer to https://www.npmjs.com/package/react-player#config-prop
Sample Solution:
<ReactPlayer
  url={url}
  config={{
    facebook: {
      appId: '12345'
    }
  }}
/>


Dockerize SATP and update CBDC example on SATP

We need to Dockerize SATP for easy deployment. Should be configurable and take configuration from ENV variables.
Requirements:

Dockerize SATP server and gateway. Dockerfile should include deployments of Prometheus and Grafana servers. See example of the CBDC backend app dockerfile,  and CBDC frontend app dockerfile.

hi

👍


Add/delete new items

New functions:

add new items
delete existing items

Looks good. The only annoying issue I found is that you have to actually click on the folder / category otherwise the command will fail. I don't know if there's a way to get the active tree node vs the selected one where the command is ran. So if I right click on the category it will be sufficient.
Maybe we can review this at a later time and see if we can automatically determine  where the user wants to add the item even if a leaf is selected.

Yes, I've noticed that! You need to click on a (app) category first to add an item. I don't know how to automatically select a node in the tree when the user expands a section. One idea would be to save the parent node before get_children() is being executed and use that as reference for adding new items.
We have a similar problem for deleting multiple items: After deleting a item, one has to click on the next item, even though it looks like it has been selected.