How to allow public to use tag search function?

Issue
I have tagged various photos with descriptive labels.  I'd like public users to be able to search on tags and / or photo titles to find relevant images as other gallery systems allow.  Unless the user is logged in the search box is invisible. I tried copying it to different header sections but that did not work.
Any workarounds?  I'd be glad to edit index.html or customize css or js files if I knew I wasn't messing anything up.
To replicate
Log out and the "Search" box disappears from the "Albums" page.  Log in again and it's back.
Diagnostics

Warning: Dropbox import not working. No property for dropboxKey.
Warning: You may experience problems with the Dropbox- and URL-Import. Edit your php.ini and set allow_url_fopen to 1.
No critical problems found. Lychee should work without problems!
System Information
Lychee Version:  3.1.6
DB Version:      030102
System:          Linux
PHP Version:     5.6
MySQL Version:   50505
Imagick:         1
Imagick Active:  1
Imagick Version: 1673
GD Version:      2.1.1-dev
Plugins:
Browser and system
Google Chrome Version 60.0.3112.113 (Official Build) (64-bit)
Same story wit MS Edge browser.

###More info on issue
Editing index.html, if I copy the search box HTML

<input class="header__search" type="text" name="search" placeholder="Search â€¦" >
×

from the admin toolbar DIV

to the corresponding public DIV

the search box appears whether I am logged (admin) in or not (public).  However, when I enter text in the search box in admin mode, each character disappears after I enter it and nothing else happens.  In public mode it raises the following error:

Error: Function not found!  Please check the spelling of the called function.

There should be a way to assign the appropriate function to the search box in public mode and to make it behave correctly in admin mode.  Any suggestions?

You need add "search" function to "Guest.php" file. You can see the code in "Admin.php" and copy it to "Guest.php".

Would be great if an option for that existed!

I have implemented it. It's very simple. Simply copy "search" function from "Admin.php" to "Guest.php". I upload the code as soon as I can.

¡Mil gracias, rcastillogarcia!
For those who are waiting for the code, this is what I did:
In file php/access/Guest.php I copied the two blocks of code from php/access/Admin.php  (see my comments after //COPIED )
	public static function init($fn) {

		switch ($fn) {

			// Albums functions
			case 'Albums::get':       self::getAlbumsAction(); break;

			// Album functions
			case 'Album::get':        self::getAlbumAction(); break;
			case 'Album::getPublic':  self::checkAlbumAccessAction(); break;

			// Photo functions
			case 'Photo::get':        self::getPhotoAction(); break;

			// Session functions
			case 'Session::init':     self::initAction(); break;
			case 'Session::login':    self::loginAction(); break;
			case 'Session::logout':   self::logoutAction(); break;

			// $_GET functions
			case 'Album::getArchive': self::getAlbumArchiveAction(); break;
			case 'Photo::getArchive': self::getPhotoArchiveAction(); break;

                        // COPIED Search function  from Admin.php 26 Oct 17 per rcastillogarcia_
			case 'search':                  self::searchAction(); break;
                      // END COPY
		}
		self::fnNotFound();
	}

	// COPIED Search functions from Admin.php 26 Oct 17 per rcastillogarcia
	private static function searchAction() {
		Validator::required(isset($_POST['term']), __METHOD__);
		Response::json(search($_POST['term']));
	}
       // END COPY

This works great for me @rcastillogarcia and @whfletcher. Thanks for the code! I'm also wondering how to add the search functionality to the album pages and how to search within albums. Do you know if this is possible?

@whfletcher Can you stil replicate this with the current version of Lychee ??

I am also looking for a working public search pls

This issue will be closed because I'm not actively working on Lychee anymore. The repository of Lychee will stay available, but the main development continues under the Lychee Organisation. A fork maintained by the community. Important issues have been migrated. Feel free to re-add your issue(s) when necessary.


Add Ruby to README

Merge / deployment checklist

[x] Confirm this change is backwards compatible with existing workflows.
[x] Confirm the readme has been updated if necessary.
[x] Confirm the changelog has been updated if necessary.

We seem to be hitting some rate limits in the init action, from a GitHub API.


Classes & tests for in-memory IR builder

A part of #219.

-1

+2 provided you fix the blurb on EndModule.  :-)


Added marshal.NewRequest

Coverage increased (+0.1%) to 86.919% when pulling 6bd1ce4a9ceb3d657f56aea385921f867149f6e3 on dissoupov into c4b05a4c07c0b68cbd1d306beb4657e7563f13b7 on main.


Update v4 Download checksums

Resolves https://atgu.slack.com/archives/CNL7NA6H2/p1699945990840919

Updates a checksum for v4 genomes.

Adds md5 checksums to v4 SVs that have it (I don't know enough about checksums to know why some, but not all of the v4 SV VCFs have md5 checksums, since not all have it, crc32c checksums are used instead)

Closed in favor of #1296


samples: use a uuid for insert id in streaming insert with row id example

IIUC, the first streaming insert Java sample here is supposed to show streaming inserts with insert IDs, which the Java client calls id and does not populate using UUID if unset.

Go calls it insertId and autopopulates it: https://pkg.go.dev/cloud.google.com/go/bigquery#ValuesSaver
Python called it row_id and under the hood implements it via a insertId if unset https://github.com/googleapis/python-bigquery/blob/master/google/cloud/bigquery/client.py#L3423

Also see internal cl/382167079

Thanks for making this change but we don't want to show this and ideally other languages should remove this from their samples too.

I see now - Java matches Go sample, but the Python sample is doing something else because of a different default implementation. Thanks for the review!


Natal spider

Add spider for Natal

I can help with this spider. I live in Natal and I have experience with Scrapy.

I can help with this spider. I live in Natal and I have experience with Scrapy.

Great! Please join in this discord (https://discord.gg/9YRZADs). We can help too.

Hi @fredericopranto, how is this project related to the okfn-brasil org?

It`s not, directly. Its only a community group to discuss open data at Rio Grande do Norte. Feel free to join.


ImageData and AcquisitionData __eq__ checks only for array equality

As far as I can tell, the __eq__ method of DataContainer is used for ImageData and AcquisitionData testing only for the content of the array. So, in order to test equality of such object you should test both the object and the geometry, see this discord thread.
https://github.com/TomographicImaging/CIL/blob/a9ce83a8977f08a3ef21e011fec80f9c394f35e0/Wrappers/Python/cil/framework/framework.py#L3589-L3593
I think __eq__ for ImageData and AcquisitionData should test both geometry and actual array.

Expanding this to check the geometry as well is going to break backwards compatibility as it will mean a change in what the method returns. We need to discuss how we want to go about modifying the method.
The checks that we could do with __eq__ are:

shape
geometry
dimension labels
array elements - (currently this is all that is checked)

Currently the method returns a boolean array of DataContainer equal to DataContainer/array
Say the arrays are identical but the geometry is not, then it doesn't make sense to return a boolean array!
Alternatively if any of the checks fail we could just return False instead of a boolean array, but this would break backwards compatibility.
Another option is to have the __eq__ method stay as is and create an additional method which does a full check of the goemetry etc. such as check_attributes_equal or similar


How to dynamically add a redis instance and migrate data?

@idning
How to dynamically add a redis instance and migrate data?
What I mean is extended.looking forward to your reply.

@TrumanDu currently there is no way to add a redis instance dynamically.
even though you add new redis instance
(for example: running new twemproxy with new port and connecting it.)
It is hard to migrate some data that will be included new server

@charsyam thanks,I also just think this method.but do not know how more companies are dealing with this issue.

@TrumanDu In my case, I use zookeeper for dynamic configuration.
so If I add new server, api server can connect new redis or new twemproxy 서버.

@charsyam Can you tell me about the detailed structure it?

@TrumanDu
similar this : http://d2.naver.com/content/images/2015/06/helloworld-294797-4.png


[karpenter] enable ability to import existing eventbridge rules

Since there isn't a way to specify the name of these rules:
resource "aws_cloudwatch_event_rule" "this" {
  for_each = { for k, v in local.events : k => v if local.enable_spot_termination }

  name_prefix   = "${var.rule_name_prefix}${each.value.name}-"
  description   = each.value.description
  event_pattern = jsonencode(each.value.event_pattern)

  tags = merge(
    { "ClusterName" : var.cluster_name },
    var.tags,
  )
}

(only the name_prefix), it isn't easy to import these rules.

Is it ok having multiple duplicate eventbridge rules that route to the karpenter sqs interruption queue? Will karpenter be able to deduplicate them?

Are those for the same cluster or different clusters? Why so many copies of rules?

Are those for the same cluster or different clusters? Why so many copies of rules?

same cluster, I kept deleting my terraform state file so that's why it continued to make copies

I would just delete all of the rules manually and re-apply and that should leave just one set of the rules

closing since this isn't a module relate issue


change SPD/HDG/ALT/VS encoder type

changed the encoder type for SPD/HDG/ALT/VS
From 2 detents (00,11)  > 4 detents per cycle  to sync with Fenix's rate
Type 3 > type 5

I want to wait with this change. I independently raised this issue with the miniFCU team, and they intentionally chose to use this behavior.

It's now included in 0.9.3 version.
Thanks anyways for the PR


[DOC] Alert LonghornNodeDown example in documentation doesn't work

@Turb0Fly commented on Sat Sep 25 2021
The prometheus alert LonghornNodeDown as seen on https://longhorn.io/docs/1.2.0/monitoring/alert-rules-example/ does not work.
longhorn_node_total - (count(longhorn_node_status{condition="ready"}==1) OR on() vector(0))
The metric longhorn_node_total does not exist. When querying the metrics , longhorn_node_count_total is there.  However, replacing the metric with the correct one in the expression does not work either.  When forcing a node down, the alert is never fired but querying the metric gets the correct value.
Using Longhorn 1.1.0
Rancher 2.5.8
Rancher Monitoring 14.5.100
We need an expression that will fire only when a node is not ready and not just on count, e.g. getting an alert when value is 0.
FWIW, I came up with something that works :
(avg(longhorn_node_count_total) or on() vector(0)) - (count(longhorn_node_status{condition="ready"} == 1) or on() vector(0)) > 0

Validation - PASSED
PrometheusRule examples can be deployed on following combination:

Longhorn v1.2.4 via Marketplace
Prometheus within rancher-monitoring:100.1.2+up19.0.3 via Marketplace
Rancher v2.6.3
On RKE1 v1.18.20 cluster (5 nodes)

There are still a few things to config to make the alerting system work, as mentioned in this doc: here Attached the Alerts page screenshot for the future reference:


Update overhead_test.yml

@ArneTR I think this is ready to merge. I would keep the weird label names as error checking as this flow is not really exposed anywhere.


Top and bottom of screen are cut off after turning the tablet back on

If the tablet power off, when it is turned back on the game loses its full-screen state and there does not seem to be any way to regain it. This makes the game difficult to play as the top and bottom are covered with the android system button and notification bars.
Steps to reproduce:

Start a game
Press the power button to turn the screen off.
Press the power button again to turn the screen on, and swipe up to unlock.

Expected behavior:
The game remains in full-screen mode. Or, it returns to full screen mode when I tap somewhere on its interface.
Actual behavior:
There is no (apparent) way to return the game to full-screen mode.

Hi Dr. Kearney,
Thank you for the bug report! I'd like to know a few things about the bug situation:

Was there a specific action or point in the game that this occurred? We are able to recreate this issue but as soon as we tap an action on the screen it disappears. So it may be possible you are at a part in the game that does not allow this.

Is the GUI still responsive despite it not being in the full screen mode?

This may also be an issue that we have resolved but changes have not been pushed. Please let us know the details, thanks!

Managed to recreate the issue, thank you for the feedback. We'll see what we can do as like you said it's preventing you from playing the game.

We managed to fix this issue by placing the following code in onClick after making sure the state wasn't null
View decorView = myActivity.getWindow().getDecorView();         decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_IMMERSIVE | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN);
Now the game returns back to fullscreen when the user interacts with the game. Closing the issue but feel free to let us know if this issue persists.

With commit 4ef673ed09921aa29e99c95f9c1f27a464ab3c12, I'm not able to reproduce the fix. However, there is some other oddness going on with the help menu that could be masking the fix; I've filed issue #315 to track that.


Hover style for multiple points may be lost

Expected Behavior
If multiple points are hovered at once, they should all be drawn with the appropriate hover style.
Current Behavior
When updating the list of hovered elements in response to a mouse move event, if the list of hovered elements has changed, then any points that were hovered in the previous state and are still hovered will lose their hover styling.
Possible Solution
If I understand things correctly:

Chart._updateHoverStyles calls updateHoverStyle to clear the active style for previously hovered elements, then it calls updateHoverStyle to set it for newly hovered elements.
updateHoverStyle (indirectly) calls Animation.update -> _createAnimations -> _animateOptions.
If _animateOptions is going from distinct options to shared options (which happens when clearing the hover style but not when applying the hover style), it uses a promise to overwrite the hover style when done. This results in a race condition.

One possible fix is to change _updateHoverStyles to only process the difference between lastActive and active instead of clearing all of lastActive then setting all of active. Another possible fix is to fix the race condition. (I'm not sure I understand the style-sharing code and animation code well enough to know the best way to do that.)
A workaround is to disable animations completely (by setting animation: false, not just setting duration to 0).
Steps to Reproduce
See https://codepen.io/joshkel/pen/QWKvPLK
This demo uses a large hitRadius so that two points should generally be hovered at once. It shows the list of active points to the right of the plot. Note that the list of active points often contains items that aren't drawn as hovered.
Context
I'm using some custom code to highlight multiple points based on where the user hovers, so some but not all points are the same from one mouse position to the next.
Environment
Chart.js 3.0.0-beta.7, Chrome 87

Thanks for the detailed information!
It would be logical to only update the newly hovered items. But the issue with animations can potentially happen in different circumstances too. So I think it would be best to do both.

Thanks for the quick fix!


symbol errors

fix symbol errors: change ‘ to '
Signed-off-by: tim-zju<EMAIL_ADDRESS>

This change is

@tim-zju This changes files in vendor. I don't think we want that.
Can you explain why you think this change is needed?

do you mean that i don't need to change files in vendor folders? How about other files?

Changes to files under vendor or Godeps/ directories are prohibited. Those files are actually copies from other upstream projects. Any fixes like these would need to go directly to those upstream projects.
Changes like this to files outside of vendor and Godeps/ are very welcome! If you can revert any changes in those two directories it would be greatly appreciated. Thank you!

Closing. Please reopen if you're updating the PR. @tim-zju


[WIP][add] notice board

Coverage decreased (-0.1%) to 79.47% when pulling 2c93d3e449de91b0ae73b5a95d15ab5e75f851ec on sunny4381:features/notice-board into 8c709521a4a990bfc5f72820a2ff2af4efda8985 on shirasagi:master.

Successor: #2238


Switch to argonaut 6.1a

[Current coverage][cc-pull] is 77.44%

Merging [#72][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master        #72   diff @@
==========================================
  Files             7          7
  Lines           133        133
  Methods         130        130
  Messages          0          0
  Branches          3          3
==========================================
  Hits            103        103
  Misses           30         30
  Partials          0          0

Powered by Codecov. Last updated by [13460be...d6255a1][cc-compare]
[cc-base-branch]: https://codecov.io/gh/alexarchambault/argonaut-shapeless/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/alexarchambault/argonaut-shapeless/compare/13460beb46b8d9b4c5d376e05ab8db5815bf2bc6...d6255a129aef5cc4f9df15ee4e1125057143fcf9
[cc-pull]: https://codecov.io/gh/alexarchambault/argonaut-shapeless/pull/72?src=pr


Projects and cv data is not displayed

Tested in Windows and iOS (iPad).

This issue was resolved with the commits 20138292de7ef992ab7c0e326b8519d0235dfa24 and 20138292de7ef992ab7c0e326b8519d0235dfa24, which were pushed directly to master due to an error with the configuration.


something about core.worker

when I config 'worker' : false,and pass  JSON array to 'data',the event ‘loaded.jstree’ cannot be triggered.
so who know why?

It is triggered, but before you had the chance to bind to the event - bind before creating the instance, like so:
http://jsfiddle.net/2kwkh2uL/18915/

thanks!


Added Cypress Test to verify behavior when Guest User is removed from channel

Summary

Verify if a Guest user is automatically redirected to another team when removed from all the channels of a team.
Verify if a Guest user is automatically redirected to select team page with a message 'Your guest account has no channels assigned. Please contact an administrator.' when removed from all the teams and channels.
Verify if System message is displayed when Guest User leaves the channel.

Ticket Link
Fixes https://mattermost.atlassian.net/browse/MM-18044

@srkgupta MM-18044 keeps hitting this error. Have you seen this? Looks like #teamSidebarWrapper keeps showing up.

@srkgupta MM-18044 keeps hitting this error. Have you seen this? Looks like #teamSidebarWrapper keeps showing up.

Hi @prapti
Upon carefully looking at the screenshot you sent, it was observed that this is actually an issue with the application code and not the Automation test. When a user was removed from the channel, the user is redirected to channel_not_found page instead of redirecting the user to the other team. I have filed a JIRA ticket for tracking this.
https://mattermost.atlassian.net/browse/MM-19040

@srkgupta Wonderful! Thank you. I'll review your PR quick :)


[Passive] ENTROPY

Tears up but accuracy down.
Art: Complete

Costume: Not Started
Code: Not Started

 ENTROPY: Tears Up But Accuracy Down


Htmlize

added --html to output html.
See http://mattn.kaoriya.net/tmp/ccat-html.html
This is output of:
$ ccat --html main.go

This is looking great! Thanks!

@jingweno Noticed you bumped version for this, any plans to make a release snapshot?

@shaggytwodope Yes, please see https://github.com/jingweno/ccat/releases/tag/v1.1.0.

:+1:


cherry-pick [json-rpc] ensure response data use lower case for all hex-encoded bytes data

Motivation
Why we must have it for V1 launch
JSON-RPC api response for account address case format is inconsistent: some uses lower case, some uses upper case.
It is not a bug, as hex-encoded string is case insensitive.
But it may become a bug source as if some developers do not know the hex-encoded string is case insensitive and compare the account address returned from server without ignoring cases.
Recently @metajack found Coinbase treated hex-encoded account address case sensitive.
Hence includes this in V1 launch can prevent some simple but easy make bugs, improving developer experience.
Note: it is unintentional change (#6296) tried to make all account address to hex becomes upper cases recently, but the change didn't update all account address hex-encoded string in json-rpc response.
We choose lower case for json-rpc response across board, because most of hex-encoded string in current response is lower case, and Ethereum uses capitalization for checksum.
What workarounds and alternative we have if we do not push the PR

Our client sdk code should downcase hex-encoded string before handing over data to caller. This is limited, as we only provide sdk in 4 languages.

Test Plan
N/A
Related PRs
#6606

Can we update the relevant specifications to be lower-case?

The followup actions from the gatekeepers to get this landed on release branch were:

Fix the remaining case where hex encoded addresses are uppercase in JSON-RPC
Update the spec to mandate lower case hex addresses in the JSON-RPC API
Update coding conventions to warn about use of BytesView vs. String to mitigate future mistakes

close for now


fix(search): fix collator text formatting for entities without description

Hey, I just made a Pull Request!
User and group entities that don't have a description show incorrectly in the UI if only 1 of displayName or email is populated. For example:

A user that has a displayName, but no email or description will show subtitle text in the UI search results as:

 : Stephen Glass

In this case, the result should just be
Stephen Glass

This PR fixes the formatting so it will only add description to the collated text only if it exists.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

It looks like this PR wasn't auto assigned any reviewers? @awanlin @jhaals would you be able to help with this? Thanks 🙏

@camilamaia @vinzscam hey 👋 just trying to see if this could be assigned any reviewers thanks!


[Bug]During the execution of the InLong Sort-Oracle-CDC task, the Extract node generates a large number of archive logs, and the Load node fails to capture incremental change data.

What happened
While using the InLong Sort component for an Oracle-CDC task, the Extract node, running Oracle 11g, generated a significant volume of archive logs during task execution. The task only performed a one-time synchronization of full data upon startup. Although FlinkSQL was configured with incremental snapshot parameters, the Load node did not reflect corresponding data changes during data variations at the Extract node.
What you expected to happen
I think that during task execution, Oracle database generated a large number of unknown archive logs, causing the task to fail in capturing the correct archive logs corresponding to data changes.
How to reproduce
Configure the Extract node for Oracle 11g and the Load node for Oracle 19c, and initiate incremental snapshot synchronization.
Environment
Windows 11 configuration with CentOS 7 virtual machine
InLong version
1.12.0
InLong Component
InLong Sort
Are you willing to submit PR?

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

Code of Conduct

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

@gong  @e-mhui
Hi, please take a look at this issue.

@ComplexA
Would you please offer more information such as your connector options, and stream sink configuration

@ComplexA Maybe you haven't enable log archiving for Oracle. Refer  setup-oracle to enable it

@ComplexA Would you please offer more information such as your connector options, and stream sink configuration

connector information :
CREATE TABLE `oracle11_extract_table` (
  `ID` INT,
  `NAME` STRING,
  `CREATED_TIME` TIMESTAMP,
  PRIMARY KEY (`ID`) NOT ENFORCED
) WITH (
  'connector' = 'oracle-cdc-inlong',
  'hostname' = '<IP_ADDRESS>',
  'port' = '21521',
  'username' = 'logminer_user',
  'password' = 'oracle',
  'database-name' = 'XE',
  'schema-name' = 'logminer_user',
  'table-name' = 'logminer_user.oraclecdc',
  'debezium.snapshot.mode' = 'initial',
  'scan.incremental.snapshot.enabled' = 'true'
);

CREATE TABLE `oracle19_load_table` (
  `ID` INT,
  `NAME` STRING,
  `CREATED_TIME` TIMESTAMP,
  PRIMARY KEY (`ID`) NOT ENFORCED
) WITH (
  'connector' = 'jdbc-inlong',
  'url' = 'jdbc:oracle:thin:@<IP_ADDRESS>:11521:ORCL',
  'username' = 'flinkuser',
  'password' = 'flinkpw',
  'table-name' = 'flinkuser.ORACLE19CDC'
);

INSERT INTO `oracle11_extract_table`
SELECT `ID`, `NAME`, `CREATED_TIME` FROM `oracle19_load_table`;

flink-conf.yaml
################################################################################
#  Licensed to the Apache Software Foundation (ASF) under one
#  or more contributor license agreements.  See the NOTICE file
#  distributed with this work for additional information
#  regarding copyright ownership.  The ASF licenses this file
#  to you under the Apache License, Version 2.0 (the
#  "License"); you may not use this file except in compliance
#  with the License.  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
# limitations under the License.
################################################################################

#==============================================================================
# Common
#==============================================================================

# The external address of the host on which the JobManager runs and can be
# reached by the TaskManagers and any clients which want to connect. This setting
# is only used in Standalone mode and may be overwritten on the JobManager side
# by specifying the --host <hostname> parameter of the bin/jobmanager.sh executable.
# In high availability mode, if you use the bin/start-cluster.sh script and setup
# the conf/masters file, this will be taken care of automatically. Yarn/Mesos
# automatically configure the host name based on the hostname of the node where the
# JobManager runs.

jobmanager.rpc.address: localhost

# The RPC port where the JobManager is reachable.

jobmanager.rpc.port: 6123

# The total process memory size for the JobManager.
#
# Note this accounts for all memory usage within the JobManager process, including JVM metaspace and other overhead.

jobmanager.memory.process.size: 1600m

# The total process memory size for the TaskManager.
#
# Note this accounts for all memory usage within the TaskManager process, including JVM metaspace and other overhead.

taskmanager.memory.process.size: 1728m

# To exclude JVM metaspace and overhead, please, use total Flink memory size instead of 'taskmanager.memory.process.size'.
# It is not recommended to set both 'taskmanager.memory.process.size' and Flink memory.
#
# taskmanager.memory.flink.size: 1280m

# The number of task slots that each TaskManager offers. Each slot runs one parallel pipeline.

taskmanager.numberOfTaskSlots: 1

# The parallelism used for programs that did not specify and other parallelism.

parallelism.default: 1

# The default file system scheme and authority.
#
# By default file paths without scheme are interpreted relative to the local
# root file system 'file:///'. Use this to override the default and interpret
# relative paths relative to a different file system,
# for example 'hdfs://mynamenode:12345'
#
# fs.default-scheme

#==============================================================================
# High Availability
#==============================================================================

# The high-availability mode. Possible options are 'NONE' or 'zookeeper'.
#
# high-availability: zookeeper

# The path where metadata for master recovery is persisted. While ZooKeeper stores
# the small ground truth for checkpoint and leader election, this location stores
# the larger objects, like persisted dataflow graphs.
#
# Must be a durable file system that is accessible from all nodes
# (like HDFS, S3, Ceph, nfs, ...)
#
# high-availability.storageDir: hdfs:///flink/ha/

# The list of ZooKeeper quorum peers that coordinate the high-availability
# setup. This must be a list of the form:
# "host1:clientPort,host2:clientPort,..." (default clientPort: 2181)
#
# high-availability.zookeeper.quorum: localhost:2181

# ACL options are based on https://zookeeper.apache.org/doc/r3.1.2/zookeeperProgrammers.html#sc_BuiltinACLSchemes
# It can be either "creator" (ZOO_CREATE_ALL_ACL) or "open" (ZOO_OPEN_ACL_UNSAFE)
# The default value is "open" and it can be changed to "creator" if ZK security is enabled
#
# high-availability.zookeeper.client.acl: open

#==============================================================================
# Fault tolerance and checkpointing
#==============================================================================

# The backend that will be used to store operator state checkpoints if
# checkpointing is enabled.
#
# Supported backends are 'jobmanager', 'filesystem', 'rocksdb', or the
# <class-name-of-factory>.
#
# state.backend: filesystem

# Directory for checkpoints filesystem, when using any of the default bundled
# state backends.
#
# state.checkpoints.dir: hdfs://namenode-host:port/flink-checkpoints

# Default target directory for savepoints, optional.
#
# state.savepoints.dir: hdfs://namenode-host:port/flink-savepoints

# Flag to enable/disable incremental checkpoints for backends that
# support incremental checkpoints (like the RocksDB state backend).
#
# state.backend.incremental: false

# The failover strategy, i.e., how the job computation recovers from task failures.
# Only restart tasks that may have been affected by the task failure, which typically includes
# downstream tasks and potentially upstream tasks if their produced data is no longer available for consumption.

jobmanager.execution.failover-strategy: region

#==============================================================================
# Rest & web frontend
#==============================================================================

# The port to which the REST client connects to. If rest.bind-port has
# not been specified, then the server will bind to this port as well.
#
#rest.port: 8081

# The address to which the REST client will connect to
#
#rest.address: <IP_ADDRESS>

# Port range for the REST and web server to bind to.
#
#rest.bind-port: 8080-8090

# The address that the REST & web server binds to
#
#rest.bind-address: <IP_ADDRESS>

# Flag to specify whether job submission is enabled from the web-based
# runtime monitor. Uncomment to disable.

#web.submit.enable: false

#==============================================================================
# Advanced
#==============================================================================

# Override the directories for temporary files. If not specified, the
# system-specific Java temporary directory (java.io.tmpdir property) is taken.
#
# For framework setups on Yarn or Mesos, Flink will automatically pick up the
# containers' temp directories without any need for configuration.
#
# Add a delimited list for multiple directories, using the system directory
# delimiter (colon ':' on unix) or a comma, e.g.:
#     /data1/tmp:/data2/tmp:/data3/tmp
#
# Note: Each directory entry is read from and written to by a different I/O
# thread. You can include the same directory multiple times in order to create
# multiple I/O threads against that directory. This is for example relevant for
# high-throughput RAIDs.
#
# io.tmp.dirs: /tmp

# The classloading resolve order. Possible values are 'child-first' (Flink's default)
# and 'parent-first' (Java's default).
#
# Child first classloading allows users to use different dependency/library
# versions in their application than those in the classpath. Switching back
# to 'parent-first' may help with debugging dependency issues.
#
# classloader.resolve-order: child-first

# The amount of memory going to the network stack. These numbers usually need
# no tuning. Adjusting them may be necessary in case of an "Insufficient number
# of network buffers" error. The default min is 64MB, the default max is 1GB.
#
# taskmanager.memory.network.fraction: 0.1
# taskmanager.memory.network.min: 64mb
# taskmanager.memory.network.max: 1gb

#==============================================================================
# Flink Cluster Security Configuration
#==============================================================================

# Kerberos authentication for various components - Hadoop, ZooKeeper, and connectors -
# may be enabled in four steps:
# 1. configure the local krb5.conf file
# 2. provide Kerberos credentials (either a keytab or a ticket cache w/ kinit)
# 3. make the credentials available to various JAAS login contexts
# 4. configure the connector to use JAAS/SASL

# The below configure how Kerberos credentials are provided. A keytab will be used instead of
# a ticket cache if the keytab path and principal are set.

# security.kerberos.login.use-ticket-cache: true
# security.kerberos.login.keytab: /path/to/kerberos/keytab
# security.kerberos.login.principal: flink-user

# The configuration below defines which JAAS login contexts

# security.kerberos.login.contexts: Client,KafkaClient

#==============================================================================
# ZK Security Configuration
#==============================================================================

# Below configurations are applicable if ZK ensemble is configured for security

# Override below configuration to provide custom ZK service name if configured
# zookeeper.sasl.service-name: zookeeper

# The configuration below must match one of the values set in "security.kerberos.login.contexts"
# zookeeper.sasl.login-context-name: Client

#==============================================================================
# HistoryServer
#==============================================================================

# The HistoryServer is started and stopped via bin/historyserver.sh (start|stop)

# Directory to upload completed jobs to. Add this directory to the list of
# monitored directories of the HistoryServer as well (see below).
#jobmanager.archive.fs.dir: hdfs:///completed-jobs/

# The address under which the web-based HistoryServer listens.
#historyserver.web.address: <IP_ADDRESS>

# The port under which the web-based HistoryServer listens.
#historyserver.web.port: 8082

# Comma separated list of directories to monitor for completed jobs.
#historyserver.archive.fs.dir: hdfs:///completed-jobs/

# Interval in milliseconds for refreshing the monitored directories.
#historyserver.archive.fs.refresh-interval: 10000

@ComplexA Maybe you haven't enable log archiving for Oracle. Refer setup-oracle to enable it

I have enable

@ComplexA Hello. Could you add some taskmanager log info?  Maybe, you can try add table option  'debezium.log.mining.strategy' = 'online_catalog' for extract node.

@ComplexA Hello. Could you add some taskmanager log info? Maybe, you can try add table option 'debezium.log.mining.strategy' = 'online_catalog' for extract node.

Good!

We need execute commit after oracle command insert data. Otherwise, flink cdc task can't read data.


Find a better way to exclude DeepSpeech on Windows

Expected Behavior
Improve speed setup on Windows as DeepSpeech isn't included on this OS.
Actual Behavior
When a Windows OS is detected, the npm preinstall script will create a backup of the current package.json file then do a:
npm uninstall --save deepspeech

Proposal
Simply rewrite the package.json file by injecting the updated dependencies tree (without DeepSpeech) without executing npm uninstall.

 🔧 [1.0.0-beta.5] Find a better way to exclude DeepSpeech on Windows

Done in https://github.com/leon-ai/leon/commit/13f5a49f678f8f67a93b67d4f558cddcf237e204.


[Question] File management - About compressed files

Hi,
I want to create a text file in which I put some datas in order to send it into an external API. This API wants the file to be compressed in tar.gz format.
Is there ways (or a way..!) to create a file, and compress it by only using AL or do I have to learn and do it with Azure Functions ?
I think for the 'compress part' I'll do have to use Azure Functions (but I still ask) but it could be interesting to create the file with AL, and juste send them as parameters for the Azure Function wich will just compress these given parameters.
Thanks for your advices ! :)

Hi,
As you can't use files in BC you'll need to be able to compress a stream. We do have some compression support in BC but i do not know if it is the format you need. You can have a look in Codeunit 706.
If this doesn't work you but there's a standard .net library you can use then you can submit a wrapper for the .net here: https://github.com/microsoft/cal-open-library . We will review your submission and if it follows the rules and the functions are safe then we'll add it in a next version of BC.
If all this fails then maybe Azure Functions is the way to go.
br/Gert

Hi,
Thanks for your answer.
I do have to give a tar.gz file in my post request in order to get the expected result. As I have to work with file, I think the "better way" (the only I see right now) is to build it with an azure function. I keep in my existence of CodeUnit 706, it will may be helpful in the future.
I took a look at cal-open-library, how can I find a functionality I want in the repo ? I see a lot of objects but I can't find any short description of what they do.
Last question: I see a lot of dotnet types, so if I take an object from the repo, I'll have to import in the CSide environment. But here I want to work only with extensions. So for now, is it a project to translate safely dotnet functionality in order to make them available for BC in the future ?

Hi,
the cal open a library is where you can contribute wrappers to business central. There's no catalog of which ones are available already but they are all in the 3xxx range of codeunits.
If you can't find what you need, you can submit a new wrapper. When you do, we will review the code and if all is ok, we will include it in a future update of BC for you to use.
For development purposes you can import the wrapper into your database and code against it. For use in production systems you need to wait until we ship a version with the codeunit.
br/Gert

Hi,
Ok thank you for these informations, I keep them in mind :)


Images are not included with HtML export

Hello, I'm trying to export this file from my vault as HTML.
The images are not included in the resulting HTML output.
I feel like I must be making a mistake. Can someone point out my error?  Thank you.
---
Aliases: [   ]
tags:
created: 2022-08-31
# Note refactored from [[Apple Watch is not collecting respiratory data for AutoSleep app]]
---
#  Putting Apple Watch into Sleep mode for respiratory data
 - Apple appears to require that the watch be put into a special mode called "Sleep" which is of course different from "sleep" as applied to MacOS or iOS.
1. First set up a sleep schedule in Health, which is just a declarative process; Apple does nothing much with it.
	1. I suppose being conscious is perhaps the heart of measurement, so this does have a benefit for self discipline, whatever benefit Apple intends.
2. On the watch, swipe up, select the moon icon
	1. ![[4F9FC2B4-E310-40AF-AFA6-B9DDA9A3C10B_1_201_a.jpeg|200]]
3. we see that now it presents a choice between "Sleep" and "Do Not Disturb." Choose "Sleep."
	1. ![[B89FBF45-E83F-444A-B74F-371EB0DB8730.png|200]]
4. Now the Moon has changed to a bed.
	1. Meaning?  You are sort of "likely to be sleeping" as far as Apple is concerned.  Weird gray area here.
		1.  ![[E718F31D-4691-41B3-8D23-D48696EC3F28.png|200]]
5.  The watch now is going to collect respiratory data (all the time? unknown)
6. Autosleep and Health now show the respiratory data.
7. Support told me, before we were cut off due to poor reception in TJ, that sleep schedules and the Sleep function on the watch functioned as a hint from me to the OS.
	1. Actually, it's more than this, see [[#Collection of data]]
	2. I imagine perhaps taking respiratory measurements uses more power, but later call shed doubt on this idea.
8. Feels a bit like terrible design by Apple.  Needs improvement.  They keep getting the basic things wrong, LOL

### Collection of data
- Respiratory rate is calculated from blood oxygen levels
- In the watch app, the Blood Oxygen setting allows control of when it's collected
	- During sleep focus and/or during Theatre Mode
	- ![[09451C84-DDD3-4A2C-868B-D84C54B26778_1_105_c.jpeg|150]]
- In addition computation and availability of respiratory rate requires:
	- I'm not physically in motion.
	- Phone has to be inactive.
	- Phone needs to be charging as well.
	- Watch has to be in Sleep mode
		- This happens automatically at the start of the Sleep Schedule from the iOS Health app.
		- This mode is only available if there is an existing sleep schedule.
	- The devices will then use motion and other data to drive further analyses

### Next update should improve things
- The next update (iOS 16) is better in terms of measurements

### The utility of setting an extended sleep schedule
- I considered setting my sleep schedule to be all day, but I think that's not necessary.
- Sleep mode on the watch is available outside the schedule, just needs to be manually enabled.
- Since my schedule is in fact variable, I have to just remember to set Sleep mode when I lay down, not a big deal.

Why is it that the "export as HTML" option says "(without Pandoc)"?

Same problem, even though I added the pandoc path to my config. Don't know what is happening.

Not sure where I read it, but aparently Obsidians default image markup is not proper Markdown and is not compatable with pandoc.

Not sure where I read it, but aparently Obsidians default image markup is not proper Markdown and is not compatable with pandoc.

I believe you are incorrect on this point.  From what I can see Obsidian.md follows the standard to the letter, at least according to this website, probably not authortative.
https://www.markdownguide.org/basic-syntax/#images-1.

@wealthychef1 I'll take back if this is correct Markdown or not, looks like it is from your reference.
The issue I was highlighting is that others are saying this is not Markdown that Pandoc recognises (who knows why 🤷♂).
My initial searches on this issue kept bringing up threads with no clear answers (like this one).
Here's a few links to where I've found more useful discussion:
https://github.com/OliverBalfour/obsidian-pandoc/issues/81#issuecomment-1013729587
https://github.com/OliverBalfour/obsidian-pandoc/issues/66#issuecomment-1013519239
Trick seems to be:

Make Pandoc happy by swapping the image format from the Obsidian default over to the link format

Converted ![[Obsidian image links]] to ![Markdown image links](/path/to/image.png)
Try it yourself if your skeptical. Yes this is more a workaround than FIX.

Pandoc starts to complain it cant find your images.
Seems to be an issue of recognising spaces in file paths and also actually findings and sharing one place to keep all your files. Folks seem to be saving a YAML config file with the path in it and changing a setting so all future images are saved to the new /images or /assets folder or whatever.

Follow the links above for more discussion.

@wealthychef1 I'll take back if this is correct Markdown or not, looks like it is from your reference. The issue I was highlighting is that others are saying this is not Markdown that Pandoc recognises (who knows why 🤷♂).

Right, I get it.

My initial searches on this issue kept bringing up threads with no clear answers (like this one). Here's a few links to where I've found more useful discussion: #81 (comment) #66 (comment)

Make Pandoc happy by swapping the image format from the Obsidian default over to the link format
Pandoc starts to complain it cant find your images.
Follow the links above for more discussion.

I did but now I'm getting a new error when I try to export in version 1.0.  In the console I see this, which I guess github refuses to wrap, sorry about the long lines:
cmd: /opt/local/bin/pandoc -f markdown --resource-path="/Volumes/2_TB_SSD_external/Projects_2TB/computers-and-geekery/projects and languages/Obsidian development/wealthyvault/Knowledge/Politics Economics and History/US Electoral Politics/Politicians" --resource-path="assets" --embed-resources --standalone --metadata title="Alexandria Ocasio-Cortez or AOC" -s -o "/Users/rcook/Downloads/Alexandria Ocasio-Cortez or AOC.pdf" -t pdf  "/Volumes/2_TB_SSD_external/Projects_2TB/computers-and-geekery/projects and languages/Obsidian development/wealthyvault/Knowledge/Politics Economics and History/US Electoral Politics/Politicians/Alexandria Ocasio-Cortez or AOC.md"
 error: Command failed: /opt/local/bin/pandoc -f markdown --resource-path="/Volumes/2_TB_SSD_external/Projects_2TB/computers-and-geekery/projects and languages/Obsidian development/wealthyvault/Knowledge/Politics Economics and History/US Electoral Politics/Politicians" --resource-path="assets" --embed-resources --standalone --metadata title="Alexandria Ocasio-Cortez or AOC" -s -o "/Users/rcook/Downloads/Alexandria Ocasio-Cortez or AOC.pdf" -t pdf  "/Volumes/2_TB_SSD_external/Projects_2TB/computers-and-geekery/projects and languages/Obsidian development/wealthyvault/Knowledge/Politics Economics and History/US Electoral Politics/Politicians/Alexandria Ocasio-Cortez or AOC.md"
pandoc: pdflatex: createProcess: posix_spawnp: illegal operation (Inappropriate ioctl for device)

OK now it seems I can simply export to PDF using File -> Export PDF, which is a command that strangely does not exist from the usual Obsidian command palette.  Strange.
File -> Export PDF

Not in command palette?

At the minute I am looking at a similar issue. I get no images but they are referenced in the HTML. I noticed my exported HTML was lacking variables in the CSS :root. Through modification of the plugin code I found that the getAppConfig() function was failing, because on my system there is no file called "config" in the .obsidian folder. What I have are multiple files ("app.json", "appearance.json", etc.).
https://github.com/OliverBalfour/obsidian-pandoc/blob/68ff9e3733cc73055156455721fc736ad45c7d5e/renderer.ts#L91-L93

A few more notes on various things I found:

In getAppConfig(), changing 'config' to 'appearance.json' can provide the theme config value as well as cssTheme which is not used by this plugin, but theme is only present and set to 'moonstone' if the current theme is light. For dark it is missing.
I could have images in the export HTML if the following were true:

The images needed to be embedded directly in the file and with a relative path from the exported file. E.g. ![[fig/image-file.svg]] would work since I had images in the fig/ folder.

I still did not see images in the embeds however. E.g. I was embedding files that contained embedded images - these were not showing. Instead of  in the html I was getting two different things:

When I used the markdown reference ![Figure: Caption text](fig/image-file.svg "Caption text") I got HTML output

When I used the markdown reference ![[fig/image-file.svg]] I got `fig/image-file.svg

Found the solution
I had the same problem, and I think I found the solution. I recorded a video to help you out. Here is the link: https://youtu.be/pKawg6mPWE4

@wealthychef1

I did but now I'm getting a new error when I try to export in version 1.0. In the console I see this, which I guess github refuses to wrap, sorry about the long lines:  * SEE EXAMPLE ABOVE*

--resource-path="/Volumes/2_TB_SSD_external/Projects_2TB/computers-and-geekery/projects and languages/...,

Yeah I think the issue now is the folders with spaces.. the first in your path being "projects and languages".
To workaround shuffle things around until you have a path with no folders with spaces in.

Found the solution
I had the same problem, and I think I found the solution. I recorded a video to help you out. Here is the link: https://youtu.be/pKawg6mPWE4

You are the man. This worked for me!

Some kind of warning about attachments with spaces in them would be useful! Renaming all my attachments worked...


Add conformance tests with requestHeaderModifier

What type of PR is this?
/kind test
/area conformance
What this PR does / why we need it:
Adding conformance testing by combining one Core Capability (i.e. requestHeaderModifier) wither other Extended Capabilities (i.e. requestMirror, responseHeaderModifier, and urlRewrite)
Which issue(s) this PR fixes:
Fixes #2037
NONE

Plz sign CLA first @Treenhan, Thanks!

Plz sign CLA first @Treenhan, Thanks!

I just created CLA approval request, currently waiting on that to go through

Thanks @Treenhan
Looks good to me! I ran the tests and everything works as expected.
/lgtm
@robscott can you approve ?

/cc @robscott
/assign @robscott

Hi @robscott could you please take a look?

/retest

Thanks @Treenhan!
/lgtm
/approve


Add error-chain errors.

Fixes #4209
Convert CargoResult, CargoError into an implementation provided by error-chain. The previous is_human machinery is mostly removed; now errors are displayed unless of the Internal kind, verbose mode will print all errors.

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @brson (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

@alexcrichton As discussed on the issue thread, here's the PR for review.
Currently http_auth_offered fails because it looks like it used the wrong kind of credential.helper. I'll try to figure out how I did that. After that, it looks like custom_build_script_failed had an extra caused-by line, as do two dependency tests. There might be more behind them, but that's where I'm calling it a night.

Some quick responses, and I can try more stuff tonight:
I assumed that mapping the error type was necessary to access chain_err.
I'll have to double-check my expanded macro contents, to see if
error-chain's trait gets impl'd in such a way as to permit chaining on
arbitrary Error + 'static, or just experiment by pulling one out and
seeing if it still compiles.
cargo_test.rs: The original method returned only that error kind. For
future-safety, I should make sure the test appropriately handles all other
error kinds, for whatever appropriate means in context.
internal/human: Right now human is a wrapper around the String
error kind, so that's trivially removable. internal is the nice
constructor for the Internal error kind, which is the replacement for
is_human when determining when to stop printing non-verbose error
information. is_human is still there, but solely to support feeding
CliError.unknown, which decides whether to print ¯\(ツ)/¯ or the actual
error message. These things can be removed, but not without changing
cargo's behavior, so my preference is to work it after I make sure I didn't
break anything.
network.rs: This is the network error type half-removed (my first cut at it
had all the git and curl error types only in NetworkError). Since
maybe_spurious is only used in the retry logic itself, I should be able
to define that function where it's needed, then collapse the NetworkError
the rest of the way into CargoError.

:umbrella: The latest upstream changes (presumably #4088) made this pull request unmergeable. Please resolve the merge conflicts.

These things can be removed, but not without changing cargo's behavior, so my preference is to work it after I make sure I didn't break anything

Ok sounds great, we can pursue future refactorings after this PR. This is already a fantastic cleanup as it is :)

rebased
removed human (deferring removing internal to a later PR)
cargo_test.rs - fails on other error kinds
unnecessary map_err(CargoError::from) removed
fold NetworkError entirely into CargoError
added justification comment for extend_lifetime
various formatting goofs

The following tests are currently failing:

http_auth_offered
custom_build_script_failed
build_deps_for_the_right_arch
dep_with_bad_submodule
update_with_shared_deps
finds_author_email
finds_author_user
finds_author_user_escaped
finds_author_username
finds_git_author
exit_code

I might have done the rebase + push thing wrong? This PR is showing all the commits between my first checkin and tonight, and I don't think it's supposed to work that way.

I just cloned rust-lang/cargo/master locally and ran tests, to make sure I don't bang my head against a wall fixing a test I didn't break, and http_auth_offered, build_deps_for_the_right_arch, and the finds_* tests all failed. I assume these are all sensitive to environment somehow (git settings, arch), so I won't worry about them for now, and I'll focus on the other test failures.

@jluner oh that's odd, in theory all these tests should be isolated from the environment but we may have forgotten something to keep isolating them!

Also feel free to just push to this branch and let CI take care of running tests, it may take a little longer but should get the job done!

Dumb question time:
How do I read the CI test results?
I see that AppVeyor is the Windows builds and Travis is non-Windows. Travis shows lots of green entries; did it just skip trying other configurations after the first one built? Also, the travis failure seems to be formatting stuff, so I guess that has to be fixed before it will run tests?
AppVeyor's errors appear to be failing to download something, rather than actually running the tests:
info: downloading component 'rust-std'
error: component download failed for rust-std-x86_64-pc-windows-msvc
info: caused by: could not download file from 'https://static.rust-lang.org/dist/2017-03-03/rust-std-nightly-x86_64-pc-windows-msvc.tar.gz' to 'C:\Users\appveyor\.rustup\downloads\9a9ed6218e17b975ae48735e5c85f224e4a53b0729c7c99d149de19b5d935b43.partial'
info: caused by: error during download
info: caused by: [18] Transferred a partial file (transfer closed with 32046374 bytes remaining to read)
Command exited with code 1

On the topic of formatting: Is there a specific cargo style guide I should reference? I initially tried running cargo fmt on crates-io, and that changed enough things that I figured it would just be noise, so I reverted.

Ah yeah no worries, it's not always trivial to do so :)
On PRs we test only one configuration on AppVeyor and Travis, everything else is basically skipped. An error like you're looking at looks like a spurious error so I'll just retry it. The automation basically runs cargo test so you can just poke around the logs and look for the failing command or build (if any)

Also nah we don't yet run rustfmt (I wouldn't recommend doing so) but I'd just in general follow the surrounding style. I can comment on any particular places as well

So for example:

This is spurious
This is a legit error (looks like an error is now printed instead of being hidden)
This is also a failure failing the one actual style check we have, but it's just for lines over 100 chars

:umbrella: The latest upstream changes (presumably #4107) made this pull request unmergeable. Please resolve the merge conflicts.

Looks like CI is happy. What's the next step to getting error-chain to land before moving onto the next pass?

Nice! I'll take a final pass at reviewing and then we can r+ to land this.

Alright this is looking great! Let's land this and continue to iterate in future PRs.
@bors: r+

:pushpin: Commit def249f has been approved by alexcrichton

:hourglass: Testing commit def249f with merge 705c30b...

:broken_heart: Test failed - status-travis

error: failed to run custom build command for `backtrace-sys v0.1.10`

process didn't exit successfully: `/tmp//target/release/build/backtrace-sys-3989d5c503a9238f/build-script-build` (exit code: 101)

Looks like it might be a cross-compilation issue? Or environment? Other jobs got past that successfully.

I'll try to land https://github.com/rust-lang/cargo/pull/4113 first which should unblock this by just removing those configurations, they're all tested upstream in rust-lang/rust anyway.

@bors: retry

:hourglass: Testing commit def249f with merge 03c0a41...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 03c0a41f97c25fc5595584bdefc38b530b4d68c3 to master...

Woo!
Thanks so much again for this @jluner! This is amazing 💖

Exciting! For a first contribution experience, this went well (modulo hardware problems locally). My next few questions are:
If I push later changes back up to my fork, does that mess with this pull request, or is it "closed"?
What path forward are you looking for with error changes? Do you have an idea of what "verbose" should mean after cargo prints all error messages by default? Should some errors still be masked with a generic "cargo error occurred" message using the is_human logic that's still in place?
I'm happy to keep contributing on this issue. Judging by my rate of productivity, I may have to end up handing some of it off or pausing work towards the middle or end of June.

Oh typically with github and git you'll do development on branches vs the master branch itself, but yeah it's fine to push to your master branch and it won't mess up this PR (I think). It certainly won't auto-affect this repo, so no worries!
The two code-wise changes I could see are:

Move to the idiomatic Result and Error names of error-chain rather than CargoFoo
Move to the idiomatic use util::errors::* rather than selective imports

More broadly though I've long wanted for a deeper revamp with how Cargo treats errors. My basic thinking is that for every possible error you get out of Cargo we know how it'll be printed, so you've got an amount of context that you'll print out and an amount of context that you'll hide. A good example of this is network errors which should never hide anything, whereas if rustc fails we shouldn't print out the rustc command that failed, just that the crate failed (and rustc's output tells you why).
On the other hand though we'll have bugs in Cargo where an error bubbles up that we didn't expect (e.g. an internal error today). In cases like this Cargo should sort of "ICE" but not quite as hard. I'm thinking that Cargo dumps all error context, a pretty severe message about how this error is a bug in Cargo, and maybe something like a data file in target with everything we can find (args, executable, version, fs layout, etc) and asks you to submit that as a bug report to Cargo itself. This way we'll have an avenue for getting bug reports about errors we should make better.
Finally I'm also thinking that all errors log all their context to the target directory if we hide anything. That way if you want to inspect more you can poke around and try to find more traces or something like that.
That's all pretty vague though and not super well thought out in my head. I'm sure others will have thoughts on this that will want to be voiced before any code actually gets written! Overall I've been not super satisfied with how Cargo's error handling story plays out, I fear that it hides too much by default which ends up being  a pain :(


Founded Rainbow Cycle for g712lw

Some addition to this lib.

This is testet on g712lw
Needs testings on other machines...

Wow, a third one? I swear they come up with a different message for it for each laptop. There's another in #26, if you're curious.
It would be helpful if we could associate these with hardware versions...

@mkikets99  u r awesome dude its working <3

@wroberts  Oh. so this is working on others?
Or I missed something?


Update error-guard.js

This vars should be let instead of const because they are reassigned.

Thanks for the PR! Can you comment on why this is needed? What issue did you run into that necessitates this fix?

@hramos the current code happens to run because Babel is lenient -- if/when we stop transforming const with Babel and let the native JSVM handle that syntax this file will break. Also I'm surprised that linters or Flow doesn't complain about this..

@facebook-github-bot shipit


Settings and library popover always being appended as last div element, because menuContainer is being ignored

Current Behavior:
The newly added menuContainer property is being ignored, and popovers are still added as the latest div element instead of being within the scope of the provided menuContainer element, making it so that the chapters popover as well as the settings popover are unusable when a video is being played inside a modal using the HTMLDialogElement API.
Expected Behavior:
Expected behaviour is for the given menuContainer element to be the container inside which the chapters and settings menu render.
Steps To Reproduce:
import '@material/web/button/elevated-button';
import '@material/web/iconbutton/icon-button';
import '@material/web/icon/icon';

import {LitElement, html, css} from 'lit';
import {customElement, property, query} from 'lit/decorators.js'; // eslint-disable-line import/extensions

import {type MediaPlayerElement} from 'vidstack/elements';
import {VidstackPlayer, VidstackPlayerLayout} from 'vidstack/global/player';

import vidstackStyles from 'vidstack/player/styles/default/layouts/video.css?url';
import defaultStyles from 'vidstack/player/styles/default/theme.css?url';

import {DisableBodyScroll} from './mixins/disableBodyScroll';
import {type ModalElement} from './modal';
import './modal'; // eslint-disable-line no-duplicate-imports

@customElement('video-content')
// eslint-disable-next-line wc/file-name-matches-element -- impossible filename
export class VideoContentElement extends DisableBodyScroll(LitElement) {
  @property({type: String, attribute: 'video'})
  public accessor fileUuid = '';

  @query('#modal')
  private accessor modal: ModalElement | null = null;

  @query('#video-player')
  private accessor videoPlayer: HTMLVideoElement | null = null;

  private _vidstack: MediaPlayerElement | null = null;

  static styles = css`
    video:not(.vidstack:fullscreen video) {
      max-height: calc(90vh - 2rem); /* This is a hack to ensure proper sizing */
    }

    #video-player {
      aspect-ratio: unset;
    }
  `;

  render() {
    return html`
      <link rel="stylesheet" href="${defaultStyles}" />
      <link rel="stylesheet" href="${vidstackStyles}" />

      <md-elevated-button
        class="dialog-button"
        @click="${this._openModal}"
      >
        Open Video Modal
      </md-elevated-button>

      <modal-element
        id="modal"
        @open="${this._onOpenModal}"
        @close="${this._onCloseModal}"
      >
        Demo Video
        <vidstack-player id="video-player"></vidstack-player>
      </modal-element>
    `;
  }

  private async _initializePlayer() {
    const menuContainerElement = document.getElementById('modal');
    const player = await VidstackPlayer.create({
      target: this.videoPlayer!,
      src: 'https://files.vidstack.io/sprite-fight/720p.mp4',
      viewType: 'video',
      streamType: 'on-demand',
      logLevel: 'warn',
      crossOrigin: true,
      playsInline: true,
      title: 'Sprite Fight',
      poster: 'https://files.vidstack.io/sprite-fight/poster.webp',
      layout: new VidstackPlayerLayout({
        thumbnails: 'https://files.vidstack.io/sprite-fight/thumbnails.vtt',
        menuContainer: menuContainerElement,
      }),
      tracks: [
        {
          src: 'https://files.vidstack.io/sprite-fight/subs/english.vtt',
          label: 'English',
          language: 'en-US',
          kind: 'subtitles',
          type: 'vtt',
          default: true,
        },
        {
          src: 'https://files.vidstack.io/sprite-fight/subs/spanish.vtt',
          label: 'Spanish',
          language: 'es-ES',
          kind: 'subtitles',
          type: 'vtt',
        },
        {
          src: 'https://files.vidstack.io/sprite-fight/chapters.vtt',
          language: 'en-US',
          kind: 'chapters',
          type: 'vtt',
          default: true,
        },
      ],
    });

    return player;
  }

  private async _openModal() {
    this.modal?.open();
  }

  private async _onOpenModal() {
    this._disableBodyScroll();
    this._vidstack?.play(); // If the video already exists, resume playing it.
    this._vidstack ??= await this._initializePlayer(); // Otherwise initialize it.
  }

  private _onCloseModal() {
    if (this._vidstack) {
      this._vidstack.pause();
    }
    this._restoreBodyScroll();
  }
}

Environment:

Framework: Vue 2.7.16
Browser<EMAIL_ADDRESS>
Video Reconstruction
Schermopname van 2024-06-20 08-22-55.webm

Thanks, I'll look into it!

Great. Might be worthy to note that the overall support for video rendering inside the modal is a bit tacky, as shown by the necessity for
  static styles = css`
    video:not(.vidstack:fullscreen video) {
      max-height: calc(90vh - 2rem); /* This is a hack to ensure proper sizing */
    }

    #video-player {
      aspect-ratio: unset;
    }
  `;

to have the video render correctly.

@mihar-22 Seems like the issue was on my end, trying to call DOM elements the wrong way. Was solved by adding a container within the modal element with id modal-container, and fetching it through
  @query('#menu-container')
  private accessor menuContainerElement: HTMLElement | null = null;

which makes it so this works just fine:
      layout: new VidstackPlayerLayout({
        ...defaultVidstackLayout,
        menuContainer: this.menuContainerElement,
      }),

A new issue did arrive now though,  only the settings and chapters container pop up like they should. But all nested containers don't (playback speed, audio settings, etc.)...

You'll need to provide me a reproduction because this is working in my testing. Closing until one is provided, thanks!

@mihar-22 Could you reopen the issue?
I've created a simple recreation of the issue by simulating the way components are loaded within the shadow DOM. As can be seen, when a modal is loaded within a shadow DOM, issues arise. Below is the reproduction.
Reproduction
<!DOCTYPE html>

    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Video Player Modal Example</title>
    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />

        <button id="openButton">Open Video Modal</button>

        <foo-element></foo-element>

@mihar-22 Just checking in, any chance the issue could be reopened? Can't do it myself.

Thanks for the repro @taran2k, found the issue and I'll release the fix some time today or tomorrow.

Thanks for the issue and the solution!
We are seeing the similar thingy with<EMAIL_ADDRESS>so I wonder if this is related or some other issue.
@taran2k was the issue resolved for you?

Thank you @mihar-22! This solved the problems we were having. @amureki, yes, the most recent release resolved our issue.

@mihar-22 Could the menuContainer prop perhaps also be added to the Plyr layout?


Document the pattern option

Basically, I cannot understand the include/exclude semantics for the pattern option. If adding the "**/*" option, all the folders get flattened, regardless of any other option.

It uses multimatch under the covers for matching patterns.
Does the last example not work for you?
var metalsmith = new Metalsmith(__dirname)
  .use(flatten({
  	pattern: [
		"**/*",
		"!my-other-dir"
	]
  }));

That will flatten everything except anything in my-other-dir.


Improve error message when docker not found

Right now when docker not found, you get:
Hypervisor for debian-7 is docker
Beaker::Hypervisor, found some docker boxes to create
/opt/rubies/2.0.0-p451/lib/ruby/gems/2.0.0/gems/excon-0.43.0/lib/excon/unix_socket.rb:14:in `connect_nonblock': No such file or directory - connect(2) (Errno::ENOENT) (Excon::Errors::SocketError)
	from /opt/rubies/2.0.0-p451/lib/ruby/gems/2.0.0/gems/excon-0.43.0/lib/excon/unix_socket.rb:14:in `connect'
	from /opt/rubies/2.0.0-p451/lib/ruby/gems/2.0.0/gems/excon-0.43.0/lib/excon/socket.rb:28:in `initialize'

This improves the message and gives a little guidance

Can one of the admins verify this patch?

Can you update your commits with either (MAINT) or file a bug that it can be associated with?

@anodelman done! I need a hand with figuring out the spec failure though

Got the spec test working, see diff here:
https://gist.github.com/anodelman/8fe15fe88f921edd5a59
You were trying to set the return value of validate_version! twice, so that had to be separated out to get the desired behavior.

@anodelman That's still failing for me: added it in c79cca76d6372410e56a2f8e2d7bd468168638ec
  1) Beaker::Docker#initialize should fail when docker not present
     Failure/Error: expect { docker }.to raise_error()
       expected Exception but nothing was raised
     # ./spec/beaker/hypervisor/docker_spec.rb:95:in `block (3 levels) in <module:Beaker>'

I'll take another look this week.

Updated gist:
https://gist.github.com/anodelman/8fe15fe88f921edd5a59
All green for me.

@anodelman Perfect, that one worked like a charm! :+1:
All tests green now :smile:

ok to test

:green_heart: Test passed.
Refer to this link for build results: http://jenkins-beaker.delivery.puppetlabs.net/job/Beaker Combined Smoketest/460/

Green, good to go.


Semantic SLAM example bad results

Hello!
I successfully run a Semantic SLAM example on develop_1 env batch, got results in json format and calculated OMQ for every environment. But I achieved an overall score just about 0.013, instead 0.13, that you mention in the Tutorial. Is this is a typo in Tutorial or I have some problems on my side?
Thank you.

We will test this on our end and see if we can reproduce. It may be related to #43, but will have to do some tests to be sure.

When vertical shift was fixed in #47, I rerun semantic SLAM baseline on miniroom:1 and still got bad results: 0.005 OMQ for this single env. I visualize GT (green) vs predictions(red) and these looks very different.

As part of issue #53 we found that the camera intrinsics had been set up incorrectly for Omniverse and were not utilising the camera_info observations. This has now been fixed.
Qualitative results are shown in the below gif with map generated by the tutorial being toggled on and off amidst the ground-truth map.

Quantitative results are different (0.10 OMQ across the develop_1 batch of environments) but that is currently being accredited to the change in appearance of the environments causing incorrect detections at the start of the pipeline rather than monumental error in object placement as was seen here.
@ivbelkin can you confirm you get similar results after updating the example add-on?

Yes, now I get similar results! Thank you! I think the issue can be closed


Update mssql-setup.md

MSI->ActiveDirectoryMsi
What are you changing in this pull request and why?
I am submitting this PR as I was able to authenticate using the managed identity after modifying the authentication method from "authentication: MSI" to "authentication: ActiveDirectoryMsi".
The logs have been recorded and are displayed as follows:
$ pip show dbt-sqlserver
Name: dbt-sqlserver
Version: 1.7.2
Summary: A Microsoft SQL Server adapter plugin for dbt
Home-page: https://github.com/dbt-msft/dbt-sqlserver
Author: Mikael Ene, Anders Swanson, Sam Debruyn, Cor Zuurmond
Author-email:
License: MIT
Location: /home/azureuser/.local/lib/python3.8/site-packages
Requires: azure-identity, dbt-core, dbt-fabric, pyodbc
Required-by:

$ dbt debug
10:46:43  Running with dbt=1.7.8
10:46:43  dbt version: 1.7.8
10:46:43  python version: 3.8.10
10:46:43  python path: /usr/bin/python3
10:46:43  os info: Linux-5.15.0-1034-azure-x86_64-with-glibc2.29
10:46:43  Using profiles dir at /home/azureuser/.dbt
10:46:43  Using profiles.yml file at /home/azureuser/.dbt/profiles.yml
10:46:43  Using dbt_project.yml file at /xxx/test_dbt/dbt_project.yml
10:46:43  adapter type: sqlserver
10:46:43  adapter version: 1.7.2
10:46:43  Configuration:
10:46:43    profiles.yml file [OK found and valid]
10:46:43    dbt_project.yml file [OK found and valid]
10:46:43  Required dependencies:
10:46:43   - git [OK found]

10:46:43  Connection:
10:46:43    server: sqldb-tdp-server-dev-003.database.windows.net
10:46:43    database: sqldb-tdp-dev-003
10:46:43    schema: dbo
10:46:43    UID: None
10:46:43    client_id: None
10:46:43    authentication: MSI
10:46:43    encrypt: True
10:46:43    trust_cert: False
10:46:43    retries: 1
10:46:43    login_timeout: 0
10:46:43    query_timeout: 0
10:46:43    port: 1433
10:46:43  Registered adapter: sqlserver=1.7.2
10:46:44    Connection test: [ERROR]

10:46:44  1 check failed:
10:46:44  dbt was unable to connect to the specified database.
The database returned the following error:

  >Database Error
  ('28000', "[28000] [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Login failed for user ''. (18456) (SQLDriverConnect)")

Check your database credentials and try again. For more information, visit:
https://docs.getdbt.com/docs/configure-your-profile

$ dbt debug
11:12:18  Running with dbt=1.7.8
11:12:18  dbt version: 1.7.8
11:12:18  python version: 3.8.10
11:12:18  python path: /usr/bin/python3
11:12:18  os info: Linux-5.15.0-1034-azure-x86_64-with-glibc2.29
11:12:18  Using profiles dir at /home/azureuser/.dbt
11:12:18  Using profiles.yml file at /home/azureuser/.dbt/profiles.yml
11:12:18  Using dbt_project.yml file at /xxx/test_dbt/dbt_project.yml
11:12:18  adapter type: sqlserver
11:12:18  adapter version: 1.7.2
11:12:19  Configuration:
11:12:19    profiles.yml file [OK found and valid]
11:12:19    dbt_project.yml file [OK found and valid]
11:12:19  Required dependencies:
11:12:19   - git [OK found]

11:12:19  Connection:
11:12:19    server: sqldb-tdp-server-dev-003.database.windows.net
11:12:19    database: sqldb-tdp-dev-003
11:12:19    schema: dbo
11:12:19    UID: None
11:12:19    client_id: None
11:12:19    authentication: ActiveDirectoryMsi
11:12:19    encrypt: True
11:12:19    trust_cert: False
11:12:19    retries: 1
11:12:19    login_timeout: 0
11:12:19    query_timeout: 0
11:12:19    port: 1433
11:12:19  Registered adapter: sqlserver=1.7.2
11:12:19    Connection test: [OK connection ok]

11:12:19  All checks passed!

Checklist

[x] Review the Content style guide so my content adheres to these guidelines.

thanks @b-per !


blank problem advanced button

since i used opnsense i noticed that the advanced slider button has an ugly blank on hover and focus. this problem occurs in every theme. has to do with a wrong placed blank.  Its also visible in the original theme of opnsense. I've fixed this with a standard html syntax. its visible on every page which uses an advanced button. like monitor, proxy and so on...see the screenshot

@opnsenseuser does 7a5f1fef6ecead work for you in the same way?