About the scale of width

https://github.com/dougsm/ggcnn_kinova_grasping/blob/06cc26eaec11a3867f5ff07efe46cdc7b8f10679/ggcnn_kinova_grasping/scripts/run_ggcnn.py#L157
Hi, thank you for sharing your code. I have been tinkering with your ggcnn for a few days and trained a few variants. I tested them on a Baxter Simulator in Gazebo and used a custom pick place pipeline.
I have a question about how the scale of width is dealt with here though. The input of the network is a 300300 image resized from a 400400 image. I can see that you have transformed the grasp point for this cropping and resizing, but it seems the width hasn't been resized accordingly, for example being multiplied by 400.0/300.0 because the output width corresponds to the 300*300 image.

Hi,
I noticed the same thing. To convert the width back to original image coordinates (640 x 480) we should scale it by 400/300 correct?

Hey @cyrilli and @manuelli
Yeah, you're right. Thanks for pointing that out.  I'll make sure it gets updated.

Thank you! I will close this issue then.


add(docs): clarification on setup locally md

Clarification to running commands through the root directory freeCodeCamp.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Closes #XXXXX

Hi @coreytan00 thanks for the PR. We need to draw a line between adding too much information and just enough information. IMHO, sometimes too much information is always confusing.
It rather alright to ask questions and learn while working on the project. This particular addition seems like too much information to me.


The language of this extension does not change

My OS (Windows) language is English.
But my Firefox language is Persian.
The language of this extension does not change to Persian :(

Recently I added the Persian language to this file:
https://github.com/Webb-L/ProxyExtensionFirefox/blob/master/js/language.js
I even changed the language of Firefox to Chinese, but the language of the extension is still English!

My OS (Windows) language is English. But my Firefox language is Persian. The language of this extension does not change to Persian :(

Recently I added the Persian language to this file: https://github.com/Webb-L/ProxyExtensionFirefox/blob/master/js/language.js I even changed the language of Firefox to Chinese, but the language of the extension is still English!

You can open a page randomly with your browser, press F12 and enter "navigator.language" on the console to see if it is the language of the system.

The "navigator.language" is "en-US" for me :(

But other extension working fine, for example:
1. Enhancer For YouTube
https://addons.mozilla.org/en-CA/firefox/addon/enhancer-for-youtube/

2. Dark Reader
https://addons.mozilla.org/en-CA/firefox/addon/darkreader/

3. uBlock Origin
https://addons.mozilla.org/en-CA/firefox/addon/ublock-origin/

Now I using ProxyExtension v1.0.9
My Firefox language is Persian but the extension language is English.

@xmha97
Please input it according to the steps of my video, and then tell me the results.
browser.i18n.getUILanguage()
https://user-images.githubusercontent.com/57182600/154940384-413cb129-e2b3-4fac-8e2e-63c4bd0c59f2.mp4

browser.i18n.getUILanguage() -> fa

@xmha97
I updated the code of this problem, you clone it to your local, and then use web-ext run to see if the problem is fixed.
web-ext:https://extensionworkshop.com/documentation/develop/getting-started-with-web-ext/

Thanks, now it works fine,

I installed the latest version of this extension,
My browser language is English but the extension language is Persian.

I installed the latest version of this extension, My browser language is English but the extension language is Persian.

The code causing this problem is at the bottom of the https://github.com/Webb-L/ProxyExtensionFirefox/blob/master/js/language.js

I store the data obtained by these three functions together, and then judge whether the language exists through the loop, and use the language if it exists.
Your problem is that the persian is at the beginning of the array.
Your problem is not a problem on my device.
https://user-images.githubusercontent.com/57182600/157152876-24993886-7dbc-47c6-a89e-a8766412cbc5.mp4


Sequence Tutorial for Pilz Industrial Motion Planner

Description
I am looking for Sequence Tutorial for Pilz Industrial Motion Planner in MoveIt 2.
Your environment

ROS Distro: Humble
OS Version: Ubuntu 22.04
Source or Binary build: Source

Additional Info
Below is the code snippet showing sequence tutorial  in Python for ROS Melodic:
    # Repeat the previous steps with a sequence command
    sequence = Sequence()
    sequence.append(Lin(goal=Pose(position=Point(0.2, 0, 0.8)), vel_scale=0.1, acc_scale=0.1))
    sequence.append(Circ(goal=Pose(position=Point(0.2, -0.2, 0.8)), center=Point(0.1, -0.1, 0.8), acc_scale=0.1))
    sequence.append(Ptp(goal=pose_after_relative, vel_scale=0.2))

    r.move(sequence)

    # Move to start goal for sequence demonstration
    r.move(Ptp(goal=start_joint_values))

    # Blend sequence
    blend_sequence = Sequence()
    blend_sequence.append(Lin(goal=Pose(position=Point(0.2, 0, 0.7)), acc_scale=0.05), blend_radius=0.01)
    blend_sequence.append(Lin(goal=Pose(position=Point(0.2, 0.1, 0.7)), acc_scale=0.05))

    r.move(blend_sequence)

Source:  https://docs.ros.org/en/melodic/api/pilz_robot_programming/html/

I don't think this part of the tutorial has been ported over, so you're welcome to give it a shot! I'd suggest looking at the integration test in the moveit2 repo that does a sequence with Pilz:
https://github.com/ros-planning/moveit2/blob/main/moveit_planners/pilz_industrial_motion_planner/test/integration_tests/src/integrationtest_sequence_action.cpp

@ravijo Did you able to implement it?. Can you give me a hint?

We had someone recently contribute this tutorial, and the PR is a few small comments away from being merged!
https://github.com/moveit/moveit2_tutorials/pull/917

Thanks for the update @sea-bass


Add context to long-form note replies

I replied to https://habla.news/verbiricha/splits on Habla.news
But my kind 1 note appeared on Coracle without context. It's confusing!

Please show that it was a reply to an article! We chatted about this not long ago @staab

Thanks, this will be fixed in the next release.


Wrong movement number after setting a position via FEN

When setting a position via FEN, as in:
var chess = new Chess();
chess.load('4r3/8/2p2PPk/1p6/pP2p1R1/P1B5/2P2K2/3r4 w - - 1 45');
and then added some moves like for example:
chess.move('f7')
the string returnd by method .pgn should read something like
chess.pgn()   -> [.. FEN ...] 45. f7
instead of
chess.pgn()   -> [.. FEN ...] 1. f7  *** Current value returned ***
since the original FEN indicated that next move was 45 and not 1.

Fixed in master


GlusterFS server nodes do not come up correctly after reboot

As documented in 179ed27, GlusterFS server nodes are not reboot-proof and have to be started separately after the boot is finished.
Conversation on the gluster-users mailing list that will hopefully lead to a resolution of this ticket: http://www.gluster.org/pipermail/gluster-users/2015-December/024514.html

If there are any experienced Gluster users reading this, I'd love some help in debugging this more. Please leave a comment here and we'll get in touch.

If you're up for paid GlusterFS assistance, there are places who can help:
    http://www.gluster.org/consultants/
:smile:

I believe the pull request I just made covers this.  https://github.com/CiscoCloud/microservices-infrastructure/pull/952
I was referencing bug 872 but it seems to fix the problems for me.  In the convo above.. they are using consul.  So it could be the same circular dependency between the two unit files as discussed in my pull request.
There is another issue as well in that the default sudoers file requires that you have a tty and so the gluster health check is failing.   Just a heads up that if you use the pull, people might have trouble since it is dependent on consul seeing a healthy gluster before serving out glusterd.service.consul.
I need to search the existing issues to see if its already here and then I'll add it.

Didn't see the issue so created one.  https://github.com/CiscoCloud/microservices-infrastructure/issues/953  I think this might also be part of some peoples problem with glusterfs on centos 7.1 with consul as discussed here.

There are many issues like "XXX does not survive a reboot". Maybe the CI environment should run the ansible playbook "reboot-hosts.yml" after provisioning, to verify that everything survived the reboot?

I believe we can close it, as well as #872
Also it part of wider problem, we need to depend our boot units against consul+dnsmasq, but also it require  _working- consul (iow -- seeing peers, and elected leader), not just started one

fixed by #928. @avnik can you open a new issue in the backlog for the wider problem?


improve error messages for absent/invalid schema path

The error messages for passing a path without a file present or for passing a string path (rather than a Pathlib object) to EventLogger#register_event_schema() were very obtuse. This PR addresses that and improves error output for both cases. Also:

updates documentation to specify that users must pass a Pathlib object to register_event_schema().
improve error catching and handling _load_schema(). adds new exceptions

raises exception when user loads un-deserializable (is there a better adjective for this?) schema file via passing a PurePath. This was previously uncaught by EventLogger, and was caught by JSON validator farther downstream instead.

sets pre-commit node version to system
adds docs link to README

Before
Passing a path without a file:
dev-dsk-dlq-2b-55651109 % jupyter events validate asdf.txt
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Validating the following schema ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Traceback (most recent call last):
  File "/workplace/dlq/jupyter_events/jupyter_events/cli.py", line 39, in validate
    _schema = EventSchema._load_schema(schema)
  File "/workplace/dlq/jupyter_events/jupyter_events/schema.py", line 66, in _load_schema
    raise EventSchemaLoadingError(
jupyter_events.schema.EventSchemaLoadingError: When deserializing `schema`, we expected a dictionary to be returned but a <class 'str'> was returned instead. Double check the `schema` to make sure it is in the proper form.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/dlq/anaconda3/envs/jserver-dev/bin/jupyter-events", line 8, in <module>
    sys.exit(main())
  File "/home/dlq/anaconda3/envs/jserver-dev/lib/python3.9/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/home/dlq/anaconda3/envs/jserver-dev/lib/python3.9/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/home/dlq/anaconda3/envs/jserver-dev/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/dlq/anaconda3/envs/jserver-dev/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/dlq/anaconda3/envs/jserver-dev/lib/python3.9/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/workplace/dlq/jupyter_events/jupyter_events/cli.py", line 42, in validate
    _schema = EventSchema._load_schema(schema_path)
  File "/workplace/dlq/jupyter_events/jupyter_events/schema.py", line 74, in _load_schema
    _schema = yaml.load(schema)
  File "/workplace/dlq/jupyter_events/jupyter_events/yaml.py", line 23, in load
    data = pathlib.Path(str(fpath)).read_text()
  File "/home/dlq/anaconda3/envs/jserver-dev/lib/python3.9/pathlib.py", line 1266, in read_text
    with self.open(mode='r', encoding=encoding, errors=errors) as f:
  File "/home/dlq/anaconda3/envs/jserver-dev/lib/python3.9/pathlib.py", line 1252, in open
    return io.open(self, mode, buffering, encoding, errors, newline,
  File "/home/dlq/anaconda3/envs/jserver-dev/lib/python3.9/pathlib.py", line 1120, in _opener
    return self._accessor.open(self, flags, mode)
FileNotFoundError: [Errno 2] No such file or directory: 'asdf.txt'

Passing a string path to EventLogger#register_event_schema():
>>> logger = EventLogger()
>>> logger.register_event_schema("test_schema.json")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/workplace/dlq/jupyter_events/jupyter_events/logger.py", line 134, in register_event_schema
    event_schema = self.schemas.register(schema)
  File "/workplace/dlq/jupyter_events/jupyter_events/schema_registry.py", line 42, in register
    schema = EventSchema(schema)
  File "/workplace/dlq/jupyter_events/jupyter_events/schema.py", line 44, in __init__
    _schema = self._load_schema(schema)
  File "/workplace/dlq/jupyter_events/jupyter_events/schema.py", line 66, in _load_schema
    raise EventSchemaLoadingError(
jupyter_events.schema.EventSchemaLoadingError: When deserializing `schema`, we expected a dictionary to be returned but a <class 'str'> was returned instead. Double check the `schema` to make sure it is in the proper form.

After
Passing a path without a file:
dev-dsk-dlq-2b-55651109 % jupyter events validate asdf.txt
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── Validating the following schema ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[20:30:04] ERROR: File not present at path "asdf.txt".

Passing a string path to EventLogger#register_event_schema():
>>> from jupyter_events import EventLogger
>>> logger = EventLogger()
>>> logger.register_event_schema("test_schema.json")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/workplace/dlq/jupyter_events/jupyter_events/logger.py", line 134, in register_event_schema
    event_schema = self.schemas.register(schema)
  File "/workplace/dlq/jupyter_events/jupyter_events/schema_registry.py", line 42, in register
    schema = EventSchema(schema)
  File "/workplace/dlq/jupyter_events/jupyter_events/schema.py", line 49, in __init__
    _schema = self._load_schema(schema)
  File "/workplace/dlq/jupyter_events/jupyter_events/schema.py", line 105, in _load_schema
    EventSchema._ensure_yaml_loaded(loaded_schema)
  File "/workplace/dlq/jupyter_events/jupyter_events/schema.py", line 74, in _ensure_yaml_loaded
    raise EventSchemaLoadingError(error_msg)
jupyter_events.schema.EventSchemaLoadingError: Could not deserialize schema into a dictionary. Paths to schema files must be explicitly wrapped in a Pathlib object.

Notes
For some reason, pre-commit keeps failing my code while also not making any changes. Not sure if this will block the pipeline, so leaving a note here just in case.
(22-08-31 19:29:18) <1> [/workplace/dlq/jupyter_events]
dev-dsk-dlq-2b-55651109 % pre-commit
fix end of files.........................................................Passed
check for case conflicts.................................................Passed
check that executables have shebangs.................(no files to check)Skipped
fix requirements.txt.................................(no files to check)Skipped
check for added large files..............................................Passed
check for case conflicts.................................................Passed
check toml...........................................(no files to check)Skipped
check yaml...............................................................Passed
debug statements (python)................................................Passed
forbid new submodules................................(no files to check)Skipped
check builtin type constructor use.......................................Passed
trim trailing whitespace.................................................Passed
black....................................................................Failed
- hook id: black
- files were modified by this hook

reformatted jupyter_events/cli.py
reformatted tests/test_schema.py

All done! ✨ 🍰 ✨
2 files reformatted, 2 files left unchanged.

isort....................................................................Failed
- hook id: isort
- files were modified by this hook

Fixing /workplace/dlq/jupyter_events/jupyter_events/cli.py
Fixing /workplace/dlq/jupyter_events/tests/test_schema.py

mypy.....................................................................Passed
prettier.................................................................Passed
pyupgrade................................................................Passed

Precommit is still failing. Would like some help here, since this error is pretty opaque and I have no idea what's causing it.

You'll likely need to run pre-commit on these files locally. The "Contributing" docs in Jupyter Server describe this better: https://github.com/jupyter-server/jupyter_server/blob/main/CONTRIBUTING.rst#code-styling
We should probably add similar docs here.

Thanks, @dlqqq!


AccessViolation when attempting to set a texture to Default.Material.Copy()

I noticed this in a project I'm working on; if I take a copy of the default material for a mesh, then attempt to set a texture to that material, it ends in an AccessViolationException. If I don't copy the material everything is fine, except all the models in my scene inherit that texture.
Here's some code that you can drop into your test project to repro:
public class DemoTextureCrash : IDemo
{
    private Model _Model;

    public void Initialize()
    {
        _Model = Model.FromMesh(Mesh.GenerateCylinder(10, 1, Vec3.Up), Default.Material.Copy());
    }

    public void Shutdown()
    {

    }

    private bool _DoOnce;

    public void Update()
    {
        if (!_DoOnce)
        {
            var mat = _Model.GetMaterial(0);
            mat.SetTexture("diffuse", Tex.FromFile("Floor.png"));

            _DoOnce = true;
        }

        _Model.Draw(Matrix.T(Vec3.Zero));
    }
}

The exception is on this line in render.cpp during a call to Step:
d3d_context->VSSetShader(shader->vshader, nullptr, 0)

Alright! Thanks, I'll take a look at this :)

Thanks for the repro, that was quite helpful! :) Fix is in develop, and I'll probably push a new NuGet build later this weekend.
GetMaterial creates a new Material class to wrap the native pointer, and removes a reference counter in its destructor. But the GetMaterial function wasn't properly adding a reference! This resulted in the Model referencing a totally destroyed Material instance.


[IPU] Make sure revoked is emitted

Issue
Closes #79 .
Solution

[x] add utest(s) for IPU event
[x] return an empty dict if in relation-broken event instead of looking into relation data, which may be out of date.

Context

self.ingress.url was returning old (non-falsey) value even after relation and/or app was removed.
Seems like relation data is not emptied out even when looking from within a relation broken event. This may be a juju feature rather than a bug though/

@PietroPasotti I am having trouble with the utest but I'm not sure if it's because of a test bug, lib bug or harness behavior:
The relation is removed with harness, but "removed" is always blank:
INFO     root:ingress_per_unit.py:689 unit: ipu-requirer/0, event: RelationCreatedEvent. removed: set(); changed: set()
INFO     root:ingress_per_unit.py:689 unit: ipu-requirer/0, event: RelationJoinedEvent. removed: set(); changed: set()
INFO     root:ingress_per_unit.py:689 unit: ipu-requirer/0, event: RelationChangedEvent. removed: set(); changed: {'ipu-requirer/0'}
INFO     root:ingress_per_unit.py:689 unit: ipu-requirer/0, event: RelationChangedEvent. removed: set(); changed: set()
INFO     root:ingress_per_unit.py:689 unit: ipu-requirer/0, event: RelationBrokenEvent. removed: set(); changed: set()

and revoke doesn't fire.

{} if isinstance(event, BrokenEvent) per @PietroPasotti's suggestion fixed the utest.

@sed-i it seems I didn't pay enough attention while reviewing, or actually, that some changes slipped in that I didn't have a chance to review as they came in after I approved: https://github.com/canonical/traefik-k8s-operator/pull/80/commits/ce32bd3d17f9166f5ef228da7dee58cbb870ed5b
either way, there's a problem with these changes:

we renamed urls to _get_urls_from_relation_data, which shouldn't really be a property anymore.
we replaced urls with a function that loads in the urls from stored data, which changes some of the semantics of what's going on, enough to break integration tests in traefik-route. So that's a backwards-incompatible change!

we renamed urls to _get_urls_from_relation_data, which shouldn't really be a property anymore.

Agreed. I noticed that later too. In the IPA PR it is not a property.

we replaced urls with a function that loads in the urls from stored data... break integration tests

Hmm. The change itself still seems correct to me logically. Can you post the link to the failing test? I'm curious.

It wasn't a CI failure, it was local, so no links, but essentially what happened was:
I was writing a tester charm to represent an ingress-requiring-charm like:
class MyCharm(CharmBase):
    def __init__...
        self.unit.status=Blocked()
        ingress = IPURequirer()
        if ingress.is_ready(ingress.relation):
            self.unit.status=Active()

This test was passing before this PR got merged.
reason: is_ready() basically checks if bool(urls).
before this PR, urls would fetch the data in real time from the relation.
after this PR, urls is cached and only contains data if we are processing some events.
However, events are processed AFTER the charm is initialized, so at charm-init-time, that branch wouldn't be selected.
Took me a long time to figure that one out :)
Guess I learned to write charms always 'the proper way', even though it's just a tester charm.

Interesting. I wonder why at charm init time the old url would be non-false-y. And if indeed it was, then was it a mistake?


Show selected item when page initialized

Is it possible in this package dropdown automatically shows selected item when page initialized. Of course the selected item is based on their items.
I've try re-read the documentation, i still didn't found any params who gave me that function (or i just missed?).
Thank you for your great works!

Are you looking for valueListenable?

Are you looking for valueListenable?

It's 404 not found.
But, is valueListenable can initialize selected item? if you don't mind, can you show me how to use it?

Check examples at https://pub.dev/packages/dropdown_button2/versions/3.0.0-beta.13

Check examples at https://pub.dev/packages/dropdown_button2/versions/3.0.0-beta.13

Pardon me, in that examples, i saw valueListenable function triggered only when onChanged condition, It means i should do select an item first then the values & UI will update.
My question is, is it possible dropdown automatically select an item without manually open dropdown button (value initialized when page onInit)

https://pub.dev/packages/dropdown_button2/versions/3.0.0-beta.13

You can pass the initialValue, i.e:
final List<String> items = [
  'Item1',
  'Item2',
  'Item3',
  'Item4',
];
final valueListenable = ValueNotifier<String?>('Item1');

Item1 will be initially selected.

https://pub.dev/packages/dropdown_button2/versions/3.0.0-beta.13

You can pass the initialValue, i.e:
final List<String> items = [
  'Item1',
  'Item2',
  'Item3',
  'Item4',
];
final valueListenable = ValueNotifier<String?>('Item1');

Item1 will be initially selected.

Ah I see. Your answer help me a bit, i will try with my condition.
Thanks a lot, really appreciate your awesome works!


save a file of .glb with .bin buffer embed after json?

Does this project support?I could not find yet.
If not, I consider implement it.

Not yet. Currently tinygltf save .bin to a separated file or serialize it to BASE64 string when saving a model as .glb.

If not, I consider implement it.

Awesome! PR is always welcome.

Have you worked on this? If not I might take a look. My first target use for tinygltf is model writer for some existing model handling code of mine.
Couple of questions / opinion-requests?
API-wise it looks like that we could either add an extra parameter to WriteGltfSceneToStream/File which would create the embedded buffer to .glb save or we could just change the behavior so that the BIN buffer is always added to binary saves.
I guess data for the .bin buffer should come from what ever is the data in the first buffer of the Scene
(especially if there is no file URL related to the buffer?)
After some consideration, for maximum backwards compatibility, I would add an extra parameter flag, which would create the BIN block for binary writes from the first buffer, if it is not bound to an external URI.
comments?
Eero

Have you worked on this? If not I might take a look.

@epajarre Awesome!  No one is not working on this yet, so your help is appreciated.

API-wise it looks like that we could either add an extra parameter to WriteGltfSceneToStream/File

WriteGltfSceneToStream/File now has many default arguments. It would be better to introduce SetSerializeOption() or similar method to TinyGLTF class to control serialization flags.

I guess data for the .bin buffer should come from what ever is the data in the first buffer of the Scene

https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#glb-file-format-specification
Currently, bin data is saved as separate .bin, or embed to .gltf as BASE64 string(SerializeGltfBufferData)
We'll need to implement  .glb + embede bin version of SerializeGltfBuffer(concatenate all buffer binary to single blob, calculate offsets to blob for buffer, ...) and use it here: https://github.com/syoyo/tinygltf/blob/master/tiny_gltf.h#L7305

I forked the repo for testing purposes, and I will see how it works out.
I think that at least first, I will not be concatenating the buffers,  while doing the save, just save the first buffer as the binary blob. The concatenation also involves adjusting the related bufferviews so maybe it could be a separate operation? Also existing .glb files are already adjusted to use only one "internal buffer". So rewriting then out will need no fixup.

I have a work in progress version in https://github.com/epajarre/tinygltf/tree/glb-bin-blob
which "seems to work in my personal test case", which is a program building an gltf model from scratch.
The branch contains two non related commits, which I did while working on my test case, I am not too fluent with the github flow, in any case it is possible to separate the directly bin-blob related code,

I have a work in progress version in https://github.com/epajarre/tinygltf/tree/glb-bin-blob
which "seems to work in my personal test case

Awesome!

Also existing .glb files are already adjusted to use only one "internal buffer". So rewriting then out will need no fixup.

I see. so no fixup required(no buffer info modification required in JSON part) when embedding .bin to .glb.

@epajarre I have glimpsed the code and it looks perfect, so could you please send it as Pull Req?

I can send  a pull request, but if I wait till tomorrow, I might be able to add/do some more testing
OK?
.

OK?

@epajarre Absolutely yes. adding/doing more tests is appreciated.

Unfortunately it looks like that testing is more difficult than I had hoped. Going a round trip from from .glb file into memory and then back does not work as I expected. At least one problem is that tinygltf will unpack the texture images into memory, even in case they were in bufferViews originally.  As my current .glb writer does not recreate the bin buffer on output, the textures will end into different implementation, either as external files or as data URI
The gltf-validator does not really like data URI with the GLB container, it also notices that the original images in the BIN data block become unused. Neither of these are actual errors, I think but certainly problems.
I will open the pull-request in any case, use it if you want. I will probably try some other cases with my original workflow which creates the GLtf model inside a program directly.

At least one problem is that tinygltf will unpack the texture images into memory

For Image, you can provide your own custom ImageLoader  and set as_is flag true to indicate thatImage.image has original byte data from .glb/.gltf file.
https://github.com/syoyo/tinygltf/blob/master/tiny_gltf.h#L648

I will open the pull-request in any case,

Thanks. it has been merged > https://github.com/syoyo/tinygltf/pull/226
https://github.com/syoyo/tinygltf/blob/master/tiny_gltf.h#L648


Fix spelling issues

Hello
I found several spelling issues in your docs.
Hope it helps.
Br, Elias.

Internal previews

📄 File
🔗 Preview link

aspnetcore/blazor/components/index.md
ASP.NET Core Razor components

aspnetcore/blazor/components/js-spa-frameworks.md
Use Razor components in JavaScript apps and SPA frameworks

aspnetcore/blazor/components/layouts.md
ASP.NET Core Blazor layouts

aspnetcore/blazor/components/lifecycle.md
ASP.NET Core Razor component lifecycle

@nnsW3 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@dotnet-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@dotnet-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@dotnet-policy-service agree company="Microsoft"

Contributor License Agreement

@dotnet-policy-service agree

@nnsW3 ... Are you planning to add more proposed changes?

@nnsW3 ... Are you planning to add more proposed changes? If not, I'll merge this now.

that's all


[Administration module] Feature configurations per-server/per-channel

Some servers may want to disable certain features (such as hentai), so make it a possibility. As nothing exists from the theoretical administration module today, this will involve some brainstorming to come up with something future proof.

Blocked by #54 in order to be able to write clean code.


Optimize for reading large file?

I have a 30MB size excel，it contains 50000+ rows。
After it unziped, the xl/worksheets/sheet1.xml is about 330MB, so while reading it, a lot of memory are used.It's any idea to optimize it?

The column and row iterator read data as streaming, it will use lower memory than GetRows.

In my case，just call OpenFile and Cols method using 700MB.I found file.XLSX hold the raw data in memory, so it take space when reading.
But read data as streaming is better than GetRows,thanks.

老哥，我也遇到了一样的问题，我一个170m，大约200w行的数据，读取的时候居然占用我接近2g的内存，能优化下不，用那个rows迭代器读的
Showing nodes accounting for 1916.15MB, 99.58% of 1924.18MB total
Dropped 30 nodes (cum <= 9.62MB)
Showing top 10 nodes out of 20
flat  flat%   sum%        cum   cum%
1336.30MB 69.45% 69.45%  1336.30MB 69.45%  github.com/360EntSecGroup-Skylar/excelize/v2.readFile
346.17MB 17.99% 87.44%   515.17MB 26.77%  github.com/360EntSecGroup-Skylar/excelize/v2.rowXMLHandler
145.50MB  7.56% 95.00%   145.50MB  7.56%  encoding/xml.copyValue

Hi @yqylovy, @ywtGGG , I have improved the streaming reader performance for the rows iterator, memory usage decrease by about 93.7%. Please upgrade to the master branch code. This is a breaking change, the user should be close the stream after using the row's iterator, and close the spreadsheet after opening an existing spreadsheet like this:
package main

import (
    "fmt"

    "github.com/xuri/excelize/v2"
)

func main() {
    f, err := excelize.OpenFile("Book1.xlsx")
    if err != nil {
        fmt.Println(err)
        return
    }
    rows, err := f.Rows("Sheet1")
    if err != nil {
        fmt.Println(err)
        return
    }
    for rows.Next() {
        row, err := rows.Columns()
        if err != nil {
            fmt.Println(err)
        }
        for _, colCell := range row {
            fmt.Print(colCell, "\t")
        }
        fmt.Println()
    }
    // Close the stream
    if err = rows.Close(); err != nil {
        fmt.Println(err)
    }
    // Close the workbook
    if err := f.Close(); err != nil {
        fmt.Println(err)
    }
}

The cell data was stored row by row in the worksheet so that the columns iterator with backtracking required was different from the rows iterator.

看到也是构建decoder来迭代，具体不同体现在哪呢？如果改成 f.xmlDecoder(name) 是仅仅影响性能，还是会有功能方面的影响？


wrapf documentation inconsistent with its behavior

Godot version
3.x (d51fc369b732c662ebfa911a7a4d1bf7a10ea66b)
System information
Any
Issue description
This was reported on Weblate against the 3.x docs, but it's likely the same in master (didn't test but the code and docs are the same).
The wrapf documentation gives this example:
# Infinite loop between 5.0 and 9.9
value = wrapf(value + 0.1, 5.0, 10.0)

But if you run this code with e.g.:
var value = 0

func _process(_delta):
    value = wrapf(value + 0.1, 5.0, 10.0)
    print(value)

It prints:
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
6
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
7
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
8
8.1
8.2
8.3
8.4
8.5
8.6
8.7
8.8
8.9
9
9.1
9.2
9.3
9.4
9.5
9.6
9.7
9.8
9.9
10
5.1
5.2
5.3

So it seems to wrap between 5.1 and 10.0.
Either the docs or the implementation are wrong.
Steps to reproduce
See above.
Minimal reproduction project
See above.

(Confirmed in 4.0) I think it's a bug in the implementation ^^.


Change http port and offer non-automatic SSL option.

Some users have had issues with automatic SSL cert generation failing. We use certbot/letsencrypt in the "standalone" mode to get certs (https://www.digitalocean.com/community/tutorials/how-to-use-certbot-standalone-mode-to-retrieve-let-s-encrypt-ssl-certificates), which validates the cert by accessing your server on either port 443 or 80.
The ability to use 443 was recently removed due to a security issue: https://community.letsencrypt.org/t/important-what-you-need-to-know-about-tls-sni-validation-issues/50811. Port 80 doesn't work for us either because we are currently exposing the nginx container's port 80 as port 8055 on the host, therefore cert cannot be generated.

Also, some users don't have their server on a publicly accessible domain but would still like to use the docker install.

This PR changes the port for http from 8055 back to 80, which makes certbot/letsencrypt work again (tested on my VPS). The nginx config is already set up to redirect all traffic on 80 to https, except for traffic coming from localhost. I'd still like somebody else to review the nginx config and see if there's any security implication since it's now more likely http will be exposed, but it seemed OK to me.
This PR also provides an option via a switch in docker-compose.yml for providing your own SSL cert in a docker attached volume instead of using automatic cert generation. I also provided an option "none" for no SSL cert which only allows access from localhost but could be useful for evaluation / testing / etc, but I'm undecided on whether that's ultimately useful or should be left out.

@mofesola might you have any comment on the proposed changes?

 Or do you need to do fancy kubernetes stuff?


User dialog sizing changes and hides buttons when changing user/auth type

Azure Data Studio Version: main

Steps to Reproduce:

Open user dialog
Change user and auth types drop-downs

Expected: Dialog always has enough vertical space for all the controls
Actual: OK and other buttons are not visible

I don't see this anymore.  I think I was looking in the wrong place.


import from cloud storage

Suggested by @rabernat.
Instead of importing from a local NetCDF file it would be good to read in a file from Cloud storage using the url.

@rabernat could you please provide a demo url?


Multi deployment: Blocks on first replica if other replica fails to start

Hi Maintainers,
I found this one issue and just leaving it here as a note for future developers and if someone else stumbles upon this. Please free to close this
When doing waver multi deploy , the entire deployment blocks on the first replica if second replica is on a blocking state due to any error and logs from second replica are not propagated to stdout , making it hard to debug since as a developer I am stuck with a blocked deployment and no logs from my failing replicas.
I am not sure but maybe a potential solution could be to always collect and report logs from all replicas in a polling manner ?

@flouthoc, can you elaborate on this? You deployed an app with weaver multi. However, one of the replica is not able to start, hence nothing works?
Can you show an example app that triggers this issue?

@rgrandl My current application is in a bit complicated state to open-source, but sure I can try creating a minimal reproducer and report back here.
Once the issue is acknowledged as generally reproduce-able I can take a stab at fixing the issue as well.


About

This is the about us page outline. We will not merge anything to master until it is confirmed as working and has final approval of all of our group. We will merge into beta first and when everything is a "GO" we will merge into master with the final product. There will understandably be multiple branches and some merge conflicts which we will resolve together.
Looking forward to the finished product team!

Reviewed PR . good for beta.


Babel already installed as compiler

https://facebook.github.io/react-native/docs/javascript-environment.html#javascript-syntax-transformers

@robmoorman this issue provides simply a link. please reopen if you care to provide more information


AMP-68175: add identify volume reduction in Android doc

Amplitude Developer Docs PR
Description

add identify volume reduction in developer doc

Deadline
Change type

[ ] Doc bug fix. Fixes #AMP-68175. Amplitude contributors include Jira issue number.
[x] Doc update.
[ ] New documentation.
[ ] Non-documentation related fix or update.

PR checklist:

[x] My documentation follows the style guidelines of this project.
[x] I previewed my documentation on a local server using mkdocs serve.
[x] Running mkdocs serve didn't generate any failures.
[x] I have performed a self-review of my own documentation.

@amplitude-dev-docs

Looks good. Since we have the configuration pr. Should we also include identifyBatchIntervalMillis in the configuration table after that pr get merged?


docs: fix copy emoji code from emoji search page

🙋 Documentation Request
On the page: https://www.fluentui-blazor.net/Emoji if you search for a specific entry, the feature to copy an emoji component declaration (clicking the clipboard icon) returns invalid code.
The value given is:
<FluentEmoji Value="@(new Emojis.TravelPlaces.Color.Default.Rocket())" Width="32px" />
( docs site version Version: 3.2.0+4ee85830b3f758cc3dc0ce1830affaad9f89511d  )
💁 Possible Solution
This should read:
<FluentEmoji Emoji=Emojis.TravelPlaces.Color.Default.Rocket Width="32px" />
Edit: The icon page ( https://www.fluentui-blazor.net/Icon ) behaves in the same way.

Hi
The Emoji and Icon components use the same logic. And as we explained in the Icon doc page...
" During the DotNet Publication process, the unused icons are automatically removed from the final library. You can configure this behavior by setting the ´PublishTrimmed´ property in your project file.
So, we recommend always using the ´Value´ property to specify the icon to be rendered (and not the Icon property). This ensures that the icon is not deleted from the final library. "
For same reasons, it's always better to use ´Value' attribute for Emoji.

Ah, I see. I started from the emoji page and did not see the icon discussion regarding the Value parameter. And for some reason my test page gave me an error when I used hot reload after pasting in the generated component - but now it does not and I cannot reproduce that. False alarm... Perhaps just copy that publication / trimming warning over on the emoji page.
Thanks! I'm liking the components/setup very much so far (i'm totally new if you can't tell - heh)

No worries. But yes that should be interesting to include this same remark on this page.


Implement check_exc wrapper for PR 161 code-review follow-up #176 (abandoned)

Following up on
https://github.com/TileDB-Inc/TileDB-Cloud-Py/pull/161#discussion_r701256813
for CH7290
Note: replaced by https://github.com/TileDB-Inc/TileDB-Cloud-Py/pull/176 for clean rebase.

@thetorpedodog ready for round two! :)

Replaced by https://github.com/TileDB-Inc/TileDB-Cloud-Py/pull/176 for clean rebase.


Need help

I managed to make it run but i cannot bypass the alpha token requirement. Can you please tell me what version i should use.
Thanks.

how can you change network bro


add guides and other base files

add a contribution guide and .gitignore, also a README

add base files


@keystone-alpha/apollo-helpers - roadmap?

is this still on roadmap? I don't see any usage with any demo. possibly needed to drop it from packages.

It's been discussed. It might move out of the mono-repo eventually as it's not closely tied to Keystone (I think in theory it could be used without it). Decision was to leave it alone for now 😆 It's doing no harm and we have enough other things to focus on 👍


long stream for single session subjects in long studies

Longitudinal stream should be run for subjects with only one session in a longitudinal study, as they might be used in long stats (http://www.mail-archive.com/freesurfer@nmr.mgh.harvard.edu/msg25700.html).

Ok this seems reasonable, but to be truly robust we should also check if the dataset is longitudinal. In other words the longitudinal stream should be only run if there is at least one subject in the dataset that has least two sessions with at least one T1 per session.

Ok.
Now we check if longitudinal t1w data is available - if not, performs cross sectional stream only.

Am 18.12.2016 um 19:15 schrieb Chris Filo Gorgolewski<EMAIL_ADDRESS>Ok this seems reasonable, but to be truly robust we should also check if the dataset is longitudinal. In other words the longitudinal stream should be only run if there is at least one subject in the dataset that has least two sessions with at least one T1 per session.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/BIDS-Apps/freesurfer/pull/4#issuecomment-267836838, or mute the thread https://github.com/notifications/unsubscribe-auth/AFgWCznpD0S6oFsAN1TEQbyDhZdrT9HFks5rJXg2gaJpZM4LQFuL.

Thanks!


Docs improvements

Some small docs improvements. Still not everything solved, but it's a step.

@maierbn when reviewing this, it's maybe best to go through it commit by commit, as they are quite independent.


Enable the jemalloc option --disable-cache-oblivious

Inspired an Redis release notice, I add a two options for optimize jmalloc usages:

disable-tcache - Disable thread-specific caches for small objects.  Objects are cached and  released in bulk, thus reducing the total number of mutex operations.
disable-cache-oblivious - Disable cache-oblivious large allocation alignment for large allocation requests with no alignment constraints.  If this feature is disabled, all large allocations are page-aligned as an implementation artifact, which can severely harm CPU cache utilization. For more info, please see a conversations in Redis - https://github.com/redis/redis/pull/12315 where this options are available started at 7.3-rc2.

I think we should testing rather than copying the config from Redis. Redis store all parts in memory, and has too many small objects, like sds, skiplist node and so on. So small object would be a severe problem for it.
However, kvrocks stores these objects on a log-structure merge tree, and data is organized as sst/blocks. I guess there would be something different.

In my quick tests, these changes brought a slight improvement in terms of better freeing up memory when kvroks is idle.

@aleksraiden Could you paste your test result here?

I haven't a clear env, but overall, if I run ./redis-benchmark -q -n 1000000 -P 10 -p 6666  my instance of kvrocks use around a 505 Mb RAM after a hour of idle (after a test are stopped). And, jmalloc-fix version use 432 Мб in this case too.

@aleksraiden Thanks for your information. I feel good after looking through https://github.com/jemalloc/jemalloc/issues/1098. Another question is why disable the tcache as well, did I miss anything?

@aleksraiden Thanks for your information. I feel good after looking through jemalloc/jemalloc#1098. Another question is why disable the tcache as well, did I miss anything?

As I think - because we don't need an a global cache for thread-specific objects, so if a small object usages only in one thread - this thread can feel free to manage this and release memory without use mutex for thread-safe operations.

@aleksraiden Thanks for your information. I feel good after looking through jemalloc/jemalloc#1098. Another question is why disable the tcache as well, did I miss anything?

As I think - because we don't need an a global cache for thread-specific objects, so if a small object usages only in one thread - this thread can feel free to manage this and release memory without use mutex for thread-safe operations.

I prefer to keep it as it is unless we can prove that can bring benefits.

@aleksraiden Thanks for your information. I feel good after looking through jemalloc/jemalloc#1098. Another question is why disable the tcache as well, did I miss anything?

As I think - because we don't need an a global cache for thread-specific objects, so if a small object usages only in one thread - this thread can feel free to manage this and release memory without use mutex for thread-safe operations.

I prefer to keep it as it is unless we can prove that can bring benefits.

Redis use this options too, but if reviewers are OK, I can update PR and remove option about tcache

Redis use this options too

I didn't notice, would you mind giving me a link?

but if reviewers are OK, I can update PR and remove option about tcache

It's good for me to add if we can know/prove it did bring benefits.

Redis use this options too

I didn't notice, would you mind giving me a link?

but if reviewers are OK, I can update PR and remove option about tcache

It's good for me to add if we can know/prove it did bring benefits.

Oops, I'am SORRY, my mistake, just think about one options, but write for other, Yes, you are absolutely correct, Redis didn't use this options about tcache disabling.

disable-tcache: I guess this might not benefits because at most of time, thread cache is an optimization
as for disable-cache-oblivious, redis says it would only benefits 16kb allocations, however, I guess kvrocks could have many over 16kb allocation because of rocksdb.

Maybe we can take a look at TiKV's arguments: https://github.com/tikv/jemallocator/blob/main/jemalloc-ctl/src/opt.rs . It also uses RocksDB as storage engine.

Oops, I'am SORRY, my mistake, just think about one options, but write for other, Yes, you are absolutely correct, Redis didn't use this options about tcache disabling.

@aleksraiden Thanks for your investigation.

Maybe we can take a look at TiKV's arguments: https://github.com/tikv/jemallocator/blob/main/jemalloc-ctl/src/opt.rs . It also uses RocksDB as storage engine.
@mapleFU That's a good input.

Seems that by default, if we use cache-oblivious, we will

Not align the large chunk, which make 16kb page just uses 16kb of memory, rather than about 20kb, which brings more usable memory to fill the "block cache" required by system
May harms some cache-obilivious. But seems that we don't have that

I guess maybe we can allow enable that for some read-heavy systems, that tent to fill the memory with block cache, so this is useful. Rocksdb might not have cache-oblivious algorithm, so it might not harms too much?
But I guess for most of workloads, they might have downgrade or not, because we have this https://github.com/facebook/rocksdb/blob/854eb76a8c8533779da7eaf21bef6266d9cca6aa/memory/arena.h#L32-L33 block size, it could become 16KB.

Seems that CI compile failed :-)

Updated. So, now we can set options in build, e.g. -D=DISABLE_CACHE_OBLIVIOUS=0|1 where 0 are default and only set to 1 add this options into jemalloc compile process.

Thanks @torwig for help with cmake

Thanks all, merging...


Build error when CMAKE_PREFIX_PATH is a list

I try to build g3sinks on linux in a project where every component is installed to its separate location, what means that CMAKE_PREFIX_PATH variable is a list with more than one items.
The problem is that if I try to build g3sinks/logrotate with the following command:
cmake -DCMAKE_PREFIX_PATH="/usr/local/somedir;/usr/local/otherdir"  .....
Cmake fails with the following error:
CMake Error at CMakeLists.txt:67 (IF):
  if given arguments:

    "/usr/local/somedir" "/usr/local/otherdir.x" "STREQUAL" ".x"

  Unknown arguments specified

I tried to fix that by changing the offending line:
@@ -64,15 +64,17 @@ INCLUDE (${LogRotate_SOURCE_DIR}/Options.cmake)
 # Find all libraries
 #

- IF (${CMAKE_PREFIX_PATH}.x STREQUAL ".x")
+ IF (NOT DEFINED CMAKE_PREFIX_PATH)
     SET(CMAKE_PREFIX_PATH /usr/local)
     MESSAGE("CMAKE_PREFIX_PATH: " ${CMAKE_PREFIX_PATH})
  ENDIF()

Then cmake runs successfully, but unfortunately the g3log include files are not found during compile because g3sinks adds the include directory like this:
include_directories(${CMAKE_PREFIX_PATH}/include)
what, obviously, is not correct when CMAKE_PREFIX_PATH is a list.
Do I miss something about cmake (that is for sure :)), or is it really a flaw in g3sink's cmake setup? I have not much knowledge about cmake, and have access only to linux machine, so I am not the best person to create a PR, but if it helps I can try to fix it using find_package() to load g3loggerConfig.cmake, using G3LOG_LIBRARY and G3LOG_INCLUDE_DIR defined there, and testing on my machine.

closed due to lack of response


help with websockets

Your documentation says this:
WebSockets
Functions annotated with @web_endpoint, @asgi_app, or @wsgi_app also support the WebSocket protocol. Consult your web framework for appropriate documentation on how to use WebSockets with that library.

WebSockets on Modal maintain a single function call per connection, which can be useful for keeping state around. Most of the time, you will want to set your handler function to [allow concurrent inputs](https://modal.com/docs/guide/concurrent-inputs), which allows multiple simultaneous WebSocket connections to be handled by the same container.

We support the full WebSocket protocol as per [RFC 6455](https://www.rfc-editor.org/rfc/rfc6455), but we do not yet have support for [RFC 8441](https://www.rfc-editor.org/rfc/rfc8441) (WebSockets over HTTP/2) or [RFC 7692](https://datatracker.ietf.org/doc/html/rfc7692) (permessage-deflate extension). WebSocket messages can be up to 2 MiB each.

... but I can't figure out how to actually make it work... could you create an example please?

See https://fastapi.tiangolo.com/advanced/websockets/?h=websocket :)
You can use the app directly with our @asgi_app decorator


chore: update pins for ape 0.4.0

What I did
update pins for ape 0.4.0
How I did it
updated setup.py
How to verify it
pytest
Checklist

[ ] Passes all linting checks (pre-commit and CI jobs)
[ ] New test cases have been added and are passing
[ ] Documentation has been updated
[ ] PR title follows Conventional Commit standard (will be automatically included in the changelog)

closing for pull 78


Adding StreamSets Transformer

Review copy of the tool can be provided as needed (please contact via my profile to arrange).  Thanks.

@zero323 @oluies what are you thoughts on this ?

Its commercial which should be highligted.

I assume that none of the members actually used it in practice, am I right?
At first glance at the docs, my main concern is that the project relationship with Spark is mostly inconsequential from the user perspective.

I assume that none of the members actually used it in practice, am I right?

Sorry, what do you mean by "members" in this context?

At first glance at the docs, my main concern is that the project relationship with Spark is mostly inconsequential from the user perspective.

It's true that Transformer tries to abstract away many of the details of Spark, but it's hardly inconsequential.  Users can still write Spark SQL expressions as part of the processing, write Scala code to manipulate the DataFrame objects, etc.

I assume that none of the members actually used it in practice, am I right?

Sorry, what do you mean by "members" in this context?

Sorry for the confusion @jeff303. I meant participants of this discussion which are members of awesome-spark and / or have merge rights to this repository.
Traditionally we merge only the products that some of us used and  can vouch for it, with some exceptions to very popular projects.

At first glance at the docs, my main concern is that the project relationship with Spark is mostly inconsequential from the user perspective.

It's true that Transformer tries to abstract away many of the details of Spark, but it's hardly inconsequential. Users can still write Spark SQL expressions as part of the processing, write Scala code to manipulate the DataFrame objects, etc.

Let me put this in a different way - as a moderately experienced Spark user  I don't see how this could be relevant for me. I won't contribute, because it is closed sourced. I cannot analyze it for the same reason. I doesn't seem like I can take my existing Spark code and bring it to your platform (other than copying-and-pasting it into a transformer. Correct me if I missed something). Finally SQL is hardly Spark specific, so that, as far as I can tell, leaves use with Python and Scala transformers which, based on the documentation, don't seem to be central for the end user.
So assuming that at the moment internals use Spark, and tomorrow you switched to some-new-fancy-framework™ keeping API intact, it would make not practical difference for me as the potential user.
Anyway...  These are just my thoughts. This is not a judgment of quality of your project, or binding opinion for the other participants of this discussion.
@oluies @eliasah  Formal nitpick - if you decide to merge please make sure that full stop is included at the end of the line.

I concur with @zero323 on this. Regardless the quality of the project, I'm not very much fan of adding projects here that I haven't tested and that I cannot test.

As mentioned in the initial PR, I can provide anyone who likes it with a tarball and installation instructions.  I just can't do so via a public Github comment.
Regardless, it sounds like perhaps this isn't a right fit with the goal of this repo, since fundamentally the Spark cluster does serve as an "execution engine" of sorts for the product.  Also, it's not currently open source, though I hope one day that will change.
We do have a large set of utility classes on top of the DataFrame API for doing operations that may be potentially useful in a general sense (ex: reordering columns to match before performing a merge, deleting a deeply nested struct field from a DF/schema, etc.).  Once that is available as a separate, standalone library, I can create a separate PR for it.
Thanks for your time.

Thanks for your understanding @jeff303 and thanks for your time as well.


The .editorconfig file seems to be ignored

I'm using ktlint Gradle plugin and have configured some ktlint rules in my project's .editorconfig file. This is a multi-module Android project, and I have installed the latest version of Intellij/IDEA plugin (0.24.1) and configured it to use the manual mode so that it respects my project's rules in the .editorconfig file (which might be another issue by itself - I'd expect the distraction-free mode to also respect my configuration/rules). However, looks like I still get warnings (IDE highlights) for the rules I have disabled.
P.S:
I have pinned the version of ktlint used by the Gradle plugin to ensure compatibility between the IDE plugin and the Gradle plugin. Here's the relevant part of my root project's build script:
allprojects {
    apply(plugin = "org.jlleitschuh.gradle.ktlint")

    configure<KtlintExtension> {
        // By default, the ktlint gradle plugin uses an old version of ktlint (currently 1.0.1)
        // Also, the used ktlint version may change between versions of this plugin
        // We pin the version to have predictable builds
        // See https://github.com/JLLeitschuh/ktlint-gradle/?tab=readme-ov-file#configuration
        version.set("1.3.1")

        ktlint {
            debug = true
            ignoreFailures = false
            android = true
            outputToConsole = true

            reporters {
                reporter(ReporterType.CHECKSTYLE)
            }
            filter {
                exclude { file ->
                    val exclude =
                        excludedDirs.any {
                            file.file.toString().contains(it)
                        }
                    if (exclude) {
                        println("EXCLUDING ${file.file}")
                    }
                    exclude
                }
            }
        }
     }

And my project's .editorconfig:
# Top-most EditorConfig file
root = true

# Config for all file types
[*]
max_line_length = 120
trim_trailing_whitespace = true
insert_final_newline = false
indent_style = space
indent_size = 4
ij_kotlin_imports_layout = *, java.**, javax.**, kotlin.**, ^

[*.{kt,kts}]
ktlint_standard_annotation = disabled
no-empty-first-line-in-method-block = disabled
ktlint_no-wildcard-imports = enabled
ktlint_function_naming_ignore_when_annotated_with = Composable
ktlint_function_naming_ignore_annotation_pattern = Composable
ktlint_standard_package-name = disabled
ktlint_standard_multiline-expression-wrapping = disabled
ktlint_standard_string-template-indent = disabled
ktlint_standard_no-empty-first-line-in-class-body = disabled
ktlint_standard_no-empty-first-line-in-method-block = disabled
ktlint_standard-trailing-comma-on-call-site = disabled
ktlint_standard-trailing-comma-on-declaration-site = disabled
ktlint_class_signature_rule_force_multiline_when_parameter_count_greater_or_equal_than = 2

[**/test/**.kt]
kotlin_imports_layout = android.*, |, ^org.junit.*, kotlin.io.Closeable, |, *, ^*
kotlin_line_comment_add_space = false
max_line_length = off

[**/androidTest/**.kt]
kotlin_imports_layout = android.*, |, ^org.junit.*, kotlin.io.Closeable, |, *, ^*
kotlin_line_comment_add_space = false
max_line_length = off

[*.yml]
indent_size = 2

I wonder if I'm missing something or is this an actual bug. Thank you very much for looking into this potential issue. Appreciate it.

I accidentally noticed something. I get the warnings when I have a class with a custom annotation, however as soon as I remove the annotation, the warnings are gone and my .editorconfig seems to be respected.

Please provide an example that reproduces the problem. Both the Gradle Plugin and Ktlint Intellij plugin use the same rulesets when you have pinned them. It can however be that they use different versions of the KtlintRuleEngine. Typically this should not result in different results, but it might happen in a very specific situation. If you provide an example, I will check.

Closed due to lack of response.


ARROW-1717: Refactor JsonReader

This patch:

Refactor JsonReader and remove static helper function in vector classes
Fix integration test

cc @BryanCutler @siddharthteotia
This patch cleans up JsonReader.

+1, I prefer it this way to keep the vector classes cleaner

This also fixes ARROW-1431

Ping @siddharthteotia
Thoughts?

LGTM.
My two cents:
We should be little careful of adding patches to refactor branch since that essentially requires to grab and retest the changes downstream with Dremio.
Currently there are two patches in refactor branch and there is a 3rd one coming in (changes that were discovered as part of testing in Dremio). So there is a good chance of conflict as well.
My suggestion is that if there is some cleanup necessary, it can easily be done after refactor branch is merged into master.

My suggestion is that if there is some cleanup necessary, it can easily be done after refactor branch is merged into master.

@siddharthteotia When are you planning to merge refactor branch to master?

Let's merge this patch? We can discuss what should we do to concurrently work on refactor. I think @BryanCutler also has a patch that he wants to merge in (arrow ipc refactor).

Ping @siddharthteotia
When do you plan to merge this branch into master? In the meantime, should we wait until then before working on new refactor-related patches? Just want to make sure we have a way to make forward progress independently.

There are about 4 regression test failures remaining to be fixed. Rest of the functional testing looks good with Dremio. Perf testing in progress. This week, we should be able to start the process of formal approval of merging this branch into master. As I had mentioned earlier about the 3rd patch w.r.t changes made to Arrow as part of testing in Dremio, the PR should land in by EOD.

Thanks for the update. I think this patch shouldn't affect Dremio tests, it only touches json reader and integration test. How about we merge this?
Also, should we work on items on https://issues.apache.org/jira/browse/ARROW-1463 after the merge?

Sure, let's merge this since the changes are fairly isolated. I will be putting up third patch today EOD. Our performance testing is complete and we have seen overall improvement in TPCH.
Will send out an email on the mailing list updating everyone and starting the formal process of merging java-vector-refactor into master. Will also talk about the follow-up items.
Are the integration test issues fixed? I suppose they are not JAVA vector code problem.
cc @jacques-n

The integration tests passed.
It failed previously due to issue with JsonReader during refactoring.

+1

I'm going to test this locally and then merge into the refactor branch

Merged in https://github.com/apache/arrow/commit/a2fa4619ff40548eb62b7b09483b81e1b3392c92, thanks all!


Implementing AutoRefreshAllExcept and WhenAnyPropertyChangedExcept

This is an attempt to implement AutoRefreshAllExcept and WhenAnyPropertyChangedExcept as wished in this issue: https://github.com/RolandPheasant/DynamicData/issues/214
Sorry, my Visual Studio created a bunch of unnecessary white-space changes :|

@RolandPheasant do you need more than I provided to accept the merge request? Change in a readme file or anything? Reverting the white-space changes?

I've been busy and forgetful recently. I will take a look at this later today.

A better solution would be to add an overload which allows the consumer to filter on the property.
Something like this
        public static IObservable<TObject> WhenAnyPropertyChanged<TObject>([NotNull] this TObject source, Func<string, bool> propertyFilter)
            where TObject : INotifyPropertyChanged

That way allows complete flexibility for filtering on property names.
This extra overload would also have to be added to source list and cache when property changed operators.


Plan to hide Sponsored posts?

Are you planning to also hide Sponsored, or do you worry that'd be a lawsuit?
Loving this so far.

If you press on the menu of the advert, it should hide it :)
Unfortunately they make it EXTREMELY difficult to hide/identify these so we don't focus on them... it would be a whackamole to find and hide them.


Feat #7487: Extract team id from slack event metadata and add to user…

Changes are described in issue #7487.
Status (please check what you already did):

[X] added some tests for the functionality
[N/A] updated the documentation
[X] updated the changelog (please check changelog for instructions)
[X] reformat files using black (please check Readme for instructions)

Thanks for submitting a pull request 🚀 @TyDunn will take a look at it as soon as possible ✨

Thanks, Ella. That's odd, the tests passed on my local machine. I do see they failed on the requests that did not have a team field, but they only failed at the point which the metadata was referenced on the UserMessage. This means the get_metadata function successfully returned None for team_id. Are None valued metadata fields filtered out before being added to the UserMessage?

Looks like the error on Windows Python 3.8 was not a result of this PR.


Show either the public key or fingerprint

You don't usually need both, and it's convenient for copying and pasting if by default it just shows the base64-encoded key.

The flags mirror those of ssh-keygen, with a minor adaption: -v in ssh-keygen is for verbose, and used in conjunction with -l (show fingerprint) prints the asciiiart. I've just called it "visual" and made it imply -l.


New Wrap: tinyply

I have build files for tinyply version 2.0

https://github.com/mesonbuild/tinyply


Bug Report

rror message: Unable to load DLL 'texgenpack': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

You can try my AssetRipper fork.


Proposal for revising stats display.

Proposal for issue #379
Currently the revised output looks like this:
2016/03/12 13:52:25
Checked:           192593 of 46673217 bytes (0.41%) in 5 of 1172 files
Transferred:       176799 of 186888 bytes (3.22 kB/s) in 41 of 50 queued files
Elapsed time:       53.6s

Things to fix before merge

[ ] func Check(fdst, fsrc Fs) should also update stats.
[ ] If a file exist on src, that doesn't on dst, it is not added to "checked". That breaks this method of displaying stats.
[ ] Add file deletion information.
[ ] Tests.

Of course we should also agree that this is the right direction.

Is this still a WIP? I would love to see something like that happening. It would make the output a lot more readable.

+1, would love to see this integrated!
Additionally, I would also suggest to clear the screen before each time the stats are printed out, or at least add an option to do that.

Sorry @klauspost I have dropped the ball on this PR.  Are you still interested in doing this?  I think the proposed stats output looks great :-)

Don't sweat it, I have not looked much at it either. Meanwhile there has been 7 thumbs up, which indicates that there is interest.

Will this eventually be merged in? I like this suggestion 👍

This does look great. Any chance we could rip --info=progress2 from rsync? :)

Is this still live? I would definitely like to see this be available!

Any news? This would be quite interesting to have :D

Uhm. Nothing?

I have finally fixed this here:
https://beta.rclone.org/v1.42-104-g6390dec7/ (uploaded in 15-30 mins)
It does it by keeping a backlog (10,000 by default settable with --max-backlog) of files to upload.
I've also added --stats-one-line which mimics rsyncs --progress=info2.  (Actuall --progress support to come in #2347)
rclone no longer keeps all the files it is due to transfer in memory so I couldn't apply this pull request directly, but I think the overall effect will be very similar.


Fix the fluctuation of the end cap for path layer 64bit

The end cap of path layer is unstable in 64-bit mode
@ibgreen @Pessimistress

Per discussion with @shaojingli: when releasing v4 we intentionally removed all if statements and replaced with mix. The result has proved to be extremely hard to read and maintain. We should measure the perf gain of this approach to determine if it actually makes sense.

@georgios-uber

LGTM


Bug 2122521: Unique IP address validation for IBM storage system

/ok-to-test

/retitle Bug 2122521: Unique IP address validation for IBM storage system

@alonfirestein PTAL:
https://github.com/red-hat-storage/odf-console/pull/836#issuecomment-1534704396
https://github.com/red-hat-storage/odf-console/pull/836#issuecomment-1534707443

ERROR in ../../packages/odf/components/create-storage-system/create-storage-system-steps/create-storage-class-step/create-storage-class-step.tsx:60:22
TS6133: 'secretLoaded' is declared but its value is never read.
    58 |     useK8sList<StorageSystemKind>(StorageClassModel);
    59 |
  > 60 |   const [secretData, secretLoaded, secretLoadError] =
       |                      ^^^^^^^^^^^^
    61 |     useK8sList<SecretKind>(SecretModel);
    62 |
    63 |   const [flashSystemData, flashSystemLoaded, flashSystemLoadError] =

ERROR in ../../packages/odf/components/create-storage-system/create-storage-system-steps/create-storage-class-step/create-storage-class-step.tsx:60:36
TS61[33](https://github.com/red-hat-storage/odf-console/actions/runs/4882452073/jobs/8712811797?pr=838#step:5:34): 'secretLoadError' is declared but its value is never read.
    58 |     useK8sList<StorageSystemKind>(StorageClassModel);
    59 |
  > 60 |   const [secretData, secretLoaded, secretLoadError] =
       |                                    ^^^^^^^^^^^^^^^
    61 |     useK8sList<SecretKind>(SecretModel);
    62 |
    63 |   const [flashSystemData, flashSystemLoaded, flashSystemLoadError] =
    ```
  Please check your lint errors.

plz squash all changes into a single commit...

@bipuladh can you plz enable the workflows for the PR ??

LGTM
@alonfirestein plz squash all commits into a single commit.
@bipuladh can u plz enable workflow again (I don't have access to do so).

@alonfirestein I can still see 2 commits.
"Merge branch 'master' into alonfirestein/master" should not be there !!


[feature] SLSA v0.2 support for npm builder

Due to the timeline of when the npm SLSA RFC will be implemented it's likely we'll need support for SLSA v0.2 in the npm builder. Is that the case?
Currently we are supporting only v1.0 in the BYOB Framework but we may need to support v0.2 as well?
/cc @asraa @laurentsimon

I'm sort of leaning towards adding back that option as a top-level workflow input (that we can remove if needed). It may mean running on both formats, but it would be nice to test our slsa-verifier using the existing 0.2 code while we write the BYO framework.

I'm onboard with having support for both, especially since npm will be using v0.2, IIUC.
We could also restrict which repos are allowed to use the option  (as be part of the slsa-token?). This way we avoid having others use it.

<EMAIL_ADDRESS>@kommendorkapten we'd love your inputs.

We are targeting v1.0 spec version of SLSA for GA, but it's a moving target...
If BYOB for npm would only support v1.0, my view is that it would be totally acceptable.

I would love to see npm only support slsa 1.0 for new packages when we launch this publicly by end of this quarter. We're ready to add support as soon as the spec is finalised. If we can get our hands on this by march we should be good.
Npm will still need to support 0.2 provenance statements that have already been created but would simplify some bits if we can narrow down what is supported for new packages.

@feelepxyz @kommendorkapten Thanks for the comments. Am I right in assuming then that you'll be generating SLSA proveance v0.2 before v1.0 is ready and not provenance based on the draft version of the v1.0 spec? Is it likely that the GA would block on SLSA v1.0 support? or would you roll out with v0.2 if SLSA v1.0's finalization is delayed?

@ianlewis yes, we are using v0.2 right now in development. Yeah, if SLSA v1.0 is delayed, I don't think we would block. It's not my call to make, but that is my guess.

Fixed by #1827


run_tests getting warning output from black

The ./run_tests script has black --diff which gives:
No Path provided. Nothing to do 😴

PR for this is here https://github.com/canonical/prometheus-operator/pull/55


Not easy to run the converter scripts on non-windows platforms

SJASM is a cross platform tool, so Ringo-8 works well on any platform.
The converters however do not.
I have rewritten the sprite and tile tools in python (not that I particularly like python, it is just an easy cross platform solution)
The only dependency is the "Pillow" image library
@DenisGrachev I am happy to submit a PR for this, but unsure where you'd like this to live.
At the moment I have created new subfolders in the "GFX_Converters" named "cs" and "python" and moved the original cs code into the cs folder, and my new python scripts to the python directory. Is that acceptable?
Still working out some things with the scripts as it may make sense to combine the two into one that takes different parameters, or makes a best guess based upon the image sizes.
I have tested the output from the new python code against the existing binaries in the repo and they match perfectly.

thanks for support! Just merge it, hope everything ok since i'm a bit new on git %)


StreamField of StreamBlocks not being rendered at the editor

Found a bug? Please fill out the sections below. 👍
Issue Summary
I have a StreamField with the following structure:

StreamField > StreamBlock > StructBlock

This is to create a list of customizable price cards. We used a StreamBlock instead of a ListBlock because ListBlocks are not translatable on Wagtail 2.12. Since we updated to Wagtail 2.14, the following error appear when trying to edit the price list:
Uncaught TypeError: e.replace is not a function
    at Object.t.escapeHtml (text.ts:7)
    at StreamBlock.js:112
    at Array.forEach (<anonymous>)
    at StreamBlock.js:111
    at Array.forEach (<anonymous>)
    at t.renderMenu (StreamBlock.js:103)
    at t.open (StreamBlock.js:160)
    at t.toggle (StreamBlock.js:153)
    at HTMLButtonElement.<anonymous> (StreamBlock.js:84)
    at HTMLButtonElement.dispatch (jquery-3.5.1.min.dc5e7f18c8d3.js:2)

Steps to Reproduce

Start a new project with wagtail start myproject
Edit models.py as follows...

class PricingPage(BasePage):
    plans = StreamField([("plans", PlanListBlock())])

class PlanListBlock(blocks.StreamBlock):
    """A collection of price cards"""
    plan = PlanCardBlock()

    class Meta:
        icon = ("list-ul",)

class PlanCardBlock(blocks.StructBlock):
    """Price Cards with a plan's name, price, unit and features"""

    title = blocks.CharBlock(required=True, help_text="Plan's title")
    description = blocks.TextBlock(required=True, help_text="Plan's description")
    unit_amount = blocks.DecimalBlock(min_value=0, max_value=100)
    billing_scheme = blocks.CharBlock(
        required=False,
        help_text="Describes how the plan is to be charged",
    )
    features = blocks.StreamBlock(
        [("feature", blocks.CharBlock(label="Feature", icon="tick"))]
    )

Edit the page on Wagtail Admin

Technical details

Python version: Python 3.9.6.
Django version: django==3.1.8;
Wagtail version: 2.14.0
Browser version: Opera 77 on Windows 10

Hi @MrCordeiro - thanks for the report. Just to confirm, have you been able to replicate the bug outside of your existing project by following the "Steps to Reproduce" given here?

The problem was in the icon Meta option, which should be receiving a tuple.
Sorry for the false alarm (´。＿。｀)


Setup on CSR dialog not responding properly to project selector change events

Tools -> Google Cloud Tools -> Setup on Cloud Source Repositories
Select a Cloud Project that has a cloud repository -> notice the cloud repository dropdown displays the repo
type something in the project selector to make the previous project invalid
delete what you did in step 3

=> The Cloud repository dropdown is not updated with the repo
Confirmed to be introduced in da734da35987b9c8496f67f38ad14f281b3966e4
Notes:
the listener is being attached to the project selector via:
projectSelector.getDocument().addDocumentListener

We need solidify (and make clear in the selector's API), the proper way to attach listeners that handles all events properly:

text changes via manual typing
changes by manually selecting from the tree
etc.

Currently we are attaching them in multiple ways throughout the codebase.

The same issue is occurring in the project selector instance that is in the Cloud Storage bucket browser.
It seems to be a general issue of changes to the project selector text via typing not being registered correctly, specifically when hitting backspace (other keyboard events seem to be getting registered properly..)
Updating the title


missing uppercase urls

@AndreaLanfranchi raised this issue here
Currently, we are missing an image path should be downloaded from web if it is uppercase.
Ref: https://github.com/serengil/deepface/blob/master/deepface/modules/preprocessing.py#L37

Closed with PR - https://github.com/serengil/deepface/pull/1072


Proton issue

rpc doesn't work
i added /home/(myusername)/wine-discord-ipc-bridge/winediscordipcbridge-steam.sh to launch options in steam
i also edited BRIDGE to /home/(myusername)/wine-discord-ipc-bridge/winediscordipcbridge.exe
but nothing works :confused:
it only works if i run it as a normal wine app

winediscordipcbridge-steam.sh: line 13: runtimecmd: bad array subscript
this is the issue from log. i guess that is the problem

I had this issue, I changed line 13 to
if [ ${#runtimecmd[@]} -ne 0 -a "${runtimecmd[-1]}" == "--" ]; then
and it worked like a charm ... I also didn't edit BRIDGE, that worked fine with the dirname ${BASH_SOURCE[0]}
I might submit a pull request at some point, though if someone else gets to it first that's cool.

After playing around a little more I'm not convinced that fix will solve @ITZProGamerDieYT issue. It certainly gets rid of the log warning and I was seeing Discord report the game correctly, however I have since seen the game not being reported correctly, if I close and reopen Steam it usually sorts it out (I've tried it with and without my suggested fix and it does the same thing). Sorry for any false hope.
@ITZProGamerDieYT I have a few question, just to double check:

Is the problem that the game starts but doesn't report correctly or that the game doesn't start at all?
Does the winediscordipcbridge-steam.sh script have execute permissions?
Is the game 'Launch Options' /home/<username>/wine-discord-ipc-bridge/winediscordipcbridge-steam.sh or /home/<username>/wine-discord-ipc-bridge/winediscordipcbridge-steam.sh %command%?

the game starts but it doesn't start rpc
yes
%command%

edit: the game doesn't startup

I think I am having the same issue.  I get the same line 13: runtimecmd: bad array subscript error, and the game starts correctly, but Discord is not detecting the game.  I tried changing line 13 in the wrapper script to
if [ ${#runtimecmd[@]} -ne 0 -a "${runtimecmd[-1]}" == "--" ]; then

and still got the same error.
I am running the game Deep Rock Galactic via Proton-6.20-GE-1.  I am also running on ZFS, if that makes a difference.
Steam console output from launching the game with the `-x` option added to the script's shbang line.
```
GameAction [AppID 548430, ActionID 1] : LaunchApp changed task to ShowLaunchOption with ""
GameAction [AppID 548430, ActionID 1] : LaunchApp waiting for user response to ShowLaunchOption ""
GameAction [AppID 548430, ActionID 1] : LaunchApp continues with user response "0"
GameAction [AppID 548430, ActionID 1] : LaunchApp changed task to ProcessingInstallScript with ""
wineserver: using server-side synchronization.
GameAction [AppID 548430, ActionID 1] : LaunchApp changed task to SynchronizingCloud with ""
GameAction [AppID 548430, ActionID 1] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 548430, ActionID 1] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 548430, ActionID 1] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 548430, ActionID 1] : LaunchApp continues with user response "CreatingProcess"
Opted-in Controller Mask for AppId 548430: 0
/bin/sh\0-c\0/home/aidan/.steam/root/compatibilitytools.d/winediscordipcbridge-steam.sh /home/aidan/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=548430 -- '/extrapool/aidan/steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/aidan/.steam/debian-installation/compatibilitytools.d/Proton-6.20-GE-1'/proton waitforexitandrun  '/extrapool/aidan/steam/steamapps/common/Deep Rock Galactic/FSD.exe' -nohmd\0
Game process added : AppID 548430 "/home/aidan/.steam/root/compatibilitytools.d/winediscordipcbridge-steam.sh /home/aidan/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=548430 -- '/extrapool/aidan/steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/aidan/.steam/debian-installation/compatibilitytools.d/Proton-6.20-GE-1'/proton waitforexitandrun  '/extrapool/aidan/steam/steamapps/common/Deep Rock Galactic/FSD.exe' -nohmd", ProcID 3718811, IP <IP_ADDRESS>:0
ERROR: ld.so: object '/home/aidan/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/aidan/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
++ dirname /home/aidan/.steam/root/compatibilitytools.d/winediscordipcbridge-steam.sh
ERROR: ld.so: object '/home/aidan/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
+ BRIDGE=/home/aidan/.steam/root/compatibilitytools.d/winediscordipcbridge.exe
+ DELAY=5
+ runtimecmd=()
+ protoncmd=()
+ for arg in "$@"
/home/aidan/.steam/root/compatibilitytools.d/winediscordipcbridge-steam.sh: line 13: runtimecmd: bad array subscript
+ '[' '' == -- ']'
+ runtimecmd+=("$arg")
+ for arg in "$@"
+ '[' /home/aidan/.steam/debian-installation/ubuntu12_32/reaper == -- ']'
+ runtimecmd+=("$arg")
+ for arg in "$@"
+ '[' SteamLaunch == -- ']'
+ runtimecmd+=("$arg")
+ for arg in "$@"
+ '[' AppId=548430 == -- ']'
+ runtimecmd+=("$arg")
+ for arg in "$@"
+ '[' -- == -- ']'
+ protoncmd+=("$arg")
+ for arg in "$@"
+ '[' -- == -- ']'
+ protoncmd+=("$arg")
+ for arg in "$@"
+ '[' -- == -- ']'
+ protoncmd+=("$arg")
+ for arg in "$@"
+ '[' -- == -- ']'
+ protoncmd+=("$arg")
+ for arg in "$@"
+ '[' -- == -- ']'
+ protoncmd+=("$arg")
+ for arg in "$@"
+ '[' -- == -- ']'
+ protoncmd+=("$arg")
+ for arg in "$@"
+ '[' -- == -- ']'
+ protoncmd+=("$arg")
+ gamecmd=("${protoncmd[@]:2}")
+ protoncmd=("${protoncmd[@]:0:2}")
+ '[' -z /extrapool/aidan/steam/steamapps/common/SteamLinuxRuntime_soldier/_v2-entry-point ']'
+ sleep 5
+ /extrapool/aidan/steam/steamapps/common/SteamLinuxRuntime_soldier/_v2-entry-point --verb=waitforexitandrun /home/aidan/.steam/root/compatibilitytools.d/winediscordipcbridge.exe
ERROR: ld.so: object '/home/aidan/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/aidan/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/aidan/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/aidan/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 3718819 != 3718815, skipping destruction (fork without exec?)
GameAction [AppID 548430, ActionID 1] : LaunchApp changed task to WaitingGameWindow with ""
GameAction [AppID 548430, ActionID 1] : LaunchApp changed task to Completed with ""
pressure-vessel-adverb[3719082]: E: Failed to execute child process "/home/aidan/.steam/root/compatibilitytools.d/winediscordipcbridge.exe" (No such file or directory)
+ /extrapool/aidan/steam/steamapps/common/SteamLinuxRuntime_soldier/_v2-entry-point --verb=run -- /home/aidan/.steam/debian-installation/compatibilitytools.d/Proton-6.20-GE-1/proton waitforexitandrun '/extrapool/aidan/steam/steamapps/common/Deep Rock Galactic/FSD.exe' -nohmd
ERROR: ld.so: object '/home/aidan/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/aidan/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/aidan/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 3719763 != 3719760, skipping destruction (fork without exec?)
ProtonFixes[3720042] INFO: Running protonfixes
ProtonFixes[3720042] INFO: Running checks
ProtonFixes[3720042] INFO: All checks successful
ProtonFixes[3720042] INFO: Using global defaults for "Deep Rock Galactic" (548430)
ProtonFixes[3720042] INFO: No protonfix found for "Deep Rock Galactic" (548430)
esync: up and running.
Game process updated : AppID 548430 "/home/aidan/.steam/root/compatibilitytools.d/winediscordipcbridge-steam.sh /home/aidan/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=548430 -- '/extrapool/aidan/steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/aidan/.steam/debian-installation/compatibilitytools.d/Proton-6.20-GE-1'/proton waitforexitandrun  '/extrapool/aidan/steam/steamapps/common/Deep Rock Galactic/FSD.exe' -nohmd", ProcID 3721038, IP <IP_ADDRESS>:0
Setting breakpad minidump AppID = 548430
Steam_SetMinidumpSteamID:  Caching Steam ID:<PHONE_NUMBER>5182877 [API loaded no]
Game process updated : AppID 548430 "/home/aidan/.steam/root/compatibilitytools.d/winediscordipcbridge-steam.sh /home/aidan/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=548430 -- '/extrapool/aidan/steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/aidan/.steam/debian-installation/compatibilitytools.d/Proton-6.20-GE-1'/proton waitforexitandrun  '/extrapool/aidan/steam/steamapps/common/Deep Rock Galactic/FSD.exe' -nohmd", ProcID 3721044, IP <IP_ADDRESS>:0
Fossilize INFO: Overriding serialization path: "/extrapool/aidan/steam/steamapps/shadercache/548430/fozpipelinesv6/steamapprun_pipeline_cache".
Installing breakpad exception handler for appid(gameoverlayui)/version(20211013194715)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Fossilize INFO: Overriding serialization path: "/extrapool/aidan/steam/steamapps/shadercache/548430/fozpipelinesv6/steamapprun_pipeline_cache".
wine: Unhandled page fault on write access to<PHONE_NUMBER>000008 at address 000000007BC5F90C (thread 044c), starting debugger...
0x16696f0:2: Async thread=0x14a6390
0x17c9d80:2: I/O status block
0x17206a0:1: Fd unix_fd=12298 user=0x17204f0 options=00000000
0x17204f0:2: Socket fd=0x17206a0, state=3, mask=0, pending=44, reported=44
0x16d6c20:1: esync fd=9873
0x14a6390:1: Thread id=03c8 unix pid=3721044 unix tid=3721217 state=1
0x13fb820:1: Token id=0.1017 primary=1 impersonation level=-1
0x13fb590:1: Process id=0120 handles=(nil)
pid 3720046 != 3720045, skipping destruction (fork without exec?)
```

I did some experiments tonight and found that I could get the bridge running alongside a game, Deep Rock Galactic, but I found that the bridge would die as the game came up. I added some debug to the bridge and found that it couldn't find /run/user/{userid}/discord-ipc-0 when calling connect(2). It turns out that steam now runs games in containers that don't get access to that path by default, but there are env var overrides so that it can.
See: https://github.com/ValveSoftware/steam-runtime/blob/master/doc/steamlinuxruntime-known-issues.md#sharing-directories-with-the-container
By adding PRESSURE_VESSEL_FILESYSTEMS_RW="/run/user/{userid}" %command% to the launch options that path is opened for read/write. Not sure if it needs that or RO / read-only, but I assume the socket needs to be written to.
Right now I have local changes to proton to just start the bridge before any game rather than use the script. I'd rather use the script than having local edits on proton, but I need to sit down and look at how bash is parsing all that. I had a hardcoded example that would have worked with this change, but I scraped it. Hopefully this helps you all! Discord showed Deep Rock Galactic connect and I could see updates to it in game. The join group button light up green on Discord, but I'll have to try it tomorrow.

I messed around with the bash script and something about running the bridge in a separate call to proton causes the game to pause or stall. Nothing seemed to get both running correctly. I noticed that the fix I added to the proton version I was using, Proton-6.20-GE-1, already existed in the form of PROTON_REMOTE_DEBUG_CMD. This had a typo in Proton-6.20-GE-1 where it tries to reference "wine54" rather than "wine64" and fails. Looks like this is fixed in Proton-6.21-GE-2 and I assume it works in Proton-6.3.
https://github.com/GloriousEggroll/proton-ge-custom/blob/d5090ed5d6f99ed0f534326ed49df877358b8503/proton#L1435
Now I'm using  PRESSURE_VESSEL_FILESYSTEMS_RW and PROTON_REMOTE_DEBUG_CMD in my launch options and the time seems to work fine for Deep Rock Galactic. This bridge is kind of like a debugger, right? It kind of fits. :smile:
Here's my current launch options, adding in the executable path and your user_id as needed. I believe most distro/systems have the first user as 1000 for the uid / user_id.
PROTON_REMOTE_DEBUG_CMD=/path/to/winediscordipcbridge.exe PRESSURE_VESSEL_FILESYSTEMS_RW="/run/user/{user_id}" %command%

Nice! That's hilarious, that specifying the bridge as a debug command works. Feel free to make a pull request updating the proton script or just adding what you've found to the README.

Gonna check that tommorow

PROTON_REMOTE_DEBUG_CMD=/path/to/winediscordipcbridge.exe PRESSURE_VESSEL_FILESYSTEMS_RW="/run/user/1000" %command%
This makes the miner's union show up, and the game opens a browser to log into discord, but the discord app still won't see the game.

Found it. Installed discord via snap, and the socket is in a different folder.
Line 239 updated to, so it includes snap
            snprintf(addr.sun_path, sizeof(addr.sun_path), "%s/snap.discord/discord-ipc-%d", temp_path, pipeNum);

Line 239 updated to, so it includes snap

Line 239 of what?

oh sorry, the main.c.

look into /run/user/{user_id}/ and look for the discord-ipc file. Could be an argument instead of a hardcoded string

doesnt work lol

yeah i dont get what i need to do, as the .exe runs and hangs on trying to connect

The proton script also needs to be aware of where the IPC socket is.

I updated the script and main.c to add the snap paths, let me know if it works or not. It works for me on Arch.

still nothing on my end, but i could be approaching this wrong. is there a way you can make a new read me documenting how one would set all this up? perhaps im reading things wrong (likely scenario) but its kinda hard to follow what i gotta do when there are two different things for proton games.

is there a way you can make a new read me documenting how one would set all this up?

Let's discuss in #27.


Discrepancy of capacitor count

The BOM and schematic are showing a count of 5 x 100nf capacitors in this build, while the board design only accommodates 3.

The schematic, BOM, and main_pcb.kicad_pcb are older than the Gerbers and main_pcb_easyeda.json. Presumably they're not reflecting the latest version of the design.


[Meson] Adjust header files

Include some header files to nntrainer_headers in meson to provide to users when install it.
Adust header files to handle following issues caused by 1.

Self evaluation:
Build test: [X]Passed [ ]Failed [ ]Skipped
Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: hyeonseok lee<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.4.20191203. Thank you for submitting PR #1066. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnsuite.mooo.com/.

:octocat: cibot: @lhs8928, One of the module of prebuild group is failed. If you want to get a hint to fix this issue, please go to https://github.com/nnstreamer/nntrainer/wiki/.

:octocat: cibot: @lhs8928, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnsuite.mooo.com/nntrainer/ci/repo-workers/pr-checker/1066-202104011436300.026179075241089-3dcb770da65ac847f031b4b52c5b55f07d1c7867/.

Could you please update & check rpm / debian to include those header files as well?

See also #1063

:octocat: cibot: @lhs8928, test/unittest/unittest_nntrainer_models.cpp does not include Doxygen tags such as @file @brief @author @bug. You must include the Doxygen tags in the source code. Please refer to a Doxygen manual at http://github.com/nnstreamer/TAOS-CI/blob/main/ci/doc/doxygen-documentation.md

:octocat: cibot: @lhs8928, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnstreamer.mooo.com/nntrainer/ci/repo-workers/pr-checker/1066-202104271642490.7851550579071-3dcb770da65ac847f031b4b52c5b55f07d1c7867/.


UI training is broken (even though it appears functional)

For a while now the UI training is broken, it appeared to work since the training graph changes in the beginning, but it seems that after the first epoch, every subsequent log is identical. We thought this was expected since we were testing on very few samples, but the same issue happens with more samples.

related to #283


Variables Missing $

The PowerShell script for migrating an API Management instance not injected into a VNet has a small goof. There are three variables declared on lines 11, 12, and 15, that do not include the $ character designating them as variables.
For example, on line 11 it reads:
APIM_NAME={name of your API Management instance}
But I think it should read:
$APIM_NAME={name of your API Management instance}

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

ID: 6436bdc9-2aa3-4c18-bf4d-a4e9096fe264
Version Independent ID: 6c755e8a-b685-6c22-f742-fe61740709c2
Content: Migrate Azure API Management instance to stv2 platform
Content Source: articles/api-management/migrate-stv1-to-stv2.md
Service: api-management
GitHub Login: @dlepow
Microsoft Alias: danlep

@krcDeuce
Thanks for your feedback! We will investigate and update as appropriate.

Hey @krcDeuce - Thanks for reporting this issue and helping us drive improvements toward the MS Docs. I've created a PR that adds the preceding $s for the three variables. Once the PR is approved and merged, changes should be live shortly thereafter.
We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Consistently round numbers to same number of sig figs

From the forum:

Can you explain the rules for how many significant figures are displayed in the v4.1 UI? It seems to vary a bit, for example 0 is displayed as “0.000”, and often long values seem to be rounded at 7 or 8 values past the decimal.
as one example: gnomAD

Closing in favor of #1626


[NOT NEEDED - DO NOT MERGE] Refactor drpc status

DRPC status is refactored to add condition and to include the VRG conditions status

@BenamarMk and myself discussed about a possible alternate, where we have 2 conditions but more reasons as follows. Benamar is evaluating this currently.
DRPC:
PreferredDecision:
  - clusterName
  - clusterNamespace
Conditions []
ResourceConditions [] // VRG conditions and status on Primary/Secondary?

Conditions []:

1) Available
Type: Available // Available is generation that is being reconciled for action/initialPlacement, and is available when userPl is deployed to a cluster as desired
Reason: deploying/deployed (status: true)/failingover/failedover (status: true)/relocating/relocated (status: true) // Removed failover to ease discussion
Status: true/false/unknown

Reason above remains as is in code currently

2) Reconciling/Progressing
Type: Reconciling // Reconciling is to reflect if the current generation is still being reconciled; and if still in progress then the reason
Reason: progressing/success/failure/cleanup
Status: true/false/unknown

Reason above would be:
  - progressing: when reconciliation is in progress and waiting for relevant states to be reached (say clonedPl being reconciled)
  - success: When reconciliation is complete and a success (status: true)
  - failure: When reconciliation is unable to progress further (although most often we never report this and keep trying, but leaving it here nontheless)
  - cleanup: When cleanup is in progress, where Available may go to true, but we still would be reconciling to cleanup secondaries

VRGstatus:
  - Do we carry status of Secondary, say when we are relocating and winding down the current primary?
  - We would carry the status of Primary as applicable always

@BenamarMk This can be closed, or is it left for the comment?

This PR is no longer needed.  IOW, the content of it was merged as part of PR 197.  I changed the title to [NOT NEEDED - DO NOT MERGE] until we transfer incomplete comments into issues.

Closing older PRs that are not applicable at present. Reopen if required.