uptime-kuma container image and logs

Hi there
I run uptime-kuma as a container behind a nginx reverse proxy.  Everything is working fine except except seeing the following entries filled up the docker log.  If I do not do anything, it would fill up the 20GB of the host storage in a few days.  It may well be my set up though.
Here are the logs:
{"log":"Timeout duration was set to 1.\n","stream":"stderr","time":"2021-11-09T14:18:37.638861043Z"}
{"log":"(node:7) TimeoutOverflowWarning:<PHONE_NUMBER> does not fit into a 32-bit signed integer.\n","stream":"stderr","time":"2021-11-09T14:18:37.640455606Z"}
{"log":"Timeout duration was set to 1.\n","stream":"stderr","time":"2021-11-09T14:18:37.640466647Z"}
{"log":"(node:7) TimeoutOverflowWarning:<PHONE_NUMBER> does not fit into a 32-bit signed integer.\n","stream":"stderr","time":"2021-11-09T14:18:37.642007007Z"}
Here is a subset of the docker-compose.yaml file related to uptime-kuma:
uptime-kuma:
image: louislam/uptime-kuma
container_name: uptime-kuma
volumes:
- ./data/uptime-kuma:/app/data
logging:
options:
max-size: "10m"
max-file: "3"
TIA.

Hey, I also have this problem. After filling up my disk, Uptime-Kuma then crashes... Here are my logs:
uptime-kuma_1  | 2022-05-16T08:40:29.931445773Z ==> Performing startup jobs and maintenance tasks                                                                        uptime-kuma_1  | 2022-05-16T08:40:29.940975823Z ==> Starting application with user 0 group 0
uptime-kuma_1  | 2022-05-16T08:40:30.074745561Z Welcome to Uptime Kuma                                                                                uptime-kuma_1  | 2022-05-16T08:40:30.078726295Z Your Node.js version: 16                                                                                uptime-kuma_1  | 2022-05-16T08:40:30.103750166Z 2022-05-16T08:40:30.102Z [SERVER] INFO: Welcome to Uptime Kuma
uptime-kuma_1  | 2022-05-16T08:40:30.103827748Z 2022-05-16T08:40:30.103Z [SERVER] INFO: Node Env: production                                                             uptime-kuma_1  | 2022-05-16T08:40:30.103838851Z 2022-05-16T08:40:30.103Z [SERVER] INFO: Importing Node libraries
uptime-kuma_1  | 2022-05-16T08:40:30.104747713Z 2022-05-16T08:40:30.104Z [SERVER] INFO: Importing 3rd-party libraries
uptime-kuma_1  | 2022-05-16T08:40:30.885943231Z 2022-05-16T08:40:30.885Z [SERVER] INFO: Creating express and socket.io instance                                          uptime-kuma_1  | 2022-05-16T08:40:30.888482145Z 2022-05-16T08:40:30.888Z [SERVER] INFO: Server Type: HTTP
uptime-kuma_1  | 2022-05-16T08:40:30.892372827Z 2022-05-16T08:40:30.892Z [SERVER] INFO: Importing this project modules
uptime-kuma_1  | 2022-05-16T08:40:31.217761861Z 2022-05-16T08:40:31.217Z [NOTIFICATION] INFO: Prepare Notification Providers                                             uptime-kuma_1  | 2022-05-16T08:40:31.406627661Z 2022-05-16T08:40:31.406Z [SERVER] INFO: Version: 1.15.1
uptime-kuma_1  | 2022-05-16T08:40:31.431741432Z 2022-05-16T08:40:31.431Z [DB] INFO: Data Dir: ./data/                                                                    uptime-kuma_1  | 2022-05-16T08:40:31.432461862Z 2022-05-16T08:40:31.432Z [SERVER] INFO: Connecting to the Database                                                       uptime-kuma_1  | 2022-05-16T08:40:32.930818897Z 2022-05-16T08:40:32.930Z [DB] INFO: SQLite config:
uptime-kuma_1  | 2022-05-16T08:40:32.936047579Z [ { journal_mode: 'wal' } ]                                                                                uptime-kuma_1  | 2022-05-16T08:40:32.937968346Z [ { cache_size: -12000 } ]
uptime-kuma_1  | 2022-05-16T08:40:32.943956942Z 2022-05-16T08:40:32.943Z [DB] INFO: SQLite Version: 3.38.2
uptime-kuma_1  | 2022-05-16T08:40:32.944127361Z 2022-05-16T08:40:32.943Z [SERVER] INFO: Connected
uptime-kuma_1  | 2022-05-16T08:40:32.947990660Z 2022-05-16T08:40:32.947Z [DB] INFO: Your database version: 10
uptime-kuma_1  | 2022-05-16T08:40:32.948227714Z 2022-05-16T08:40:32.947Z [DB] INFO: Latest database version: 10
uptime-kuma_1  | 2022-05-16T08:40:32.948358614Z 2022-05-16T08:40:32.948Z [DB] INFO: Database patch not needed
uptime-kuma_1  | 2022-05-16T08:40:32.948930955Z 2022-05-16T08:40:32.948Z [DB] INFO: Database Patch 2.0 Process
uptime-kuma_1  | 2022-05-16T08:40:32.968883153Z 2022-05-16T08:40:32.968Z [SERVER] INFO: Load JWT secret from database.
uptime-kuma_1  | 2022-05-16T08:40:32.973735983Z 2022-05-16T08:40:32.973Z [SERVER] INFO: Adding route
uptime-kuma_1  | 2022-05-16T08:40:32.994128245Z 2022-05-16T08:40:32.993Z [SERVER] INFO: Adding socket handler
uptime-kuma_1  | 2022-05-16T08:40:32.994461248Z 2022-05-16T08:40:32.994Z [SERVER] INFO: Init the server
uptime-kuma_1  | 2022-05-16T08:40:33.012729008Z 2022-05-16T08:40:33.012Z [SERVER] INFO: Listening on 3001
...
uptime-kuma_1  | 2022-05-16T08:40:56.386548702Z 2022-05-16T08:40:56.386Z [MONITOR] INFO: Monitor #49 'Zero': Successful Response: 117 ms | Interval: 60 seconds | Type: p
ing                                                                                uptime-kuma_1  | 2022-05-16T08:40:58.842368475Z 2022-05-16T08:40:58.842Z [MONITOR] INFO: Monitor #13 'Luke (Tunnel)': Successful Response: 109 ms | Interval: 20 seconds
| Type: ping
uptime-kuma_1  | 2022-05-16T08:41:00.588931805Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>0 does not fit into a 32-bit signed integer.                                  uptime-kuma_1  | 2022-05-16T08:41:00.589028690Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:00.589053792Z (Use `node --trace-warnings ...` to show where the warning was created)                                                  uptime-kuma_1  | 2022-05-16T08:41:00.593259308Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>0 does not fit into a 32-bit signed integer.                                  uptime-kuma_1  | 2022-05-16T08:41:00.593321912Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:00.596776703Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>0 does not fit into a 32-bit signed integer.                                  uptime-kuma_1  | 2022-05-16T08:41:00.596826756Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:00.597758476Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>0 does not fit into a 32-bit signed integer.
uptime-kuma_1  | 2022-05-16T08:41:00.597774620Z Timeout duration was set to 1.
...
uptime-kuma_1  | 2022-05-16T08:41:09.456606452Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:09.458926136Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>00 does not fit into a 32-bit signed integer.
uptime-kuma_1  | 2022-05-16T08:41:09.458951963Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:09.459664156Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>0 does not fit into a 32-bit signed integer.
uptime-kuma_1  | 2022-05-16T08:41:09.459682410Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:09.460235585Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>00 does not fit into a 32-bit signed integer.
uptime-kuma_1  | 2022-05-16T08:41:09.460251975Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:09.461106177Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>0 does not fit into a 32-bit signed integer.
uptime-kuma_1  | 2022-05-16T08:41:09.461131148Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:09.461965857Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>00 does not fit into a 32-bit signed integer.
uptime-kuma_1  | 2022-05-16T08:41:09.461982647Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:09.463152596Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>0 does not fit into a 32-bit signed integer.
uptime-kuma_1  | 2022-05-16T08:41:09.463168717Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:09.463616969Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>00 does not fit into a 32-bit signed integer.
uptime-kuma_1  | 2022-05-16T08:41:09.463632399Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:09.466871964Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>0 does not fit into a 32-bit signed integer.
uptime-kuma_1  | 2022-05-16T08:41:09.466890621Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:09.468049091Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>00 does not fit into a 32-bit signed integer.
uptime-kuma_1  | 2022-05-16T08:41:09.468065663Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:09.468998784Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>0 does not fit into a 32-bit signed integer.
uptime-kuma_1  | 2022-05-16T08:41:09.469016129Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:09.469829721Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>00 does not fit into a 32-bit signed integer.
uptime-kuma_1  | 2022-05-16T08:41:09.469850488Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:09.470554757Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>0 does not fit into a 32-bit signed integer.
uptime-kuma_1  | 2022-05-16T08:41:09.470570976Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:09.470960702Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>00 does not fit into a 32-bit signed integer.
uptime-kuma_1  | 2022-05-16T08:41:09.470977420Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:09.471718402Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>0 does not fit into a 32-bit signed integer.
uptime-kuma_1  | 2022-05-16T08:41:09.471734450Z Timeout duration was set to 1.
uptime-kuma_1  | 2022-05-16T08:41:09.474330245Z (node:7) TimeoutOverflowWarning:<PHONE_NUMBER>00 does not fit into a 32-bit signed integer.

I really hope this can be fixed, without reformatting the database...

@louislam This is true, these are some push checks, which are checked once a month or year. As you introduced a limit in bf49a548c73c7b39a27e2bfe38b0a353a67edc3b this would sort of defeat this use-case. I also think it is interesting, that this error even then occurs, when the respective checks are paused...
Do you think it would be (easily) possible to allow for these longer push-checks?

Uptime Kuma is not designed for that long unfortunately, due to JavaScript's setTimeout accepts only<PHONE_NUMBER>ms (24.8 days). A number larger that this will cause error log flooding like your log.


Ability to discard unsent messages in bulk

Sent a few messages yesterday that could not get delivered, so now Riot asks me if I want to resend them.

I don't, or not in this case anyway.
I can go through scrollback and redact all messages to make the little reminder go away, but it'd be great too if I could press on the warning sign (like on iOS) and be given the option to delete them all.
Thanks for your consideration.

Notice that even long tapping on the warning icon is not an obvious behaviour.

Maybe the message can be changed to "Messages not sent. Options.'
Then, pressing "options" can pop up a menu with "Resend Now" and "Discard".

duplicate of
https://github.com/vector-im/riot-android/issues/793


Add tests for getDocIds, getDocContent

Changes to addMetaData method
Tests for getDocIds and getDocContent

Change the summary to something like "Combine addMetadata code blocks". If we want to call out adding the tests, we should just add them in a separate CL, but I don't think that's necessary. We're doing some refactoring, and adding tests in support of that.

I played around with the config properties. It looks like the createStandardConfig method is interfering with the normal adaptor behaviors. We do worry about that separately.


Raw String Literals

Raw String Literals aka. heredoc can be useful for conveniently coding in multi-line string literals or Windows file paths.
Example syntax:
print(R"(Hello \ World!)")

The multi-line string syntax [[hello world]] already provides raw string stuff, and I think that addresses heredoc but I might've misunderstood.

Wait, this is already a lua feature?!

Yeah. I don't really like how you need to do a multi-line string for a raw literal, but it's there nonetheless.


[WIP] Creating operator block

This is the equivalent of a torch.Module/tf.Layer in a NVTabular workflow. This enables grouping various ops together in a single data-structure.

I see that LogNormalize uses OperatorBlock and some kind of sub-graph abstraction definitely makes sense to me. Aside from LogNormalize are there other current use cases for this? Wondering because the discussion about ColumnGroup functioning as both a group of columns and as a transform graph node makes me think we might want to tackle splitting ColumnGroup and creating a sub-graph/block abstraction together in order to end up with a cleaner set of graph abstractions.


Window shifts upwards when Calendar is displayed

Before Submitting: Double-check that you are running the latest version of the plugin. The bug might have already been fixed 😄

Describe the bug
Whenever I have this plugin enabled my entire window shifts upwards so that the tab bar is no longer visible. This sometimes can be fixed by disableing the plugin, sometimes waiting is involved, and sometimes I
Steps to reproduce

Enable plugin
Wait or display calendar
be anoyed

Expected behavior
To sit there and not break he UI
Screenshots

Environment (please specify)
OS
Windows. The toolbar is set to hide itself when not in use. Rainmeter is installed and drawing over all apps. Walpaper engine is also doing its thing.
Obsidian Version (e.g. v0.10.6)
V1.0.3
Even with all my plugins disabled except for Calendar, the problem persists. However, disabling/enabling plugins or themes does temporarily reset the window.
Theme (if applicable):
Minimal, but changing doesn't affect anything.

I experience exactly the same issue.
Regardless of the theme used.

Here is how to fix it:
https://github.com/liamcain/obsidian-calendar-plugin/issues/270#issuecomment-1595584717


change FileManager.default() class function to static let

to match Darwin version as of Xcode 8

Looks good.

@swift-ci please test

@jpsim This needs rebasing.

rebased

LGTM as well.
@swift-ci please test and merge.

@swift-ci please test.

@jpsim Looks like you missed something in NSTask.swift.

Indeed. Fixed.

Once more, with feeling.
@swift-ci please test.

This should be merged with apple/swift-package-manager#584

Unfortunately this has been conflicted... @jpsim I can shepherd landing this (swift-ci can't handle multi-repo PRs yet) if someone rebases it.

@ddunbar rebased again 😅

Thanks, testing now...

Merged, thank you!


There must be a blank line to parse the whole My-Maps.csv

Hi, as the title say, there must be a blank line after the last item to parse the whole file. If there is not, the last workshop item is not downloaded. Maybe it affects the other files too. It is not a crucial problem, but it should be noted at least :)

Committed some fixes, please try now :)

Hmm... I think this will only fix the EOLs after it applies the config, lemme check...

Yup.... let me fix this... again :D

Alright, this should actually work now, please check :)

sudo -iu steam
cd killinuxfloor
git pull

I added map, it works. Thanks.

Awesome, thanks a lot for your reports :))


Update documentation to install latest version of bcc

Feature Request
Short Description
Currently documentation mentions to only install bcc and doesn't specify that the version should be 0.21.0 or greater (here https://github.com/kubearmor/KubeArmor/blob/main/getting-started/kubearmor_vm.md), this causes KubeArmor failing in initializing system monitor upon deployment if the user installs lower version of bcc (for eg: using package manager)
Is your feature request related to a problem? Please describe the use case.
Older bcc and newer kernel version have issue where bcc internal bpf.h doesn't define BPF_SK_LOOKUP but newer kernel header file uses it
Issue: https://github.com/kubearmor/KubeArmor/issues/200
Describe the solution you'd like
Mention in documentation to install latest version of bcc (0.21.0 or greater)

Hey @Ankurk99 , I did like to work on this issue .

Please reach out on Slack if you have any questions.


Document how binaries are created

Describe the solution you'd like
Add a section to CONTRIBUTING.md showing how to compile the binaries.
Describe alternatives you've considered
Provide a GitHub Actions workflow that automates the binary creation process for new releases.

Binaries for OSX might be tricky.. But yes to the others!

#134 now provides a GitHub Action to build binaries for everything except macos/arm64
The steps to sign macOS binaries still need to be documented. @cconstab can we get a quick'n'dirty answer here with a chunk of your shell history?

My Pi script as was
#!/bin/bash
cd ~/sshnoports
git stash
git checkout trunk
git pull --ff-only
/usr/local/dart-sdk/bin/dart pub upgrade
/usr/local/dart-sdk/bin/dart compile exe -o ~/sshnp/sshnpd bin/sshnpd.dart
/usr/local/dart-sdk/bin/dart compile exe -o ~/sshnp/sshnp bin/sshnp.dart
/usr/local/dart-sdk/bin/dart compile exe -o ~/sshnp/at_activate bin/activate_cli.dart
cp scripts/* ~/sshnp
cd
tar zcvf sshnp_linux_armv7.tar.gz sshnp

Thanks @cconstab
The scripts I created seem to pretty much replicate what you originally commented above (before it was stomped by the GDocs link).
I'll do some more research on how feasible it is to automate the signing process.


Hard to override subscribe_* methods

The intention of the Middleware type is that you can override the functionality of any of the provider-level methods, but it seems hard to override subscribe et al since SubscriptionStream requires a Provider and not just a PubsubClient.
How would you override subscribe from a middleware to e.g. call parity_subscribe for parity_* RPC calls?

Perhaps a middleware is not the best choice here. I think it'd be best if we added the parity_* calls on Provider and then have a boolean check which tells the SubscriptionStream to call eth_subscribe or parity_subscribe. What do you think?

Perhaps a middleware is not the best choice here. I think it'd be best if we added the parity_* calls on Provider and then have a boolean check which tells the SubscriptionStream to call eth_subscribe or parity_subscribe. What do you think?

Sure, that could work too.

Sure, that could work too.


Implement FreeSurfer parsing

The computation currently only supports basic matrices. To function within COINSTAC the computation must:

[ ] Parse a COINSTAC project’s FreeSurfer files
[ ] Parse a COINSTAC project’s covariates metadata CSV and map covariates to their corresponding files
[ ] Pick the region of interest from the parsed FreeSurfer files dynamically
[ ] Build corresponding matrices and run them through ridge regression
[ ] Add tests

Isolating local preprocessing from MRN-Code/decentralized-laplacian-ridge-regression might eliminate the need for most of this. We could move it into a shared lib.


Disable SonarQube suggesting for-in loops instead of for-loops

Idea
For-in loops are more suited for object iteration, not array iteration. For-in loops are slower.
https://stackoverflow.com/questions/242841/javascript-for-in-vs-for

@NikitaLejnev @NeilChaudhari
Since we three are the top contributors in terms of commits, what would you say about getting rid of SonarQube? I've been analyzing the number of commits and code growth, and we seem to be slowing down noticeably since we added SonarQube.  Let me know down below.

@NikitaLejnev @NeilChaudhari
Since we three are the top contributors in terms of commits, what would you say about getting rid of SonarQube? I've been analyzing the number of commits and code growth, and we seem to be slowing down noticeably since we added SonarQube.  Let me know down below.

@NikitaLejnev I agree, would love to see it gone.

@NikitaLejnev I agree, would love to see it gone.

Ok- SonarQube is gone! 🎉

Ok- SonarQube is gone! 🎉


Example not working with bun (locally) + cloudflare workers

Bug report
Describe the bug
The code example does not work when trying to implement with hono and cloudflare workers.
Simulating a checkout session with the stripe cli returns an error:
[wrangler:inf] POST /api/stripe/signature-success 400 Bad Request

To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

in index.ts instantiate stripe for all routes and make a stripe success route

app.use("*", async (context, next) => {
  // Load the Stripe API key from context.
  const { STRIPE_API_KEY: stripeKey } = env(context);

  // Instantiate the Stripe client object
  const stripe = new Stripe(stripeKey, {
    appInfo: {
      // For sample support and debugging, not required for production:
      name: "stripe-samples/stripe-node-cloudflare-worker-template",
      version: "0.0.1",
      url: "https://github.com/stripe-samples",
    },
    maxNetworkRetries: 3,
    timeout: 30 * 1000,
  });

  // Set the Stripe client to the Variable context object
  context.set("stripe", stripe);

  await next();
});

// The route for the stripe webhook
app.route("/api/stripe/signature-success", stripe_success);

in stripe/success.ts

app.post("/", async (c) => {

  // Load the Stripe API key from context.
  const { STRIPE_WEBHOOK_SECRET } = env(c);
  const rawBody = await c.req.text();
  const signature = c.req.raw.headers.get("stripe-signature");
  /**
   * Load the Stripe client from the context
   */
  const stripe = c.get("stripe");
  const eventBody = JSON.parse(rawBody);

  // verify stripe signature

  try {
    if (!signature) {
      return c.text("no signature found!", 400);
    }
    const body = await c.req.text();
    const event = await stripe.webhooks.constructEventAsync(
      body,
      signature,
      STRIPE_WEBHOOK_SECRET
    );
    switch (event.type) {
      case "checkout.session.completed": {
        console.log(event.data.object);
        break;
      }
      default:
        break;
    }
    return c.text("", 200);
  } catch (err) {
    const errorMessage = `⚠  Webhook signature verification failed. ${
      err instanceof Error ? err.message : "Internal server error"
    }`;
    console.log(errorMessage);
    return c.text(errorMessage, 400);
  }
})

Expected behavior
The webhook request verification should verify and return a 200 response when coming from stripe.
Screenshots

System information

OS: macOS
Browser (if applies):  chrome
Server environment: Bun

Thanks for reporting this. We shipped a fix for this in the v16.0.0 release.


Why are www.* visits not counted if YOURLS_SITE is set up with non-www domain

I know there is a recommendation in user/config.php to not use www.* addresses if YOURLS_SITE is set to a non-www URL.
But that way all short URLs will be redirected but not counted or am I missing something?
Would be great if all visits will count by YOURLS.
How can I catch also "wrong" links (e.g. the user enters the link manually) ?

Not reproducible in the latest release. Or is this a question? Then it will be counted.
Please re-open this issue if it still occurs.


Event storage

Depends on #3.

@armiol, Alexei, please work with Alexander on improving this sub-system.

@armiol, PTAL. The Travis CI build failed because this project uses local core-java dependency. I'll change it to public dependency later.

Closing as all these changes are in #5.


[Ansor][AutoTVM v2.0] Phase 1: Access Analyzer

For the full upstream plan, see Ansor RFC.
This pr

Introduces the access analyzer which analyzes the read-write relations in a compute declaration.
The search policy will use the analysis results to make decisions such as doing multi-level tiling for an op or strictly inlining an op.
Moves ansor related header files to include/tvm/auto_scheduler and polishes some comments.

cc @junrushao1994 @comaniac @jcf94 @FrozenGene @tqchen

It is one of the core part of the system. Will take a look later tomorrow.

This PR is ready for review. But It has some dependency on #6073. I will make it pass the ci test after #6073 is merged

This PR is ready for review. But It has some dependency on #6073. I will make it pass the ci test after #6073 is merged

#6073 's macOS build failure seems caused by some infrastructure error, I think it's ready to merge? I'll continue to upstream the left steps after #6073 .

cc @jwfromm @mbrookhart @jroesch

@junrushao1994 @jcf94 @comaniac  Most of the comments are addressed. I added more doc and make the name convention more consistent and meaningful. Please take another look


FR: Test rule for running google-java-format check

Currently we are doing this outside of the build, e.g. with this alias:
  $ alias gjf
  alias gjf='git show --diff-filter=AMR --pretty="" --name-only HEAD | grep java$ | xargs -r /home/davido/projects/gerrit/tools/format/google-java-format-1.7 -i'

On Slack @shs96c commented how this test rule could be implemented:
We’ve not got a rule for that yet, but the process of writing one is simple enough:

o Create a java_google_format_test rule (it’s important that it’s a test rule!)

o Hook it into _create_lint_tests (the pattern should be obvious)

o Optionally create a rule that when run will actually do the reformatting

o Create either a config rule or just allow people to set True as the value for the workspace’s lint_setup

Once that’s done, anyone using the java_library, java_binary, java_test or java_export rules from contrib_rules_jvm can opt into the linting framework and have the google java formatter be part of their regular test suites.

Update
Linting can be disabled by adding a no-lint tag to any rule that needs it.
And for everything in a build file by using package_lint_config(linters = {}).
It was also pointed out, that there is another PR was uploaded upstream.

If we can expose the Google Format command as a *_test rule, then this will be easy to add.

@shs96c
I still don't qget how bazel test gif-check would work on the whole source tree for ALL packages?
As mentioned in this comment: https://github.com/google/google-java-format/issues/917#issuecomment-2146607683 it would only work for a project with one single source Bazel package, e.g.:
genrule(
    name = "gjf-check-invocation",
    srcs = glob(["src/main/java/**/*.java"]),
    cmd = "find . -name \"*.java\" | xargs $(location :gjf-binary) --dry-run > $@",
    tools = [":gjf-binary"],
    outs = ["check-java-format.log"],
)

Am I missing something?

https://github.com/aspect-build/rules_lint supports google-java-format as a Java formatter, which might meet your needs.
Although I have not personally used rules_lint for formatting Java code (yet!), I have used it to lint Python code and have been quite pleased.


Add dc.Spec.Config validation for properties

What this PR does:
Adds scripts to generate configuration from Cassandra's source code for all the possible values. Also adds validation to webhook and the reconcile function to check that values that are not available in that version are also not passed to the config generator.
To run the generator:
make generate-configs

Supports OSS Cassandra only at this point, for versions 4.0., 3.11. and the trunk.
Which issue(s) this PR fixes:
Fixes #
Checklist

[ ] Changes manually tested
[x] Automated Tests added/updated
[ ] Documentation added/updated
[x] CHANGELOG.md updated (not required for documentation PRs)
[x] CLA Signed:  DataStax CLA

@jsanda @miles This work should support removing the config-builder also at some point. All we need is templating something else instead of only maps (or we could push default values here and other stuff the config-builder does). Maybe that could help with the non-root issue also?
For future work, we could also of course help users by cleaning the config file from values that are not allowed and simply make events when those occur. At the same time, we could add notifications that the values are deprecated also and user should migrate to something else.

I'm just getting around to looking at this properly, apologies it has taken me so long. I was originally envisaging doing something similar to this using Java's reflection capabilities, but I think the choice of Python is also totally fine.
My main questions would be:

Should we think about outputting the configs into an intermediate form (e.g. protobuf) so that we can access the data structures from any language? I wonder if autogenerating Go directly (without relying on a language-agnostic intermediate representation) might trip us up later if we need to analyse configs from yet another language.
Related: would it be feasible to use structs instead of maps here? That might provide a little bit more structure and avoid a lot of the verbose if !ok{...} logic we see (especially in my own code!) If we used protobufs that'd probably offer us automatic struct creation anyway.


Travis CI doesn't report build status

As mentioned in #1294, Travis CI is broken and doesn't report the build status back to Github. The build is actually executed, but now status is shown on PRs, commits or branches.
Unfortunately this may hide build failures as typically none visits the builds' page.
I have experienced this on other projects too, but typically the issue went away after some time.

https://travis-ci.community/t/ci-passed-on-travis-but-not-updating-github-pull-requests/8056
https://travis-ci.community/t/github-status-not-posted-on-commits-on-repositories-using-legacy-service-integration/7798

For whatever reasons, Travis started reporting the build results again. At least for all commits since 0f01550602c44aa54f6f455ab8f7801808cfd0ab.

Maybe it was because it was red too long ?

I don't think so. I guess there are still some issues with travis <--> Github integration.


Upgrade to d3 4.0

Upgrade to d3 4.0 will help us to make our codebase smaller and more extensible.

This is of interest to me as we're using the d3 4 modules elsewhere so importing the d3@3 kitchen sink isn't so great for the size our web bundle.
From my grokking around the codebase the other day, the following methods are being used...
d3.time
d3.scale
d3.svg
d3.selection
d3.mouse
d3.event
d3.select
d3.event
d3.layout
d3.extent
d3.hsl
d3.set
d3.transition

Happy to pitch in on this if you want some help - shouldn't have the issue that there was in uber/react-map-gl#57 as there's no use of d3.geo which seems to be the big thing missing from the d3@4 modules at the moment.


Signature suspension

for a specific use case I have, my generators are all 2-cells on 1-cells of a single 0-cell (planar), but I would like to define a special 1-cell X that braids with the other 1-cells. Since it was less effort than specifying that many braiding rules, I promoted all my 2-cells to 3-cells and 1-cells to 2-cells.
would It be possible either to shortcut braiding equations, or to systematically promote/demote collections of cells to give/remove symmetries?

(i might have to seek the symmetric closure of the dependency relation to pick out the legal subcollection to suspend)

I think this is an interesting. We should at least provide an option to suspend the entire signature. Maybe also a subset of generators (though this might be trickier).

@mlharaujo also requested this feature (#788), here is his take on this:

It would be useful to be able to take a signature and "suspend" it. The suspended signature would have either one or two 0-cells (this could be a user choice). Then it would have a (k+1)-cell for each k-cell in the original signature, with the obvious sources and targets. The 1-cells in the suspended signature would all have the same source and the same target.

This feature was requested by Hei Li as well.


Duplicate an element

I created an awesome element, but I need to create 3 more like this, a "duplicate" with "+_i++" number would be awesome, like logo_1, logo_2. For more see the image, also would be greate to automatically show the path of the file, on the pocketbase and or bucket:

IMO this is a very specific use case, not sure it's something Pocketbase would necessarily have to handle
But for now could use the "Settings > Export collections" feature and then manipulate the collections JSON with your own code snipped and re-import ;)

Yeah that's what I do haha LMAO, yeah, but for some reason, maybe I am not the only one, so I decided to push it here

This was added in the develop branch and will be available with the next v0.21.0 release.
I'm not sure if having multiple duplicated fields is the best way to handle it in your case or just convert your file field to accept multiple values, but I guess having an option to duplicate fields can help in situations where for example the i18n data is managed in the same collection (eg. have multiple fields like enTitle, bgTitle, etc. with the same options).


Literal conversion doesn't behave like explicit conversion

let subJson = JSON(["foo": 1])
let json = JSON(["bar": subJson])
let description = json.debugDescription // this is `{"bar":{"foo":1}}` as excepted

let litJson: JSON = ["bar": subJson]
let litDescription = litJson.debugDescription // this is `unknown`

shows that literal conversion might not behave like explicit conversion, which I've found to be quite hard to debug.

I'm agree with it. My case is:
let s1: String! = "aaa"
let s2: String! = "124"
let x = JSON(["answer": s1, "score": s2])
print(x.object) //["answer": Optional("aaa"), "score": Optional("124")]
print(x) //unknown
let y = JSON(["answer": s1!, "score": s2])
print(y.object) //["answer": Optional("aaa"), "score": Optional("124")]
print(y) //unknown
let z = JSON(["answer": s1!, "score": s2!])
print(z.object) //["answer": "aaa", "score": "124"]
print(z) //{\n  "answer" : "aaa",\n  "score" : "124"\n}\n

So for literal conversion, we assume that the object on the right is a plain object.
This one would work:
let subJson = JSON(["foo": 1])

let json = JSON(["bar": subJson])
let description = json.debugDescription // this is `{"bar":{"foo":1}}` as excepted

let litJson: JSON = ["bar": ["foo": 1]]
let litDescription = litJson.debugDescription // this is `unknown`

Still You're right, we should address this inconsistency.

Thanks. I was not good enough to find exactly where this difference is happening so I could not do a PR

I think this PR address this issue.
Feel free to open this if needed.
🍻


Update page url of obtaining access token of crowdin.

Motivation
The page url that to obtain access token has been changed. The old url is not accessible.
Have you read the Contributing Guidelines on pull requests?
Yes.
Test Plan
Test it manually.
Related PRs
No.

You closed because you were wrong right? maybe you were not logged in?
This works for me: https://crowdin.com/settings#api-key

You closed because you were wrong right? maybe you were not logged in?
This works for me: https://crowdin.com/settings#api-key

No.
Because I have multiple crowedin accounts logged in. The correct URL base is .crowedin.com.
I find that I need to change a lot of the article if I want to it satisfy the situation of multiple accounts. I don’t have time to do that so I close it.

I see, good to know.
Our doc is for simple Crowdin usage and you'd better read Crowdin doc if you have more advanced use-cases like multi-org. As far as I understand it may not be possible to provide a good link that works in all cases so we'd rather keep it simple and make it work for 90% of users than 10%.

Yes, I agree with you.


WIP: Tests for machine controller phases

For an owner reference to be the controller of the object, Controller=true field should be set in the ownerref.
GetControllerOf looks that, hence it does not consider MachineSet as controller and adds Machine too as owner ref.

Closing since it was a WIP review PR only


chore: clean up fsm

use emplace_back over push_back
we don't need an else after a break
magic numbers are magic
use cctype instead of c's ctype.h

Pull request checklist

Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)

[x] Docs have been reviewed and added / updated if needed (for bug fixes / features)

What does this implement/fix? Explain your changes.
I'm trying to help clean up the lints found on the lint branch.
Is this related to any currently open issues?

What tests cover this change?
Other information

@SupaStuff  This PR might include too much.  I can split this up into smaller PRs if that works better.


Incorrect initial currentType value

currentType is set to the first defined view type here:
https://github.com/ClickerMonkey/dayspan-vuetify/blob/22c86947be197ad34e0cae4f03b70f206242ab4c/src/components/CalendarApp.vue#L326
but CalendarApp actually renders the 3rd view:
https://github.com/ClickerMonkey/dayspan-vuetify/blob/22c86947be197ad34e0cae4f03b70f206242ab4c/src/components/CalendarApp.vue#L450
This results in the view-selector menu displaying the incorrect view as the current view on initial load
If I set currentType explicitly (or change L326 to select the 3rd type as well) this problem does not occur.

Scratch that.... The actual problem is that when you initialize the DaySpan Calendar as dayspan.months() it defaults to a month view (which would be expected) and THAT causes the discrepancy between currentType and the rendered view. rebuild is never called on initial draw.

Thanks for all your work on this, I'm going to refactor how currentType works... I never liked it.

I see this has already been updated in code (computed currentType code).
I'm trying to set the default onload type (depending vuetifiy breakpoints).
I'm able to change the type in the created() component method. But I'm not able to really set the default type for first calendar rendering.
I tried this in the dsCalendarApp props:
calendar:
                    {
                        type: Units.DAY,
                        size: 1,
                        default() {
                            return Calendar.forType(Units.DAY, 1);
                        }
                    },

To match an existing this.types but I always get types[1] (week view) as default.
I also tried to edit the computed currentType :
 currentType:
                    {
                        get() {
                            console.log('shou', this.calendar.type)
                            return this.types.find((type) =>
                                type.type === this.calendar.type &&
                                type.size === this.calendar.size
                            ) || myCustomLogicThatReturnATypeObject;
                        },
                        set(type) {
                            this.rebuild(undefined, true, type);
                        }
                    },

But the first validation block is always true. And my default is never used. I'm not able to find where is the real default value used.
Thanks !


Problems with Database Handling

Regular problems with Login, Register, etc. Messy code all around. The whole code needs to be reworked.

Task to solve the problem is being undertaken, #11 converted a significant portion of the code to good quality and stably code in Django framework. Sure that it will work great once it is done.


Unreachable detection doesn't work with Mutex's

Input
https://sorbet.run/#%23 typed%3A true
class A
  extend T%3A%3ASig

  MUTEX %3D Mutex.new

  def self.test
    return true if %40test

    MUTEX.synchronize do
      return true if %40test
      %40test %3D true
    end
  end
end

def main
  A.test
end
  MUTEX = Mutex.new

  def self.test
    return true if @test

    MUTEX.synchronize do
      return true if @test
      @test = true
    end
  end

Observed output
editor.rb:11: This code is unreachable https://srb.help/7006
    11 |      return true if @test
                     ^^^^
Errors: 1

Expected behavior
I remember reporting this a while back but I never wrote a ticket for it, so going to do that now to make life easier for tracking! Sometimes it's handy to bypasses mutexes when loading data, mostly in cases where you only care about ensuring an instance variable is set once via a mutex, but after it's set it's fine to bypass the mutex.
Sorbet can't detect that though, since it doesn't treat the MUTEX.synchronize call as a possible state change, so you get unreachable code errors.

duplicate of https://github.com/sorbet/sorbet/issues/42

Whoops! Sorry about that
On Wed, Sep 11, 2019 at 18:26 Dmitry Petrashko<EMAIL_ADDRESS>wrote:

Closed #1743 https://github.com/sorbet/sorbet/issues/1743.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sorbet/sorbet/issues/1743?email_source=notifications&email_token=AJGBERRTDEX2UNQ2ABPCBOLQJGLFDA5CNFSM4IVLW6WKYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOTSO4OFY#event-2627585815,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJGBERW2J4OQE3HE2OOHQETQJGLFDANCNFSM4IVLW6WA
.

No worries, please continue reporting :-)


Can we record lectures?

What technology do we have in the classroom to record lectures with?

How about me sending an email, cc-ing you to the Burson Hall's representative (if we could get these details online) requesting him to send us details about the technology in the 121 lecture room. If possible, could we get pictures of the hall if they have any in their computers? or permitting us to enter the room on a specific day and time so that we could inspect it ?

Yes - please move ahead with this.


('hui').should.be.a.Number;  - passing test

What I do wrong?

You are doing a lot of things wrong:

You are writing to wrong repo (aka read README.md).
You do not specify which version of should.js you are using (aka read CONTRIBUTING.md).
In 7.x all getter assertions are removed to be function .Number() (see item 1);
I hope hui it is just word and you do not mean any bad words. Next time i will lock such issues, and will close without any answering.

I haven't seen any restrictions to the use of words in the tests in the README.md
Thank you.


raftstore: update lease before applying

When changing to async applying, it's not easy to update lease from another thread. So we need to move lease updating from applying.
@siddontang @hhkbp2 PTAL

Rest LGTM

I think maybe we can use term + index to identify a command uniquely, no need uuid. (Now, the uuid is generated in storage in TiKV directly, seem unnecessary)
E.g, leader proposes a command to raft log at term 10 with index 10 and commits the log successfully, the position can't be changed.
If the leader is down and another leader proposes a new command at index 10, the term will >= 11.
/cc @BusyJay @hhkbp2

LGTM

CI failed

PTAL @hhkbp2

LGTM


Can't generate valid "auth_code" and "csrf_token"

I am generating a URL for the user to log into via
use dotenvy::dotenv;
use spotify_rs::{AuthCodeClient, AuthCodeFlow, ClientCredsClient, ClientCredsFlow, RedirectUrl};
use std::{env, error::Error};

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    // This should match the redirect URI you set in your app's settings
    let redirect_url = RedirectUrl::new("http://localhost:3000".to_owned()).unwrap();
    let auto_refresh = true;
    let scopes = vec!["user-library-read", "playlist-read-private"];

    let _ = dotenv();
    let client_secret = env::var("spotify_client_secret").expect("CLIENT_SECRET must be set");
    let auth_code_flow =
        AuthCodeFlow::new("0079fab38fc74726ac22609e5f996898", client_secret, scopes);

    // Redirect the user to this URL to get the auth code and CSRF token
    let (client, url) = AuthCodeClient::new(auth_code_flow, redirect_url, auto_refresh);

    println!("Please visit this URL: {}", url);

After clicking the URL, and manually logging in, I am redirected to: http://localhost:3000/?code=...&state=... (where ... are codes.
I am passing code to "auth_code" and state to "csrf_token", in the
    let mut spotify = client
        .authenticate("auth_code", "csrf_token")
        .await
        .unwrap();

function. But as a result I get
`Err` value: InvalidStateParameter

Is this an error in this lib or am I doing something wrong?

Hey! Sorry for getting to it so late.
I was indeed able to reproduce this, using io::stdin.read_line() to read the code. I assume you were using it too?
Anyway, the issue in this case was that an \r\n was appended at the end of the code. It's fixed now. Thanks!


Gdx.input.setCursorPosition y coordinate is bottom-left on Mac

Gdx.input.setCursorPosition(0, 0) on Linux puts the cursor at the top-left corner of the window, which is what the docs say it should do, but on Mac it puts the cursor at the bottom-left corner. I don't have Windows, so I don't know what it does on that OS.
I tested this in a new application created using the setup tool for version 1.9.2.

Which backend?

When I step through the code it appears it is using lwjgl.

It looks like it inverts the cursor position intentionally: https://github.com/libgdx/libgdx/blob/master/backends/gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglInput.java#L1044 - which is what I ended up doing to workaround the issue.

We just defer to LWJGL for this, so it will most likely be an issue there.  Could you try this in fullscreen mode on Mac?

I tried maximizing the window, and using fullscreen in the lwjgl configuration. Both put 0,0 at the bottom-left.

Confirmed, I'm not sure it is even setting it correctly, any movement after the set will flash the cursor back to its original position.  But this is an Lwjgl 2.x issue, nothing we can do here I'm afraid.

So you're just going to call it somebody else's problem and ignore it? Why would you not fix it? Something like this should work:
if (LWJGLUtil.getPlatform() == LWJGLUtil.PLATFORM_MACOSX)
  Mouse.setCursorPosition(x, y);
else
  Mouse.setCursorPosition(x, Gdx.graphics.getHeight() - 1 - y);

This is an open-source project and contributors are volunteers. You are welcome to submit a PR though.

That's a hack, as lwjgl development on 2 has slowed down it may not be the worst workaround but when I tested on Mac not only did it give the wrong y coordinate but it wasn't persistent , something that couldn't be fixed with such a workaround .
----- Reply message -----
From: "Travis Haynes"<EMAIL_ADDRESS>To: "libgdx/libgdx"<EMAIL_ADDRESS>Cc: "Tomski"<EMAIL_ADDRESS>Subject: [libgdx/libgdx] Gdx.input.setCursorPosition y coordinate is bottom-left on Mac (#3972)
Date: Thu, Apr 7, 2016 18:12
So you're just going to call it somebody else's problem and ignore it? Why would you not fix it? Something like this should work:
if (LWJGLUtil.getPlatform() == LWJGLUtil.PLATFORM_MACOSX)
Mouse.setCursorPosition(x, y);
else
Mouse.setCursorPosition(x, Gdx.graphics.getHeight() - 1 - y);
—You are receiving this because you modified the open/close state.Reply to this email directly or view it on GitHub

You are getting different results than I am, then, because the only thing that I'm seeing is that the y-coordinate is inverted.


⚠ Bofrost.be has degraded performance

In ecb7850, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1228 ms

Resolved: Bofrost.be performance has improved in 9d924f4 after 2 hours, 43 minutes.


Missing split argument for BoltArraySpark in base.element_wise

fixes #316

@freeman-lab Something weird happened with the python 3.5 test. Never seen that error before.

Yeah me neither, I just restarted the build.

Seems to be running normally now...

yay!


Crashes the 21955 be build when entering any map

See title for complaint. Crash log showed the following
Mindustry has crashed. How unfortunate.
Version: bleeding-edge build 21955
OS: Linux xnull (aarch64)
Java Version: 0
3 Mods: unitinfo:1.4.3, ui-lib:2.16.6, unit-factory:2.4.2

NoSuchMethodError: 'No virtual method resize(II)V in class Larc/graphics/gl/FrameBuffer; or its super classes (declaration of 'arc.graphics.gl.FrameBuffer' appears in base.apk)'
OverDrawer.lambda$setEvent$17: 52
-$$Lambda$OverDrawer$fsHb51KrjJcLuQiH1nduZ5p4zys.run: 0
Events.lambda$run$0: 18
Events.$r8$lambda$Uqlg3GRPHOXwXnThDY0L_iNOHko: 0
Events$$ExternalSyntheticLambda3.get: 2
Events.lambda$fire$1: 30
Events.$r8$lambda$Hpaqr_oYgoC5iwIHTzPOjpo7lNQ: 0
Events$$ExternalSyntheticLambda1.get: 4
Seq.each: 200
Events.fire: 30
Events.fire: 26
Renderer.draw: 247
Renderer.update: 168
ApplicationCore.update: 37
ClientLauncher.update: 177
AndroidGraphics.onDrawFrame: 374
GLSurfaceView$GLThread.guardedRun: 1584
GLSurfaceView$GLThread.run: 1280

this is 7.0 mod, not be mod. why should i update mod to be instead of 7.0?
try again on 7.0 and see if it's crashed again


Sets accept header to fb request so it works on server and remove support for Pinterest to get share count.

fixes https://github.com/frontity/share/issues/9

:tada: This issue has been resolved in version 0.2.2 :tada:
The release is available on GitHub release


Getting lower mIOU than reported in paper

One of the best works for semantic seg with NAS. Thank You for sharing train as well as search code.
I downloaded student's weights from the location mentioned in the readme https://drive.google.com/file/d/1O56HnA0ug2M3K4SR3_AUzIs0wegy9BX6/view?usp=sharing and ran train.py to check the validation accuracy but I got 70.5%.
But your paper suggest it should generate 73.1%. Am I doing something wrong?
Thanks.

Hi @soyebn!
Thank you for your interest in our work!
73.1% is the best achievable validation performance during the training. The provided checkpoint is from the last epoch. It should give you similar results with our code.


Refactor sigoptcompute and sigoptaux into libsigopt

sigoptcompute/sigoptcompute => libsigopt/sigoptcompute
sigoptaux/sigoptaux => libsigopt/sigoptaux
sigoptcompute/testcompute => test/python/testcompute
sigoptaux/testaux => test/python/testaux

Should we consider rename to libsigopt/aux and libsigopt/compute since the library already has sigopt in it?

That's fine with me

I'm fine with moving the unit tests to test/python. But if we were to split out libsigopt as its own repo, then they should be under libsigopt directory, no?

Tests will probably go in test/testcompute and test/testaux after the refactor


Remove "enhancer" reference from applyMiddleware function

I could be wrong here, but was reviewing the createStore and applyMiddleware functions, and it seems like there should not be a reference to any "enhancer" within applyMiddleware.
It is my understanding that the applyMiddleware function typically gets called and then passed into createStore as the "enhancer" argument. Within createStore, we then have:
if (typeof enhancer !== 'undefined') {
    if (typeof enhancer !== 'function') {
      throw new Error('Expected the enhancer to be a function.')
    }

    return enhancer(createStore)(reducer, preloadedState)
  }

Specifically, now focusing on the last line:
return enhancer(createStore)(reducer, preloadedState)

Since no enhancer would ever be passed in as a 3rd argument, then it seems unnecessary to include the reference to an enhancer in the applyMiddleware function.
Again, could be missing something here, but it seems including a reference to an "enhancer" within the applyMiddleware function is getting away from the spirit of what the function is trying to accomplish (wrapping the "unenhanced" store with a modified dispatch method).

The idea of Redux store enhancers is that, in theory, any enhancer can "wrap around" an implementation of createStore, and present its own version of the store API as a result.  Multiple enhancers can then be composed together.  As an example, you might see something like:
const composedEnhancers = compose(
    applyMiddleware(...middlewares),
    batchedActions(),
    DevTools.instrument()
);

const store = createStore(rootReducer, preloadedState, composedEnhancers);

In order for that to work properly, each enhancer needs to support the full signature of createStore.

@markerikson I think this same PR has happened before. Maybe we can add a test around applyMiddleware that fails if this change is proposed.

@marcreicher 👍 👎 💯

Alright, I assume you're right, but it's 10:30pm on a Monday and I am not satisfied with your answer. This is going to be long, but I want to step through your example to illustrate my point. You mentioned we might see something like:
const composedEnhancers = compose(
    applyMiddleware(...middlewares),
    batchedActions(),
    DevTools.instrument()
);

const store = createStore(rootReducer, preloadedState, composedEnhancers);

First off, let me just I have not used the batchedActions or DevTools.instrument() enhancers, but I did some research to get an understanding of what they are used for. The one think I am immediately thrown off by here is the reference here to batchedActions(). Correct me if I am wrong, but it seems like you are referencing this module:
https://github.com/mrydengren/redux-batch-middleware
I am confused because this seems like a piece of "middleware" but it is used as an "enhancer" in your "compose" function above.
For my own sanity, I am going to remove it from your composition, and just leave us with:
const composedEnhancers = compose(
    applyMiddleware(...middlewares),
    DevTools.instrument()
);

const store = createStore(rootReducer, preloadedState, composedEnhancers);

I feel like whether we have a composition of 2 enhancers or 10, the problem is materially the same.
Let's also assume we are using the redux-thunk middleware (i.e. we are passing that into our applyMiddleware function). Let's now evaluate:
applyMiddleware([reduxThunk])

I pulled the code from 'redux' and 'redux-thunk' libraries:
const reduxThunk = ({ dispatch, getState }) => next => action => {
    if (typeof action === 'function') {
      return action(dispatch, getState);
    }

    return next(action);
};

function applyMiddleware(...middlewares) {
  return (createStore) => (reducer, preloadedState, enhancer) => {
    var store = createStore(reducer, preloadedState, enhancer)
    var dispatch = store.dispatch
    var chain = []

    var middlewareAPI = {
      getState: store.getState,
      dispatch: (action) => dispatch(action)
    }
    chain = middlewares.map(middleware => middleware(middlewareAPI))
    dispatch = compose(...chain)(store.dispatch)

    return {
      ...store,
      dispatch
    }
  }
}

So, I would say this...
applyMiddleware([reduxThunk])

roughly evaluates to this... (I will simply refer to it as "middlewareFunction")
const middlewareFunction = (createStore) => (reducer, preloadedState, enhancer) => {
    var store = createStore(reducer, preloadedState, enhancer)
    var dispatch = store.dispatch

    dispatch = (action) => {
        if (typeof action === 'function') {
          return action(store.dispatch, store.getState);
        }

        return store.dispatch(action);
    }

    return {
      ...store,
      dispatch
    }
}

Alright, now the dev tools instrument. I pulled some code from
https://github.com/zalmoxisus/redux-devtools-instrument/blob/master/src/instrument.js
const instrument = createStore => (reducer, initialState, enhancer) => {

    function liftReducer(r) {
      if (typeof r !== 'function') {
        if (r && typeof r.default === 'function') {
          throw new Error(
            'Expected the reducer to be a function. ' +
            'Instead got an object with a "default" field. ' +
            'Did you pass a module instead of the default export? ' +
            'Try passing require(...).default instead.'
          );
        }
        throw new Error('Expected the reducer to be a function.');
      }
      return liftReducerWith(r, initialState, monitorReducer, options);
    }

    const liftedStore = createStore(liftReducer(reducer), enhancer);
    if (liftedStore.liftedStore) {
      throw new Error(
        'DevTools instrumentation should not be applied more than once. ' +
        'Check your store configuration.'
      );
    }

    return unliftStore(liftedStore, liftReducer);
};

I omitted some of the helper functions that the instrument function uses, but they won't be necessary for the purposes of this exercise.
Let's now return to the enhancer composition:
const composedEnhancers = compose(
    applyMiddleware(...middlewares),
    DevTools.instrument()
);

Or, with my renamed functions, we have:
const composedEnhancers = (...args) => {
    middlewareFunction(instrument(...args))
}

I guess here is where the fun starts happening (says the guy who is writing this at 10:30pm for literally no reason). We actually create the store with this line of code:
const store = createStore(rootReducer, preloadedState, composedEnhancers);

To reiterate from my original PR comment, the createStore method begins:
export default function createStore(reducer, preloadedState, enhancer) {
  if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {
    enhancer = preloadedState
    preloadedState = undefined
  }

  if (typeof enhancer !== 'undefined') {
    if (typeof enhancer !== 'function') {
      throw new Error('Expected the enhancer to be a function.')
    }

    return enhancer(createStore)(reducer, preloadedState)
  }

Since we provided an enhancer, this is really the only line I care about:
return enhancer(createStore)(reducer, preloadedState)

Using some of my code above, this evaluates to
return middlewareFunction(instrument(createStore))(reducer, preloadedState);

This is kind of ugly, but let me present a simplified version of...
middlewareFunction(instrument(createStore))

...as...
function (reducer, preloadedState, enhancer) {
    var store = instrument(createStore)(reducer, preloadedState, enhancer)
    var dispatch = store.dispatch

    dispatch = (action) => {
        if (typeof action === 'function') {
          return action(store.dispatch, store.getState);
        }

        return store.dispatch(action);
    }

    return {
      ...store,
      dispatch
    }
}

(Just to be clear, the "createStore" referenced in this snippet would represent the plain redux createStore function (that we invoked to actually create our store)).
So now that we have a definition for...
middlewareFunction(instrument(createStore))

...it's time to invoke it. But when we do invoke it, we call
middlewareFunction(instrument(createStore))(reducer, preloadedState);

We are clearly not passing in an enhancer, and so unless I am crazy, our "composed enhancer" never receives an enhancer argument. This brings me back to my original question and the purpose for my pull request. Why does the applyMiddleware method have a reference to an enhancer?

I appreciate you've spent some time digging through this, but I'm afraid you're still confused by a few things.  (Admittedly, I was confused by a couple bits of this too.)
First, by batchedActions I was referring to https://github.com/manaflair/redux-batch , which is indeed another store enhancer.
Second, if you look at the history for the file, you can see when and why that argument was included.  It was added in the 3.1.0 release, to help fix an edge case where mixing the "old style" of create the store and the "new style" might create a problem.
See https://github.com/reactjs/redux/releases/tag/v3.1.0 , https://github.com/reactjs/redux/releases/tag/v3.1.1 , and https://twitter.com/acdlite/status/692772885186764802 for more details on this.
So, overall, it does appear a bit redundant, but I don't see an actual reason to remove it.

Ah thank you for clearing that up!


Remaining Flutter Path Dependencies Needed?

I like that you are implementing a Dart-only Lottie renderer for Flutter.
It looks like some of the Flutter path dependencies have been resolved since the README was last updated.
Which Flutter path API's are currently preventing this plugin from moving forward?  Thanks!

Hi,
I started working on what was missing here: #4
I think we are getting really close!
If someone is willing to help, please ping me.
Thanks


Add support for lambda functions as callbacks

Closing this issue as it is moved to https://github.com/minos-framework/minos-python/issues/52


Correction startupOrders

Changing "group.mygroup8,cartridge.mytomcat,group.mygroup6" to "group.group8,cartridge.tomcat,group.group6"
startupOrders should not be alias.

Thanks for the fix Vishanth. I have now merged this to master branch.


Simplify repository structure, rm unnecessary packages and config

[#160131710]
It might be hard to look at the diff, perhaps the best way is to checkout this branch and look at the repo locally. Changes:

Remove glossary-client, glossary-zoid. They are not going to be necessary, but they are still available in zoid-demo branch.
Rename glossary-component to glossary-plugin and use a bit newer version of the starter tool (TypeScript 3.x).
Use NPM instead of Yarn (and Yarn workspaces).
Update Lerna version to 3.x, use --independent mode.

Perhaps points 3 and 4 require more discussion. text-decorator and glossary-plugin won't depend on each other at all. Their version numbers shouldn't be connected. We don't even have to use Lerna, but some things are nice, standardized and already provided (like running test together, etc.). Yarn workspaces caused me lots of headaches and actually, the main reason why I want to remove it is that it doesn't seem to be documented in basic Lerna docs. So, it's not so easy to understand which part of the config is Lerna workspace, and which one is Yarn. The only resource I've found is this article: https://medium.com/trabe/monorepo-setup-with-lerna-and-yarn-workspaces-5d747d7c0e91
Which might have been used by Kirk initially. However, the properties they use in lerna.json are not documented in Lerna docs (not sure if I don't look deep enough or it's related to v3.x). So, I just used basic Lerna steps from their "getting started". It creates a minimal, simple configuration. I don't see a difference between NPM and Yarn if we don't use workspaces, so went for the simpler option that doesn't require installing one more tool. Also, Yarn support doesn't seem to be documented in Lerna 3.x docs (and lerna bootstrap called npm).

So, I am encountering a little weirdness.  Most likely this is my lack of understanding, but I thought I would point it out.  I switched from master to simplify branch.  I can see in github, there are only two items under packages/ there is text-decorator and glossary-plugin.  Locally however I see many items:
╭─npaessel@Noahs-MacBook-Pro ~/lab/cc/text-plugins  ‹simplify*›
╰─$ git reset --hard simplify && git clean -f && npm install && npx lerna bootstrap                                                                                1 ↵
HEAD is now at 68a3973 Simplify repository structure, rm unnecessary packages and config
audited 36096 packages in 4.985s
found 0 vulnerabilities

lerna notice cli v3.2.1
lerna info versioning independent
lerna info Bootstrapping 2 packages
lerna info Symlinking packages and binaries
lerna success Bootstrapped 2 packages
╭─npaessel@Noahs-MacBook-Pro ~/lab/cc/text-plugins  ‹simplify*›
╰─$ ls -la ./packages
total 0
drwxr-xr-x   7 npaessel  staff  224 Aug 29 13:25 .
drwxr-xr-x  13 npaessel  staff  416 Aug 29 13:29 ..
drwxr-xr-x   3 npaessel  staff   96 Aug 29 13:25 glossary-client
drwxr-xr-x   3 npaessel  staff   96 Aug 29 13:25 glossary-component
drwxr-xr-x  14 npaessel  staff  448 Aug 29 13:38 glossary-plugin
drwxr-xr-x   4 npaessel  staff  128 Aug 29 13:25 glossary-zoid
drwxr-xr-x  18 npaessel  staff  576 Aug 29 13:34 text-decorator

╰─$ git status
On branch simplify
Your branch is up to date with 'origin/simplify'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	packages/glossary-zoid/

This isn't a big deal, but I am a little confused.

Right, this is pretty weird. It definitely shouldn't look like that.
However, I've cloned a fresh repo, followed your steps and can't see removed files.
What happens if you clone it again as a fresh repo and try again? Or just clone this branch (but it should work fine in both cases):
git clone --single-branch -b simplify git@github.com:concord-consortium/text-plugins.git

Right -- a clean checkout did seem to solve this.  I could do a full clone, then switch to simplify, and then npm intsall && npx lerna bootstrap with no errors.  It did indicate that I had local changes at that point that needed to be committed:
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   packages/glossary-plugin/package-lock.json


Consolidate timerange naming

Details
This PR removes redundant timerange properties (last_ts, first_ts, exclusive_last_ts) from FlowSegment, renames FlowSegment range to timerange and renames "time range" etc. to "timerange" in the text.
Pivotal Story (if relevant)
Story URL: https://www.pivotaltracker.com/story/show/186711366
Related PRs
Where appropriate. Indicate order to be merged.
Submitter PR Checks
(tick as appropriate)

[ ] PR completes task/fixes bug
[ ] API version has been incremented if necessary
[ ] ADR status has been updated, and ADR implementation has been recorded
[ ] Documentation updated (README, etc.)
[ ] PR added to Pivotal story (if relevant)
[ ] Follow-up stories added to Pivotal

Reviewer PR Checks
(tick as appropriate)

[ ] PR completes task/fixes bug
[ ] Design makes sense, and fits with our current code base
[ ] Code is easy to follow
[ ] PR size is sensible
[ ] Commit history is sensible and tidy

Info on PRs
The checks above are guidelines. They don't all have to be ticked, but they should all have been considered.

A slight change in one definition, for discussion.

Updated in https://github.com/bbc/tams/pull/27/commits/3f97990e6827f49221bd0884763339be2cf5fed7 based on your suggested change.


Telegram-node-bot and webhook

Can this module be used with webhook ? And how?

I have created new pull request for this feature: https://github.com/Naltox/telegram-node-bot/pull/98
Please rcheck this out

@aed86 Thanks! I wil publish v4.0 soon, there will be webhooks support


toipe: 0.4.1 -> 0.5.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/Samyak2/toipe/releases.
meta.description for toipe is: Trusty terminal typing tester
meta.homepage for toipe is: https://github.com/Samyak2/toipe
Updates performed

Rust version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.5.0 with grep in /nix/store/264ii1inf7mcqq7z7lnwkann3f6di8rl-toipe-0.5.0
found 0.5.0 in filename of file in /nix/store/264ii1inf7mcqq7z7lnwkann3f6di8rl-toipe-0.5.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
toipe

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/264ii1inf7mcqq7z7lnwkann3f6di8rl-toipe-0.5.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A toipe https://github.com/r-ryantm/nixpkgs/archive/7d3c01c91b2f78e957618b569722037badb9c998.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/7d3c01c91b2f78e957618b569722037badb9c998#toipe

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/264ii1inf7mcqq7z7lnwkann3f6di8rl-toipe-0.5.0
ls -la /nix/store/264ii1inf7mcqq7z7lnwkann3f6di8rl-toipe-0.5.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

toipe

Maintainer pings
cc @loicreynier @Samyak2 for testing.

^ disregard the previous approvals. I accidentally used the wrong account. I'll test the package and update here


DO NOT set PROD_DEST = '/'; ~ Node and Windows System failure

WARNING:
DO NOT set PROD_DEST = '/';

I'm submitting a ...  (check one with "x")
[X ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, instead see use [gitter](https://gitter.im/mgechev/angular2-seed) or [stackoverflow](https://stackoverflow.com/questions/tagged/angular2)

Current behavior
Crashed my entire system and had to reinstall multiple programs including node, adobe suite, mozilla, git, etc.  My entire windows desktop and anything saved to it were also destroyed.
Results:
clean.prod tasks starts wiping out your system applications, shortcuts, etc.
Expected behavior
clean.prod should be scoped to only affect the local app
Minimal reproduction of the problem with instructions

Open seed.config.ts
Set the following config setting
PROD_DEST = '/';
Process a production build
npm run build.prod

--- DEV_DEST should be tested and confirmed too ---
What is the motivation / use case for changing the behavior?

was trying to get build assets and index.html to be generated outside of the default dist/prod directory

Please tell us about your environment:
Windows7
local dev environment specified by seed setup

Angular Seed Version: aaaaf75

Node: node --version =
7.2.1

The project will now block you if you try to remove files outside the project root. Take a look at this PR https://github.com/mgechev/angular-seed/commit/6c2536fe126635501659a1a5a726a1bdbc8fc0ca.

Thanks for your quick response.  I'm still recovering on this end, but hey
the amount of time it takes to recover pails in comparison to the work and
effort you put into this seed.  thanks!
On Thu, Dec 15, 2016 at 9:11 AM, Minko Gechev<EMAIL_ADDRESS>wrote:

The project will now block you if you try to remove files outside the
project root. Take a look at this PR 6c2536f
https://github.com/mgechev/angular-seed/commit/6c2536fe126635501659a1a5a726a1bdbc8fc0ca
.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mgechev/angular-seed/issues/1720#issuecomment-267384509,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AECqt1d51eZQWA-BFZSlKExroyQuOZtPks5rIXTdgaJpZM4LOTmC
.

We've never expected such behavior/configuration. Hopefully with the next PR we'll prevent it from happening.


Change all occurrences works for first 1000 entries only

VSCode Version: 1.9
OS Version: Linux

Steps to Reproduce:

Open a file with same word present multiple times( > 2000).
Select some part of word and right click -> change all occurrences. Only selects first 1000 entries.

Duplicate of https://github.com/Microsoft/vscode/issues/5887 ?

Yes, thanks @Bill-Stewart . Let's track in #5887


Outlook email - Contents of email is presented in html format by default and is not readable

Electron build with commit id https://github.com/gptscript-ai/desktop/commit/56cadbd5779acd6ae9ef9bd4a192b44b8f4d599c
Steps to reproduce the problem:

Create an assistant with outlook calendar, mail and Sys.Time.Now tool.
Start a chat with this assistant and ask it to retrieve the content of the most recent email.

Notice that it retrieves the email content in html format which is not readable.
We need to ask for the email content to be returned in plain text for it to be readable.

Expected Behavior:
Have the email content set to plain text by default so that the rendered email content is readable.

Solved this one with some simple prompting.

Merged and ready for testing.


bug: the trait bound ethers::providers::Provider<P>: ethers_providers::Middleware is not satisfied

Version
1.0.0
Platform
The output of uname -a (UNIX), or version and 32 or 64-bit (Windows)
5.15.71-1-MANJARO  x86_64 GNU/Linux
Description
recently upgraded to the major release and updated my abigened code. After I did this. I got a bunch of errors i hadn't previously experenced.. (last working abi-gen bindings was using git = "https://github.com/gakonst/ethers-rs", rev = "b2fc9fd")
[code sample that causes the bug]

same issue occurs when trying to decode logs aswell ( trait isn't satisfied )

made a repo for bug recreation
https://github.com/Will-Smith11/ethersrs-problem


rmapy upload fails

next issue, some accounts can't upload with rmapy as mentioned here:
https://github.com/subutux/rmapy/issues/31

maybe switch to https://github.com/juruen/rmapi would make it more stable?

This is the main issue atm. rmapi could be an alternative, but unfortunately it's written as an interactive application and written in Go, not as a python library. And while it seems that you can run commands non-interactively and one can run cli programs easily  in python by using the subprocess module, this is not a really clean way to implement such a thing and comes with some problems, like no real return values beyond "success" (returns 0) or "fail" (returns 1).
I think the way to go is rather looking at how rmapi handles the new 1.5 reMarkable api and try to implement that for rmapy, either by making a pull request or forking it.

I have now experimented some more with python's subprocess module and found it more than capable enough to implement reMarkable cloud API access through rmapi. So I have rewritten the program to use rmapi which should fix issues related to the newer cloud API versions. You can find this version under the rmapi_workaround branch of this repo. I have updated the Readme to show how to change branches.

@opal06 Thats great. I will give it a try asap


Create proposal for incubation under Open Data Hub

Create a proposal for Iter8 incubation in the Open Data Hub (ODH).
See also https://github.com/opendatahub-io

Sample proposals are here.
We need to create an Iter8 proposal along the lines of code flare (distributed workloads) proposal; also try to absorb the best of all the other proposals.
As a part of 2, we need to clean up Iter8 documentation, starting with what is Iter8, how to install it, and its architecture.

Draft proposal here: https://github.com/opendatahub-io/opendatahub-community/pull/39


Limit chunked requests sent to OpenTSDB

I've figured out that in order to make prometheus work with OpenTSDB, I have to set opentsdb-url, and I have to set tsd.http.request.enable_chunked=true on the OpenTSDB end. However, now I have a problem where I see a bunch of log messages from OpenTSDB that Prometheus tried to shove a larger chunk then is default (4096) down the pipe. Before I just set this randomly high, shouldn't prometheus provide a lever to limit the amount of data it sends per request to match the OpenTSDB setting?

We never got to test this on a real OpenTSDB (only a test one on a single node without Hadoop/HDFS etc.). So any contributions around making it work better are welcome. I don't think we had to set enable_chunked back then, but that was also an older version of OpenTSDB. Still, surprises me that it's necessary.
The only thing we have right now is a hardcoded setting for how many samples we send at most in a single request to a remote storage: https://github.com/prometheus/prometheus/blob/master/storage/remote/queue_manager.go#L28-L29. That doesn't give you any guarantee about the number of bytes though. Theoretically you could even have arbitrarily large time series names for a single sample in Prometheus, but that's a pathological edge case. But anyways, I'm wondering, if this is simply about HTTP chunking, shouldn't that be handled automatically be the HTTP layer? Actually, I found this:
http://golang.org/pkg/net/http/httputil
"The http package adds chunking automatically if handlers don't set a Content-Length header."
Maybe we just need to set a the Content-Length header in the HTTP requests we send to OpenTSDB and then it won't use HTTP chunking anymore, and things will be good?

The way I understand it from my quick glance around, OpenTSDB requires chunking for the HTTP transport (no such limit on the telnet transport apparently, though I know nothing about it except that it exists), and it will not accept chunks bigger than 4K by default. I 'fixed' this by setting tsd.http.request.max_chunk=1073741824, or ~1G, and it works now. I know that the OpenTSDB mode is experimental, so I'm not expecting much, I'm just interested in using it so that I can have a story for querying certain stats (disk use, for instance) over the nodes scraped by all of my prometheus instances.

Hmm, if it requires chunking, why is it a boolean on/off flag then? Chunking is an HTTP term, so it wouldn't be related to the telnet protocol. We should definitely try setting Content-Length headers and turning off chunking in OpenTSDB again to see if that combination works well.

I'm getting more confused now. I just had a Prometheus instance send OpenTSDB samples to a simple netcat endpoint for testing, and it seems it's not actually chunking the request at all, and sending the right Content-Length header:
POST /api/put HTTP/1.1
Host: localhost:8000
User-Agent: Go 1.1 package http
Content-Length: 12492
Content-Type: application/json
Accept-Encoding: gzip

...JSON data...

Ah ha! http://stackoverflow.com/questions/27841071/what-is-a-chunked-request-in-opentsdb
Because netty, apparently.

So, this is not at all a prometheus thing, just an OpenTSDB + Netty thing, sorry for wasting your time.

Oh. Not wasting time at all - good to know about this issue in case someone else runs into it in the future!

This sounds like a bug in OpenTSDB, I filed the bug above so we track and fix this.


better report on errors

1.5M requests of 2M failed
I can't tell if they were timeouts or what else, there is no trace in the logs
Overall

   TotReqs   TotBytes    AvgTime    AvgReq/s  (post)unzip
   2000000      19 GB     4.301s      170.49     6.6 MB/s
   Slowest    Fastest   Timeouts  TotErrors
   15.008s     0.024s      22321    1538703
HTTPStatus   Requests
       503      15080
       408        236
       200     461297

Try storing the output in a json format. You will have all the errors which will show the timeouts and other specs.
goad -i -c 100 -u url-n 100 -o test1.log ;


Update README.md

suggesting Tor Relay option

Thanks for the suggestion to support the Tor network. We discussed the impact of our appliance on the Tor network as well and think it's an important issue. I think that it's not as easy as to enable the relay option,however, as this is a delicate feature if users don't understand the consequences.
We continue to look into option on how to minimize negative externalities.

At the current stage of the project, we don't want to promise running the BitBox Base as a Tor relay. I could imagine having it as an option in the "Advanced features", though. Also, me could add a VPN option for IBD later, but not for the MVP.
We won't have a major impact on the Tor network at the moment, as we are shipping with presynced blockchain data and a full validation is possible without redownloading everything.


Update emission and inflations YoY % changes in "This Year in Monero - 2022" blog post

No, the initial commit was just an accidental carryover from my old branch but has no changes. I will squash before merging once approved.

Cleaned up those changes, they actually would have created a duplicate blog post. Will squash before merge to cleanup commit history.

Rebased/squashed.


cascadedetect.cpp runtime panic on macOS

The latest OpenCV 3 in Homebrew is 3.4.5, so I have that installed. Part of the install process involved setting the following environment variables, so I have done that.
export PKG_CONFIG_PATH="/usr/local/opt/opencv@3/lib/pkgconfig"
export LDFLAGS="-L/usr/local/opt/opencv@3/lib"
export CPPFLAGS="-I/usr/local/opt/opencv@3/include"
export PATH="/usr/local/opt/opencv@3/bin:$PATH"

Trying to run the video_facedetect example, I get this output:
$ cargo run --example video_facedetect
   Compiling opencv v0.15.2 (/Users/benjamin.bergman/tasks/ododowa/opencv-rust)
warning: trait objects without an explicit `dyn` are deprecated
    --> src/hub/core.rs:2691:50
     |
2691 | pub fn parallel_for_(range: &core::Range, body: &core::ParallelLoopBody, nstripes: f64) -> Result<()> {
     |                                                  ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn core::ParallelLoopBody`
     |
     = note: #[warn(bare_trait_objects)] on by default

    Finished dev [unoptimized + debuginfo] target(s) in 45.89s
     Running `target/debug/examples/video_facedetect`
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { code: -215, message: "OpenCV(3.4.5) /tmp/opencv@3-20190505-97953-1nkl1lm/opencv-3.4.5/modules/objdetect/src/cascadedetect.cpp:1698: error: (-215:Assertion failed) !empty() in function \'detectMultiScale\'\n" }', src/libcore/result.rs:999:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
cargo run --example video_facedetect  93.72s user 7.61s system 209% cpu 48.483 total

This was run on macOS 10.14.5.
I have tried with Rust 1.37.0-nightly (807429e1b 2019-06-11) and 1.35.0 (3c235d560 2019-05-20)

This is not a build failure, it's a runtime error of the example. In this particular case it can't find the cascade file at /usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml. For a quick fix update the line:
    let xml = "/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml";

with the correct path. Probably something like /usr/local/opt/opencv/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml. I have a proper fix in my local master, but it will take a couple of days for me to be able to publish it.

Thanks @twistedfall ! Since I'm using opencv@3 through homebrew, the proper xml path is let xml =<EMAIL_ADDRESS>I'll fix the issue title to reflect a runtime error.

Can you maybe check if the following also works for you. If you replace the aforementioned line with the following:
let xml = core::find_file("haarcascades/haarcascade_frontalface_alt.xml", true, false)?;

and then at the line where CascadeClassifier gets instantiated:
let mut face = objdetect::CascadeClassifier::new(&xml)?;

will the example still work?

Yes, this works for me. I do get this additional warning at runtime though (seems harmless, but should maybe be info, not warning):
[ WARN:0] cv::samples::findFile('haarcascades/haarcascade_frontalface_alt.xml') =><EMAIL_ADDRESS>

Great! The logging is coming from OpenCV and it's out of our control, but you should be able to suppress logging by passing true as the 3rd argument (silent_mode)

The fixed example is now in master and on crates.io


add russian translation

quickly transalted to russian, hope without errors :sweat_smile:

Cool, thank you ;)


In the Admin area, change the word "Things" to "Drains"

just makes it a bit more intuitive and user-friendly!

@jeanwalshie updated the label, let me know what you think!

perfect, thank you @jszwedko!!!


iOS - a11y - Login screen form controls need visible labels that persist when the user is entering text.

Description
LEARNER-6581
Login screen form controls need visible labels that persist when the user is entering text.

@saeedbashir Please take another look.

@saeedbashir ready for another pass.


convert create-react-app to razzle

can i convert my create-react-app to a razzle app

well the bulk of the application should just be copy paste ...
You might have to refactor some stuff like state manager (redux, mobx) to initiate differently in server and client. But the main internals should be just copy/paste.
If you are using LocalStorage to handle auth tokens, I would recommend refactoring it to use cookies as LocalStorage doesn't work with SSR.

I should write a post on this. It’s fairly straight forward. although we do need to catch up to some of the newest CRA features like .gql and compiling node_modules

@jaredpalmer I have a PR (#841) in relation to .gql files open.

Thanks for your reply. i have serious headache using nextjs. Most of the libraries i used in my create react app  just kept throwing errors with nextjs.

hi, i'm having issues of syntax error trying to use this package react-images-upload with razzlejs.

please i'm having this error when using react-images-upload with razzle. what do i do?
C:\Projects\razzlejs-projects\test-app\node_modules\react-images-upload\UploadIcon.svg:1
(function (exports, require, module, __filename, __dirname) { <line fill="none" stroke="#4D4D4D" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit
SyntaxError: Unexpected token <
at new Script (vm.js:79:7)
at createScript (vm.js:251:10)
at Object.runInThisContext (vm.js:303:10)
at Module._compile (internal/modules/cjs/loader.js:657:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)

@jaredpalmer Any update on the blog post for this? :)

@jaredpalmer can you please write a post about migrating CRA to Razzle?

I should write a post on this. It’s fairly straight forward. although we do need to catch up to some of the newest CRA features like .gql and compiling node_modules

Sir, any update about the migration guide?

Can I just add razzle in my create-react-app repo? I don't wanna migrate or change something. If yes Can you suggest some repo which has already done it.


Fix SonarCloud bugs related to Optional

JIRA: NEMO-422: TITLE
Major changes:

Fix some SonarCloud bugs related to Optional

Minor changes to note:

None

Tests for the changes:

None

Other comments:

None

Closes #423

Oh, and also please fix the PR message appropriately (the TITLE part)

@wonook Thanks for your comments. Please take a look again!


fix: Margin b/w login error and forgot password btn

Summary

fix: Margin b/w login error and forgot password btn
Ticket Link

Fixes https://github.com/mattermost/mattermost-server/issues/19511
Checklist

[x] Added or updated unit tests (required for all new features)
[x] Has UI changes
[x] Includes text changes and localization file updates
[x] Have tested against the 5 core themes to ensure consistency between them.

Device Information
This PR was tested on:
Screenshots

Release Note

NONE

Hello @codedsun,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.


Auth Docs

Review and render at: sequencediagram.org

Nice work @ivan-c !  Couple thoughts:

Can we add some easy reference labels?  Step numbers might be nice, but I can imagine that'd be a pain to maintain.  Just something to simplify talking one another through the sequence.
Any objection to including our implementation choices or labels, perhaps as parenthetical labels?  I was anticipating seeing how say a KeyCloak token lifetime might affect COSRI vs fEMR

@ivan-c can we revive this?  Great work, would like to see it merged and referenced.
Question: should the README or like explain how to load docs/femr_OIDC_sequence_diagram.txt into https://sequencediagram.org/ ?


Bluetooth: CSIP: Use bt_crypto_aes_cmac instead of own

Instead of reimplementing the aes_cmac function, CSIP will now use the bt_crypto_aes_cmac function.
fixes https://github.com/zephyrproject-rtos/zephyr/issues/65604

Rebased to solve merge conflicts


Add "History" page

Add "History" page into "About".

Close due to https://github.com/qazbnm456/lulumi-browser/commit/24cf22aef0da81e78c7cb0fbe55f56785c348e53.


⚠ DesiTorrents has degraded performance

In 0f97af7, DesiTorrents ($DST) experienced degraded performance:

HTTP code: 200
Response time: 1794 ms

Resolved: DesiTorrents performance has improved in c5e2d43 after 6 minutes.


Show warnings instead of errors for resource type validation

Codecov Report

Merging #578 into master will decrease coverage by 0.15%.
The diff coverage is 98.75%.

@@            Coverage Diff             @@
##           master     #578      +/-   ##
==========================================
- Coverage   94.88%   94.73%   -0.16%
==========================================
  Files         235      235
  Lines        8900     8864      -36
==========================================
- Hits         8445     8397      -48
- Misses        455      467      +12

Flag
Coverage Δ

#dotnet
94.73% <98.75%> (-0.16%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/Bicep.Core/TypeSystem/TypeValidator.cs
95.20% <95.65%> (ø)

...ep.Core.UnitTests/Diagnostics/ErrorBuilderTests.cs
96.29% <100.00%> (-0.93%)
:arrow_down:

...ests/TypeSystem/TypeValidatorAssignabilityTests.cs
100.00% <100.00%> (ø)

src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs
100.00% <100.00%> (ø)

src/Bicep.Core/TypeSystem/TypeAssignmentVisitor.cs
99.09% <100.00%> (-0.19%)
:arrow_down:

....UnitTests/Completions/SymbolKindTestExtensions.cs
70.00% <0.00%> (-30.00%)
:arrow_down:

...c/Bicep.LangServer/Completions/SymbolExtensions.cs
78.94% <0.00%> (-21.06%)
:arrow_down:

...icep.LangServer/Extensions/DiagnosticExtensions.cs
85.71% <0.00%> (-14.29%)
:arrow_down:

src/Bicep.Cli/Logging/BicepDiagnosticLogger.cs
87.50% <0.00%> (-12.50%)
:arrow_down:

src/Bicep.Cli/Logging/BicepConsoleLogger.cs
69.23% <0.00%> (-8.55%)
:arrow_down:

... and 14 more


[#2236] Add hasFileName as an alias of hasName for File assertions

Check List:

Fixes #2236
Unit tests : YES
Javadoc with a code example (on API only) : Yes
PR meets the contributing guidelines

Thank you, @ShivakumarSwamy!


Patch 1

Description
The fullnameOverride in the Values file has a redundant "-agent" at the end. When following the default installation pattern this yields pods that have names like coralogix-opentelemetry-agent-agent-xxxxx.
How Has This Been Tested?
Yes, I deployed the default configuration, as-is, and you will see it as the attache screenshot. After deleting everything and trying it again without the redundant "-agent" everything is name correctly. No functional difference between either scenario.
Checklist:

[X] I have updated the relevant Helm chart(s) version(s)
[ ] I have updated the relevant component changelog(s)
[ ] This change does not affect any particular component (e.g. it's CI or docs change)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks @matej-g -- I rebased to ensure my commit was signed.


Please invite me to the GitHub Community Organization

Name
Venusdev2113
Discord Username (if applicable)
No response
Additional Context
I want to join.

Ok


Launch Flux in Web Worker

This should take pressure off of the main thread and improve the responsiveness of the settings app. We need OffscreenCanvas for this, which is currently only supported by Chrome.

https://github.com/sandydoo/flux/tree/wip/web-worker

Not worth the effort.


[etlas] Display git-indexed repos accurately

etlas update currently displays:
Downloading the latest package lists from:
- hackage.haskell.org
- etlas.typelead.com

It should display this instead:
Downloading the latest package lists from:
- hackage.haskell.org
-<EMAIL_ADDRESS>

I think this issue is already solved? I can see that the name is already updated to etlas.org here
https://github.com/typelead/etlas/blob/609ab2871b7cfb10226bc6d0ee262cd13966e124/etlas/Distribution/Client/Config.hs#L547

@ouromoros Not it is not solved, because the message still doesn't indicate that the source is from a github repository.


Support private module registry

Summary
Please support private Terraform module registry in Terrafile. Terraspace 0.5.10 throws an error:
# Terrafile
mod "app-core-reg", source: "terraform-registry.example.com/example/app-core/aws"
# terraspace bundle
ERROR: git clone https://github.com/terraform-registry.example.com/example/app-core/aws 2>&1

I'd really love to try out terraspace for my infrastructure, but this issue is blocking me from doing so.

Motivation
We release modules from a heavy monolith repository to a private registry to speed up terraform init. This seems to be the case for Terraspace as well.

Guide-level explanation

Reference-level explanation

Drawbacks

Unresolved Questions

See similar error when using a private module repo at GitHub:
# Terrafile
mod "app-core-git", source: "git@github.com:example-com/app-core.git"
# terraspace bundle
ERROR: git clone https://github.com/git@github.com:example-com/app-core.git 2>&1

How do I clone a private repo by SSH? base_clone_url has been changed from<EMAIL_ADDRESS>to https://github.com in 0.3.0. There seems to be no configuration option to set it.

RE<EMAIL_ADDRESS>bug

Fixed in #8 Released in terraspace-bundler v0.3.3 Will bump the dependencies in the next terraspace version also. Right now, you can manually run gem install terraspace-bundler to update.

I think it could super-nice if the bundler supported the same format for module sources as Terraform: https://www.terraform.io/docs/modules/sources.html. What do you think?

Yep. Think following or getting closer to that same format will be the direction. It's a matter of time. Will consider PRs. No sweat either way, of course. Thanks!

We use AZ Devops repositories as terraform modules repositories. On Microsoft World has a Personal Access Token, used as parameter  on git clone proccess (git clone -c http.extraheader="AUTHORIZATION: Basic ).
Terraspace bundle command are asking me Authentication (user and pass) and this is problem because im need to run it into AZ Devops Pipeline (silently).
Im consider this issue will be resolve my problem or im shold create another one issue?

@atikhono Closed by #12 Most but not all the source types are supported. Mainly the http source is not supported. PRs are welcomed.
Docs: https://terraspace.cloud/docs/terrafile/sources/
@guilhermepozo The TB_GIT_CLONE_ARGS  Docs: https://terraspace.cloud/docs/terrafile/env-vars/


reconcile failed jobs with delete

Implements job retry on failure by adapting the wrangler default job reconciler to delete an existing job if it has failed.
Further mitigates rancher/rancher#25882 (by ensuring that upgrades are kept on the treadmill)

@cjellick I don't think I like this one. If we want/need outstanding upgrade jobs to apply and re-apply on nodes until they complete successfully then that should be something that we dial in via controller configuration (or possibly even per-plan if we need that granularity).