Handle bot launch error so the app won't crash

I am always annoyed when my app is deployed to Vercel which is serverless (so the app must be started at every function call), there's always a chance for the nestjs-telegraf to throw error API call when launching, such as:
2023-09-27T05:49:41.056Z	1c417191-68c4-4c4a-bcb5-55210c2e2845	ERROR	Unhandled Promise Rejection 	{"errorType":"Runtime.UnhandledPromiseRejection","errorMessage":"Error: 429: Too Many Requests: retry after 1","reason":{"errorType":"Error","errorMessage":"429: Too Many Requests: retry after 1","code":429,"response":{"ok":false,"error_code":429,"description":"Too Many Requests: retry after 1","parameters":{"retry_after":1}},"on":{"method":"setWebhook","payload":{"url":"https://myapp-a3kd7o5r5-myusername.vercel.app/my-secret-path"}},"stack":["Error: 429: Too Many Requests: retry after 1","    at Telegram.callApi (/var/task/node_modules/.pnpm/telegraf@4.14.0/node_modules/telegraf/lib/core/network/client.js:294:19)","    at processTicksAndRejections (node:internal/process/task_queues:95:5)","    at Telegraf.launch (/var/task/node_modules/.pnpm/telegraf@4.14.0/node_modules/telegraf/lib/telegraf.js:198:9)"]},"promise":{},"stack":["Runtime.UnhandledPromiseRejection: Error: 429: Too Many Requests: retry after 1","    at process.<anonymous> (file:///var/runtime/index.mjs:1250:17)","    at process.emit (node:events:526:35)","    at process.emit (/var/task/___vc/__sourcemap_support.js:602:21)","    at emit (node:internal/process/promises:149:20)","    at processPromiseRejections (node:internal/process/promises:283:27)","    at processTicksAndRejections (node:internal/process/task_queues:96:32)"]} [ERROR] [1695793781058] LAMBDA_RUNTIME Failed to post handler success response. Http response code: 400. RequestId: 7b50cdab-42c0-42ee-b707-e2392b984d1b Error: Runtime exited with error: exit status 128 Runtime.ExitError
So I think it would be better to ignore the error and let the app run without nestjs-telegraf module. Because it's just a webhook and if my app has another API that's called from other client, it won't need the Telegram webhook. In serverless case, it wouldn't matter for Telegram webhook since it will retry to call the endpoint again.

Any prescribed approach on how to avoid this error?  My app is also facing this issue when starting up cloudrun instances in GCP where multiple instances are being spawned around the same time which causes the 429s when setting the webhook.

Any prescribed approach on how to avoid this error? My app is also facing this issue when starting up cloudrun instances in GCP where multiple instances are being spawned around the same time which causes the 429s when setting the webhook.

This issue happens because the Telegram webhook API is called every time the app starts, which is not suitable for serverless environments.
I previously suggested a change to handle this by ignoring the error and allowing the app to continue running, assuming the webhook might have already been set in a previous call. Since the maintainers didn't accept the PR, I forked the repo and made the change myself. You can use my fork by replacing the source to be "nestjs-telegraf": "github:mfahmialkautsar/nestjs-telegraf#dist" in your package.json.
Note that I haven't updated the fork since then, and it's more of a temporary workaround. Ideally, I think the best approach would be to create a dedicated API endpoint for registering the webhook, which you can call manually when needed. This way, the webhook setup doesn't happen on every app start, making it very efficient and reducing the chance of hitting rate limits.


Semantic UI Progress Start from 10%

Hi i just initialize UI Progress and work correctly with little ammout 1-10, (1=10%, 2=20%, and so on) but if i try to progress 1000 total ammount, why progress bar start from 10% instead of 1% or depends on calculation, so when progress bar reach 100% and show 1000 Checked, my process still running.
Is this bug or something ?

Can you provide a JSfiddle test case? I'd like to debug any issues you're facing


Not working for bibleserver.com

The Crawler isn’t working for bibleserver.com. Here is the error message:
thread 'main' panicked at src/main.rs:211:51:
index out of bounds: the len is 1 but the index is 1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Thanks for the report but I believe you have the wrong repo here. This project provides a German bible for the terminal. (Using AWK and the POSIX shell). It does not have any crawling capabilities nor does it use rust anywere.


Achievement balancing

Are you seriously you want to turn the game?

Is this just ng-- merged into the main game?

I'd assume it was an accidental pull request to the wrong place. Nyan cat never told me they wanted to try to merge NG-- into the main game, and I think it's the type of thing I'd have heard about.

I'm going to assume dan-simon is correct here and just close this.


form not reseting after successful submission

after successfully validating the form, it does not reset

Can you share an example? Why do you expect form to reset?

the form fields are not clearing after submission
On Fri, Nov 8, 2024, 7:59 PM Luka Bracanović @.***>
wrote:

Can you share an example? Why do you expect form to reset?
—
Reply to this email directly, view it on GitHub
https://github.com/MrBr/antd-zod/issues/11#issuecomment-2465283929, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOJSXPSNZUMN3WCYCTYJRF3Z7TUY5AVCNFSM6AAAAABQYS3FA6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRVGI4DGOJSHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Without an example I can't help. Most likely not related to this lib but it's intended by Antd design. Closing for now.


PP-9368 Extract code for marking charges as eligible for capture

Extract the code that marks a charge as being eligible for capture into two separate classes: one that’s used for all charges and one that’s used only for capturing delayed capture charges. The code for this was previously split between CardCaptureService and ChargeService.
There are absolutely no changes to funcionality of the code.
The changes to the tests are more substantial. Previously the unit tests were ostensibly testing CardCaptureService but that CardCaptureService used a real ChargeService, so some of the code that was being exercised was actually in ChargeService (and some relating to state transitions was actually in ChargeEntity!). The new tests only exercise the specific code in the new extracted classes and stub out ChargeService, with the assumption that any methods being called on ChargeService and ChargeEntity are already well-tested elsewhere.
This change is being made because we’re about to make marking a charge as being eligible for capture more complicated when an initial payment is made for an agreement and we want it not to be a nightmare to implement and test.

This does not seem to have the functionality of associating payment_instrument_id with agreement. Assumption those changes will be implemented as a part of separate commit.

Correct, this is just moving some code around. I wanted to keep it separate from the functionality change to make it easy to review.


not working on paint shop pro x9 or paint shop pro 2023

i've tried everything all the installs uninstalls re installs you name it.   still it will not work.  I'm using windows 11,
suggestions?
Heather

Are you using the  GmicPlugin_x64.zip download? Those versions of PSP are x64 only, and will not load the x86 or ARM64 plugins.

Hello,
I'm using paint shop pro version x9, I can't get it to work on version
2023.   Also weird it's working on the 32bit and not the 64 bit.
Another odd thing is that if I use a big image it won't work at all,
biggest it uses is 8 x 12 photo size.
Heather
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
Virus-free.www.avg.com
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Sat, Dec 16, 2023 at 6:55 PM Nicholas Hayes @.***>
wrote:

Are you using the GmicPlugin_x64.zip download? Those versions of PSP are
x64 only, and will not load the x86 or ARM64 plugins.
—
Reply to this email directly, view it on GitHub
https://github.com/0xC0000054/gmic-8bf/issues/18#issuecomment-1859001789,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BEXDHIKUAA2XBLGEPOBD25LYJY7HVAVCNFSM6AAAAABAX4THM6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJZGAYDCNZYHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

If you are trying to use an 8 x 12 image on the 32-bit version, it may be running out of memory.


Object doesn't support property or method 'from'

I get the error message in the title when running my simple application in the IE.
In chrome everything is just fine.
The error points to the dayPicker.js file on line 128 in the function _toConsumableArray(arr).
Any ideas on this?
this is my wrapper component
import React from 'react';
import moment from 'moment';
import { SingleDatePicker, toMomentObject } from 'react-dates';
import toLocalizedDateString from './../../utils/toDateString';
class SingleDatePickerWrapper extends React.Component {
  constructor(props) {
    super(props);
    this.format = 'DD.MM.YYYY';
    this.state = {
      focused: false,
    };
  }

  onDateChange = (date) => {
    this.props.onBlur(toLocalizedDateString(date, this.format));
  }

  onFocusChange = ({ focused }) => {
    this.setState({ focused });
  }

  render = () => {
    const { focused } = this.state;
    let newProps = {};
    if (!this.props.onlyFuture){
      newProps = { ...this.props, isOutsideRange: () => {} };
    } else {
      newProps = { ...this.props };
    }
    return (
      <SingleDatePicker
        {...newProps}
        id="date_input"
        date={toMomentObject(this.props.date, this.format)}
        focusedInput={'endDate'}
        focused={focused}
        displayFormat={'DD-MMM-YYYY'}
        onDateChange={this.onDateChange}
        onFocusChange={this.onFocusChange}
      />
    );
  }
}

Babel converts the ES2015 spread operator ([...array]) to the _toConsumableArray helper function.
http://babeljs.io/repl/#?presets=es2015&code=[...array]
function _toConsumableArray(arr) {
  if (Array.isArray(arr)) {
    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
      arr2[i] = arr[i];
    }
    return arr2;
  } else {
    return Array.from(arr);
  }
}

This uses ES2015 Array.from which is not available in IE. You can use Babel's polyfill for this:
http://babeljs.io/docs/usage/polyfill/

Alternatively, you can use https://www.npmjs.com/package/airbnb-js-shims

An easy way is to copy and past the polyfill from here Array.from

That is definitely not a good idea; the polyfills on mdn are strictly not for production use.

Maybe elaborate and explain why? Because I can't see any security issues with it being used in production.

It's not about security issues - in general, those polyfills are not necessarily correct (the most important consideration), they're certainly not necessarily compatible with the widest range of browsers, and they're not from npm, which defies best practice entirely (all JS deps you use should come only from npm).
In this specific case, it seems fine, but how can I know that? There's no tests, like are on a proper package. airbnb-browser-shims (which includes es6-shim) includes a well-tested compatible-everywhere Array.from shim, and even babel-polyfill (which includes core-js) has one that's good enough. Why would you want to use the untested unmaintained one from a wiki?

Ah about testing as it's just a single function I think it is fine as it presents no issues for any browsers as well as I tested under different browsers and it works fine. That alternative just for people looking for that one particular function instead of importing a whole package.

In general, there should be a package for each one function - Array.from is a bit more complex tho.

It is indeed.


please add a 'last commit date' column

it would be awesome to quickly see the date of the last commit on the project, and perhaps the number of stars, so we could quickly sort out the stale repos from the fresh ones!
thanks for making this!

We can use https://shields.io/category/activity to add badge about "GitHub commit activity" and https://shields.io/category/social to add badge about "GitHub Repo stars".

Personally I wouldn't use last commit as a metric, because it discounts stable repo's, as well as old yet interesting ideas that can be forked at will. That said, folks can interpret the displayed data according to their own preferences and needs.
A badge is a good idea. But we're running out of space. We could replace the tables with a section per module, e.g.:

Stores
Modules that implement abstract-leveldown as storage for levelup.
leveldown

LevelDB store.
memdown
...

that looks beautiful @vweevers


gcc: provide a $libgcc/$target/lib -> $libgcc/lib symlink

The primary reason for the layout change is for gcc.libgcc to match closer gcc.lib layout. That way we allow $STRIP_FOR_TARGET to strip libgcc_s.so.1 file moved to $libgcc output. Otherwise $STRIP (for host) fails to do it and leaves debug strings like references to headers in it and bloats HOST closure with BUILD inputs.
The change shrinks aarch64-multiplatform-musl.coreutils closure from 50MB down to 10MB:
Before:
$ nix path-info -rsSh $(nix-build -A pkgs.pkgsCross.aarch64-multiplatform-musl.coreutils) |& unnix
/<<NIX>>/xgcc-13.2.0-libgcc                              155.8K  155.8K
/<<NIX>>/musl-aarch64-unknown-linux-musl-1.2.3             3.8M    3.8M
/<<NIX>>/libunistring-1.1                                  1.7M    1.7M
/<<NIX>>/libidn2-2.3.7                                   352.7K    2.1M
/<<NIX>>/glibc-2.39-52                                    28.7M   31.0M
/<<NIX>>/bash-5.2p26                                       1.5M   32.5M
/<<NIX>>/musl-aarch64-unknown-linux-musl-1.2.3-bin        69.4K    3.8M
/<<NIX>>/linux-headers-6.7                                 6.2M    6.2M
/<<NIX>>/musl-aarch64-unknown-linux-musl-1.2.3-dev       550.2K   43.1M
/<<NIX>>/aarch64-unknown-linux-musl-gcc-13.2.0-libgcc    579.7K   43.6M
/<<NIX>>/aarch64-unknown-linux-musl-gcc-13.2.0-lib         3.8M   47.4M
/<<NIX>>/gmp-with-cxx-aarch64-unknown-linux-musl-6.3.0   653.4K   48.1M
/<<NIX>>/attr-aarch64-unknown-linux-musl-2.5.2            73.8K    3.8M
/<<NIX>>/acl-aarch64-unknown-linux-musl-2.3.2            156.4K    4.0M
/<<NIX>>/coreutils-aarch64-unknown-linux-musl-9.5          1.6M   49.9M

After:
$ nix path-info -rsSh $(nix-build -A pkgs.pkgsCross.aarch64-multiplatform-musl.coreutils) |& unnix
/<<NIX>>/musl-aarch64-unknown-linux-musl-1.2.3             3.8M    3.8M
/<<NIX>>/aarch64-unknown-linux-musl-gcc-13.2.0-libgcc    147.9K  147.9K
/<<NIX>>/aarch64-unknown-linux-musl-gcc-13.2.0-lib         3.8M    7.7M
/<<NIX>>/gmp-with-cxx-aarch64-unknown-linux-musl-6.3.0   653.4K    8.4M
/<<NIX>>/attr-aarch64-unknown-linux-musl-2.5.2            73.8K    3.8M
/<<NIX>>/acl-aarch64-unknown-linux-musl-2.3.2            156.4K    4.0M
/<<NIX>>/coreutils-aarch64-unknown-linux-musl-9.5          1.6M   10.1M

Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I can confirm this one resolves the bloat issue for me, as well as for another person ~ #316114 (comment) Thanks!
Is there anything stopping this from being merged? It kind of got lost among other PRs, but should be good to go, especially when it doesn't cause massive rebuilds.

Which targetSystems does this affect?
It doesn't appear to influence supported platforms at all, is that correct?

It only affects packages where host.config != target.config and $host-strip can't be a substitute for a $target-strip. Thus all native platforms do not see any rebuilds at all and "only" pkgsCross.* (almost all of them) do.


⚠ Bofrost.si has degraded performance

In 96f309e, Bofrost.si (https://www.bofrost.si) experienced degraded performance:

HTTP code: 500
Response time: 1728 ms

Resolved: Bofrost.si performance has improved in 0fa7d00 after 5 minutes.


Merge data on tracking_range and device_info_serial. Use ring_code as bird identifier

As noted in https://github.com/inbo/bird-tracking/issues/89, the device_info_serial is no longer valid as a unique bird identifier. We should use ring_code instead, which means we need that field for each tracking record.
In the preprocessing, merge metadata and data on device_info_serial AND have the data within the tracking range defined in the metadata. That should rule out double device_info_serials.

The fact that this will remove test records (records before tracking_start_date, usually at 18h) from the files we offer to users is ok for Eric Stienen (see email 2016-08-01). Those records were never included in the published DwC-A, so nothing changes there.

I'm reopening this issue, as I don't think it has been tested yet. @stijnvanhoey?

The join based on the combination of the device-info-serial and the start and end date has been implemented and tests have been written to check the behavior. It tests the join (check that period/device-info-serial combination is mapped to single bird) and the exclusion of data outside the date range.
As the resulting product of the join supports the usage of ring_code as bird identifier for the visualisation, I close this issue.


luci-proto-vpnc: Defaultroute settings missing

While in /luci/blob/master/protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js
the last entry is "defaultroute"
This is missing in /usr/lib/lua/luci/model/cbi/admin_network/proto_vpnc.lua git-19.287.34592-afee71b-1 so vpnc is forcing the tunel to be the defaultroute in any case.

backported/fixed in 18.06 branch with ceb1f80710007f7b4d805135e849e18622e815ce


what example to pursue

hello,
I'am trying to deploy my own algorithm it's a neural network model which use tensorflow keras and other python librairies and frameworks that not supported in sagemker like NILMTK
I putted the artifacts in S3(my model trained out of sagemaker ) so the next step is to create the docker image and pushed on ECR. I'am not sure what should I put in the container, I saw the examples there some container that have (predictor,nginx, wsgi, server) and others not.
Can you please help me in that and give what example should I pursue? I need to mention that the problem is the conatiner files and not the dockerfile
Thank you

hi @walidsliti, we have an example notebook for building your own TF image here: https://github.com/awslabs/amazon-sagemaker-examples/blob/master/advanced_functionality/tensorflow_bring_your_own/tensorflow_bring_your_own.ipynb
You can also reference the code used in the official SageMaker images:

TF: https://github.com/aws/sagemaker-tensorflow-container
TF Serving: https://github.com/aws/sagemaker-tensorflow-serving-container/

Alternatively, you might be able to use a shell script as your entry point with the TF Script Mode image to install NILMTK and other libraries before running training. You can find an example of using a shell script as your entry point here: https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker-python-sdk/tensorflow_script_mode_using_shell_commands/tensorflow_script_mode_using_shell_commands.ipynb.
Hope that helps!


Add SHOW instruction

To display a value, it has to be loaded into video memory. This can be done using LOAD instruction. Once the data is loaded into video memory, it can then be consumed by the SHOW instruction to print the result into STDOUT, for actually running the SHOW instruction, use Rust's built-in println macro.
Note
In order to start this issue, #20 has to be closed.
Related issue in YamASM
#20

Doesn't make much sense to have separate memory for this.SHOW can just pop values from the stack and print to STDOUT.


Schemas should declare properties that cannot participate in a request as ReadOnly

We currently generate OpenAPI documents with the same schema object in both the request and response bodies of operations for a given path object as such:
paths:
  post:
    tags:
      - users.user
    summary: Create user
    operationId: users.user_CreateUser
    requestBody:
      description: New entity
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/microsoft.graph.user'
      required: true
    responses:
      '201':
        description: Created entity
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/microsoft.graph.user'
      default:
        $ref: '#/components/responses/error'
    x-ms-docs-operation-type: operation
components:
  schemas:
    microsoft.graph.user:
      allOf:
        - $ref: '#/components/schemas/microsoft.graph.directoryObject'
        - title: user
          type: object
          properties:
            aboutMe:
              type: string
              description: A freeform text entry field for the user to describe themselves. Returned only on $select.
              nullable: true
            createdDateTime:
              type: string
              description: 'The date and time the user was created. Read-only.'
              format: date-time
              nullable: true
            messages:
              type: array
              items:
                $ref: '#/components/schemas/microsoft.graph.message'
              description: The messages in a mailbox or folder. Read-only. Nullable.
            manager:
              $ref: '#/components/schemas/microsoft.graph.directoryObject'

While this works, we should also mark all properties that cannot be sent as part of a request as readonly to accurately represent operations.
Proposal
Let's declare properties in the schema object that cannot be sent as part of a request as readonly. We can use the following rules to determine if a property should be marked as readonly:

Navigation Properties:

[ ] Containment navigation properties. The navigation properties are set via additionalData property bag in all SDKs (@Odata.Bind).
[ ] Non-containment navigation properties assuming deep inserts/updates are not supported by a service. We should check to see if the EntityContainer, EntitySet, or Collection has DeepInsertSupport and DeepUpdateSupport annotations set to false.

Properties:

[x] Properties with Computed annotation in the CSDL.

paths:
  post:
    tags:
      - users.user
    summary: Create user
    operationId: users.user_CreateUser
    requestBody:
      description: New entity
      content:
        application/json:
          schema:
            $ref: '#/components/requestBodies/microsoft.graph.user'
      required: true
    responses:
      '201':
        description: Created entity
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/microsoft.graph.user'
      default:
        $ref: '#/components/responses/error'
    x-ms-docs-operation-type: operation
components:
  schemas:
    microsoft.graph.user:
      allOf:
        - $ref: '#/components/schemas/microsoft.graph.directoryObject'
        - title: user
          type: object
          properties:
            aboutMe:
              type: string
              description: A freeform text entry field for the user to describe themselves. Returned only on $select.
              nullable: true
            createdDateTime:
              type: string
              description: 'The date and time the user was created. Read-only.'
              format: date-time
              nullable: true
+             readOnly: true
            messages:
              type: array
              items:
                $ref: '#/components/schemas/microsoft.graph.message'
              description: The messages in a mailbox or folder. Read-only. Nullable.
+             readOnly: true
            manager: # Property is set via additionalData property bag in all SDKs via @Odata.Bind.
              $ref: '#/components/schemas/microsoft.graph.directoryObject'
+             readOnly: true

Considerations

The OData client does not currently support deep insert/update - OData/odata.net/issues/736. Can we safely assume that deep insert/update is not supported by the service? If so, then the CSDL should be annotated as not supporting deep inserts/updates via  DeepInsertSupport and DeepUpdateSupport annotations.
Can deep insert/update be performed on containment navigation property?

@peombwa
I don't understand why we would need to declare containment navigation properties as read-only. Could you share more context on this.
@darrelmiller, @baywet. Is it safe to declare all non-containment navigation properties as read-only given that the OData client does not currently support deep insert/update?

@peombwa I think you have your contained/non-contained scenarios backwards.  But in reality, containment shouldn't affect our decision here.

Computed should definitely generate the readonly attributed for OpenAPi 3.0 specs.
I think we can consider all navigation properties as read only unless DeepInsert/DeepUpdate is supported.  But maybe it is better to add a x-navigationProperty: true rather than setting ReadOnly.  Thoughts?

Adding x-navigationProperty: true seems like the better option here.  Once we agree on this I'll create a new ticket to track this.

@peombwa I think you have your contained/non-contained scenarios backwards. But in reality, containment shouldn't affect our decision here.

Computed should definitely generate the read-only attributed for OpenAPi 3.0 specs.
I think we can consider all navigation properties as read-only unless DeepInsert/DeepUpdate is supported.  But maybe it is better to add a x-navigationProperty: true rather than setting ReadOnly.  Thoughts?

I believe the syntax should be x-ms-navigationProperty
Also, would we want to identify other other types of properties and have the extension as x-ms-propertyType?

I don't have an opinion on the matter.

Sorry for the delayed response to this (My Github notification has been out of sync).
Yes, x-ms-navigationProperty will work for our scenario. We will have pre-generation step that marks the properties as readOnly so AutoREST can exclude them from the request body parameters.


[DOCFIX] docfix in Alluxio-Storage.md

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/18786/
Test PASSed.

Merged build finished. Test PASSed.


Basic auth request (401) when _CONF_CHECK_ISSUE_UPDATE_CONFLICT is true

Hello!
I just updated redmine 4.1 to 5.0 with latest version of your plugin.
Redmine version: 5.0.4.stable
redmine_issue_dynamic_edit     0.9.1 (just cloned from master)
When any issue page is opened I'm getting basic authentication request. The user is already authorized in redmine. I think it's because links like myredmine/issues/9219.json requires the user to be authorized with "basic" http-authorization. If I enter my redmine login and password in this basic auth window, it works as usual.
 It looks like the javascript has been changed to request /issues/51762.json instead of /issues/51762. The change triggers basic auth. The workaround in my case is that I use an older version. The git version that works for me is 750e602.

Hope it will be fixed soon :)
@tiritchi

Code is here and PR are open
Let's go champ' !
Thank you @iprok and @pbolle for the complete and useful answer
Instead of loading the whole issue webpage which may be low if there are a lot of comments I wanted to use the Redmine REST API. It looks like auth is mandatory and give the mentioned issue.
Rolling back to https://github.com/Ilogeek/redmine_issue_dynamic_edit/commit/750e602be34491dd3d9b172633965b4dd1cbab2d may fix the problem (rolling back the checkVersion function update)

Hope it will be fixed soon :)
@tiritchi

Code is here and PR are open Let's go champ' !
Thank you @iprok and @pbolle for the complete and useful answer Instead of loading the whole issue webpage which may be low if there are a lot of comments I wanted to use the Redmine REST API. It looks like auth is mandatory and give the mentioned issue. Rolling back to 750e602 may fix the problem (rolling back the checkVersion function update)

To much credit ^^ I would gladly if I known how to.
In the mean time I disabled the conflict check, and it this to work. No more auth popup.
I'll patiently wait for you or the community to fix then :)
thanks for your work

Has the issue been resolved? When can we expect the fixed version to be released?

Ok, fix deployed on my redmine and looks functional to me.
Well done @k41n , thanks a lot :)

Can we get a fixed version for this issue?  My org will not allow the use of patches/unofficial versions, and this is causing issues since we are also under pressure to disable basic auth.


fix simple typo

Semi-automated...some readmes need a bit more work than just string
replacement.
lpmi-13/pypobot
On Fri, 19 Oct 2018, 23:23 Dominik Maier<EMAIL_ADDRESS>wrote:

Dude did you automate this for hacktober? 😀
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/fgsect/fexm/pull/7#issuecomment-431516454, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AE1etADEaPYj0fTtT86pXz8d1P6xmdWmks5umlDogaJpZM4XxhtE
.


Update troubleshooting Resolution Proceedures missing 0xCA codes

[Enter feedback here]
Windows 10 Insiders (and others) might see 0xCA errors codes (e.g. 0xCA00A005) and have no information to know how to proceed. Please update the referenced document, to help Insiders, and others who are testing updates for you, and to better support the technical and support community.

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

ID: 528014e0-02e5-2d77-a229-4895731bb872
Version Independent ID: 4f46b620-e345-c9e4-70fa-ae4f5a8e48b9
Content: Resolution procedures - Windows IT Pro - Windows Deployment
Content Source: windows/deployment/upgrade/resolution-procedures.md
Product: w10
Technology: windows
GitHub Login: @greg-lindsay
Microsoft Alias: greglin

I am checking the depth of information we have about this type of error.

0xCA00A005 means DPX_E_CONTAINER_UNSUPPORTED_TYPE
I believe that DPX stands for Delta Package Expander.
I'm still looking for more information.

The error usually means the header of a file is corrupted. Supported containers for DPX are CAB and PSF files. One of these files is likely corrupt. Searching the logs should reveal which file is the problem.

Would it be possible to obtain the log file? Either setuperr or setupact should have the line with the 0xCA00A005 code.

Closing this issue for now. If you have a log file please add it to this issue.

@greg-lindsay Apologies for not being able to send you the users log file. This initial report was from a colleague in the private FB group "Windows Insiders Scoop Fans UK", who reported that one of his Insiders updates created this error. It seems that a new later update had overcome the issue and overwritten the logs,
However, the fact that this issue occurred while using a Microsoft Update, and the resultant error was NOT documented in the "Troubleshooting Resolution Procedures" latest official document, was the whole reason for requesting this update. After all, it is Microsoft code that is creating this error, and if tech-admins need to diagnose what to do, and how best to check and remediate the situation, it would be best to at least have supporting documentation keep abreast of upcoming code releases, and the error codes they are likely to see going forward.


Send redeem link to donator when redeem of at least one perk fails

When an external system (like CFTools) is not available and a donator tries to redeem donation perks, which involves these systems, the redeem fails. Even though the donator is able to redeem the perks again using the very same link, it is unlikely that they know that right now.
In order to ensure that a donator can redeem the perks again:

Show a copyable link when at least one perk could not be redeemed
send this link to the donator in discord via a private message

That's how it looks like.

This feature does not need any additional configuration. Messages can be changed like explained here: https://floriansw.github.io/server-donation-tool/#message-overrides/


Adding Tigrinya (ትግርኛ) language support.

Hello, I've started working on a Tigrinya translation for the application prompts.
This could be relevant as Tigrinya (ትግርኛ) is spoken both by 10-20% of the Ethiopian-Olim as a first language, and because it's the main language spoken by Eritrean-Migrants currently residing in Israel in several dense urban areas.
I've created a branch with initial translated prompted I've received from a translator, and I'm waiting for him to complete the translation; I have basic conversational skills in Tigrinya and I can verify some of the text, but I'm far from being fluent enough to translate myself.
https://github.com/oyd11/hamagen-react-native/tree/add_tigrinya_language
I've discussed the translation issue with the organisation "Mesila" - and their translators are currently too busy with other Covid19 related material production.
As Tigrinya is generally a lesser known language, I'm pasting the information here:
 ISO 639-1  ti
 ISO 639-2  tir
 ISO 639-3  tir

locale-code: ti

http://www.unicode.org/cldr/charts/31/summary/ti.html
http://www.localeplanet.com/icu/ti/index.html

Can anyone merge this translation? It's verified since 5th-April-2020 (a little over a month),
and there's still a highly dense urban population which speaks this language predominantly, a lot of them working in the service industry now. Please merge.

Hi @oyd11 , thanks for this issue and your effort (here and at #156 ). At the moment we don't accept any new translations. I'm adding a translations tag to this PR, so it could be used easily when translations would be accepted again.


Fixed encoding to ensure lower case % encoding

URL encoded auth key will not contain charatcers like "%2B" but instead "%2b". This is needed since the backend does case sensitive decoding.

Could you quickly add a test case that has the offending string that we struggled with before?

The offending string is the Auth header. I have added tests that perform a bunch of operations and check that the auth header being sent over the wire has the required encoding.

No longer necessary


xbee-stream required, but not part of this module, not used.

Hi, noticed (and commented) on this commit: https://github.com/jankolkmeier/xbee-api/commit/0524b82141564b74ba5ed20abf34511dfa13b979
So where is xbee-stream being pulled in from? Where is it? It's not used, it clearly blocks the Travis tests build. Why was this included in the release?
Cheers! 🍻

I'm sorry, I was messing around with a fix for the new serial port version (didn't get there as easily as I thought) and accidentally left that line on the master branch. Thank you for reporting this!

Thanks for the quick turnaround! I see 0.5.6 being published. Sweet! 🏆


Error 'Chart' is undifined

Hi,
many thanks for your incredible work!
I've implemented successfully a better access chart in my project :-)
But it works not on all mashines. On some mashines I get the error: 'Chart' is undefined, see screenshot.
Do you have any Idea what the reason could be?
Many thanks,
Claus

After reading your hints to a similar issue I found out, that this curl command in power shell on the charts.js gives an error, see below.
getting through the initial launch dialog of IE as described here:
https://stackoverflow.com/questions/38005341/the-response-content-cannot-be-parsed-because-the-internet-explorer-engine-is-no
also didn't help.
Any ideas what I could do here?

**_Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
PS C:\Users...> curl https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.min.js
curl : The response content cannot be parsed because the Internet Explorer engine is not available, or Internet
Explorer's first-launch configuration is not complete. Specify the UseBasicParsing parameter and try again.
At line:1 char:1

curl https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.min. ...

  + CategoryInfo          : NotImplemented: (:) [Invoke-WebRequest], NotSupportedException
  + FullyQualifiedErrorId : WebCmdletIEDomNotSupportedException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand_**

Hi clm,
is this the Demo application? In the demo application we are using the download from a CDN by default
Are you able to download it from a browser on this machines?
Maybe something (Webproxy, Firewall, Virus Scan) is blocking access to this download ?

Hi,
no it's not the demo and it works on some TS mashines and on some not.

Hi there!
It sounds like there is a problem with your access to the internet on some of your machines.
Let's investigate this a bit systematically:

Step: Download the demo database
Step: Try it on a computer where you think it works
Step: Try it on a computer, where it does not work normally
If you fail here, this means that there is a problem on your machine, not in the demo database.
Step: Save the script files on your hdd and set the source for the scripts to "local file"
If this works, this means that the problem is in downloading the script files from the CDN.

If the problem occurs at step 4, I cannot help you. You must investigate where the problem with the internet and the access to the CDN is.

Hi @clm66 ,
did you already find the time to work on this problem? Is the problem still existing?

Hi,
thank's a lot for your efforts - I try to follow your steps on the weekend and will notify you then,
best regards,
Claus

Hi again,
on mashine 1 the demo worked, on mashine 2 not - as in my own database.
But step 4 worked on mashine 2! I downloaded the files to disk and with source = local file it works!
I imorted the configuration form in my own database and there it works now also!
So thanks a lot!
Do you have an idea, why downloading the script files from the CDN failes on mashine 2 ?
Probably it would be better to get this fixed, instead of having the files local, as the file may change in the future and would have to control this?
thanks again!

Hi @clm66 !
To my experience this is mostly a security issue.
Let's try the following steps:

open the demo on a computer, where it does not work
check "Save html file for debugging" on the chart tab
click "Create Chart"
navigate to the folder, where the database is stored
look for a file named "Better AccessChart_NNNNNNNN.html"
open this file in your browser
press F12
switch to Network tab
As an alternative:
try to PING the address of the CDN
At the end:
ask your system admin or security admin for help

Good luck!

Hi,
I tried this -> the error msg 'Chart is undifined' appears in the demo file
when I open the file "Better AccessChart_NNNNNNNN.html" the chart appears and the network tab shows this:

but what can i find out from this?

Hi @clm66 ,
let me summarize what I understood:

you tried the demo and got an error message
than you double clicked on the generated html file on the same machine
then the chart was shown

I never was in a situation like that. It sounds like a problem with the firewall. Maybe there are different rules for Access and a html-file.
Sorry, I have no better answer.


Capture Alerts triggered as part of telemetry

Alerts triggered during the chaos need to be captured as part of the telemetry for the use cases where we are training a ML model on what happens in a cluster during the chaos as well as to understand what components got impacted.

We can expand the existing prometheus api client integration to support querying between start and end timestamps to achieve it: https://github.com/redhat-chaos/krkn/blob/main/kraken/prometheus/client.py#L26.

cc: @tsebastiani @juliemathew

We might want to capture critical alerts both during and post chaos ( separate fields ).


Add yaml for OCPaths/RPC to test README

This changes the requirement for featureprofiles test READMEs to format OC path and RPCs from plain text to a structured format (yaml).
This format is intended to be easy for humans who are writing README's for test requirements and may not be a developer.  It is also more simple to maintain the path list with the test which is using the paths versus today's practice where the path is listed in a readme and in feature.textproto files.  To keep feature.textproto files accurate, they must be manually kept in sync with README's from multiple tests across potentially many child folders with multiple levels.  In addition the feature.textproto files lack the ability to indicate which tests are intended to cover a path.  It is useful to know which test(s) a path is intended to cover.
The structured list of paths/rpc can be used for static analysis of tests for invalid OC paths, detecting tests which would break due to breaking OC model changes and building an OCPath/RPC to test relationship, showing all the intended test requirements for any given path/RPC.

Pull Request Functional Test Report for #2863 / e5a0e45a034fd61b15a93392821626eebdc24c86
No tests identified for validation.
Help

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 54.484%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1847

Relevant Lines:
3390

💛  - Coveralls

The structure of the YAML LGTM. I'll work on a parser based on https://github.com/yuin/goldmark in the next few days.

Nice, this looks a neat package.

Maybe mention that "the format of this block MUST follow the template". This is the function I'm using to parse this:
// Parse extracts sorted OpenConfig Path and RPC Coverage from an FNT README.
//
// The first yaml code block after a heading line named exactly as
// "OpenConfig Path and RPC Coverage" will be used. Any other code blocks are
// ignored.
//
// Expected markdown format:
//
//      ## OpenConfig Path and RPC Coverage
//
//      ```yaml
//      paths:
//        /interfaces/interface/config/description:
//        /interfaces/interface/config/enabled:
//        /components/component/state/name:
//          platform_type: "CHASSIS"
//
//      rpcs:
//        gnmi:
//          gNMI.Set:
//            union_replace: true
//          gNMI.Subscribe:
//            on_change: true
//      ```
//
// Note: For `rpcs`, only the RPC name and methods are validated. Any
// attributes defined below RPC methods (e.g. union_replace) are not validated.
func Parse(source []byte) (*ppb.OCPaths, *rpb.OCRPCs, error) {

Once we've migrated, I think it makes sense to enforce that this block exists across all test READMEs. Do you see a way of identifying which READMEs should be subject to this check?

I think checking changed README.md files would be a good idea.  This will help us enforce updating any readme that is touched in a PR.
For untouched readmes, we can schedule a time to go through and reformat them.  Maybe even generate the list of paths for such README's from the test results.


browser.waitForAngular should wait for animations to complete

Feature Request

Reasons for adopting new feature
Until protractor has a way to install mock module's into Angular applications, animations cannot be disabled when running protractor tests without custom tooling. To circumvent animation related test flakes testers need to use browser.sleep to wait for animations to finish. This testing strategy is a bit of a code smell. It'll break whenever the length of an animation increases. Thus it would be nice if browser.waitForAngular integrated with angular's animation framework and waited until the all browser animations had settled before proceeding

Is this a breaking change? (How will this affect existing functionality)
I don't think so...

Would making this change also allow for a spinner to stop before continuing a test?


[RFC][WIP] Add RF PHY API

Introduction
This is a proposal for a generic API for the pysical layer of RF frontends.
It is a rough sketch of the idea and I am not sure if this approach is even feasible.
Problem description
Currently Zephyr does not have a device driver abstraction for interacting with an RF modems' pyhsical layer.
One examples of an IEEE 802.15.4 driver where this leads to problems is
the CC1200 which supports frequencies and modulation techniques for applications not covered by the IEEE 802.15.4 standard.
Proposed change
Introduce an API for device drivers targeting the pyhsical layer of RF frontends.
This could provide a straight-forward path for e.g.

IEEE 802.15.4 PHYs
LoRa PHYs
NFC/RFID
RF protocols outside of IEEE 802.15.4 and LoRa-MAC (wM-Bus, NB-Fi, propietary, ...)
Real-time locating systems (RTLS)
Custom analog RF frontends

without tying the driver into any protocol/subsystem layers.
Detailed (draft) RFC
/**
 * NOTE: different way to handle packets? e.g. network buffers?
 */
union rf_packet {
	uint8_t buffer[CONFIG_RF_MAX_PACKET_SIZE];
	struct {
		uint8_t length;
		uint8_t payload[CONFIG_RF_MAX_PACKET_SIZE - 1];
	} __packed;
};

typedef uint64_t rf_freq_t;

typedef uint16_t rf_chan_t;

typedef uint32_t rf_baud_t;

typedef int16_t rf_power_t;

enum rf_mod_format {
	RF_MODULATION_OOK = 0,
	RF_MODULATION_ASK,
	RF_MODULATION_2FSK,
	RF_MODULATION_4FSK,
	RF_MODULATION_GFSK,
	RF_MODULATION_AFSK,
	RF_MODULATION_2PSK,
	RF_MODULATION_MSK,
	RF_MODULATION_GMSK,
	RF_MODULATION_DSSS,
};

enum rf_op_mode {
	RF_MODE_CALIBRATE = 0,
	RF_MODE_POWER_OFF,
	RF_MODE_SLEEP,
	RF_MODE_IDLE,
	RF_MODE_RX_WAKE_ON_EVENT,
	RF_MODE_RX_WAKE_PERIODIC,
	RF_MODE_RX,
	RF_MODE_TX,
};

/**
 * -> see: rf_event_cb_t
 * -> using k_event object might be more sensible
 * -> define event bits
 */
enum rf_event {
	RF_EVENT_STUCK = 0,
	RF_EVENT_RECV_READY,
	RF_EVENT_SEND_READY,
	RF_EVENT_RECV_DONE,
	RF_EVENT_SEND_DONE,
	RF_EVENT_CHANNEL_CLEAR,
	RF_EVENT_WAKEUP,
};

enum rf_hw_filter {
	RF_HW_FILTER_NONE = 0,
	RF_HW_FILTER_CRC8,
	RF_HW_FILTER_CRC16,
	RF_HW_FILTER_ADDR,
	RF_HW_FILTER_LENGTH,
};

/**
 * making every entry in this enum a seperate API  function
 * will avoid the use of void pointers
 */
enum rf_device_arg {
	RF_DEVICE_FREQUENCY = 0,
	RF_DEVICE_CHANNEL,
	RF_DEVICE_MODULATION_FORMAT,
	RF_DEVICE_BAUDRATE,
	RF_DEVICE_OUTPUT_POWER,
	RF_DEVICE_OPERATING_MODE,
	RF_DEVICE_SET_EVENT_CB,
	RF_DEVICE_HW_FILTER,
	RF_DEVICE_SETTINGS,
	RF_DEVICE_CALIBRATION_SETTINGS,
	RF_DEVICE_POWER_TABLE,
};

/**
 * -> this will block the phy driver
 * -> using k_event object might be more sensible
 */
typedef void (*rf_event_cb_t)(const struct device *dev,
				enum rf_event event,
				void *event_params);

/**
 * see `enum rf_device_arg`
 */
typedef int (*rf_device_set_t)(const struct device *dev,
				    enum rf_device_arg cfg,
				    void *val);

typedef int (*rf_device_get_t)(const struct device *dev,
				    enum rf_device_arg cfg,
				    void *val);

typedef int (*rf_device_send_t)(const struct device *dev,
				     union rf_packet *pkt);

typedef int (*rf_device_recv_t)(const struct device *dev,
				     union rf_packet *pkt);

__subsystem struct rf_driver_api {
	rf_device_set_t device_set;
	rf_device_get_t device_get;
	rf_device_send_t send;
	rf_device_recv_t recv;
};

Dependencies
Some already existing IEEE 802.15.4 and LoRa-MAC drivers MAY be adapted to use this API.
Concerns and Unresolved Questions
There are a lot of open questions. To list a few:

Instead of having rf_device_set/rf_device_get that accepts enum rf_device_arg and a void
pointer. Make a function for everything listed in the enum.

Support for multiple channels (e.g. MIMO)?

Use net_buf instead of struct rf_packet?!

Usage of k_event instead of callbacks. This way one would end up with two rx threads
(one for the rf device and one in the upper layers) a dependency on CONFIG_EVENTS.

Is there another/clean way to get the rf device from other drivers (see here)?

There are devices in this category have a "direct" mode (might be a usecase for RTIO API proposed in https://github.com/zephyrproject-rtos/zephyr/pull/17434).

Alternatives
The alternative is to deal with some code duplication for the PHY layer of multi-protocol rf frontends.
CONFIG_IEEE802154_RAW_MODE/CONFIG_NET_RAW_MODE are available and it might be sufficient to resort to these?

If this gets any positive feedback from the Zephyr community I intend to contribute a implementation for the SiLabs Si4467. Using it already for a non-802.15.4 protocol and a RF PHY API the missing part to make upstreaming this driver beneficial from my POV.

It seems to me the proposed API is not limited to physical layer of RF front ends, but it defines some link layer (or MAC) features:

CRC
periodic receiver
frame filtering

I understand some radios support these features in HW, but other support more features like ACK receiving or sending, retransmissions, crypto, etc. I think we should follow one of two possible approaches:

Define generic PHY RF API, without any link layer features (remove CRC, periodic receiver, filtering), but with more complete list of PHY features like preamble length, preamble content, PHY header configuration, detecting energy level, detecting carrier
Continue already existing APIs and implement drivers for radios for specific MAC layer protocols like:

https://github.com/zephyrproject-rtos/zephyr/blob/main/include/net/ieee802154.h
https://github.com/zephyrproject-rtos/zephyr/blob/main/include/net/wifi.h
https://github.com/zephyrproject-rtos/zephyr/tree/main/subsys/bluetooth/controller/ll_sw

@rettichschnidi, @hubertmis
Thanks for your feedback!
This API does indeed support features that go above/beyond the physical layer. "RF frontend API" would probably
be a more accurate title.

Continue already existing APIs and implement drivers for radios for specific MAC layer protocols like:

I can see these APIs making perfect sense for hardware that only supports those protocols but the main driver for me
was multi-protocol RF devices.
I understand that having an API for all RF capable devices is probably impossible/impractical. On the other hand
having a separate driver for every protocol a multi-protocol device supports is also something that should be avoided IMHO.

Define generic PHY RF API, without any link layer features (remove CRC, periodic receiver, filtering), but with more complete list of PHY features like preamble length, preamble content, PHY header configuration, detecting energy level, detecting carrier

I like this approach better than 2. but how/where would you handle the the link-layer/device-specific hardware features?
The choices I can think of are Kconfig, devicetree and public APIs.

On the other hand having a separate driver for every protocol a multi-protocol device supports is also something that should be avoided IMHO.

We are doing it with success for Nordic devices. I don't see any issues with this approach. If you would like to reuse some common library for both protocols you could place it in your vendor-specific hal repository.

how/where would you handle the the link-layer/device-specific hardware features?

I would recommend to specify only generic PHY features in the standard device driver API, and create device-specific API extensions for device-specific hardware features.

@tbursztyka thank you for the reviewing this! I am a bit tied up at the moment but I will incorporate your suggested
changes as soon as I get back to this.
@rettichschnidi

Is the conclusion that this should not be an API, but rather an external HAL module?
If so, would this also be the recommended way to go for HALs (i.e. for the SiLabs Si4467) written by 3rd-parties (i.e. Gardena) specifically for Zephyr?

I took a quick look at the driver for the SI4467. In that case, if I understand correctly, the options as of right now that could be upstreamed into Zephyr are:

a device driver using already existing APIs (e.g. ieee802.15.4)
a driver and a protocol (e.g. W-MBus) for the device/protocol you want
a HAL for the EZRadio®/EZRadioPRO® family

I still think it is fine to have an API for the PHY layer only. It will have some similarity to the modem driver API while having the required functions for RF devices.

I still think it is fine to have an API for the PHY layer only. It will have some similarity to the modem driver API while having the required functions for RF devices.

I cannot find a device driver API header file in Zephyr for modem (similar to API header for 802.15.4 ). Is there one defined or all modem drivers have different APIs?

I cannot find a device driver API header file in Zephyr for modem (similar to API header for 802.15.4 ). Is there one defined or all modem drivers have different APIs?

You are right, all modem drivers do have different APIs. Thanks for rectifying, I am totally out of the loop at the moment.
The API will have the features as you described earlier:

Define generic PHY RF API, without any link layer features (remove CRC, periodic receiver, filtering), but with more complete list of PHY features like preamble length, preamble content, PHY header configuration, detecting energy level, detecting carrier


Screenshot returning nil?

Putting this here so I can show progress. cc: @bararchy
Apparently there is a situation where screenshot might return nil
Error in Cross-Site Scripting entry_point http://vulnerable-bank.com/app_v3_banking.php: Expected Hash for #[](key : String), not Nil (Exception)

  from /usr/share/crystal/src/json/any.cr:104:7 in '[]'

  from lib/marionette/src/marionette/browser.cr:594:14 in 'screenshot'

  from /usr/share/crystal/src/fiber.cr:255:3 in 'run'

  from ???

It's possible that 23144c8 will fix this, but I wasn't able to reproduce using http://vulnerable-bank.com/app_v3_banking.php so I can't test for sure

:+1: thanks :)

Seems this issue is still in effect
Expected Hash for #[](key : String), not Nil (Exception)
  from /usr/share/crystal/src/json/any.cr:104:7 in '[]'
  from lib/marionette/src/marionette/browser.cr:594:14 in 'screenshot'

I think it might not actually be the URL as it just might be the state the browser is in.
I'll try and produce more helpful info regarding this occurrence.


mysql database hang

My index hung.
This goroutine looks odd (two minutes hung so far in a mysql query):
goroutine 1710670 [IO wait, 2 minutes]:
net.runtime_pollWait(0x7f37a0398848, 0x72, 0xc4208b7000)
	/home/bradfitz/go/src/runtime/netpoll.go:160 +0x4f
net.(*pollDesc).wait(0xc4620061b0, 0x72, 0xc469259648, 0xc420010180)
	/home/bradfitz/go/src/net/fd_poll_runtime.go:73 +0x2e
net.(*pollDesc).waitRead(0xc4620061b0, 0x142d1e0, 0xc420010180)
	/home/bradfitz/go/src/net/fd_poll_runtime.go:78 +0x2a
net.(*netFD).Read(0xc462006150, 0xc4208b7000, 0x1000, 0x1000, 0x0, 0x142d1e0, 0xc420010180)
	/home/bradfitz/go/src/net/fd_unix.go:212 +0x183
net.(*conn).Read(0xc4561c6738, 0xc4208b7000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/home/bradfitz/go/src/net/net.go:173 +0x63
camlistore.org/vendor/github.com/go-sql-driver/mysql.(*buffer).fill(0xc461e05180, 0x4, 0x0, 0xfec)
	/home/bradfitz/src/camlistore.org/tmp/build-gopath-nosqlite/src/camlistore.org/vendor/github.com/go-sql-driver/mysql/buffer.go:55 +0xe3
camlistore.org/vendor/github.com/go-sql-driver/mysql.(*buffer).readNext(0xc461e05180, 0x4, 0xc469f32d80, 0x0, 0x0, 0xc4561c6738, 0x2)
	/home/bradfitz/src/camlistore.org/tmp/build-gopath-nosqlite/src/camlistore.org/vendor/github.com/go-sql-driver/mysql/buffer.go:76 +0xa3
camlistore.org/vendor/github.com/go-sql-driver/mysql.(*mysqlConn).readPacket(0xc4622cc0a0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/home/bradfitz/src/camlistore.org/tmp/build-gopath-nosqlite/src/camlistore.org/vendor/github.com/go-sql-driver/mysql/packets.go:28 +0x3c
camlistore.org/vendor/github.com/go-sql-driver/mysql.(*mysqlConn).readResultSetHeaderPacket(0xc4622cc0a0, 0xc46324acc0, 0x2, 0x2)
	/home/bradfitz/src/camlistore.org/tmp/build-gopath-nosqlite/src/camlistore.org/vendor/github.com/go-sql-driver/mysql/packets.go:459 +0x25
camlistore.org/vendor/github.com/go-sql-driver/mysql.(*mysqlStmt).Exec(0xc44bc46660, 0xc46324acc0, 0x2, 0x2, 0xc46324acc0, 0x2, 0x2, 0x0)
	/home/bradfitz/src/camlistore.org/tmp/build-gopath-nosqlite/src/camlistore.org/vendor/github.com/go-sql-driver/mysql/statement.go:54 +0x8c
database/sql.resultFromStatement(0x142eca0, 0xc462092380, 0x1432820, 0xc44bc46660, 0xc469259bb8, 0x2, 0x2, 0x0, 0x0, 0x0, ...)
	/home/bradfitz/go/src/database/sql/sql.go:1497 +0x1be
database/sql.(*Tx).Exec(0xc4622d21e0, 0xc461f77a80, 0x32, 0xc469259bb8, 0x2, 0x2, 0x0, 0x0, 0x0, 0x0)
	/home/bradfitz/go/src/database/sql/sql.go:1394 +0x2b5
camlistore.org/pkg/sorted/sqlkv.(*batchTx).Set(0xc46324ac80, 0xc461460d00, 0x39, 0xc469f32bb0, 0x10)
	/home/bradfitz/src/camlistore.org/tmp/build-gopath-nosqlite/src/camlistore.org/pkg/sorted/sqlkv/sqlkv.go:119 +0x512
camlistore.org/pkg/index.(*Index).commit(0xc42008a750, 0xc46324a420, 0x0, 0x0)
	/home/bradfitz/src/camlistore.org/tmp/build-gopath-nosqlite/src/camlistore.org/pkg/index/receive.go:276 +0x134
camlistore.org/pkg/index.(*Index).ReceiveBlob(0xc42008a750, 0x1431920, 0xc463988180, 0x1428f60, 0xc4639883c0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/home/bradfitz/src/camlistore.org/tmp/build-gopath-nosqlite/src/camlistore.org/pkg/index/receive.go:245 +0x599
camlistore.org/pkg/blobserver.receive(0x14266a0, 0xc42008a750, 0x1431920, 0xc463988180, 0x1428f60, 0xc4639883c0, 0xc46bbb0800, 0x413f3e, 0x30, 0xce1480, ...)
	/home/bradfitz/src/camlistore.org/tmp/build-gopath-nosqlite/src/camlistore.org/pkg/blobserver/receive.go:50 +0xc3
camlistore.org/pkg/blobserver.ReceiveNoHash(0x14266a0, 0xc42008a750, 0x1431920, 0xc463988180, 0x14262a0, 0xc44d57c990, 0xc4692d22e8, 0x0, 0x0, 0x408753, ...)
	/home/bradfitz/src/camlistore.org/tmp/build-gopath-nosqlite/src/camlistore.org/pkg/blobserver/receive.go:42 +0x65
camlistore.org/pkg/blobserver/replica.(*replicaStorage).ReceiveBlob.func1(0x1, 0x14266a0, 0xc42008a750)
	/home/bradfitz/src/camlistore.org/tmp/build-gopath-nosqlite/src/camlistore.org/pkg/blobserver/replica/replica.go:210 +0x118
created by camlistore.org/pkg/blobserver/replica.(*replicaStorage).ReceiveBlob
	/home/bradfitz/src/camlistore.org/tmp/build-gopath-nosqlite/src/camlistore.org/pkg/blobserver/replica/replica.go:214 +0x211

The rest: https://gist.github.com/bradfitz/fc2f142d003df1bfd1614f9cf3e0262e
/cc @mpl

From the MySQL side, I'm also seeing trivial queries taking forever:
mysql> show processlist;
+--------+----------+-----------------+------+---------+------+----------+----------------------------------------------------+
| Id     | User     | Host            | db   | Command | Time | State    | Info                                               |
+--------+----------+-----------------+------+---------+------+----------+----------------------------------------------------+
| 422499 | bradfitz | localhost:35532 | NULL | Sleep   |  237 |          | NULL                                               |
| 422502 | bradfitz | localhost:35570 | NULL | Sleep   |  134 |          | NULL                                               |
| 422510 | bradfitz | localhost:35604 | NULL | Sleep   |  186 |          | NULL                                               |
| 422511 | bradfitz | localhost:35612 | NULL | Sleep   |   83 |          | NULL                                               |
| 422512 | bradfitz | localhost:35618 | NULL | Sleep   |   32 |          | NULL                                               |
| 422516 | bradfitz | localhost:35626 | NULL | Sleep   |   32 |          | NULL                                               |
| 422517 | root     | localhost       | NULL | Query   |    0 | starting | show processlist                                   |
| 422518 | bradfitz | localhost:35634 | NULL | Execute |   32 | update   | REPLACE INTO bradcamlihv.rows (k, v) VALUES (?, ?) |
+--------+----------+-----------------+------+---------+------+----------+----------------------------------------------------+
8 rows in set (0.00 sec)

So maybe it's MySQL's fault.
It's on an SSD, and there's free disk space.

Can't reproduce with same queries by hand (with the mysql client).
Maybe it's a Go 1.6 vs Go tip issue.

if it is (a Go tip issue), gopherjs does not work with go tip either atm anyway.

I figured it out.
My MySQL scheme was old and had the wrong widths (only 256 bytes for the rows.k value). I then had a blob with a large title (longer than 256) trying to be inserted. It was passing the sorted.CheckSizes(key, value) check, but then it was failing on the last statement of:
func (b *batchTx) Set(key, value string) {
        if b.err != nil {
                return
        }
        if err := sorted.CheckSizes(key, value); err != nil {
                if err == sorted.ErrKeyTooLarge {
                        b.err = fmt.Errorf("%v: %v", err, key)
                } else {
                        b.err = fmt.Errorf("%v: %v", err, value)
                }
                return
        }
        if b.kv.BatchSetFunc != nil {
                b.err = b.kv.BatchSetFunc(b.tx, key, value)
                return
        }
        _, b.err = b.tx.Exec(b.kv.sql("REPLACE INTO /*TPRE*/rows (k, v) VALUES (?, ?)"), key, value)
}

But when it sets b.err, everything thereafter ignores future mutations, but in commit batch,
func (kv *KeyValue) CommitBatch(b sorted.BatchMutation) error {
        if kv.Gate != nil {
                defer kv.Gate.Done()
        }
        bt, ok := b.(*batchTx)
        if !ok {
                return fmt.Errorf("wrong BatchMutation type %T", b)
        }
        if bt.err != nil {
                return bt.err
        }
        return bt.tx.Commit()
}

... it returns bt.err, but keeps the transaction open, holding database locks.
We need to issue a rollback there.
We should have a test for this, too.

ouch, what a story. (and I thought we had devised a migration route when we did the key size change...)

I've just hit something related while restarting my camlistored (with mysql):
2016/06/05 23:50:07 Caught panic installer handlers: error instantiating handler for prefix "/my-search/", type "search": error slurping index to memory: bogus claim row: "claim|sha1-00d329f139b347290c9a7cabb52963f2593b3fe3|93A440E7F2AEB2C1|2016-05-13T14:23:34.736580926Z|sha1-60e2682a16bfaa1b39ec051c5ea893f8df4bd576" -> "set-attribute|content|RT+%40searls%3A+%F0%9F%92%AB+Computer+terms%3A%0Acloud+%3D+servers%0Aalgorithm+%3D+code%0Aapp+%3D+code+w%2Fan+icon%0Areason+about+%3D+understand%0Aisomorphic+%3D+reused%0Atechnical%E2%80%A6|sha1-47c8fd0632994d6ec0617582693f608d778aee"
Because of the old schema size, the signer ref (sha1-47c8fd0632994d6ec0617582693f608d778aee) has been truncated (it's missing 2 bytes). Sneaky.
I forgot about that issue because I thought you had already fixed it. On it.

https://camlistore-review.googlesource.com/6718

It turns out my problem is pretty different.
even though my mysql db schema is already at 22, and even after a reindex, I have the truncated entry above which leads to the failure. So I'll open another issue for it.


exchange tokens by transfer does not work

In my old contract, when someone transfer token to contract, contract will transfer back another token to exchange within tokens. But now it can not work with error:
Error 3100006: Subjective exception thrown during block production
Error Details:
Cannot charge RAM to other accounts during notify.
Maybe it is related to new RAM rules: https://github.com/EOSIO/eos/pull/5451
But it will error too when the account already have both tokens. In this case, no new RAM is needed.
Question:
1, Is these any way to exchange tokens by transfer after this change?
2, If not, what is the common new way ?
And when I tested in my local machine, all transfers are working fine. Is there any settings to open it in config.ini ?
I tried to add:
disable-ram-billing-notify-checks = false
It still works.

In the new versions it's not allow to charge the user RAM in the notification code by default, this is by design and will stop hacker from stealing user's RAM. Contract owners are advised to change their contract so that the RAM is billed by the contract owner in their notification code.

Ignore it.
It is only because one of the modify operation in contract code.


maxlen 80 added

I believe that what @juanpabloaj really wants to do is to avoid sails new, sails generate and other similar tools from generating files that are wider than 80 columns. IMHO that is a good idea.
In mi case, I use maxlen: 80 as a global jshint configuration value (~/.jshintrc), so, after running sails new I always get a lot of "Line is too long" errors, from running jshint afterwards. At that point I have to choose between changing all the generated files or configuring a greater maxlen value for that particular application (which I don't like too much... 80 columns limit is a very common standard and I would like to use it also in my sails apps).
There is one thing to note though: maxlenhas been deprecated for jshint, in favour of using JSCS' code style directives instead.

maxlen 80 is pretty restrictive these days where my monitor has a kazillion pixels, and is not a standard of any kind: http://programmers.stackexchange.com/a/148678.
I think maxlen should not be infinity, but 80 is too small. I'll wait for more input from the community on this.

Yes, today screens sizes and pixel count make the 80 maxlen seem a little
restrictive, but there are cases in which it's very useful to have that
limit:

For merging and conflict solving (the screen is usually divided by three
and a maxlen of 80 usually works great with Full HD screens in these cases)
For side-to-side diffs and file comparing
If you want to use your screen in vertical orientation (90º rotation),
which is handy for files with a lot of lines
When you want to stack more than one application side-by-side (for
example, you editor and your browser)
For browser's development tools that are docked to the main window and
aligned to the left or right side of it.
For presentations where you want to use a big font size or if you are
using a datashow with a low resolution.

On 27 March 2015 at 21:10, Travis Webb<EMAIL_ADDRESS>wrote:

maxlen 80 is pretty restrictive these days where my monitor has a
kazillion pixels, and is not a standard of any kind:
http://programmers.stackexchange.com/a/148678.
I think maxlen should not be infinity, but 80 is too small. I'll wait for
more input from the community on this.
—
Reply to this email directly or view it on GitHub
https://github.com/balderdashy/sails/pull/2765#issuecomment-87128245.

--
Tomás Girardi Julio
Gerente General
Turbomarket S.A.
Ingeniero Civil Electrónico, UTFSM
Mención Computadores - Submención Gestión

I think there should be some limit, but 80 is too small.

Yeah, I'm hesitant to merge something that will make folks' code editors blow up in a blaze of "line too long" errors when they try to make a contribution to Sails (or when they open up a newly-generated Sails app!).  Adding this limit here also won't affect what the generators create.
We've been historically slow to adopt new coding standards unless there was a very clear benefit coupled with large demand.  The best way to clear that bar is to create a discussion in our Google Group and post another issue here when there's some consensus around the topic.  Open source democracy FTW!


Weblink opening twice

Home Assistant release (hass --version):
0.43.0
Python release (python3 --version):
Python 3.4.2
Component/platform:
Raspberry Pi b+ --> hassbian --> Weblink component
Description of problem:
When clicking a weblink, 2 tabs open both going to the same webpage
Expected:
This should only be one tab.
Problem-relevant configuration.yaml entries and steps to reproduce:
weblink:
  entities:
    - name: Transmission
      url: http://<IP_ADDRESS>:9091/
    - name: SickRage
      url: http://<IP_ADDRESS>:8081/
    - name: CouchPotato
      url: http://<IP_ADDRESS>:5050/
    - name: OpenMediaVault
      url: http://<IP_ADDRESS>/

Traceback (if applicable):

Additional info:
This was also the case in the previous HA version (think this was 0.42.3)

I just found out this only happens when you click the text. When you click the icon the page only opens once.
This also only happens in google chrome, I tried in edge and it is working fine there.

Same on 42.4

same issue on 0.45.0

Works fine for me with

Chromium 57.0.2987.133
Firefox 53.0.2

No difference between clicking on the icon or the text.

Just verified once again on Chrome 58.0.3029.110 (64-bit)
2 tabs open with the same url. Clicking the icon only opens once.
Tested on Home Assistant 0.45.1.

issue is still occurring on 0.46.0 and Chrome Version 61.0.3124.10 (Official Build) canary (64-bit)
same behavior, click the box, one tab, click the line, two tabs

Still occurring in 0.49.0 version on chrome

This will be fixed in 0.51.2

Closing this, as 0.51.2 is released.


radio_props is required

if radio_props are nothing, nothing appear

That's not true for the Pro example.
The radio_props is only required if the <RadioForm> component doesn't have any children.
See:
https://github.com/moschan/react-native-simple-radio-button/blob/da7204deb7e3e940fa924411a622026c79b5bb21/lib/SimpleRadioButton.js#L76-L83
i.e.
Basic example it does require it:
https://github.com/moschan/react-native-simple-radio-button#basic
vs
Pro example doesn't require it:
https://github.com/moschan/react-native-simple-radio-button#pro

Thanks, @gianpaj
Yes, you can pass children to use pro example instead of passing ratio_props.
So I close this PR


fix: Avoid duplicate runs

We already build on those by building on pull_request.

Ping?

Ping?

Ping?


Nested routing API

Thought dump (more to come):

backwards compatible
nested route definitions should be a plain nested object
introduce <RelativeFragment> (<NestedFragment>?)

I get that backwards compatibility is important, my PR was proof of concept only.
https://github.com/dpwrussell/redux-little-router/tree/nested
However, if you take a look now, it's completely refactored and is completely orthogonal to the standard matcher. To enable the functionality the developer would have to switch to using the componentMatcher and <ComponentFragment>.
It fulfils all of the above criteria in that it is 100% backwards compatible, the route definitions are plain objects and that the fragment component which is used to match it is separate from <Fragment>.

Brain dump of the new API (will fill in details later):
Old Fragment becomes AbsoluteFragment
New nested Fragments become RelativeFragment
AbsoluteFragment is default until next major version
Current behavior (AbsoluteFragment):
<Fragment forRoutes={["/home", "/home/messages", "/home/history"]}>

Home

  <Fragment forRoute="/home/messages">

Messages

  </Fragment>
  <Fragment forRoute="/home/history">

History

  </Fragment>
</Fragment>

RelativeFragment equivalent:
<Fragment forRoute="/home">

Home

  <Fragment forRoute="/messages">

Messages

  </Fragment>
  <Fragment forRoute="/history">

History

  </Fragment>
</Fragment>

New route configuration can be nested or flat and is independent of <RelativeFragment> nesting.
// Nested route configuration
{
  '/': {
    title: 'Home',
    '/messages': {
      title: 'Messages',
      '/:user': {
        title: 'Messages by User'
      }
    }
  }
}

// Result for '/'
{
  route: '/',
  params: {},
  result: {
    title: 'Home'
  }
}

// Result for '/messages'
{
  route: '/messages',
  params: {},
  result: {
    title: 'Messages'
  },
  parent: {
    route: '/',
    params: {},
    result: {
      title: 'Home'
    }
  }
}

// Result for '/messages/mr-manager'
{
  route: '/messages/:user',
  params: {
    user: 'mr-manager'
  },
  result: {
    title: 'Messages by User'
  }
  parent: {
    route: '/messages',
    params: {},
    result: {
      title: 'Messages'
    },
    parent: {
      route: '/',
      params: {},
      result: {
        title: 'Home'
      }
    }
  }
}

Near completion in #47 pending review!

Release in v9.0.0 @dpwrussell !


Installation errors

The installation cells of the Colab demo doesn't work. As per the documentation we tried !pip install domino but still it didn't install.

We used to be pinned to an old version of sklearn (see here #3), and it looks like the install for that version broke. The most recent update should've fixed the issue.


Easy way to disable specific rules?

Is there an easy way to disable specific rules?
I'm testing ktlint (inside spotless) on some random kotlin repos, and wildcard imports seem to be pretty common, and thus a barrier to initial adoption.

Hi Ned.
There is no way to disable rules in ktlint (apart from https://github.com/shyiko/ktlint#how-do-i-suppress-an-error). This is intentional.
Wildcard imports are discouraged for variety of reasons (it makes it hard to tell where the class is actually coming from (which compilations things both for humans and static analysis tools); creates an incentive for bikesheding in form of "what are the rules for using wild-card imports? how many classes are allowed to be imported before they should be collapsed into *?"; etc).
"Explicit is better than implicit." Zen Of Python.
Having said that, I'm pondering the idea of introducing "auto-correction" mode which would only include rules that can be... well, auto-corrected. In other words, you would never have to fix anything by hand. Ever. This would, however, mean that "No wildcard import" rule have to be disabled when "auto-correction" mode is on).
Anyway, until that happens it's easy to disable rules on your side considering that spotless is using API instead of CLI entry point. One way would be to filter out any rules you're not interested in:
RuleSet standardRuleSet = new StandardRuleSetProvider().get();
RuleSet ruleSet = new RuleSet(
    "semi-standard",
    Stream.of(standardRuleSet.getRules())
         // https://github.com/shyiko/ktlint/blob/master/ktlint-ruleset-standard/src/main/kotlin/com/gihub/shyiko/ktlint/ruleset/standard/NoUnusedImportsRule.kt#L9
        .filter(rule -> !"no-wildcard-imports".equals(rule.getId()))
        .toArray(Rule[]::new)
);

Another one, would be to change https://github.com/shyiko/ktlint/issues/20#issuecomment-271730398 a little bit to only warn (or even suppress completely) LintErrors with specific ruleIds:
output = KtLint.INSTANCE.format(
    input,
    Collections.singletonList(new StandardRuleSetProvider().get()),
    (lintError, corrected) -> {
        if (!corrected) {
            // https://github.com/shyiko/ktlint/blob/master/ktlint-ruleset-standard/src/main/kotlin/com/gihub/shyiko/ktlint/ruleset/standard/NoUnusedImportsRule.kt#L9
            if ("no-wildcard-imports".equals(lintError.getRuleId())) {
                System.err.println("WARN: " + lintError.getDetail());
            } else {
                throw new RuntimeException(lintError.getDetail());
            }
        }
        return null;
    });

But then again, I'd not recommend doing this. Intellij IDEA allows you to fix all style violations (including * imports) across all the classes with a single stroke of "Ctrl + Alt + L" so unless users want to paint bikeshed in a different color it's hardly a problem. ktlint contains no rules that cannot be fixed automatically by Intellij formatter.

Thanks for the workaround!
FWIW, I agree 100% on wildcard imports.  But for adoption, I think it's critical to support "tightening clamp" operation.  A way to apply the plugin and turn off rules until it works, and fix things over time until you can have the clamp all-the-way tight.  Greenfield development doesn't happen that often - the dominant use case is an existing project with lots of code already written and inconsistent formatting.

Hi,
@shyiko I'm looking to disable a rule as well (wildcard imports) could you explain me where should I add the code snippets you provided here above
Thank you very much :)

Hi @shyiko, thank you for your answer. I would like to use Ktlint through Spotless (as a Gradle Plugin) so I hoped "Anyway, until that happens it's easy to disable rules on your side considering that spotless is using API instead of CLI entry point." applied to me too...

I respectfully disagree with the conclusion that such linter does not need a way to disable specific rules easily. Adoption of style in legacy code is not easy when the linter reports ~1000 occurrence of line-length limit violation, which is not automatically formattable. We are now stuck on an earlier version of ktlint which couldn't detect long lines. Eventually we'll sort out the long line issues, but until that happens (it's a long task to do) we cannot lint our code properly.

@TamasBarta set max_line_length=120 (adjust the number if needed) in .editorconfig (ktlint won't check line length if max_line_length is <= 0).

@shyiko, thanks for the tip. I set it to off earlier in combination with --android switch, when running ktlint, and that didn't work, so I thought --android completely overrides this. I tried your suggestion, and it works. Other legacy format issues were solved by the format feature, so now all is fine. Thanks!

@TamasBarta great. I'll make sure "max_line_length=off" is supported in https://github.com/shyiko/ktlint/issues/292.

Hi, detekt maintainer here.
If you use the detekt-formatting ruleset, which wrapps KtLint rules, you can disable specific rules -> https://arturbosch.github.io/detekt/formatting.html.
Feel free to reach to us on the kotlin slack or the github project if you need further support in doing this.

For those like me who scoured the internet looking for this, KTLint now supports disabling individual rules in editorconfig.
https://github.com/pinterest/ktlint#editorconfig


No data since last update

Hi,
I made the git pull request two days ago. Since then the great module does not show any connection. I see the header and my starting point. But then I only see "not defined".
Am I doing something wrong in my script?
{
module: "mvgmunich",
disabled: false,
position: "bottom_left",
header: "MVG",
config: {
haltestelle: "St. Quirin Platz",
maxEntries: 4,             // 10 items on screen
updateInterval: 60000,      // 60 s
showIcons: true,            // Show transport type icon
transportTypesToShow: {
"ubahn": true,            // show ubahn route
"sbahn": true,            // show sbahn route
"bus": true,              // show bus route
"regional_bus": false,     // show regional bus route
"tram": false              // show tram route
},
ignoreStations: [],         // destination not to be shown
timeToWalk: 0,             // 10 min walking time to station. Default is 0
showWalkingTime: false,     // if the walking time should be included and the starting time is displayed
showTrainDepartureTime: true,     // show tran departure time
trainDepartureTimeFormat: "relative",   // format of the train departure time
walkingTimeFormat: "relative",    // format of the walking time
showInterruptions: true,
showInterruptionsDetails: true,
countInterruptionsAsItemShown: false
}
},

Same Problem here. Ran the git clone and npm install. Afterwards no data displayed.
I assume - we had this in the past - that there is a problem retrieving the data from the MVG-API. Is the link to the API correctly set with the new information?

Hi @Kevinho195,
could you please add:
lineFiltering: {
"active": false, 			// set this to active if filtering should be used
filterType": "whitelist", 	// whitelist = only specified lines will be displayed, blacklist = all lines except specified lines will be displayed
"lineNumbers": ["U1", "U3", "X50"] // lines that should be on the white-/blacklist
},

to yours configuration and let me know if it will work?

Thanks for your quick response. It solved the problem!

Sorry, I have to open this issue again. It also doesn't work for me.
{
			module: "mvgmunich",
			position: "top_right",
			header: "MVG",
			config: {
			    haltestelle: "Hermann-Gmeiner-Weg",
			    maxEntries: 10,             // 10 items on screen
			    updateInterval: 60000,      // 60 s
			    showIcons: true,            // Show transport type icon
			    transportTypesToShow: {
			        "ubahn": true,            // show ubahn route
			        "sbahn": true,            // show sbahn route
			        "bus": true,              // show bus route
			        "regional_bus": true,     // show regional bus route
			        "tram": true              // show tram route
			    },
			    ignoreStations: [],         // destination not to be shown
			    timeToWalk: 0,             // 10 min walking time to station. Default is 0
			    showWalkingTime: false,     // if the walking time should be included and the starting time is displayed
			    showTrainDepartureTime: true,     // show tran departure time
			    trainDepartureTimeFormat: "absolute",   // format of the train departure time
			    walkingTimeFormat: "relative",    // format of the walking time
			    showInterruptions: true,
			    showInterruptionsDetails: true,
    			countInterruptionsAsItemShown: true,
    			}
			}


bug: collection-repeat + one time binding + filter results in strange behaviour

Type: bug
Platform: all
See this example:
http://codepen.io/anon/pen/JYpYMR?editors=101
Search for ccc, it will show aaa.

Greetings @FrikkinLazer!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

http://ionicframework.com/docs/api/directive/collectionRepeat/

Don't use angular one-time binding (::) with collection-repeat. The scope of each item is assigned new data and re-digested as you scroll. Bindings need to update, and one-time bindings won't.

Can't use one-time-bindings with collection repeat.


Implement ducks pattern, update tests

Based off this proposal: https://github.com/erikras/ducks-modular-redux and the work done by the Kagen Air team.
Removes individual action, constants and reducer files, and consolidates them into their respective duck file.
Updated the tests to accommodate this change. Important to note that now that our actions are inside our duck files, our coverage threshold is expecting our action creators to be tested. I added tests for the synchronous action creators and got our coverage back up to where it should be, but still need to config an expected actions, mock store setup to test the async action creators.

Setup namespacing on test imports re @kentchau's suggestion.

@bertrandk @e-schultz thoughts on this pattern?

I haven't thought too much about it (so prepare a few grains of salt) but I do find the pattern curious given the problems I thought Redux was meant to solve.
The whole point of Redux (and Flux) is to decouple actions and reducers. Outside of trivial applications, the expected case is to have a bunch of uncoordinated reducers handling one action and a bunch of different actions being handled by one reducer. This is how the architecture scales. Large teams can work on overlapping features without conflict. As the app grows, state mutation logic can be kept separate even if it is caused by the same action (i.e. a similar number of user interactions do more as features are added). Reducers and action creators are not semantically one-to-one, which is why we don't typically co-locate them. Constants are also kept separately as a consequence of this.
Sure, decoupling sacrifices cohesion but that's not new. It's the explicit trade-off being made here. This looks nice and is convenient when the project starts but I don't know that we want to optimize for that at the detriment of allowing us to easily evolve codebases as requirements change.
Otherwise, if you somehow know your action creators are always going to be glorified simple setters...this looks fine to me (but it's a little questionable if you needed Redux at all).
Anyways, I'm curious to hear what other people's experiences (or impressions) are. I understand it saves devs the effort of jumping between three files but does it do anything to reduce overall complexity or make adapting to changing product requirements simpler?

Hmm. Ok @bertrandk has convinced me.  I think we'll leave it for now, unless @nikolasleblanc feels really strongly about it.

Nah, @bertrandk convinced me too. :)


Support new Claude 3 models

Feature request
Support new Claude 3 models: Haiku, Sonnet, Opus.
claude-2.1 is a legecy model.
https://www.anthropic.com/api
Why?
New models has more inteligence and lower cost.
Alternatives
No response
Additional context
No response

@ryicoh thanks for your interest. I updated the code to support the claude3 model. It support from version 1.8.4.
Please upgrade aicommit2 and take a look at this docs.

Thank you so much.
I've confirmed that the Haiku is set as the default now.
$ aicommit2 config get ANTHROPIC_MODEL
ANTHROPIC_MODEL=claude-3-haiku-20240307


Mini.Files add keymap to open in split instead of current window

Contributing guidelines

[X] I have read CONTRIBUTING.md
[X] I have read CODE_OF_CONDUCT.md

Module(s)
Mini.Files
Description
I'm following this snippet in the Help files:
# Create mappings to modify target window via split ~

  local map_split = function(buf_id, lhs, direction)
    local rhs = function()
      -- Make new window and set it as target
      local new_target_window
      vim.api.nvim_win_call(MiniFiles.get_target_window(), function()
        vim.cmd(direction .. ' split')
        new_target_window = vim.api.nvim_get_current_win()
      end)

      MiniFiles.set_target_window(new_target_window)
    end

    -- Adding `desc` will result into `show_help` entries
    local desc = 'Split ' .. direction
    vim.keymap.set('n', lhs, rhs, { buffer = buf_id, desc = desc })
  end

  vim.api.nvim_create_autocmd('User', {
    pattern = 'MiniFilesBufferCreate',
    callback = function(args)
      local buf_id = args.data.buf_id
      -- Tweak keys to your liking
      map_split(buf_id, 'gs', 'belowright horizontal')
      map_split(buf_id, 'gv', 'belowright vertical')
    end,
  })

But it's actually split the currently opened window instead of one being highlighted in the Mini.Files window.
Do we have any way to get the currently selected item to split?
Also it would be great if we can specify if the Mini.Files popup should stay or automatically close after the keymap.
Thanks.

But it's actually split the currently opened window instead of one being highlighted in the Mini.Files window.
Do we have any way to get the currently selected item to split?

This is an example of how to create mappings to modify target window via split and not how to open file under cursor in a split. After making the split with mapping, open file as usual and it will be opened in the newly created split.

Also it would be great if we can specify if the Mini.Files popup should stay or automatically close after the keymap.

Explorer windows are closed after MiniFiles.close() is called or focus is forced outside of them. In turn, close() is called after mappings.close or mappings.go_in_plus is pressed. Other than that, explorer stays open.
If you want explorer to be closed in custom mapping, call close() explicitly.


Make sure the termination manager actually removes a trigger

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.05%) to 55.249%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

libraries/core/lib/search/termination/TerminationManager.ts
0
1
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.05%

Covered Lines:
929

Relevant Lines:
1619

💛  - Coveralls


Cannot resize the Record Screen,

Hello! I cannot resize the record screen. There's a half of the screen record outbound my screen. This is my current record screen configuration:

30 FPS.

2562 x 948 px (Screen Resolution).

Please, check below an screenshot of how it looks like.

Regards!

You should be able to drag the corners of the window in order to resize the screen.
Also, you should be able to drag the window to the left side if you wish to access the text boxes where you input the size.

Did you try doing what I suggested?

Closing this issue due to inactivity.


Error returned when running scenarios with cypress-tags

Current behavior
Error returned when running scenarios with cypress-tags:
> cypress-tags run --config baseUrl=https://xxx -e TAGS=@api

internal/fs/utils.js:269
    throw err;
    ^

Error: EISDIR: illegal operation on a directory, read
    at Object.readSync (fs.js:568:3)
    at tryReadSync (fs.js:353:20)
    at D:\creditplace2\node_modules\cypress-cucumber-preprocessor\cypress-tags.js:45:22
    at Array.forEach (<anonymous>)
    at Object.<anonymous> (D:\creditplace2\node_modules\cypress-cucumber-preprocessor\cypress-tags.js:44:7)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14) {
  errno: -4068,
  syscall: 'read',
  code: 'EISDIR'
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>comandLine: `cypress-tags run --config baseUrl=https://platform.staging.creditplacedevelopment.com/admin -e TAGS=@api`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>comandLine script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      C:\Users\RaisaPC\AppData\Roaming\npm-cache\_logs\2021-04-14T11_03_25_440Z-debug.log

Desired behavior
Till few days ago I was able to run E2E client side scenarios with above scripts, but after enriching tests with more API tests, cypress-tags is not working at all. At the same time I am able to run scenarios in browser runner and this means that scenarios are 'heathy and correct' and I should be able to run scenarios also from command line with tag selector
Test code to reproduce
@api
Feature: Upload invoice scenarios

  Scenario Outline: Basic upload invoice
    Given a "admin" token was generated
    When invoice uploaded with following data
      | supplierId   | uploadedBy   | amount   | redemptionDate   | invoiceIssueDate   | serviceDeliveryDate   | debtorId   |
      | <supplierId> | <uploadedBy> | <amount> | <redemptionDate> | <invoiceIssueDate> | <serviceDeliveryDate> | <debtorId> |
    Then invoice created with following data
      | supplierId   | uploadedBy   | amount   | redemptionDate   | invoiceIssueDate   | serviceDeliveryDate   | debtorId  | status   |
      | <supplierId> | <uploadedBy> | <amount> | <redemptionDate> | <invoiceIssueDate> | <serviceDeliveryDate> | <debtorId | <status> |

    Examples:
      | supplier | uploaded | amount | redemptionDate | invoiceIssueDate | serviceDeliveryDate | debtor | status |
      | xxx         |  xxx          | 1000      | 06/30/2021        | 04/06/2021          | 04/06/2021              | xxx       | xxx|

and steps for above scenarios :

	Given("a {string} token was generated", role => {
	})
	When("invoice uploaded with following data", (dataTable) => {
	})
	And('invoice is approved', () => {
	})
	And('invoice is funded', () => {
	})
	And('invoice is redeemed', () => {
	})
	Then('invoice created with following data', (dataTable) => {
	})

repository to be cloned: https://github.com/CreditPlace/automation.git
Versions
"dependencies": {
"cypress-downloadfile": "^1.2.0",
"cypress-get-table": "^1.0.1",
"cypress-tags": "0.0.21",
"randomstring": "^1.1.5"
},"devDependencies": {
"cypress": "^7.1.0",
"cypress-cucumber-preprocessor": "^2.5.5",
"cypress-file-upload": "^4.1.1",
"cypress-log-to-output": "^1.1.2",
"cypress-multi-reporters": "^1.4.0",
"mocha": "^8.3.0",
"mochawesome": "^6.2.1",
"mochawesome-merge": "^4.2.0",
"mochawesome-report-generator": "^5.1.0",
"npm-run-all": "^4.1.5"
}

I'm not able to access the repository you're referring to.

Thanks for the report, please make the repository public, I get 404 when I try to access.
I also see you are using windows, are you sure this worked on windows before? There are some hardcoded paths with "/" in the cypress-tags script, which might be causing issues

@badeball @lgandecki thanks for such a quick response. Unfortunately I can't make the repository public, but I can provide everything you need. Also I'm sure it worked before, unless some mistakes were made, I tried to review everything that was changed and  before that we had even cucumber reports generated based on tags.
Also when trying to run basic script with no configs it fails with same error:

Thanks in advance.

Unfortunately I can't make the repository public, but I can provide everything you need.

What we need is a way to reproduce the issue locally, preferably with a repository we can clone. I understand that you can't share intellectual property with us, but you need to condense the problem into something that's free of that, minimal, and can be shared.

it looks like it might be this line failing:
const spec = ${fs.readFileSync(featurePath)};
and that probably means that the featurePath points to a directory. could you maybe change the cypress-tags.js file and do:
const paths = glob
  .sync(specGlob, {
    nodir: true,
    ignore: usingCypressConf ? ignoreGlob : "",
  })
  .filter((pathName) => pathName.endsWith(".feature"));

console.log("paths", paths)

and see whether all the paths are files, not directories? Another thing to check - do you have any folders that end with .feature ?

Guys @badeball @lgandecki many many thanks, in my case is was a folder with .feature extension:


Recordset address bar and history stack

Update the address bar with user interaction but not keeping the history stack (no back button)

The update to the permalink and history stack are being done correctly, but you'll still need to implement the callback for the onhashchange and force a reload when the hash change was caused by something outside of your page. Example:

go to https://dev.isrd.isi.edu/~schuler/chaise/recordset/#1/legacy:dataset
now change it to https://dev.isrd.isi.edu/~schuler/chaise/recordset/#1/legacy:file

After 2, when you hit the [enter] key, the page should refresh/reload but does not.


UTF8 encoding by default?

I've run into this issue a couple times, where we'll pass around a pre-built jar and different environments act differently by default. As it stands now, the responsibility lies on me to always remember when using docker java to pass -Dfile.encoding=UTF8 (and it's probably good practice anyways). But again... whenever a bug like this pops up it takes me a couple hours to figure out what's going on and that's never fun. Should the docker java image have UTF8 by default?
See https://gist.github.com/devinrsmith/c2dddc652fbffe6404e9 for easy reproduction.

:+1:

I don't think we should set UTF-8 as the default file encoding of the JVM, because it could break a non-zero number of users.  If you are already building an image to contain your encoding-sensitive jar you could just add this to the Dockerfile:
ENV JAVA_TOOL_OPTIONS -Dfile.encoding=UTF8

Untested. According to http://stackoverflow.com/a/623036.

I agree that you don't want to break users.
But my guess is that the number of users that have run into the UTF-8 issue and have "hacked" around it (or discarded java:openjdk-X) in some way or another is a lot more than the number of users that rely on it being the default value. (I might be wrong though!)
I'm doing my best to keep my deployment scripts and docker images as simple as possible, relying on the docker-library whenever possible. If this UTF-8 usage is common enough (which I suspect it is), it might make sense to have java:openjdk-8-jdk-utf8.

I don't think we should set UTF-8 as the default file encoding of the JVM, because it could break a non-zero number of users.

I suspect the current behavior is probably silently breaking many more users right now. I can't imagine any Java user who wants US-ASCII as their encoding, which is what they'll get unless they're doing something like what Elasticsearch does here: https://github.com/elastic/elasticsearch/blob/master/bin/elasticsearch#L148

So this is just a matter of setting "LANG" ?  From the Stack Overflow
discussions, there isn't an obvious simple way to set the default, so I'm
curious whether setting "LANG" actually works generally speaking.

That's the fix I've used in the past, but I can't find any official documentation that says that.
In particular, I remember a time about 6 years ago when I was at Yahoo! when the system I managed was deployed to a new set of boxes that were not setting LANG like the old boxes were. We started getting ? characters in the API output and wondered where it was coming from. The fix was to set LANG=en_US.UTF-8.

I was able to interactively change it using dpkg-reconfigure locales (after installing locales) and that worked... not familiar enough with how to automate it.

"LANG=C.UTF-8" is one we could get for free, if it's functional enough, but
I'd love to get something more tangible saying that this is meaningful in
general. :cry:

This is the closest I've been able to find on Oracle's site:

The host environment's locale is determined by the host operating system and the user preferences established on that system.

Ah, that's good enough for me. :+1:
Someone want to do some testing to figure out whether "ENV LANG C.UTF-8" is
good enough? :smile:

https://gist.github.com/md5/7793ee806183b1c846be

Good enough rationale for me! :+1:  (we just need to make sure that it's
high enough in the Dockerfile that we get good overlapping cache out of it)

Just opened #34 with a patch.
Let me know if you want me to move the ENV line above the apt-get.
In terms of overlapping cache, we're not going to get anything there because all the images have a different FROM.

:)

Oh well, seems fine! :+1: