locale CLP

El paquete no funciona cuando asigno el parametro locale como CLP (peso chileno)

@smunozjara Sorry I can not read your language.
Please rewrite in English Thank you :)

The package does not work when I assign the locale parameter as CLP (Chilean peso)

@smunozjara
maybe you should make this issue to intl package, because we are using this package for locale
https://github.com/dart-lang/intl
I will close it.
Thank you!


Document new datasources framework

New datasources framework needs to be documented.
See: https://github.com/aerogear/graphback/pull/746

We need to:

Rebuild entire datasources
Make it clear that db migrations support only knex
Make it clear what datasoruces we support and how to do it from the code/config
Document graphql config

Blocker for release

@jaskeerat789 This seems like simple issue you can take look on. See our templates app implementation for more details how the api works


Specify node version in circle.yml

Previously, builds were failing, even a re-build of previously passing master. The output from bin/test included the following warning which looked like a possible root cause:
warning You are using Node "4.2.6" which is not supported and may encounter bugs or unexpected behavior. Yarn supports the following semver range: "^4.8.0 || ^5.7.0 || ^6.2.2 || ^8.0.0"

Sure enough, specifying a recent node version in circle.yml gets the build back to green.

 Specify node version in circle.yml


Fixing Module comments that were accidentally changed

Whoops. I appreciate the speed with-which https://github.com/vulkano-rs/vulkano/pull/1890 was merged, but I notice now that I had accidentally changed the leading module comments to be outer-line doc comments.
This is a simple commit to fix those comments again.

No problem, I appreciate the fix!


Grid - dynamically changing number of columns or rows has some issues

... with the way I have done it at least. The code should produce a grid that fits in the space its given.
Code Repository
Columns and row definitions are always spec-ed with the type of star - directive
On the first run - all fine - adding column definitions and row definitions seem to be fine (ignoring moderately big numbers):

If I use the same grid (the above grid is from a cold start) and specify 5 rows and 5 columns in the input boxes and press build:

I'm not sure what it is up to (it's like its continued with the original 10 and added an extra 5 columns and rows) ... but I would expect it to render as:

repo:

run - see 10x10
change rows or cols
click `build grid
rows and cols will be miscalculated
repeat and eventually the labels will disapear

Is the remove columns and remove rows  not suffiecient? As it appears to continue to just add more column and row definitions.

Well, it seems GridLayout.removeRows/removeColumns doesn't call an important callback with each row/col ItemSpec, and that breaks the layout. I submitted a PR with a fix, but until that ships, you can use a loop to remove all rows one by one as a workaround. Change your directives to something like:
//grid.removeRows();
for (let row of grid.getRows()) {
    grid.removeRow(row);
}

@hdeshev thanks for looking into that. It was a proof of concept for the previous thread (template within a template was useful to learn). So the workaround is useful but not I am not in a hurry for the fix ;-)
Although... I make a demo of that memory game where you guess two cards and try to match the pairs.


The invite link to the discord channel is invalid

🐛 Bug Report
Thie link to join the discord channel is invalid
To Reproduce
https://github.com/facebook/jest/issues/new?template=question.md

https://discord.gg/MWRhKCj

Expected behavior
The link should be removed or fixed
Link to repl or repo
https://github.com/facebook/jest/issues/new?template=question.md

Does this work? https://discord.gg/Zy5BHsD
If yes, wanna send a PR changing to it?

@SimenB Yes that one works perfectly :)
I don't think I can make a PR for the Issue templtes?


I need to put multiple clusters in one endpoint (CON-517)

namespace generic_switch {
uint32_t get_device_type_id()
{
    return ESP_MATTER_GENERIC_SWITCH_DEVICE_TYPE_ID;
}

uint8_t get_device_type_version()
{
    return ESP_MATTER_GENERIC_SWITCH_DEVICE_TYPE_VERSION;
}

endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data)
{
    endpoint_t *endpoint = endpoint::create(node, flags, priv_data);
    return add(endpoint, config);
}

endpoint_t *add(endpoint_t *endpoint, config_t *config)
{
    if (!endpoint) {
        ESP_LOGE(TAG, "Endpoint cannot be NULL");
        return NULL;
    }
    add_device_type(endpoint, get_device_type_id(), get_device_type_version());

    descriptor::create(endpoint, CLUSTER_FLAG_SERVER);
    identify::create(endpoint, &(config->identify), CLUSTER_FLAG_SERVER);
    switch_cluster::create(endpoint, &(config->switch_cluster), CLUSTER_FLAG_SERVER);

    humidity_measurement::create(endpoint, &(config->humidity_measurement), CLUSTER_FLAG_SERVER);
    temperature_measurement::create(endpoint, &(config->temperature_measurement), CLUSTER_FLAG_SERVER);
    return endpoint;
}
} /* generic_switch */

This seems to be the wrong code, how should I modify

namespace generic_switch {
uint32_t get_device_type_id()
{
    return ESP_MATTER_GENERIC_SWITCH_DEVICE_TYPE_ID;
}

uint8_t get_device_type_version()
{
    return ESP_MATTER_GENERIC_SWITCH_DEVICE_TYPE_VERSION;
}

endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data)
{
    endpoint_t *endpoint = endpoint::create(node, flags, priv_data);
    return add(endpoint, config);
}

endpoint_t *add(endpoint_t *endpoint, config_t *config)
{
    if (!endpoint) {
        ESP_LOGE(TAG, "Endpoint cannot be NULL");
        return NULL;
    }
    add_device_type(endpoint, get_device_type_id(), get_device_type_version());

    descriptor::create(endpoint, CLUSTER_FLAG_SERVER);
    identify::create(endpoint, &(config->identify), CLUSTER_FLAG_SERVER);
    switch_cluster::create(endpoint, &(config->switch_cluster), CLUSTER_FLAG_SERVER);

    humidity_measurement::create(endpoint, &(config->humidity_measurement), CLUSTER_FLAG_SERVER);
    temperature_measurement::create(endpoint, &(config->temperature_measurement), CLUSTER_FLAG_SERVER);
    return endpoint;
}
} /* generic_switch */

This seems to be the wrong code, how should I modify

namespace generic_switch {
typedef struct config {
cluster::identify::config_t identify;
cluster::switch_cluster::config_t switch_cluster;
} config_t;
The generic switch struct have no member humidity_measurement and temperature_measurement
Generally, to add additional attributes in esp-matter, you would do the following, you can refer to the light_switch example:

You have to make three endpoints here or none of Google/Apple/Amazon are going to understand your device. Three endpoints with these three device types.

Generic Switch, 0x000F
Temp sensor, 0x0302
Humidity Sensor, 0x0307

Now a thermostat will be able to bind to these sensors.

You have to make three endpoints here or none of Google/Apple/Amazon are going to understand your device. Three endpoints with these three device types.

Generic Switch, 0x000F
Temp sensor, 0x0302
Humidity Sensor, 0x0307

Now a thermostat will be able to bind to these sensors.

Can I achieve my goal like this
temperature_sensor::config_t temperature_sensor_conf;
bridged_device->endpoint = temperature_sensor::add(bridged_device->endpoint, &temperature_sensor_conf);
humidity_sensor::config_t humidity_sensor_conf;
bridged_device->endpoint = humidity_sensor::add(bridged_device->endpoint, &humidity_sensor_conf);

Only one data can be displayed on google home, such as humidity, but temperature and humidity can be displayed on apple home.

@shun-dgut Multiple clusters on one endpoint are possible through the APIs. How to interpret/understand them is on the commissioner phone app that is used. I will close this issue now


Form transfer agreement WIP

Contributes to https://trello.com/c/dxKIneyd/866-create-front-end-for-inventory-transfers-between-bases-orgs
Included:

transfer agreement form
transfers agreement table
shipment form
shipments table

Still missing:

access to views/mutations adjusted to permissions
tests
qr scanner integration
rethinking/improving UX flow
update shipment
receiving side UI of the shipment

Since #286 (and previous work in dropapp) was merged, the required tables are set up in the staging database and the database dump is updated. So this PR can be rebased on master and finalized @flisowna @spaudanjo

 2.0 Create Front-end for Inventory Transfers between bases / orgs

@HaGuesto @vahidbazzaz is this still in progress, or has the work here been incorporated into other PRs? What should we do with this one?

@aerinsol parts from this PR are currently being integrated in the work of @HaGuesto and @vahidbazzaz for implementing create-agreement and agreement-overview screens in a TDD way. Otherwise this PR will not be used anymore, especially it won't be merged ever.

@vahidbazzaz @HaGuesto please do reference this PR if needed and tag @spaudanjo and @flisowna in co-authored commits. Since this will never be merged I will close this PR.


[Feature Request] Total count of competitors

When entering results and double-checking, it would be useful to display the total count of scorecards (/competitors) that have been entered and even scorecards left to be entered. This number is not always the last place number due to ties (like 20 people triple DNFing in 3BLD).
Maybe: 55/60 (if there are 55 competitors with results and 5 people still to be entered or quit.

What do you think of that?

Implemented in dfff5f42030e128c8fbceb87abf0f81dee558b9e.


Test Subfeature for github integration

This is a subfeature for github integration.

Link to subfeature: https://homechef.productboard.com/feature-board/planning/features/18377301


Shared Object styles does not works anymore inside CVA fuction

Description
Hey,
Usually I extract the shared styles to an object and use them in multiple component, for instance Button and IconButton share the same base Style, so I have an Object that look like this
export const buttonBaseStyle = {
  px: 6,
  py: 2.5,
  textStyle: 'label.lg',
  height: '10',
  minWidth: '10',
  position: 'relative',
  userSelect: 'none',
  display: 'inline-flex',
  appearance: 'none',
  alignItems: 'center',
  justifyContent: 'center',
  gap: '2',
  whiteSpace: 'nowrap',
  verticalAlign: 'middle',
  rounded: 'full',
  cursor: 'pointer',
  transition: 'all',
} satisfies SystemStyleObject;

and in cva function I spread the object for example
export const buttonStyle = cva({
  base: {
    ...buttonBaseStyle,
    py:2,
  },

  variants: {
    variant: {
      filled: {
        bgColor: 'red',
        color: 'blue',
      },
      outlined: {},
      text: {},
      elevated: {},
      tonal: {},
    },
  },

  defaultVariants: {
    variant: 'filled',
  },
});

That used to work before, but I assume after the last update it stopped working.
Link to Reproduction
Codesandbox
Steps to reproduce
Check button component
JS Framework
React (TS)
Panda CSS Version
0.14.0
Browser
latest
Operating System

[X] macOS
[ ] Windows
[ ] Linux

Additional Information
No response

The problem is with satisfies SystemStyleObject as it works if I remove it or I use buttonBaseStyle: SystemStyleObject
extra context should be found on Discord here: https://discord.com/channels/1118988919804010566/1151263939808727132


BlueprintReplicationCondition does not always exist on UProperty

In UProperty.Read is this block of code (and there is similar in Write):
if (reader.Asset.GetCustomVersion<FReleaseObjectVersion>() >= FReleaseObjectVersion.PropertiesSerializeRepCondition)
{
    BlueprintReplicationCondition = (ELifetimeCondition)reader.ReadByte();
}

I am working with UE 4.27 blueprint assets from the game Icarus, and that byte is not present in properties that I encountered. That check returns true for any version from 4.22 onwards. However, I suspect the presence of this value depends on more than just the engine version. Perhaps it is only present of the property flag CPF_RepNotify is set?

Good to see you again, Crystal!
The code in question is pretty much just a direct copy of this line of code within PropertyPrivate.cpp, which is one of the only places in the codebase where BlueprintReplicationCondition is mentioned. Given this code, there are only really a few ways I can see it not being serialized:

The current FReleaseObjectVersion custom version is set to something before FReleaseObjectVersion::PropertiesSerializeRepCondition (see EpicGames/UnrealEngine@da64b0e), which by default would be before 4.21, but could be manually changed with a custom engine build or in any versioned asset (which sounds silly)
The UProperty::Serialize method returns before the field can be serialized, or is never called at all for some reason
The code in question serializing the field was removed in a custom engine build (which sounds silly)

So this is a very strange issue... perhaps the byte actually is being serialized and there is some issue in another part of serialization, but I can't really say anything detailed without looking directly at an asset with this problem.

The interesting thing is that all the memory seems to line up perfectly if we skip that byte. The value of the byte in the assets I have never matches up with any of the enum values, and reading it causes things to fail soon after because of not being aligned to the data anymore.
I looked at the code you linked from the engine. There are a couple things I can see that could cause that code to never run.

UProperty::Serialzie is virtual, so any derived UProperty class could behave differently. However, all the overloads I could quickly find do call the base class method.
That specific line calls FArchive's operator<< which calls serialize, which is a virtual method that has an empty implementation in the base class. Without knowing which specific derived class is being used, I cannot tell what the implementation actually does.

I tried to reproduce the issue again so I could get more information and now none of  the assets I am trying ever end up calling the UProperty.Read function at all. I don't remember what assets I was looking at before . So I guess don't worry about it. I will report back if I manage to encounter it again.


gaze error when watch event start

i am having several problems with these errors, all pointing to gaze, follows the screenshot below.
Gaze._watchDir (/var/www/havikhunting/node_modules/gulp/node_modules/vinyl-fs/node_modules/glob-watcher/node_modules/gaze/lib/gaze.js:289:30)

I has the same error, but my problem did not was space, my problem was configuration in my operacional system. This code resolve my problem:
echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Source: https://discourse.roots.io/t/gulp-watch-error-on-ubuntu-14-04-solved/3453/2

thanks @spohess,
Solved for me :+1:

thanks @spohess
Solved for me, too !!! Great !!!

Thanks @spohess
It solved the issue for me :smile:

Thanks @spohess ! Solved for me! :D

@spohess WOW! Thanks a lot for the solution! :+1:

thanks @spohess !

Thanks, it worked!

Thanks. @spohess

Thanks

Thanks, @spohess

thanks, @shama

thanks @spohess your solution works fine ;)

@spohess Thanks a lot for the solution!

Works for me thanks :)

Thanks for the solution ! :)

Thanks for the solution ! :)

<3 te amooo

+1   Thanks so much!!!! Solved it for me.

Thanks for the solution @spohess !

Solve for me . Thanks


Other blocks that could be made customizable

Wall signs: Only the wood part. This would also eliminate the weird floating effect the wall sign has. Text would still use block entity rendering.
Standing signs: Not sure how rotation would work. Text would still use block entity rendering. Could the models also be modified somewhat as to fix MC-28561 and MC-157547, or would this be out with the scope of the mod?
Creeper and zombie heads
Creeper and zombie wall heads
Skeleton and wither skeleton skulls
Skeleton and wither skeleton wall skulls
Banners: Only the stand
Wall banners: Only the section that attaches to the wall

The following I'm considerably less sure of:

Chests, trapped chests and ender chests: maybe the only part using the block entity renderer would be the lid?
Shulker boxes: use a regular cube model when closed, so faces can be culled, and then switch to the usual model when opened? Or does that defeat the purpose of the mod?
Player heads and player wall heads: I don't know enough about how these work to be able to suggest much in regards to them
Other blocks would include stuff like ender dragon heads and wall heads, the actual bell itself, enchantment table books, and end portals and gateways. I really don't know enough about these blocks to be able to effectively comment on them, but having them somehow be remodelable would come in handy to at least some people.

The simple skulls/heads are already being worked on. I don't think that adding support for changing animated models or static parts of BER models is a good idea though.

The animated models could work if #2 is implemented by sharing code between entity renderers and BERs.

Should I split this up into multiple tickets, one for each unique model or group of models, for easier tracking?

Closing this ticket since ModelsUnlocked is pretty much a discontinued project from the time being, and has been largely supplanted by EnhancedBlockEntities - feel free to reopen this if work continues


SkyWalking agent version 8.8.0 is unable to generate TIDs (trace IDs) for RocketMQ 5.0

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description

Use case
No response
Related issues
No response
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Don't spam the community channel.

This is not a service support.You have asked on discussion channel.


docs: add section on how agents should update

@fredo is this ready for review (I see this marked as a draft)?
From my side, this looks excellent.

@fredo is this ready for review (I see this marked as a draft)?
From my side, this looks excellent.

yep it's ready 👍


Changes to the parent of instanced inherited scenes fail to update in the editor

Godot version
3.4.stable
System information
Windows 10
Issue description
When an inherited scene is instanced within another scene, saved changes to the parent node fail to show up in the editor. Changes are only visible after closing and reopening the scene tab. This can cause confusion to new users who are working with inherited scenes and do not see changes.
Steps to reproduce
-Create a new project
-Create a node2d scene named main_scene
-Create a node2d scene named parent_scene with a sprite as the child (icon.png can be used as the texture)
-Create an inherited scene named child_scene which inherits from parent_scene
-Instance child_scene within main_scene
-Update the parent_scene in some visible way (say, change the modulate of the sprite for a color update) and save the change
-This change will be reflected in the child_scene 2d tab, but not in the main_scene 2d tab.
-The change will be visible if the project is run, but this does not update the editor. The editor is only updated by closing and reopening the main_scene tab.
Minimal reproduction project
Test.zip

Related to https://github.com/godotengine/godot/issues/38853 (which is for 3D). This is likely a duplicate of another issue, but I can't find it right now.


Keysight m3202a - Fix

Fixed memory initialization. It was broken in review process.
BTW. Thanks for review of #55 and adding the parameter typing.

Thanks @sldesnoo-Delft

Thanks @sldesnoo-Delft


Bug: Playground open links on click

Steps To Reproduce

Open https://playground.lexical.dev/
Click on Lexical website link in the bulleted list

The current behavior
Opens the link on new tab
The expected behavior
Place the caret at that position.

This is not a bug, it's functionality that's added via this plugin: https://github.com/facebook/lexical/blob/main/packages/lexical-playground/src/plugins/ClickableLinkPlugin.ts


Support draft mode in frontMatter

What problem will this feature address?
Support draft mode by default
Describe the solution you'd like

draft: true
Describe alternatives you've considered
Preview draft at development
Additional context
No response

Can you elaborate more about the proposal?

At least include the following information in your feature request.

What does the feature do?
How the syntax would look like?


Cannot uninstall Leon

Hey all.
I'm not able to uninstall leon-ai after its successful installation.
So far, I have tried the commands:

npm uninstall -g leon-ai
npm uninstall -g<EMAIL_ADDRESS>npm uninstall -g cli
Nothing worked.

I would appreciate help with this issue.
Documentation Is:

[x] Missing
[x] Needed
[ ] Confusing
[ ] Not Sure?

Explanation
I believe this information is needed, especially for those (like me) who aren't experienced in using npm package manager
Proposal
Add the instructions to uninstall Leon AI to the documentation pages

Hi, you can run the following commands:
# Delete Leon instance
leon delete --yes
# Uninstall Leon CLI
npm uninstall -g @leon-ai/cli

Hi, you can run the following commands:
# Delete Leon instance
leon delete --yes
# Uninstall Leon CLI
npm uninstall -g @leon-ai/cli

Thanks! It helped.
Should I still keep the issue open? This issue was created primarily regarding the documentation.

The documentation will be rewritten for the official release :smiley:


Add pyproject.toml-based pixi support

Just an experiment, as pixi 0.18.0 was released today with some convenient features:

Just use pyproject.toml, no need for a separate pixi.toml file
Support for editable install

Furthermore, the PR make extensive use of the multiple environments feature (see https://prefix.dev/blog/introducing_multi_env_pixi) to permit to separate run and test dependencies, and separate environments for gpu support (just on linux-64). In a nutshell the following 4 environments are available:

default : the default environment, useful to run jaxsim on CPU
test-cpu : environment with test dependencies, to test jaxsim on CPU
gpu : environment with cuda dependencies, to run jaxsim on CPU or GPU
test-gpu : environment with test and cuda dependencies, to test jaxsim on GPU

To check that this is actually working as intended, run import jax;print(jax.devices()) in the different environments:
traversaro@IITBMP014LW012:~/jaxsim$ pixi run -e default python -c "import jax;print(jax.devices())"
An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu.
[CpuDevice(id=0)]
traversaro@IITBMP014LW012:~/jaxsim$ pixi run -e gpu python -c "import jax;print(jax.devices())"
[cuda(id=0)]

To run the tests, run:
pixi run test

If you are on machine with CUDA support, a menu will ask if you want to run test in test-cpu or test-gpu environment, otherwise the test will run automatically in test-cpu as a fallback.
No CI/docs for now as I first need to understand if it is actually useful.
To test this, make sure that you are using the latest pixi 0.18.0 .
I am not super excited by the size of the pixi.lock, but I guess it is the price to pay for full reproducibility and the use of multiple environments on multiple operating systems. Probably we can reduce this by removing some operating systems from the platform list.

📚 Documentation preview 📚: https://jaxsim--134.org.readthedocs.build//134/

Last curiosity: how should the lock file be updated? Do we have to do it manually once in a while (or better, automate it every one/two weeks)?

I added a CI to do it automatically in https://github.com/robotology/whole-body-estimators/pull/178, see also the documentation in https://github.com/prefix-dev/pixi/issues/909 . However, given the size of the pixi.lock I am not sure if such a frequent update is a good idea now.

Last curiosity: how should the lock file be updated? Do we have to do it manually once in a while (or better, automate it every one/two weeks)?

I added a CI to do it automatically in robotology/whole-body-estimators#178, see also the documentation in prefix-dev/pixi#909 . However, given the size of the pixi.lock I am not sure if such a frequent update is a good idea now.

Thanks for the explanation! Given the youth of the tool, we can consider pixi support as experimental. Updating it manually when needed works for me.

Wow the lock is about 1MB, pretty large file considering that the entire git repository after a couple of years of development is just 2.8 MB :sweat_smile:

Ok, I addressed the reviews. Leaving just linux-64 and depending on sdformat14 instead of gz-sim8 (as gz sdf is simply provided by sdformat14) I was able to reduce the pixi.lock size to 280KB, still not so small.

Ok, I addressed the reviews. Leaving just linux-64 and depending on sdformat14 instead of gz-sim8 (as gz sdf is simply provided by sdformat14) I was able to reduce the pixi.lock size to 280KB, still not so small.

Having just a default and gpu environment instead of default,test-cpu,gpu,test-gpu the size is reduced to 230 Kb.

Ok, I addressed the reviews. Leaving just linux-64 and depending on sdformat14 instead of gz-sim8 (as gz sdf is simply provided by sdformat14) I was able to reduce the pixi.lock size to 280KB, still not so small.

Perfect :heart_eyes:

as gz sdf is simply provided by sdformat14

This is amazing! Since when? Last time I checked, gz was provided by Gazebo Sim and gz sdf was provided by a plugin from sdformat.

as gz sdf is simply provided by sdformat14

This is amazing! Since when? Last time I checked, gz was provided by Gazebo Sim and gz sdf was provided by a plugin from sdformat.

Since the beginning I guess? gz/ign as always been provided by gz-tools/ign-tools (see https://github.com/gazebosim/gz-tools), and then all the packages install the plugins with their tools, including gz-sim that installs the gz sim command.

as gz sdf is simply provided by sdformat14

This is amazing! Since when? Last time I checked, gz was provided by Gazebo Sim and gz sdf was provided by a plugin from sdformat.

Since the beginning I guess? gz/ign as always been provided by gz-tools/ign-tools (see https://github.com/gazebosim/gz-tools), and then all the packages install the plugins with their tools, including gz-sim that installs the gz sim command.

Ok, probably I overlooked things in the past. I always installed gz-sim* in my recent environments for nothing :) This also means that we can keep using gz sdf in https://github.com/ami-iit/rod/issues/30.

Is this PR ready for merging?

Is this PR ready for merging?

Ready for me. Not super excited of the 200KB of space used, but I think the tradeoff with the added usability is worth it.

Hopefully this will not explode the repo too much, because the file is diff-able so only changes should be recorded. However, it's still an initial add of 200KB of space for sure.

Yep I agree, 200KB of a diff-able file is not too bad, especially if compared to the initial one 1MB large. Let's start playing with this real-case example of JaxSim, which is pretty interesting due to the need of GPU environments, and then re-evaluate it in a few months.
I'm particularly interested in the definition of a custom command that in a single line creates the CPU/GPU environment and then opens one of the existing jupyter notebooks with the examples. It would make the life of external users interested in playing with JaxSim much easier.

I'm particularly interested in the definition of a custom command that in a single line creates the CPU/GPU environment and then opens one of the existing jupyter notebooks with the examples. It would make the life of external users interested in playing with JaxSim much easier.

We are almost there I guess, we need to add notebook as a dependency and add a task like https://github.com/traversaro/mujoco-mjx-pixi-example/blob/main/pixi.toml#L13 .


Monitoring Kubernetes using Prometheus

Hi;
I am running a Prometheus instance external to the Kubernetes cluster. I am trying to use  this instance to scrape Kubernetes cluster. Here is my prometheus.yaml file:
global:
  scrape_interval: "15s"     # By default, scrape targets every 15 seconds.
  evaluation_interval: "15s" # By default, evaluate rules every 15 seconds.

scrape_configs:
- job_name: "prometheus"
  scrape_interval: "15s"
  metrics_path: "/metrics"
  target_groups:
    - targets: ["localhost:9090"]
    - targets: ["<IP_ADDRESS>:9100"]
    - targets: ["node6.crmld.com:9110"]

#Kubernetes
- job_name: "K8s Cadvisor"
 scrape_interval: "15s"
 metrics_path: "/metrics"
 target_groups:
   - targets: ["http://node6.crml.com:4001"] #Cadvisor

- job_name: "K8s APIserver"
 scrape_interval: "15s"
 metrics_path: "/metrics"
 target_groups:
   - targets: ["http://node6.crml.com:8888"] #APIserver

- job_name: "K8s Kublet"
  kubernetes_sd_configs:
    - api_servers: 'http://node6.crml.com:8888'
  relabel_configs:
    - source_labels: ["__meta_kubernetes_role"]
      action: "keep"
      regex: "node"

I keep getting the following errors:
Aug 19 17:15:41 node1 prometheus: time="2016-08-19T17:15:41+01:00" level=error msg="Couldn't load configuration (-config.file=/opt/prometheus/prometheus.yml): \"http://node6.crmld.com:4001/metrics\" is not a valid hostname" file=main.go line=177
Aug 19 17:15:41 node1 prometheus: time="2016-08-19T17:15:41+01:00" level=error msg="Note: The configuration format has changed with version 0.14. Please see the documentation (http://prometheus.io/docs/operating/configuration/) and the provided configuration migration tool (https://github.com/prometheus/migrate)." file=main.go line=178

However, when I use my browser to go to http://http://node6.crmld.com:4001/metrics I can see all the metrics.
Can someone please help, its probably something quite simple?
Thanks
Ali.

Per the error emssage you've an invalid configuration. Remove the http:// from the targets.

Brian, thank you for pointing that out...I was using the Link here as guide
to config..
https://github.com/prometheus/prometheus/blob/master/documentation/examples/prometheus-kubernetes.yml
Thanks
Ali.
On 23 Aug 2016 16:14, "Brian Brazil"<EMAIL_ADDRESS>wrote:

Per the error emssage you've an invalid configuration. Remove the http://
from the targets.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/prometheus/prometheus/issues/1911#issuecomment-241765109,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABZus8mUVA8wOKp0OMigxN3K2AoUbT0Rks5qiw5WgaJpZM4JrA_v
.

Hi;
I can now see the output from the API. A further question from me if you can assist as I am new to prom..from a nagios background.
Using my external prom server, I am using the example prometheus-kubernetes.yml file from the repo: https://github.com/prometheus/prometheus/blob/v1.0.1/documentation/examples/prometheus-kubernetes.yml
I am getting this error:
ERROR: Aug 24 11:12:42 node1 prometheus: time="2016-08-24T11:12:42+01:00" level=info msg="Loading configuration file /opt/prometheus/prometheus.yml" file=main.go line=173
Aug 24 11:12:42 node1 prometheus: time="2016-08-24T11:12:42+01:00" level=error msg="Couldn't load configuration (-config.file=/opt/prometheus/prometheus.yml): unknown relabel action "labelmap"" file=main.go line=177
Maybe I'm mix and matching a prom running inside k8s and my one running externally?
PROMETHEUS.YML
Global default settings.
global:
scrape_interval: "15s"     # By default, scrape targets every 15 seconds.
evaluation_interval: "15s" # By default, evaluate rules every 15 seconds.
scrape_configs:

job_name: "mesos"
scrape_interval: "15s"
metrics_path: "/metrics"
target_groups:

targets: ["localhost:9090"]
targets: ["<IP_ADDRESS>:9100"]
targets: ["<IP_ADDRESS>:9110"]

#Kubernetes

job_name: "k8s-Cadvisor"
scrape_interval: "15s"
metrics_path: "/metrics"
target_groups:

targets: ["<IP_ADDRESS>:4001"] #Cadvisor

job_name: "k8s-APIserver"
scrape_interval: "15s"
metrics_path: "/metrics"
target_groups:

targets: ["<IP_ADDRESS>:8888"] #APIserver

scrape_configs:

job_name: 'kubernetes-cluster'
Default to scraping over https. If required, just disable this or change to
http.
scheme: http
kubernetes_sd_configs:

api_servers:

'<IP_ADDRESS>:8888'
in_cluster: true

relabel_configs:

source_labels: [__meta_kubernetes_role]
action: keep
regex: (?:apiserver|node)
action: labelmap
regex: _meta_kubernetes_node_label(.+)
source_labels: [__meta_kubernetes_role]
action: replace
target_label: kubernetes_role

Scrape config for service endpoints.

The relabeling allows the actual service scrape endpoint to be configured
via the following annotations:

* prometheus.io/scrape: Only scrape services that have a value of true
* prometheus.io/scheme: If the metrics endpoint is secured then you will need
to set this to https & most likely set the tls_config of the scrape config.
* prometheus.io/path: If the metrics path is not /metrics override this.
* prometheus.io/port: If the metrics are exposed on a different port to the
service then set this appropriately.

job_name: 'kubernetes-service-endpoints'
kubernetes_sd_configs:

api_servers:

'<IP_ADDRESS>:8888'
in_cluster: true

relabel_configs:

source_labels: [__meta_kubernetes_role, __meta_kubernetes_service_annotation_prometheus_io_scrape]
action: keep
regex: endpoint;true
source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
action: replace
target_label: scheme
regex: (https?)
source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
action: replace
target_label: metrics_path
regex: (.+)
source_labels: [address, __meta_kubernetes_service_annotation_prometheus_io_port]
action: replace
target_label: address
regex: (.+)(?::\d+);(\d+)
replacement: $1:$2
action: labelmap
regex: _meta_kubernetes_service_label(.+)
source_labels: [__meta_kubernetes_role]
action: replace
target_label: kubernetes_role
source_labels: [__meta_kubernetes_service_namespace]
action: replace
target_label: kubernetes_namespace
source_labels: [__meta_kubernetes_service_name]
action: replace
target_label: kubernetes_name

Example scrape config for probing services via the Blackbox Exporter.

The relabeling allows the actual service scrape endpoint to be configured
via the following annotations:

* prometheus.io/probe: Only probe services that have a value of true

job_name: 'kubernetes-services'
metrics_path: /probe
params:
module: [http_2xx]
kubernetes_sd_configs:

api_servers:

'<IP_ADDRESS>:8888'
in_cluster: true

relabel_configs:

source_labels: [__meta_kubernetes_role, __meta_kubernetes_service_annotation_prometheus_io_probe]
action: keep
regex: service;true
source_labels: [address]
target_label: __param_target
target_label: address
replacement: blackbox
source_labels: [__param_target]
target_label: instance
action: labelmap
regex: _meta_kubernetes_service_label(.+)
source_labels: [__meta_kubernetes_role]
target_label: kubernetes_role
source_labels: [__meta_kubernetes_service_namespace]
target_label: kubernetes_namespace
source_labels: [__meta_kubernetes_service_name]
target_label: kubernetes_name

Example scrape config for pods

The relabeling allows the actual pod scrape endpoint to be configured via the
following annotations:

* prometheus.io/scrape: Only scrape pods that have a value of true
* prometheus.io/port: Scrape the pod on the indicated port instead of the default of 9102.

job_name: 'kubernetes-pods'
kubernetes_sd_configs:

api_servers:

'<IP_ADDRESS>:8888'
in_cluster: true

relabel_configs:

source_labels: [__meta_kubernetes_role, __meta_kubernetes_pod_annotation_prometheus_io_scrape]
action: keep
regex: pod;true
source_labels: [address, __meta_kubernetes_pod_annotation_prometheus_io_port]
action: replace
regex: (.+):(?:\d+);(\d+)
replacement: ${1}:${2}
target_label: address
action: labelmap
regex: _meta_kubernetes_pod_label(.+)
source_labels: [__meta_kubernetes_pod_namespace]
action: replace
target_label: kubernetes_namespace
source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: kubernetes_pod_name

Make sure you're running a recent version of Prometheus, labelmap was added quite some time ago.

Closing as this has gone stale.


Broken Link: Plugin Guide

The Plugin Guide links to the BasePlugin which is a broken link.
Which interface should this link to? There are a couple so I wasn't sure which link to add to the doc. Or should both the Browser and Node base plugins be linked to?

Web Base Plugin
Node Base Plugin

The web and node base plugins should share the same public interface. I would link to the node one.

Thanks, I'll update that.


the string is still divided into pieces

I also saw this paper today. The main purpose of the paper is to get rid of the tokenizier, but in fact, the string is still divided into pieces, but a pre-decoder is added. Is there a problem with my understanding?

yea, but the tokenization is learned through the patch embed, which i assume is just a linear layer like the patch embedding of the vision transformer


How to document fields in an ES2015 class?

I see that jsdoc has support for ES2015 classes but the documentation doesn't show an example for the following situation:
/** Class representing a point. */
class Point {
    constructor(x, y) {
        /**
         * The x value.
         * @type {number}
         */
        this.x = x;
        /**
         * The y value.
         * @member {number}
         */
        this.y = y;
    }

    /**
     * The z value.
     * @type {number} z
     */

    /**
     * The w value.
     * @member {number} w
     */
}

In the above scenario properties x, y, z and w do not seem to be included in the generated documentation.
What is the proper way to achieve this?

The following example works perfectly for me in JSDoc 3.4.0:
/** Class representing a point. */
class Point {
    constructor(x, y) {
        /**
         * The x value.
         * @type {number}
         */
        this.x = x;
        /**
         * The y value.
         * @type {number}
         */
        this.y = y;
    }

    /**
     * The z value.
     * @name Point#z
     * @type {number}
     */

    /**
     * The w value.
     * @name Point#w
     * @type {number}
     */
}

Weird... I'm running this sample as is with all versions from 3.4.0 to 3.4.4 with latest Node as well as with LTS and still not getting members.

/**
  Test
  @module Test
 */

/** Class representing a point. */
class Point {
    constructor(x, y) {
        /**
         * The x value.
         * @type {number}
         */
        this.x = x;
        /**
         * The y value.
         * @type {number}
         */
        this.y = y;
    }

    /**
     * The z value.
     * @name Point#z
     * @type {number}
     */

    /**
     * The w value.
     * @name Point#w
     * @type {number}
     */
}

@Fr0sT-Brutal, because Point is an inner member of module:Test, your example should actually look like this:
/**
  Test
  @module Test
 */

/** Class representing a point. */
class Point {
    constructor(x, y) {
        /**
         * The x value.
         * @type {number}
         */
        this.x = x;
        /**
         * The y value.
         * @type {number}
         */
        this.y = y;
    }

    /**
     * The z value.
     * @name module:Test~Point#z
     * @type {number}
     */

    /**
     * The w value.
     * @name module:Test~Point#w
     * @type {number}
     */
}

But with that updated code, we fail to pick up the x and y properties—each of them gets an incorrect longname. For that reason, I'm reopening this issue.
As a workaround, you can use the @alias tag to force each member to get the correct longname:
/**
  Test
  @module Test
 */

/** Class representing a point. */
class Point {
    constructor(x, y) {
        /**
         * The x value.
         * @alias module:Test~Point#x
         * @type {number}
         */
        this.x = x;
        /**
         * The y value.
         * @alias module:Test~Point#y
         * @type {number}
         */
        this.y = y;
    }

    /**
     * The z value.
     * @name module:Test~Point#z
     * @type {number}
     */

    /**
     * The w value.
     * @name module:Test~Point#w
     * @type {number}
     */
}

This is probably a duplicate of #1182. Need to investigate further.

Yep, this is a duplicate of #1182, which is now fixed on master. The fix will be included in JSDoc 3.5.0.


Fix bug injected by f46136ed8d784bcabe392e6b4c9c9569d454a9f4

(this is a pretty clear mistake in the code; perhaps an over-zealous search-and-replace?  I just put back the previous version.)

fixed by 770c5e87d2e0d0ef8fb7cec11fd5ab96da6b80ca


REVERT #276

Scenario/Intent
#276 unecessarily breaks backward compatibility, please revert it!

No problem. I'll make the change.


Make HTTP version optional

In many cases it is not necessary to specify the HTTP version to be used instead it can be chosen by the underlying HTTP implementation.
A hypothetical requests-like client may allow sending requests like this:
let request = Request::builder().uri("https://www.google.com/about/").body(())?;
let response = requests::fetch(request)?;

Currently the request will be for HTTP_11 but a crate user probably means "use whatever HTTP version you think works best" and in this case would probably prefer if the http client used e.g. HTTP/2, QUIC. But in some other cases users will explicitly set the version to HTTP_11 because they want to test the page or just don't like the overhead of HTTP/2 for a single connection so ignoring the field for sending requests is not an option either.
I think the version field should be optional: either Option<Version> or it could be an extension using the extension mechanism (still part of this crate of course).

IMO, version shouldn't be optional to reduce having that API complexity. When sending a message, a default of 1.1 should be fine.
I think it should be left up to the consumer of the message (client / server impl) to decide how they want to handle versions. There isn't one size fits all, so it doesn't seem appropriate for this crate to dictate.

And how is "I don't care about the protocol version just get me a response." handled? Not every server will support 1.1 forever.

I believe that it is possible to take a request w/ a lower protocol version and represent it w/ a higher version. So, Version would just default to 1.1 and the client / server would send it through H2. I would think that this is a sane default.

You mean, the HTTP client should ignore the version field and use the "best" version? For example if the client learns that example.org supports HTTP/2 it would send every request with HTTP/2? To do something different an unspecified client-specific API needs to be used?

Yes, I would imagine that when creating your HTTP client, you would configure how the client should behave around upgrades, etc... you would tell the client to force HTTP 1.1 or implicitly upgrade to HTTP 2.0.
Having this crate enforce anything is out of scope IMO.


garbled output after fine-tuning

See screenshot below for garbled output during the "Evaluation" step of the fine-tuning snack recipe.


Added xhr readystatechange handler to options

I need to add a listener on xhr, a quick fix would be to add an option

I think this handler is missing some params, like which chunk or file has fired it?

Please make it camelCase and add it to the docs

I added the xhr option, inspired by the jquery ajax xhr option (http://api.jquery.com/jquery.ajax/).
An additional parameter gives the file object

This can be already be worked around by hijacking uploadMethod:
uploadMethod = (uploadMethod, fileObj, chunk) => { chunk.xhr.onreadystatechange = () => 'foo'; return 'POST'; }

uploadMethod looks like a workaround, so I think this could be merged

uploadMethod is a good solution


[v4 css] Collapsed navbar toggle moves to awkward position

I am using a navbar with only a brand image; no brand name (as shown above). You can see that the collapse button is clearly out of place, over my brand image.
Expected
The collapse toggle should remain right-floated regardless of viewport width.
Also...
Does anyone else think that the toggle collapse button should be redesigned? For instance, on dark backgrounds it should be lighter (maybe completely white). I'd also be interested in seeing the border disappear — it is always a hassle to figure out the specific CSS heirarchy to modify it.

It seems I can't replicate this issue on my actual iPhone when the application is in production. (This particular screenshot was taken from Chrome DevTools.)

And isn't .container inside a navbar the correct way to align it? Not sure if there may be a new replacement.

I've posted a fix for this behaviour in #21605. Simply add this to your custom CSS file:
@include media-breakpoint-down(xs) {
    .container {
        margin-left: 0;
        margin-right: 0;
    }
}


Modal don't work

Description
When I click the modal button, this no open. Stay here
Repro Steps
Simply I paste the example by the page http://materializecss.com/modals.html

You have to initialize it using $('.modal').modal().
Please provide a codepen.

You need to add $('.modal').modal(); at your JavaScript (somewhere on documentReady etc.


Missing metadata in DocVQA validation/evaluation process

Hi, thanks for releasing your great work!
By the way, I'm currently having trouble with training and evaluating on official DocVQA dataset.
Here's the error message I got.
start valid loop
Traceback (most recent call last):
  File "train.py", line 236, in <module>
    main(None,config, args.resume)
  File "train.py", line 138, in main
    trainer.train()
  File "/root/dessurt/base/base_trainer.py", line 428, in train
    val_result = self._valid_epoch()
  File "/root/dessurt/trainer/qa_trainer.py", line 259, in _valid_epoch
    losses,log_run, out = self.run(instance,valid=True)
  File "/root/dessurt/trainer/qa_trainer.py", line 693, in run
    assert len(b_metadata['all_answers'])==1
TypeError: 'NoneType' object is not subscriptable

From debugging, I found that metadata is missing in DocVQA dataset.
After I fixed the following codeline, I could finally evaluate the model with official DocVQA dataset
https://github.com/herobd/dessurt/blob/662fbcb0962603e7f514ff5b1258185e6c7fb7e2/data_sets/docvqa.py#L57
=>
        return None,None,None,form_metadata,qa

Could you confirm that this modification is that the code originally intended?
Thank you! :)

Yes, thank you. I must have introduced that in some refactoring. Thanks for catching it. I'll fix it in the repo

Thank you for your quick response and update! :)
As the code is updated, I'll close this issue.


Custom Http Header

Hi,
In this PR I've merged addCustomHeader for HTTP Download Request, sample for this situation and a small fix for RetryPolicy. When no retry policy was setted, a default Retry Policy will be returned - avoiding null pointer exception in conn.setConnectTimeout(mRequest.getRetryPolicy().getCurrentTimeout());

Other changes looks good to me. Thanks for addressing the crash and adding custom headers for request.


[stdlib] Prototype bidirectional UTF-8 Decoding

@swift-ci Please smoke test and merge

@swift-ci Please smoke test and merge

@swift-ci Please smoke test and merge

@swift-ci Please smoke test and merge

@swift-ci Please smoke test and merge

on Tue Nov 29 2016, Jordan Rose <notifications-AT-github.com> wrote:

jrose-apple commented on this pull request.

@@ -9,9 +9,12 @@
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
-// RUN: %target-run-simple-swift
+// RUN: %target-build-swift -parse-stdlib -Xfrontend -disable-access-control %s -o %t/a.out

Why do you need this? Because it won't work in general.

I was just hoping it would work around what appears to be a SILGen bug
that shows up in CI but I wasn't able (at the time) to reproduce
locally.  I'm eager to remove it, but there's not much point until the
SILGen bug is fixed.
--
-Dave

You can avoid the problem by not using @inline(__always) for the nested functions inside UTF8.parseForward, or else making UTF8.Classification.init public. It looks like we mark @inline(__always) functions as "fragile" to export their SIL even when they're private or nested, which seems unnecessary.

@swift-ci Please smoke test and merge

@swift-ci Please smoke test and merge

@airspeedswift

Can you move this test to validation-test? StdlibUnicodeUnittest isn't built when just running the normal tests.

This test is failing on iOS. Reverting in #6010.

on Thu Dec 01 2016, Jordan Rose <notifications-AT-github.com> wrote:

Can you move this test to validation-test? StdlibUnicodeUnittest isn't built when just running the
normal tests.

Okay, will do.
--
-Dave

…and macOS:
https://ci.swift.org/job/oss-swift_tools-RA_stdlib-RD_test-simulator/2433/
Might be an intermittent failure.


Create 404 page

The 404 page should be "smart" meaning that it should be able to recognize if there is a QID in the URL and if so show a usable message and provide a link to Wikidata because the item might have been on govdirectory.org or might one day be there.

Something like: "We're sorry, we don't have any data for the agency you were looking for. Perhaps there is something useful on Wikidata [link]?"


Fix KeyValue table notes for NPC explosion damage

Notes for NPC explosion damage were incorrect. If undefined, it doesn't use player values, it sets the value to 0.

can indeed confirm is a PR. works. is gud. 10/10


Add option to trim values

--trim

If we decide to make --replacements support regular expressions (in addition to plain text) this would cover that case… and much more (using regexp like /^\s*/ and /\s*$/ and replacing each with the empty seeing)

Support for RegExps has been added so you can now do it with /^\s+/ and /\s+$/ :wink:


add forward_features of tsm

Codecov Report

Merging #1340 (6f5c280) into main (893b323) will increase coverage by 0.08%.
The diff coverage is 64.15%.

:exclamation: Current head 6f5c280 differs from pull request most recent head 32be4da. Consider uploading reports for the commit 32be4da to get more accurate results

@@            Coverage Diff             @@
##             main    #1340      +/-   ##
==========================================
+ Coverage   68.23%   68.31%   +0.08%
==========================================
  Files         283      284       +1
  Lines       14958    15091     +133
  Branches     2409     2427      +18
==========================================
+ Hits        10206    10309     +103
- Misses       4112     4143      +31
+ Partials      640      639       -1

Impacted Files
Coverage Δ

towhee/models/tsm/tsm.py
63.00% <7.89%> (-12.93%)
:arrow_down:

towhee/models/tsm/config.py
95.58% <95.58%> (ø)

towhee/models/tsm/mobilenet_v2.py
90.27% <0.00%> (-2.78%)
:arrow_down:

towhee/functional/mixins/display.py
27.55% <0.00%> (-2.00%)
:arrow_down:

towhee/models/timesformer/timesformer_utils.py
15.44% <0.00%> (-0.63%)
:arrow_down:

towhee/__init__.py
66.66% <0.00%> (ø)

towhee/dataframe/dataframe.py
74.15% <0.00%> (+1.04%)
:arrow_up:

towhee/engine/operator_runner/runner_base.py
93.97% <0.00%> (+2.40%)
:arrow_up:

towhee/engine/operator_context.py
86.95% <0.00%> (+4.34%)
:arrow_up:

towhee/engine/graph_context.py
92.30% <0.00%> (+6.15%)
:arrow_up:

... and 2 more

Continue to review full report at Codecov.

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


Add meson build

This PR adds support for the meson build system. Currently, only the standard cpp-only library is built, and tests are not yet enabled. I will add gRPC building in another PR, as well as tests - but I'm not sure how exactly tests work yet so that will take some more time.
To try out:

cd MAVSDK
meson build
cd build
meson compile
sudo meson install

Then, take a look at the takeoff_and_land example. There is a meson.build there that builds fine, or you can also use CMakeLists.txt by uncommenting the parts labeled "for meson". In the future I hope to make the usage process the same, but this requires generating a cmake config file with meson, which I don't yet know how to do.

@coderkalyan thanks for doing this.
One question that I wonder: Would it not be easier to just use meson to build it as a cmake project?
Given it's easier to add support for meson like you did, I'm not opposed, however, a meson build needs to be added to CI. Otherwise we are inevitably going to break it.

One question that I wonder: Would it not be easier to just use meson to build it as a cmake project?

@julianoes It might be, but for one, meson <-> cmake interop is not 100% bug free, and I thought it would be nicer to have a "pure" meson build system.

Given it's easier to add support for meson like you did, I'm not opposed, however, a meson build needs to be added to CI. Otherwise we are inevitably going to break it.

If you can point me to what needs to be done for adding it to CI (I've never used Travis), I'd be happy to add a meson workflow.

Why is it that we duplicate the third party CMakeLists.txt into subprojects now?
@JonasVautherin A side effect of how meson handles dependencies is that all subprojects need to be in the /subprojects directory. I know its not ideal, but meson's point of view is that it makes dependency handling cleaner for both the build system and us if all subprojects are in a specific directory.

And would you mind commenting a bit on those *.wrap? I don't know meson, I would love to get some insights slightly_smiling_face.

@JonasVautherin This is my first time using .wraps, but they are basically meson's dependency management solution, so basically you write a .wrap file containing respository/version information and any patches needed, and meson clones or downloads them into subprojects/ automatically at buildtime. I actually didn't write these wraps, I got them from a public repository: https://wrapdb.mesonbuild.com/. Since most of MAVSDK's dependencies are popular C/C++ libraries, I found the majority of them on the wrapdb. For the ones that didn't have wraps, I just cloned them into subprojects/ and added them as cmake subprojects. In the future I might write wraps by hand for the remaining projects and upload them to the WrapDB so we can use them.
For more information: https://mesonbuild.com/Wrap-dependency-system-manual.html

@coderkalyan for a CI check, please add a runner like this one https://github.com/mavlink/MAVSDK/blob/1f784fec29c0a04877c6fa9b7d1213d3ac6a0a1f/.github/workflows/main.yml#L55-L77

@coderkalyan what's the status here? Are you still planning to add the backend here as well? Or are you ok if we just add docs to make sure that MAVSDK can be compiled as a meson cmake subproject (whatever it's called)? I hope you understand that having to maintain two parallel build systems is not really what maintainers are thrilled about.

@coderkalyan I'm gonna close this. However, I would very much appreciate a pull request to the docs explaining how to build it as part of a meson project.


[FEAT][C++] Refactor the C++ SDK with forward declaration and shared ptr

Proposed changes
This is first attempt at refactoring the c++ library to make it header light-weight, api use-friendly and efficiency. The Pull Request includes the changes:

Add fwd.h to add much forward declarations and revise the info implementation(move the code to .cc as as far as possible）
Use shared_ptr in the GraphAr info classes(schema) to avoid too much memory copy.
Revise the API of Info classes to make them use-friendly.
Reorganize the test case
[WIP] add code coverage

Types of changes
What types of changes does your code introduce to GraphAr?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA
[x] Lint and unit tests pass locally with my changes
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)

Further comments

hi，@Thespica this PR may affect JAVA SDK in the future, can you help to review and give some comments from JAVA SDK view。

Hi, @acezen.
The main point that may affect Java SDK is using std::shard_ptr to manage info classes, thus the usage and parameters about info classes should have corresponding changes. Additionally, it also relates to problems concerning memory management.
I think it's okay form C++'s view, but we should design more for Java SDK.
I may have not enough bandwidth to deal with it next month, so I can't update Java SDK recently.

Hi, @acezen.
The main point that may affect Java SDK is using std::shard_ptr to manage info classes, thus the usage and parameters about info classes should have corresponding changes. Additionally, it also relates to problems concerning memory management.
I think it's okay form C++'s view, but we should design more for Java SDK.
I may have not enough bandwidth to deal with it next month, so I can't update Java SDK recently.

Thanks for the comments, it's fine that Java SDK not keep up recently.


MWPW-121450 - OST

Implements Offer Selector Tool in Milo in a full-page experience.
Adds OST button to Sidekick

Resolves: MWPW-122733
Test URLs:

Before: https://main--milo--adobecom.hlx.page/tools/ost?martech=off
After: https://ost--milo--adobecom.hlx.page/tools/ost?martech=off

Sorry for the messy first draft, did some housekeeping today.

Should we be able to select an offer?
Seeing this when going through the flow:

In general I can see a lot has happened with this PR. It's looking pretty good. I noticed that the offer selector tool is not opening in a modal in the word file. I don't expect it to be done in this PR, but I think you should at least add a task in the backlog to tackle this in the future. :)

Surely, I will create a separate task to add this functionality.

Until further notice, this still requires manual intervention of a token to be set in local storage. Please do not merge.
@Axelcureno @vhargrave do we have an ETA for this?

Until further notice, this still requires manual intervention of a token to be set in local storage. Please do not merge.
@Axelcureno @vhargrave do we have an ETA for this?

@auniverseaway no, no ETA unfortunately. I'd say at least a few months away tbh. Does it make sense to perhaps close the PR until the auth is ready?
cc: @Axelcureno

a few months away tbh
@vhargrave why it takes so long? can we consider intermediate solutions in the meantime? I'm happy to help.

a few months away tbh
@vhargrave why it takes so long? can we consider intermediate solutions in the meantime? I'm happy to help.

An intermediate solution would technically be setting the token in localstorage, which is what we're deciding not to do.
We can discuss this in the team call today otherwise @yesil . We could technically use an adobe I/O service to get the token, but I personally don't think it's worth investing the time in getting that properly setup.

a few months away tbh
@vhargrave why it takes so long? can we consider intermediate solutions in the meantime? I'm happy to help.

An intermediate solution would technically be setting the token in localstorage, which is what we're deciding not to do. We can discuss this in the team call today otherwise @yesil . We could technically use an adobe I/O service to get the token, but I personally don't think it's worth investing the time in getting that properly setup.

We might need to come up with a timely (intermediate) solution since I anticipate more and more integrations with 3rd party services that do require an authentication token of some sort, AOS being one of them.

Closing for now. We can re-visit when the token work is in place.


docs: Mark parts to skip for no calico.

Make it obvious which parts can be skipped if user does not want to use Calico
(for example, if they are setting up the simplest possible test cluster).

/cc @robszumski

LGTM other than minor nits

Thanks for the review comments - I've added the requested newlines.

lgtm


changed the order of the docker build command

When using the docker build command in INSTALL.md:
nvidia-docker build -t --build-arg CUDA=9.2 --build-arg CUDNN=7 maskrcnn-benchmark docker/
The following error occurs:
invalid argument "--build-arg" for "-t, --tag" flag: invalid reference format
See 'docker build --help'.

This happens because the order of the command is wrong. I changed the order of the command so that the error doesnt occur and the docker image can be built.

cc @miguelvr

Thanks!


Mapping to MITRE Techniques

Sentinel use cases have a mapping to MITRE Techniques. Adding Techniques (like T1546, T1134, etc) to the UC list would be very useful in MITRE ATT&CK mapping. The Tactics already is useful, so thanks for that, but for good coverage we need Techniques, too.

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

ID: a2eb1ae9-1cfc-0dd0-a055-79ae32b62a6d
Version Independent ID: 66ce0f69-16aa-c1f8-5163-7cc5392a3399
Content: Reference table for all security alerts in Azure Security Center
Content Source: articles/security-center/alerts-reference.md
Service: security-center
GitHub Login: @memildin
Microsoft Alias: memildin

@AbelLykens Thank you for your feedback . We will check the same with the content team and update what can be done on the same.

@AbelLykens Thank you for your feedback . We will check the same with the content team and update what can be done on the same.

@memildin Could you please review this request if this is something we could add or if there is anything related within your backlog for adding the techniques in the documentation ?

@memildin Could you please review this request if this is something we could add or if there is anything related within your backlog for adding the techniques in the documentation ?

Hi @AbelLykens, thanks for the feedback and for taking the time to help us improve the docs.
You're right that techniques would be a nice addition. We're exploring this area and when there are changes, you'll likely see them here and on the release notes page.
I'm going to close this issue, but feel free to comment again here or open a new one if you have additional requests.
#please-close

Hi @AbelLykens, thanks for the feedback and for taking the time to help us improve the docs.
You're right that techniques would be a nice addition. We're exploring this area and when there are changes, you'll likely see them here and on the release notes page.
I'm going to close this issue, but feel free to comment again here or open a new one if you have additional requests.
#please-close


Remove the legacy codec system

Serde is significantly more usable, and supporting two codec systems is very confusing and a waste of time.

Agreed. Though I'd like to get close to feature parity, so that people using the legacy codec can smoothly upgrade.

Heya, @vmx asked me to comment on our usage of the codec approach. To be honest, my first thought was the same as yours @Stebalien but there are two things that I enjoy in the codec approach:

Codecs know how to extract links
We mostly use dag-cbor, but in some cases we also encode as raw

I would love for there to be one true way, and if serializing data as blocks was as simple as deriving Serialize/Deserialize in most cases, that would be awesome :+1:

I agree that we definitely need a way to cleanly extract links. It shouldn't be too difficult to re-implement that with serde by just throwing away everything we don't care about, but the current method is more efficient.

That's not even necessary, really. We can just deserialize into a "links collector" that:

Collects links.
Ignores everything else.

Ah right, that should be possible too. When working with many small blocks, the current API allows to collect all links into a single container (without allocating a links container for each block), that's why I thought of DeserializeSeed.
Maybe there's two features at play even?

Only collect links without deserializing everything
Deserialize into a struct and collect all links, in a single pass
The latter might not matter much in practice though.

Only collect links without deserializing everything

Deserialize into a struct and collect all links, in a single pass

The latter might not matter much in practice though.

Agreed. I'd start with the former one and add the latter only if it turns out to be useful. I prefer keeping APIs small and targeted at needs, rather then adding theoretically  useful things.


Accidentally exponential-time analysis pass in compiler?

Description
JAX is unexpectedly slow to compile this simple recursive Fibonacci function.
My understanding is that it should cache each JIT-compilation of fib with a fresh (static) t, so I would expect compilation to take linear time in t, even though at runtime a call to fib would take exponential time to compute.
Indeed, at compile-time I only see each print statement called once per t. Yet nonetheless, JAX seems to be taking exponential time in t to compile fib — and the print statements "slow down" over time.
Hence, I suspect there is an analysis pass in the compiler that is taking exponential time.
import functools
import jax

@functools.partial(jax.jit, static_argnums=(0,))
def fib(t):
    print(f"Starting tracing fib({t})...")
    out = 1 if t <= 2 else fib(t - 1) + fib(t - 2)
    print(f"Finished tracing fib({t}).")
    return out

print(fib(24))

Another interesting piece of data:
print(fib.lower(10).as_text())  # this grows linearly with t
print(jax.make_jaxpr(fib, static_argnums=(0,))(10))  # this grows exponentially with t

System info (python version, jaxlib version, accelerator, etc.)
(venv) $ python --version
Python 3.12.4
(venv) $ python
Python 3.12.4 (main, Jun  6 2024, 18:26:44) [Clang 15.0.0 (clang-15<IP_ADDRESS>.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import jax; jax.print_environment_info()
jax:    0.4.30
jaxlib: 0.4.30
numpy:  2.0.0
python: 3.12.4 (main, Jun  6 2024, 18:26:44) [Clang 15.0.0 (clang-15<IP_ADDRESS>.5)]
jax.devices (1 total, 1 local): [CpuDevice(id=0)]
process_count: 1
platform: uname_result(system='Darwin', node='*****', release='22.6.0', version='Darwin Kernel Version 22.6.0: Tue Nov  7 21:42:27 PST 2023; machine='arm64')

(@abadams adds that it gets stuck in _jaxpr_forwarding.)

Thanks for the question – this is expected behavior.
For Python-side control flow (including for loops, if statements, and recursive function calls) JAX's tracing approach flattens the program and sends this flat list of instructions to the compiler. Your recursion here is essentially a very compact way of generating exponentially growing programs – the best fix here would be to avoid recursion within JIT.
Alternatively, you could use other python-side strategies to avoid extremely deep recursion, such as wrapping fib in functools.lru_cache.

If you're looking for an accelerator-friendly way to compute fibonacci numbers, you could use the matrix method:
def fib(n):
  return jnp.linalg.matrix_power(jnp.array([[1, 1], [1, 0]]), 24)[1, 1]

Hi Jake - Thanks for writing. I understand that JAX produces a flat trace for loops, conditionals, and function calls — but is that even true for calls to already @jax.jit-ed functions?
I was hoping that because I wrapped fib in jax.jit with t as a static argument, JAX would recursively (1) JIT fib for t-1 and t-2, and then (2) emit function calls to the already-JITted code for fib(t-1) and fib(t-2) when compiling fib(t). This would net produce a linear amount of code in t. Indeed, the lowered HLO does look like that:
module @jit_fib attributes {mhlo.num_partitions = 1 : i32, mhlo.num_replicas = 1 : i32} {
  func.func public @main() -> (tensor<i32> {jax.result_info = "", mhlo.layout_mode = "default"}) {
    %0 = call @fib() : () -> tensor<i32>
    %1 = call @fib_0() : () -> tensor<i32>
    %2 = stablehlo.add %0, %1 : tensor<i32>
    return %2 : tensor<i32>
  }
  func.func private @fib() -> (tensor<i32> {mhlo.layout_mode = "default"}) {
    %0 = call @fib_0() : () -> tensor<i32>
    %1 = call @fib_1() : () -> tensor<i32>
    %2 = stablehlo.add %0, %1 : tensor<i32>
    return %2 : tensor<i32>
  }
  func.func private @fib_0() -> (tensor<i32> {mhlo.layout_mode = "default"}) {
    %0 = call @fib_1() : () -> tensor<i32>
    %1 = call @fib_2() : () -> tensor<i32>
    %2 = stablehlo.add %0, %1 : tensor<i32>
    return %2 : tensor<i32>
  }
  func.func private @fib_1() -> (tensor<i32> {mhlo.layout_mode = "default"}) {
    %0 = call @fib_2() : () -> tensor<i32>
    %1 = call @fib_3() : () -> tensor<i32>
    %2 = stablehlo.add %0, %1 : tensor<i32>
    return %2 : tensor<i32>
  }
  func.func private @fib_2() -> (tensor<i32> {mhlo.layout_mode = "default"}) {
    %0 = call @fib_3() : () -> tensor<i32>
    %1 = call @fib_4() : () -> tensor<i32>
    %2 = stablehlo.add %0, %1 : tensor<i32>
    return %2 : tensor<i32>
  }
  func.func private @fib_3() -> (tensor<i32> {mhlo.layout_mode = "default"}) {
    %0 = call @fib_4() : () -> tensor<i32>
    %1 = call @fib_5() : () -> tensor<i32>
    %2 = stablehlo.add %0, %1 : tensor<i32>
    return %2 : tensor<i32>
  }
  func.func private @fib_4() -> (tensor<i32> {mhlo.layout_mode = "default"}) {
    %0 = call @fib_5() : () -> tensor<i32>
    %1 = call @fib_6() : () -> tensor<i32>
    %2 = stablehlo.add %0, %1 : tensor<i32>
    return %2 : tensor<i32>
  }
  func.func private @fib_5() -> (tensor<i32> {mhlo.layout_mode = "default"}) {
    %0 = call @fib_6() : () -> tensor<i32>
    %1 = call @fib_7() : () -> tensor<i32>
    %2 = stablehlo.add %0, %1 : tensor<i32>
    return %2 : tensor<i32>
  }
  func.func private @fib_6() -> (tensor<i32> {mhlo.layout_mode = "default"}) {
    %c = stablehlo.constant dense<1> : tensor<i32>
    return %c : tensor<i32>
  }
  func.func private @fib_7() -> (tensor<i32> {mhlo.layout_mode = "default"}) {
    %c = stablehlo.constant dense<1> : tensor<i32>
    return %c : tensor<i32>
  }
}

so I'm confused why the intermediate JAXprs explode. Does that make sense?
By the way, I'm just using fib as an example here. What I'm actually trying to do is to implementing dynamic programming algorithms like value iteration in JAX — via memo, a new DSL that compiles to JAX https://github.com/kach/memo.

I understand that JAX produces a flat trace for loops, conditionals, and function calls — but is that even true for calls to already @jax.jit-ed functions?

Yes, as evidenced by the exponentially growing jaxpr

so I'm confused why the intermediate JAXprs explode.

Unlike HLO, jaxprs don't have subroutines, so the logic of your function will always be laid-out as an explicit linear sequence of commands. In theory perhaps jaxprs could be generalized to allow for subroutines like in HLO, but that would run counter to their current design philosophy.
Essentially, JAX is not designed to work well with deeply recursive implementations like the one you wrote here. Your best bet would be to find a different way to write your program.

Hmm, but the jaxpr shouldn't be exponential in size. We cache subjaxprs based on object identity and attempt to deduplicate when printing them. It's possible this is an artifact of the jaxpr printer not doing a great job of deduplication though.

In fact I strongly suspect this must be an artifact of the pretty-printer, because otherwise the lowered stablehlo would be exponential in size.

@jakevdp I guess I'm still confused about where the nice linear HLO comes from, if the intermediate jaxpr throws away the function-calling structure.
@hawkinsp I'm not sure it's just the pretty-printer. The main symptom I was observing was that even without pretty-printing, the compile time was growing exponentially.

Yes. The compiler will inline at the moment. That may improve at the moment.
JAX doesn't throw away the function structure, but XLA inlines, leading to a large compile time.


Update documentation workflow to only publish one version per major

Proposed changes:

Resolves #9711

Status (please check what you already did):

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

@m-vdb Can you 👀  if you have a minute? I hope I got it right 😄

@tczekajlo before merging this PR, I will need to wrap-up this one (remaining step is to merge the 2.8 docs manually into 2.x). I'll put this up today and ask for a review from CSE. Another thing we'll need to do around the same time is disable the docs workflows on at least 2.7, 2.6 (mostly a safety measure, in case people push new tags there. I don't expect it, but....). I can take care of this and I'll ask a review from you if that's alright

awesome 💯 @tczekajlo I will approve the PR and merge it once the documentation branch is ready 👍🏻


SAK-41337 add back the old Turnitin roster sync job

This is now confirmed working on a DEV instance.


fix(ionSelect): support cssClass for popover interface

Short description of what this resolves:
When using ion-select with popover interface, it does not support the cssClass in "selectOptions" attribute.
Changes proposed in this pull request:

support property cssClass in selectOptions

Ionic Version: 3.x
Fixes: #
#11695

This is great, thank you!

is this already implemented?


Deprecate fromURL method and remove request library

This PR do the following things:

Remove fromURL API and let users do their fetching job.
Remove request library which is deprecated.

This is great, thanks!


getting error only with AOT

it's working fine with JIT but gives this error when compile with AOT.
i'm using-> ng serve --aot
angularJS version 6.0.8

Okay, I fixed the error. it is a workaround but I hope this plugin author will fix this problem.
So for fixing it, I added this
"include": ["./**/*.ts", "../node_modules/ngx-embed-video/**/*.ts"]
into /src/tsconfig.app.json
but then I got the errors in the node_modules/ngx-embed-video/tests/embed-video-service.spec.ts

I just commented out the embed-video-service.spec.ts and it fixed all the problems, now the application is working fine with AOT


Blending of semi-opaque ball and stick

Hi,
Is it possible to change how translucent representations are blended? Trying to achieve something like in #381 using larger and semi-transparent ball+stick to highlight atoms, but where the bond cylinders and atom balls overlap, they're blended additively(?) so that you can see the overlap:

https://codepen.io/harryjubb/pen/qQWJVK
Is it possible to change the blending so that it appears as if uniform and not as overlapping objects?
I hope that makes sense.
FYI @jamesfoley

They are blended additively (but in unpredictable order). I am not aware of simple way (one that does not involve doing multiple render passes) to the blending you want. A workaround could be to make the cylinders shorter.

Ah ok, thanks for your reply.
Would compiling NGL with changing ShaderMaterials from ThreeJS from AdditiveBlending to different options achieve a different result? Presumably doing this would break other things? Slightly out of my depth so if that doesn't make sense please let me know!

With other blending options (https://threejs.org/examples/?q=blend#webgl_materials_blending) you still get a different appearance when multiple transparent layers overlap.

Presumably you could minimise the effect by shortening the cylinders so they stop at the point they intersect the sphere? It wouldn't be perfect as you'd still be drawing the surface of the sphere inside the cylinder.


Add option to configure whether ascending vs descending sorting resets when columns are changed

I mean, when you click to sort ASC by attribute A, then click to sort by attribute B, it should sort ASC again, not DESC. DESC should only come after the second click on each column.
Is this clear? Is it wrong?

I asume this haven't been implemented because I don't see it in the documentation. I'd also like to have the option to reset or not.


Comment cleanup and small tweaks.

This PR fixes a few small issues and adds comments.

LGTM

LGTM


go: binary has zero tags enabled (should have strictfipsruntime)

If the GOEXPERIMENT=strictfipsruntime is used, the check-payload, there is no tag for strictfipsruntime created, and the check-payload tool complains about go: binary has zero tags enabled (should have strictfipsruntime)

@dominikholler are you suggesting that we should check for tag, and if not found, fall back to checking if GOEXPERIMENT=strictfipsruntime is set, and fail only if neither is set?
Can you point out to a binary that has GOEXPERIMENT=strictfipsruntime set?

@dominikholler are you suggesting that we should check for tag, and if not found, fall back to checking if GOEXPERIMENT=strictfipsruntime is set, and fail only if neither is set?

Yes, it seems there are currently two situations were the check-payload tool report false positive:

compiling with only GOEXPERIMENT=strictfipsruntime and no -tags at all is reported by the tool as a warning go: binary has zero tags enabled (should have strictfipsruntime)
compiling with GOEXPERIMENT=strictfipsruntime and another tag e.g. -tags selinux is reported by the tool as a warning go: binary does not contain required tag strictfipsruntime

@dbenoit17 is the tag still required, if GOEXPERIMENT=strictfipsruntime is set?


Collapsible nav

Any plans or interest in making the nav collapse on small screens, rather than scroll horizontally?
I was thinking along the lines of:
https://v4-alpha.getbootstrap.com/components/navbar/#responsive-behaviors
http://materializecss.com/navbar.html#mobile-collapse

Collapsible nav would be a good improvement, I think we'd be open to a PR for that.

I didn't notice this before, but it looks like Tachyons doesn't have a collapsible nav out of the box (which would have made it much easier).
http://tachyons.io/components/#nav

Yeah, Tachyons is css only.

Just did a PR for this issue


Email Verification Not Reflected in Identities Table (and JWT)

Bug report

[x] I confirm this is a bug with Supabase, not with my own application.
[x] I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug
When a user clicks on the email authentication link (causes a GET /verify request), the email_confirmed_at field gets updated in the users table and the one-time token gets cleared, but the email_verified field does not get changed to true in the identities table (and hence is not properly shown in the JWT).
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Go to 'Click on email authentication link'

Observe the GET /verify request

Check the users table and note that the email_confirmed_at field is updated and the one-time token is cleared.

Check the identities table and note that the email_verified field is not updated to true.
JWT does not reflect the email_verified status.

I was able to reproduce this on Supabase and on a self-hosted instance.
Expected behavior
The email_verified field in the identities table should be updated to true when the email is confirmed, and this should be properly reflected in the JWT.
Additional context
The ResourceServer cannot properly verify whether a users email address has been verified.

@janekwunderlich is it possible to use the email_confirmed_at field instead? the email_verified field actually refers to the verification status of the email associated to the identity, so it depends on what the provider returns us (in the case of oauth)

@janekwunderlich is it possible to use the email_confirmed_at field instead? the email_verified field actually refers to the verification status of the email associated to the identity, so it depends on what the provider returns us (in the case of oauth)
but yeah, in the case or magiclinks you mentioned, this should be in-sync with the email_confirmed_at column

If you are referring to the email_confirmed_at  field that is returned outside of the JWT token's access_token field, that is an unverifiable claim to whatever resource the user is trying to access.


WIP: Support GitLab API

This is the beginnings of supporting the GitLab API. The first test was to implement Ghee.repos. Here is a start. Notice that the endpoints are quite different:
GitHub: https://developer.github.com/v3/repos/#response
GitLab: https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/projects.md#list-projects
See #26

@stanhu I have some further feedback, I wrote it out this morning but somehow didn't post the comment.
My initial reaction is that it's going to be really hard for me to parse through the noise of the namespace change with the new classes being added for gitlab.
I propose that we split those commits out into a new PR and merge them into master once all the spec are passing again.
Not exactly sure if that means we need to close this PR or *gasp* force push your branch (please don't do that yet, it was a joke)

@rauhryan I think that's a good idea. We should probably first decide whether these namespace changes are appropriate (e.g. Ghee::API::GitHub vs. Ghee::GitHub::API?). I did the former since I'm focused on getting the API translation working, but I can imagine we may need to put in specific connection clients for each.

Good question, we're going to noodle on it a little bit.
We'll post a picture of our whiteboard soon.
On Wed, Dec 2, 2015 at 11:59 AM, Stan Hu<EMAIL_ADDRESS>wrote:

@rauhryan https://github.com/rauhryan I think that's a good idea. We
should probably first decide whether these namespace changes are
appropriate (e.g. Ghee::API::GitHub vs. Ghee::GitHub::API?). I did the
former since I'm focused on getting the API translation working, but I can
imagine we may need to put in specific connection clients for each.
—
Reply to this email directly or view it on GitHub
https://github.com/huboard/ghee/pull/37#issuecomment-161381415.

I think that, initially, Ghee::API should stay as is.
For example: you would add the GitLab implementation in Ghee::Gitlab.
The implementation will need to have the same API as the current GitHub implementation.
The changes should almost be transparent, except for a small detail where the user
instantiates the client as a Gitlab client, and even then the Gitlab client should behave as close
as possible to the GitHub client (this part needs some serious analysis).
This is of course the first stage of working on Ghee.
After that you'll probably work on huboard-web and make some changes to Ghee to make sure it works, since Ghee Gitlab implementation is bound to have some issues with huboard-web
This is the second stage, and you will be working on both projects at the same time.
After you make sure everything works, then you can make other changes and refactors (e.g: move Ghee::API to Ghee::Github::API)

Sooo, in an ideal world...
huboard-web changes very little
my vision would require two changes to huboard-web

Gemfile
gem 'ghee', require: nil

./config/application.rb

if ENV["HUBOARD_BACKEND"] == "github"
    require 'ghee/github'
else
    require 'ghee/gitlab'
end

In a perfect world, nothing would change other than config values in HuBoard, all the abstractions would live in Ghee

:+1: @stanhu thanks for working on this one.

We should probably first decide whether these namespace changes are appropriate (e.g. Ghee::API::GitHub vs. Ghee::GitHub::API?).

We had some discussions and we think the best way to break it down is by having a common interface that the outside world interacts with ie;
Ghee::API
Under the hood, we can try to infer which API you are talking to by the url (only possible for the respective public API of github.com, gitlab.com, bitbucket.com and beyond), but we will also need the ability to explictily set the implementation through config or via require 'ghee/{github,gitlab}'
The implementations should be pulled up a namespace ie;
Ghee::API
Ghee::GitHub::API
Ghee::GitLab::API
But both implementations should respect the same public API as Ghee::API

@rauhryan, I agree with you on the way to divide up namespaces.
As for distinguishing which type of API is currently being used, I think the right way to do it is to
add a method to the clients to tell the client type
For example: Ghee::Client#{is_gitlab,is_github}? or Ghee::Client#client_type.
Ghee::Client, of course will be either Ghee::Github::Client or Ghee::Gitlab::Client.
And both these clients should have the same API return very similar values for each
corresponding method.
So this way, the two clients are completely independent and private to Ghee and users only interact
with Ghee::Client.
I think this is, possibly, one very good initial solution, but there's definitely room for environment.

In addition, the Github and Gitlab client should be completely independent, and not have any
dependencies to each other, since if you think about the abstractions, it just doesn't make any
sense for any of them to depend on the other.
And honestly, if you want to do so, there's definitely a much better way to do it.

Yes, I like the idea of providing some parameter to a client rather than depending on the application including the right ghee/gitXXX module.

I agree. If Ghee supports both Gitlab and Github, it doesn't make sense to make users of the library
use two requires when it can be done with one.
I don't know, @rauhryan maybe you have a good reason for making this choice.

Yes, I like the idea of providing some parameter to a client rather than depending on the application including the right ghee/gitXXX module.

My thought process is, by designing the system to be capable of defaulting the implementation by using require 'ghee/gitXXX' it would have net benefits in the design of the code
For example, by default, ghee works just like any library.
You gem install ghee, require 'ghee', client = Ghee::GitHub.create_client token and you're off to the races
But as far as HuBoard is concerned, the experience should be client = Ghee.new hash and the implementation is driven from configation or by the explicit require 'ghee/xxx'
The idea is that existing users and codebases that currently use Ghee should experience a very low impact from this new work and that the breaking changes to existing applications can be as simple as require 'ghee/github'

Out of curiosity, how many  projects other than Huboard depend on ghee?
I can see the argument of making changes that minimize the impact of other applications. I think that's fine for now. I do think @Ahimta's ideas are good and are probably worth considering for the next major release.

I think, the most important thing now is to implement Gitlab integration.
After that you can work out other details.
Then at least we actually have something tangible to talk about :)
One important thing in software development , I think,
is to delay as many design decisions as possiple.

One important thing in software development , I think,
is to delay as many design decisions as possible.

I completely agree with you @Ahimta, I'm on board with pushing forward with the current direction, as long as we avoid any decisions that are difficult to reverse or rollback, we should have another discussion

Made some good progress here. I've run into a a number of missing GitLab API features that Huboard uses, so I'll look into adding them to GitLab.

Thank you @stanhu I will try and crave out some time to review this weekend.

Submitted a change to GitLab in preparation of supporting Huboard. I'll edit this note as I go along:

[X] Add open_issues_count: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/2083

@stanhu looks like things are coming along great! We might also want to consider adding a Unit Test suite for translators at some point, will make tracking down any potential bugs in in translation much easier for future maintainers.
Let @rauhryan or me know if you need anything!

@discorick Thanks! Yes, definitely I'll add tests later. I'm trying to flush out all the requirements and changes needed in GitLab as soon as possible.
I've hacked huboard-web to get it to the point where I can see the first page:

It looks like warden and GitHub are tightly integrated into the login flow, so I'll have to figure out how to separate that out.
In huboard, do you know why Rails.logger doesn't seem to display any of my custom messages while running huboard? I've tried disabling puma to no avail. I've had to resort to opening custom log files to debug things.

@discorick and @rauhryan: To support GitLab and GitHub in huboard-web, can we just use a generic OAuth2 provider, such as warden-oauth2, instead of GitHub-specific one? As far as I can tell, you're not using any of the specific GitHub calls within warden-github and rely on ghee for that.


Plugin not compatible with firefox e10s

This addon is not compatible with the new electrolysis multiprocess framework for firefox. Here's a screenshot from the add-ons menu. Sorry I have no further information about this.

Thank you for the report @mbtuckersimm. I suspect that the extension is actually compatible, but hasn't properly declared it. Note that the extension will not be required any more starting with firefox 52, so I this may not be a high priority to solve right now.

Thanks for getting back to me so quickly!
On Mon, Mar 6, 2017 at 8:23 AM, bgrozev<EMAIL_ADDRESS>wrote:

Thank you for the report @mbtuckersimm https://github.com/mbtuckersimm.
I suspect that the extension is actually compatible, but hasn't properly
declared it. Note that the extension will not be required any more starting
with firefox 52, so I this may not be a high priority to solve right now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jitsi/jidesha/issues/24#issuecomment-284447941, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AG5Zp4HIQiX3TVwKa1zmfzGYkctFPxx0ks5rjDLkgaJpZM4MTn2k
.

To clarify: does this prevent you from using screen sharing?

Screen sharing in hipchat with multiprocess enabled in firefox did seem to
work ok in my limited test, as you suspected. I guess we can close the file
on that one!
On Mon, Mar 6, 2017 at 8:31 AM, bgrozev<EMAIL_ADDRESS>wrote:

To clarify: does this prevent you from using screen sharing?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jitsi/jidesha/issues/24#issuecomment-284450915, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AG5Zp73KSyGoNgPaR6jYoswSoK84pCYGks5rjDT4gaJpZM4MTn2k
.

Cool, thank you for confirming.


RSpec testing

Hi you all,
I have a worker which is expected to be throttled dynamically. I'm trying to assert that the worker is throttled once the limit has been reached.
The proc that defines the concurrency limit is something along these lines:
# Limits.rb
LIMITS = {
  'example1' => 2,
  'example2' => 1
}

class << self
  def limit(example)
    LIMITS[example.underscore]
  end
end

# Worker.rb
sidekiq_throttle concurrency: {
  limit: ->(example) { Limits.limit(example) }
}

Now, for the specs I have something as follows:
Limits.LIMITS.each do |example, limit|
  let(:params) { example }
  let(:registry) { Sidekiq::Throttled::Registry }
  let(:strategy) { registry.get(described_class.to_s) }

  context 'when the concurrency limit is reached' do
    it 'should be throttled' do
      Sidekiq::Testing.fake! do
        (limit + 1).each do
          described_class.perform_async(params)
        end
        jid = described_class.perform_async(params)
        expect(strategy.throttled?(jid, params)).to be_truthy
      end
    end
  end
end

Now, the issue is that I'm getting intermittent specs passing, sometimes it does, sometimes it doesn't. My question is: is there any example on testing I can go to in order to simulate these scenarios?
Thanks in advance!

I don't see how this can ever pass. There are couple of things to keep in mind:

sidekiq-throttled uses redis for it's locks, thus you need to clear redis db prior examples.
strategy is involved when job is fetched from the redis, thus neither inline nor fake modes will behave correctly.
by calling strategy.throttled?(...) you're testing sidekiq-throttled rather than your code.

@ixti thanks for answering!
So, the only way for testing that this is working correctly is to expect the worker's perform method to not be invoked?

Well, apparently, one way to confirm that the concurrency limits would work as expected is to verify that the call to the limit proc will return the expected value and to assert that the concurrency strategy is dynamic, right?
let(:strategy) { registry.get(described_class.to_s) }

Limit.LIMITS.each do |example, limit|
  let(:params) { example }

  it 'should limit the number of concurrent jobs' do
    expect(strategy.concurrency).to be_dynamic
    expect(strategy.concurrency.limit([params])).to eq limit
  end
end

Yes, the above looks correct to me.

Thanks, @ixti for your comments.


Discussion page broken when a user is deleted

JavaScript exception:
TypeError: this.props.post.user(...).badges is not a function

(sorry for being hermetic but I think it's clear anyway and I'm in a hurry :) )

Understood !
True, it's an unhandled case :grimacing:


catkin_darknet_ros/devel/lib/libdarknet_ros_lib.so: undefined reference to `cv::resizeWindow(cv::String const&, int, int)'

when I run catkin_make, some errors occured as below:
...
[100%] Linking CXX executable /home/nvidia/cola/catkin_darknet_ros/devel/lib/darknet_ros/darknet_ros
/home/nvidia/cola/catkin_darknet_ros/devel/lib/libdarknet_ros_lib.so: undefined reference to cv::resizeWindow(cv::String const&, int, int)' /home/nvidia/cola/catkin_darknet_ros/devel/lib/libdarknet_ros_lib.so: undefined reference to cv::namedWindow(cv::String const&, int)'
/home/nvidia/cola/catkin_darknet_ros/devel/lib/libdarknet_ros_lib.so: undefined reference to cv::setWindowProperty(cv::String const&, int, double)' /home/nvidia/cola/catkin_darknet_ros/devel/lib/libdarknet_ros_lib.so: undefined reference to cv::moveWindow(cv::String const&, int, int)'
collect2: error: ld returned 1 exit status

I use Nvidia Xavier, I remove the opencv4.1.1 in JetPack4.4,and installed ros melodic which includes opencv3.2.0
I have tried #34 but didn't work for me.


Add python script to delete .*srt files from current and sub-folders …

…as-well
Pull Request Template
script name - delete_srt
What have you Changed
Only added my script.
what you changed in the codebase.write here
Did not changes the codebas.
Issue no.(must) -
Self Check(Tick After Making pull Request)

[ ] This issue was assigned to me.
[x] One Change in one Pull Request
[x] My file is in proper folder
[x] I am following clean code and Documentation and my code is well linted with flake8.
[ ] I have added README.md and requirements.txt with my script

If issue was not assigned to you Please don't make a PR. It will marked as invalid.
Join Us on Discord:- https://discord.gg/JfbK3bS
acknowledgement

[x] I have tested the script and distributing it under MIT license.

the script is already merged in different PR


fix: don't use path.join() for s3 upload path

Description of changes
The S3 upload path is only used to construct a URL. On Windows,
this would use a backslash instead of the desired forward slash.
Fixes: https://github.com/aws-amplify/amplify-cli/issues/9091
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #9096 (aaaf1a4) into master (acfa82c) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master    #9096   +/-   ##
=======================================
  Coverage   55.39%   55.39%
=======================================
  Files         885      885
  Lines       50141    50141
  Branches    10814    10814
=======================================
  Hits        27774    27774
  Misses      20314    20314
  Partials     2053     2053

Impacted Files
Coverage Δ

...dformation/src/utils/consolidate-apigw-policies.ts
18.69% <100.00%> (ø)

Continue to review full report at Codecov.

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


Bump resolver to lts-14.22

I'm aware that CI breaks and haven't got back to this. This is a precursor to diku-kmc/kleenexlang#12, since I was duplicating this effort down to the comma without knowing that @nqpz had already done it.
I'm going to close this PR since it appears that it'll somehow get fixed eventually, and I can just use my local fork until then.


Code and comments details

Check the reviews down below to understand the changes.

Please, take a look at the new changes.

Perfect!


Add configuration to disable download statistics tracking

This table can bloat, for people who don't need it it would be good to have an option to disable it.

It'd be cool to see an option for a max age prune or something like that as well


publish<EMAIL_ADDRESS>

Requested by: @JonasBa
Merge target: (default)
Quick links:

View changes
View check runs

Assign the accepted label to this issue to approve the release.
Leave the #retract comment under this issue to retract the release (original issuer only).
Targets

[ ] docker[release]
[ ] docker[latest]
[ ] npm
[ ] github

Targets marked with a checkbox have already been executed.  Administrators can manually tick a checkbox to force craft to skip it.

#retract


openssl verify problem

hi folks，when i use openssl verify to verify crt，giving the result as follows
[root]# openssl verify -CAfile ca.crt server.crt
server.crt: OK

[root]# openssl verify -CAfile  server.crt ca.crt
ca.crt: OK

ca.crt sighed  server.crt

is that right result？

The cafile is a set of certs that could be used.  If ca.crt is self-signed, then the CA's listed in the file are not consulted.  So yes, this is working as designed.

@richsalz

If ca.crt is self-signed, then the CA's listed in the file are not consulted.

can you give me more information, I don't really understand it. thanks.

I don't have time to write a tutorial, sorry.