map saver error

when i try to save the map it is showing me error
rosservice call /hdl_graph_slam/save_map "resolution: 0.1

destination: '/home/seher/Project/src/mapfile.pcd'"
ERROR: Unable to communicate with service [/hdl_graph_slam/save_map], address [rosrpc://seher-Legion-Y7000P-IRH8:35245]
this is roservice list
rosservice list
/bag_player/get_loggers
/bag_player/set_logger_level
/gazebo/apply_body_wrench
/gazebo/apply_joint_effort
/gazebo/clear_body_wrenches
/gazebo/clear_joint_forces
/gazebo/delete_light
/gazebo/delete_model
/gazebo/get_joint_properties
/gazebo/get_light_properties
/gazebo/get_link_properties
/gazebo/get_link_state
/gazebo/get_loggers
/gazebo/get_model_properties
/gazebo/get_model_state
/gazebo/get_physics_properties
/gazebo/get_world_properties
/gazebo/pause_physics
/gazebo/reset_simulation
/gazebo/reset_world
/gazebo/set_joint_properties
/gazebo/set_light_properties
/gazebo/set_link_properties
/gazebo/set_link_state
/gazebo/set_logger_level
/gazebo/set_model_configuration
/gazebo/set_model_state
/gazebo/set_parameters
/gazebo/set_physics_properties
/gazebo/spawn_sdf_model
/gazebo/spawn_urdf_model
/gazebo/unpause_physics
/gazebo_gui/get_loggers
/gazebo_gui/set_logger_level
/hdl_graph_slam/dump
/hdl_graph_slam/load
/hdl_graph_slam/save_map
/joint_state_publisher/get_loggers
/joint_state_publisher/set_logger_level
/lidar2base_publisher/get_loggers
/lidar2base_publisher/set_logger_level
/robot_state_publisher/get_loggers
/robot_state_publisher/set_logger_level
/rosout/get_loggers
/rosout/set_logger_level
/rrbot/camera1/image_raw/compressed/set_parameters
/rrbot/camera1/image_raw/compressedDepth/set_parameters
/rrbot/camera1/image_raw/theora/set_parameters
/rrbot/camera1/set_camera_info
/rrbot/camera1/set_parameters
/rviz_1715259877710507026/get_loggers
/rviz_1715259877710507026/load_config
/rviz_1715259877710507026/load_config_discarding_changes
/rviz_1715259877710507026/reload_shaders
/rviz_1715259877710507026/save_config
/rviz_1715259877710507026/set_logger_level
/teleop_twist_keyboard/get_loggers
/teleop_twist_keyboard/set_logger_level
/velodyne_nodelet_manager/get_loggers
/velodyne_nodelet_manager/list
/velodyne_nodelet_manager/load_nodelet
/velodyne_nodelet_manager/set_logger_level
/velodyne_nodelet_manager/unload_nodelet

You need to make sure that the terminal you run hdl_graph_slam in is still running when you use rosservice call hdl_graph_slam/... In other words, open a new terminal to run the command.

You need to make sure that the terminal you run hdl_graph_slam in is still running when you use rosservice call hdl_graph_slam/... In other words, open a new terminal to run the command.

When i saved the map

Without much context of what it's supposed to look like I can't help you much. It looks like there's a lot of doubled walls which means the automatic loop closure is probably failing. Try saving the bin file and using interactive SLAM to improve it.


ssh: put custom options before generated options

Otherwise, the standard options (e.g. AddressFamily) cannot be overriden
in extraConfig, as the option is applied on the first (not most
specific) match. Closes #52267
Motivation for this change
See bug #52267
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@Mic92 - any update on this?

Can you squash the commits together? And then the commit message should have the "nixos/ssh:" prefix instead.

@Infinisil rebased onto master and squashed commits


If you become a Christian, what will you name this?

What will you name this obscene program?

lmao

"gods gift"

"gods gift"

«Holly Fuck», because that's Christmas break, and holly always seems holy. :angel:

«Holly Fuck», because that's Christmas break, and holly always seems holy. :angel:

Honestly: What do you want to archive with this issue?
@nvbn has stated numerous times that he does not intent to change the name of this project (#66, https://github.com/nvbn/thefuck/issues/401#issuecomment-156984578, https://github.com/nvbn/thefuck/issues/801#issuecomment-380256406, #866, #1070).
If you do not like to type some swear words you are free to register it under a different alias which is clearly documented how to do. You could even fork it and replace all occurrences of words you do not like with others.
 I now changed my alias to please_help_me_satan which I think is a lot nicer.

It feels more like a rhetorical question. Its meant to create a discussion.
What would happen if @nvbn became a christian overnight? Could they live with themselves knowing that they made an application that depends on the usage of such
oscene profanities? Or would they instead repent in order to be forgiven of their sins by renaming the project? If so what could possibly be a fitting name?
This question actually much deeper than it may seem, its an inquiry about the creators philosophy, morals, the way of life even. 🙏🙏🙏

What will you name this obscene program?

If you become an atheist will you delete this issue

ThyFuck

ThyFuck

Didn't laugh until I saw your comment. 🤣

What will you name this obscene program?

If this repo were moved to me, a Christian, I would name it "thefuck".


Expose client and container by getters

Getter for container and client like in s3 Adapter to facilitate url creation with getBlobUrl.
https://github.com/thephpleague/flysystem-aws-s3-v3/blob/master/src/AwsS3Adapter.php#L92-L120

Hi, these getters will all be removed in V2. If you want to generate URL's just depend on the internals directly instead of resolving them via the Filesystem and Adapter.


Avoid linter complaints about same name members when using @specialize.

Is this possible?

pyright does not allow extensions so this does not seam possible, but a mypy extension may be able to work.


try switching allocators, eg jemalloc or mimalloc

This was attempted and was successful,. Changes were merged to complete this task


"Center" calendar view

Hi there,
Thanks for this great component! Installed it yesterday, and fit right in.
One thing I noticed was that when selecting a date range via the presets, the calendars might become out of sync. That is, the start date might actually be out of bounds of the left calendar. Is there a way to make sure both the start and end dates are always visible?
Thanks,
Alexis

thank you @apucacao :+1: . I'll try to figure it out

I was just coming to make this suggestion. is this going to happen at all?


Update Bevy to 0.12

This PR updates the core plugin to Bevy 0.12. Some examples are not compiling since they rely on the bevy_spectator plugin, which hasn't been updated yet.

This branch works for me on bevy 0.12 :+1:

Thanks! But why src/ is necessary? Isn't it /src/ by default?

Thanks! But why src/ is necessary? Isn't it /src/ by default?

The root issue is described in this ticket: https://github.com/bevyengine/bevy/issues/10377. Internally embedded_asset calls file!() which if it is in an nested workspace returns something like crate_path/src/foo.rs, but if it is in a normal crate (not in a workspace) it returns src/foo.rs. The default /src/ assumes that the path will always contain that beginning /. My quick workaround was to just use src/.

Thank you a lot!

@sphw this is odd, but when I trying cargo publish it fails with the following message:
error: couldn't read /mnt/Files/Code/bevy_atmosphere/target/package/bevy_atmosphere-0.8.0/src/../shaders/nishita.wgsl: No such file or directory (os error 2)
 --> src/collection/nishita.rs:7:10
  |
7 | #[derive(Atmospheric, ShaderType, Reflect, Debug, Clone)]
  |          ^^^^^^^^^^^
  |
  = note: this error originates in the macro `include_str` which comes from the expansion of the derive macro `Atmospheric` (in Nightly builds, run with -Z macro-backtrace for more info)

error: couldn't read /mnt/Files/Code/bevy_atmosphere/target/package/bevy_atmosphere-0.8.0/src/../shaders/gradient.wgsl: No such file or directory (os error 2)
 --> src/collection/gradient.rs:7:10
  |
7 | #[derive(Atmospheric, ShaderType, Reflect, Debug, Clone)]
  |          ^^^^^^^^^^^
  |
  = note: this error originates in the macro `include_str` which comes from the expansion of the derive macro `Atmospheric` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0433]: failed to resolve: could not find `HandleUntyped` in `asset`
 --> src/collection/nishita.rs:7:10
  |
7 | #[derive(Atmospheric, ShaderType, Reflect, Debug, Clone)]
  |          ^^^^^^^^^^^ could not find `HandleUntyped` in `asset`
  |
  = note: this error originates in the derive macro `Atmospheric` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0433]: failed to resolve: could not find `HandleUntyped` in `asset`
 --> src/collection/gradient.rs:7:10
  |
7 | #[derive(Atmospheric, ShaderType, Reflect, Debug, Clone)]
  |          ^^^^^^^^^^^ could not find `HandleUntyped` in `asset`
  |
  = note: this error originates in the derive macro `Atmospheric` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `std::option::Option<&str>: From<&BindGroupDescriptor<'_>>` is not satisfied
  --> src/collection/nishita.rs:7:10
   |
7  | #[derive(Atmospheric, ShaderType, Reflect, Debug, Clone)]
   |          ^^^^^^^^^^^ the trait `From<&BindGroupDescriptor<'_>>` is not implemented for `std::option::Option<&str>`
   |
   = help: the following other types implement trait `From<T>`:
             <std::option::Option<Level> as From<LevelFilter>>
             <std::option::Option<bevy::utils::tracing::Id> as From<Span>>
             <std::option::Option<bevy::utils::tracing::Id> as From<tracing_core::span::Current>>
             <std::option::Option<bevy::utils::tracing::Id> as From<&'a Span>>
             <std::option::Option<bevy::utils::tracing::Id> as From<&'a EnteredSpan>>
             <std::option::Option<bevy::utils::tracing::Id> as From<&'a bevy::utils::tracing::Id>>
             <std::option::Option<bevy::utils::tracing::Id> as From<&'a tracing_core::span::Current>>
             <std::option::Option<&'a bevy::utils::tracing::Id> as From<&'a Span>>
           and 7 others
   = note: required for `&BindGroupDescriptor<'_>` to implement `Into<std::option::Option<&str>>`
note: required by a bound in `RenderDevice::create_bind_group`
  --> /home/gena/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_render-0.12.0/src/renderer/render_device.rs:89:21
   |
87 |     pub fn create_bind_group<'a>(
   |            ----------------- required by a bound in this associated function
88 |         &self,
89 |         label: impl Into<wgpu::Label<'a>>,
   |                     ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RenderDevice::create_bind_group`
   = note: this error originates in the derive macro `Atmospheric` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0061]: this method takes 3 arguments but 1 argument was supplied
  --> src/collection/nishita.rs:7:10
   |
7  | #[derive(Atmospheric, ShaderType, Reflect, Debug, Clone)]
   |          ^^^^^^^^^^^ two arguments of type `&BindGroupLayout` and `&[BindGroupEntry<'_>]` are missing
   |
note: method defined here
  --> /home/gena/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_render-0.12.0/src/renderer/render_device.rs:87:12
   |
87 |     pub fn create_bind_group<'a>(
   |            ^^^^^^^^^^^^^^^^^
   = note: this error originates in the derive macro `Atmospheric` (in Nightly builds, run with -Z macro-backtrace for more info)
help: provide the arguments
   |
7  | #[derive(Atmospheric(Atmospheric, /* &BindGroupLayout */, /* &[BindGroupEntry<'_>] */), ShaderType, Reflect, Debug, Clone)]
   |                     ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

error[E0599]: no associated item named `TYPE_UUID` found for struct `bevy::prelude::Shader` in the current scope
 --> src/collection/nishita.rs:7:10
  |
7 | #[derive(Atmospheric, ShaderType, Reflect, Debug, Clone)]
  |          ^^^^^^^^^^^ associated item not found in `Shader`
  |
  = note: this error originates in the derive macro `Atmospheric` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `std::option::Option<&str>: From<&BindGroupDescriptor<'_>>` is not satisfied
  --> src/collection/gradient.rs:7:10
   |
7  | #[derive(Atmospheric, ShaderType, Reflect, Debug, Clone)]
   |          ^^^^^^^^^^^ the trait `From<&BindGroupDescriptor<'_>>` is not implemented for `std::option::Option<&str>`
   |
   = help: the following other types implement trait `From<T>`:
             <std::option::Option<Level> as From<LevelFilter>>
             <std::option::Option<bevy::utils::tracing::Id> as From<Span>>
             <std::option::Option<bevy::utils::tracing::Id> as From<tracing_core::span::Current>>
             <std::option::Option<bevy::utils::tracing::Id> as From<&'a Span>>
             <std::option::Option<bevy::utils::tracing::Id> as From<&'a EnteredSpan>>
             <std::option::Option<bevy::utils::tracing::Id> as From<&'a bevy::utils::tracing::Id>>
             <std::option::Option<bevy::utils::tracing::Id> as From<&'a tracing_core::span::Current>>
             <std::option::Option<&'a bevy::utils::tracing::Id> as From<&'a Span>>
           and 7 others
   = note: required for `&BindGroupDescriptor<'_>` to implement `Into<std::option::Option<&str>>`
note: required by a bound in `RenderDevice::create_bind_group`
  --> /home/gena/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_render-0.12.0/src/renderer/render_device.rs:89:21
   |
87 |     pub fn create_bind_group<'a>(
   |            ----------------- required by a bound in this associated function
88 |         &self,
89 |         label: impl Into<wgpu::Label<'a>>,
   |                     ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `RenderDevice::create_bind_group`
   = note: this error originates in the derive macro `Atmospheric` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0061]: this method takes 3 arguments but 1 argument was supplied
  --> src/collection/gradient.rs:7:10
   |
7  | #[derive(Atmospheric, ShaderType, Reflect, Debug, Clone)]
   |          ^^^^^^^^^^^ two arguments of type `&BindGroupLayout` and `&[BindGroupEntry<'_>]` are missing
   |
note: method defined here
  --> /home/gena/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bevy_render-0.12.0/src/renderer/render_device.rs:87:12
   |
87 |     pub fn create_bind_group<'a>(
   |            ^^^^^^^^^^^^^^^^^
   = note: this error originates in the derive macro `Atmospheric` (in Nightly builds, run with -Z macro-backtrace for more info)
help: provide the arguments
   |
7  | #[derive(Atmospheric(Atmospheric, /* &BindGroupLayout */, /* &[BindGroupEntry<'_>] */), ShaderType, Reflect, Debug, Clone)]
   |                     ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

error[E0599]: no associated item named `TYPE_UUID` found for struct `bevy::prelude::Shader` in the current scope
 --> src/collection/gradient.rs:7:10
  |
7 | #[derive(Atmospheric, ShaderType, Reflect, Debug, Clone)]
  |          ^^^^^^^^^^^ associated item not found in `Shader`
  |
  = note: this error originates in the derive macro `Atmospheric` (in Nightly builds, run with -Z macro-backtrace for more info)

Some errors have detailed explanations: E0061, E0277, E0433, E0599.
For more information about an error, try `rustc --explain E0061`.
error: could not compile `bevy_atmosphere` (lib) due to 10 previous errors
warning: build failed, waiting for other jobs to finish...
error: failed to verify package tarball

Do you have any idea why it might happen?
cargo check --examples works just fine...

@sphw this is odd, but when I trying cargo publish it fails with the following message:

I believe this problem is caused by using an outdated version of the derive macro crate. I think you first need to publish the derive macro crate, then bump the version in the primary crate. I've used this tool https://github.com/pksunkara/cargo-workspaces in the past to fix this issue, but that was years ago so I'm not sure it's still the best option.

Oh, right, thank you!
Not the original author, just helping maintain the crate.


DataTable

This PR implements DataTable and supporting classes.
Tests and documentation pending.

Todo at some point before merge: separate functionality in data_table.h to .cpp file. For now it's easier to review like this though.

Pull Request Test Coverage Report for Build 104

68 of 214 (31.78%)  changed or added relevant lines in 12 files are covered.
101 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-51.3%) to 39.503%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/common/statistics.cpp
0
1
0.0%

src/include/storage/tuple_access_strategy.h
20
21
95.24%

src/include/common/container/concurrent_vector.h
0
4
0.0%

src/include/storage/data_table.h
0
5
0.0%

src/include/common/concurrent_map.h
0
7
0.0%

src/include/storage/storage_defs.h
17
31
54.84%

src/storage/storage_defs.cpp
0
16
0.0%

src/include/storage/storage_utils.h
25
51
49.02%

src/storage/data_table.cpp
0
72
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/include/common/container/bitmap.h
9
10.0%

src/util/string_util.cpp
92
8.15%

Totals

Change from base Build 102:
-51.3%

Covered Lines:
175

Relevant Lines:
443

💛  - Coveralls

Owned by Coveralls merging in first.


Dataset path error

I am trying to run simpleBEV code on NuScenes full dataset, it is giving me path error.
File "/home/sanjay.kumar/simple_bev/nuscenesdataset.py", line 1253, in compile_data
nusc = NuScenes(version='v1.0-trainval'.format(version),
File "/home/sanjay.kumar/anaconda3/envs/bev/lib/python3.10/site-packages/nuscenes/nuscenes.py", line 62, in init
assert osp.exists(self.table_root), 'Database version not found: {}'.format(self.table_root)
AssertionError: Database version not found: ../../../data/datasets/public_datasets/nuScenes/nuScenes/trainval/v1.0-trainval

resolved


C:\Users\JoeBiden\AppData\Local\Programs\Python\Python37\python.exe: Error while finding module specification for 'detector.server' (ModuleNotFoundError: No module named 'detector')

When running the command "python -m detector.server detector-base.pt" on the detector folder, I get this error
C:\Users\JoeBiden\AppData\Local\Programs\Python\Python37\python.exe: Error while finding module specification for 'detector.server' (ModuleNotFoundError: No module named 'detector')
I know the code says to run it on the root of the repo instead of the detector file but I get a error that tells me detector-base.pt dosent exist, well ofc it dosent because its in the detector folder 💀

Move the model file (detector-base.pt) to the root of the repo, and then run the command from there. The model file is supposed to be downloaded in the root directory.


[SUPPORT] Incremental queries with Spark through Hive metastore

Describe the problem you faced
Just wondering whether it's possible to do incremental queries using Spark with a Hudi table that was synced to Hive metastore using the HiveSyncTool; i.e., something likesparkSession.table(tableName).select("*").where(...) .
Did not find any documentation or FAQ about this.
Encountered things like in docker/demo/hive-incremental-cow.commands: set hoodie.stock_ticks_cow.consume.mode=INCREMENTAL;, but not sure if that also applies here; is this only for going through HiveServer? (We're not running HiveServer, only metastore). Can I somehow pass these as config parameters to the Spark session (did some experiments, also in Spark SQL, but did not seem to be working).
Also, why is there a '_hoodie_commit_time' > '${min.commit.time}' in the example query in the file I mentioned? Shouldn't that already be the case because the query is incremental?
Environment Description

Hudi version : 0.10

Spark version : 3.1.2

Hive version : HMS 3.0

Hadoop version : 3.2

Storage (HDFS/S3/GCS..) : ADLS Gen 2

Running on Docker? (yes/no) : Kubernetes

@ad1happy2go I have no issue with the incremental query cf. the page you linked. However, that example requires passing in the root path of the table. I was wondering if there is an option like:
spark.read.option(...).table("name_of_table_in_hive") -> that does not seem to work. Main reason I'd want this is that I then don't have to care about the path of the table. I can of course get the path from the hive table using org.apache.spark.sql.catalyst.catalog.SessionCatalog.getTableMetadata and then pass that in, but was wondering if there is a more direct way.
I understand it's about getting data above a certain instant time, but would have thought this is already fulfilled if you load the table with an incremental query that has a start instant of ${min.commit.time}. Are there cases where this additional filtering is necessary?

@matthiasdg Thanks for the clarification. Let me try to reproduce too.
This is something we should support, was not aware incremental query options doesn't work with table name directly.

Hi @matthiasdg would spark table-valued function be sufficient?
Here's a PR implementing this: https://github.com/apache/hudi/pull/8729
select id, name, price, ts
from hudi_table_changes('mytable', 'latest_state', 'beginInstantTime', 'endInstantTime');

select id, name, price, ts
from hudi_table_changes_by_path('my/table/path', 'latest_state', 'beginInstantTime', 'endInstantTime');

@kazdy think that would be fine yes (when merged should then pbly also make its way to one of the documentation pages on the website)


Should not use cast_to_type primitive

The primitive d3m.primitives.data_transformation.extract_columns_by_structural_types.DataFrameCommon removes the d3mIndex column. But, the d3mIndex column is required in the final prediction output. Before we can simply add the column back to the prediction results. But, now with the official d3m runtime we cannot do that.

A reminder: Also we need to include PrimaryKey in ExtractAttribute primitive to keep d3mIndex


Support Request: sourceBuffer_ detects incorrect timestamps on content.

I'm working on an HLS Parser plugin for use in safari and I have basic playback working with one major problem. When the content buffers there is an empty gap of ~10 seconds (equivalent to one chunk) at the front of the buffer and this causes playback not to start. If I seek anywhere in that 10 second range the <video> element throws an error. However, if I seek to 10 seconds or after, the video starts playing back from the beginning of the content and I can seek around etc. Essentially the video streams correctly apart from an empty gap at the beginning of the buffer.
As far as I can tell there is no way to set the start time for the data that gets appended to the buffer, it just gets read off the chunk. But if I look at the mp2t chunks they are all formed as described in the playlist. Additionally if I attach the .m3u8 directly to the <video> element it plays back fine so the browser seems to recognize that the first chunks starts at 0. It's only when feeding the chunks into a buffer one at a time that I see this gap.
I'm looking for any initial input/suggestions if you have any. I can also host a more or less working version of the player with an HLS Parser attached if you'd need to take a look, though it's still a WIP.
I'm using this content here: https://commondatastorage.googleapis.com/gtv-videos-bucket/CastVideos/hls/DesigningForGoogleCast.m3u8

The following is the simplest reproduction of the issue:
var xhr = new XMLHttpRequest();
    xhr.open('GET', 'https://commondatastorage.googleapis.com/gtv-videos-bucket/CastVideos/hls/designing_for_google_cast/fileSequence0.ts');
    xhr.responseType = 'arraybuffer';
    xhr.onreadystatechange = function () {
      if (xhr.readyState !== 4) return;

      var ms = new MediaSource();
      app.video.src = window.URL.createObjectURL(ms);
      var videoBuffer = ms.addSourceBuffer('video/mp2t');

      videoBuffer.addEventListener('updateend', function () {
        console.log(videoBuffer.buffered.start(0));
      });

      videoBuffer.appendBuffer(xhr.response);

    }
    xhr.send();

Are you sure that Safari is wrong about the timestamp?  I downloaded that TS segment and fed it to ffmpeg, and ffmpeg says it starts at 9.95:
Input #0, mpegts, from 'fileSequence0.ts':
  Duration: 00:00:10.02, start: 9.952111, bitrate: 1286 kb/s

Is there any signalling in the HLS manifest that would let you know to expect this gap?
If your underlying media says "10", but you want it to be treated as "0" in MSE, you can set presentationTimeOffset: 10 in shakaExtern.Stream.  But you'd want to be able to deduce that value of 10 from the m3u8.

It looks like you are correct. I had used mediastreamvalidator and incorrectly assumed that since  HLS is assumed to start at 0 and the stream checked out, that the first chunk was starting at 0.
If I set the presentationTimeOffset to 10 then it fills the buffer as expected. The problem is that the playlist does not indicate that the first chunk starts at 10. This also seems to be a problem for a lot of HLS content. All the test content I have used for development has had a start time greater than 0. It seems to me that to support HLS in Safari will require gracefully handling these start times but it's unclear to me how to do that right now as offset time isn't known until after the chunk is downloaded.

Hrm... that's tough.  Safari's native HLS implementation, since it's in the browser, probably has easy access to the media timestamps after decode and can apply the offset internally without the user or the content creator having to do anything.  We are not so lucky in JavaScript.
You could conceivably parse the first media segment in a response filter, but I think it would be preferable to avoid that.
Alternatively, some part of the player could seek for you to the first buffered timestamp once content was buffered.  But it would still leave a dead gap of 10s in the beginning of the presentation timeline.  If we don't also update the seek range, the user could seek back to that gap, and playback would hang.

A related issue is that a single, ostensibly continuous .ts segment gets buffered as multiple, non-adjacent ranges. In Shaka 1.x there was some detection and attempt at handling multiple buffered ranges but I'm not seeing anything in Shaka 2.0 that is similar. Was this intentionally removed? Are multiple ranges acceptable in 2.0? My understanding is that there should only be one range.
To be clear, I think that there is some problem with the segments in question but other HLS players seem to handle it fine so I am trying to determine if this multiple time ranges issue is actually a problem or not.

No, you're mistaken about multiple ranges.  In v1, we complained loudly about them because we had made many assumptions that the way we used MSE, they would never exist.  In v2, we tried to make fewer assumptions that would require a single range, but we still don't handle them explicitly (such as jumping over gaps).
I wonder why one .ts segment would be buffered as multiple ranges.  I can't think of a good reason that would be valid or expected, but I'm not familiar with details of TS.

I believe this is fine to close. After some additional investigation we tracked it down to a Safari bug and opened an issue with Apple. It seems they've corrected this in the latest Safari Technology Preview Release 10  of Safari 9.1.2.

Thanks!  Can you link us to the Safari bug so we can follow along?


highlighting current date background

Hey, can anyone help me how to set the background color of current date and on selecting another date provide some other background color. So initially the date is selected with some background color but that should not disappear when i select another date.

Basically i have found solution by creating my own decorator so here is the code:
public class CurrentDateDecorator implements DayViewDecorator {
private Drawable highlightDrawable;
private Context context;

public CurrentDateDecorator( Context context) {
    this.context = context;
    highlightDrawable = this.context.getResources().getDrawable(R.drawable.circlebackground);
}
@Override
public boolean shouldDecorate(CalendarDay day) {
    return day.equals(CalendarDay.today());
}

@Override
public void decorate(DayViewFacade view) {

    view.setBackgroundDrawable(highlightDrawable);
    view.addSpan(new ForegroundColorSpan(Color.WHITE));
    view.addSpan(new StyleSpan(Typeface.BOLD));
    view.addSpan(new RelativeSizeSpan(1.5f));

}

}
create circlebackground.xml in drawable folder;

and in your activity where you have used Material Calendar View add this line
mcv.addDecorator(new CurrentDateDecorator(this));
That's it
Happy Coding

create circlebackground.xml in drawable folder;

and in your activity where you have used Material Calendar View add this line
mcv.addDecorator(new CurrentDateDecorator(this));
That's it
Happy Coding

Many thanks. This helped me.

Thank you so much

I just created this account, only to thank you for this great solution, thank you vey much my friend. 👍


implement BlocksNotSupported exception

closes https://github.com/matthewrudy/memoist/issues/39

oops, travis


Get-AzureADMSConditionalAccessPolicy fails if Linux is specified as an included or excluded platform in the Device Platforms Conditions in any Conditional Access Policy

When running Get-AzureADMSConditionalAccessPolicy, an error is shown if any conditional access policies have a device platform condition set that includes or excludes Linux as a platform.
Conditional Access Policy Config:

Error Message:

This occurs with both AzureAD and AzureADPreview modules.
AzureAD module version being used:

Hello @Martin-Day - Thanks for raising the issue. Due to the planned deprecation of PowerShell modules (MSOnline & Azure AD), no further updates are planned for these modules to support new Conditional Access features. See recent announcements for more information here. As a result of this, newer Conditional Access features may not be available or may not be functional within these PowerShell modules as a result of this announcement. Please consider migrating to Microsoft Graph PowerShell. Additional guidance and examples will be released soon and will replace the current Azure AD PowerShell examples.


Add endpoint manager tests & small clean-ups

Read per commit basis

This change is

Coverage increased (+0.3%) to 43.112% when pulling 87ad75a33356cd268a2ae0ef1c2a5f7ad86caa69 on pr/endpointmanager-tests into 5913999bfcb6de31791a78a6c379e2f7a3f0b499 on master.

test-me-please

test-me-please

test-me-please


Updated clear translation to a more proper Dutch word

Changed the translation 'verwijderen' to 'wissen'

Imho verwijderen is just as good, very common in computer UI

@bluppfisk that's not the question imho. The used English word isn't 'Delete', in that case you would be right. But if the author used the word 'clear'. 'Verwijderen' isn't the proper translation.

From Google translate I think wissen means wipe and I think it is close enough to clear as compared to remove/delete


LED's don't dim, either on or off depending on whats on the screen

As the title says the LED's I have attached to my screen don't dim on certain scenes in films. When the screen hits whatever threshold the LED will just turns off instead off dim out on that colour. They are either on full brightness of else they are off depending what values I have on my hyperion.config.json file.
I can send commands to have the LED's lit lower through the app but just not when it comes to playing movies off the Pi2. Running OSMC latest version. Pictures attached below to show all LED's full brightness and the last LEDs not lit at all. I thought the LED's varied on brightness depending on what was on the screen.
Thanks

Try running effects like 'Knight rider' to see if the screengrabber or the led output is the reason for this behaviour.

Link for what I think the log file is? http://www.xbmclogs.com/pvrdouhsx
Hyperion config - https://github.com/rittzy/log/blob/master/hyperionconfig.md
And when I ran knight rider it did not seem like any LED's where fading. Just one solid block of 6 or so LED's moving across the top strip.
Thanks

To get a log file, I was expecting you to start the service like this:
/bin/killall -9 hyperiond
/storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.config.json > /storage/hyperion/log &
As for for the 'Knight rider' effect, it should fade the LED's, which makes me think your problem cannot be in the Framegrabber part of hyperion.
I will try your config on my setup tomorrow to make sure your color transform settings work for me and report back.

So I tried your config, but on my setup your color transform pretty much makes them all light up white. Can you use the default transform and report back?
	"color" :
	{
		"transform" :
		[
			{
				"id"   : "default",
				"leds" : "*",
				"hsv" :
				{
					"saturationGain" : 1.0000,
					"valueGain"      : 1.0000
				},
				"red" :
				{
					"threshold"  : 0.0000,
					"gamma"      : 1.0000,
					"blacklevel" : 0.0000,
					"whitelevel" : 1.0000
				},
				"green" :
				{
					"threshold"  : 0.0000,
					"gamma"      : 1.0000,
					"blacklevel" : 0.0000,
					"whitelevel" : 1.0000
				},
				"blue" :
				{
					"threshold"  : 0.0000,
					"gamma"      : 1.0000,
					"blacklevel" : 0.0000,
					"whitelevel" : 1.0000
				}
			}
		],
		"smoothing" :
		{
			"type"            : "none",
			"time_ms"         : 200,
			"updateFrequency" : 20.0000,
			"updateDelay"     : 0
		}
	},

Sorry I haven't manged to get back to you. Thanks for taking the time to diagnose this for me. After you said about the knight rider effect I tested the LED's with the app and noticed that the colours just jumped and wernt smooth at all. For example when going from red to purple, there is no transition, once I pass a certain threshold the blue element in the LEDs just flick on without any gradual increase in brightness. Don't know why they do it but it now points to the LEDs being the problem.
Can I ask what LEDs you use? I will see if I can test them some more with the arduino and possibly order new LEDs.  Possibly might try the APA102 for a bit of change.
Thanks
Chris

I myself use some WS2812b 60pcs strips from aliexpress, but I don't really think you need to change yours.
If I were you, I would make sure your grounds of the RPi is connected with the ground of the strips, and that the strips are getting enough voltage (measure the voltage drop aswell). Also make sure you use the default color transform in hyperion I linked before.
If you checked your setup over and it still doesn't work, you might consider getting an Arduino/Teensy which gives you more control over the LEDs and allows you to debug them more easily.

Well just need to say thanks for the help. Re-installed OSMC and had problems with the LED's flickering and giving out weird values even with the default settings so I decided to take your advice and use an Ardunio to drive the WS2801 and after farting about with them for a while and learning a bit they finally work and work brilliantly.
Thanks for the help

@rittzy  how did you fix your issue please? i'm having the same problem and can't make sense of it

I had to use an arduino in between the LEDs and the Pi. I couldn't get them to act normal but the arduino worked fine even though it was an extra bit of kit unfortunately

hmm damn, i really want to make this work. by fiddling with parameters i found out that the leds DO dim if i turn down the baudrate (but then the animations dont work...) :( thanks anyways im gonna continue searching


Update README.md

          2 Messages

:book:
iOS: Executed 16 tests, with 0 failures (0 unexpected) in 0.033 (0.045) seconds

:book:
macOS: Executed 16 tests, with 0 failures (0 unexpected) in 0.139 (0.153) seconds

  Generated by :no_entry_sign: Danger

          2 Messages

:book:
iOS: Executed 16 tests, with 0 failures (0 unexpected) in 0.017 (0.027) seconds

:book:
macOS: Executed 16 tests, with 0 failures (0 unexpected) in 0.093 (0.098) seconds

  Generated by :no_entry_sign: Danger


[HUDI-8190] Implement efficient streaming reads for HoodieDataBlocks

Change Logs
Implement efficient streaming reads for HoodieDataBlocks. This feature currently only supports AvroDataBlock.
Impact
Streaming reading of DataBlock enables concurrent reading of DataBlock, reduces memory usage, decreases the likelihood of timeouts when reading from HDFS, and reduces the probability of out-of-memory (OOM) errors.
Future support will be provided for merge algorithms such as Merge Sort.
Risk level (write none, low medium or high below)
medium
Documentation Update
none
Contributor's checklist

[x] Read through contributor's guide
[x] Change Logs and Impact were stated clearly
[x] Adequate tests were added if applicable
[x] CI passed

@hudi-bot run azure

@yihua Hi Ethan, would you mind helping me review the code?


GPTs to add

Game Genius | Your go-to expert for gameplay walkthroughs and cheat codes.
https://chat.openai.com/g/g-12q0jqkhd-game-genius
Vinobot | Digital sommelier for specific wine bottle recs.
https://chat.openai.com/g/g-EoBW5i2gu-vinobot
Mechanic Mate | Your virtual mechanic for diagnosing car noises, getting ready for service visits, and beyond.
https://chat.openai.com/g/g-rUgFfFwbm-mechanic-mate
Parental Wisdom | Advice for everyday questions
https://chat.openai.com/g/g-1hwxvXKWi-parental-wisdom

Please raise a pull request for the same


omc get clusteranalysistemplates.argoproj.io -A command returns runtime error: invalid memory address or nil pointer dereference

$ omc get clusteranalysistemplates.argoproj.io -A
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x198 pc=0x281f3a8]

goroutine 1 [running]:
github.com/gmeghnag/omc/pkg/tablegenerator.GenerateCustomResourceTable({0xc00188b350})
	/home/runner/work/omc/omc/pkg/tablegenerator/tablegenerator.go:169 +0xb28
github.com/gmeghnag/omc/cmd/get.handleObject({0xc00188b350})
	/home/runner/work/omc/omc/cmd/get/get.go:418 +0x1193
github.com/gmeghnag/omc/cmd/get.getClusterScopedResources({0xc0012d63d8, 0x18}, {0xc000e90704, 0xb}, 0xc001cd3e30)
	/home/runner/work/omc/omc/cmd/get/get.go:337 +0x5dd
github.com/gmeghnag/omc/cmd/get.glob..func1(0xc000215200?, {0xc00089e740?, 0x4?, 0x32b7776?})
	/home/runner/work/omc/omc/cmd/get/get.go:108 +0x49b
github.com/spf13/cobra.(*Command).execute(0x4ec0420, {0xc00089e720, 0x2, 0x2})
	/home/runner/work/omc/omc/vendor/github.com/spf13/cobra/command.go:944 +0x863
github.com/spf13/cobra.(*Command).ExecuteC(0x4ebd900)
	/home/runner/work/omc/omc/vendor/github.com/spf13/cobra/command.go:1068 +0x3a5
github.com/spf13/cobra.(*Command).Execute(...)
	/home/runner/work/omc/omc/vendor/github.com/spf13/cobra/command.go:992
main.main()
	/home/runner/work/omc/omc/main.go:24 +0x1a

gitops-must-gather.tar.gz

The must-gather was incorrectly collected; the clusteranalysistemplates cluster-scoped resources were not collected as a single resource per file but as a UnstructuredList resource in a single file, so it caused the error, as omc was expecting a Unstructuredwhile it found an UnstructuredList.
TODO: Menage the exception by printing an error message instead of the error stack trace.


pd: accelerate block streaming with concurrent state access

We need to send block responses in order, but fetching the compact block
involves disk I/O, so we want to look ahead and start fetching compact blocks,
rather than waiting for each state query to complete sequentially.
To do this, we spawn a task that runs ahead and queues block fetches from the
state.  Each block fetch is also spawned as a new task, so they execute
independently, and those tasks' JoinHandles are sent back to this task using a
bounded channel.  The channel bound prevents the queueing task from running too
far ahead.

With this change I see >20k blocks/second served by a local pd instance:
    Finished release [optimized + debuginfo] target(s) in 6.23s
     Running `target/release/measure -n localhost stream-blocks`
[13s] ██████████████████████████████████████████████████  267867/267867  20145/s ETA: 0s

Oh, sweet! My suggestion here: since calls to RocksDB already internally use spawn_blocking to bridge each blocking call to the database, I think it might be more efficient here (in terms of server resource usage) to use FuturesOrdered rather than spawning a new task to wrap each block fetch.


Qubit manager optimizations

Optimized computation complexity of allocate() to be O(1) amortized (worst case of a single call is still O(number of nested areas)).
Removed support for EncourageReuse. This is always assumed to be true.
Added more unit tests.

EncourageReuse=false is now removed. It is not an interesting case and wasn't used in the previous qubit manager. The only interesting case for EncourageReuse=true is when qubit ids aren't reused at all and capacity grows indefinitely. I.e., qubit manager functionality is reduced to id++. It makes sense to provide a different qubit manager for this case.


Refactor for consistency

Changes

Use consistent resource identifiers (e.g. api/order/GetForm?id= -> /api/orders/{orderId})
Use correct verbs for endpoints (e.g. post -> put for updates)
Use consistent naming for orders (e.g. OrderForm -> Order, FormStatus -> OrderStatus)
Remove unused GET endpoints (DeviceWearer, DeviceWearerContactDetails)

This appeases the OCD person inside me!


Add "count" (badge) to toolbar item

It adds a small colored "pill" on the corner of the button with the count displayed.
We expect an integer to be passed and I think you can adapt the font size based on if there is 1, 2, or more digits in the number.
Example in NMRium:

API suggestion:
// text color is always white
<Toolbar.Item count={3} countBackgroundColor="red" />

I like this style, WDYT?

And on hover

I used Tag component https://blueprintjs.com/docs/#core/components/tag

SGTM, see PR comments


regular expression matches empty string

Hello,
this is not necessarily a bug but the expression in https://github.com/AliasIO/wappalyzer/blob/master/src/apps.json#L7808 also matches empty strings as seen here: https://regex101.com/r/6A9XJL/2
It makes more sense removing the parentheses and question mark: ATGPlatform/([\\d.]+)
I know this might not be relevant since you want to extract the version only but in my case it causes a small issue in hyperscan.

Most headers match empty strings (like this one). It shouldn't cause issues as the pattern is only executed when a matching header is found.


Tradução: Statements.md - Control Transfer Statements

I think you want to make this pull request against the Portuguese translation repository instead. See a similar issue in #42, looks like it was merged over there as this PR: https://github.com/AcademyIFCE/swift-book/pull/574.


data library: finished pending tasks

made dataset urls relative to cartodb.com
replaced font to proxima nova

CR @xavijam

I would try to differentiate between environments in order to make data-library work in development, staging and production. Example: pseudocode.
  if (development) {
    base_url = ":username." + whatever
  } else if (staging) {
    base_url = "cartodb.com"
  } else {
    base_url = "cartodb.com"
  }

check now @xavijam

:+1: Much better buddy


Protocol impl blows away inheritance

The cause seems to be here, which looks pretty intentional, so maybe it's a feature instead of a bug, but it's unfortunate for a few use cases (specifically, I ran into trouble when trying to impl protocols for classes that inherit EventEmitter).
I'd be more than happy to try to take this on, but I might need some guidance.
There's a fork here with a failing test that demonstrates the issue.

No it doesn't, I'm just a bad programmer.


http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt is deprecated and 403 Forbidden

This is a Bug Report

Problem:
In https://kubernetes.io/zh/docs/tutorials/services/source-ip/

http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt is deprecated and 403 Forbidden
Proposed Solution:
change it to https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt
Page to Update:
https://kubernetes.io/zh/docs/tutorials/services/source-ip/

/language zh
/assign

Is the English version correct? We should fix the English version first.

Is the English version correct? We should fix the English version first.


README.md: Update README.md file

Cyanide is not elixir-bson.

Add the Coveralls badge as well:

Pull Request Test Coverage Report for Build 9

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

Totals

Change from base Build 7:
0.0%

Covered Lines:
139

Relevant Lines:
182

💛  - Coveralls

Pull Request Test Coverage Report for Build 9

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

Totals

Change from base Build 7:
0.0%

Covered Lines:
139

Relevant Lines:
182

💛  - Coveralls


CB-11989 RDS: Upgrade cloudbreak PostgreSQL from v9 to v13

v13 is not compatible with v9.
If you don't want to preserve your local data then just remove the cbreak_common volume with the cbd delete or the docker volume rm cbreak_common command.
If you want preserve your local dev database please follow these steps:
docker kill + stop the services in Idea
cbd startdb
docker ps -> check the postgres version, should be 9.6.16-alpine
docker exec -it -u postgres cbreak_commondb_1  pg_dumpall > dbdumpfile
save the vault keys from your Profile (VAULT_ROOT_TOKEN, VAULT_UNSEAL_KEYS)
cbd kill
docker volume rm cbreak_common

upgrade your cbd

cbd regenerate
cbd startdb
docker ps -> check the postgres version, should be 13.2-alpine
docker logs cbreak_commondb_1 -> check that the db started
check that the db is empty ('docker exec -itu postgres cbreak_commondb_1  psql -d cbdb' or similar should fail with message that the db does not exist)
cat dbdumpfile | docker exec -i -u postgres cbreak_commondb_1  psql -d postgres
cbd kill

restore vault keys in your Profile
cbd start

Local cb-2.9 database shouldn't be affected because the volume name is different ('common' instead of 'cbreak_common')

I've did the migration as a test, 2 findings:

I did not need to save the Vault keys to a separate file, they remained untouched
the output of the restore command is quite verbose, might be a good idea to collect that into a file


Correct way to pass Model Collection instance to a view

Initially i was trying:
  * index(request, response) {
    const articles = yield Article.all()

    yield response.sendView('articles', {articles: articles})
  }

      {% for article in articles %}
        {{ article.title }}
        {{ article.slug }}
      {% endfor %}

But this didn't return anything, if i tried:
  * index(request, response) {
    const articles = yield Article.all()

    yield response.sendView('articles', {articles: articles.__wrapped__})
  }

Then the template iteration worked correctly, is there a better way other than using __wrapped__?

use articles.toJSON. It is a standard lodash chain, so anytime u want to check certain implementation, jist refer lodash docs

Ah thanks, i'm not very familiar with lodash so i'll look into that too, congrats on 500 stars too :)


[SPARK-45827] Disallow partitioning on Variant column

What changes were proposed in this pull request?
Follow-up to https://github.com/apache/spark/pull/43984: we should not allow partitioning on VariantType. Even though it is is an atomic type, it represents a nested semi-structured value, so not partitioning is consistent with our decision to not allow partitioning on nested types. Also, for now at least, it is not even comparable, so attempting to partition fails with a confusing codegen error about a method named compare not being declared.
Why are the changes needed?
Improves error message when attempting to partition on Variant, and explicitly forbids a case that we do not intend to support.
Does this PR introduce any user-facing change?
Improved error message if a user tries to partition on Variant.
How was this patch tested?
Added unit test, which fails without the code change.
Was this patch authored or co-authored using generative AI tooling?
No.

the failure is unrelated, merging to master!


Question: Proper way to perform logging on each request

Hi!
I am currently using Rest::Request for logging the incoming requests. However I have a few questions:

How to get the remote ip?
What would be the most reliable way to log the response body size?
Does it exist any handler for doing it automatically at the end of each request (to log status code for example)

Maybe we could build a minimal example to log nginx/apache-like requests.
Thanks!

To get client's IP if your server is behind nginx what I would do is add client's ip as a header (proxy_set_header  X-Real-IP $remote_addr;) and get it from req.headers();


New project in Sql project extension in vscode doesn't ask for target framework

Azure Data Studio Version:
OS Version:

Steps to Reproduce:

In project extension in vscode click on + to create new project
enter project name and location

Expected: I expected to ask for project target framework but didn't see the prompt
Actual: project is created and target is set to 150 by default

Does this issue occur when all extensions are disabled?: Yes/No

added in https://github.com/microsoft/azuredatastudio/pull/18731


modularity: depsolving (COMPOSER-2365)

The commit implements modularity for the dnf4 dependency solver.
The dependency solver now takes two new keys per transaction: module-install-specs and module-enable-specs, each of which is a list of module specifications.
When modules are used and packages for them are installed a new dictionary is returned in the response where each key is the name of an enabled module and the value are the contents of the module configuration and the module failsafe file that DNF needs in the resulting system.
These values can be used by consumers of the dependency solver, such as images, to create the appropriate inline sources and copy stages.

When dnf enables a module on a system it writes a file in /etc/dnf/modules.d/{name}.module with the following contents:
[nodejs]
name=nodejs
stream=18
profiles=common
state=enabled

it also drops a file in /var/lib/dnf/modulefailsafe/ containing the module metadata yaml so it has access to it if the repository that the module belongs to gets disabled or removed.
This approach seems to be the most lightweight way to deal with modularity even if it feels hacky. The alternatives involve the complex task(s) of exporting and importing dnf state.
This is a draft PR to discuss the approach, I'm assuming naming and implementation details can be figured out when we undraft.
My big questions are:

Do we want to instead make our own format that the solver returns and then have specific stages that understand that format to write the module and failsafe file?
Nonexisting modules seem to not fail the depsolve.
Do we want both install and enable?
The interaction with our idea of transactions and enabled/installed modules is finicky. As long as we do all the modular stuff in a single transaction (the second one, when coming from images) all should be peachy but there are pitfalls if we were to add a third transaction after this.

If/after we decide this PR is the correct approach this will need tests.
If/after we merge this PR we will need a PR to images to create the appropriate copy stages and for our customizations to pass in modular names.
For proper testing we'll also need to include module metadata in rpmrepo and the mock repositories we have in here.

If you want to test this you can check out this branch and use the following:
user@muja osbuild € cat request.json
{
  "command": "depsolve",
  "arch": "x86_64",
  "module_platform_id": "platform:c9s",
  "releasever": "9",
  "cachedir": "/tmp",
  "arguments": {
    "root_dir": "/tmp",
    "repos": [
      {
        "id": "AppStream",
        "metalink": "https://mirrors.centos.org/metalink?repo=centos-appstream-9-stream&arch=$basearch&protocol=https,http"
      },
      {
        "id": "BaseOS",
        "metalink": "https://mirrors.centos.org/metalink?repo=centos-baseos-9-stream&arch=$basearch&protocol=https,http"
      }
    ],
    "transactions": [
      {
        "module-install-specs": ["nodejs:18/minimal"],
        "package-specs": ["@core"],
        "exclude-specs": []
      }
    ]
  }
}
user@muja osbuild € ./tools/osbuild-depsolve-dnf < request.json | jq .modules
{
  "nodejs": {
    "module-file": "[nodejs]\nname=nodejs\nstream=18\nprofiles=common\nstate=enabled\n",
    "failsafe-file": "---\ndocument: modulemd\nversion: 2\ndata:\n  name: nodejs\n  stream: \"18\"\n  version:<PHONE_NUMBER>54052\n  context: rhel9\n  static_context: true\n  arch: x86_64\n  summary: Javascript runtime\n  description: >-\n    Node.js is a platform built on Chrome's JavaScript runtime for easily building\n    fast, scalable network applications. Node.js uses an event-driven, non-blocking\n    I/O model that makes it lightweight and efficient, perfect for data-intensive\n    real-time applications that run across distributed devices.\n  license:\n    module:\n    - MIT\n    content:\n    - MIT\n    - MIT and ASL 2.0 and ISC and BSD\n  xmd: {}\n  dependencies:\n  - buildrequires:\n      platform: [el9]\n  references:\n    community: http://nodejs.org\n    documentation: http://nodejs.org/en/docs\n    tracker: https://github.com/nodejs/node/issues\n  profiles:\n    common:\n      rpms:\n      - nodejs\n      - npm\n    development:\n      rpms:\n      - nodejs\n      - nodejs-devel\n      - npm\n    minimal:\n      rpms:\n      - nodejs\n    s2i:\n      rpms:\n      - nodejs\n      - nodejs-nodemon\n      - npm\n  api:\n    rpms:\n    - nodejs\n    - nodejs-devel\n    - npm\n  buildopts:\n    rpms:\n      macros: >\n        %_with_bundled 1\n\n        %_with_python3_fixup 0\n  components:\n    rpms:\n      nodejs:\n        rationale: Javascript runtime and npm package manager.\n        ref: stream-nodejs-18-rhel-9.4.0\n        buildorder: 100\n        arches: [aarch64, ppc64le, s390x, x86_64]\n      nodejs-nodemon:\n        rationale: Simple monitor script for use during development of a node.js app\n        ref: stream-nodejs-18-rhel-9.4.0\n        buildorder: 200\n        arches: [aarch64, ppc64le, s390x, x86_64]\n      nodejs-packaging:\n        rationale: RPM Macros and Utilities for Node.js Packaging\n        ref: stream-nodejs-18-rhel-9.4.0\n        buildorder: 10\n        arches: [aarch64, ppc64le, s390x, x86_64]\n  artifacts:\n    rpms:\n    - nodejs-1:18.19.1-1.module_el9+986+cd5c1200.src\n    - nodejs-1:18.19.1-1.module_el9+986+cd5c1200.x86_64\n    - nodejs-debuginfo-1:18.19.1-1.module_el9+986+cd5c1200.x86_64\n    - nodejs-debugsource-1:18.19.1-1.module_el9+986+cd5c1200.x86_64\n    - nodejs-devel-1:18.19.1-1.module_el9+986+cd5c1200.x86_64\n    - nodejs-docs-1:18.19.1-1.module_el9+986+cd5c1200.noarch\n    - nodejs-full-i18n-1:18.19.1-1.module_el9+986+cd5c1200.x86_64\n    - nodejs-nodemon-0:3.0.1-1.module_el9+663+27147c5a.noarch\n    - nodejs-nodemon-0:3.0.1-1.module_el9+663+27147c5a.src\n    - nodejs-packaging-0:2021.06-4.module_el9+244+c48c75d4.noarch\n    - nodejs-packaging-0:2021.06-4.module_el9+244+c48c75d4.src\n    - nodejs-packaging-bundler-0:2021.06-4.module_el9+244+c48c75d4.noarch\n    - npm-1:10.2.4-<IP_ADDRESS>.1.module_el9+986+cd5c1200.x86_64\n...\n"
  }
}

[ ] The selected profile is hardcoded, this needs to be parsed from the module specification or parsed from the module metadata (default profile) if we can't get it from dnf.

So in general I think this is the easiest way forward: drop-in file + the failsafe.
Regarding the profiles, we could either decide to make users choose, or do something silly like heuristically decide which profile by querying what profiles a ModulePackage is part of, and then pick whichever profile isn't common between all of them.
That said, it might be more straight-forward to just let users select the profile, so I'm leaning towards that atm.

Having thought about it a bit more, I think we should just expose the having to choose the profiles for now. So you'd choose a module stream + profile.

Having thought about it a bit more, I think we should just expose the profiles for now. So you'd choose a modulestream + profile. And then the module_install makes sense, so we can drop the module_enable.

So, does this mean that we'll require a profile to be given (e.g. we'll always require a full module specification for the depsolver)? Seems to be the most proper to me. Then higher abstraction levels can handle which one they select.

Having thought about it a bit more, I think we should just expose the profiles for now. So you'd choose a modulestream + profile. And then the module_install makes sense, so we can drop the module_enable.

So, does this mean that we'll require a profile to be given (e.g. we'll always require a full module specification for the depsolver)? Seems to be the most proper to me. Then higher abstraction levels can handle which one they select.

Yup!

My big questions are:

Do we want to instead make our own format that the solver returns and then have specific stages that understand that format to write the module and failsafe file?

I don't see a big use case for this unless we'd like to support enabling specific modules (streams) without installing any packages from it. I guess that we won't need this.

Nonexisting modules seem to not fail the depsolve.

It would be great if they would :thinking:

Do we want both install and enable?

I'm pretty sure that we need to be able to enable non-default module streams. As for the installation, I'd like us to handle streams within package_specs if possible.

The interaction with our idea of transactions and enabled/installed modules is finicky. As long as we do all the modular stuff in a single transaction (the second one, when coming from images) all should be peachy but there are pitfalls if we were to add a third transaction after this.

Did you already run into any specific issues while experimenting with this? It would be great to have a test for such a scenario, but at the end of the day, we should be fine with just two transactions.

My big questions are:

Do we want to instead make our own format that the solver returns and then have specific stages that understand that format to write the module and failsafe file?

I don't see a big use case for this unless we'd like to support enabling specific modules (streams) without installing any packages from it. I guess that we won't need this.

Nonexisting modules seem to not fail the depsolve.

It would be great if they would 🤔

I'll see what I can do today :)

Do we want both install and enable?

I'm pretty sure that we need to be able to enable non-default module streams. As for the installation, I'd like us to handle streams within package_specs if possible.

Right, so when a module is installed it means 'install all packages this (default) profile in this module'. When a module is enabled it will then be used during the normal package install.

The interaction with our idea of transactions and enabled/installed modules is finicky. As long as we do all the modular stuff in a single transaction (the second one, when coming from images) all should be peachy but there are pitfalls if we were to add a third transaction after this.

Did you already run into any specific issues while experimenting with this? It would be great to have a test for such a scenario, but at the end of the day, we should be fine with just two transactions.

No, we almost always have two transactions; things would only get weird if we had modules enabled in the first and second.

PR updated; it can now be reviewed (tests pending). I've removed the installs-specs after a chat with @thozza. Did this in a separate commit so it can be reverted.
It turns out that requesting a non-existent module does throw a marking error so we're also good on that front.

My big questions are:

Do we want to instead make our own format that the solver returns and then have specific stages that understand that format to write the module and failsafe file?

I don't see a big use case for this unless we'd like to support enabling specific modules (streams) without installing any packages from it. I guess that we won't need this.

Nonexisting modules seem to not fail the depsolve.

It would be great if they would 🤔

Do we want both install and enable?

I'm pretty sure that we need to be able to enable non-default module streams. As for the installation, I'd like us to handle streams within package_specs if possible.

Are you sure? I think you can just do $module:$stream/$profile? And from the UI we would always pass along the stream version and the profile. So I think we should just be able to call module_install?

Are you sure? I think you can just do $module:$stream/$profile? And from the UI we would always pass along the stream version and the profile. So I think we should just be able to call module_install?
edit: I think module_install should work ,let's just do that and just require module, stream and profile from the user.

install_specs calls module_install for modules.
Looking at the DNF code, we could probably just pass $module:$stream/$profile to install_specs.
The question is how end users tend to install packages from modules. With your suggested approach, users won't be able to selectively install specific packages from a specific $module:$stream. Enabling a specific module/stream makes its content available for installation AFAICT. Without enabling modules, they will be able to only install specific module/stream/profile.

Thank you for the expanded reply. I feel like these decisions are best left to the frontend where users get to select modules and packages. I've reverted the commit here that allows to only install modules in favor of having both enable-modules and install-modules.
I've also rewritten the logic that deals with the profiles that end up in the profile configuration file, it now correctly handles cases where no profiles where requested, or multiple.

I don't understand what autopep8 is trying to do here but I don't want it?


Bug in conversation.py

A minor bug was found here. It seems the assistantrole  in conversation.py is faulty. It should be <|start_header_id|>assistant<|end_header_id|>\n\n.

Thanks! We will fix in the next version.

close for now. The fix is expected to deliver on Aug.


feat: labels action (#23)

closes #23
== Labels

To facilitate the community in finding ways to contribute that match their experiences and skillsets, we have developed a comprehensive system for labelling issues and PRs. This is an introduction to this standard labelling scheme.

Labels consist of three fields, viz. name, description and color. Label names should have a consistent format to aid both filtering within the github UI as well as scanning visually through the list. The following format is the most suited to this task (where ⎵ denotes a single space):

<emoji>⎵<category>:⎵<name>

Using the label convention from https://opensource.creativecommons.org/contributing-code/repo-labels/
=== Usage
Using the library https://github.com/xavierchow/github-label-template[xavierchow/github-label-template] to export/import labels with the file labels.json
To add a new label, update the labels.json file and the GitHub Action will do the rest.
[source,json,linenums,highlight=2..5]
[
{
"name": "good first issue",
"color": "7f0799"
},
{
"name": "help wanted",
"color": "7f0799"
}
]

Where should the labels.json file be located?


Fixup isValid(Box) geometry algorithm

The goal of these changes is better alignment with Boost.Geometry
What motivated looking into this was a discussion on the kDOP PR that isValid(Box{}) was returning true which we agreed was surprising.
There was no clear agreement on what should return isValid(Box{p, p}).  I propose we follow Boost.Geometry for now and revisit later if needs to be.

SYCL failure is a No space left on device


Target cannot be set to dynamic entity

Great Card, love it !!! however, in v2 the target was settable to an entity state value. But that's not the case with v3. Can that be fixed to work like it used to.
- type: custom:bar-card
  columns: 4
  height: 178px
  title_position: bottom
  direction: up
  indicator: off
  positions:
    icon: inside
    name: outside
    indicator: 'off'
  entities:
    - entity: sensor.powerwall_power
      name: "batt"
      target: sensor.powerwall_bar_target # THIS DOES NOT WORK
      min: 0
      max: 8
      icon: mdi:car-battery
      severity:
        - color: 'green'
          from: 0
          to: 10

This is no longer directly possible, however you can use config-template-card to get the same result.

worked perfectly. Thank you :)

Can you please share correct code to solve that problem?

cards:
                  - type: "custom:config-template-card"
                    entities:
                      - sensor.solar_power
                      - sensor.grid_power
                      - sensor.grid_bar_target
                      - sensor.powerwall_power
                      - sensor.powerwall_bar_target
                      - sensor.house_load
                    card:
                      # HOUSE ENERGY PROFILE BARS
                      type: custom:bar-card
                      columns: 4
                      title_position: bottom
                      direction: up
                      positions:
                        icon: inside
                        name: outside
                        value: outside
                        indicator: 'off'
                      animation:
                        state: 'on'
                        speed: 5
                      entities:
                        - entity: sensor.solar_power
                          name: "solar"
                          target: "${states['sensor.solar_power'].state}"
                          min: 0
                          max: 8
                          icon: mdi:weather-sunset
                          severity:
                            - color: 'yellow'
                              from: 0
                              to: 8
                        - entity: sensor.grid_power
                          name: "grid"
                          target: "${states['sensor.grid_bar_target'].state}"
                          min: 0
                          max: 8
                          icon: mdi:transmission-tower
                          severity:
                            - color: 'orange'
                              from: -8
                              to: 8
                        - entity: sensor.powerwall_power
                          name: "batt"
                          target: "${states['sensor.powerwall_bar_target'].state}"
                          min: 0
                          max: 8
                          icon: mdi:car-battery
                          severity:
                            - color: 'green'
                              from: -8
                              to: 8
                        - entity: sensor.house_load
                          name: "load"
                          target: "${states['sensor.house_load'].state}"
                          min: 0
                          max: 8
                          icon: mdi:home
                          severity:
                            - color: 'red'
                              from: 0
                              to: 8
                      # HOUSE ENERGY PROFILE BARS


Redirects to correct ireg 404s

We have a series of 404 errors triggered in our Regulations section (https://www.consumerfinance.gov/rules-policy/regulations/) caused by how relative URL paths are being created on certain pages. This is a known tech issue that should be solved in code. However, in the meantime, this PR manually sets up redirects for these 404s (based on use of our internal content crawler's 404 report) so that website functionality is not hamstrung further by this work's placement in the backlog.
When the technological issue is resolved, these redirects should be able to be removed safely.

Additions

75 new redirects all focused on a systemic issue in the generation of links in the regulations section

How to test this PR

localhost
Navigate to /rules-policy/regulations/1003/2018-01-01/a/
Find the link to /rules-policy/regulations/1003/1002/9/
Confirm that the link properly resolves to /rules-policy/regulations/1002/9/
Check that all other redirects resolve to non-404s

Notes and todos

As mentioned, these should be removed if/when the systemic issue that causes them is resolved; likewise, more may need to be added if other links of this nature are generated in the future, until the larger issue is resolved.

Checklist

[ ] PR has an informative and human-readable title

PR titles are used to generate the change log in releases; good ones make that easier to scan.
Consider prefixing, e.g., "Mega Menu: fix layout bug", or "Docs: Update Docker installation instructions".

[ ] Changes are limited to a single goal (no scope creep)
[ ] Code follows the standards laid out in the CFPB development guidelines
[ ] Future todos are captured in comments and/or tickets
[ ] Project documentation has been updated, potentially one or more of:

This repo’s docs (edit the files in the /docs folder) – for basic, close-to-the-code docs on working with this repo
CFGOV/platform wiki on GHE – for internal CFPB developer guidance
CFPB/hubcap wiki on GHE – for internal CFPB design and content guidance

@csebianlander this seems fine to me - I know that Will took a look at this briefly last week so just requesting his review in case there's another low-lift fix to pursue.

I'll admit, I don't love this.
I think my preference for a low-lift fix would be to programmatically edit the links in the data — or even do so by hand. That's a one-time effort that won't require additional follow-up to clean up later, and it's possible that any code to do that automatic editing could be incorporated into the application to avoid this problem (based on like, vague pre-coffee thoughts — this may or may not be true, and feels less true as I write it down).
It's fine as a mitigation if we need a quick fix; are these 404s a major issue we need to resolve ASAP? If so, sure. I don't see a fix for the actual bug being high on the priority list at the moment.
But I'd almost volunteer to go in an hand-edit these links myself to avoid re-introducing a lot of new Apache redirects.

See GHE/CFGOV/platform/issues/3982 for more details. From what I remember of that one, there are two sources of broken iRegs links. One set of bad links (which I think is the set these redirects correct) are links that, like @willbarton said, could be edited by hand to be fixed. The other set is more troublesome and stems from how the URL path changes when an effective version goes from future version to current version to previous version and seems much harder to fix.
All of that to say that there's a wall of more details in that GHE issue if anyone wants to dive deeper.

I don't really know much about how the data is structured, but if it's possible to find/replace the URL paths referenced in this PR within the actual data, that's definitely preferable to this approach even in the short-term. I'd be happy to do that if I had a better sense of how to work with that data.
Re: whether these redirects address manual or programmatic issues -- this set of URLs represents all the 404s captured by our crawler tool, which I would have thought would encapsulate both/any use case as long as it involves internal links within and across Regulations pages. Not sure how best to determine/confirm that.

@csebianlander, I don't doubt that those are all the iRegs 404s that our crawler caught, but because of the way effective version URLs change when they go from future version to current version to past version (i.e. future and past versions have an extra directory in their paths that contains the effective date and throws off relative hrefs), there could be more bad links in the future. Which makes me wonder if this isn't better solved with a RedirectMatch instead of individual directives since all those bad links follow the same pattern. Check my regex here because I'm rusty, but I'm thinking something like:
RedirectMatch permanent ^/rules-policy/regulations/\d{4}/(\d{4}/.*) /rules-policy/regulations/$1

That should redirect any iRegs URLs that have two four-digit pieces in them (e.g. 1003/1002 or 1005/1005) to URLs with just the second four-digit piece and everything that follows. At a glance it looks like that's the pattern all the bad URLs follow, so that might get them all (and any future ones with the same pattern) in one swoop. We'll also want to check to confirm that we don't have any legit iRegs URLs that follow the /\d{4}/\d{4}/ pattern, but off the top of my head, I think section numbers only go to three digits (like https://www.consumerfinance.gov/rules-policy/regulations/1006/108/), so we're probably safe.
Still probably not super ideal to fix this with a redirect instead of somewhere in the iRegs app, but this feels like the quickest way to fix current and future broken iRegs links and get rid of a ton of 404s that are dragging down our SEO reports.

Ahh thanks @niqjohnson for that regex -- I'd done some tinkering early on in looking at this but hadn't yet fully confirmed that all the cases I found matched the pattern. I love this approach, though, and it feels like a much cleaner and more reasonable (and still very short-term) solve. @willbarton I'm sure this is still not ideal, but -- thoughts about replacing all the individual redirects with this single RedirectMatch?

@csebianlander I think it's fine.


Setup Travis build

@gabrielwalt - can you please enable the Travis build for this repo and for the aem-project-archetype? See http://docs.travis-ci.com/user/getting-started/ for details. Once the webhook is activated, I can take care of the rest.
Thanks!

@Adobe-Marketing-Cloud/owners - can one of you please enable the Travis build hook for aem-eclipse-developer-tools and aem-project-archetype?
Thanks

I can certainly do that. Lets coordinate offline.

Great, thanks @acollign

Fixed, thanks a lot for your help


Update demo styling for vaadin.com integration [skip ci]

Before

After

This change is

I would make the search icon smaller inside the text field. Similarly how we do for vaadin icons: https://github.com/vaadin/vaadin-text-field/blob/master/theme/lumo/vaadin-text-field-styles.html#L260-L264

@jouni done, thanks. I have incorrectly ported some styles from #66, fixed now.


[Preview11]: Install-PSResource should not fail silently

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.

Steps to reproduce
Install-psresource exchangeonlinemanagement
Expected behavior
Installs

Actual behavior
Fails silently (Should throw error)

Error details
❯ install-psresource exchangeonlinemanagement -verbose

VERBOSE: All paths to search: 'C:\Users\JGrote\OneDrive - Allied Digital Services LLC\Documents\PowerShell\Modules'
VERBOSE: All paths to search: 'C:\Users\JGrote\OneDrive - Allied Digital Services LLC\Documents\PowerShell\Scripts'
VERBOSE: Performing the operation "Install-PSResource" on target "package to install: 'exchangeonlinemanagement'".
VERBOSE: Parameters passed in >>> Name: 'exchangeonlinemanagement'; Version: ''; Prerelease: 'False'; Repository: ''; AcceptLicense: 'False'; Quiet: 'False'; Reinstall: 'False'; TrustRepository: 'False'; NoClobber: 'False';
VERBOSE: Attempting to search for packages in 'PSGallery'
VERBOSE: Checking if untrusted repository should be used
Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change its Trusted value by running the Set-PSResourceRepository cmdlet. Are you sure you want to install the PSresource from 'PSGallery' ?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "No"): y
VERBOSE: Untrusted repository accepted as trusted source.
VERBOSE: Null Type provided, so add PSGalleryScripts repository
VERBOSE: Searching in repository PSGallery
VERBOSE: <IP_ADDRESS>
VERBOSE: Null Type provided, so add PSGalleryScripts repository
VERBOSE: Searching in repository PSGallery
VERBOSE: Begin installing package: 'ExchangeOnlineManagement'
VERBOSE: Successfully able to download package from source to: 'C:\Users\JGrote\AppData\Local\Temp\8b59a87a-ae0d-43f8-8c4a-8634a7e657fc'
VERBOSE: Unable to successfully install package 'ExchangeOnlineManagement': 'Cannot generate a Windows PowerShell object for a ScriptBlock evaluating dynamic expressions. Dynamic expression: @{
RootModule = if($PSEdition -eq 'Core')
    {
        '.\netCore\ExchangeOnlineManagement.psm1'
    }
    else # Desktop
    {
        '.\netFramework\ExchangeOnlineManagement.psm1'
    }
FunctionsToExport = @('Connect-ExchangeOnline', 'Connect-IPPSSession', 'Disconnect-ExchangeOnline')
ModuleVersion = '2.0.5'
GUID = 'B5ECED50-AFA4-455B-847A-D8FB64140A22'
Author = 'Microsoft Corporation'
CompanyName = 'Microsoft Corporation'
Copyright = '(c) 2021 Microsoft. All rights reserved.'
Description = 'This is a General Availability (GA) release of Exchange Online PowerShell V2 module.
Please check the documentation here - https://aka.ms/exops-docs.
For issues related to the module, contact Microsoft support.'
PowerShellVersion = '3.0'
CmdletsToExport = @('Get-EXOCasMailbox','Get-EXOMailbox','Get-EXOMailboxFolderPermission','Get-EXOMailboxFolderStatistics','Get-EXOMailboxPermission','Get-EXOMailboxStatistics','Get-EXOMobileDeviceStatistics','Get-EXORecipient','Get-EXORecipientPermission','Get-MyAnalyticsFeatureConfig','Get-UserBriefingConfig','Get-OwnerlessGroupPolicy','Get-VivaInsightsSettings','Set-MyAnalyticsFeatureConfig','Set-UserBriefingConfig','Set-OwnerlessGroupPolicy','Set-VivaInsightsSettings')
FileList = if($PSEdition -eq 'Core')
{
    @('.\netCore\Microsoft.Exchange.Management.AdminApiProvider.dll',
        '.\netCore\Microsoft.Exchange.Management.ExoPowershellGalleryModule.dll',
        '.\netCore\Microsoft.Exchange.Management.RestApiClient.dll',
        '.\netCore\Microsoft.Identity.Client.dll',
        '.\netCore\Microsoft.IdentityModel.JsonWebTokens.dll',
        '.\netCore\Microsoft.IdentityModel.Logging.dll',
        '.\netCore\Microsoft.IdentityModel.Tokens.dll',
        '.\netCore\Microsoft.OData.Client.dll',
        '.\netCore\Microsoft.OData.Core.dll',
        '.\netCore\Microsoft.OData.Edm.dll',
        '.\netCore\Microsoft.Online.CSE.RestApiPowerShellModule.Instrumentation.dll',
        '.\netCore\Microsoft.Spatial.dll',
        '.\netCore\Microsoft.Win32.Registry.AccessControl.dll',
        '.\netCore\Newtonsoft.Json.dll',
        '.\netCore\System.Configuration.ConfigurationManager.dll',
        '.\netCore\System.Diagnostics.PerformanceCounter.dll',
        '.\netCore\System.IdentityModel.Tokens.Jwt.dll',
        '.\netCore\System.IO.Abstractions.dll',
        '.\netCore\System.Management.Automation.dll',
        '.\netCore\System.Runtime.CompilerServices.Unsafe.dll',
        '.\netCore\System.Security.Cryptography.Pkcs.dll',
        '.\netCore\System.Security.Cryptography.ProtectedData.dll',
        '.\netCore\System.Security.Permissions.dll',
        '.\netCore\System.Text.Encoding.CodePages.dll',
        '.\license.txt')
}
else # Desktop
{
    @('.\netFramework\Microsoft.Exchange.Management.AdminApiProvider.dll',
        '.\netFramework\Microsoft.Exchange.Management.ExoPowershellGalleryModule.dll',
        '.\netFramework\Microsoft.Exchange.Management.RestApiClient.dll',
        '.\netFramework\Microsoft.Identity.Client.dll',
        '.\netFramework\Microsoft.IdentityModel.Clients.ActiveDirectory.dll',
        '.\netFramework\Microsoft.OData.Client.dll',
        '.\netFramework\Microsoft.OData.Core.dll',
        '.\netFramework\Microsoft.OData.Edm.dll',
        '.\netFramework\Microsoft.Online.CSE.RestApiPowerShellModule.Instrumentation.dll',
        '.\netFramework\Microsoft.Spatial.dll',
        '.\netFramework\Newtonsoft.Json.dll',
        '.\netFramework\System.IO.Abstractions.dll',
        '.\netFramework\System.Management.Automation.dll',
        '.\license.txt')
}

PrivateData = @{
    PSData = @{
    # Tags applied to this module. These help with module discovery in online galleries.
    Tags = 'Exchange', 'ExchangeOnline', 'EXO', 'EXOV2', 'Mailbox', 'Management'
    ReleaseNotes = '
---------------------------------------------------------------------------------------------
Whats new in this release:

v2.0.5 :
    1. Manage ownerless Microsoft 365 groups through newly added cmdlets Get-OwnerlessGroupPolicy and Set-OwnerlessGroupPolicy.
    2. Add new cmdlets Get-VivaInsightsSettings and Set-VivaInsightsSettings for Global/ExchangeOnline/Teams administrators to control user access of Headspace features in Viva Insights.

---------------------------------------------------------------------------------------------
Previous Releases:

v2.0.4 :
    1. Manage EXO using Linux devices along with Browser based SSO Authentication for enhanced interactive management experience. No need to enter UserName and password everytime you run the PowerShell script.
    2. Manage EXO using Apple Macintosh devices. Supported versions of Apple MAC OS are Mojave, Catalina & Big Sur. Steps for installing PowerShell on MAC OS is documented here - https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-macos?view=powershell-7.1
    3. Real time policy & security enforcement in all user based authentication. Continuous Access Evaluation (CAE) has been enabled in EXO V2 Module. Read more about CAE here - https://techcommunity.microsoft.com/t5/azure-active-directory-identity/moving-towards-real-time-policy-and-security-enforcement/ba-p/1276933
    4. Use parameter InlineCredential to pass credentials of Non-MFA accounts on the go without the need of storing credentials in a variable
    5. More secure method to fetch access token using safe Reply URLs.
    6. Breaking change :- Change in cmdlet signature to configure MyAnalytics access for users in your tenant. Get/Set-UserAnalyticsConfig has been replaced by Get/Set-MyAnalyticsFeatureConfig Additionally, you can have more granular controls and configure access at feature level. For more steps read here - https://docs.microsoft.com/en-us/workplace-analytics/myanalytics/setup/configure-myanalytics

v2.0.3 :
    1. General availability of Certificate Based Authentication feature which enables using Modern Authentication in Unattended Scripting or background automation scenarios.
    2. Certificate Based Authentication accepts Certificate File directly from terminal thus enabling certificate files to be stored in Azure Key Vault and being fetched Just-In-Time for enhanced security. See parameter Certificate in Connect-ExchangeOnline.
    3. Connect with Exchange Online and Security Compliance Center simultaneously in a single PowerShell window.
    4. Ability to restrict the PowerShell cmdlets imported in a session using CommandName parameter, thus reducing memory footprint in case of high usage PowerShell applications.
    5. Get-ExoMailboxFolderPermission now supports ExternalDirectoryObjectID in the Identity parameter.
    6. Optimized latency of first V2 Cmdlet call. (Lab results show first call latency has been reduced from 8 seconds to ~1 seconds. Actual results will depend on result size and Tenant environment.)

v1.0.1 :
    1. This is the General Availability (GA) version of EXO PowerShell V2 Module. It is stable and ready for being used in production environments.
    2. Get-ExoMobileDeviceStatistics cmdlet now supports Identity parameter.
    3. Improved reliability of session auto-connect in certain cases where script was executing for ~50minutes and threw "Cmdlet not found" error due to a bug in auto-reconnect logic.
    4. Fixed data-type issues of two commonly used attributed "User" and "MailboxFolderUser" for easy migration of scripts.
    5. Enhanced support for filters as it now supports 4 more operators - endswith, contains, not and notlike support. Please check online documentation for attributes which are not supported in filter string.

---------------------------------------------------------------------------------------------
'
    LicenseUri='http://aka.ms/azps-license'
    }
}
}.'
VERBOSE: Attempting to delete 'C:\Users\JGrote\AppData\Local\Temp\8b59a87a-ae0d-43f8-8c4a-8634a7e657fc'
VERBOSE: Successfully deleted 'C:\Users\JGrote\AppData\Local\Temp\8b59a87a-ae0d-43f8-8c4a-8634a7e657fc'

### Environment data

```powershell
ModuleType Version    PreRelease Name                                ExportedCommands
---------- -------    ---------- ----                                ----------------
Binary     3.0.11     beta       PowerShellGet                       {Find-PSResource, Get-InstalledPSResource, Get-PSR…

Key   : PSVersion
Value : 7.1.4
Name  : PSVersion

Key   : PSEdition
Value : Core
Name  : PSEdition

Key   : GitCommitId
Value : 7.1.4
Name  : GitCommitId

Key   : OS
Value : Microsoft Windows 10.0.22000
Name  : OS

Key   : Platform
Value : Win32NT
Name  : Platform

Key   : PSCompatibleVersions
Value : {1.0, 2.0, 3.0, 4.0…}
Name  : PSCompatibleVersions

Key   : PSRemotingProtocolVersion
Value : 2.3
Name  : PSRemotingProtocolVersion

Key   : SerializationVersion
Value : <IP_ADDRESS>
Name  : SerializationVersion

Key   : WSManStackVersion
Value : 3.0
Name  : WSManStackVersion

Visuals
No response

Triage what's happening with code script block in psm1 file

Any update on this?

@et1975 this is being worked on currently, we hope to get this fixed for the next release.

This issue is resolved by PR #525 and will be present in the next release (3.0.12). This will ensure that Install doesn't fail silently or require the user to use Verbose to see the error, but rather writes the error.

I've opened this issue: https://github.com/PowerShell/PowerShellGet/issues/533
for the parsing failing for this module.


Correct Kovri user guide link from moneropedia articles

I found this while translating "subscription" article.
Link is refering to an old tree and is therfore "file not found" on the other end.
Should we link to getkovri, or github is still the target @anonimal?

Hello, still no answer here @anonimal or @coneiric ? What is the link destination best practice? getkovri, or github?

What's the problem exactly?

Some links goes to getkovri, while others goes to github (for docs available on getkovri), I just want to make it uniformly for all.

Has been moved to https://repo.getmonero.org/monero-project/monero-site/merge_requests/841.


🕴copyright

It is inpraktical that here copyright chanes and versionchanes are mixed up

I've reverted the committs containing the version update. Now this branch contains only copyright-changes.


populate LAST-MODIFIED for assests

shelf_appengine calls Assets.read which bypasses the caching support provided via Assets.serve rendering the responses not cacheable :-(

@Andersmholmgren blast from the past. I think I may be able to hack this together with a custom HttpRequest. Stay tuned...

\o/

The solution I created is more trouble than it's worth. Will have to look into other options.

FWIW I need longer need this feature as I implemented it in mojito. Others likely will want it though of course


invalid token at map.convert()

Description:
I tried to execute example, but the compilation fails on my machine.
Steps to reproduce:
Create file: file locally.
Than:
ballerina build
Compiling source
    x.bal
error: .::x.bal:36:9: invalid token 'movieMap'
error: .::x.bal:36:23: invalid token '.'
error: .::x.bal:37:9: invalid token 'writerMap'

Affected Versions:
Ballerina 0.990.0
OS, DB, other environment details and versions:
macOs Mojave 10.14.1

@mhmxs there was an issue with this particular example which we've fixed for the upcoming release (0.990.1). This will be reflected on ballerina.io soon.
The updated example is available at https://github.com/ballerina-platform/ballerina-lang/blob/v0.990.1/examples/json-record-map-conversion/json_record_map_conversion.bal.
Please let us know if you are facing any issues with the updated example. Sorry about the inconvenience!

Thank a lot, solved my issue.


Crash while edit multiple lines.

[Window Title]
devenv.exe
[Main Instruction]
An unexpected error occurred
[Content]
Please press Ctrl+C to copy the contents of this dialog and report this error to our issue tracker.
[^] Hide details  [Close]
[Expanded Information]
Build: 15.8.18241.1

System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.PythonTools.Intellisense.CompletionSessionExtensions.SetTriggerCharacter(IIntellisenseSession session, Char triggerChar)
   at Microsoft.PythonTools.Intellisense.IntellisenseController.<TriggerCompletionSession>d__43.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.PythonTools.Infrastructure.TaskExtensions.ReThrowTaskException(Object state)
   at Microsoft.PythonTools.Infrastructure.TaskExtensions.DoNotWait(Task task)
   at Microsoft.PythonTools.Intellisense.IntellisenseController.HandleChar(Char ch)
   at Microsoft.PythonTools.Intellisense.IntellisenseController.Exec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)
   at Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.InnerExec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)
   at Microsoft.VisualStudio.Editor.Implementation.CommandChainNode.Exec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)
   at Microsoft.PythonTools.Language.EditFilter.ExecWorker(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)
   at Microsoft.PythonTools.Language.EditFilter.Exec(Guid& pguidCmdGroup, UInt32 nCmdID, UInt32 nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)

session is null here:
        internal async Task TriggerCompletionSession(bool completeWord, char triggerChar, bool? commitByDefault = null) {
            var caretPoint = _textView.TextBuffer.CurrentSnapshot.CreateTrackingPoint(_textView.Caret.Position.BufferPosition, PointTrackingMode.Positive);
            var session = _services.CompletionBroker.CreateCompletionSession(_textView, caretPoint, true);
            session.SetTriggerCharacter(triggerChar);
            if (completeWord) {
                session.SetCompleteWordMode();
            }

We probably should make ShouldTriggerIdentifierCompletionSession return false when there's multiple carets.
                            if (ShouldTriggerIdentifierCompletionSession(out commitByDefault)) {
                                TriggerCompletionSession(false, ch, commitByDefault).DoNotWait();
                            }


Flaky build: attribute 'EventProcessorClient' that could not be resolved

Some builds fail with the following error:
BlobPartitionManager.cs(283,91): error CS1574: XML comment has cref attribute 'EventProcessorClient' that could not be resolved [D:\a\1\SourceDirWith49CharsLengthTestForLongPaths\sdk\eventhub\Azure.Messaging.EventHubs.CheckpointStore.Blobs\src\Azure.Messaging.EventHubs.CheckpointStore.Blobs.csproj]

Restart makes the failure go away.
Example: https://dev.azure.com/azure-sdk/public/_build/results?buildId=177551&view=logs&j=96d7b680-dcef-5cfd-cab1-6c247ea8b6c3&t=6fa7484a-d027-52bc-0b8f-217fe61fafa9&l=162
cc @weshaggard @danieljurek @chidozieononiwu @jsquire

This now fails a lot more: https://dev.azure.com/azure-sdk/public/_build/results?buildId=177647&view=logs&j=1e00682f-6081-5348-8da2-7d601664b2e3

Context:  This type was renamed in the latest release; this appears to be a transient (but sometimes difficult to clear) exception related to resolving the NuGet package dependency for Event Hubs 5.0.0-preview.5; this issue began after moving to a package reference (from project reference) this morning.

I believe I have fixed this by overwriting some invalid packages on our blob feed with the versions we GA'ed this week. I'm going to close this issue now but please do re-open if you see any other similar failures.


Add ZipCode controller and controller test

In this PR, we implement the ZipCode controller and the test for the controller.
Test is out here: http://team01-ok-at-computers-dev.dokku-06.cs.ucsb.edu/swagger-ui/index.html
Closes #17

Looks good


Update version to 2020.11.1

Description
Release of new version that fixes errors #179 #177

Codecov Report

Merging #181 (a68f6da) into master (7f98e75) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #181   +/-   ##
=======================================
  Coverage   82.53%   82.53%
=======================================
  Files          40       40
  Lines        2033     2033
=======================================
  Hits         1678     1678
  Misses        355      355

Impacted Files
Coverage Δ

wellcomeml/__version__.py
100.00% <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 7f98e75...78af8f9. Read the comment docs.


Library requirements

I'm not being able to reproduce your results and it seems that, at least the primary errors I am getting, are due to problems with library versions. Would you mind uploading a requirementes.txt file please?

requirements.txt
If you don't mind, could you please send the error message? Maybe I can pinpoint the question for you. Thanks.

Closing this issue due to no further update. Please feel free to reopen it if needed :)


In order for company-go to work with foreign packages, it requires a -source flag

Per mdempsky/gocode#32, a -source flag needs to be passed to this forked version of gocode in order for it to find references in foreign packages.
Since company-go in MELPA comes from this repo, it puts us in a strange position since nsf/gocode doesn't supports this flag. With Go's own Language Server Protocol server in development, the need for the gocode tool may "soon" be obviated. Have you considered splitting out the emacs packages into their own repos?

It wasn't added by me there: https://github.com/melpa/melpa/blob/master/recipes/company-go. If it wasn't added by me, then it probably can be changed by somebody else also.


Modify Makefile and Dockerfiles to speed up builds

This PR speeds up the build process by keeping a base image for each targeted platform, and moving the COPY step from the Dockerfiles into a separate Dockerfile which gets built from the base image. The base images will only be rebuilt when the user has deleted them, or when the GO_VERSION or MACHINE_VERSION has changed since they were built.  In case of GO_VERSION or MACHINE_VERSION changing, the cache will be reused from the previous build (which is most useful for the steps where the libvirt package installed, which requires update/refreshing package repositories in addition to downloading the packages). The image which gets the repo root copied in, and associated container which actually performs the go get ... && go install ... are still deleted after each build.
This PR also:

Moves the Dockerfiles which create the base images into a 'dockerfiles/' directory
Changes the destination path of the compiled binaries to './out/'
Adds a .dockerignore which will prevent the binaries from being copied into the build image on successive builds

This PR also includes the Dockerfile for a base openSUSE image, so supersedes the need for PR #43