Challenges in Reproducing the Build

I am currently trying to reproduce the current version of bitbanana which is on playstore.
Description
I was able to build BitBanana locally. The APK I generated from this build did not show any differences from the release version of the APK on GitHub. Now comes the interesting part. I need to find the differences with the APK version released on my mobile device.
There has been a change in how Android builds these APKs, as they now provide device-specific builds. To get the APK specific to my device, I had to use Bundletool to extract the APK from the AAB I built. I used abd to get the APKs for my specific device, following the usual process.
When I used diff after extracting the APKs, I found that the APKs from both sources had different names, so I extracted all the files from the APKs. Although the types of APKs were the same, there were still some differences. Some of these differences, like AndroidManifest.xml, META-INF/BNDLTOOL.RSA, META-INF/BNDLTOOL.SF, META-INF/MANIFEST.MF, and stamp-cert-sha256, can be ignored, but the rest cannot.
Expected Behavior
Actual Behavior
diff --recursive --brief extracted_apks/unzipped/ built_apks/unzipped/
Files extracted_apks/unzipped/armeabi/AndroidManifest.xml and built_apks/unzipped/armeabi/AndroidManifest.xml differ
Files extracted_apks/unzipped/armeabi/META-INF/BNDLTOOL.RSA and built_apks/unzipped/armeabi/META-INF/BNDLTOOL.RSA differ
Files extracted_apks/unzipped/armeabi/META-INF/BNDLTOOL.SF and built_apks/unzipped/armeabi/META-INF/BNDLTOOL.SF differ
Files extracted_apks/unzipped/armeabi/META-INF/MANIFEST.MF and built_apks/unzipped/armeabi/META-INF/MANIFEST.MF differ
Only in extracted_apks/unzipped/armeabi: stamp-cert-sha256
Files extracted_apks/unzipped/base/AndroidManifest.xml and built_apks/unzipped/base/AndroidManifest.xml differ
Files extracted_apks/unzipped/base/classes2.dex and built_apks/unzipped/base/classes2.dex differ
Files extracted_apks/unzipped/base/classes3.dex and built_apks/unzipped/base/classes3.dex differ
Files extracted_apks/unzipped/base/classes4.dex and built_apks/unzipped/base/classes4.dex differ
Only in extracted_apks/unzipped/base/META-INF: BNDLTOOL.RSA
Only in extracted_apks/unzipped/base/META-INF: BNDLTOOL.SF
Only in extracted_apks/unzipped/base/META-INF: MANIFEST.MF
Files extracted_apks/unzipped/base/res/xml/splits0.xml and built_apks/unzipped/base/res/xml/splits0.xml differ
Files extracted_apks/unzipped/base/resources.arsc and built_apks/unzipped/base/resources.arsc differ
Only in extracted_apks/unzipped/base: stamp-cert-sha256
Files extracted_apks/unzipped/xhdpi/AndroidManifest.xml and built_apks/unzipped/xhdpi/AndroidManifest.xml differ
Files extracted_apks/unzipped/xhdpi/META-INF/BNDLTOOL.RSA and built_apks/unzipped/xhdpi/META-INF/BNDLTOOL.RSA differ
Files extracted_apks/unzipped/xhdpi/META-INF/BNDLTOOL.SF and built_apks/unzipped/xhdpi/META-INF/BNDLTOOL.SF differ
Files extracted_apks/unzipped/xhdpi/META-INF/MANIFEST.MF and built_apks/unzipped/xhdpi/META-INF/MANIFEST.MF differ
Files extracted_apks/unzipped/xhdpi/resources.arsc and built_apks/unzipped/xhdpi/resources.arsc differ
Only in extracted_apks/unzipped/xhdpi: stamp-cert-sha256

Possible Fix
Steps to Reproduce

Following the reproduction instructions provided in the documentation: https://github.com/michaelWuensch/BitBanana/blob/master/docs/REPRODUCE.md

Context
Unable to determine whether the wallet is reproducible.
Your Environment

BitBanana version: v0.8.1
Android version: 8
Device: Redmi 9
LND Version: (e.g. 0.7.0-beta)

Hi,
thanks for your comment. I just did the whole procedure as well like described in (https://github.com/michaelWuensch/BitBanana/blob/master/docs/REPRODUCE.md) and I get a different result:

Notably I do not have the differences in the classes dex files.
But I also get the diffs now in resources.arsc which was not the case when I did it the last time with a 0.7.x version.
I do not yet know where that diff comes from and whether or not it is a relevant to consider it reproducible.
In regard to the classes dex diffs:
I don't know why they show up for you. I tested it with my Samsung S22, I don't have a Redmi 9 to test.
Here is a list of things that I think might cause it:

Are you sure you only had 1 device connected to your PC?
Are you sure the version on your phone was 0.8.1 and that the version you checked out and built was 0.8.1 as well?
Did you use the exact same command to build the aab as described in the reproducibility description? (I tested some other android docker images back when I did the F-Droid release. 3 Different Docker images resulted in 3 different builds. I chose the one that matched the outcome with my PC)

hey, i tried building the apk following the methods here and got this
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'project'.
> Could not resolve all files for configuration ':classpath'.
   > Could not find com.jaredsburrows:gradle-license-plugin:0.8.80.
     Searched in the following locations:
       - https://dl.google.com/dl/android/maven2/com/jaredsburrows/gradle-license-plugin/0.8.80/gradle-license-plugin-0.8.80.pom
       - https://jcenter.bintray.com/com/jaredsburrows/gradle-license-plugin/0.8.80/gradle-license-plugin-0.8.80.pom
     Required by:
         project :

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/8.0.2/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 21m 23s

You can find my full review on the subject here
was anything changed during the time? waiting to hear from you!

@keraliss
Hi, yes, sorry about that, the json file containing the 3rd party licenses was formated differently in 0.8.5.
This also caused the build on F-Droid to fail.
I fixed the issue in 0.8.6 and added a new feature as well in that release.
Please retry with 0.8.6.
Sorry for the inconvenience.

Thanks for the update, will check it out and revert back!


是否能够提供一个检查数据增强后，数据可视化的脚本工具。

If this is your first time, please read our contributor guidelines:
如果这是您第一次提交请先阅读我们提供的贡献指南
https://gitee.com/mindspore/mindspore/blob/master/CONTRIBUTING.md
Is your feature request related to a problem? Please describe.
您的需求和某个报错有关吗？请描述您的问题
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
请提供清晰详细的问题描述，如我总是在xx步骤遇到xx问题，报错是xx，应该是xxx
Describe the solution you'd like
请描述您期望的解决方案
A clear and concise description of what you want to happen.
Describe alternatives you've considered
请描述您认为可行的一些方案
A clear and concise description of any alternative solutions or features you've considered.
Additional Note
其他信息澄清
Add any other note or screenshots about the feature request here.

可以参考这个
https://github.com/mindspore-lab/mindyolo/blob/master/tests/dataset_plots.py


Fixes performance issues with firefox

Hello,
some of our client noticed problems with firefox, then dragging. my investigations showed too much event were passed to onDragOverEnter. debouncing for 25ms worked best.
added _debounce function,
added new option "debounce", default - 0
most part of onDragOverEnter was moved to debounced variant

Coverage decreased (-1.4%) to 72.531% when pulling ba8d150dc9f77c7f433933a1247d0f892656f313 on paulius-m:debounce into d94300847d735626038dc5c4f38f318350ce3ef8 on voidberg:master.

Coverage increased (+0.1%) to 74.074% when pulling 4bb82946a57c7c0da9ef9bd40928884de99a82d4 on paulius-m:debounce into d94300847d735626038dc5c4f38f318350ce3ef8 on voidberg:master.

Thanks, I'll have a look and get back to you.

Hey, firstly thank you very much for contributing. 👍
I need to ask you to do a couple things before this is ready to be merged.

you added _matches but there is already an implementation for this matches see here I have no real preference as to which implementation should be used, yours definitely looks sleeker and less complicated. However I would like you to remove the old matches and replace it with your _matches so that only one version is in the script.

Please do not run gulp build and do not commit the files from the dist directory.

Please rebase this into 1 commit only with a name like Fixes performance issues with firefox

Hi,

I did not add _matches function, i added _debounce.
Reverted dist, sorry.
OK.

On Sat, Feb 11, 2017 at 1:56 PM, Lukas Oppermann<EMAIL_ADDRESS>wrote:

Hey, firstly thank you very much for contributing. 👍
I need to ask you to do a couple things before this is ready to be merged.

you added _matches but there is already an implementation for this
matches see here
https://github.com/paulius-m/html5sortable/blob/4bb82946a57c7c0da9ef9bd40928884de99a82d4/dist/html.sortable.js#L53-L71
I have no real preference as to which implementation should be used, yours
definitely looks sleeker and less complicated. However I would like you to
remove the old matches and replace it with your _matches so that only
one version is in the script.
2.
Please do not run gulp build and do not commit the files from the dist
directory.
3.
Please rebase this into 1 commit only with a name like Fixes
performance issues with firefox
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/voidberg/html5sortable/pull/221#issuecomment-279139375,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAkvE3R3HnUGJKk2GdV3DcPpzUIOgJtdks5rbaHWgaJpZM4L8KvC
.

Coverage increased (+0.1%) to 74.074% when pulling bc8085aa8310cba9235f7259869f0e968f99a402 on paulius-m:debounce into d94300847d735626038dc5c4f38f318350ce3ef8 on voidberg:master.

Sorry, I missed that it was there before. Thanks, looks good.


NIFI-5237: Considering proxy headers following OIDC login

NIFI-5237:

Ensuring the proxy headers are considered when redirecting the user following a OIDC or Knox login exchange.

Hi @mcgilman , I have checked locally NiFi and Keycloak, when trying to get into https://localhost:8443/nifi/ I'm redirected to https://localhost:8443/nifi-api/access/oidc/nifi/ with status code 404.

@maciejbozemoj Thanks for assisting with the review! Can you please describe your environment and the behavior your seeing in more detail? Are you running behind a proxy? What proxy headers are you setting? Are you successfully directed to KeyCloak to login? What is the callback URL sent to KeyCloak?

@mcgilman, I made docker-compose for set up and today I couldn't reproduce it, maybe it was my environment failure. I would like to know if you managed to test it locally with and without proxy.

@maciejbozemoj Yup. I've verified the existing code did not work and the proposed changes do work with my setup. That's why I was surprised with the behavior you reported originally. Thanks again for assisting with the review!

+1 looks good, will merge


[ Feature Request ] WSS a.k.a WebSocket Secure

Please add more websocket secure feature from this commit https://github.com/djoeni/Clash.Meta/commit/9cd0ff7180090a56195487e04ad98158f33fba7e
this commit will allow wss://web.com/
thank you

@helmiau I haven't seen any changes. Now vmess can also use ws+tls, that is, wss.

Vmess configuration uses tls: true to use wss, now

@helmiau The trojan transport only support tcp or grpc, in clash

@helmiau Sorry, I remember the wrong one. Trojan also has ws.

Looking at the patch. It require to patch gorilla/websocket to allow a ws/wss scheme in path.
Currently meta will send a request like this
GET /ws://some.mask.host/websocket HTTP/1.1

With the patch:
GET ws://some.mask.host/websocket HTTP/1.1

Looking at the patch. It require to patch gorilla/websocket to allow a ws/wss scheme in path.
Currently meta will send a request like this
GET /ws://some.mask.host/websocket HTTP/1.1

With the patch:
GET ws://some.mask.host/websocket HTTP/1.1

No, Websocket is never show the path with prefix  wss/ws,  wss/ws is equivalent to https/http, which is just a user description and used by a parser. When using only Websocket, it is ws.

This path is filled in by the user, in the configuration file.
Someone may write http://xxxx in the path of HTTP?

Looking at the patch. It require to patch gorilla/websocket to allow a ws/wss scheme in path.
Currently meta will send a request like this
GET /ws://some.mask.host/websocket HTTP/1.1

With the patch:
GET ws://some.mask.host/websocket HTTP/1.1

No, Websocket is never show the path with prefix wss/ws, wss/ws is equivalent to https/http, which is just a user description and used by a parser. As long as you use Websocket, that's ws..  This path is filled in by the user, in the configuration file. Someone may write http://xxxx in the path of HTTP?

Yes, the standard ws protocol will use ws-host and ws-path correctly as above.
But the one proposed by this issue was to trick the isp to reconnect to another node.
Usually they will use tiktok or whatsapp server as a node.
  server: v.whatsapp.net
  sni: v.whatsapp.net
  ws-opts:
    path: ws://the.actual.server/ws

Yes, this is very special case and can only be used to certain isp with strict rules, sniffing around the sni and to censor or redirect the content.
https://github.com/taamarin/Clash.Meta


[SPARK 5280] RDF Loader added + documentation

Have been testing it with DBpedia dumps, works well so far.
Any help with custom partitioning and optimization is welcome.

Can one of the admins verify this patch?

ok to test

Test build #27643 has started for   PR 4650 at commit 80d9b72.

This patch merges cleanly.

Test build #27643 has finished for   PR 4650 at commit 80d9b72.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/27643/
Test FAILed.

style errors fixed

Test build #27680 has started for   PR 4650 at commit 4014c7f.

This patch merges cleanly.

Test build #27680 has finished for   PR 4650 at commit 4014c7f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/27680/
Test PASSed.

Please add tests for your RDF loader, and see my codes as an example:
https://github.com/maropu/spark/commit/cc5ac0b08ca39c3c339fdca905779bb3b037f8fa
BTW, I think that it'd would be better to divide an interface and the implementations
for GraphLoader because we'll possibly add the some types of GraphLoader
for different formats in a future.
e.g.,)

an interface
o.a.spark.graphx.GraphLoader:
abstract class GraphLoader {
def edgeListFile(...)
}

the implementations
o.a.spark.graphx.impl.loader.LineLoader
class LineLoader extends GraphLoader {
def edgeListFile() = {the current implementation of GraphLoader#edgeListFile}
}

o.a.spark.graphx.impl.loader.RDFLoader
class RDFLoader extends GraphLoader {
def edgeListFile() = {your codes}
}
Thought?

Will add tests soon.
I was also thinking about making one interface for different loaders (with a load() method instead of edgeListFile()) and maybe a facade combining all loaders.

Test build #27817 has started for   PR 4650 at commit 04df47a.

This patch merges cleanly.

Added test + a test file (small excerpt from DBpedia 3.9) + small fix in RDFLoader

Test build #27822 has started for   PR 4650 at commit 1bec795.

This patch merges cleanly.

Test build #27822 has finished for   PR 4650 at commit 1bec795.

This patch fails RAT tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/27822/
Test FAILed.

Test build #27817 has finished for   PR 4650 at commit 04df47a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/27817/
Test PASSed.

Test build #27823 has started for   PR 4650 at commit b658c55.

This patch merges cleanly.

Test build #27823 has finished for   PR 4650 at commit b658c55.

This patch fails RAT tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/27823/
Test FAILed.

Test build #27825 has started for   PR 4650 at commit 3db73ab.

This patch merges cleanly.

Test build #27825 has finished for   PR 4650 at commit 3db73ab.

This patch fails RAT tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/27825/
Test FAILed.

Test build #27826 has started for   PR 4650 at commit 4daa6e9.

This patch merges cleanly.

Test build #27826 has finished for   PR 4650 at commit 4daa6e9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/27826/
Test PASSed.

@maropu tests are added and build tests passed. Is it ready for merging now?

Can one of the admins verify this patch?

I would really like to have this -  is it going to be merged ?

+1, Is this going to be merged?

Can one of the admins verify this patch?

@emir-munoz @blankdots This PR is totally stale, so it'd better to refactor ithis if you're interested in.
Also, ISTM this kind of loader extensions should be registered in spark packages.

thanks @maropu I will take a closer look into it

A Spark plugin seems like a much better approach, I've done some experimentation on a plugin for this which seems like a much cleaner and lightweight approach though I have no idea if it will ever be open sourced (it is work for my employer) or move beyond the experimentation stage.
I would strongly suggest looking at leveraging existing libraries like Apache Jena to do a lot of the work for you and avoid having to implement your own RDF parsers.  Personally I am using the Apache Jena Elephas modules for this since the Hadoop Input formats can simply be used by Spark.  (Disclaimer - I am a committer on Apache Jena and the main contributor to the Elephas modules)

@maropu @emir-munoz also considering taking a look at it.
@rvesse good suggestions

Can one of the admins verify this patch?

def gethash(in:String):Long = {
  var h =<PHONE_NUMBER>842597L
  for (x <- in) {
    h = 31 * h + x;
  }
  return h
}

This hash function seems to be weak.
I tried this with subject URIs of DBpedia's labels_en.nt (sample).
There are 11,519,154 unique URIs, and the hash values of 20,741 URIs collided (0.18%).
For example, the hash values of these URI are same (-3127496886112549146).

http://dbpedia.org/resource/Dms
http://dbpedia.org/resource/EOT
http://dbpedia.org/resource/F15
http://dbpedia.org/resource/EP5

@lukovnikov if there is still interest in this, the best approach would be to first release something in spark-packages.org as a set of utilities to create Graphs. Using existing 3rd party Hadoop formats makes the most sense as per @rvesse.
Could you close this PR please?

+1 to making this a Spark package. I would recommend that we close this PR since it's gone stale.


Schema Design

[x] Create Data Models

Using your wireframes as a guide, identify the objects in your app and their properties.
Create models to represent each object including property name, type and description.

Reference this list of Supported Parse Data Types for choosing the type of a given property.
For properties that reference other objects, like the author example, use type: Pointer to [MODEL_NAME]

Update your Project README with your Network Request Outline and Code Snippets.

[x] Outline Parse Network Requests

For each screen in your app, list the general network requests you'll need.
Sketch out code snippets for each network request.
Update your Project README with your Network Request Outline and Code Snippets.

[x] [OPTIONAL] Outline Network Requests for Existing APIs

Define the API endpoints you'll be using (i.e. Yelp's Search API) and add these to your project README.
Define the model classes you'll need (i.e. YelpBusiness) and corresponding properties (i.e. businessName, address, etc) and add these to your project README.

[x] Update Project README with models & networking

Update your Project README with your models and Network Request Outline and update your table of contents.

Great work, team!


Fix TestMC script for change to trigger paths

follow merging DeM and DeP paths.

Thanks a lot, @brownd1978 !


mactype-np: Add version 2019.1-beta6

MacType(Github repo) is a tool that provides better font rendering for Windows.
Notes:

This package is sent to here (instead of the extras bucket) because MacType involves too many system tweaking, which does not meet the criteria of the extras bucket.

I use the "beta version" because "stable version" has not been updated for 2 years. Also, the installer used in newer versions is different from the older versions. Using newer ones can avoid future maintainance issues.

The notes are written according to known issues and developer's reply about the uninstallation problem.

Thank you!


Great Stuff customize the prompt

[Enter feedback here]
Used to follow some other posts this glyph prompt is much cleaner
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d3cbeb9a-9e7c-f8f4-5c03-5d6262d2b440
Version Independent ID: eb575c79-5b2a-45f6-646f-9d41d5d223e8
Content: Windows Terminal Powerline Setup
Content Source: TerminalDocs/tutorials/powerline-setup.md
Product: dev-environment
Technology: windows-terminal
GitHub Login: @cinnamon-msft
Microsoft Alias: cinnamon

Thanks for the feedback!

Thanks for the feedback!


'add' and 'unlink' events not triggering with folders

Ubuntu 18.04.1
The add event is not triggering on folder creating, same for unlink.
    let rootWatcher = new INotifyWait(dir, {
        recursive: true
    });

    rootWatcher.on('ready', () => console.log('watching now...'));
    rootWatcher.on('add', (filename, stats) => console.log('new file created : ' + filename));
    rootWatcher.on('unknown', filename => console.log('unknown event...'));
    rootWatcher.on('unlink', filename => {
        console.log('deleted file : ' + filename);
        // rootWatcher.close();
    });

Never mind, there is the option watchDirectory that you have to set to true for this to happen. Not mentioned anywhere on the README.md


Allow NotReady nodes to take part in load balancing

This code says that only Ready nodes will be used when configuring cloud load balancers for a service. This means that k8s control-plane problems may lead to workload outages. If for any reason k8s master will see nodes as 'not ready' - connectivity problems between master and nodes, kubelet network issues like this one, cloud firewall misconfiguration - anything, such nodes will be removed from the load balancing. It seems to me, that if such problems occur in the cluster, more stable behaviour would be to keep load balancer targets just as they are, and let the load balancer to rely on kube-proxy healthchecks (default or service-specific) to determine, which nodes are ready to serve traffic.

/sig networking
While under the cloud-provider staging directory, service controller is primarily owned by networking. You may also be better of filing this in the main K/K repo than in K/cloud-provider.

OK can't label sig-networking, you definitely want to file this issue in K/K rather than K/cloud-provider.

/sig network

/cc @bowei


MeanOrientationVFE

I found it in mean_vfe.py, I wonder what it does and how can I use him

This is an artifact of from other experiments and PDV does not use this VFE method. However, to answer your question MeanOrientationVFE adds the ground truth bounding box orientation as an additional channel to the voxel feature input (xyz + intensity + elongation + orientation). One thing to keep in mind is that MeanOrientationVFE uses the ground truth labels during training: https://github.com/TRAILab/PDV/blob/f72f4f191f93d8a8ca301e46ebc69893ef6166e1/pcdet/models/backbones_3d/vfe/mean_vfe.py#L70-L72.

Thank you for your reply. Perhaps assisting auxiliary network supervision to help establish the relationship between the orientation of voxels and ground truth can help us improve performance.

Yup, that was one of the early ideas that we explored but didn't end up pursuing for this work.


Embark actions for pods

Can start with a map that only binds kele-get. This would be a little contrived, since kele-get is the only resource-related command at the moment, but it'd give us a springboard to start implementing and binding other pod-related functionality, e.g. fetching and following logs.

This is a great idea. I really like the direction this project is going!

If I understand how this works, if you could categorize the resource candidates with their own symbol then people could start writing their own Embark actions by adding to embark-keymap-alist?

Absolutely. I haven't had the chance to explore this in-depth, but my thinking is very aligned w/ your idea here. Basically:

Associate resource candidates with symbols corresponding to their kind, e.g. kele-pod or kele-customresourcedefinition;
Provide a handful of starter Embark actions for select kinds;
Provide convenient hook mechanisms for users to write their own kind-specific Embark actions (as you describe)

Deprioritizing Embark integrations in favor of fleshing out Transient-based usage first. Transient is in core Emacs while Embark is not, which means that improvements we make to Transient usage will have broader reach and appeal.

In this particular case, I suspect we'll be able to reap much of the same benefits of specialized Embark keymaps with resource-specific suffixes on kele-resource -- a pattern we introduced in #187.


Reposition on window resize

This pull request closes https://github.com/rpearce/react-medium-image-zoom/issues/162.
Pre-Flight Checklist
I have made sure to

[ ] run $ yarn build:js to build the project code
[ ] add a Storybook example and run $ yarn build:docs (if I added a story)
[ ] manually test all the Storybook examples

run $ yarn start
navigate to http://localhost:6006

This looks prettay good :fire:
If we get https://github.com/rpearce/react-medium-image-zoom/pull/171 in, we can add a test here, but if not, we can add the test after


Create Design Brief

Create a Graphic Design Brief for the portfolio. This will outline some very basic information that will inform the design process. Could also be sent to a graphic designer to have them create a design.

Design Brief can be found here: https://www.figma.com/file/Ke6qB6HEuoJDkWTr9RYSdY/Design-Brief?node-id=0%3A1


Combat entry/exit procedure

Cinematics should be able to trigger a fight starting as an interaction result. When a fight starts, a grid should be drawn on the screen, a message should appear signaling that a fight has started, and a menu should appear. Internally, the code should go into a "combat" mode.
For now, the menu should contain one button that wins the fight instantly, erasing the grid and triggering an ending cinematic that returns the player to the normal exploration mode.

Entering combat should create an instance of a Battle class, containing enemies, allies, win conditions, positions, and threshold events, like cinematics or reinforcements when a number of turns pass or you step on a certain square. This stuff is partly read from a file (the unchanging things) and partly passed as arguments (the circumstances that the player/party brings to the fight).


Update dependencies

forrcaho commented

Yeah, a lot of the packages have major version updates. I get an error from the vue extension that vue-tsc is a different version than what's in the repo (package.json has ^0.34.17; latest is 1.0.9). I just updated everything to the latest locally with npm-check-updates; now I'm going to try and see what I've broken.

15:07 $ ncu -u
Upgrading /home/forrcaho/github/scale-workshop/package.json
[====================] 28/28 100%

 @types/jsdom                                                            ^16.2.15  →   ^20.0.1
 @types/node                                                            ^16.11.65  →  ^18.11.9
 @vitejs/plugin-vue                                                        ^2.3.4  →    ^3.2.0
 @vue/eslint-config-typescript                                            ^10.0.0  →   ^11.0.2
 @vue/test-utils                                                           ^2.1.0  →    ^2.2.4
 cypress                                                                   ^9.7.0  →   ^11.2.0
 eslint                                                                   ^8.25.0  →   ^8.28.0
 eslint-plugin-vue                                                         ^8.7.1  →    ^9.8.0
 jsdom                                                                    ^19.0.0  →   ^20.0.3
 moment-of-symmetry             github:xenharmonic-devs/moment-of-symmetry#v0.2.1  →    v0.3.0
 prettier                                                                  ^2.7.1  →    ^2.8.0
 temperaments                         github:xenharmonic-devs/temperaments#v0.3.0  →    v0.3.1
 typescript                                                                ~4.6.3  →    ~4.9.3
 vite                                                                     ^2.9.15  →    ^3.2.4
 vitest                                                                    ^0.9.4  →   ^0.25.3
 vue                                                                      ^3.2.33  →   ^3.2.45
 vue-router                                                                ^4.1.5  →    ^4.1.6
 vue-tsc                                                                 ^0.34.17  →    ^1.0.9
 webmidi                                                                  ^3.0.21  →   ^3.0.22
 xen-dev-utils                       github:xenharmonic-devs/xen-dev-utils#v0.1.0  →    v0.1.2

As per #335 the github sources should be changed to plain (npm).

I didn't run into any problems (so far) upgrading all these packages. Cypress (which I ran successfully) will want to rename its config files, which it does on the first run after upgrading, so you'll probably want to check in those files as renamed along with the new package.json.

Good to know! Things might still break, so I'm assigning this to the 2.1.0 milestone. Version 2.0.1 should only be about bug fixes to the distribution.

Dependencies will be updated in version 3. sw -> sw-core -> xd-utils -> fraction.js depends on this version of typescript.


Next.js build process hanging

Before opening, please confirm:

[X] I have checked to see if my question is addressed in the FAQ.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

App Id
d1pv7ibdadvelv
Region
eu-west-2
Amplify Hosting feature
Not applicable
Describe the bug
The frontend build process for Next.js apps appears to be hanging whenever I trigger a deployment.
It gets as far as:
2022-04-21T11:12:50.928Z [WARNING]: warn  - No ESLint configuration detected. Run next lint to begin setup
2022-04-21T11:12:50.934Z [INFO]: info  - Creating an optimized production build...
2022-04-21T11:12:55.062Z [INFO]: info  - Compiled successfully
Then just stops responding until I have to manually cancel the build.
Expected behavior
Build should continue on collecting page data / generating static pages / finalizing page optimization... etc.
Reproduction steps
I am seeing this issue with the default Next.js starter app, i.e:

npx create-next-app xxxx
Push to a repo
Link Amplify hosting to the repo with the default settings.

Have also tried with versions 9, 10 and 11 of Next.js but getting the same result.
Build Settings
(default auto-generated build settings)

version: 1
frontend:
  phases:
    preBuild:
      commands:
        - yarn install
    build:
      commands:
        - yarn run build
  artifacts:
    baseDirectory: .next
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*

Additional information
No response

Hi @chris-bloomfield 👋🏽 thanks for raising this issue. It looks like you cancelled the build after 4 minutes, during that time the build process was still running, the logs are just delayed. SSR apps can take longer to run due to the additional resources that need to be provisioned. Try building your application again and waiting about 10-12 minutes. (Although it may not take that long).

Ah thanks you're right it builds in around 8 mins.  Problem solved - I just need to learn to be more patient.


TooSmallCronConfig.java:13: collapse all *CronConfig...

The puzzle 92-2cd03fd8 from #92 has to be resolved:
https://github.com/iakunin/codexia-bot/blob/ea726eb48b7c273fe6e167925d1efadd1efca339/src/main/java/dev/iakunin/codexiabot/bot/config/TooSmallCronConfig.java#L13-L13
The puzzle was created by iakunin on 30-Apr-20.
role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

The puzzle 92-2cd03fd8 has disappeared from the source code, that's why I closed this issue.


Config refactoring, added some env var for Heroku

created .gitignore: Useful so you don't commit IDE files, node_modules, and so on.
refactored config: created a config.js file.
added 3 env vars for Heroku and hooked it up in config.js.

Refactoring was done so you don't have to modify multiple files when you expand the configuration via docker/heroku using environmental variables. Now you can do it from a single file.

Oh my i can't wait for that prefix variable!
Great work dude!

Looks good, thanks

Thanks for adding that pull :-), it's quite handy to set the prefix now trough the env variables!
I have one small request, that is simalair to the pull above.
Between me and the origin git:
https://github.com/synzen/Discord.RSS/compare/dev...Macley-Kun:dev?expand=1
I only have inserted my owner id, would it be possible to also include which owner(s) there are, trough enviroment variables?
I absolutley love the work you've done for the bot, to get it even beter on heroku then before! <3


Newcomers become confused when creating account

While creating account, I copy the Mnemonic and go to text editor to save the Mnemonic. When I return to the AlgoSigner extension, I am not shown the Mnemonic and address again.
I can still import account with the Mnemonic and see the address. But newcomers become confused and paranoid that they were unable to copy the address at the first attempt. Newcomers would like to copy both the address and Mnemonic without going to the main screen.
Attaching the related gif

At long last, we've added an in browser experience for creating the first account


Errors trying to install/require this neat-sounding module...

So I thought I'd go for this:
cd ~/.textadept/modules
git clone git@github.com:orbitalquark/textadept-file-diff.git
mv textadept-file-diff file_diff

Then require('file_diff') in init.lua but this produces:
lua: /home/_/.textadept/modules/file_diff/init.lua:102: module 'file_diff.diff' not found:
	no field package.preload['file_diff.diff']
	no file '/home/_/.textadept/modules/file_diff/diff.lua'
	no file '/home/_/.textadept/modules/file_diff/diff/init.lua'
	no file '/home/_/a/textadept/modules/file_diff/diff.lua'
	no file '/home/_/a/textadept/modules/file_diff/diff/init.lua'
	no file '/home/_/a/textadept/core/file_diff/diff.lua'
	no file '/usr/share/lua/5.4/file_diff/diff.lua'
	no file '/usr/share/lua/5.4/file_diff/diff/init.lua'
	no file '/usr/lib/lua/5.4/file_diff/diff.lua'
	no file '/usr/lib/lua/5.4/file_diff/diff/init.lua'
	no file ''
	no file '/home/_/.textadept/modules/file_diff/diff.so'
	no file '/home/_/a/textadept/modules/file_diff/diff.so'
	no file '/usr/lib/lua/5.4/file_diff/diff.so'
	no file '/usr/lib/lua/5.4/loadall.so'
	no file ''
	no file '/home/_/.textadept/modules/file_diff.so'
	no file '/home/_/a/textadept/modules/file_diff.so'
	no file '/usr/lib/lua/5.4/file_diff.so'
	no file '/usr/lib/lua/5.4/loadall.so'
	no file ''

(Of course there is diff.cxx but that's not pertinent I guess.) So since there's a makefile I do a make clean and make all but this yields:
g++ -c -std=c++11 -pedantic -fPIC -Wall -I../../src/lua/src -o diff.o diff.cxx
diff.cxx:3:10: fatal error: diff_match_patch.h: No such file or directory
    3 | #include "diff_match_patch.h"
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:27: diff.o] Error 1

which must related to this wild net fetch from L55+:
diff_match_patch_zip = 7f95b37e554453262e2bcda830724fc362614103.zip
$(diff_match_patch_zip): ; wget https://github.com/leutloff/diff-match-patch-cpp-stl/archive/$@
diff_match_patch.h: | $(diff_match_patch_zip) ; unzip -j $| "*/$@"

So leutloff has no more archive dir in that repo so now I'm out of ideas  :grin:  guess to resolve, would have to dig in that repo's history to find the latest .h that did exist under his ...../archive/ and bring it here into the repo? Or you might have a better idea since you actually what all this stuff is for and why...

Try make deps first, followed by make diff.so. This is not well documented.

Thanks @orbitalquark! Tried and no lua.h:
g++ -c -std=c++11 -pedantic -fPIC -Wall -I../../src/lua/src -o diff.o diff.cxx
diff.cxx:6:10: fatal error: lua.h: No such file or directory
    6 | #include "lua.h"
      |          ^~~~~~~
compilation terminated.
make: *** [Makefile:27: diff.o] Error 1

So I installed package lua-devel which picked out lua53-devel (out of the 51-54 range available in pkg repo) but no dice...

In Textadept's src/ directory, run make deps to download and unpack Lua. Make sure the file_diff directory is in Textadept's modules/ directory, then try again. You need to build against Lua 5.4, which is what Textadept is currently using.

Yay, solves the build issues and lets me require without errors, muchos gracias!


Allow for local images to be embedded in report

The current functionality assumes that when a user adds an image via the addContext method, the image added is always accessed via url (non local path). The changes allow the user to add a path to an image contained on the local file system to be embedded into the report.

Squashing dev related commits into one. Resubmitting PR


Check string connection parameters

See https://github.com/sqlitecloud/sqlitecloud-js/issues/68#issuecomment-2055450382

[ ] timeout: (integer >= 0) client connection timeout parameter (in seconds)
client socket option
[ ] compression: (1 or 0) set if client supports LZ4 compression
SET CLIENT KEY COMPRESSION TO 1;
[ ] zerotext: (1 or 0) flag to tell the server to zero-terminate strings
SET CLIENT KEY ZEROTEXT TO 1;
[ ] memory: (1 or 0) flag to force the database to be in-memory
database name is set to :memory:
[ ] create: (1 or 0) flag to force the creation of the database (if it does not exist)
database name is used in CREATE DATABASE dbname IF NOT EXISTS
[ ] insecure: (1 or 0) flag to disable TLS
client socket option
[ ] non_linearizable/nonlinearizable: (1 or 0) flag to request for immediate responses from the server node without waiting for linerizability guarantees
SET CLIENT KEY NONLINEARIZABLE TO 1;
[ ] no_verify_certificate: (1 or 0) flag to accept invalid TLS certificates
client socket option
[ ] root_certificate: (string) full path to TLS root certificate
client socket option
[ ] client_certificate: (string) full path to TLS client certificate
client socket
[ ] client_certificate_key: (string) full path to TLS client certificate key
client socket
[ ] noblob: (1 or 0) flag to tell the server to not send BLOB columns in rowsets
SET CLIENT KEY NOBLOB TO 1;
[ ] maxdata: (integer >= 0) value to tell the server to not send columns with more than max_data bytes
SET CLIENT KEY MAXDATA TO 1;
[ ] maxrows: (integer >= 0) value to control rowset chunks based on the number of rows
SET CLIENT KEY MAXROWS TO 1;
[ ] maxrowset: (integer >= 0) value to control the maximum allowed size for a rowset
SET CLIENT KEY MAXROWSET TO 1;
[ ] apikey: (string) apikey value used for authentication (instead of username/password)
AUTH APIKEY value;

With @andinux we considered no more useful the parameters for clients certificates


Static site

Static site generator is done. Your urbit is now a jekyll.

@ixv make sure to request a reviewer for this. Maybe @galenwp since he requested the original feature?

Done, @vvisigoth
Also, here is a short user guide as requested by Galen:
https://gist.github.com/ixv/12b15c4cf5c87b0db74b112ccd26569c

I trust Anthony


Segmentation fault in PCL

I am trying to run elevation mapping  on an Ubuntu 14 system with ROS Indigo, using the system packages for libpcl (1.7.2) and boost (1.54) and I keep getting a segmentation fault. The segmentation fault happens inside PCL, is caused by using incompatible C++ versions and is quite common (see here, here or here). It can be usually resolved by compiling PCL with C++11 or by compiling elevation mapping without C++11.
Is there a branch that doesn't require C++11? What pcl/boost versions do you use on ROS systems with elevation mapping to avoid such conflicts?

I have just noticed that this was already discussed here. However, I have already resolved this by compiling PCL.


support array type

support array of { find, replacement } pairs.
https://vitejs.dev/config/shared-options.html#resolve-alias

fixed in 6fb8ff127e292641a0a68f0cc8be17ef9ae20309


GH-491 Improve graph node left/right column rendering

Fixes #491

Applied to main (=2.1) and branch 2.0.


EKF position resets

Did three flights today with master ecl 65de4962b5fd45bbdce9d7ef84ef486c406d8e2d
flight1
flight2
flight3
In the first flight the estimator diverges completely and several position resets occur.
In the second flight the airspeed fusion was turned off for half the flight then activated, but airspeed was rejected for a large portion of the flight.
Third flight looks better but still very bad airspeed innovations.
I suppose the problems come from a bad airspeed calibration or sensor, but I am surprised how much it couples into the rest of the estimator if that is the case

The airspeed accuracy was very poor and airspeed reads zero for significant parts of the flight:

Bad airspeed measurements can affect the states in the same way that bad GPS velocity measurements can. In this instance you have a sensor that is regularly telling the vehicle it is stationary relative to the wind and a wind process model that only allows for speed variation at a specified rate.
Adjustments to tuning would yield reduced sensitivity of the velocity and position estimates to a similar error, but that would come at the cost of a degraded wind estimate with good airspeed sensing. Another approach is to set the Kalman gains for the non windspeed states to zero if some other form of aiding (eg GPS) is still available. I will work on a patch to do this.

See https://github.com/PX4/ecl/pull/206


Switch traces exporter from Jaeger to OC

SignalFX APM backend heavily rely on span.kind attribute. If OC golang instrumentation used with Jaeger exporter, the span kind is converted to a part of Operation name and not passed as an attribute https://github.com/census-ecosystem/opencensus-go-exporter-jaeger/blob/e8b55949d948652e47aae4378212f933ecee856b/jaeger.go#L259-L268 .
This commit switches trace exporter from Jaeger to OC in go and java service to make sure span.kind is always correctly propagated.

@dmitryax is this a problem that we need to solve anyway if the customer uses Jaeger exporter in their app? Should our Jaeger receiver somehow be ready for this? (I did not look into the actual problem, just speculating).

@tigrannajaryan it is an issue for customers as well if they use opencensus instrumentation with jaeger exporter. Not sure about opentracing instrumentation, I need check that one

OpenTracing/Jaeger instrumentation for go doesn't respect kind.status attribute and doesn't do any translations. So probably no changes needed on ot-collector to support just that OC -> jaeger exporter use case.


[Doc Improvement][Update code type to Typescript][3879755]

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/Teams conversational AI/how-conversation-ai-get-started.md
90
70
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.


minor bug fixing

corrected typo / class name on installation page environment/evironment
added anchors to "Why DuckDB" page
fixed unordered lists
fixed font-sizes of code in headline

Thanks!


Add encryption to browser-side wallet

End users should be able to encrypt their wallets with a passphrase.

Done in #483


Bump font-types and read-fonts because NameId touched them

Currently I cannot release write-fonts 0.1.5.
Just merge. And feel free to release font-types, read-fonts, and write-fonts too.

This is blocking me - can't seem to get fontmake-rs out of a compile error on NameId - so I'm merging to see if I can unblock myself.


Sorting department not working

Sorting job openings using department is not working in student dashboard

@gowtham-sathyan This is due to a data issue. This 1 job does not have any department.
Please remove this job, from db or add department.

Entering the department is optional on the register page. So, either that has to be made a required field or the sorting has to be handled for null values as well.

Let's make the field mandatory. Should be an easy fix. Existing database values can be updated manually.

Made department mandatory. Should be fixed now


Creating propertie in a big class

Hi Guys,
We are trying to create a new property in a class with 113M registers.
It has been taking 6 hour and didn't finish.
Lookin to the log seems that it's verifying each register:
"
2015-11-05 17:28:53:164 FINE  {db=ilang} Read record #47:34252198 v.4 size=131 bytes [OLocalPaginatedStorage]
2015-11-05 17:28:53:164 FINE  {db=ilang} Read record #47:34252199 v.4 size=131 bytes [OLocalPaginatedStorage]
2015-11-05 17:28:53:164 FINE  {db=ilang} Read record #47:34252200 v.4 size=131 bytes [OLocalPaginatedStorage]"
Is there anyway to do it ignoring existing registers?
Thanks,
Thiago

There is any problem if we use unsafe?

@thiagopm create property converts any schema-less property with that name in schema-full. That's why takes so much time (in v2.2 we improved this kind of operations and they take much less). If you know that the property you're willing to create doesn't exist in your documents, then UNSAFE is ok to use.

Out of curiosity, if we had started with a schema-full schema and added a property with a database that has millions of records, would there still be this a noticeable delay in adding the property?
And asked from a different perspective, if we control schema on the application side, like is usual to do for any document store, would the addition of new properties be a lot simpler and faster for ODB?
Scott

Ok... Thanks Luca.

@lvca - How about my questions?
Scott


[WIP][SPARK-30983] Support typed select in Datasets up to the max tuple size

What changes were proposed in this pull request?
This PR simply adds typed select methods to Dataset up to the max Tuple size of 22.
This has been bugging me for years, so I finally decided to get off my backside and do something about it :-).
As noted in the JIRA issue, technically, this is a breaking change - indeed, I had to remove an old test that specifically tested that Spark didn't support typed select for tuples larger than 5.  However, it would take someone explicitly relying on select returning a DataFrame instead of a Dataset when using select on large tuples of typed columns (though I guess that test I had to remove exhibits one case where this may happen).
I've set the PR as WIP because I've been unable to run all tests so far - not due to the fix, but rather due to not having things set up correctly on my computer.  Still working on that.
Why are the changes needed?
Arbitrarily supporting only up to 5-tuples is weird and unpredictable.
Does this PR introduce any user-facing change?
Yes, select on tuples of all typed columns larger than 5 will now return a Dataset instead of a DataFrame
How was this patch tested?
I've run all sql tests, and they all pass (though testing itself still fails on my machine, I think with a path-too-long error
I've added a test to make sure the typed select works on all sizes - mostly this is a compile issue, not a run-time issue, but I checked values too, just to double-check that I didn't miss anything (which is a big potential problem with long tuples and copy-paste errors)

I haven't done anything on the branch because I was waiting for comments - but as far as I know, no one even looked at it.  Am I missing something for it to get considered in the first place?

also, I don't see a button to re-open it - does anyone know where that is?


fuzzy match support

CocAction('getWorkspaceSymbols', prompt) seems to only return substr matches. This makes fuzzy match impossible in telescope. Is it possible (or a good idea) to simply get all workspace symbols and sort fuzzily from there?

:Telescope coc workspace_symbols supports fuzzy search.

Let me clarify a bit. Suppose I have a class named 'SomeFeatureClass' in my project. In order to search for this class, I have to type the exact substring, like 'SomeFeature' or 'FeatureClass'. I can't use a subsequence combination like 'SomFeaCla'. I have experimented a bit and it's because every keystroke invokes CocAction('getWorkspaceSymbols'), which only returns substring matches. This behaviour doen't look very fuzzy to me.

I can understand your question, but this's limited by language server.
telescope-coc.nvim uses coc.nvim's getWorkspaceSymbols feature to do this, and coc.nvim uses language server's workspace/symbol to do this. In my tests, sometime the fuzzy match is supported, sometime it's not.

Thanks for replying.
I still have a question though. Is it possible (or a good idea) to simply get all workspace symbols and sort fuzzily from there?


WIP - Enable creation of BREAD for views

Creation of BREAD works just fine for views but they were not listed.
Now listTableNames also includes views.
Before merging would be needed to add translation keys for all languages and maybe adjust the info label in listings.
TODO

[ ] Add field for all translations
[ ] Add documentation

Closes #1926

Historically, I haven't wanted to add views to the UI because novice users will find a way to break it (which is actually quite easy) and then complain that Voyager is broken.
This issue with views is that they're like a virtual table backed by a query against actual tables.  This is fine as long as it's a simply subset of a single table(i.e. all rows meeting some condition).  But as soon as you do anything more creative, such as joins, grouping, etc, you suddenly make that view read-only, which naturally breaks 99% of Voyager's functionality.

I understand your concern, there is going to be an icon warning, the sentence needs to crafted.
We can also add a warning while creating BREAD and write in documentation that using views has limitations that needs to be understood.
So I guess the decision will be between enabling Voyager full potential for expert users or play it safe for non expert users.
I would go with the first one, let me know when you decide so I know if I should work on what's left or let it be.

P.S.
Another thing that will be possible with views is server side search on relationship fields.
A view can have both user_id and user_name (the latter taken from users table), user_name can be disabled on add/edit and will be available for search on browse.

imho that would be a great feature as long as warnings and good documentation is provided, as @MrCrayon said.
After all,  a user that has some "advanced" views is more likely to know that that view is read-only.
just my 2 cents

Closing as this will be implemented in Voyager 2

Closing as this will be implemented in Voyager 2


fix shutter animation

Prerequisites checklist

[x] I have read the contributing guidelines.

What is the purpose of this pull request? (put an "x" next to an item)

[ ] Documentation update
[x] Bug fix
[ ] New feature
[ ] Other, please explain:

What changes did you make? (Give an overview)
Cheese image depends on activated shutter animation.
On Photobooth v4.0.0 the shutter animation was started if an image was defined independent of the shutter animation. api.shutter.stop is only executed inside api.callTakePicApi if shutter Animation is enabled.
There might be cases where api.shutter.start was executed twice, make sure it's only called once.
Start api.shutter.start where needed depending on our settings.
Is there anything you'd like reviewers to focus on?

Ah see... I didn't expect this to be set when the animation was not enabled. But yeah... It can happen especially if so plays around with the config. 👍

@up-87 I've also not expected it.
Should be fine this way, but haven't tested yet.
Will try to test this weekend, if you can test before and confirm everything works you can merge already.


Event request in 1099 statistic page

Hi
during my app development, I Need a event trigger on "Vendor 1099 Statistics" page.  here is the screen shots whrere I need

I need to apply more filters here for my app.
Thanks
Sahil Gupta

Hi! Welcome to the AL repository! Please take a minute to familiarize yourself with the purpose of this repository https://github.com/microsoft/AL/blob/master/README.MD and with the FAQ https://github.com/microsoft/AL/wiki/Frequently-Asked-Questions .
We believe that the issue you have opened is outside the scope of this repository. Please open it in the correct repository.


fix function pass in addEventListener

fix function pass in addEventListener, so it is possible to pass extra parameters while event trigger in d3 events.
I don't know whether it is the best solution. But this help me to achieve passing events and parameters in d3 DOM.
For example:
https://github.com/react-d3/react-d3-tooltip/blob/feature/react-faux-dom/src/utils/voronoi.jsx#L73-L92
 voronoiPath.each(function(p) {
      var evtObj = {
        data: p,
        xScaleSet: xScaleSet,
        yScaleSet: yScaleSet,
        focus: focus,
        stack: stack
      }

      this.addEventListener('mouseover', (e, d) => {
        return focus?
          onMouseOver(e, d.data, d.xScaleSet, d.yScaleSet, d.focus, d.stack):
          onMouseOver(e, d.data, d.xScaleSet, d.yScaleSet)
        }, evtObj)
      this.addEventListener('mouseout', (e, d) => {
        return focus?
          onMouseOut(e, d.data, d.xScaleSet, d.yScaleSet, d.focus, d.stack):
          onMouseOut(e, d.data, d.xScaleSet, d.yScaleSet)
        }, evtObj)
    })

By the way, I'm moving my whole react-d3 (http://reactd3.org) library using react-faux-dom ! Thank you so much for building this library!
P.S.
I've see you mention about d3.mouse or d3.event
https://github.com/Olical/react-faux-dom/issues/9
In this solution many event properties can be access in SyntheticEvent object, like clientX, clientY...

Hey, @chilijung. Thanks for the PR and it's great to hear that you're making use of it, I'll do my best to continually improve this project. As far as this change goes, it actually goes against how addEventListener is supposed to work (MDN docs) so I don't think it'd be a good idea to change this.
The best way to achieve this would be something like _.partialRight which is easy enough to implement without lodash too. This allows you to pass arguments through like this in any scenario without modifying the underlying listener.
As for the d3.event and d3.mouse I'm currently working on a probably breaking change that should fix the event interaction. I'm not sure if it will be enough to fix brushing on it's own, but it's a large step in the right direction.
I'm currently working on a branch that allows you to call addEventListener multiple times for the same event (this just replaces the previous event right now) so it behaves like the real thing, not React. I'm also going to pass the real DOM event through to the listener, not the synthetic event. You will still be able to access the synthetic event, but this is required to get most of D3 event based systems working.
Are you happy for me to close this in favour of wrapping your listener / partially applying it so we can keep to the normal DOM API?
Thanks a lot!

ok sounds great! Looking forward to it!
And thanks!

_.partialRight which is easy enough to implement without lodash too. This allows you to pass arguments through like this in any scenario without modifying the underlying listener.

hmm, @Olical sorry for keep bothering you, could you provide some sample you are saying how you implement using _.partialRight, maybe I can help, and send a PR later. (because I really wish it could be done) Thanks!

And one more question, transition seems not working properly
line.datum(dataset.data)
      .style("stroke", dataset.color)
    .transition()
      .duration(duration)
      .ease("linear")
      .attr("class", `${lineClassName} line`)
      .attr("d", this._setAxes())

Can this be fixed?


Abbreviation CWA confuses

Technical details

iPhone
iOS 14.4.2
App version: 2.03

Describe the bug
The "what's new" section starts off by referring to the "CWA". The response of a friend who'd reinstalled the app as a consequence of my pressure asked "what the * is a CWA?"
Steps to reproduce the issue

Expected behaviour
Assume users are non-experts since the app only needs to run in the background in most cases.
Possible Fix
Suggestion:
The CWA now enables...
-->
This App now enables...
Additional context
Difficult to check if this is a duplicate as searching for CWA on GitHub produces loads of false positives.  Incidentally, searching my iPhone for CWA did not discover this App.

Internal Tracking ID: EXPOSUREAPP-6643

@dsarkar
I assume yes. This particular case can't be fixed unless there's a hot fix/patch version of CWA version 2 released. But it can be avoided in the next versions.


fix: about content height, README up

Current dependencies on/for this PR:

main

PR #19   👈

This stack of pull requests is managed by Graphite.


Unit and integration tests

Is it possible to unit test and/or integration test the behavior of the table-valued functions we define in the DbContext?
I follow a repository pattern and so created interfaces of my dbcontext and repository. In my unit test project I mocked the interfaces and tried to develop a hello world test for one of my table valued functions. Below is a snippet form my DbContext, where Mia1A_SummaryBar is the name of a table-valued function in my SQL Server database.
        public virtual DbSet<Mia1ASummaryBar> Mia1ASummaryBars { get; set; }

        [DbFunction("MiaFy19Context", "Mia1A_SummaryBar")]
        public virtual IQueryable<Mia1ASummaryBar> Mia1A_SummaryBar()
        {
            return ((IObjectContextAdapter)this).ObjectContext
                .CreateQuery<Mia1ASummaryBar>("MiaFy19Context.[Mia1A_SummaryBar]()");
        }

When I unit tested the IQueryable function, I got null when I know I should have gotten one result.
Do you have any samples of unit and/or integration tests we could use as a guide to create our own tests? I'm on the unit testing learning curve, so please forgive me if I'm asking an obvious question.  Thank you?

After trying different coding possibilities, I found one that appears to stick.
I'm pasting a brief summary of my approach in case it is useful for anyone with a similar question.
using System.Linq;
using FluentAssertions;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;

//namespace [redacted]
{
    [TestClass]
    public class MiaFy19RepositoryitTest
    {
        private static Mock<IMiaFy19Context> _mockContext;
        private IMiaFy19Repository _mockRepository;

        private IQueryable<Mia1ASummaryBar> _mia1SummaryBarData;

        /// <summary>
        /// 1. populate _mia1SummaryBarData via a static function with test data
        /// 2. mock the interface of your dbcontext
        /// 3. configure the dbcontext to output your #1
        /// 4. mock the interface of your repository
        /// </summary>
        [TestInitialize]
        public void TestInitialize()
        {
            _mia1SummaryBarData = RepositoryTestData.PopulateMia1ASummaryBar();
            _mockContext = new Mock<IMiaFy19Context>();
            _mockContext.Setup(m => m.Mia1A_SummaryBar()).Returns(_mia1SummaryBarData);
            _mockRepository=new MiaFy19Repository(_mockContext.Object);
        }

        [TestMethod]
        public void GetMia1ASummaryBar_GivenCampus_ReturnsSingleRecord ()
        {
            const string campus = "CRA";
            var list = _mockRepository.GetMia1ASummaryBar(campus);
            list.Should().HaveCount(1);
        }
    }
}

I am glad you found an answer to your question. Unfortunately writing unit tests for code that uses DbContext (and friends) is quite challenging and often it is just easier to mock at a higher level and write end-to-end tests to test functionality that extends EF.


python310Packages.aioaladdinconnect: 0.1.52 -> 0.1.53

Changelog: https://github.com/mkmer/AIOAladdinConnect/releases/tag/0.1.53
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 211460 run on x86_64-linux 1

3 packages built:

home-assistant-component-tests.aladdin_connect
python310Packages.aioaladdinconnect
python311Packages.aioaladdinconnect


Bring KBS Resource URI into Image-rs

This PR mainly aims to bring KBS Resource URI scheme into image-rs. Concrete contents of this PR includes

Let the following files be configurable by a uri in ImageClient.config.file_paths before doing pulling. Related codes were refactored

sigstore_config:  Signature storage configuration file for simple signing, which describes where an image's signature is stored
policy_path: image security policy JSON file, s.t. policy.json
auth_file: credential file to access a private image registry, s.t. auth.json

Refactored and extended secure_channel module into resource module which gives an public api get_resource(uri). Here uri supports two schemes for now and can be extended appropriately

kbs://...: retrieve the resource from KBS.
file://...: read the resource from local file system. By default if no scheme is given, try to read using file://

Changed the trait for signature scheme. Deleted the method resource_manifest. For now, when a resource is needed, function crate::resource::get_resource(uri) can be called to get lazily. The code logic was simplified.
Some promotes for simple signing scheme. Refactoring some logic.
Fixed related unit tests to fit in with KBS URI scheme
Fixed integration tests to fit in with KBS URI scheme. Introduced a new test image for image decryption docker.io/xynnn007/busybox:encrypted-uri-key which is made using cc-kbc's key provider as it shares the same format of AnnotationPacket and KBS URI.

warning please do not merge this pr before https://github.com/confidential-containers/attestation-agent/pull/129 is approved and merged. Because this pr includes personal repo of AA for integration test.

Close https://github.com/confidential-containers/image-rs/issues/116

enclave-cc test error is due to different attestation-agent version in ocicrypt-rs and image-rs. When https://github.com/confidential-containers/attestation-agent/pull/129 is merged, AA's rev should be updated in ocicrypt-rs and then in this PR.

Hi @stevenhorsman @arronwy
This PR introduces three more parameters in ImageClient to specify the uri of auth file, image security policy file and sigstore configuration for simplesigning (if simple signing will be used)
I think these parameters should be input from kata-agent as who is the caller of image-rs.
Still, some questions comes. For test we can fix these fields like kbs://example.com/... for now.
Potentially, we need to think about how we provide these uris to kata-agent as they should be specified by the tenant. A naive thinking is still from commandline, which require us to update kata-agent's related code and AS can verify whether the policy.json's uri is as expected

Hi @stevenhorsman @arronwy
This PR introduces three more parameters in ImageClient to specify the uri of auth file, image security policy file and sigstore configuration for simplesigning (if simple signing is to be used)
I think these parameters should be input from kata-agent as who is the caller of image-rs.
Still, a questions comes. For test we can fix these fields like kbs://example.com/... for now.
Potentially, we need to think about how we provide these uris to kata-agent as they should be specified if default value for test is not used. A naive thinking is still from commandline, which requires us to update kata-agent's related code and AS can verify whether the policy.json's uri is as expected

Thanks @Xynnn007 , to support the flexiblity for different senarios  and easy to use for end user, we can expose these interfaces with default value which can backword compatibale previous release, and let the end user to config them if needed.

@arronwy  Yes, now the three parameters are set to

kbs:///default/credential/test
kbs:///default/sigstore-config/test
kbs:///default/security-policy/test

These are defined in attestation-agent https://github.com/confidential-containers/attestation-agent/blob/main/src/kbc_modules/mod.rs#L152


PHP Fatal error:  Uncaught Illuminate\Contracts\Container\BindingResolutionException: Target [Illuminate\Contracts\Debug\ExceptionHandler] is not instantiable. in /app/vendor/laravel/framework/src/Illuminate/Container/Container.php:958

Laravel Version: 5.8.21
PHP Version: 7.3.4
Database Driver & Version: mysql 8.0.16
PHPUnit: 8.2.1

likely a duplicate of: https://github.com/laravel/framework/issues/26874, but it was close 6 months ago. but there have been a few comments in the last month or so. perhaps others, like me are getting an issue still.
Description:
i'm getting this error (after adding https://github.com/sebastiaanluca/laravel-auto-morph-map via composer). when i run phpunit i get a few fatal errors. not sure how/why the package would have messed it up. so any help would be great!
PHP Fatal error:  Cannot declare class App\Middleware\FixedStartSession, because the name is already in use in /app/app/Http/Middleware/FixedStartSession.php on line 21

PHP Fatal error:  Uncaught Illuminate\Contracts\Container\BindingResolutionException: Target [Illuminate\Contracts\Debug\ExceptionHandler] is not instantiable. in /app/vendor/laravel/framework/src/Illuminate/Container/Container.php:958

Fatal error: Cannot declare class App\Middleware\FixedStartSession, because the name is already in use in /app/app/Http/Middleware/FixedStartSession.php on line 21

Fatal error: Uncaught Illuminate\Contracts\Container\BindingResolutionException: Target [Illuminate\Contracts\Debug\ExceptionHandler] is not instantiable. in /app/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 958

Illuminate\Contracts\Container\BindingResolutionException: Target [Illuminate\Contracts\Debug\ExceptionHandler] is not instantiable. in /app/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 958

Have you tried composer dump-autoload?

Have you tried composer dump-autoload?

yes. i read that from some other thread/issue whilst in this google rabbit hole. it still doesn't work.

Have you tried removing the package?
Unfortunately this GitHub area is not a support area for general application issues. This is only for issues/bugs with the framework code itself.
I will be closing your ticket here. Instead please try asking your question on one of the many great community support areas that will likely give you a better answer more quickly:

Laravel Slack (https://larachat.co/)
Laravel.io Forum (https://laravel.io/forum)
Laracasts Forum (https://laracasts.com/discuss)
StackOverflow (http://stackoverflow.com/questions/tagged/laravel)

If you feel I've closed this issue in error, please provide more information about how this is a framework issue, and I'll reopen the ticket.
Thanks in advance.

duplicate: https://github.com/laravel/framework/issues/10808

For me it turned out to be access rights. This might be an issue for vm/container environments.

@aysegeertsma - can you elaborate on the vm/container environments comment? We are experiencing something similar and aren't sure how to fix it.

Laravel version : 6.18.1
PHPUnit version : 8.5.2

I've figured out the solution for this problem. It's been solved by setting processIsolation value false in phpunit.xml file.

Adding processIsolation="true" in phpunit.xml fixed the issue for me. I then noticed a .phpunit.result.cache owned by root in my project directory. After removing this file the issue is also gone, even when removing processIsolation.

Try to delete vendor folder and run "composer install" again. should be fixed

For me, it was simply caused by a mismatch between the name of a PHP file and the name of its class. Fixing it then doing a "composer dump-autoload" fixed the problem.

For me it was the .env file missing which gave me these kind of errors.

@carcinocron Only if you can recreate a reproducible result of the bug to where it's clear for the maintainers to investigate. 😉

in my case I used phpunit/phpunit 10.5.27 and changing #[CoversMethod(..)] attribute to #[CoversClass(...)] has solved the issue. I didn't find syntax issues in my CoversMethod usage.

This just started happening to me today, but only happens when I run with paratest ``--parallelcommand. If I just runphp artisan test` everything completely successfully.
I will note, when I run with --parallel all the tests complete successfully, but I get this error at the end, not bound to any specific test.

To add, in my situation I updated to phpunit 10.5.33 and the issue is now resolved.

I have a Laravel 10 project that recently started giving the Uncaught error in Container after parallel tests. I tried setting to 10.5 in the composer.json but am still seeing lower versions in the composer.lock file probably because of some dependencies. I can confirm that without using --parallel the tests run fine. This seems like a minor annoyance but still something that it would be nice to get fixed.
PHP Fatal error:  Uncaught Illuminate\Contracts\Container\BindingResolutionException: Target [Illuminate\Contracts\Debug\ExceptionHandler] is not instantiable. in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php:1126
Stack trace:
#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(921): Illuminate\Container\Container->notInstantiable()
#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(795): Illuminate\Container\Container->build()
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(961): Illuminate\Container\Container->resolve()
#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(731): Illuminate\Foundation\Application->resolve()
#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(946): Illuminate\Container\Container->make()
#5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(288): Illuminate\Foundation\Application->make()
#6 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(207): Illuminate\Foundation\Bootstrap\HandleExceptions->getExceptionHandler()
#7 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(189): Illuminate\Foundation\Bootstrap\HandleExceptions->renderForConsole()
#8 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(231): Illuminate\Foundation\Bootstrap\HandleExceptions->handleException()
#9 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(255): Illuminate\Foundation\Bootstrap\HandleExceptions->handleShutdown()
#10 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->Illuminate\Foundation\Bootstrap{closure}()
#11 {main}
thrown in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 1126

I had an old phpunit.xml file since this project has been around for a while. I went ahead and updated the phpunit.xml to merge in things like processIsolation from https://github.com/laravel/framework/blob/10.x/phpunit.xml.dist, re-ran composer dump-autoload and re-ran the test and am still seeing the issue.

I got the same error after switching to PHP 8.3. For me, the problem was gone after doing a composer update 🤷

For me, running the composer update resolved the issue on localhost; however, the error continues to occur in the GitLab CI/CD.
Laravel 10 e PHP 8.1 or PHP 8.3

This solved it in my case: #890.


Porting CC 47 Pixel Sorting in Processing

Things that have been done:

checked and cleaned up links and tags
added timestamps
updated the thumbnail according to the requirements. I don't know if this is okay. Feel free to change it as you see fit.
added screenshot of the showcase
Related challenges section needs to be updated since Quick Sort Visualization hasn't been ported yet.

Thank you!!  I have a couple of updates, otherwise this looks great!
I would use the image of sunflowers for the code image.  I can update that if you would prefer.
The link to the Processing code should be updated  because the prior repo is now archived.  Here is the new link.
https://github.com/CodingTrain/Coding-Challenges/tree/main/047_PixelSorting/Processing

@kfahn22  Thank you for the corrections! I have changed the index.jpg and the Processing code link. Please check if everything's fine now

Thank you, this looks great!  I apologize, I loved your original index image!   I was only suggested that you  add a code example image since the png file in the code sketch is sunflowers but I didn't make that very clear.

Ah, I didn't realize. I'll make the changes, no problem

Thank you for this wonderful contribution!!
I love that you are creatively trying a new image for this and using the Coding Train background! I think that image, however, doesn't demonstrate pixel sorting so well because the source image has something of a sorted gradient sky. So I might suggest using he sunflower or else do you want to try a different Coding Train specific image?

Sorry for the extra work I have caused you!  Here is an image of Daniel and Gloria that you can  use if you want.

@kfahn22 I don't mind that at all! How can anyone keep anything but this after looking at this image TT. Thank you! I'll be using this then, @shiffman


Documentation on ingress

I saw some reference to ingress in the introductory blog (https://rancher.com/blog/2019/2019-02-26-introducing-k3s-the-lightweight-kubernetes-distribution-built-for-the-edge/), but nothing in the README. Maybe there's another source of documentation that I somehow missed (README is good though).
I can create a LoadBalancer service in my k3s cluster, but it never gets an external IP. I don't know if that's a bug or something I did wrong.
The answer is probably DNS or something. But all I did to get the cluster working was docker-compose up, which is awesome, so it's a shame if there are hidden hoops to jump through to make ingress work.

Possibly relevant?
$ kubectl get all --namespace=kube-system
...
NAME                      READY     UP-TO-DATE   AVAILABLE   AGE
deployment.apps/coredns   0/1       1            0           118m
deployment.apps/traefik   0/1       1            0           113m

Update: I got it working after I found this in the README https://github.com/rancher/k3s#service-load-balancer. It wasn't clear, however that port 80 was actually already in use (by traefik itself?). So even if I wasn't explicitly using it myself it was always doomed to fail in a service spec.
I guess I was using the wrong search term. Could there maybe be an example LoadBalancer YAML there or something? Here's an example that worked for me
kind: Service
apiVersion: v1
metadata:
  name: doubler
  labels:
    app: doubler
spec:
  type: LoadBalancer
  ports:
  - name: http
    port: 32323
    targetPort: 8080
  selector:
    app: doubler

where "doubler" is the name of the deployment I want to service requests for.

Normally you would use an Ingress for http traffic to be able to expose multiple services trough a single IP. In this case the ingress controller would be the single entrypoint to kubernetes and that is why traefik is using port 80.
If you have multiple nodes in the cluster you would still be able to create a loadbalancer service since it could use the IP of some other node. Another option is to use an alternative loadbalancer implementation such as MetalLB.

Why is Traefik using port 80 though? What does it do with it? I feel like I’m missing something (and the docs are really thin here).

Sorry for not explaining better the first time.
Traefik is the (default) ingress controller for k3s. In order to do its job it needs to scan for Ingress objects in the cluster. Once it finds one, it makes mapping from the specified hostname/path in the Ingress to the backend Service and makes sure that any incoming request going to that hostname/path ends up at the proper place.
Now Ingresses are made for HTTP and HTTPS traffic which means ports 80 and 443 respectively.
This is why traefik exposes itself on port 80 (and 443) with a Service of type LoadBalancer. It expects to make some services available on those ports. Before any services are created though, it would serve the  deafult backend for any incoming requests (basically a 404 page). This backend is used as a fall through if the hostname/path doesn't match anything else.
Let's look at an example to make it a bit more concrete:
We have two services kubernetes: service-a and service-b. Now we want to expose them to the internet as service-a.example.com and service-b.example.com. You could change the type of the services to LoadBalancer and edit your DNS settings to match, but this is a waste of IP addresses, not to mention cumbersome of you have plenty of services. So we will use Ingresses instead.
With two ingresses mapping service-a.example.com -> service-a and service-b.example.com -> service-b we can reuse the same IP for both services. Leave the services as type ClusterIP. The IP address in this case would be the IP of traefik since it will do the routing. We can also use a wildcard DNS entry to resolve *.example.com to that IP and be done with it. You can now add as many services as you like without touching the DNS settings.
A request going to service-a.example.com would be sent to traefik (since this is how the DNS would be configured). Traefik would look at it and see that the hostname matches a rule provided by an Ingress in kubernetes and this rule would tell it to send the request on to service-a.
This not the only feature of Ingresses. They are also helpful for encrypting traffic with TLS and managing various settings in a unified way instead of separately for each service.
To make things confusing, not all ingress controllers work in the same way. For example, if you use GKE, you will notice that each Ingress gets its own IP. But let's keep this to k3s shall we :smile:
I hope this clears things up :smile:

Thanks, that's almost got me to the point of actually understanding something - and it would be really useful to add more to the k3s docs. I thought if I just curl <traefik-external-ip> I should get a 404 (doesn't work yet)? I'm also still missing how the service-a.example.com -> service-a mapping gets done. RTFM on Traefik? Maybe a tiny little YAML example in the README would help?

Ah, sorry, I keep assuming familiarity with kubernetes. I'm not sure how much of the kubernetes documentation should be included in this repo but I'll leave that decision for someone else.
Anyway, the beauty of Ingresses is that you don't need to know much about the controller as long as it is there and functioning. It doesn't matter if you use nginx, traefik or haproxy, you just specify the configuration as an Ingress object in kubernetes.
For the example with service-a and service-b it would look something like this:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: name-virtual-host-ingress
spec:
  rules:
  - host: service-a.example.com
    http:
      paths:
      - backend:
          serviceName: service-a
          servicePort: 80
  - host: service-b.example.com
    http:
      paths:
      - backend:
          serviceName: service-a
          servicePort: 80

The above was shamelessly stolen and adapted from here.

I had something like that, except I stole it from the traefik docs. Still not working (not even a 404, just "Connection refused"). So I'm missing something, or my cluster is subtly hosed. The traefik and coredns deployments are still showing "Ready: 0/1", but I don't see any hints in the kubectl describe, so I don't know if that is broken or not. It has always been that way.

I'm having inconsistent results - I have a similar YAML ingress spec that works in one cluster but not in another, so anything like an end-to-end example would be great to suss out any kinks.

ok, so this sort of works:
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: node-red
  labels:
    app: node-red
spec:
  replicas: 1
  selector:
    matchLabels:
      app: node-red
  template:
    metadata:
      labels:
        app: node-red
    spec:
      containers:
      - name: node-red
        image: insightful/node-red:slim # my WIP custom build of Node-RED
        imagePullPolicy: Always
        env:
        - name: PUID
          value: "1000"
        - name: PGID
          value: "1000"
        - name: ADMIN_AUTH
          value: "admin:REDACTED"
        ports:
        - containerPort: 1880
        volumeMounts:
        - mountPath: /data
          name: data-volume
      volumes:
      - name: data-volume
        hostPath:
          path: /srv/state/node-red # /srv is a shared mount
          type: Directory
---
apiVersion: v1
kind: Service
metadata:
  name: node-red
spec:
  selector:
    app: node-red
  ports:
  - protocol: TCP
    name: web
    port: 80
    targetPort: 1880
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: node-red-ingress
spec:
  rules:
  - host: hostname.foobar
    http:
      paths:
      - backend:
          serviceName: node-red
          servicePort: 80

There is a fair amount of weirdness, though:

Port 443 is open too, with a self-signed certificate
I can't for the life of me figure out how to get ACME to work (even with the examples on the traefik docs)
The traefik dashboard port also seems to be open but 404s

Anyone got a better config?

Circling back on this since I've finally gotten it to work on 1.0.0 on my Raspberry Pi cluster (arm32) and it will certainly be useful to people:
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: node-red
  labels:
    app: node-red
spec:
  replicas: 1
  selector:
    matchLabels:
      app: node-red
  template:
    metadata:
      labels:
        app: node-red
    spec:
      tolerations:
      - key: "node-role.kubernetes.io/master"
        operator: "Equal"
        value: "true"
        effect: "NoSchedule"
      containers:
      - name: node-red
        image: insightful/node-red:slim
        imagePullPolicy: Always
        env:
        - name: PUID
          value: "1000"
        - name: PGID
          value: "1000"
        ports:
        - containerPort: 1880
        volumeMounts:
        - mountPath: /data
          name: data-volume
      volumes:
      - name: data-volume
        hostPath:
          path: /srv/state/node-red
          type: Directory
---
apiVersion: v1
kind: Service
metadata:
  name: node-red
spec:
  selector:
    app: node-red
  ports:
  - protocol: TCP
    port: 80
    targetPort: 1880
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: master.lan
  annotations:
    kubernetes.io/ingress.class: traefik
spec:
  rules:
  - host: master.lan
    http:
      paths:
      - path: /
        backend:
          serviceName: node-red
          servicePort: 80

@lentzi90 thanks so much for the brilliant explanation, but a single IP for an ingress is a Single Point of failure (SPOF). And I think the combination of Ingress and MetalLB is the right way to avoid the SOPF, right?

Thanks for the doc. The doc should mention the ingress.

@arashkaffamanesh thanks! MetalLB can indeed be used together with the ingress controller to get fail over functionality. The single point of failure problem is not necessarily solved though, since you probably just push it to the router instead.
Anyway, if you want to use MetaLB with the ingress controller, you will need to

install and configure MetalLB (you will need at least one IP that MetalLB can "grab")
configure the ingress controller to be exposed through a Service of type LoadBalancer (default in k3s is to expose it on host ports directly)

With that, the ingress controller will get an "external" IP from MetalLB. The Ingress would would work as normal, but if one node is having problems MetalLB can make sure traffic is not going there.

@lentzi90 thanks so much!
This great discussion encouraged me to write 2 posts about it and I hope one could find it useful:
https://blog.kubernauts.io/k3s-with-metallb-on-multipass-vms-ac2b37298589
https://blog.kubernauts.io/k3s-with-k3d-and-metallb-on-mac-923a3255c36e
I think in the meanwhile MetalLB with a BGP router might be the right solution to address the SPOF issue.

I securely access my cluster from outside my home network using

Google Domain using DDNS
ASUS Router RT-AC3100 with DDNS client enabled
Raspberry Pi 3 running Nginx using Lets Encrypt certificate
Router TRENDnet 4-Port Broadband Router $20

All of the information to do this is on the internet but brief summary:

DDNS between my Google domain and the ASUS router client ensures that the domain is aware of my routers WAN IP address.
ASUS router LAN address range <IP_ADDRESS>/24.
TRENDnet WAN connected to ASUS LAN port and TRENDnet configured with static WAN IP address.
TRENDnet LAN address range <IP_ADDRESS>/24.
ASUS router DMZ and port forwarding 80 and 443 to TRENDNet static IP address.
Setup PI using latest Raspbian, static IP in <IP_ADDRESS>/24 range, connect to TRENDNet, install Nginx.
TRENDnet DMZ set to PI static IP.
Configure Nginx on PI and setup Lets encrypt.
Congure Nginx to forward HTTP to HTTPS and reverse proxy to traefix LoadBalancer service IP address port 80.
Use Ingress on K3S to route requests to your services.

My master and nodes (All Raspberry PI's) are on the TRENDNet but I have a NFS share on my WD PR4100 NAS in the <IP_ADDRESS>/24 subnet.  This let me setup NFS PersistantVolumes and PersistantVolumeClaims that are used by my PODS.
You will need a computer on the TRENDNet LAN for kubectl but this setup is secure and works great for me.

@brandond thank you for this example but I figured out the out of the box k3s traefik container running is actually rancher/library-traefik:1.7.19. Would you mind sharing how you did safely upgraded to 2.2

I didn't really upgrade, I started the cluster with --disable traefik and then deployed the Traefik 2.2 helm chart.

Also according to this
https://github.com/rancher/k3s/blob/a013f7dda57180249220ea3da9dfecd9a1c0fdde/scripts/download#L21
it looks like traefik is deployed with helm chart. In case the cluster wasn't started with --disable traefik it's possible to run
helm uninstall -n kube-system traefik

and the deploy Traefik 2.2 rather than
https://github.com/rancher/k3s/blob/a013f7dda57180249220ea3da9dfecd9a1c0fdde/scripts/download#L8

I am using traefik with k3s here:
traefik              LoadBalancer   <IP_ADDRESS>     <IP_ADDRESS>    80:32757/TCP,443:31149/TCP   8d
and while setting up the Longhorn ui ingress per their instructions I ran into:
kubectl describe ingress longhorn-ingress -n longhorn-system
...
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
while curl shows a page with:

This seems to be a security issue:
https://atlas.eff.org//domains/alipayobjects.com.html

@dsyer This is expected behavior for a LoadBalancer service to not get ExternalIP unless --node-external-ip is passed while creating the cluster.  You can see it in the lines below.
https://github.com/rancher/k3s/blob/master/pkg/servicelb/controller.go#L227-L239

This is is quite old. K3s has shipped with Traefik v2 for over 2 years now and we have a section in the docs on using the Loadbalancer https://docs.k3s.io/networking#service-load-balancer. Closing as OOD.


ForwardDate property of Message thrown an exception

Unexpected token or value when parsing date. Token: Integer, Value:<PHONE_NUMBER>. Path 'result[0].message.forward_date', line 2, position 305.
When forwarding a message to bot

Also
[JsonProperty(PropertyName = "new_chat_participant", Required = Required.Default)]
public User NewChatParticipant;
"new_chat_participant" spell is wrong in your repository

Was My Bad old Version sorry
:-)


Option to suppress output

Kongfig reveals api keys in its output when it runs. It would be nice if there was an option to suppress this without having to hide the entire output.

@CyExy Running into a similar use case as I integrate kongfig into our CI environment. I think the default behavior should not output api keys as part of the normal logs.

Would this work for you? https://github.com/mybuilder/kongfig/pull/115

That actually looks like a great. :+1:

Released now


Add ECR Repository Resource

This adds support for deploying ECR Repositories using a CRD like this.
apiVersion: ecr.awsctrl.io/v1alpha1
kind: Repository
metadata:
  name: repository-sample
spec:
  repositoryName: awsctrl-test
  repositoryPolicyText: |
    {
      "Version": "2008-10-17",
      "Statement": [
        {
          "Sid": "AllowPushPull",
          "Effect": "Allow",
          "Principal": {
            "AWS": [
              "arn:aws:iam::XXXXXXXXXXXX:role/chrishein"
            ]
          },
          "Action": [
            "ecr:GetDownloadUrlForLayer",
            "ecr:BatchGetImage",
            "ecr:BatchCheckLayerAvailability",
            "ecr:PutImage",
            "ecr:InitiateLayerUpload",
            "ecr:UploadLayerPart",
            "ecr:CompleteLayerUpload"
          ]
        }
      ]
    }

Tagging currently not implemented. For testing make sure to change AWS Account ID and use a real role ARN.

Hey @christopherhein,
Something went wrong with the build.
TravisCI finished with status errored, which means the build failed because of something unrelated to the tests, such as a problem with a dependency or the build process itself.
View build log
TravisBuddy Request Identifier: a43b55b0-1d07-11ea-a2fb-51cb67500490


EETQ dependency not compiled for GQA/70b

System Info
TGI 1.1.0, 70b model sharded across 2 - some system dependency didn't get added properly.
Information

[X] Docker
[ ] The CLI directly

Tasks

[X] An officially supported command
[ ] My own modifications

Reproduction
Trying out EETQ but get this on start:
Traceback (most recent call last):
File "/opt/conda/bin/text-generation-server", line 8, in
sys.exit(app())
File "/opt/conda/lib/python3.9/site-packages/typer/main.py", line 311, in call
return get_command(self)(*args, **kwargs)
File "/opt/conda/lib/python3.9/site-packages/click/core.py", line 1157, in call
return self.main(*args, **kwargs)
File "/opt/conda/lib/python3.9/site-packages/typer/core.py", line 778, in main
return _main(
File "/opt/conda/lib/python3.9/site-packages/typer/core.py", line 216, in _main
rv = self.invoke(ctx)
File "/opt/conda/lib/python3.9/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/opt/conda/lib/python3.9/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/opt/conda/lib/python3.9/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/opt/conda/lib/python3.9/site-packages/typer/main.py", line 683, in wrapper
return callback(**use_params)  # type: ignore
File "/opt/conda/lib/python3.9/site-packages/text_generation_server/cli.py", line 83, in serve
server.serve(
File "/opt/conda/lib/python3.9/site-packages/text_generation_server/server.py", line 207, in serve
asyncio.run(
File "/opt/conda/lib/python3.9/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/opt/conda/lib/python3.9/asyncio/base_events.py", line 634, in run_until_complete
self.run_forever()
File "/opt/conda/lib/python3.9/asyncio/base_events.py", line 601, in run_forever
self._run_once()
File "/opt/conda/lib/python3.9/asyncio/base_events.py", line 1905, in _run_once
handle._run()
File "/opt/conda/lib/python3.9/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/opt/conda/lib/python3.9/site-packages/text_generation_server/server.py", line 159, in serve_inner
model = get_model(
File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/init.py", line 201, in get_model
return FlashLlama(
File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/flash_llama.py", line 68, in init
model = FlashLlamaForCausalLM(config, weights)
File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 478, in init
self.model = FlashLlamaModel(config, weights)
File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 416, in init
[
File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 417, in
FlashLlamaLayer(
File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 353, in init
self.self_attn = FlashLlamaAttention(
File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 233, in init
self.query_key_value = load_attention(config, prefix, weights)
File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 154, in load_attention
return _load_gqa(config, prefix, weights)
File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/custom_modeling/flash_llama_modeling.py", line 195, in _load_gqa
get_linear(weight, bias=None, quantize=config.quantize)
File "/opt/conda/lib/python3.9/site-packages/text_generation_server/utils/layers.py", line 280, in get_linear
raise ImportError(
ImportError: Please install EETQ from https://github.com/NetEase-FuXi/EETQ
Expected behavior
Run normally

Tagging @SidaZh for visibility

https://github.com/huggingface/text-generation-inference/pull/1081 Should fix it.