findMatches, combineMatches, evaluate

Ok, this is ready for a rebase now. I merged the other PR (codeship wasn't set up correctly for some reason so the tests weren't running).

Let me know what you think of the change. If you don't mind it, I will update the comments and test for iterchunks.

https://github.com/Droogans/match-three-js/commit/2e93a2fedd5059027b5645289fdf0c60433c2697 makes it easier to understand what's going on when things break.
(I'm really not liking ava at this point. It feels so fragile!)

https://github.com/Droogans/match-three-js/commit/0a0cc5281f1441c5e9858d5430d04929f8ebe562 Implements findMatches using the refactored iterchunks, without adding any extra code to the refactored core.
I used a similar pattern to iterate over the orbs twice, once normally, and once transposed, altering the match metadata depending on the position of the board.

Really, so much of all of this is last commit is putting the right thing in the right place. I was overlapping functions. Each function has its own purpose. If function2 needs something a little different from function1, it is not the job of the function1 to lose its identity to help function2.

Yeah, that's putting it pretty simply -- there are times where you should do that, but the key is to read and understand everything all at once before making that decision (this is really, really hard).
I'm looking at this codebase and already I'm feeling like it's growing unwieldy! There may be some opportunities to limit the power of iterchunks, since it's now servicing two major parts of our project at once. A little worrisome.
Let's wait a while longer and see if any patterns emerge that we can take advantage of to decouple iterchunks from the core, central functionality of the project.

838fcc2 is ready to go. Let me know if you think this idea veils the tests too much. I'm pretty excited about the idea and its implementation!

I'm going to move the test data files into ./test/data.

Didn't get much done tonight. Here's https://github.com/Droogans/match-three-js/commit/f6cb6e224fa32e3ac1e02d32a3627f910eb1b71f, a simple addition to make test code and test data clearly separate from an organizational standpoint.

So you're thinking that each test file will have its own data file? I'm thinking that since multiple test files use the same data i.e. findMatches and evaluate both use testOrbs. What do you think is better?

If it's generic, name it pretty generic. ./test/data/orbs.js sounds really generic, whereas test data for ./test/evaluate.js should be in ./test/data/evaluate.js.
So, some further shuffling around may be in order here. Sorry, I was going pretty quick when I made those changes last night.

365e9a7 is in. However, with it comes this:
ISSUE:
Sometimes (about once in every 3-5 npm tests) a test failure like this occurs:
not ok 58 -
  t.ok(_.isEqual(_.slice(board.orbs[row], start, end), droppedOrbs))
         |         |               |      |      |     |
         |         |               |      3      4     [3]
         false     [4]             [4,1,5,4,4]

    operator: ==
    expected: true
    actual: false
    at:     Object.forEach (/Users/Ryan/code/node/match-three-js/node_modules/lodash/lodash.js:7827:11)

I will investigate further and continue to make this look and work better tomorrow.

c059e41 fixes the previous problem and makes everything nicer. There is still one test in evaluate that I will finish. The issue was in the AVA test setup. I ended up running board.evaluate() over each set of orbs and compiling the orbs and the data in the before section. Then I just compared the results in each test.

I have two more things I'd like to do on this PR:

Bring combineMatches into the same format
Add new data and test for when there are two separate matches

Is there anything else you'd like on this PR?

The only thing I'd like in this PR is to split it up. It needs some rework -- +690 −124 total changes is too much. There's got to be a way to address this one feature at a time and rebase those smaller changes under the main intent.

Okay It has gotten a little out of hand. I feel like I've gotten much better at making my commits more specific and organized. That way I know what I have finished on that commit and I won't make different changes until that commit is finished. Would you say that the same principal needs to be applied to the PRs?
I'm thinking that there should be a nice balance between how many changes go into a commit, and how many commits go into a PR. That way, the project will be made out of small pieces that can easily be taken out and replaced, and if there is an issue, you can go back to just before the issue rather than jumping way back and trying to separate out working code from the issue.
Sound right? (I'm practicing for my talk on git :P)

You're onto something here -- read up on git bisect and consider how you can make your commits smaller and more modular to make it easier to use git bisect, rather than making it harder to use it.
I've seen codebases get wrecked via commits before. More often than not, it was due to sloppy commit discipline. Always commit as though git blame and git bisect matter to you, and you'll be well on your way to making great DVCS habits.

Okay, so how do we break down something we have already built up? Go backwards, or perhaps make a new branch that only implements a small section of this mammoth?
But what is the benefit if everything passes tests and adds to what we ultimately want? Is it easier to undo PR's than to git bisect to find an issue and add the fix as a new PR. In other words, go back to the issue and move forward in a new way, or find the issue and patch it.


Add gzip middleware to adapters that dont handle it

Since the switch to Typheous in v0.7.0, we-call has not been handling gzip content. This adds it back.
Only some faraday adapters bother to decode gzip content, so luckily there is a middleware and we can do a little detection to see if we should enable it or not. Related.

Coverage increased (+0.08%) to 99.0% when pulling b782872b20c6a2a3962018dbc99d8fba4ee9a718 on bug/add-gzip-missing into 6a351d5c8cc3350710d66cb32cd21bfe098576a8 on master.

Coverage increased (+0.08%) to 99.0% when pulling b782872b20c6a2a3962018dbc99d8fba4ee9a718 on bug/add-gzip-missing into 6a351d5c8cc3350710d66cb32cd21bfe098576a8 on master.

Coverage increased (+0.08%) to 99.0% when pulling b782872b20c6a2a3962018dbc99d8fba4ee9a718 on bug/add-gzip-missing into 6a351d5c8cc3350710d66cb32cd21bfe098576a8 on master.

Coverage increased (+0.08%) to 99.0% when pulling b782872b20c6a2a3962018dbc99d8fba4ee9a718 on bug/add-gzip-missing into 6a351d5c8cc3350710d66cb32cd21bfe098576a8 on master.


App crashes when loading book list after update to 1.1.0

After update to 1.1.0, when opening the home page or a category page the loading spinner appears for a while then the app crashes. If I switch to the main category page, library page, or settings page quick enough the crash does not occur.
Android 13/One UI 5

Hi! It seems like this issue is specific to samsung devices because someone else had also reported it few weeks ago, but unfortunately they didn't provided any logs and as i don't own any samsung devices myself i was not able to reproduce the error myself :(
Can you please try giving crash logs via ADB?
Here's the debug apk file for the current release:
https://send.vis.ee/download/d61ebc6763e95c98/#wloWqMsscyTREuZJGs-Jzw
Simply install it (uninstall current release build beforehand since this is unsigned apk), open it and let it crash one or two times, then grab logs by running
adb logcat --buffer=crash -d > logcat.txt

It should create a file named logcat.txt which you need to send here.
In case you don't know how to install/use ADB lemme give you a quick guide.
You can learn & download adb for your system by following this link.
Please follow these steps to grab logs.

enable developer options in your device, go to system > build number & tap continuously 7 times (process may vary between different manufacturers)
go to developer options and enable USB debugging.
connect your phone with your computer
if you're using windows then go to folder in which you've downloaded adb and do shift + right click, a terminal prompt will get opened, enter ./adb logcat --buffer=crash -d > logcat.txt, adb will make a file named logcat in same directory, then you can share that logcat file here. I know it sounds bit complicated but it's actually very simple.

Thanks!

Closing due to no response from author, feel free to re-open if you're still there and/or facing this same issue.


fix: allows the user to pass in non-enumerated values

Proposed changes

Types of changes
What types of changes does your code introduce?
Put an x in the boxes that apply

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)

Linked Issues
Further comments

Using an enumeration to define options prevents the user from passing in non-enumerated values

Thank you for submitting the PR and for your efforts to improve the project! We greatly appreciate your contribution to the code.
we have adopted a more optimal approach to handle union types, ensuring that the code remains flexible while enhancing readability and type safety.

感谢您提交 PR 并为改进项目所做的努力！我们非常感谢您对代码的贡献。
我们采用了一种更优化的方法来处理联合类型，确保代码保持灵活性，同时增强了可读性和类型安全性。
You can see the changes in this commit: 1219854.

Have you considered what happens when users need to input values that aren't defined in the enumeration? Users would have to modify constants.ts in node_modules/postcss-px-conversion, or are you aware that enumeration classes cannot be inherited by other external classes, meaning that if users create a new enumeration and want to reference members of the old enumeration

感谢您提交 PR 并为改进项目所做的努力！我们非常感谢您对代码的贡献。
我们采用了一种更优化的方法来处理联合类型，确保代码保持灵活性，同时增强了可读性和类型安全性。
You can see the changes in this commit: 1219854.

Have you considered what happens when users need to input values that aren't defined in the enumeration? Users would have to modify constants.ts in node_modules/postcss-px-conversion, or are you aware that enumeration classes cannot be inherited by other external classes, meaning that if users create a new enumeration and want to reference members of the old enumeration

The union type solves this problem
(string & object);

感谢您提交 PR 并为改进项目所做的努力！我们非常感谢您对代码的贡献。
我们采用了一种更优化的方法来处理联合类型，确保代码保持灵活性，同时增强了可读性和类型安全性。
You can see the changes in this commit: 1219854.

Have you considered what happens when users need to input values that aren't defined in the enumeration? Users would have to modify constants.ts in node_modules/postcss-px-conversion, or are you aware that enumeration classes cannot be inherited by other external classes, meaning that if users create a new enumeration and want to reference members of the old enumeration

The union type solves this problem (string & object);
Perhaps you forgot to update your npm package. I noticed that the npm package has been updated.

感谢您提交 PR 并为改进项目所做的努力！我们非常感谢您对代码的贡献。
我们采用了一种更优化的方法来处理联合类型，确保代码保持灵活性，同时增强了可读性和类型安全性。
You can see the changes in this commit: 1219854.

Have you considered what happens when users need to input values that aren't defined in the enumeration? Users would have to modify constants.ts in node_modules/postcss-px-conversion, or are you aware that enumeration classes cannot be inherited by other external classes, meaning that if users create a new enumeration and want to reference members of the old enumeration

The union type solves this problem (string & object);

I worked all day on Friday, and when I woke up on Saturday, I saw the notification that my PR was closed, which was a bit disappointing. I didn't pay too much attention to your reply at the time, and I'm very sorry for that. I see that the npm package has been updated 13 hours ago with a more elegant solution. That's great. I sincerely apologize for this.


feat: add mxc wannsee

@usm076 hey what is this exactly? plz for new pools always include governance post and snapshot.


Hard to run benchmark scripts directly

Is your feature request related to a problem? Please describe.
I tried to run benchmark scripts on my local after installing the repo but failed.
Here's how I setup the environment.
First, I ran

pip install -r requirements.txt
python setup.py install

to install the repo and the dependencies. However, the following errors were complained when I tried to run python main.py under pygod/benchmark/

ModuleNotFoundError: No module named 'tqdm'
ModuleNotFoundError: No module named 'torch_geometric’
ModuleNotFoundError: No module named 'pyod’
ImportError: 'NeighborSampler' requires either 'pyg-lib' or 'torch-sparse’
AttributeError: 'DOMINANT' object has no attribute 'decision_scores_'. Did you mean: 'decision_score_'?

where the last one can be fixed by https://github.com/pygod-team/pygod/pull/80, but I still have to install the missing modules with commands
pip install tqdm
pip install torch
pip install torch-geometric
pip install pyod
pip install torch-sparse
pip install torch-scatter -f https://data.pyg.org/whl/torch-2.0.0+cpu.html

then I can run the benchmark script.
Describe the solution you'd like
It would be better to have a dedicated requirements.txt file inside folder pygod/benchmark/ containing all the required dependencies.
Describe alternatives you've considered
N/A
Additional context
N/A

Thanks for pointing this out! It's a really good suggestion. For torch, torch-geometric, torch-sparse, etc., because of the diversity of environments (OS and CUDA), we would be able to find the best version for you. Users are required to install by themselves. But I will add a requirements.txt file for the rest of the dependencies.

fixed in 7783b31a69c0f276b5c6f26a7d46763e7e42c03b.

Thanks for addressing it!


Node.js 16 actions are deprecated

Some simple updates would fix this warning when using this awesome plugin:

Example:

Run any pipeline using the latest version of this GitHub action:

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - id: build-publish
        name: Storybook Deploy
        uses<EMAIL_ADDRESS>        with:
          path: storybook-static
          # want a separate workflow, required prod build to generate type definition
          build_command: npm run build && npm run build-storybook

I'll attempt to make a pr as I'm available if a maintainer can't get to it first!

Hi @thenick775 ! thanks for submitting the issue!
I created a branch to update that and the other child actions that are being used.
Will be testing it later today, but if you want to pick it up and test it yourself, feel free to use the action by setting the branch instead of the version.
Something like this:
uses: bitovi/github-actions-storybook-to-github-pages@upgrade-child-actions
If you are able to test it, please share your results!


Add crandalj.html to BSOD

Added html for BSOD challenge

Your pull request seems good, but must be checked by a human maintainer for the following reason(s):

This contains potentially hazardous tags that need manual review.

Please be patient until a maintainer has time to look over your contribution.
This is an automated response, beep boop.
if you think there is a mistake, contact a maintainer

5ddaa49126ab92c8a64fe779cf6565984f85803e


[REEF-661] Remove obsolete APIs from o.a.r.Network (.NET)

This removes/converts to private obsolete constructors of NameClient and NameServer
JIRA:
REEF-661
Pull Request:
Closes #

Looks good, I will test and merge.


SourceKit (and Xcode) instantly crashes on "/(?<>)/"

That's a regex literal with a names capture with an empty name. It doesn't compile, of course, since name is required. This fails correctly. But Xcode instantly crashes when typing it, or when opening any source code containing it.
The top of the stack:
Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   libswiftCore.dylib            	       0x1b31c4594 _assertionFailure(_:_:file:line:flags:) + 672
1   libswiftCore.dylib            	       0x1b31c4594 _assertionFailure(_:_:file:line:flags:) + 672
2   SourceEditor                  	       0x127c8509c SourceEditorLanguageService.enumerateSyntaxTokensOnLine(_:handler:) + 368
3   SymbolCacheSupport            	       0x126219c54 protocol witness for SourceEditorLanguageService.enumerateSyntaxTokensOnLine(_:handler:) in conformance SymbolCacheLanguageService + 100
4   SourceEditor                  	       0x127c2e498 SourceEditorLayoutManager.unprocessedLineRenderData(for:context:) + 2520

The scenario: Let me write a regex; I need a capture, I'll find a name later... oh..

rdar://100185000

This crash appears to be in Xcode, not in sourcekit or sourcekit-lsp.

Sorry, I wasn't sure how exactly they were connected. I assumes Xcode uses sourcekit to do its language sense.

This repo is about SourceKit-LSP, which provides semantic functionality for editors like VSCode. The issue you are describing happens inside Xcode, so it’s not part of this project. Could you file a bug report at http://feedbackassistant.apple.com?


feat: add view icons toggle for mobile on Category

Related issue

#951
Scope of work

add view icons toggle for mobile on the Category page
remove Sort by from mobile view according to design

Screenshots of visual changes

Checklist

[x] No commented blocks of code left
[x] Run tests and docs
[x] Self code-reviewed

awesome @martaradziszewska, thank you 👍


renderDjot: omit auto generated attributes and reference

Close #69
Signed-off-by: black-desk<EMAIL_ADDRESS>

I think I like this plan, even though it makes the model a bit more complex.  It would be good to have some automated tests; it is a big change.

I will add some tests few days later.

pandoc.spec.ts seems already contains tests for attrs and references.

@jgm done.


Test that remote file exists

I'm witing tests for my deploy script.
I have to check if a specific file exists on remote server.
How to do it?
Thanks.

if test "[[ -f #{file1} && -f #{file2} ]]"

@sponomarev Can you explaint it? please.

@bigfoot90 as i understand you need to check file existence in custom capistrano task, here is a good example https://github.com/capistrano/rails/blob/master/lib/capistrano/tasks/assets.rake#L81.
In first code snippet file* is string variable with file absolute path

@sponomarev I've got it. Thanks.

For future reference - for others, here's a possible solution, gleaned from @sponomarev post above:
def file_exists?(path)
  capture(:ls, path)
  true
rescue SSHKit::Command::Failed
  false
end


Change file for python 3.10 >

Made changes for python 3.10 and more versions so your lib can work on it

Thanks for the pr.


Doesn't load angular-cache in app.run.js

Hi,
I am attempting to implement angular-cache into an angular 1.4.3 app.  We are attempting to use angular-cache version 4.6.0. but everytime we run the app build it produces the following error:

Uncaught Error: [$injector:unpr] Unknown provider: angular-cacheProvider <- angular-cache
http://errors.angularjs.org/1.4.3/$injector/unpr?p0=angular-cacheProvider <- angular-cache

The code I am using is as follows:
angular.module("testApp").
        run(init);

    init.$inject = ["user", "angular-cache", "$ionicLoading","$ionicPopup", "$state", "$ionicHistory",
                    "AuthService","StoreHierarchyFactory", "$rootScope", "OrganisationService"];

    function init(user, CacheFactory, $ionicLoading, $ionicPopup, $state,
                   $ionicHistory,AuthService,StoreHierarchyFactory, $rootScope, OrganisationService) {

I have linked to the angular-cache.js file in my index.html document as follows:
<script src="lib/ionic/ionic.bundle.js"></script>
<script src="lib/moment.min.js"></script>
<script src="lib/angular-cache.js"></script>

I am well and truly stumped and almost one laptop down. Do you have any suggestions on how we can crawl over the first hurdle.
Cheers.

You need to make angular-cache a dependency of your module, e.g.
angular.module('testApp', ['angular-cache'])
  .run(['CacheFactory', function (CacheFactory) {
    // ...
  });


Dartanalyzer should report an error when catchError returns a different type

Dartanalyzer doesn't detect any error/warning for the following code. However, there will be a run-time error: type 'String' is not a subtype of type 'FutureOr<List>'
It is hard to pick up this kind of errors by eyes.

IMO, it is better to allow Future.catchError() to return another type like Future.then<R>() does. But, it is OK as long as dartanlyser can pick up the errors for us.

import "dart:async";

void main() {
  foo()
  .catchError((ex) {
  	return "error";
  });
}
Future<List> foo() async {
  throw "error";
}

Dart  SDK: 2.1

I'm working on #35825, which I think is more-or-less a feature which solves this issue.

Fixed in work for #35825

Fixed in work for #35825


TypeError: Cannot read property 'length' of undefined (when selected is null or undefined):-

TypeError: Cannot read property 'length' of undefined
at ctrl.getPlaceholder (VM11931 bower_components.js:47488)
at $parseFunctionCall (VM11931 bower_components.js:12406)
at Object.expressionInputWatch (VM11931 bower_components.js:12815)
at Scope.$digest (VM11931 bower_components.js:14302)
at Scope.$apply (VM11931 bower_components.js:14573)
at done (VM11931 bower_components.js:9700)
at completeRequest (VM11931 bower_components.js:9890)
at XMLHttpRequest.requestLoaded (VM11931 bower_components.js:9831)
I tried to fix the issue by providing empty array in angular modelOption, but it resulted in :: Error: 10 $digest() iterations reached. Aborting!
Sample code:---

{{$item.name()}}

{{item.name()}}

Add it for 0.12.2 please :+1:

How can he problem be reproduced? Can you setup a plunker?

Closing as already fixed in master.


MacOS compatibility issue in nightly docker-compose.

🐞 Bug Report
Affected Services
Vault component in nightly docker-compose.
Description
The line
/run/edgex/secrets/edgex-vault:/run/edgex/secrets/edgex-vault

in the below docker-compose.yml segment for the nightly causes a compatibility issue with MacOS for two reasons:

MacOS doesn't have a /run
On MacOS, bind mounts are white-listed and /run is not in the white-list by default.

vault:
    image: nexus3.edgexfoundry.org:10004/docker-edgex-secret-store-go:1.1.0
    container_name: edgex-vault
    hostname: edgex-vault
    networks:
      edgex-network:
        aliases:
            - edgex-vault
    ports:
      - "8200:8200"
    cap_add:
      - "IPC_LOCK"
    environment:
      - VAULT_ADDR=https://edgex-vault:8200
      - |
        VAULT_LOCAL_CONFIG=
          listener "tcp" {
              tls_disable = "0"
              cluster_address = "edgex-vault:8201"
              tls_min_version = "tls12"
              tls_client_ca_file ="/run/edgex/secrets/edgex-vault/ca.pem"
              tls_cert_file ="/run/edgex/secrets/edgex-vault/server.crt"
              tls_key_file = "/run/edgex/secrets/edgex-vault/server.key"
              tls_perfer_server_cipher_suites = true
          }
          backend "consul" {
              path = "vault/"
              address = "edgex-core-consul:8500"
              scheme = "http"
              redirect_addr = "https://edgex-vault:8200"
              cluster_addr = "https://edgex-vault:8201"
          }
          default_lease_ttl = "168h"
          max_lease_ttl = "720h"
      - VAULT_CONFIG_DIR=/vault/config
      - VAULT_UI=true
    tmpfs:
      - /run
    command: >
      /usr/bin/dumb-init -- /bin/sh -c
      "./security-secrets-setup generate ;
      chown -Rh 100:1000 /run/edgex/secrets/edgex-vault/ ;
      exec /usr/local/bin/docker-entrypoint.sh server -log-level=info"
    volumes:
      - vault-file:/vault/file
      - vault-logs:/vault/logs
      - secrets-setup-cache:/etc/edgex/pki
      - /run/edgex/secrets/edgex-vault:/run/edgex/secrets/edgex-vault
    depends_on:
      - volume
      - consul

Suggested resolution
As the PKI is created inside of the Vault container and is not shared with other EdgeX containers in this docker-compose, I suggest to remove the /run/edgex/secrets/edgex-vault bind mounting.
Distributing the CA certificate and other security assets to other containers is something that we can take up in the next release.

Closed via PR #151


feat:Spp-10189-sml-portal-health

Description
This PR is to add the sml portal healthcheck. This comprises of a rule driven lambda function which checks the portal for expected status codes and text. In the event the lambda fails a cloudwatch alarm state is changed and triggers another lambda sends a message to a slack channel, triggers an SNS topic to send an alert email to the team and changes a route53 health check into an unhealthy state.
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Technical Enhancements

Checklist:
If any of these are not completed, please explain why in the notes.
Definition of Done
Code and merges

[x] Code to be commented on where applicable
[x] Documentation updated where required
[x] Have considered non-functional requirements such as Security, Performance, Scalability, and Fault Tolerance
[x] I have linted the code

Testing

[x] All levels of acceptance test are passing (automated, integration, manual, accessibility, etc.)
[x] I have run the behave command to check the selenium behaviour tests pass locally
[x] Acceptance criteria met

Other Checks

[x] I have performed a self-review of my own code
[x] I have checked for spelling errors
[x] I have commented on my code, particularly in hard-to-understand areas
[x] My changes don't break anything unexpected
[x] I have checked and updated the security.txt file where required
[x] Up to date with the main branch
[x] For a change that needs to be deployed in a release I have a commit with the fix:, feat: or BREAKING CHANGE:
tags and will copy this commit message to the squash
[ ] For a change that does not affect the deployed code I have added a commit with ci:, docs: or test:
depending upon which area of the solution was affected

Note when merging, squash commit must begin with one of the following tags:
"BREAKING CHANGE", "feat", "fix", "ci", "docs", "test"
Usage
BREAKING CHANGE: any change that breaks current functionality and may cause compatibility errors to users upgrading
E.G BREAKING CHANGE: refactored method x to take variable y as input (changed from variable z)
feat: A new feature
E.G feat: adding method x to future methods table
fix: A bug fix
E.G fix: amending page for method x to show correct release version
ci: Changes to our CI configuration files and scripts (Concourse)
docs: Documentation only changes
test: Adding missing tests or correcting existing tests

DEPLOY_URL=https://dioy66z7esqhh.cloudfront.net/
cloudfront_id=E1IDM8NLL0EHKF

DEPLOY_URL=https://dioy66z7esqhh.cloudfront.net/
cloudfront_id=E1IDM8NLL0EHKF

DEPLOY_URL=https://dioy66z7esqhh.cloudfront.net/
cloudfront_id=E1IDM8NLL0EHKF

DEPLOY_URL=https://dioy66z7esqhh.cloudfront.net/
cloudfront_id=E1IDM8NLL0EHKF

DEPLOY_URL=https://dioy66z7esqhh.cloudfront.net/
cloudfront_id=E1IDM8NLL0EHKF

DEPLOY_URL=https://d35vn44dxsq5mb.cloudfront.net/
cloudfront_id=E213OX0TDW61Y6

DEPLOY_URL=https://d35vn44dxsq5mb.cloudfront.net/
cloudfront_id=E213OX0TDW61Y6

DEPLOY_URL=https://d35vn44dxsq5mb.cloudfront.net/
cloudfront_id=E213OX0TDW61Y6

DEPLOY_URL=https://do2kjitwypmw4.cloudfront.net/
cloudfront_id=E2OTCQMJ47QZQ9

DEPLOY_URL=https://do2kjitwypmw4.cloudfront.net/
cloudfront_id=E2OTCQMJ47QZQ9

DEPLOY_URL=https://do2kjitwypmw4.cloudfront.net/
cloudfront_id=E2OTCQMJ47QZQ9

DEPLOY_URL=https://do2kjitwypmw4.cloudfront.net/
cloudfront_id=E2OTCQMJ47QZQ9

DEPLOY_URL=https://d2rt0hab4plrsm.cloudfront.net/
cloudfront_id=E2Z8FTD1G7O4CO


MAINT: sparse: Prepare test_base.py tests to work for sparray or spmatrix classes

This is the 2nd and perhaps the ugliest of the 3 PRs to update test_base.py for testing either sparray or spmatrix classes. It sets up the tests to check isinstance(spcreator, sparray) and do the right test.
The 1st PR of the three, #20889 focuses on tests of the matmul and mul operators.  The 3rd makes the changes from *_matrix to *_object and asmatrix to asobject so that it's easy to define *_object and asobject for easy switching. We don't see test_base being used to test both sparray and spmatrix at once except in a test designed just for that.
I apologize for the difficulty and importance of this kind of long hard-to-read PR. That's why I have split it up.
This PR does the following:

adds a property to the test classes: is_array_test to ease checking whether we are testing sparray or spmatrix
fix tests for str and repr to test sparray or spmatrix
bypass tests of in-place reshape for sparray and check exception instead
switch tests of getrow, getcol, asfptype to  test _getrow, _getcol, _asfptype and  use nnz or _getnnz if testing getnnz
change test_sum() test to switch matrix to asmatrix or np.array [matrix is primarily used in these tests to ensure a 2d array result]
change keepdims args to depend on spcreator type
change test_pow to account for elementwise vs matrix power
replace matrix in test_matvec where it is only needed for 2d shape and change to asmatrix where possible (for easy shift to asobject)
remove matrix.A usage near line 2738 because assert_array_equal doesn't need it and .A is removed for sparray
one very minor change to _data.py for __imul__ to align the imul methods' code across formats and make more readable

I will keep this PR as a draft until #20889 is merged, and will update it as changes to that PR are made. This PR is built on that one.

I have rebased on main after the merge of #20889
The OP list of changes in this PR still holds.
The PR is no longer "draft" and is ready for review!

I have reverted the changes that test _getrow and similar so we still test getrow with spmatrices, and will make the changes in #20895 test them only for spmatrix.
I have also added a number of changes to make the test_base.py tests pass for sparrays. The process of testing sparrays found a couple of bugs:

For A[3,:] = B[2,:] the results of indexing B is 1-D so we're setting some of the values in A with a sparse 1D object. That revealed some code in _index.py that still assumed a 2D shape.
_validate_indices wasn't handling the case of A[..., 1:3] with a ellipsis and a slice. It was adding the wrong number in the shape of the result.
Luckily both these bugs were in _index.py and not yet released. So it's important to get direct testing of sparray included.

Most of the changes are in the tests because sparrays don't return the same thing as spmatrices. I encourage you to look at the changes one commit at a time to reduce overload in review.
The goal of this PR is to get the tests themselves ready to start testing sparrays. But it doesn't actually start testing them until the following PR #20895. That PR has been updated from having a switch for sparray or spmatrix. It now actually creates two classes for each format and runs the tests on both sparray and spmatrix. It doesn't do this for Test64Bit because that would make the tests take too long. But those changes are separated from these to ease review.

The follow-up PR (https://github.com/scipy/scipy/pull/20895) to this one has also been approved by @perimosocordiae and is rebased on top of this one so includes all these changes. So, I'm going to close this PR -- it can be used for folks who want to review that PR in stages rather than all at once. So I'll leave it open for another day or so for that purpose.

See #20895


Use different CSS for different mods.

Related to Associate mods with moods, we should program an Angular way to dynamically change which CSS to use depending on which mod is selected.
These sections would be affected:

[ ] Card model
[ ] Deck builder
[ ] Game board
[ ] Bootstrap popovers, modals, etc. (info)

I think from that we should exclude the login and lobby. We can reuse some of the same CSS we use for the main site, Cyborg Chronicles already exists, Mythos will be made pretty soon.

I'll make sure the appropriate CSS classes are added, someone else make the actual CSS implementation :)

You know I <3 CSS, don't worry I got you covered :+1:

Perhaps the CSS files paths should be sent over with the mod info. Otherwise, the CSS files would be "hardcoded" into the source, and wouldn't allow a user who is hosting their own server and their own mods to have a custom feel.

We could always include a default CSS template, in case the mod name doesn't match a file. Perhaps have a directory for this like:
modcss ->
    cyborg-chronicles.css
    default.css
    mythos.css

Example:
.game-mythos .card {
      background-color: #cfa97f;
}

.game-cyborg-chronicles .card {
      background-color: #7f007f;
}

@Zomis is this actually "done" and just forgot to close it, or is there more to it? Do you just need me to make the CSS at this point?

@Phrancis See what you can do with it CSS-wise and let me know if there is anything else from me or another Angular-Cardshifter-dev

Adding reference to recent chat conversation on the topic: http://chat.stackexchange.com/transcript/message/28697364#28697364


Allow to call track_charge with a callback and without a properties object.

If you do this
mixpanel.people.track_charge(id, 50, callback);

It doesn't ever call the callback, and also doesn't throw or errors. This PR fixes it and adds a test case for it.

lgtm

Thanks for the patch, just did a little trivial cleanup to make it consistent with other spots in the lib. It's been released in 0.1.1.


Agent v3.0.0 docker image crashing

We're noticing that the agent v3.0.0 image is starting but regularly crashing.
The only error I can see in the logs (obtained using kubectl logs --previous) prior to the crash has the pattern:
[2020-12-21T17:22:01Z INFO  fs::cache] unwatching "/var/log/containers/sysdig-agent-89cmp_sysdig_sysdig-agent-f39d0ce5b9410a5b560fc067b635541567266a5d83ed5a6fe84253af17ebf053.log"
[2020-12-21T17:22:01Z ERROR fs::tail] can't wrap up deleted symlink - pointed to file / directory doesn't exist: "/var/log/containers/sysdig-agent-89cmp_sysdig_sysdig-agent-f39d0ce5b9410a5b560fc067b635541567266a5d83ed5a6fe84253af17ebf053.log"
[2020-12-21T17:22:01Z INFO  fs::cache] unwatching "/var/data/kubeletlogs/sysdig_sysdig-agent-89cmp_612bf82a-2ed1-4d9a-aa21-a6521901e288/sysdig-agent-kmodule/0.log"
[2020-12-21T17:22:01Z INFO  fs::cache] unwatching "/var/log/containers/sysdig-agent-89cmp_sysdig_sysdig-agent-kmodule-45b85a88be4f33a6a6a8d32d534940aaa6e603b29b61f0bde068f1299aa687f2.log"
[2020-12-21T17:22:01Z ERROR fs::tail] can't wrap up deleted symlink - pointed to file / directory doesn't exist: "/var/log/containers/sysdig-agent-89cmp_sysdig_sysdig-agent-kmodule-45b85a88be4f33a6a6a8d32d534940aaa6e603b29b61f0bde068f1299aa687f2.log"
[2020-12-21T17:22:05Z INFO  fs::cache] unwatching "/var/data/kubeletlogs/fdbcore-perf_c-fdbcore-perf-replication-7b95fbdfd7-wkkft_60322824-19c0-492a-9351-12afc073cf05/db/79.log"

It seems that the container then exited - kubectl describe pod shows:
Events:
  Type     Reason   Age                     From     Message
  ----     ------   ----                    ----     -------
  Warning  BackOff  91s (x1416 over 6h54m)  kubelet  Back-off restarting failed container

Do you have any suggestions as to what might be wrong/how to debug further?

also noting this is only occuring on a subset of pods:
kubectl get pods -n logdna
NAME                 READY   STATUS             RESTARTS   AGE
logdna-agent-279xj   1/1     Running            1          5d1h
logdna-agent-4c854   1/1     Running            0          5d1h
logdna-agent-598l9   1/1     Running            0          5d1h
logdna-agent-5dlvr   0/1     CrashLoopBackOff   87         5d1h
logdna-agent-5psz7   1/1     Running            4          5d1h
logdna-agent-6pt8z   1/1     Running            1          5d1h
logdna-agent-9q874   1/1     Running            10         5d1h
logdna-agent-c7brx   1/1     Running            4          5d1h
logdna-agent-ddslm   1/1     Running            0          5d1h
logdna-agent-dghkj   1/1     Running            0          5d1h
logdna-agent-dq97j   1/1     Running            0          5d1h
logdna-agent-fvzkr   1/1     Running            4          5d1h
logdna-agent-g8m2j   1/1     Running            0          5d1h
logdna-agent-h992g   1/1     Running            1          5d1h
logdna-agent-kpkdj   1/1     Running            21         5d1h
logdna-agent-l9777   1/1     Running            1          5d1h
logdna-agent-qq2cc   1/1     Running            16         5d1h
logdna-agent-qvjhk   1/1     Running            1          5d1h
logdna-agent-r82vs   1/1     Running            1          5d1h
logdna-agent-r8tnk   1/1     Running            0          5d1h
logdna-agent-rplzd   1/1     Running            1          5d1h
logdna-agent-sh2fn   1/1     Running            1          5d1h
logdna-agent-sl5gp   0/1     CrashLoopBackOff   78         5d1h
logdna-agent-thkst   1/1     Running            4          5d1h
logdna-agent-tqrcz   1/1     Running            2          5d1h
logdna-agent-tvctj   1/1     Running            7          5d1h
logdna-agent-vfnwv   0/1     CrashLoopBackOff   80         5d1h
logdna-agent-vtrxc   1/1     Running            406        5d1h
logdna-agent-z8r2m   1/1     Running            1          5d1h
logdna-agent-zw575   1/1     Running            1          5d1h

Hi @willholley thanks for the report. I'll look into this now.
Is there another pod running on each of those nodes? It might be a strange interaction that we havn't seen before in testing.

My guess is that sysdig creates a dangling symlink and we're not handling that correctly. You may be able to add an exclusion rule until we have a fix.

thanks @c-nixon. Looking at the errors logged across all pods it doesn't appear to be limited to only Sysdig:
Dec 21 18:16:41 logdna-agent-l9777 logdna-agent ERROR fs::tail] unable to stat "/var/log/containers/ccmd-1608573840-skp6t_ccmd-sapitest_ccmd-b95d3f03f745fbd5ea2ffff8fdd3f1a2abe172d1b0834a8dc4b27615864b0a85.log": Os { code: 9, kind: Other, message: "Bad file descriptor" }
Dec 21 18:16:41 logdna-agent-l9777 logdna-agent ERROR fs::tail] can't wrap up deleted symlink - pointed to file / directory doesn't exist: "/var/log/containers/ccmd-1608573840-skp6t_ccmd-sapitest_ccmd-b95d3f03f745fbd5ea2ffff8fdd3f1a2abe172d1b0834a8dc4b27615864b0a85.log"
Dec 21 18:16:43 logdna-agent-4blsd logdna-agent ERROR fs::tail] can't wrap up deleted symlink - pointed to file / directory doesn't exist: "/var/log/containers/ccmd-1608573840-vgvkd_ccmd_ccmd-4ef0ae1dccd5321509899d813dc5c9a483d3bab7ff849ed379392ddc4f536c4c.log"
Dec 21 18:16:50 logdna-agent-6bwpx logdna-agent ERROR fs::tail] unable to stat "/var/log/containers/chassis2-67855b879d-2fmr5_chassis-production-global_istio-proxy-862a6f7275631aa3911b54bf5f9cb7770bdb33b9f1bb3b41ce0f54025b137ffd.log": Os { code: 9, kind: Other, message: "Bad file descriptor" }
Dec 21 18:17:09 logdna-agent-ztfcv logdna-agent ERROR fs::tail] unable to stat "/var/log/containers/chassis2-67855b879d-tw4g4_chassis-production-global_istio-proxy-5692c018cd5e83b286937660e4bcb809a3ae2dd66cb5f5bd8475af705b854f86.log": Os { code: 9, kind: Other, message: "Bad file descriptor" }
Dec 21 18:17:33 logdna-agent-mfckf logdna-agent ERROR fs::tail] unable to stat "/var/log/containers/chassis2-67855b879d-wq5f2_chassis-production-global_istio-proxy-a53130d2d506402996a5b2b6c6fd13f49520aff3a890de375f5871255cdf2498.log": Os { code: 9, kind: Other, message: "Bad file descriptor" }
Dec 21 18:17:41 logdna-agent-l9777 logdna-agent ERROR fs::tail] can't wrap up deleted symlink - pointed to file / directory doesn't exist: "/var/log/containers/ccmd-1608573900-h42tz_ccmd-sapitest_ccmd-01367b50db01da6ceaeb0bf78d284ba6c41359c10cc2f4fe5bbab32de364613c.log"
Dec 21 18:17:44 logdna-agent-4blsd logdna-agent ERROR fs::tail] can't wrap up deleted symlink - pointed to file / directory doesn't exist: "/var/log/containers/ccmd-1608573900-qrn4b_ccmd_ccmd-8ccddd704848fd91ede9f92b66797d80500150aaf2cc14a3a9ccf15c1a3c048b.log"

Aha, that set looks like a race condition. Our new streaming architecture may be processing delete's more quickly than the old threaded model.
Are the pods in that second set of logs also in a restart loop? Or do they restart and then continue on?

They don't all appear to be in restart loops e.g. logdna-agent-l9777 has a lot of can't wrap up deleted symlink errors in the log but has only restarted twice in 5 days wheras others are restarting every few minutes.
Looking at the pod state, the interesting part seems to be exitCode: 139 - I see that exitCode for all the pods that are crashing:
lastState:
      terminated:
        containerID: containerd://bb7cd33a319b4f6a794b5f8bbfaf689d78dabbfe3ea1df1fe0037394ca6d45f0
        exitCode: 139
        finishedAt: "2020-12-21T20:30:31Z"
        reason: Error
        startedAt: "2020-12-21T16:31:02Z"

Hmm, curiouser and curiouser. Could you add
            - name: RUST_BACKTRACE
              value: full

to the env section of the agent container

hmm - log getting any more info I'm afraid:
kubectl get pods -n logdna
NAME                 READY   STATUS    RESTARTS   AGE
logdna-agent-26zgq   1/1     Running   0          8m6s
logdna-agent-5kw4t   1/1     Running   2          8m1s
logdna-agent-67qfz   1/1     Running   0          8m3s
logdna-agent-7rhgg   1/1     Running   0          8m3s
logdna-agent-8mcth   1/1     Running   0          8m6s
logdna-agent-8phdx   1/1     Running   0          8m7s
logdna-agent-b87b8   1/1     Running   0          8m6s
logdna-agent-bjwdj   1/1     Running   0          8m5s
logdna-agent-d2gw7   1/1     Running   2          8m7s
logdna-agent-dznqk   1/1     Running   0          8m6s
logdna-agent-f4mfq   1/1     Running   0          8m6s
logdna-agent-fbxbv   1/1     Running   0          8m7s
logdna-agent-fdv27   1/1     Running   0          8m9s
logdna-agent-fp928   1/1     Running   0          8m8s
logdna-agent-h8jqx   1/1     Running   0          8m
logdna-agent-k598d   1/1     Running   0          8m5s
logdna-agent-kn5kb   1/1     Running   0          8m4s
logdna-agent-lsk5k   1/1     Running   0          8m10s
logdna-agent-nwdvs   1/1     Running   0          8m4s
logdna-agent-pzlzh   1/1     Running   0          8m3s
logdna-agent-qvrcx   1/1     Running   0          8m2s
logdna-agent-r6lt6   1/1     Running   0          7m59s
logdna-agent-rlzkh   1/1     Running   0          8m2s
logdna-agent-v47zc   1/1     Running   1          8m8s
logdna-agent-vbkhw   1/1     Running   0          8m
logdna-agent-vghpf   1/1     Running   0          8m6s
logdna-agent-xsw64   1/1     Running   0          8m

then picking one pod that's restarted (logdna-agent-v47zc):
kubectl get pod logdna-agent-v47zc -n logdna -ojson | jq '.status.containerStatuses[].lastState'
{
  "terminated": {
    "containerID": "containerd://a1df945deaccf530172db592b59b19b92e3773eec05f297810911c26e025499a",
    "exitCode": 139,
    "finishedAt": "2020-12-21T21:28:32Z",
    "reason": "Error",
    "startedAt": "2020-12-21T21:23:04Z"
  }
}

kubectl logs -n logdna logdna-agent-v47zc --previous --tail 20
[2020-12-21T21:23:04Z INFO  fs::tail] initialized "/var/log/docker.log" with len 0 offset 0
[2020-12-21T21:23:04Z INFO  fs::tail] initialized "/var/log/cloud-init.log" with offset 117041
[2020-12-21T21:23:04Z INFO  fs::tail] initialized "/var/log/unattended-upgrades/unattended-upgrades-shutdown.log" with len 112 offset 0
[2020-12-21T21:23:04Z INFO  fs::tail] initialized "/var/log/cloud-init-output.log" with len 5944 offset 0
[2020-12-21T21:23:04Z INFO  fs::tail] initialized "/var/log/apport.log" with offset 14409
[2020-12-21T21:23:04Z INFO  fs::tail] initialized "/var/log/sudo.log" with offset 30894
[2020-12-21T21:23:04Z INFO  fs::tail] initialized "/var/log/kern.log" with offset 521873
[2020-12-21T21:23:04Z INFO  fs::tail] initialized "/var/log/firstboot.log" with offset 29017
[2020-12-21T21:23:04Z INFO  fs::tail] initialized "/var/log/syslog" with offset 84618937
[2020-12-21T21:23:04Z INFO  fs::tail] initialized "/var/log/landscape/sysinfo.log" with len 0 offset 0
[2020-12-21T21:23:04Z INFO  fs::tail] initialized "/var/log/apt/history.log" with len 521 offset 0
[2020-12-21T21:23:04Z INFO  fs::tail] initialized "/var/log/apt/term.log" with len 3176 offset 0
[2020-12-21T21:24:04Z INFO  metrics] {"fs":{"events":838,"creates":0,"deletes":0,"writes":838,"lines":988,"bytes":197199,"partial_reads":823},"memory":{"active":22769664,"allocated":19258240,"resident":27430912},"ingest":{"requests":179,"throughput":195909,"rate_limits":0,"retries":0},"k8s":{"lines":0,"polls":0,"creates":567,"deletes":1,"events":0,"notifies":0},"journald":{"lines":0,"bytes":0}}
[2020-12-21T21:25:04Z INFO  metrics] {"fs":{"events":864,"creates":0,"deletes":0,"writes":864,"lines":987,"bytes":196337,"partial_reads":848},"memory":{"active":22769664,"allocated":19258072,"resident":27430912},"ingest":{"requests":179,"throughput":195501,"rate_limits":0,"retries":0},"k8s":{"lines":0,"polls":0,"creates":10,"deletes":1,"events":0,"notifies":0},"journald":{"lines":0,"bytes":0}}
[2020-12-21T21:26:04Z INFO  metrics] {"fs":{"events":884,"creates":0,"deletes":0,"writes":884,"lines":1021,"bytes":201915,"partial_reads":866},"memory":{"active":22753280,"allocated":19253592,"resident":27414528},"ingest":{"requests":175,"throughput":200595,"rate_limits":0,"retries":0},"k8s":{"lines":0,"polls":0,"creates":15,"deletes":1,"events":0,"notifies":0},"journald":{"lines":0,"bytes":0}}
[2020-12-21T21:27:04Z INFO  metrics] {"fs":{"events":819,"creates":0,"deletes":0,"writes":819,"lines":959,"bytes":192328,"partial_reads":808},"memory":{"active":22704128,"allocated":19230016,"resident":27365376},"ingest":{"requests":176,"throughput":191668,"rate_limits":0,"retries":0},"k8s":{"lines":0,"polls":0,"creates":10,"deletes":1,"events":0,"notifies":0},"journald":{"lines":0,"bytes":0}}
[2020-12-21T21:28:04Z INFO  metrics] {"fs":{"events":846,"creates":0,"deletes":0,"writes":846,"lines":957,"bytes":190081,"partial_reads":833},"memory":{"active":22732800,"allocated":19256288,"resident":27394048},"ingest":{"requests":185,"throughput":188828,"rate_limits":0,"retries":0},"k8s":{"lines":0,"polls":0,"creates":20,"deletes":1,"events":0,"notifies":0},"journald":{"lines":0,"bytes":0}}
[2020-12-21T21:28:09Z INFO  fs::cache] watching "/var/data/kubeletlogs/fdbcore-perf_c-fdbcore-perf-replication-7b95fbdfd7-hb65l_bccf49c9-0413-4b0f-9382-c11a61bb3036/db/125.log"
[2020-12-21T21:28:09Z INFO  fs::cache] watching "/var/log/containers/c-fdbcore-perf-replication-7b95fbdfd7-hb65l_fdbcore-perf_db-2e245e4355456018f68e27e914d877642ce71ff25919b24338f2a3220fb77cbc.log"
[2020-12-21T21:28:32Z INFO  fs::cache] unwatching "/var/data/kubeletlogs/fdbcore-perf_c-fdbcore-perf-replication-7b95fbdfd7-hb65l_bccf49c9-0413-4b0f-9382-c11a61bb3036/db/124.log"

Thanks! That massively narrows down where I need to look. Looks like it's something filesystem related in the fs cache unwatch logic during log rotation. It's possible we're trying to read from a closed filehandle or perform some other illegal operation.
Now that you have the RUST_BACKTRACE env var set you may get a stack trace from one of the other agents, if you do see one it would be really useful while in reproducing it

Good news! We were able to reproduce it here: https://github.com/logdna/logdna-agent-v2/pull/63/commits/8e3f17b6d227c6e87ff03a65c1fb86d7516d27fe
It looks like the underlying issue is related to how our fs module uses pointers to files/directories and it's surfaced now more frequently thanks to event streaming deleting them more quickly, as @c-nixon mentioned.
We are looking into fixing it, it's going to take some refactoring of the fs module to use RC/Arc/Weak.
Thanks again @willholley for all the info.

Good news! We were able to reproduce it here: https://github.com/logdna/logdna-agent-v2/pull/63/commits/8e3f17b6d227c6e87ff03a65c1fb86d7516d27fe
It looks like the underlying issue is related to how our fs module uses pointers to files/directories and it's surfaced now more frequently thanks to event streaming deleting them more quickly, as @c-nixon mentioned.
We are looking into fixing it, it's going to take some refactoring of the fs module to use RC/Arc/Weak.
Thanks again @willholley for all the info.

thanks for the update @jorgebay - that's great to hear.

thanks for the update @jorgebay - that's great to hear.

Hi @willholley, this should be fixed in the 3.0.1 patch release, Github "helpfully" closed this issue because I referenced it in the PR. Can you confirm if you're still seeing the issue with the newer build?

Hi @willholley, this should be fixed in the 3.0.1 patch release, Github "helpfully" closed this issue because I referenced it in the PR. Can you confirm if you're still seeing the issue with the newer build?

thanks @c-nixon - looking good now. I haven't observed any crashes since we deployed the new image today.

thanks @c-nixon - looking good now. I haven't observed any crashes since we deployed the new image today.

Thanks!

Thanks!


Bump Version according to Spree

I would bump the gem version to avoid conflicts between branches 2-2-stable and 2-3-stable.

Why should increasing the gem version break the specs? Btw: Travis Build is failing since July.

No, this did not break the specs, as you say the specs has been broken some time now and the correct version for this branch was fixed here: 80e6025323a36c0c05cc8da5e10678ca2ed3c670.


Define properties like in C#

When you're creating a class and you want to define some properties you have to write much code to do so.
Current way
class MyClass {

    /**
     * Creates a new Instance of this class
     */
    constructor(private _id: number, private _name: string) {
    }

    /**
     * To define a property, you need a get function ...
     */
    get id(): number {
        return this._id;
    }

    /**
     * ... and a set function ...
     */
    set id(value: number) {
        this._id= value;
    }

    /**
     * ... for every single ...
     */
    get name(): string {
        return this._name;
    }

    /**
     * ... property.
     */
    set name(value: string) {
        if (this.checkName(value)) {
           this._name = value;
        }
    }

    /**
     * Do something
     */
    private checkName(name: string): boolean {
         return name && name.trim();
    }
}

Please consider to add additional ways to define properties, similar to C# where you also have more than one way.
Additional ways in a future release
class MySecondClass {
    /**
     * Creates a new Instance of this class
     */
    constructor(id: number, private _name: string) {
        this.id = id;
    }

    /**
     * Define a property in only one line
     */
    public id(): number { get; set; }

    /**
     * Define a property with additional functionallity
     */
    public name(): string {
        get { return this._name; }
        set {
           if (this.checkName(value)) {
              this._name = value;
           }
        }
    }

    /**
     * Do something
     */
    private checkName(name: string): boolean {
         return name && name.trim();
    }
}

That breaks is a TypeScript non-goal:

Exactly mimic the design of existing languages. Instead, use the behavior of JavaScript and the intentions of program authors as a guide for what makes the most sense in the language.

TypeScript follows the pattern of ECMAScript.  If you want different ways of setting accessors, then the best place to request that functionality is via TC39 and then of course TypeScript would follow the lead.

But that doesn't mean, that you can't make the language much easier in use and much more readable and structured.
What I wrote was just an example how it could be.

But it does mean it is against the design goals of TypeScript.  There are lots of things that could be lots of things.  Dart is an example of a language that is "JavaScript-like" but allows other constructs.  TypeScript is not Dart.

@NCC1701M
One reason for this design tenet is that TS wants to stay compatible with future JS standards.
What if in the future JS chooses a different syntax for simplified properties? This happened in the past with modules and it was a little messy to recover from. Worse: what if JS introduces a new syntax that is plain incompatible with your proposed syntax?!
As kitsonk said, you probably should raise your voice at TC39 first so that the idea can trickle down from JS to TS.
BTW, except for auto properties I don't think there's much to gain here. C# syntax is as long as JS. And since in JS there is no practical difference between a field and an auto-property (is there?) I wonder why you want them?

What the above commenters said.
I'd also note that
public id(): number { get; set; }

is much easier to write already:
id: number;

This might be a corner case here. But I actually came across a scenario in which the difference between a field and an auto-property does exist.
Say that you want to put a property decorator @foo on some arbitrary classes' properties. By arbitrary I mean that those classes do not necessarily have identical constructor signatures.
import 'reflect-metadata'
function foo(msg: string) {
  return Reflect.metadata('foo', msg)
}
class A {
  @foo('field1')
  field1: string
  private _field2: string
  @foo('field2')
  get field2(): string { return this._field2 }
  set field2(value: string) { this._field2 = value }
}

Then you want to inspect each class and get a list of properties that are decorated with @foo.
function inspect(target: any): string[] {
  return Object.keys(target).filter((key) => Reflect.hasMetadata('foo', target, key))
}

For some reason you don't have access to an instance when you call inspect and you can't really instantiate one by yourself since the constructor signature is unknown, so you are stuck with inspect(A.prototype).
inspect(A.prototype)
// Wants: ['field1', 'field2']
// Gets: ['field2']

A field is not defined on prototype, so you have to define all fields as properties, which could be very messy without auto-properties.
class A {
  private _field1: string
  @foo('field1')
  get field1(): string { return this._field1 }
  set field1(value: string) { this._field1 = value }
  private _field2: string
  @foo('field2')
  get field2(): string { return this._field2 }
  set field2(value: string) { this._field2 = value }
  // ....
  // 998 properties later (not really but you got the idea)
  private _field1000: string
  @foo('field1000')
  get field1000(): string { return this._field1000 }
  set field1000(value: string) { this._field1000 = value }
}

@akfish I am no specialist of the proposed reflect-metadata but isn't that a problem with your inspect implementation?
Calling Object.keys on the prototype will not provide you any instance members (like fields).
Yet, I think the metadata for fields should be available on the prototype.
Have you tried Reflect.getMetadataKeys(target)?

@jods4

Calling Object.keys on the prototype will not provide you any instance members

Yep, I know it's by-design. That's why in this specific case (having no access to instances), fields and auto-properties are not interchangeable.

Have you tried Reflect.getMetadataKeys(target)?

According to the code doc of Reflect.getMetaKeys(target), it only gives you the metadata keys declared on the target, not those on its members. You will have to know member's name (aka the propertyKey) to get the metadatas on that member.2 And Reflect does not provide API for discovering propertyKeys. Hence the need of calling Object.keys.
I'm not looking for a solution for this specific issue (I implemented the decorators differently in my actual project to support field members), nor am I pushing for this feature (I understand the design concerns mentioned above), just providing an example for informative reason.

@akfish You are right Reflect.getMetadataKeys needs the property name, my mistake. It's a strange design that all instance metadata is stored and available on the prototype, but there is no public API to iterate it without prior knowledge.
I know that's not the main point here, I was just (badly) reflecting on the given example.

I know this is an old post, but I want to add an argument to this discussion.
Most arguments I have seen did not address why I think auto properties are so valuable. Namely different access modifiers for the getter and the setter.
Lets consider the next sample, which I use pretty often.
class A {
   protected _field: number;
   public get field() { return this._field; }
   protected  set field(v: number) { this._field = v; }
}

I want to expose the ability to get a certain field, but I don't want it to be set outside of A and it's children.
In (for example) C# you can do the following:
class A {
   public field { get; protected set; }
}

Besides that it easier to read and shorter, it also just introduces one field less (namely _field). In the TS version you could remove the setter as it has the same protection level as the field itself, but in that case you would have to use the _field for internal use and the field for external getting. Again possible, but in my opinion less readable.
My last argument for the auto property is about documentation, In typescript I  would have to add a documentation comment above at most 2 fields, while with auto properties I could just use 1 comment.
I am not saying TypeScript should mimic the C# implementation, but some sort of auto properties would be nice. I myself like the getter setter pattern described above allot; it gives the programmer a good way to translates it's intent to other coders. But as of now  writing and maintaining them is more work than it could be.

TypeScript already creates a variable named _this for lambdas. Why not create a property named _id and allow "public Id { get; set; }" ? This would transpile to the existing onerous way of creating getters and setters in JavaScript.


About dual-template representation and dynamic template update.

Will you open source the code for this part? I think that's a very important part of your work!

Hey
Sorry for the late response. We plan to release it in the near future with pre-trained weights of FEAR models with a dynamic template update. We are working on separating its training and inference code from our codebase into this repository.

Also very interested in this. Looking forward!

@borsukvasyl    When can you release the code?


Deployment Target was fixed by deleting IPHONEOS_DEPLOYMENT_TARGET

This pull request is to fix and issue due to Compiling for iOS 8.0, but module 'SwiftProtobuf' has a minimum deployment target of iOS 9.0:
Resolution reference: https://stackoverflow.com/a/64048124

Nik, please take a look a this. Make sure this is cool. @n13

I think its better to Stop supporting IOS 8.
@n13
@7flash
What do you think ?

Yes - definitely, let's dump it


Update Japanese translations.

Thanks.
Would you like to add your name or nickname as the author of this translation update?
(if so, tell me which name or nickname to use)

Yes, 'oxosi' please.
Thak you for your merge and a great product.


File rename

/azp run java - storage - ci

/azp run java - storage - ci

API changes have been detected in com.azure:azure-storage-blob. You can review API changes here
API changes
-         V2021_02_12("2021-02-12");
+         V2021_02_12("2021-02-12"),
+         V2021_04_10("2021-04-10");

API changes have been detected in com.azure:azure-storage-file-share. You can review API changes here

API changes have been detected in com.azure:azure-storage-file-datalake. You can review API changes here
API changes
-         V2021_02_12("2021-02-12");
+         V2021_02_12("2021-02-12"),
+         V2021_04_10("2021-04-10");

API changes have been detected in com.azure:azure-storage-queue. You can review API changes here
API changes
-         V2021_02_12("2021-02-12");
+         V2021_02_12("2021-02-12"),
+         V2021_04_10("2021-04-10");

/azp run java - storage - ci


executeAutofix on save?

Hi, first of all I love coc.nvim, thanks for this awesome project.
I got working the autoimport feature but I don't get the import to show up until I run the command tsserver.executeAutofix. Is there any setting to run that on save just like tslint and eslint?

I use this: autocmd BufWritePre *.ts :call CocAction('runCommand', 'tsserver.executeAutofix')

@fannheyward thanks for the tip! I figured out I could do something like that but since coc-eslint and coc-tslint both have this config already, I thought this extension should have it too.

The autofix from tsserver may conflict with other tools while sometimes gives unexpected fix, and uses defined autocmd gives you better control.
The typescript-vscode extension also doesn't have this feature.

@chemzqm ok that makes sense then, I'll close the issue. Thanks!


Record wrapped objects in the index store and use object_to_owner_index instead of modified_at_version

Notable changes:

Added wrapped object to the index store
get_past_object query the indexstore for wrapped object info, instead of returning object not found.
index_tx uses the new object to owner index instead of last modified at to work out the last owner information.

closing this PR, this will be done in the indexer instead.


node-red notification howto?

Hi, i have notification working ok with atuomation option, but with node-red notification i can't make it work
Can someone tell me how to write the sentence?, i this working?
{"clientId":"default","to":"391234567890@s.whatsapp.net","body","text":"test"}

Not tested but I think the data should be like this.
{
   "clientId": "default",
   "to"<EMAIL_ADDRESS>   "body": {
      "text": "test"
   }
}

Not tested but I think the data should be like this.
{
   "clientId": "default",
   "to"<EMAIL_ADDRESS>   "body": {
      "text": "test"
   }
}

thanks Gerard, i  will try!


mano trans parameter is missed

from the json file about FreiHAND dataset, I can't get the parameter about trans.
the code is here.
Hand model predict ’cam_trans‘，but not use here
Also, bbox_root_freihand_output.json here is not offered

For the Frei dataset, ypu should use Pose2Pose branch
cam_trans in hand is used in here: https://github.com/mks0601/Hand4Whole_RELEASE/blob/2f7a608cb05cf586d1e80c76e507d0802a6c13f0/main/model.py#L105

bbox root is available in here: https://drive.google.com/drive/u/0/mobile/folders/1OzwQG2ZutJ4Lzg5psilStsv_MO6-cysA?usp=sharing
Let me add this in reamd later

Thanks.
FreiHAND  annotations not offer 'trans' para, only have 'pose' and 'shape'

It provdes. Please check the json file.

Sorry, I used the json file with the same name from other project, which has no 'trans' para.


Support for vitest

Hey @timfjord !
I really love this package. Is supporting additional test runners for javascript like vitest on your roadmap?

Hey @eidellev
I am glad that you like the package
I've taken a look at vitest, and I think this is something I can do next.
By the way, I might add a few more test frameworks next month, so if you are interested in other test frameworks please let me know so I can prioritize them, as currently I add test frameworks support in a semi-random order

Just merged vitest support to main.
Currently, it doesn't support in-source testing, but I am planning to add this later on https://github.com/timfjord/AnyTest/issues/24

Just released v0.4.0


How can I install this?

Hello!
Could you say me how can I install this in my Mac with Xcode?
Thank you!!

You need to allow unsigned extensions in safari

Hello!
Could you say me how can I install this in my Mac with Xcode?
Thank you!!

You need to allow unsigned extensions in safari

Hello!
Could you say me how can I install this in my Mac with Xcode?
Thank you!!

Hello!
Thank you very much for your reply! I have done that.
But my question is... I download the GitHub code with the project and open the project with Xcode. Then I choose Real Debrid (macOS) and press run but this doesn't work.
Could you help me a little bit kind sir?
THANK YOU!

This issue still exists, even with Allowing Unsigned Extensions it will not show up in the Extensions settings.


Added context-relevant tags' description

Added context requested in the issue #883

CC: @clalancette

@Mergifyio backport galactic humble rolling


GH-2359: Initial AOT Support for Native

Resolves https://github.com/spring-projects/spring-kafka/issues/2359
This is sufficient for the basic Kafka smoke test.
I will issue another PR if changes are needed for the Streams and Avro versions.
I have a KafkaAvroBeanRegistrationAotProcessor but I have omitted it from
this commit because it hasn't been tested.

The avro processor is specific to spring-kafka because it discovers listeners that use Avro types and registers them for reflection.
I left it out of this PR to avoid any confusion (and because I haven't tested it yet).

Thanks; all smoke tests are green, but I will add a couple more before merging this.

Ok to merge after this final commit; thanks!


bugfix: if lsp label defined, priority may return nil when get it fro…

If both
 let g:completion_customize_lsp_label = {
     \ 'Function': "\uf794"
}

and
let g:completion_items_priority = {
    \ 'Function': 8,
}

existed, priority for Function will be nil.
Error report is here: https://github.com/nvim-lua/completion-nvim/issues/256

@haorenW1025
Can you review the PR and give some feedbacks?

Sorry for not being responsive:( This seems to be a sensible fix, thanks!


Requires JavaScript to sign in. This web browser either does not support JavaScript, or scripts are being blocked

trying to login into microsoft onedrive login and got Microsoft account requires JavaScript to sign in. This web browser either does not support JavaScript, or scripts are being blocked error in response.
Is there a way to allow javascript in code for these type of issues

I don't know about JS support in this project, but maybe you can use the MS OneDrive API.


Add extra travis test envs

Noticed most recent versions of Elixir and OTP are not part of the test suite.
Maintained the version currently used; phoenix has similar config 👍🏼

Thanks!


schedule every X but run the first execution at startup

Hi,
I can't find an option to run immediately the first execution of a scheduled job.
We have jobs to run every 6 hours, but first execution must occur at startup (and not after 6 hours of application bootstrap).
How can I achieve that?

Using the example in the readme:

import schedule
import time
def job():
print("I'm working...")
schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
schedule.every(5).to(10).minutes.do(job)
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
while True:
schedule.run_pending()
time.sleep(1)

You can just add job() before schedule.every(10).minutes.do(job) to execute job once.

🥇
Thanks :)

something like this will do the job:
 import schedule
 import time
 def job():
     print("I'm working...")
+job()
 schedule.every(10).minutes.do(job)

 while True:
     schedule.run_pending()
     time.sleep(1)


Integration of RCNN object detection on Autoware

**Added a new library librcnn, which executes the object recognition using the Caffe framework, specifically the fast-rcnn branch.
git clone --recursive https://github.com/rbgirshick/fast-rcnn.git
-Requires CUDA for GPU support.
To take advantage of cuDNN, at least CUDA 7.0 and a GPU with 3.5 compute capability is required.
-Compile Caffe, located in caffe-fast-rcnn.
Complete the requisites:http://caffe.berkeleyvision.org/install_apt.html
-Download the pretrained models:
http://www.cs.berkeley.edu/~rbg/fast-rcnn-data/voc12_submission.tgz
-Modify the CMakeFiles and point them to your caffe and models directories.
**Modified KF to use the new NMS algorithm
**Modified Range fusion, it will not execute unnecesary fusions.
**Added Configuration Messages to Runtime manager and RCNN node launch files

2nd argument of ConvertImageToBlob is reference, while 2nd argument of ConvertRoisToBlob is pointer. why ?
I was just testing your patience my dear @syohex
http://redcloudinfotechii2012b.pbworks.com/f/1354563451/why.jpg
Really, thank you for your suggestions.
I'll continue later with the rest.

ping @syohex

To download data file takes too long time. Please wait a while.

Thanks Yosh-san

On Oct 29, 2015, at 11:08, Syohei YOSHIDA<EMAIL_ADDRESS>wrote:
To download data file takes too long time. Please wait a while.
―
Reply to this email directly or view it on GitHub.

Why isn't this type enum RcnnDetectorClasses ?

You can change it if you wish Yosh


Pi-hole / Three Container Setup

Hello Buchdag,
I hope you can help me with this problem. I am using the "three containers/compose-v3/labels"-setup you provided. It is a great setup, thanks to you!
It works fine with other kinds of projects, but when i tried to run Pi-hole behind it, Pi-hole crashed with the following output, even though I'am using the DEFAULT_HOST environment variable:
Removing pihole
Recreating d09f715ad0ee_pihole ...
Recreating d09f715ad0ee_pihole ... error

ERROR: for d09f715ad0ee_pihole  Cannot start service pihole: driver failed programming external connectivity on endpoint pihole (f99813b9aca1b4dce45dfc05fc7c52ca6685ea7e0d981e2d557786e3e258a529): Bind for <IP_ADDRESS>:443 failed: port is already allocated

ERROR: for pihole  Cannot start service pihole: driver failed programming external connectivity on endpoint pihole (f99813b9aca1b4dce45dfc05fc7c52ca6685ea7e0d981e2d557786e3e258a529): Bind for <IP_ADDRESS>:443 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.

After trying many different ways of fixing this error, my last attempt was to use the basic/standard "jwilder/nginx-proxy" and et voilà it worked...   :(
So I think I am missing somthing little, but I can't find it.
My ReverseProxy (based on your example) looks like this:
version: '3'
services:
  reverseproxy-nginx:
    image: nginx
    container_name: reverseproxy-nginx
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - conf:/etc/nginx/conf.d
      - vhost:/etc/nginx/vhost.d
      - html:/usr/share/nginx/html
      - certs:/etc/nginx/certs:ro
    labels:
      - "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy"
    environment:
      - TZ=Europe/Berlin
    restart: always

  reverseproxy-dockergen:
    image: jwilder/docker-gen
    command: -notify-sighup reverseproxy-nginx -watch /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf
    container_name: reverseproxy-dockergen
    depends_on:
      - reverseproxy-nginx
    volumes:
      - conf:/etc/nginx/conf.d
      - vhost:/etc/nginx/vhost.d
      - certs:/etc/nginx/certs:ro
      - ./nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro
      - /var/run/docker.sock:/tmp/docker.sock:ro
    labels:
      - "com.github.jrcs.letsencrypt_nginx_proxy_companion.docker_gen"
    environment:
      - TZ=Europe/Berlin
      - DEFAULT_HOST=pihole.myadress.com
    restart: always

  reverseproxy-letsencrypt-companion:
    image: jrcs/letsencrypt-nginx-proxy-companion:latest
    container_name: reverseproxy-letsencrypt-companion
    depends_on:
      - reverseproxy-nginx
      - reverseproxy-dockergen
    volumes:
      - vhost:/etc/nginx/vhost.d
      - html:/usr/share/nginx/html
      - certs:/etc/nginx/certs
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - TZ=Europe/Berlin
    restart: always

volumes:
  conf:
  vhost:
  html:
  certs:

networks:
  default:
    external:
      name: nginx-reverseproxy

My Pi-hole docker-compose.yml looks like this:
version: '3'

# https://github.com/pi-hole/docker-pi-hole/blob/master/README.md

services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    # For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "67:67/udp"
      - "80:80/tcp"
      - "443:443/tcp"
    environment:
      - TZ=Europe/Berlin
      - WEBPASSWORD=ReallySecurePasswordForPiHole
      - ServerIP=<IP_ADDRESS>
      - VIRTUAL_HOST=pihole.myadress.com
      - VIRTUAL_PORT=80
      - LETSENCRYPT_HOST=pihole.myadress.com
      -<EMAIL_ADDRESS>    # Volumes store your data between container upgrades
    volumes:
      - './etc-pihole/:/etc/pihole/'
      - './etc-dnsmasq.d/:/etc/dnsmasq.d/'
      # run `touch ./var-log/pihole.log` first unless you like errors
      # - './var-log/pihole.log:/var/log/pihole.log'
    dns:
      - <IP_ADDRESS>
      - <IP_ADDRESS>
    # Recommended but not required (DHCP needs NET_ADMIN)
    #   https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
    #cap_add:
    #  - NET_ADMIN
    restart: always

networks:
  default:
    external:
      name: nginx-reverseproxy

I would appreciate any hint and/or help.
Thanks in advance!

Hi.
You can't have
ports:
      - "80:80/tcp"
      - "443:443/tcp"

in your proxied container compose file (whatever the container is), those ports are already in use by the proxy itself (wether it is nginx or nginx-proxy/nginx-proxy.

Thanks for your reply!
Can you imagine some kind of trick or workaround to make this possible? For Example with the "nginx.tmpl" file?

I don't really get why you would want to publish the 80 and 443 ports if the container is behind a reverse proxy. The whole idea is that the reverse proxy is the only one to expose http and https ports to the outside, handle the connection for all containers then proxy it to each specific container based on the requested hostname.
If you want to expose them for test purpose you can do something like
ports:
      - "8080:80/tcp"
      - "8443:443/tcp"

Thank you for your answer and sorry that the question was probably too simple for you. I somehow didn't quiet understand it and could therefore not solve the problem myself. But you got me thinking and now it finally works! Thanks a lot!
As you said I didn't need the exposed Ports at all. I simply commented them out and thats it. How could I not think of that?! Anyway, have a nice weekend, thanks again!


Is it possible to enforce all the variables in a template with a specific filter?

Hi
I am about to implement an application with jinja2. We developed a universal filter that should be applied to all the values in the template. So as a result, we have to write each of the variables in the template with a filter name like {{my_variable|my_filter}}.
I wonder whether there is a way to enforce a filter to all the variables in the template. I looked into code, it seems extension can not fulfill my requirement. The only possible way is to monkeypatch jinja2.parser.Parser.subparse, then to change the line of add_data.
Do you think it is possible to have a new feature in jinja to make this scenario simpler?
    elif token.type == 'variable_begin':
        next(self.stream)
        add_data(self.parse_tuple(with_condexpr=True))
        self.stream.expect('variable_end')

This seems like it should be handled by processing all variables before calling render. Or now that finalize only applies to the output of expressions, that might be another option depending on what you're trying to do.


Configuration for report file location

added runtime configuration to enable / disable building the reports
added source (.jrxml) and destination (.jasper) paths for the reports
ignore another NetBeans specific file for git

Signed-off-by:Nathan Erwin<EMAIL_ADDRESS>

in \runtime\src\main\resources\META-INF\quarkus-extension.yaml make sure to add the config line below now that we have configs.
name: JasperReports
description: JasperReports is an open source reporting library that can be embedded into any Java application.
artifact: ${project.groupId}:${project.artifactId}:${project.version}
metadata:
  short-name: "jasperreports"
  type: "test"
  keywords:
    - "reports"
    - "reporting"
    - "pdf"
    - "excel"
  categories:
    - "miscellaneous"
  config:
    - "quarkus.jasperreports."
  status: "preview"
  guide: "https://docs.quarkiverse.io/quarkus-jasperreports/dev/index.html"
  icon-url: "https://raw.githubusercontent.com/quarkiverse/quarkus-jasperreports/main/docs/modules/ROOT/assets/images/jasperreports.svg"

in \runtime\src\main\resources\META-INF\quarkus-extension.yaml make sure to add the config line below now that we have configs.

Done.  Now, to figure out why it's not adding the config to the generated docs.  The "Writing You Own Extension" guide makes it sound like you don't have to do anything but add the config class(es).

https://github.com/quarkiverse/quarkus-jasperreports/pull/99#issuecomment-2398122459
@gastaldi I do the same, use a Maven plugin, but the purpose of this is to roll that into the deployment, though I'm not sure I'm producing the correct build item as I'm not getting a .jasper file to show up in the target directory or the .jar file.

Perhaps we need a processor producing a CompiledReportBuildItem with the path to the compiled jasper? Just thinking out loud

@gastaldi Ok, I'm stuck.  I tried writing the CompiledReportBuildItem, but then a build step has to consume it, and then do what with it?  I just can't get it to output a .jasper file into the target directory someplace, or the .jar, and it's probably something really simple that I missed.  Right now, I'm using a GeneratedClassBuildItem like what is being used for the native output.

@nderwin i think I can help with this. I will look tomorrow.

This is just pseudocode i didn't test it but to save to the output target directory the .jasper file.
@BuildStep
    void compileReports(ReportConfig config, List<ReportFileBuildItem> reportFiles,
            BuildProducer<GeneratedClassBuildItem> compiledReportProducer,
			OutputTargetBuildItem outputTarget) {

        Log.warnf("Found %s report(s) to compile? %s", reportFiles.size(), config.build().enable());
        if (config.build().enable()) {
            // TODO - only compile if the report file has changed
            for (ReportFileBuildItem item : reportFiles) {
                String outputFile = item.getFileName().replace("." + ReportFileBuildItem.EXT_REPORT,
                        "." + ReportFileBuildItem.EXT_COMPILED);
                String outputFilePath = outputTarget.getOutputDirectory().get(Path.of(config.build().destination().toString(), outputFile)).toString();
                Log.warnf("Compiling %s into %s", item.getFileName(), outputFilePath);

                try (InputStream inputStream = JRLoader.getLocationInputStream(item.getFileName())) {
                    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
                    JasperCompileManager.compileReportToStream(inputStream, outputStream);
					// might have to reset or reload the input stream if its a bytearrayStream you can call reset
					JasperDesign jasperDesign = JRXmlLoader.load(inputStream);
					JasperCompileManager.compileReportToFile(jasperDesign, outputFilePath);

                    Log.warnf("Compiled size is %s", outputStream.size());
                    compiledReportProducer
                            .produce(new GeneratedClassBuildItem(true,
                                    outputFilePath, // TODO: this is supposed to be the class name ??
                                    outputStream.toByteArray()));
                } catch (JRException ex) {
                } catch (IOException ex) {
                }
            }
        } else {
            Log.debug("Automatic report compilation disabled");
        }
    }

It uses the OutpputTargetBuildItem to get the target directory and then you have to write the Jasper compiled file to that directory.

@melloware Yes, now I have generated .jasper files.  Needs some more cleanup, but this should be ready late today, and then it can be iterated and improved upon.

@melloware This is so close...  just barfing on the native tests if you could take a look?

Have you merged all my latest changes from main?

Oh I bet I know is it trying to compile on build?  You can't compile in native mode so you have to add a LauncHMode check to your build step so it doesn't happen in Native mode.

Yup, has the latest;  I'm not as familiar with native mode (haven't needed to use it), but I thought we'd be able to use the output of the compile step to feed into whatever native mode needs?

I will take a closer look tomorrow.

Found the issue. You need to put the code back the way I had it because it runs the integration tests against the native build and that absolutely cannot compile.

I will take a closer look tomorrow.

Wow, your days are really short :)

I am seeing errors in the log saying "src/main/resources" is invalid. Like it's not actually compiling them?

@nderwin i am going to merge this and work on a fix. Its easier for me to figure it out working locally.

@melloware Ok, let me know if there's anything I can do to help.


Deleting tests and code for add_one

Clearing up github so that only the wanted code is present

I'm going to also change the command line to our code instead of add_one


Replace graphics with maskable, re-rendered sprites (Merry early-Christmas)

All done. :)

Hint for next pull, make sure your editor doesn't change tab indents and eol.
Adhering to existing formatting makes code seem higher quality and more professional.


canto-{curses,daemon}: 0.9.{3,1} -> 0.9.{4,3}

A very detailed changelog and discussion can be found here:
http://codezen.org/canto-ng/news/
This change was built locally and tested by me. There will be changes
noticable in the canto-curses interface since color support has been
reworked. For more details follow the hint in canto-curses or read the
changelog/manual liked to above. There also have been many
under-the-hood improvements which can also be found in the link above.

Looks and sounds good, and you're the maintainer after all...


Only set max expires header on digested assets

Thanks for your PR. Could you give some explanation about the changes you've made? Why is this useful and/or which problem does this solve?

If you have requests for the undigested version (because a third party expects the asset to be permanently available), setting max expires prevents you from propagating an updated version of the file.

@seanlinsley are you still using this gem and is this still a concern of yours?  I am new to the project and trying to see what issues I can resolve or close.

Users that what this behavior should be able to modify the default templates as described in the documentation below.  If you (@seanlinsley) don't feel this is adequate to address most users needs, please let me know.
https://github.com/capistrano-plugins/capistrano-unicorn-nginx/wiki/Template-customization

Yep we're still using this gem. The code we have has changed from 32 characters to 64 characters, though, because of a change in Sprockets.
  location ~* "-[a-z0-9]{64}\.(png|gif|jpg|jpeg|css|js)$" {
    gzip_static on;
    expires max;
  }

The whole point of having a default template is to provide common defaults. Anyone who's using Rails without an asset CDN should have this setting, and it doesn't hurt anyone who is using a CDN.
Why couldn't this be merged? (after the 32 -> 64 change)

Oh and the more important argument that I'd posted here before: if you vendor any third-party assets but don't bundle them up into your application.js, the existing expires max will prevent you from being able to update those assets.

@seanlinsley I will test you code on my production app tomorrow.  It looks find to me from what I see here.  And I get your point.  I think @rhomeister hasn't had a lot of time to maintain the gem.  If he wants to chime in that would be great.  If not I will see about moving forward with this after some testing.  I was just granted push rights today, so I am still getting acquainted with the gem.

@seanlinsley are you serving up fonts from the asset pipeline?

Yes, these assets are from the asset pipeline / Sprockets.

Looks like we are. So this PR should be updated to also match fonts.
Another option would be to update this PR so that it doesn't care what the file extension is. That would make it more future-proof, for sure.


Android application build fail

tflite-1.9.0 build started failing
fatal error: 'flatbuffers/flatbuffers.h' file not found
Please refer to ci error log

:octocat: cibot: Thank you for posting issue #207. The person in charge will reply soon.


Do not return hardDeleted blobs for GetRequests with Include_All and Include_Deleted_Blobs

GetRequests with Include_All and Include_Deleted_Blobs will return blobs from storage node even if they are deleted irrespective they are hard deleted or not. But from a customer standpoint, returning a hard-deleted blob is not useful and we don't we give any intimation on this regards. So, would like to have a fix wherein, Router/StorageNode should not return hard deleted blobs for GetRequests with Include_All and Include_Deleted_Blobs

Do you have any ideas on how this can be detected?


mvn install error RELEASE does not allow version

Which Component
./mvnw clean install -Pproduction  have a error
Describe the bug
[ERROR] Failed to execute goal on project playground-flight-booking: Could not collect dependencies for project com.alibaba.cloud.ai:playground-flight-booking:jar:0.0.1-SNAPSHOT
[ERROR] Failed to read artifact descriptor for com.alibaba.cloud.ai:spring-ai-alibaba-starter:jar:0.0.1-SNAPSHOT
[ERROR]         Caused by: The following artifacts could not be resolved: com.alibaba.cloud.ai:spring-ai-alibaba-starter:pom:0.0.1-SNAPSHOT (absent): Could not transfer artifact com.alibaba.cloud.ai:spring-ai-alibaba-starter:pom:0.0.1-SNAPSHOT from/to maven-central : status code: 400, reason phrase: Repository version policy: RELEASE does not allow version: 0.0.1-SNAPSHOT (400)
Simplest demo
To Reproduce
./mvnw clean install -Pproduction

你可以直接运行 application 启动类

spring-ai-alibaba-starter:jar:0.0.1-SNAPSHOT

Pull the latest example code and try again, the latest release is 1.0.0-M2


Enable Super Admin users to update the status of Partner Admin users from active to inactive

Overview
Enable Super Admin users to update the status of Partner Admin users from active to inactive. This will happen on the /admin/dashboard page.
Action Items

[ ] Ensure you have a few super admin and partner admin users created in Bloom-backend.

Initial State on page load

[ ] Additional Card has been added with Title, Autocomplete Input and Button. The form field should require more than 3 letters before displaying options.
[ ] Get Autocomplete Options from the backend. See the implementation of UpdateTherapyAdminForm. I would like the autocomplete form to work like that form with a debounced asynchronously populated options list. To populate the options field, you will need to send a request to GET /users like the UpdateTherapyAdminForm with the searchQuery that includes the "partner-admin" relation and with partnerAdmin.partnerAdminId field as "IS NOT NULL" (See UpdateTherapyAdminForm if this is not clear).

Once the user email is selected

[ ] Render a checkbox, prefilled with the current state of the partner admin user. I.e. if they are active currently, the checkbox would be filled.
[ ] Once the user checks or unchecks the box and presses the submit button. Send the relevant request to PATCH /partner-admin/:id
[ ] Create some sensible error messages. We aren't too prescriptive about error states. If you loosely follow that pattern of UpdateTherapyAdminForm, that should be enough.

Once the request has been successful

[ ] Display Success Text
[ ] Ensure user can reset the form with the "Update another partner admin" form

Please note this ticket is dependent on this ticket in the backend to be completed.

Hi @eleanorreem this looks fun! can I work on this?

Hey @SangilYun! Awesome you are now assigned.

@eleanorreem Correct me if I'm wrong but current backend implementation(link) doesn't seem to be able to handle IS NOT NULL passed as partnerAdmin.partnerAdminId.
This change (link) might have affected what we have in the description.

Good question. I pinged Chayn developers. Some are off this week so there is a response delay. Thank you for your patience.

Hey @SangilYun, Thanks for your question! It looks like there was some oversight in the backend ticket and it should have handled isNotNull. Sorry about that. I think we would want to be able to get all partner admins (active or inactive) so passing in active: true would not be enough. I will make a ticket to cover this in the backend. This might be a blocker for a little bit!

I have added a backend ticket  to unblock you.


Add More Heat! from SpaceDock

This pull request was automatically generated by SpaceDock on behalf of Benji13, to add More Heat! to CKAN.
Mod details:
name = /mod/1043/More%20Heat%21
author = Benji13
abstract = Increase your engines heat by 250%!
license = Unlicense
Homepage =
description = More Heat! makes your engines 250% hotter! That's 2.5x! That' a fair bit!  More Heat! is very simple (basically just a Module Manager patch) that makes your engines hotter while they are running. For realism and stuff. If 250% is too much (or not enough!) for you, then you can just change the amount in the MM patch. Because it is so simple, More Heat! doesn't have a license. Or If you really want one, the Unlicense. Do whatever you want with it, I don't care. Although letting me know what your planning would be nice.
Please direct questions about this pull request to Benji13.

Should be ready to go now

LGTM


⚠ SceneTime has degraded performance

In 9984163, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 4788 ms

Resolved: SceneTime performance has improved in 6c526aa.


Flock

Hi,
For long times executions i need no parallels execs for my projects, So i use "flock" utility, available on unix architectures.
I've add configuration to enable/disable this option
Do not hesitate to contact me to talk about this feature
Bye
@Giboow

I have also added the support of the environment variable in this Merge request

This would be a great addition to the dispatcher. Any feedback on this?

:+1: Thanks for the nudge @ArondeParon

Changes Unknown when pulling 999df78249dd09e78bba416fe9500b1977535a82 on startingplex:flock into ** on Indatus:1.4**.


Cannot parse wfp files for C++ projects?

After setting up a 3.9.13 env, poetry run scanoss-py scan -o scan-output.json . works but when I call poetry run python -m scanoss.cli scanner_output.wfp, I get:
usage: cli.py [-h] {version,ver,scan,sc,fingerprint,fp,wfp,dependencies,dp,dep} ... cli.py: error: argument subparser: invalid choice: 'scanner_output.wfp' (choose from 'version', 'ver', 'scan', 'sc', 'fingerprint', 'fp', 'wfp', 'dependencies', 'dp', 'dep')

Hi Sebastian,
You are missing the "action" command from the second command. I should be one of scan, wfp, dep.

Thanks!

Hi @eeisegn,
sorry, my bad, somehow I got confused by the https://github.com/scanoss/scanoss.py/blob/main/PACKAGE.md...
I miss read that scanoss.cli is the same as scanoss-py.

Else, do you support .spdx files with the cli?

Hi,
We support exporting results in the following formats:

RAW (json)
SPDX Lite (json)
CycloneDX (json)
CSV

Or scanoss-js client also supports HTML report generation. If you want to review the results graphically, please look at our Audit Workbench.
Thanks!


LeanIO uses the coarse form of induction

Context should be modified to have inductive definitions.

Coarse induction was not used.


Feature: Need option to delete the resources normally

🔖 Feature description
Currently, whenever we delete the resources from Devtron-UI it is deleted with the --force flag, which in some cases is not required. Such as if I'm running with a preStop lifecycle in my application and someone deleted the pod from the UI my preStop lifecycle won't be executed.
🎤 Pitch
If I'm running with a preStop lifecycle in my application and someone deleted the pod from the UI my preStop lifecycle won't be executed.
✌ Solution
If there would be an option to choose whether we want to delete the resources normally of with the --force flag like argocd provides that would help.
🔄 Alternative
NA
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

AB#966

Changes for this feature have been covered under - https://github.com/devtron-labs/dashboard/pull/613.


Pdf share

Version
version <IP_ADDRESS>
What platform are you using?
Android (Motorola)
OS Version
Android 13
What happened?

This happens when I click on the "pdf" icon to export accepting the name generated for the pdf. This displays the error making it impossible to share. I have this error since the previous version. That's why I'm reporting now.
Relevant log output
No response
Code of Conduct

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

@Jetrom17 thanks a lot for reporting this, and sorry for the trouble. Will fix it as soon as possible

@Jetrom17 a few questions?

this happens when you do pdf button=>export=>enter name=>ok ?
did you change the export folder or is it still set to Downloads?

@Jetrom17 a few questions?

this happens when you do pdf button=>export=>enter name=>ok ?
did you change the export folder or is it still set to Downloads?

I didn't change anything. Either way this should handle any type of error. These are just and the only reports that I know how to tell you.

@Jetrom17 Dont worry i was not implying anything. I was just trying to understand where the error happens.
I seems to be a permission issue that i cant reproduce . Will try more

@Jetrom17 i tried to get around this in 1.4.6. It might give you a new error now. If so please share the error

@Jetrom17 i tried to get around this in 1.4.6. It might give you a new error now. If so please share the error

It's still the same error.

@Jetrom17 realy sorry to hear that. Could you to reproduce the issue with this build https://github.com/Akylas/OSS-DocumentScanner/releases/tag/test_android ? When the issue happen it should send be a bug report (please restart the app after the error to ensure the bug report is sent).
Thank you

@Jetrom17 realy sorry to hear that. Could you to reproduce the issue with this build https://github.com/Akylas/OSS-DocumentScanner/releases/tag/test_android ? When the issue happen it should send be a bug report (please restart the app after the error to ensure the bug report is sent).
Thank you

@Jetrom17 ok i see where the error happens. Now is the time to find why  :D
So it is a permission issue. It seems the app dont have the right to access that folder.
Did you create that folder from the app ?(clicking on the pdf button=>click on the export folder name at the top=> create the folder in the opening dialg=> give write permission)
if you create another folder, from the app, to export to, does it work?

@Jetrom17 why did you close the issue? I plan on fixing this. But some issues are not always easy to reproduce as there are so many "contexts" (different phones, os version, setup ...)

@Jetrom17 this should be fixed now

@Jetrom17 this should be fixed now

Thanks. I will be evaluating. Testing... Do you have personal contact via Telegram?

@Jetrom17 yes it is @farfromrefuge

@Jetrom17 yes it is @farfromrefuge

@YHVH7 - Is my.


Feat: Function to clear and check if exist an interceptor in client-fetch

When you save a file where an interceptor configuration is defined, the interceptor is added to the client again, resulting in duplicated interceptors unless you restart the project or reload the page. With these two new methods (clear, exist), we can reset all interceptors or check if an interceptor function exists before adding it.

Please make sure the CI checks pass 👉 https://github.com/hey-api/openapi-ts/blob/main/package.json#L29

Apologies for bothering you again, but this is proving to be quite frustrating. As I mentioned, I don't have much experience collaborating on projects. Everything I do is for private and personal use, and we don't usually implement CI. The thing is, I'm trying to figure out why the tests are failing but I can't seem to understand it. When I run pnpm test:update, the console seems to be waiting for changes in the files, I assume in the test files. The thing is, if I press control+c a couple of times, it continues until it finishes modifying two files:

packages/openapi-ts/test/snapshots/test/generated/v3-hey-api-client-fetch-bundle/core/utils.ts.snap
modified:   packages/openapi-ts/test/snapshots/test/generated/v3-hey-api-client-fetch-bundle_transform/core/utils.ts.snap

I can't commit those files because they are in a directory included in the .gitignore. From what I see in those files, what it has done is add the new methods.
I don't know if you can help me, I feel bad for bothering you but I don't know how to solve this.
Thanks for everything.

Don't worry @goltra, you're good. That's correct actually, those files need to be added. Can you point me to where that folder is gitignored? I'll fix it later, but until then yes, those files need to be committed. Thanks for sticking through it, it's almost finished!

Don't worry @goltra, you're good. That's correct actually, those files need to be added. Can you point me to where that folder is gitignored? I'll fix it later, but until then yes, those files need to be committed. Thanks for sticking through it, it's almost finished!

I think should be the gitignore file en root project  where you have this rules: test/generated
That path is relative and it is including all path with "test/generated" like  "packages/openapi-ts/test/snapshots/test/generated/v3-hey-api-client-fetch-bundle/core/utils.ts.snap" and  "packages/openapi-ts/test/snapshots/test/generated/v3-hey-api-client-fetch-bundle_transform/core/utils.ts.snap"
I'll be waiting you write me to try commit those files.

@goltra I'm 100% positive we want to commit those snapshots, it's just the ignore rule that's wrong. Once you commit those files this should be passing all checks

@goltra I'm 100% positive we want to commit those snapshots, it's just the ignore rule that's wrong. Once you commit those files this should be passing all checks

Commit and push done and all checks are ok !

Good job!

thanks.. 👍 When do you estime release including these changes?


feat(backend): dbha support switch shield

关联研发信息
dev_branch: feat/dbha/#1743
target_branch: v1.2.0


disable default <CR> mapping

By default when you click <CR> an item from the completion menu will be selected. Is there any way to disable it?

I can't umderstand your mean...
Please check with compe.preselect = 'dosabled'

Okay I understand now. I was using preselect = always. I wanted the compe#confirm to preselect but also not preselect always without comfirming. I made a pr #256 to do this.


Price of the product has no currency

Price of the product has no currency symbols and too many zerores.
Screenshots
If applicable, add screenshots to help explain your problem.

Added the appropriate currency symbol for the price