[Hacker News PWA]: Offline URLs should be updated on deploy

The predeploy step
https://github.com/dart-lang/angular/blob/ab5fecb814719037f033dbbbb3abded8b9b109d3/examples/hacker_news_pwa/firebase.json#L39
should also update the URLs used by the service worker to cache the PWA for offline use
https://github.com/dart-lang/angular/blob/ab5fecb814719037f033dbbbb3abded8b9b109d3/examples/hacker_news_pwa/README.md#L63
Blocked by https://github.com/isoos/pwa/issues/21.

As a temporary workaround we could write a script to manually update the timestamp in https://github.com/dart-lang/angular/blob/master/examples/hacker_news_pwa/lib/pwa/offline_urls.g.dart before each deploy. We also need to actually update this list as the offline resources (for images/icons) has changed.

Actually I'm not sure if we're missing images from it or not. @kevmoo would know since he added them all, and has also most recently updated the offline URLs. I think the list is actually correct, so we'd only need to bump the timestamp on deploy.

I think we're going to tackle this by just rewriting the package (PWA/SW).


activity: Add links to /stats and /activity in /activity/support.

Nice, those links will be convenient.


Alert support

Alert API support. I tried to follow your code conventions.

$ python3 pywu.py alert description
Flood Warning
$ python3 pywu.py alert expires
11:47 PM PST on November 27, 2017

https://www.wunderground.com/weather/api/d/docs?d=data/alerts

Looks great! Thanks!


Fix for memory leak in canvas renderer

Use canvas renderer
Add polylines (40K for example)
Remove them and add a bunch of other polylines (once more 40K)

AR: Page memory usage almost doubled
The root of the bug is in _drawnLayers object in canvas renderer. References to layers removed everywhere except this place.

@uygardonduran That seems to be a leftover from https://github.com/Leaflet/Leaflet/commit/4c484462dc4d646cb43adc0585401d28d878330d. Why don't you send a PR removing all references to _drawnLayers, and see if everything works fine after that?


Integrating Mpesa API with a Flutter App

We ask that you please be patient as our team works through approving and publishing all articles/tutorials in a timely manner. Allow 1-3 days for a topic to be reviewed and/or approved - allow 3-7 days for an articles to be reviewed and/or published.
Be sure to visit our Resources Page for tools, resources, and example articles to go over.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
NOTE: We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
We're looking for the first 2-3 paragraphs of the article that appropriately summarize what your article will be about.
Integrating Mpesa API with a Flutter App
Your title should be descriptive of the article/tutorial. Be Specific. Use keyword research to gain your article higher ranking.
Use the following format as the title of the issue: [Category of Topic] Title for the article.
For example, if the article is based on machine learning, use the following: [Machine learning] Introduction to Machine Learning.
If the article is based on developing an Android application, use the following: [Android] Developing Apps using Android.
ONLY viable topics to pick from:

API
Artificial Intelligence
Blockchain
Containers
Edge Computing
Languages
Machine Learning
Networking
Node.js
Security

Introduction paragraph (2-3 paragraphs):
Money transfer is one of the essential services Globally. Just imagine you went for a vacation and you discovered you ran out of cash in the middle of an island and for some reason you lost your credit/debit card. What would you do? The situation is quite unimaginable right? Well , here is where mobile money transfer comes in.
People will always need money to purchase goods or to pay for services and this process involves money movement from customer to a service provider(C2B), between a business to a client (B2C) or even between Business to Business(B2B). MPESA is a Mobile money transfer service in Kenya owned by Safaricom, that assists in sending money from C2B,B2C and B2B. In this article we are going to learn how to integrate Mpesa API by building a simple Flutter App that pays bill to The Safaricom Lipa na Mpesa online ShortCode.
Key takeaways:

Create Safaricom developer account
Integrating the Lipa na Mpesa API with Flutter.

References:

https://developer.safaricom.co.ke/docs
https://medium.com/podiihq/integrating-mpesa-api-with-a-flutter-app-4428ea9fd83b

Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

Good afternoon and thank you for submitting your article for publishing.
Your article has been entered into our queue and should be reviewed (and published pending any changes) as soon as a peer reviewer is finished with the ones in the queue before it. 🚀
Thank you.

@kanoinikita
We're really looking for unique/original content, and based on the content provided, it seems that information that you intend to cover is already readily available through the documentation or via many other blog sites.
Could you please expand upon how your content will differ from what is already available through other websites and documentation? We lean towards content that offers an original viewpoint/approach around programming-centric topics.

The current integration of MPESA API have been done using older version of
Daraja API.I am planning to use the latest version daraja 2.0 which have
new updates.no application have been integrated using Daraja version 2.0
API .
On Wed, 29 Sept 2021 at 02:13, hectorkambow @.***>
wrote:

@kanoinikita https://github.com/kanoinikita
We're really looking for unique/original content, and based on the content
provided, it seems that information that you intend to cover is already
readily available through the documentation or via many other blog sites.
https://www.google.com/search?q=Mpesa+API+with+a+Flutter+App&ei=vaBTYeiMOqvC0PEP98CLqA0&ved=0ahUKEwio3-n75KLzAhUrITQIHXfgAtUQ4dUDCA4&uact=5&oq=Mpesa+API+with+a+Flutter+App&gs_lcp=Cgdnd3Mtd2l6EAMyBwgAEEcQsAMyBwgAEEcQsAMyBwgAEEcQsAMyBwgAEEcQsAMyBwgAEEcQsAMyBwgAEEcQsAMyBwgAEEcQsAMyBwgAEEcQsANKBAhBGABQ1qMEWNajBGCopQRoAnACeACAAQCIAQCSAQCYAQCgAQKgAQHIAQjAAQE&sclient=gws-wiz
Could you please expand upon how your content will differ from what is
already available through other websites and documentation? We lean towards
content that offers an original viewpoint/approach around
programming-centric topics.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/section-engineering-education/engineering-education/issues/3931#issuecomment-929690443,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVWXC2SXU5Y4UWG2H6RVN73UEJDYTANCNFSM5ELSO7QA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

I have also been researching on flutter web application I am planning to handle m-pesa integration for flutter web application


feat: allow users to update group name in initiative tracker

I as a player would like to update token names to save time when quickly adding new monsters into the initiative.
Double clicking the text field in the area pointed below should allow players to input text manually that will update all tokens associated with the group id.

added in 0.7.0


mousai: Missing icons

Describe the bug
The application mousai (v. 0.6.6) is missing various icons and doesn't display them correctly
Steps To Reproduce
Steps to reproduce the behavior:

nix-shell -p mousai --run "mousai"

Expected behavior
Icons should be present.
Screenshots

Notify maintainers
@dotlambda
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.10.81, NixOS, 21.11 (Porcupine)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.4`
 - channels(root): `"nixos-21.11.334247.573095944e7, unstable-22.05pre337103.581d2d6c9cd"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

If you are using GNOME, I think the dark style preference mousai supports will not be available before GNOME 42.
https://blogs.gnome.org/alexm/2021/10/04/dark-style-preference/
The dark style preference should work in Pantheon 6.0.3 though, not sure about other desktop.

To be more precise, I'm not using a dark theme setting but a theme called "adwaita-dark". My home-manager configuration looks like this:
  home-manager = {
    users.onny = {
      gtk = {
        enable = true;
        iconTheme = {
          name = "Adwaita-dark";
          package = pkgs.gnome3.adwaita-icon-theme;
        };
        theme = {
          name = "Adwaita-dark";
          package = pkgs.gnome3.gnome_themes_standard;
        };
      };
[...]

As you can see on the screenshot Gedit (or Nautilus, Gnome-Calculator, etc.) are following it, whereas mousai does not:

I think libadwaita "hardcodes" the theme, so no matter what theme you are using, Adwaita-dark, Numix, Arc, ... mousai will always use Adwaita (unless you change the dark style preference I guess). As soon as more GNOME apps are ported to libadwaita, I guess they will have the same behavior too.
To check if an app shipped by nixpkgs has been ported to libadwaita, maybe just check whether libadwaita is presented in buildInputs.
https://blogs.gnome.org/alatiera/2021/09/18/the-truth-they-are-not-telling-you-about-themes/

Okay so we'll have to wait until "dark mode" is supported by libadwaita :)
Here's an other example about the missing icon set:

Okay so we'll have to wait until "dark mode" is supported by libadwaita :)

No, libadwaita already supports dark style preference.

Here's an other example about the missing icon set

Do you have any icon theme of your choice installed in environment.systemPackages (gnome.adwaita-icon-theme for example)?

Okay so we'll have to wait until "dark mode" is supported by libadwaita :)

No, libadwaita already supports dark style preference.

Here's an other example about the missing icon set:

Actually it looks good to me. So I am not sure if adding gnome.adwaita-icon-theme to buildInputs of this package or your environment.systemPackages will be helpful.

Oh thanks for the note, dark mode does indeed work with Gtk4 and libadwaita by creating the file ~/.config/gtk-4.0/settings.ini with following content:
[Settings]
gtk-application-prefer-dark-theme=true

Putting gnome.adwaita-icon-theme into buildInputs didn't solve the problem with the missing icons :,(

Updated the issue description that for now, only the icons are missing. I'll have to check which gnome icon package I need to have installed to fix this :)

Adding icon theme to buildInputs will not work. You need to install an icon theme globally, see https://github.com/NixOS/nixpkgs/pull/43150#issuecomment-450058333

Still no luck. Added this to my system configuration:
environment.systemPackages = with pkgs; [
    gnome3.adwaita-icon-theme
    gnome.adwaita-icon-theme
    hicolor-icon-theme
    gtk3
    gtk4
  ];

  xdg.icons.enable = true;

home-manager.users.onny = {
    gtk = {
      enable = true;
      iconTheme = {
        name = "Adwaita-dark";
        package = pkgs.gnome3.adwaita-icon-theme;
      };
      theme = {
        name = "Adwaita-dark";
        package = pkgs.gnome3.gnome_themes_standard;
      };
      gtk4.extraConfig = {
        gtk-application-prefer-dark-theme = true;
      };
    };
}

Icons still missing in Mousai:

@bobby285271 On which desktop environment are you running the application?

On which desktop environment are you running the application?

I am using Pantheon, the Pantheon module has icon themes added to environment.systemPackages.

Adwaita-dark is not an icon theme. Use Adwaita.

Adwaita-dark is not an icon theme. Use Adwaita.

Oh sorry, that was the issue. Thank you!

Also note that gnome3 is a legacy alias of gnome.


Performance problems using tensorflow_probability

System information

Have I written custom code (as opposed to using a stock
example script provided in TensorFlow):  Yes.

OS Platform and Distribution
Linux Ubuntu 18.04 using upstream radeon kernel driver and launching ROCM scripts in the latest docker container using TF_ROCM_FUSION_ENABLE=1

Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if
N/A

TensorFlow installed from (source or
binary):  installed from docker as rocm/tensorflow:latest

TensorFlow version (use command below): v2.1.0-15-g5466af3 2.1.0

Python version: 3.5.2

Bazel version (if compiling from source): Build label: 0.29.1

GCC/Compiler version (if compiling from source):  gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609

CUDA/cuDNN version:

GPU model and memory: Radeon VII gfx906

Note: I installed tensorflow_probability in the ROCM docker container using the --no-deps option.  After that I had to install an additionally dependency or two.
Describe the current behavior
Use of tensorflow probability methods (e.g. mcmc) are slower using rocm gpu relative to the tf-gpu stack on nvidia hardware.  The test code shows that Tensorflow only functions in the ROCM stack run at speeds comparable to the cuda versions, but once tensorflow-probability routines are called using these functions, the ROCM stack is much slower. In the results below, NUTS uses the NUTS step method with adaptation (see this) and Function represents the execution of the pure tensorflow log-likelihood function with gradients and excludes any jit compile time since the function is invoked and then invoked again for timing purposes.  The likelihood uses some linalg and reduce operations.  The numbers in the table are runtimes in seconds using time.time() differences.

NUTS
Function

ROCM GPU (Radeon VII)
398.01
0.05

TF GPU (Nvidia Tesla P100)
128.28
0.05

Eyeballing watch -n .1 rocm-smi as the script executes shows GPU usage at 100% most of the time for the GPU tests.
Describe the expected behavior
Given that the tensorflow log-likelihood functions are comparable in execution times, I would expect The MCMC sampling times to be much closer.  Instead we see that the ROCM stack takes nearly 3x longer to complete.
Standalone code to reproduce the issue
The script generating these results can be found  at this gist
Other info / logs

Adding some more results here that also include CPU.  Turning on xla compilation via @tf.function(experimental_compile=True) leads to huge differences:

NUTS
Function

ROCM CPU
832.8751
0.2176

ROCM GPU
386.89
0.0427

TF CPU (No XLA)
648.65
0.36

TF GPU (No XLA) (Nvidia Tesla P100)
128.28
0.05

TF CPU (XLA)
629.5549
0.7941

TF GPU (XLA) (Nvidia Tesla P100)
19.6332
0.0219

With xla on (which is recommended), the cuda stack is now approximately 20 times faster.

Here are few more benchmarks for a more realistic (not toy data) model from my own research.  The likelihood function (pure tensorflow) for Model 2, in particular, has a lot of linalg, scatter_nd, gather_nd, and reduce calls.  From the function evaluation times, we see that ROCM is slower than the XLA cuda call by 40%, which isn't ideal but understandable given that XLA hasn't been completed in ROCM yet.
Once the tensorflow_probability mcmc calls are included (e.g. Model 2 Nuts) performance is severely degraded to the point that you are better off not using Rocm GPU even over stock tensorflow on CPU.

Model 1 NUTS (Seconds)
Model 2 NUTS (Seconds)
Function Model 2  (Milliseconds)

Rocm GPU (Radeon VII)
30.52
1002
14

Cuda CPU (XLA)
8.41
37.05
10

Cuda GPU (XLA)
3.55
8.5
10

So it seems that quite a few tf ops fail due to differences in address spaces.  This is a known issue and has been merged into upstream (https://github.com/tensorflow/tensorflow/pull/36110) and I believe made it to tf2.2rc1.  As all my xla failures manifest as this bitcast error, I suspect that when this gets released by tensorflow-rocm things might be fixed with XLA compilation.

The benchmark timings should be ignored here.  Instead, please see #954.


"containerd": executable file not found in $PATH (Arch Linux)

Description
After updating system with yay -Syu I had containerd-1.6.0-1 installed. Docker service was unable to start after this.
Command sudo dockerd --debug shows error failed to start containerd: exec: "containerd": executable file not found in $PATH.
I've tried to find containerd executable on my machine, and found this directory:
❯ ls /usr/usr/bin
containerd  containerd-shim  containerd-shim-runc-v1  containerd-shim-runc-v2  containerd-stress  ctr

The part /usr/usr/ looks suspicious. Docker was able to start after making link to executable:
sudo ln -sv /usr/usr/bin/containerd /usr/bin/containerd

Steps to reproduce the issue

Install containerd-1.6.0-1
Restart docker service

Describe the results you received and expected
Docker service was unable to start. Expect it to work.
What version of containerd are you using?
containerd github.com/containerd/containerd v1.6.0 39259a8f35919a0d02c9ecc2871ddd6ccf6a7c6e.m
Any other relevant information
❯ runc --version
runc version 1.1.0
commit: v1.1.0-0-g067aaf85
spec: 1.0.2-dev
go: go1.17.6
libseccomp: 2.5.3
❯ uname -a
Linux alexamy 5.16.9-arch1-1 #1 SMP PREEMPT Fri, 11 Feb 2022 22:42:06 +0000 x86_64 GNU/Linux
Show configuration if it is related to CRI plugin.
No response

Fixed in containerd-1.6.0-2,
Need to remove link before install:
sudo rm /usr/bin/containerd
yay -Syu containerd


bucketRebuildMemoryHint key issue in indexes.conf

With Splunk Extension version 0.2.10, I receive an Invalid key in stanza [my_index]: bucketRebuildMemoryHint = 0 in my indexes.conf file. Here is my following stanza:
[stanza]
homePath = volume:primary/stanza/db
bucketRebuildMemoryHint = 0

Fixed in version 0.3.0


Add user now supports reading password from an env var.

@Kenix3 bump. you mentioned you wanted to switch this to NTFY_PASSWORD=... ntfy user add phil.

Thank you


Update to latest vintageous

[x] #539
[ ] 'sublime.Window' object has no attribute 'create_output_panel'
[ ] Probably need to extend python api more. Will add to list as the required methods become known.

Quick diff just to get that far:
diff --git a/backend/sublime/sublime_test.go b/backend/sublime/sublime_test.go
index d98ce0e..88f68f0 100644
--- a/backend/sublime/sublime_test.go
+++ b/backend/sublime/sublime_test.go
@@ -44,10 +44,11 @@ func TestSublime(t *testing.T) {
        }, func() (string, error) {
                return dummyClipboard, nil
        })
-       ed.Init()
-
        ed.Console().Buffer().AddObserver(&consoleObserver{T: t})
        w := ed.NewWindow()
+       w.NewFile()
+       ed.Init()
+
        l := py.NewLock()
        py.AddToPath("testdata")
        py.AddToPath("testdata/plugins")
@@ -159,19 +160,8 @@ class TestToxt(sublime_plugin.TextCommand):
                t.Error(diff)
        }
        ed.LogCommands(true)
-       tests := []string{
-               "state",
-               "registers",
-               "settings",
-               "constants",
-               "registers",
-               "cmd_data",
-               "marks",
-       }

-       for _, test := range tests {
-               ed.CommandHandler().RunWindowCommand(w, "vintage_ex_run_data_file_based_tests", backend.Args{"suite_name": test})
-       }
+       ed.CommandHandler().RunWindowCommand(w, "run_vintageous_tests", backend.Args{"working_dir": backend.LIME_PACKAGES_PATH + "/Vintageous"})
        for _, w := range ed.Windows() {
                for _, v := range w.Views() {
                        if strings.HasSuffix(v.Buffer().FileName(), "sample.txt") {

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/11360462-update-to-latest-vintageous?utm_campaign=plugin&utm_content=tracker%2F282001&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F282001&utm_medium=issues&utm_source=github).

while working on packages will implement this to

Continued here https://github.com/limetext/sublime/issues/1


Enable usage of NOTIFY responses for reporting new and removed services.

Allow the option to receive multicast SSDP notifications (not just send) by not supplying a network interface to bind the socket to.
Implement [SSDPServiceBrowser _notifyDelegateWithRemovedService] for reporting removed devices.

Thanks for the contribution!
I’ll test it as soon as I can, but after a quick look it seems fine to me..


Update package versions on January 2020

This updates packages for the use of auth0 with kotlin
https://auth0.com/blog/authenticating-android-apps-developed-with-kotlin/

Hi there. Thanks for reaching out. I'm wondering... to keep the article in sync with this repo, wouldn't we have to update the article as well?

Is there anything that blocks you from merging the branch? People are already forking from my fork. It would be better if you can merge my code.
I think having update code with latest library is very good.
A blog can still be interesting even if not updated. You should not spend time on maintaining the blog. It would be artificial. Information at a date is still very interesting even several motnths after a certain date.
Recently the only official auth0 samples I have seen were is pure Java.

Is there anything that blocks you from merging the branch? See my previous comment.


Solved issue

Pull Request Type
What kind of change does this PR introduce?
[X] Solved an issue/task
[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe: I have already created a simple Task List with vue.js
What is the current behavior?
Currently, this app is running well and satisfies the requirements
Issue Number: #1031

Merged

This is an automated message from Fork, Commit, Merge [BOT].

Thank you for your contribution! Your pull request has been merged. The files have been reset for the next contributor.
What's next?
If you're looking for more ways to contribute, I invite you to check out my other projects. Just click here to find more. These projects contain real issues that you can help resolve. You can also check out the Influences section in the README to find more projects similar to this one.
Also please leave a star to this project if you feel it helped you, i would really appreciate it.
I look forward to seeing your contributions!


cannot find llvm/IR/Verifier.h

nwatkins@kyoto:~/src/hornet/build$ llvm-config --version
3.4

nwatkins@kyoto:~/src/hornet/build$ cmake ..
 Perhaps we should add a version check in CMakeFile for that.


WP_Query and get_posts argument

setting the post_type and post_status as well as setting no_found_rows should be recommended. (with the caveat that no_found_rows is only to be used if pagination is not required)

Humm. It may be a challenge to indicate a “recommemdation” in PHPCS, since
it supports only warnings and errors. It would be nice if also supported
recommendations, though perhaps we could get away with a warning here.

Warning sounds good. I didn't know if it supported 'info' or some other format. We can make the longer message mention that it's not a hard and fast rule since it can't always be done.

I think this can still be done.
We can make it a warning if post_type and post_status aren't explicitly supplied (if not wanted, then any should be provided).
As for missing no_found_rows I think we could make this a warning if paged is not present. Presumably you'd only want to get the total number of posts in a result set if there is pagination being used, and we could sniff for this by looking for paged. If the paged query var is absent, then we could make it a warning if no_found_rows is not present.

That would totally work! Both seem like very good additions

https://github.com/Automattic/VIP-Coding-Standards/issues/186 (if VIP-specific) would cover this.

Closing as now covered by https://github.com/Automattic/VIP-Coding-Standards/issues/186.


var is not updated

In this code I created a var which is passed to a Button and a TextInput, but it's not updated:
async fn main_window() -> WindowRoot {
  let counter = var(0);
  Window! {
    child = Stack!{
      direction=StackDirection::top_to_bottom();
      children=ui_vec![
        TextInput!{
          txt=counter.get_text();
        },
        Button!{
          child=Text!{txt=counter.get_text()};
          on_click=hn!(|_|{
            counter.modify(|f|*f.to_mut()+=1);
          });
        }
      ]
    }
  }
}

Sorry I wasn't sure it's a bug or I wrote something wrong.

.get_text gets the current var value converted to text, you need to use the var mapping functions to create a live binding. TextInput also has a helper property txt_parse that creates a bidi binding to a var.
async fn main_window() -> WindowRoot {
    let counter = var(0);
    Window! {
      child = Stack!{
        direction=StackDirection::top_to_bottom();
        children=ui_vec![
          TextInput! {
            txt_parse::<u32> = counter.clone();
          },
          Button! {
            child = Text!{ txt = counter.map_to_txt() };
            on_click = hn!(|_| {
                counter.modify(|f|*f.to_mut() += 1);
            });
          }
        ]
      }
    }
  }

Thank you. So basically with functions are not live binding (reactive?) but map functions are.

Yes  see the Var docs. The with* methods take in a closure that visits the current value without cloning, get*  methods get a clone of the current value, map* methods return a new var that updates when the source var updates, there are other methods that also return vars, if a method returns var that var is bound.
The txt property accepts impl IntoVar<Txt>,  values convert to read-only variables, already existing variable converts to themselves, thats how the same property can be static or live. So in your first code you set txt to a read-only text ("0").


The shift out of bound error was appeared on compiling

i was run the closure compiler with some flags.
there is 76 warning and 1 error that says "shift amount out of bound" and then the expected output file was empty.

Can you provide more details -  a source code snippet to reproduce the error and the command you used to compile.

Closing as not reproducible.


No documentation

This project seems very real and not a like a joke at all. But I would like some documentation for me to not read and then complain about issues that were addressed in the documentation (while you're at it could you also add an FAQ channel to the discord for me to also not read?).

Use Gradle! ./gradlew build!

And the wiki has controls: https://minecraft.fandom.com/wiki/Minecraft_4k


One-click plot feature request

Dear Spyder Team,
Would it be possible to have one-click plots? An option in the variable explorer pane that plots the selected variables. Perhaps even something that supports adding all the selected variables to the same plot! One a tad more complicated perhaps would be plotting variables against each other, putting on on the x-axis and others on the y-axis.
Well, the idea is out there and I believe it would be innovative and useful!

Hi @jmoraispk,
What do you mean by plot the selected variables? Can you upload a mockup to understand better your idea?
@spyder-ide/core-developers what do you think?

Hey @jmoraispk , thanks for your feature request. Actually, one-click plots are already available in Spyder's Variable Explorer for at least the past several years. You can already plot 1D Numpy arrays, Python lists and tuples (including nested and non-numeric ones) and more as histograms or line plots, 2D numpy arrays as line/scatterplots or images, and PIL images as images (not sure about plots), by simply right-clicking on the variable you want to plot and selecting the appropriate option. Currently, you can plot Series and Dataframes simply by converting them to an array with e.g. series_arr = series_na,values, or df = df["column_name"].values.
Spyder currently lacks support for 1-click plots for pandas Series and DataFrames, but it should be pretty simple to add those. Support for line plots and histograms of the former would be particularly trivial, since %varexp --plot series_name and %varexp --hist series_name already appear to work fine, so we just need to enable these options for Series in the right-click menu. The latter should be fairly straightforward, since we can just call df.plot(), and while we're at it, we could even add a bunch of plot types (line, bar, histogram, boxplot, stacked line, etc) with relatively little work by just varying the kind parameter to df.plot(), perhaps in a dropdown menu.
Selecting specific variables from a dataframe to plot against one another would be a tad more complex, since it will require some kind of UI to display and select the variables, However, as a start, we could offer a scatterplot option on dataframes with two columns to plot them against one another, so you could just subset your dataframe to the two variables you wanted to plot and plot that, and a Scatter Matrix option to >2 column dfs to show scatterplots + histograms of all the columns at once. This wouldn't be really much more work than adding plotting support for DataFrames in the first place, and would be a major step forward for Spyder's ploting support. This could even be added to 2D arrays as well, and there are a number of other plots that would be easy to add in the same fashion.
Finally, there isn't currently support for selecting multiple separate variables (vs. those in one DataFrame, array, etc) and plotting them against each other. Its not impossible to do, but it would take significantly more work than these other improvements, and there are a lot of issues this would run into that aren't found when using an appropriate data structure like an array or DataFrame—what do do about variables with different lengths, dimensions, data types, etc? What about more than two variables? At least for now, you could do so just by casting separate variables with the same length (otherwise, plotting isn't very meaningful anyway) into one dataframe, then plotting that with the above options—a good idea anyway.
If you'd like to help implement these improvements, we'd be happy to guide you on how to do so. If not, this is something I could knock out myself pretty easily, since its an area I'm familiar with and would offer major functionality gains for relatively little time spent to implement it. @ccordoba12 , would you suggest the enhancements discussed here go in Spyder 4 or in Spyder 5? They will require Spyder-Kernels changes, albeit ones that should be able to be made backwards-compatible.

This looks like it has all the functionality we need for pandas. Could it be incorporated?
https://github.com/adamerose/pandasgui

It looks pretty slick, thanks @bcolsen! We could include it for Spyder 5, but:

If we added this as a new feature, we'd need to be committed to maintain it from Spyder 5 onwards. What I mean is: if the maintainers of that project decided to drop support for it, we'd need to do it for them.
We'd need to check if they support multi-indexes or other features that our current viewer has. If those are missing, we'd need to add them to that project.

That would be a really nice integration, and it doesn't look like it would take too much work to integrate depending on how we do it (a context menu item that just calls pandasgui on the dataframe, for instance as more of integration would be very simple, whereas a full-on built-in replacement for Spyder's own dataframe editor that's integrated with the Variable Explorer, plots pane, and console would be much more complex).
One complicating factor though—do we run it in Spyder's environment, or in the kernel env? The former would avoid adding another dep to Spyder kernels and avoid it breaking in case of a dep conflict in the environment, but if we wanted any of the interactive/edit/reshape, etc. features to work, we would either need to run it kernel-side or add the necessary plumbing to pass the dataframe back and forth to the kernel, which is not trivial but would be required if we wanted it to be a true replacement for our DataFrameEditor.
However, that's getting kind of out of scope of what's being requested on this issue (a few additional one-click plotting features), and is essentially orthogonal in purpose and implementation to what I propose above, which would be a simple extension of Spyder's existing plotting features and would work with our existing Variable Explorer, plots pane and console setup with no new dependencies or major changes.

If we added this as a new feature, we'd need to be committed to maintain it from Spyder 5 onwards. What I mean is: if the maintainers of that project decided to drop support for it, we'd need to do it for them.

Good point. To note, though, if worst comes to worst we wouldn't have to maintain it indefinitely especially if we package it as more an integration than a built-in part of Spyder...there's nothing obligating us to maintaining every Spyder feature we ever add forever if it no longer is possible or makes sense to do so, and if we implement it as a replacement for our DataFrame viewer/editor then we don't have to maintain that ourselves anymore.

We'd need to check if they support multi-indexes or other features that our current viewer has. If those are missing, we'd need to add them to that project.

Yeah, but like the above, this would depend on how we implemented it—as an additional integration/context menu option in the Variable Explorer, (Open in Pandasgui), or as a full on replacement for the DataFrame viewer.

Yeah, but like the above, this would depend on how we implemented it—as an additional integration/context menu option in the Variable Explorer, (Open in Pandasgui), or as a full on replacement for the DataFrame viewer.

I was thinking right click to open in pandasgui. It could just be an optional dependency like pandas.

Ok, that's a good suggestion.


feat(Keys_Outgoing): Compute outgoing note ciphertext

Builds on (#5895 or #5866) and #5897
As for #5897 likely useful to setup a typescript variant for easier testing

Was addressed in #6344


How to use a correlated subquery?

I'm trying to write a query with a subquery that references rows from the parent query.  For example, say I want SQL for getting the latest weather value from a table of weather data that looks roughly like
SELECT * FROM weather w
WHERE
  w.time >= '2023-02-01' AND w.time <= '2023-02-10'
  AND w.timestamp = (
    SELECT MAX(timestamp) FROM weather inner
    WHERE inner.location = w.location AND inner.instrument = w.instrument AND inner.time =
w.time
  )

First I tried
let lBound,uBound = (DateTime(2023,02,01), DateTime(2023,02,10))
select {
  for w in table<weather> do
  where (
    w.time >= lBound && w.time <= uBound && w.timestamp = subqueryOne (
      select {
        for inner in table<weather> do
        where (inner.location = w.location && inner.instrument = w.instrument && inner.time = w.time)
        select (maxBy inner.timestamp)
      }
    )
  )
}

but that doesn't let me use a select to start a subquery inside another one.  So then I tried
let lBound,uBound = (DateTime(2023,02,01), DateTime(2023,02,10))
let selectInner = select
select {
  for w in table<weather> do
  where (
    w.time >= lBound && w.time <= uBound && w.timestamp = subqueryOne (
      selectInner {
        for inner in table<weather> do
        where (inner.location = w.location && inner.instrument = w.instrument && inner.time = w.time)
        select (maxBy inner.timestamp)
      }
    )
  )
}

which compiles, but gave me

System.NotImplementedException : The method or operation is not implemented.
Stack Trace:
at SqlHydra.Query.LinqExpressionVisitors.visit@212(FSharpFunc2 qualifyColumn, Expression exp, Query query)    at SqlHydra.Query.LinqExpressionVisitors.visit@212(FSharpFunc2 qualifyColumn, Expression exp, Query query)
at SqlHydra.Query.SelectBuilders.SelectBuilder2.Where[T](QuerySource2 state, Expression`1 whereExpression)

I thought I'd try
let lBound,uBound = (DateTime(2023,02,01), DateTime(2023,02,10))
let sub = select {
  for inner in table<weather> do
  groupBy (inner.location, inner.instrument, inner.time)
  select (inner.location, inner.instrument, inner.time, maxBy inner.timestamp)
}
select {
  for w in table<weather> do
  where (
    w.time >= lBound && w.time <= uBound &&
    (w.location, w.instrument, w.time, w.timestamp) = subqueryOne sub
  )
}

which also gives me a NotImplementedException (not surprising, and I think there's another open issue about using tuples in a where clause)
and
let lBound,uBound = (DateTime(2023,02,01), DateTime(2023,02,10))
let sub = select {
  for inner in table<weather> do
  groupBy (inner.location, inner.instrument, inner.time)
  select (inner.location, inner.instrument, inner.time, maxBy inner.timestamp)
}
select {
  for w in table<weather> do
  for (location, instrument, time, timestamp) in subqueryMany sub do
  where (
    w.time >= lBound && w.time <= uBound &&
    w.location = location && w.instrument = instrument && w.time = time && w.timestamp = timestamp
  )
}

but that fails to compile.
Any suggestions how to get this sort of query to work?

Interesting... So you are trying to do a correlated subquery, but the compiler doesn't allow embedding the sub query.
The last option seems like a possible workaround (duplicating the filtering to avoid the requirement of passing the correlated parent field). Can you give more details of the exception and stack trace? (It might be something simple missing from the Linq expression visitor.)

In the meantime, since you already know the query you want, you can do this:
let getForecast (lower: DateTime, upper: DateTime) = task {
  let sql = """
    SELECT * FROM myschema.weather w
    WHERE     w.time >= @lower AND w.time <= @upper
      AND w.timestamp = (
        SELECT MAX(timestamp) FROM weather inner
        WHERE inner.location = w.location AND inner.instrument = w.instrument AND inner.time =  w.time
    )
  """

  use conn = new NpgsqlConnection(DB.connectionString)
  do! conn.OpenAsync()
  use cmd = new NpgsqlCommand(sql, conn)
  cmd.Parameters.Add(NpgsqlParameter("lower", DateTime(...))) |> ignore
  cmd.Parameters.Add(NpgsqlParameter("upper", DateTime(...))) |> ignore
  let reader = cmd.ExecuteReader()
  let hydra = HydraReader(reader :?> NpgsqlDataReader)

  return [ while reader.Read() do hydra.``myschema.weather``.Read() ]
}

Thanks for the help on this!  Having the workaround for a hand-written query is definitely helpful.

At least you can still benefit from the strong typing of the HydraReader, even if the query is manually typed.
Sometimes it's just easier that way for the more complex queries.

Here are a few options for getting correlated subqueries working (let me know what you think):
Option 1
The subquery is still in its own function, and the parent table is passed into the subquery. (The naming of the passed in table, od, would matter since that is used to define the table alias, so it would need to match what is in the parent query.)
let maxOrderQty (od: Sales.SalesOrderDetail) =
    select {
        for d in orderDetailTable do
        where (d.ProductID = od.ProductID)
        select (maxBy d.OrderQty)
    }

let! results =
    select {
        for od in orderDetailTable do
        where (od.OrderQty = subqueryOne (maxOrderQty od))
        orderBy od.ProductID
        select (od.SalesOrderID, od.ProductID, od.OrderQty)
    }
    |> ctx.ReadAsync HydraReader.Read

The problem I hit with I ran into in my experiment branch is that the LinqExpressionVisitor would need to be able to actually evaluate that function to get the resulting SqlKata.Query, and I'm not sure that is possible. So that might be a dead-end... I'm not sure.
Option 2
One way to bypass this could be to create a new function, similar to table<>, that could be used in a separate subquery function to declaratively designate a parent table source without actually passing one in.
Something like this:
let maxOrderQty =
    let od = correlatedTable<Sales.SalesOrderDetail> // or maybe `parentTable`

    select {
        for d in orderDetailTable do
        where (d.ProductID = od.ProductID)
        select (maxBy d.OrderQty)
    }

let! results =
    select {
        for od in orderDetailTable do
        where (od.OrderQty = subqueryOne maxOrderQty)
        orderBy od.ProductID
        select (od.SalesOrderID, od.ProductID, od.OrderQty)
    }
    |> ctx.ReadAsync HydraReader.Read

Option 3
The third option would be to allow nesting the query within the parent query, at which point, it should be able to access the parent od table. I have seen this done before on the Pulumi.FSharp.Extensions project, and I think I asked him how he did it in the issues forum, but I don't remember:
bucket {
    name "bucket-example"
    acl  "private"

    bucketWebsite {
        indexDocument "index.html"
    }
}

In this case, the subQueryOne and subQueryMany could be turned into nested CE builders of their own:
let! results =
    select {
        for od in orderDetailTable do
        where (od.OrderQty =
            subQueryOne {
                for d in orderDetailTable do
                where (d.ProductID = od.ProductID)
                select (maxBy d.OrderQty)
            }
        )
        orderBy od.ProductID
        select (od.SalesOrderID, od.ProductID, od.OrderQty)
    }
    |> ctx.ReadAsync HydraReader.Read

Well, speaking as someone who is much less familiar with that code than you are 😉:
I'd be happy to look into option 2!  I'm not sure exactly how to make the compiler reject a subquery that uses a parentTable or correlatedTable that isn't actually a part of the parent query, but I'd be happy to do some digging.
I think option 3 would be really cool from a usability standpoint (it really closely matches the SQL that someone would write), but I'm worried that might be really tough (at least for me) to figure out.  Also, I think that's potentially introducing a breaking change unless we made different versions of subqueryOne and subqueryMany that have different names, and 4 different ways to do subqueries might be overkill.
Option 1 seems like it would similarly be tough to implement, and kinda seems like it doesn't add a lot of benefit over option 2.

Tried a quick experiment with correlatedTable in this branch, but realizing that it is likely more complicated than my first thought.
I agree that option 3 would be really cool. Maybe it is possible to create an overload of the where custom operation on the select builder to allow embedding another select.


Web Client Lint Fix

Description
fixing all linting issues - not functionality should be changed
Environments
All testing of issues are done in project-portal-test

project-portal-test
project-portal-test
project-portal-feature

To test this is to seer if application is runnung.


chore(main): release 1.1.2

:robot: I have created a release beep boop
1.1.2 (2023-09-18)
Bug Fixes

use 755 instead of 511 fileperm bits (#20) (f45b6f5)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/aidanaden/canvas-sync/releases/tag/v1.1.2 :sunflower:


Get-RubrikEvent and EventSeriesId

Current Behavior:
Currently the only way to retrieve a list of events inside an eventSeries is to use Get-RubrikEvent, passing the eventseriesid parameter as well as setting ShowOnlyLatest to false.
This process takes a looong time to complete. This is caused by the API endpoint (/event) querying the event table and performing a full scan.  Most the time this will simply error out.
Rather than using the /event api, the /event_series endpoint can be utilized.  /event_series queries the events_by_series table which has the proper primary keys defined to make this search faster.
Would like to see a cmdlet created (Get-RubrikEventSeries) which will retrieve this information from the event_series endpoint.  When Get-RubrikEvent is called with an eventSeriesId parameter, the cmdlet can simply call the Get-RubrikEventSeries to get the valid results.

Fixed in #585


Since version 10 unlocking session turns on entertainment mode

Every morning when I log in, entertainment mode gets enabled (I have only manually enabled it once in the past) and I have to go through a process of refreshing the tray and deactivating entertainment mode multiple times before it will finally let me use my lights normally.  How can I gather more info about this to help troubleshoot?

Hi @RedKrieg! Please, check the Settings and the tab "Entertainment areas". There is a new setting possible: "Autostart entertainment area". Select "none". If "none" is already selected, we will investigate.
If more investigation is needed, please enable "log debug messages" on the tab "Advanced settings" and run dbus-run-session -- gnome-shell --nested --wayland 2>&1 | grep -i hue -C 5 > hue-lights.log If the trouble is only after startup you can than close the window and provide the log, please. Do not forget to disable the debug messages afterwards.

Hi @vchlum sorry I didn't see that new setting.  Setting it to "none" resolved the issue for me!  Is it set to a room by default when upgrading or did I somehow set that and not realize it?


Selection mark is not visible

Hi,  Checkmark images are not visible on selected items.

I saw the #65 issue but I couldn't resolve the problem.
I'm creating the picker this way:
`var picker = new GMImagePickerController
{
Title = "Select Photo",
CustomDoneButtonTitle = "Finished",
CustomCancelButtonTitle = "Cancel",
ColsInPortrait = 4,
ColsInLandscape = 7,
  DisplaySelectionInfoToolbar = true,
  AllowsMultipleSelection = true,
  ShowCameraButton = false,
  AutoSelectCameraImages = true,

  ModalPresentationStyle = UIModalPresentationStyle.FullScreen,
  MediaTypes = new[] { PHAssetMediaType.Image },

}; `
Thank you!

Bumping this issue, reproducible on 2.5.1

Bumping this, can reproduce in the latest version, but not in for example 2.0.0

I had to downgrade to version 2.5.0 to fix this bug.


Add globalnet check in E2E Framework

This check was left in the submariner project so as not to create a circular project dependency but the only code dependency is on the generated submariner type code which we can avoid by using the dynamic client.

We were looking at all the items we have for 0.4.0, may be this is something we can handle on following sprints?


Waterfall of Wishing

name: Light World: Waterfall of the Wishing (2 items)
x: 44.9%,
y: 14.7%,

Fixed by #3


Bug reports and patches for OpenSSL

Dear OpenSSL developers,
We are software engineering researchers at University of Virginia. As part of a research project, we have built a tool for automatically finding and fixing error handling bugs and are testing it on various cryptographic libraries and applications that use them.
In the most recent version of OpenSSL, we discovered various instances where there may be memory leak on error path, potential error propagation or missing check of function call. And we also give a patch for each potential bug.
Please let us know how you intend to address these issues.
Sincerely,
Baishakhi Ray, Yuchi Tian

Checklist

Description of change

Fix potential memory leak, error propagation and missing check of function call bugs.

So your tool generates the patch as well?  That is very cool.  So I guess the tool needs to be changes so that in addition to doing a "free(foo)" equivalent, it then does "foo=NULL;" to avoid these issues.

BTW, since we have your CLA, when you update this PR, the cla-check should pass.

Note that this PR also accidentally changes the file permissions of some file, making those executable. (Is your research already published or is this work on progress?)

This work is still on progress. Our tools will provide a suggested patch
after detecting a bug. What do you mean by changing the file permissions of
some file?
On Mon, Feb 6, 2017 at 4:09 PM, Peter Wu<EMAIL_ADDRESS>wrote:

Note that this PR also accidentally changes the file permissions of some
file, making those executable. (Is your research already published or is
this work on progress?)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/openssl/openssl/pull/2559#issuecomment-277813983, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AQUS3Rys-8fq8QZgJaJBFWVUWyq6vFwCks5rZ4vsgaJpZM4L3sMu
.

Yes. It automatically generates patches after detecting a bug. Thank you.
On Mon, Feb 6, 2017 at 10:17 AM, Rich Salz<EMAIL_ADDRESS>wrote:

BTW, since we have your CLA, when you update this PR, the cla-check should
pass.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/openssl/openssl/pull/2559#issuecomment-277713133, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AQUS3WxY6pn0AqU07Jjiiqo6X19XitHkks5rZzmRgaJpZM4L3sMu
.

Regarding file permissions: If you look at the "Files" tab on Github, you will see things like:

crypto/bio/bss_bio.c 100644 → 100755

I did not know the file permission could be changed. I will change them
back.
On Feb 6, 2017 18:33, "Peter Wu"<EMAIL_ADDRESS>wrote:

Regarding file permissions: If you look at the "Files" tab on Github, you
will see things like:
crypto/bio/bss_bio.c 100644 → 100755
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/openssl/openssl/pull/2559#issuecomment-277849486, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AQUS3ZaLrJ4YQ11KMxvX9I151uXeN6j9ks5rZ63WgaJpZM4L3sMu
.

@yuchi1989 .  At some point, you should squash all those commits into one and push it as a new updated PR.

Okay. Thank you for your suggestion.

AppVeyor is failing for this patch. I suspect the bio_ndef.c changes are having an unexpected side effect.

I see. It seems that if we put check after allocate and free p before return, it can work. But you said it was not a good solution. What do you suggest?

Well there isn't actually a leak in this code at all. The change I suggested was just to tidy things up a bit. But it seems like there is something deeper going on that I'd need to investigate further. Since its just a tidy up change and not strictly necessary, I think we just drop all the changes in the bio_ndef.c file.

I see. Then I will drop the changes in the bio_ndef.c file. Thank you.

There are some Travis failures all but none of them seem to be related to this PR. Most of them are due to the issue fixed by #2579. There is also a hang in the enable-tls1_3 case - but I cannot reproduce it locally and I cannot see how this change could have any impact on that particular test, so I'm putting that down as a glitch.

BTW this is for master, 1.1.0 and 1.0.2 - except that the apps/ts.c change will not be backported to 1.0.2 (it doesn't apply and is not needed - the issue was introduced in 1.1.0).

Aehm, sorry, I have a question regarding the change in
SSL_COMP_add_compression_method.

Why is the function returning 1 on error?

Why is the only test case for this function in test/ssltest_old.c
using COMP_ZLIB  = 1, which is not the range reserved for private use?

Why is the function returning 1 on error?

There are a small number of functions in OpenSSL that return 0 for success and 1 for failure. It's annoying that they are different to most other functions, but it is not possible to change without breaking the API.

Why is the only test case for this function in test/ssltest_old.c
using COMP_ZLIB = 1, which is not the range reserved for private use?

I'm not sure I understand the question. Can you elaborate?

@bernd-edlinger ,

Why is the only test case for this function in test/ssltest_old.c using COMP_ZLIB = 1, which is not the range reserved for private use?

You'll find the answer here https://tools.ietf.org/html/rfc3749

Why is the only test case for this function in test/ssltest_old.c
using COMP_ZLIB = 1, which is not the range reserved for private use?

I'm not sure I understand the question. Can you elaborate?

I mean the only use of SSL_COMP_add_compression_method
is in test/ssltest_old.c, and the only value that is possible for
comp is 1, so the changed return code will have an influence
on that test case.

@levitte,

You'll find the answer here https://tools.ietf.org/html/rfc3749

That's funny, because there I read something different:

Values from 224 decimal (0xE0) through 255 decimal (0xFF)
inclusive are reserved for private use.

why is the code actually "if (id < 193 || id > 255)"?

Values from 224 decimal (0xE0) through 255 decimal (0xFF)
inclusive are reserved for private use.

why is the code actually "if (id < 193 || id > 255)"?

That's a very good question.
However, I've just had a closer look at the code, and you're right, it seems questionable.  Most of all, we should question why ssltest_old.c tries to add that method at all, since it's already built in (if zlib was enabled in configuration).  This looks like old code that remains from a time when zlib compression wasn't built in yet...

However, I've just had a closer look at the code, and you're right, it seems questionable. Most of all, we should question why ssltest_old.c tries to add that method at all, since it's already built in (if zlib was enabled in configuration). This looks like old code that remains from a time when zlib compression wasn't built in yet...

AFAICT this code is only hit if you launch ssltest_old with the -zlib option, which never seems to happen. At least, I don't see it in 80-test_ssl_old.t. @levitte is right that you shouldn't call SSL_COMP_add_compression_method() for the builtin zlib type because it should already be loaded. Presumably that is why the id range check is there in the first place.
So because the -zlib option is never used the change in return value in this case does not impact any test. The change is justified because at the moment the function checks to see if the id is in the private range - if it isn't it adds an error to the error queue - but then returns a success code rather than failure!

FYI, in the 1.0.2 branch there is a -rle option, that adds a COMP_rle method
with the ID 255.

Yes, the rle compression is a toy for testing purposes.  It was removed for 1.1.0

Thank you. I learn a lot from the deep discussion. Should I do anything to finish this request? I may also report bugs and patches for OpenSSL in future, now I know how to do it properly. Thanks a lot for the explanation and comments.

So do you mean that right now, the compression happens in TLS layers. But you suggest that it will be better to put the compression in Application layers. I don't understand about it, can you elaborate on that? Thank you.

I think it would be nice, if you could fix the range check and make the comment refer to rfc3749.
But what is really needed, is fixing the test coverage, i.e. by copying the COMP_rle code
to test/ssltest_old.c and of course do something that the test is executed regularly.

Sorry I was not clear.  I mean that OpenSSL has lots of machinery for compression within TLS, including custom compression, dynamic loading, etc.  It's not needed.  As for why it's not needed, google "CRIME TLS attack"

An efficient way to prevent CRIME attack is to use no compression.

Yes, using compression is not recommended, but if a function like
SSL_COMP_add_compression_method is stil supported, then it should at least
have been tested.

Yes, the test should remain.  Sadly.

Yes, the test should remain. Sadly.

There is no test - that's the point. What is there in ssltest_old is dead code.

But ssltest_old is compiled and run.  The goal is to move everything useful out of it, but it's not there yet.  So it is tested.

But ssltest_old is compiled and run. The goal is to move everything useful out of it, but it's not there yet. So it is tested.

It's compiled, and most of it is run, but the bit we are talking about here (the use of SSL_COMP_add_compression_method) isn't run.

I think the ssltest_old needs to have the -rle option again, and the trivial COMP_rle code from
1.0.2 pulled in (locally) again, and of course it should be run with that option.

A separate PR.

A separate PR.

Agreed.

Also, if the goal is to make sure the API is properly tested, the obvious place to resurrect it is in test/sslapitest.c rather than test/ssltest_old.c

I think it would be nice, if you could fix the range check and make the comment refer to rfc3749.
But what is really needed, is fixing the test coverage, i.e. by copying the COMP_rle code
to test/ssltest_old.c and of course do something that the test is executed regularly.

Do you mean that I should change if (id < 193 || id > 255) to if (id < 224 || id > 255)?
What do you mean by copying the COMP_rle code?

Do you mean that I should change if (id < 193 || id > 255) to if (id < 224 || id > 255)?
What do you mean by copying the COMP_rle code?

Personally I think it is out of scope for this PR.

I see. Thank you. I will do another PR like this if I find more bugs about OpenSSL.

Sorry, but there is another problem, that should be fixed IMHO.
COMP_add_compression does not set comp->name,
the name seems to be uninitialized:
    comp = OPENSSL_malloc(sizeof(*comp));
    if (comp == NULL) {
        CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ENABLE);
        SSLerr(SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD, ERR_R_MALLOC_FAILURE);
        return (1);
    }

    comp->id = id;
    comp->method = cm;

Thus name is garbage, while do load_builtin_compression does this:
            comp->method = method;
            comp->id = SSL_COMP_ZLIB_IDX;
            comp->name = COMP_get_name(method);

Sorry. I want to do another PR, but I have made a mistake. I will change it back soon.

Still looking for a second team review of this. Note my earlier requirement that these commits be squashed by someone before merge still stands.

@mattcaswell , you do realize that GitHub now provides a squash-merges right? Just go into your project settings and enable it. Then you can squash-merge messy PRs into a single commit. It's much easier and faster than asking contributors to use git rebase -i

I have squashed the commits into one.

@msimerson that doesn't work because our main repo is not in GitHub, but on our own servers and we push to Github.  But thanks!

Pushed. Thanks.


Reads in transactions

This might be a silly question but I noticed in your run_transaction example that the select wasn't explicitly added to the transaction.
Is it automatically part of the transaction? Can I be sure that the document(s) selected aren't updated by other queries/transactions while a transaction is working on them?

When you use high-level run_transaction API method, it implicitly does this before it calls user function:
            let db = self.clone_with_consistency_selector(
                FirestoreConsistencySelector::Transaction(transaction_id.clone()),
           );

meaning the instance you get in your function already has a consistency selector for all list or selects automatically, so you don't have to do it yourself. However, you actually can do additionally similar in your function, for example, if you want to use ReadTime instead of Transaction ID.
Talking about consistency implementation on Google, this is a good read:
https://firebase.google.com/docs/firestore/understand-reads-writes-scale#understand_a_read_transaction_in_the_storage_layer

PS it is not a silly question at all, read/write consistency is a complex issue in distributed systems.

Interesting read. Answers all kinds of questions I didn't know I had. Thank you again.

This is also a good link:
https://firebase.google.com/docs/firestore/manage-data/transactions#transaction_failure

The last will give you an idea, that ACID in Firestore is not actually something you usually see in RDBMS (PostgreSQL, etc).


Providing credentials for resolver

Hi... Is there a possibility to specify credentials for a custom resolver?
If there's, could you provide an example of that?

There isn't right now AFAIK; it shouldn't be hard to add, but you'll need to fiddle with the ivy stuff. Relevant code here https://github.com/lihaoyi/Ammonite/blob/3ccb6b18cd5a18ce63070b2179884995125aaa57/amm/runtime/src/main/scala/ammonite/runtime/tools/IvyThing.scala#L208

Adding
org.apache.ivy.util.url.CredentialsStore.INSTANCE.addCredentials(realm, host, username, password)

before the resolution seems to be a workaround.

Now that https://github.com/lihaoyi/Ammonite/issues/491 is fixed in https://github.com/lihaoyi/Ammonite/commit/daa476809a8307586dca30703ae7e7f8fba74ab8, you should be able to use Coursier's Repository APIs to add credentials to a particular repository, as described in https://github.com/coursier/coursier#api-1:

import coursier.core.Authentication

interp.repositories() ++= Seq(MavenRepository(
  "https://nexus.corp.com/content/repositories/releases",
  authentication = Some(Authentication("user", "pass"))
))

This should go out in the next version sometime this weekend

http://www.lihaoyi.com/Ammonite/#0.9.0 is out


Make some functions static if appropriate

After looking through the code, I've come to the realization that a lot of functions could be made static as they do not depend on any members from the class they are initialized in. The goal here is to reduce the amount of objects we have to pass to the constructor of other classes, in turn making the code easier to understand and manage.

It's not like you asked me to remove statics before ¯\_(ツ)_/¯.
👍 for this one.
Maybe Sponge will also mature in such things with the planned economy API refactor.

Yeah, I realized my mistake while looking over the code earlier today. Sorry about that.

No worries. :wink:


Little performance improvements

Hi,
i did some little clean ups in the code and converted the Krawl.Noop class to object as there is no need so instantiate a new class every time. Additionally i've used Sequences in the harvestLinks method. background:  https://blog.kotlin-academy.com/effective-kotlin-use-sequence-for-bigger-collections-with-more-than-one-processing-step-649a15bb4bf
Could you bump the dependencies before the next release?

Happy to bump the dependencies before the next release, but it may be a bit. I've started employment with a new company and need to get some legal things sorted before I can make any changes, otherwise I may be at risk of giving them copyright over any changes I make.


fix: update the existing_subnet_names variable description

Description

Release required?

[ ] No release
[x] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

Pipeline failed with:
Error: [0m Error: [ERROR] VPNServer failed Error Getting VPC Server: Get "https://eu-de.iaas.cloud.ibm.com/v1/vpn_servers/r010-aceb7e04-8dda-43f5-b6bb-4e2548498e1e?generation=2&version=2023-10-17": context deadline exceeded
│ null
│
│
│
│   with module.vpn.ibm_is_vpn_server.vpn,
│   on ../../main.tf line 58, in resource "ibm_is_vpn_server" "vpn":
│   58: resource "ibm_is_vpn_server" "vpn" {
│
╵}

Retrying..

/run pipeline

Hmm, pipeline failed again with:
Error: [0m Error: [ERROR] VPNServer failed The VPC route r026-0272dc84-e4a2-42db-b1c1-2631b39604eb failed to delete: Get "https://au-syd.iaas.cloud.ibm.com/v1/vpn_servers/r026-0272dc84-e4a2-42db-b1c1-2631b39604eb?generation=2&version=2023-08-08": context deadline exceeded

I'll try again..

/run pipeline

/run pipeline

I was not able to re-create the issue in local.

:tada: This PR is included in version 1.6.1 :tada:
The release is available on:

GitHub release
v1.6.1

Your semantic-release bot :package::rocket:


License

Can you add a license for this code? I made a fork and want to release my modifications.
If you have no preferences, something like MIT would be preferable.

I've been meaning to handle that proper for some time.
So, this project is heavily based off of one of the LUFA starter projects. LUFA is licensed under MIT, so I've added an MIT license to reflect that as well.


I can't get  websocket connection.

On Chrome console, I receive the following message:  "chatroom.php:72 WebSocket connection to 'ws://localhost:8080/' failed: Error during WebSocket handshake: Unexpected response code: 302";  "Connection Closed!"
And on Windows command prompt, I receive the following message:  "Fatal error: Uncaught RuntimeException: Failed to listen on "tcp://<IP_ADDRESS>:8080": An attempt was made to access a socke
t in a way forbidden by its access permissions."

sounds like that port is blocked by something else, did you try a different port?

Yes, I tried several different ports.  Also, I turned off the firewall and antivirus.  Nothing helps.  It did work on the beginning tutorial, Hello World.  Then suddenly stopped.  What could have blocked the port?

Sometimes I get the following message.   I removed ratchet package and reinstalled it on the first instruction, Hello World, code.  Now I am getting the following error on Windows command prompt, which states class 'MyApp\Chat' not found:
PHP Fatal error:  Uncaught Error: Class 'MyApp\Chat' not found in C:\xampp\htdocs\rachet_websocket\bin\server.php:12

I removed composer ratchet package from the code of Hello World, i.e., original tutorial, and reinstalled it.  Now on Windows command prompt, it says Server is connected, so I  am not getting error message.  But when I copy and paste the JavaScript code in Chrome console, I get the following error message:
VM11:1 WebSocket connection to 'ws://localhost:8080/' failed: Error during WebSocket handshake: Unexpected response code: 302

I could fix part of the problem, so now I can connect to XAMPP server.   I configured XAMPP to listen only to the IP Address of the localhost, i.e., Listen <IP_ADDRESS>:8080.   However, still I get the following error at Chrome console:
WebSocket connection to 'ws://localhost:8080/' failed: Error during WebSocket handshake: Unexpected response code: 302 (anonymous) @ chatroom.php:68 j @ jquery.min.js:2 k @ jquery.min.js:2 chatroom.php:82 Connection Closed!
Chrome console indicates that the problem is in the chatroom.php file in the following jquery code:
var conn = new WebSocket('ws://localhost:8080');

The problem apparently is with the Ratchet server library code because when I user another server, e.g.,  echo.websocket.org, the HTML5 websocket JavaScript code establishes a connection.   I have been using the same Ratchet code that has been posted by Ratchet.    However, I wonder why I am the only one who has gotten this problem?

sounds like a local issue on your machine then, as echo.websocket.org is a remote one.

Yes it is.   However, I have no problem using XAMPP localhost:8080 on other websites.  Probably I should try other PHP websocket server libraries or uninstall XAMPP and install WAMP instead.

I uninstalled XAMPP and installed WAMP instead.  Now I am getting 200 error message instead of 320 error message on Chrome console.
WebSocket connection to 'ws://localhost:8080/' failed: Error during WebSocket handshake: Unexpected response code: 200

You need to run the Ratchet script from a shell terminal. You don't access it through standard CGI.

Do you mean to run it from GIT Bash instead of Windows Command Prompt?   I did run it from GIT Bash; still I am getting the same error.

What do you mean by run the Ratchet script from a shell terminal?    I can get server connection both from GIT Bash and Windows Command Prompt.  However, on Chrome console I get error 200 message when I run it on WAMP server and I got error 320 message when I ran it on XAMPP server, as I stated above.

I am getting the same error message when haven't started Ratchet server as when I start Ratchet server:  WebSocket connection to 'ws://localhost:8080/' failed: Error during WebSocket handshake: Unexpected response code: 200.   So starting Ratchet server doesn't make any difference to websocket connection.

I want to run this program on my website on GoDaddy to see if it works on their computer.  How can I create a CRON job on GoDaddy shared hosting site?   Should it be as follows?
php public_html/ratchet_hello_world/bin/server.php,  or  php /usr/local/bin/ea-php56 /home/myusername/public_html/ratchet_hello_world3/bin/server.php, or should I write it differently?
Also what should I put for port number on bin/server.php file instead of 8080?

Here is more info.   I can get Telnet connection to the Ratchet server localhost.  However, after connection the blinking cursor doesn't move and I can't type anything into it.  After  I type something to it, e.g., ("Hello") and click return, I get  an error message, as attached images.

Your screen shots are missing the initial telnet command and the HTTP request you typed. However, based on the response it looks like you hit your Apache server, not the Ratchet server.

What do you mean by the screen shot missing the HTTP request that I typed?  I didn't type any HTTP request inside the command prompt.   However, I did type $ telnet localhost 8080.   What is the reason that it hit the Apache server and not the Ratchet server?    I suspect that Ratchet doesn't work on Windows 10.   I switched from WAMP to XAMPP, and tried running it on port 80.   It  didn't  help.  Now I am trying to run it on Ubuntu inside Virtualbox.     Should I make more changes inside the Apache server so Telnet connects to the Ratchet server instead of Apache server?

You don't need WAMP or XAMPP or anything like that for a Ratchet server.

What is the reason that it hit the Apache server and not the Ratchet server?

You requested the port that Apache is listening on. If 8080 is both the port Apache and Ratchet are listening on, that's the problem. Either shut down Apache, change its port, or change Ratchet's port and re-start your Ratchet process.

I could connect to Ratchet server without XAMPP.  Do I need Apache server then?   I could connect telnet to Ratchet; however, again I could not type anything into telnet after the connection.  After that I copied and pasted the JavasScript code into Chrome console, and after entering conn.send('Hello World!');  I was able to see Hello World! on Chrome console in another browser.   But I could not make the JavaScript code work on index.php file,  so I had to paste it in Chrome console to make it work.
Attached is the screenshot of the command prompt that shows it is connected.

What should I write in the URL after localhost:8080 to make index.php work?   The following URL doesn't work:  localhost:8080/ratchet_hello_world/index.php

I ran Apache server on port 8081, and I ran Ratchet server on port 8080.    I could make it work finally.  So I close this comment.   However on the next lesson, I have problem installing ZeroMQ extension.

you don't nessesarily need apache, but you need some kind of webserver (like apache, nginx, iis, ...) which will be responsible for to serve the HTML generated by your index.php script.
The (pure php) script using reatchet is then another server (not a webserver but a web_socket_server) which has nothing to do with your index.php

Yes, there are two server running side by side.  Chris Boden instructions says that the standard practice is to use nginx as a proxy.   So do I need nginx as a third server, so three servers running side by side?


Add License file to all docker images

🚀 Feature Request
Affected Services
All services created out of edgex-go
Description
Per architect's meeting of 4/20/20, all artifacts (snaps, docker images, etc.) should include the LICENSE and Attribution.txt at the root directory of the image (same place that the binary is placed).
Note:  it appears the Attribution.txt file is in most of the core and supporting services.

this was completed on Feb 22 by tconn

this was completed on Feb 22 by tconn


Added functionality to handle deployment on MicroK8s

What this PR does / why we need it:
Alleviates #11048
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)
fixes #11048
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[ ] DCO signed
[ ] Chart Version bumped
[ ] Variables are documented in the README.md

/assign @kfox1111


raftstore: move coprocessor out

Let ourside to create coprocessor host.

LGTM
PTAL @BusyJay

How about expose config::Config to raftstore? So you can still initialize CoprocessorHost in Store.

I am fine with it.
What's your opinion? @siddontang

How about expose config::Config to raftstore

Seem the dependency is strange.
If we don't want to create coprocessor host outside, I can accept add a raftstore.coprocessor config section like @overvenus previously did.


Update Composer dependencies (2021-09-01-00-04)

Visual regression test passed!
View the visual regression test report


pgtrigger causes exceptions when reversing migrations

pgtrigger attempts to create triggers using the post migrate signal – this signal is fired for forwards and reverse migrations. This is problematic as it is possible pgtrigger will attempt to create a trigger on a non-existent table, causing exceptions and preventing subsequent post-migrate signals from being fired.
Example:
Simple test model:
@pgtrigger.register(pgtrigger.Protect(name="cant_delete", operation=pgtrigger.Delete))
class TestModel(models.Model):
    ...

Running forwards, then reverse migrations:
$ ./manage.py migrate test_pg_trigger
Operations to perform:
  Apply all migrations: test_pg_trigger
Running migrations:
  Applying test_pg_trigger.0001_initial... OK

$ ./manage.py migrate test_pg_trigger zero
Operations to perform:
  Unapply all migrations: test_pg_trigger
Running migrations:
  Rendering model states... DONE
  Unapplying test_pg_trigger.0001_initial... OK
Traceback (most recent call last):
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/django/db/backends/utils.py", line 82, in _execute
    return self.cursor.execute(sql)
psycopg2.errors.UndefinedTable: relation "test_pg_trigger_testmodel" does not exist
CONTEXT:  SQL statement "CREATE TRIGGER pgtrigger_cant_delete_7dbde
                    BEFORE DELETE ON test_pg_trigger_testmodel

                    FOR EACH ROW
                    EXECUTE PROCEDURE pgtrigger_cant_delete_7dbde()"
PL/pgSQL function inline_code_block line 2 at SQL statement

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/path/to/project/./manage.py", line 22, in <module>
    main()
  File "/path/to/project/./manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/django/core/management/__init__.py", line 413, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/django/core/management/base.py", line 354, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/django/core/management/base.py", line 398, in execute
    output = self.handle(*args, **options)
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/django/core/management/base.py", line 89, in wrapped
    res = handle_func(*args, **kwargs)
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/django/core/management/commands/migrate.py", line 268, in handle
    emit_post_migrate_signal(
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/django/core/management/sql.py", line 46, in emit_post_migrate_signal
    models.signals.post_migrate.send(
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/django/dispatch/dispatcher.py", line 170, in send
    return [
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/django/dispatch/dispatcher.py", line 171, in <listcomp>
    (receiver, receiver(signal=self, sender=sender, **named))
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/pgtrigger/apps.py", line 9, in install
    pgtrigger.install(database=using)
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/pgtrigger/core.py", line 903, in install
    trigger.install(model)
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/pgtrigger/core.py", line 657, in install
    cursor.execute(rendered_trigger)
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/django/db/backends/utils.py", line 98, in execute
    return super().execute(sql, params)
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/django/db/backends/utils.py", line 66, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/django/db/utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/path/to/project/.direnv/python-3.9.0/lib/python3.9/site-packages/django/db/backends/utils.py", line 82, in _execute
    return self.cursor.execute(sql)
django.db.utils.ProgrammingError: relation "test_pg_trigger_testmodel" does not exist
CONTEXT:  SQL statement "CREATE TRIGGER pgtrigger_cant_delete_7dbde
                    BEFORE DELETE ON test_pg_trigger_testmodel

                    FOR EACH ROW
                    EXECUTE PROCEDURE pgtrigger_cant_delete_7dbde()"
PL/pgSQL function inline_code_block line 2 at SQL statement

@shangxiao thanks for bringing this one up. I believe that we might have the same issue for triggers with conditions on columns that are deleted too. Unfortunately there is no easy and complete fix for this until it is completely integrated with the migration system, which I will elaborate on more at https://github.com/Opus10/django-pgtrigger/issues/25
One possible thing I can do here is to at least ignore creating triggers when the table doesn't exist. I will need to think about it a bit more, but I don't believe there are any ramifications of doing this simple check.

FYI @shangxiao I'm going to be actively keeping https://github.com/Opus10/django-pgtrigger/issues/25 up to date since I will be implementing the installation of triggers in Django migrations.
I will keep this current issue open and close it after it has been resolved. For now, follow https://github.com/Opus10/django-pgtrigger/issues/25 for generating triggers in django migrations

@shangxiao triggers are now integrated into the migration system and #25 is closed


margins get counted double

In this code:
this._width = this.options.width - this._margin.left - this._margin.right;
this._height = this.options.height - this._margin.top - this._margin.bottom;
this._mappings = this.options.mappings;
this._svgWidth = this._width - this._margin.left - this._margin.right;
this._svgHeight = this._height - this._margin.top - this._margin.bottom;
var svg = this._svg = d3.select(this._container)
    .append("svg")
    .attr("width", this._svgWidth + this._margin.left + this._margin.right)
    .attr("height", this._svgHeight + this._margin.top + this._margin.bottom)

the margin gets counted double. The resulting SVG element should have the width and height specified in the options, but instead _width has the margins subtracted from options.width, and then _svgWidth has then subtracted a second time (and they get then added again).
_width and _height should be set to whatever is set in the options, without subtracting the margins.
A workaround is to increase width and height in the specified options by adding the margin to them.

@cdauth thank you. This repository is currently not maintained due to lack of resources - feel free to pull request, I will accept.


MavenEntries will not be transferred

Hi!
It seems that the MavenArchiveConfiguration which i configured in my pom.xml will not be transferred in the final MANIFEST.MF. This should fix it.

R: @jbonofre


Feature/use discovery endpoint

Required for: https://github.com/open-zaak/open-zaak/pull/999

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@72e3f04). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #10   +/-   ##
=========================================
  Coverage          ?   89.39%
=========================================
  Files             ?       18
  Lines             ?      349
  Branches          ?        0
=========================================
  Hits              ?      312
  Misses            ?       37
  Partials          ?        0

Continue to review full report at Codecov.

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


Add timezone options to date pickers (used, for example, in table filters)

At this time, this affects the date pickers shown in the filter popout on the Requests page, but a solution should be general enough to be adopted elsewhere without major headaches.
The logic that the date pickers (on that page) call assumes UTC for entered dates, which is not the correct way to go. As it turns out, the picker components themselves are agnostic as to timezone. That is controlled by the Localization.Provider, currently provided in App.tsx.
Consequently, the approach that may make the most sense is for there to be a globally defined timezone for the app. This could potentially be something accessible via the option menu.
A fix would need to address several issues:

If there isn't a globally defined timezone, we must provide a way (in the popout on that page) to specify the timezone. It is probably out of scope to look into overriding/extending the MUI component, so this should probably be an additional component added to the popout.
Have dates then provided by the DesktopDateTimePickers reflect that timezone, regarless of whether the global timezone is defined or not.
Have components that work with the dates (e.g. the MUI Chips displayed by the FilterChipBar component) reflect that timezone.
Have logic that uses dates created by these components correctly convert them to a format usable by the backend, which in the case of filters expects the number of milliseconds since the epoch.
There will be other places where a datetime picker will be used. For example, on the scheduling page (a WIP), dates and times are important. If a timezone is defined globally, a design decision will have to be made as to whether scheduling can override that timezone. In other words, a user could set a global timezone of UTC but then schedule a job using local time.

Let's just assume a global timezone of UTC on both the backend and frontend.  We'll want any date pickers to at least make it clear that UTC is the timezone we're operating in.


feat(exporter): exporting values from results table

Description of changes
Allowing the results table to be exported regarding whats shown on the GUI
Issue number: #4
After query:

Export:

Currently exporting table from results from GUI, llm response is not being parsed correctly into results table, therefore is exporting as above

Couple comments made- can you resolve merge conflicts too?

Removed debug statements and solved merge conflicts


⚠ Spryr has degraded performance

In 152e6b1, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 5244 ms

Resolved: Spryr performance has improved in 275d688 after 11 minutes.


Limits name length of claimtrie transactions to 255 bytes

This patch limits name length of claimtrie transactions to 255 bytes at most.
This is a soft fork, and nodes should upgrade immediately.

I don't know c++ or the lbrycrd code well enough to give a thumbs up so will defer that to somebody else.

fixed comments, and squashed. @jimmykiselak  gave a review and Ok on slack.


Implement IP based rate limiting

In order to prevent spam we should implement rate limiting, probably based on IP numbers. This can be done by creating an index in ElasticSearch where each document represents an IP (approximated user), a timestamp (when the user of the ip added an event), the url added, and so forth. Each request can represent one event add-request.
Each time a new request ticks in we can check the timestamp for when the IP was last used to add an event. We can also check how many events the IP tried to add the last five minutes (or some other value). These two properties will probably be enough to prevent the worst types of spam. Perhaps we could redirect the users to https://en.wikipedia.org/wiki/Spam_(food) if they try inserting to many events at once.

Er det åpent for å legge inn events uten å authentifisere seg? Ville
lagt rate limit på en user / API token som dermed går på tvers av
botnettet. :p
On 9/5/15, Snorre Magnus Davøen<EMAIL_ADDRESS>wrote:

In order to prevent spam we should implement rate limiting, probably based
on IP numbers. This can be done by creating an index in ElasticSearch where
each document represents an IP (approximated user), a timestamp (when the
user of the ip added an event), the url added, and so forth. Each request
can represent one event add-request.
Each time a new request ticks in we can check the timestamp for when the IP
was last used to add an event. We can also check how many events the IP
tried to add the last five minutes (or some other value). These two
properties will probably be enough to prevent the worst types of spam.
Perhaps we could redirect the users to
https://en.wikipedia.org/wiki/Spam_(food) if they try inserting to many
events at once.

Reply to this email directly or view it on GitHub:
https://github.com/pilsprog/paraply2/issues/1

The event(group) submission form is completely open, no user authentication required. The idea is to make it super simple to add events and event groups. Registering av user or authenticating with Google, Facebook, etc does not a super simple submission form make.
But yes, user/authentication token would solve bot-net issues quite nicely. As a first measure I think rate-limiting a single IP address would be enough for now. The Paraply app only accepts Facebook, Meetup, and Eventbrite events anyway, so bot nets would not have much to gain by spamming us.

Implemented super simple rate limiting in 8acde993b506a93f4bed21c80db236705b0b9b52. Right now it is not configurable, but that can be done if there is a need to set time period and max requests.


Can't get token - 403

https://dev.botframework.com/bots/new
opens with Error 403 - This web app is stopped.

It seems to be working.

Thanks,
looks like problem was in my safari.


Banner: Set expectations for new UI and release (2 banners, before and after release)

User story: Persona based
As a form builder and stakeholder
I need to know what is going to change in the form builder
So that I don't get lost
Story context
Link to relevant user research, analytics, data, or design documentation
Acceptance criteria

[ ] feature provides equal service in French and English.
[ ] feature works on Chrome, Firefox, Edge, Safari, and Opera.
[ ] component provides and auto-fill response if the field is saved on the end-users browser.
[ ] component provides error messages and validation.
[ ] goal can be completed using a screen reader.
[ ] visual elements observe colour contrast requirements.
[ ] manual accessibility testing meet WCAG 2.1 AA requirements.
[ ] risk register is updated to reflect new risks and their treatments. Treatments are implemented or a new card is created.
[ ] feature collects the data intended, stores, and submits it in the correct format via email, API, or other retrieval method

@samsadasivan is there a concept already under development somewhere in Figma?

https://www.figma.com/design/bIcbQm61JbkCy9Nu8XE7u6/Conditional-logic-Alpha?m=dev#874716701


My Unet scritp is not working propperly.

The UnetTransport script that is associated with network manager component is  acting weird, it doesn't "exist" but it still there, i'm confused...

when i try to add directly from the folder i get this:

And it doesn't matter how many times i select the transport before hit play on the scene, it loses the refference every time.

I'm using Unity 2020.1.16f1 (LTS) version, and i've installed the mlapi from unity package, using git url.
Sorry if i'm not providing any relevant or detailed information, but i'm a beginner with networking topics, but i hope if you could help me to solve this. Thanks in advance.

I also have this issue , will update unity version help?


Swift format for consistent whitespace

Add a swift-format file and apply whitespace formatting using the swift-format tool.
It does however also reformat some other things, eg breaking up long lines. Not sure what you think of this, maybe it is ok to have mixed whitespace, as you already mention in the existing readme (?)
This depends on #9 to be merged first, changes included here to avoid conflicts.

We can wait with this until other changes are in place, will cause some merge conflicts otherwise

Ack, I messed this one up because I squashed #9.


Add TypeScript client library for kubernetes

Add  TypeScript client library for kubernetes

This change is

Sorry for my mistake, I will correct the the URL with Goyoo .

I made another PR for this https://github.com/kubernetes/kubernetes.github.io/pull/4521.


bump azure-cli and azure-cli-core to 2.31.0

Summary of the Pull Request
Had to include cred_wrapper.py see app-insights Python package does not handle newer authentication APIs. see azure sdk authentication docs

Note, it's a bug that the DefaultAzureCredential isn't supported by the azure-mgmt components.
I had a work item open for the components I was checking, but the SDK team recently closed it.  If you can enumerate the SDKs that it doesn't work with you should open a bug with the SDK  (or let me know which ones they are, and I'll reopen my ticket).
https://github.com/Azure/azure-sdk-for-python/issues/9310


Missing Step - Need to Set Buttons Y Position to -0.1

The figure for this tutorial shows the buttons object at Y = -0.1 but this prefab's default
is y = 0.45. Is there a missing step in the instructions? I set Y = -0.1 to make the scene
consistent with the figures.
Thank you.
Howard

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

ID: 19d6068a-8891-8072-20f4-e162462140b9
Version Independent ID: 8bbeeef9-399f-0af2-ba63-30bfe0efc4c3
Content: Multi-user capabilities tutorials - 5. Integrating Azure Spatial Anchors into a shared experience - Mixed Reality
Content Source: mixed-reality-docs/mr-dev-docs/develop/unity/tutorials/mr-learning-sharing-05.md
Product: mixed-reality
Technology: mr-dev
GitHub Login: @jessemcculloch
Microsoft Alias: jemccull

Hi @hwinstonuconn,
I checked the tutorial assets and the Button.prefab Y position is -0.1.
I think what happened is that you accidentally parented the Buttons to the SharedPlayground object:

then reparented it to the TableAnchor object:

Because the Y positions relative to the SharedPlayground object was -0.1 for the Button object and -0.55 for the TableAnchor object, the new local Y position for the Button object becomes (-0.1)-(-0.55) = 0.45.
__
@hferrone, I believe this issue can be closed.


Save Song Popover and User Search Presentation

When plus button on FeedViewController is clicked, displays a popover. When user clicks on a user view cell while searching, pushes to that user's profile.

Looks good!

Closes issue #13


Crash app when execute many times Future objects

I call executeNext() more than 500 times, app crash. I tested with physical device
This is my sample code. Please helps me!
class ViewController: UIViewController {
    enum TestError: Error {
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        executeAll(number: 0).onSuccess {
            print("success")
        }
    }

    private func executeAll(number: Int) -> Future<Void, TestError>{
        return executeNext(number: number)
    }

    private func executeNext(number: Int) -> Future<Void, TestError> {
        let promise = Promise<Void, TestError>()
        executeOne(number: number).onSuccess {
            if number == 1000 {
                promise.success({}())
            } else {
                promise.completeWith(self.executeNext(number: number + 1))
            }
        }
        return promise.future
    }

    private func executeOne(number: Int) -> Future<Void, TestError> {
        let promise = Promise<Void, TestError>()
        promise.success({}())
        return promise.future
    }
}

Thank you!

Thanks for the code. If it is reproductible I will look at
If there is a crash you must have information to give, error code and message, thread dump etc...

Thread 1: EXC_BAD_ACCESS (code=2, address=0x7ffee7eeb298)
here ?

extension Async: MutableAsyncType {
    @discardableResult
    func tryComplete(_ value: Value) -> Bool{
        return queue.sync {

I make some monitoring by printing the current label queue before the queue.sync
I use 10000 as "number"
extension DispatchQueue {
    class var currentLabel: String {
        return String(validatingUTF8: __dispatch_queue_get_label(nil))!
    }
}

And main thread is used until 10002
0 com.apple.main-thread
1 com.apple.main-thread
2 com.apple.main-thread
3 com.apple.main-thread
4 com.apple.main-thread
5 com.apple.main-thread
6 com.apple.main-thread
...
9997 com.apple.main-thread
9998 com.apple.main-thread
9999 com.apple.main-thread
10000 com.apple.main-thread
10001 com.apple.main-thread
10002 Internal Async Queue
10003 Internal Async Queue
10004 Internal Async Queue
...
135 Internal Async Queue
12136 Internal Async Queue

I have the issue with simulator between 2100 and 2200

Thanks for report @oVuTrongThien, thanks @phimage for looking into it. I think this is similar to a stack overflow for deep recursive code. Not much we can do about it, I think. What could work is scheduling some of the work in an asynchronous fashion.


Play button in fullscreen video doesn't work

When a HLS video is being played on Fullscreen mode, the play button doesn't work. Please can you advise me on what to do regarding this?

I realize that I was using the RealTimePlayer that came with a previous version. The regular FijkPlayer fixed this issue.


Add proxy server configuration option for improved network speeds

Dear developer,
I hope this message finds you well. I am a user of your logseq-plugin-gpt3 project and I have been experiencing slow network speeds when using the project from China. I believe this is due to the lack of a proxy server configuration option in the project.
I would like to kindly request that you consider adding a proxy server configuration option to the project, so that users from China can enjoy faster network speeds. I understand that this may require some additional work on your part, but I believe it would greatly benefit the project and its users.
Thank you for your time and consideration. Please let me know if there is anything I can do to assist with this request.
Best regards, p1s1ver.
Let me know if you have any other questions or if there's anything else I can help you with!

Yes, I really need this feature as well.

@p1s1lver Logseq already has the builtin Proxy configuration in: Menu -> Advance -> Network Proxy . You can set it and check if it works as expected .

@p1s1lver Logseq already has the builtin Proxy configuration in: Menu -> Advance -> Network Proxy . You can set it and check if it works as expected .

thanks bro

Looks like this should be implemented in #110
Feel free to reopen if anything else is needed!


Strict C warnings

Enable warnings when compiling C code
In particular, enable warnings for stricter C.
See https://lwn.net/Articles/913505/.
Fix strict-prototypes warnings
In all cases, the functions don't expect argument, so replacing with
void is fine. Otherwise, the functions would accept any number of
arguments.

Thank you! I've merged the void function signatures. I haven't merged the warnings flags, because it seems to me like that would be a potential portability issue at the compiler command line interface. I tested what happens when gcc receives a warning flag that it does not recognize, and it fails. It seems that in the general case, we would have to have a discovery script to find out which warnings flags our compiler supports, but I'd like to avoid that. Please let me know if any of this is inaccurate. I'll propagate te fixed prototypes to shims.h.

You're right, this was an oversight from me. It's ok as-is with the C patches.