Mapped type with enum keys emits string keys in d.ts type, but uses enum keys in .ts type

🔎 Search Terms
mapped type, enum, declaration
🕗 Version & Regression Information

This is the behavior in every version I tried

⏯ Playground Link
https://www.typescriptlang.org/play/?ts=5.6.3&ssl=25&ssc=36&pln=25&pc=1#code/KYOwrgtgBAYg9nKBvAUFKBBKBeKByAQzwBo0oAhHfAIxJQF8UATYAYwBsCAnYKAMzAhWAFwCWcEPwQAeACoA+ABTcA5gC4osgJQbZBFSuBMAqiHEg58gNwoUwgJ4AHXnoNHT5y1SRQA2gGkoUUkAa2B7OD5NAF0NHzD7DX9iKAA3AnYwYF0A6Kh6fN8EyJibYAAPRzguYShWCQBnWuFgJqo+BEVUdF94OAA6DFj8Oh6+-vJhgEZSei0bFAB6RahhAAteBKgGgjEGvlFWqTgURRam-q2dvYOjvvmllYIQJjrn7YB3UWFWNagv9ZwMC1YBcLjVFANAG-KBnVrCS7hLTIMisAgNXjjDAaag8AghGzoNEY2AICY4vEEsgsPgEMDsYRqMjoZZQQCg5NsCHxgMzYedatdRPtDg0oCBgKlQQ9GLZFgAqOVQAC0KtVavVGs1UDli1sj1WayFQVFYAawRUBt4hnFXF2RlWTiOfHB0HWvH6TH6wgaKQAVqbajwQAQIPbhIgCKk4KJXhx0Ws7I7NPpDCYzBIACKyADKXlw3XQfkCwSgxSismGBcLhYSSUJ1cL6Uy2U0uXr6HoNnoRXCJQrZUq1VqLDjPDqjWa8Kz2d0Kfc6ZA0+kVagBA0TS45vbUGoGnAEGooK71llKzdpfCUCYcCOIDgAt2Qr49lJJzhTWniJfguFdwQD1ZZ5Y3eKFvhhAE1iBEEwQhUCfj+d9hE-BJkQLYlMTJbEd0pet0NfclsOAfF6xpOkGSZatWUAGXIoFBcEuAaXlEM5G4RTFCUpS7IA
💻 Code
enum Foo {
  A = 'a',
  B = 'b',
}
declare function foo<T>(arg: T): TaggedUnion<T>;

type TaggedUnion<T> = { [K in keyof T]: { key: K, value: T[K] } }[keyof T];
export const test = foo({
  [Foo.A]: '',
  [Foo.B]: 1,
});

// the key satisfies foo
(test.key satisfies Foo);
// and can switch without error
switch (test.key) {
  case Foo.A: break;
  case Foo.B: break;
  default:
    // ✅ safe
    (test satisfies never);
}

/** ---------------------------- */

// this is using the generated types from the .d.ts, just renamed to avoid clash
type TaggedUnionDTS<T> = {
    [K in keyof T]: {
        key: K;
        value: T[K];
    };
}[keyof T];
export declare const testDTS: TaggedUnionDTS<{
    a: string;
    b: number;
}>;

// the key does not satisfy Foo
(testDTS.key satisfies Foo);
// and can switch without error
switch (testDTS.key) {
  case Foo.A: break;
  case Foo.B: break;
  default:
    // ❌ errors
    (test satisfies never);
}

🙁 Actual behavior
When the above code is used and referenced directly via .ts files (i.e. in the IDE) then it all works as expected. TS is able to understand that the .key property is Foo and so it understands that the switch refines the variable and so in the default the variable correctly refines to never.
However when you consume the code via the .d.ts output - the relationship with Foo is lost entirely and so the same switch now is no longer able to refine the variable and so in the default the variable has not refined at all.
🙂 Expected behavior
Either .d.ts code should include the relationship with Foo, or the .ts code should not have a relationship to Foo. I.e. the behaviour should be consistent between the two.
Additional information about the issue
An engineer encountered this at Canva.
The test variable was declared in a file that was previously within the same project as the switch.
During a refactor they moved the test variable to a new project, causing the CI typecheck to switch from using the .ts directly to using the .d.ts.
This caused the switch to not refine, causing a TS error on the default case.

A similar problem, enum in .ts and .d.ts compiles differently

@ahaoboy not related. Your case is due to some other tool generating code from the enum. TS does not generate an object type for an enum in a dts file - ever.
Regardless - a screenshot without a reproduction is not going to be helpful in terms of helping you. File a new issue with a reproduction.


Unable to change FormArray value

I am trying to update a FormArray value but it's behaving strange.
Flutter version:  2.0.6
Reactive Form version: 10.2.0
FormGroup get formInterest => _form.control('interests') as FormGroup;

final _form = FormGroup({
  'general': FormGroup({
    'title': FormControl<String>(validators: [Validators.required]),
  }),
  'interests': FormGroup({
    'interests': FormArray<String>([], validators: [Validators.required, Validators.minLength(1), Validators.maxLength(3)]),
  }),
});

void setInterests(List<String?> interestsUuid){
  FormArray<String> interests = formInterest.control('interests') as FormArray<String>;
  //interests.reset(value: interestsUuid); // doesn't work
  //interests.updateValue(interestsUuid); // doesn't work
  interests.value = [];
  interests.value = interestUuid;
  notifyListeners();
}

I am able to assign values to FormArray but I can't update or reset it.
Even when I pass an empty List to setInterests() it's not resetting.
Am I misunderstanding something with FormArray?

Facing the same problem here.

Hi @combi-35,
Have you tried to pass
List<String>

instead of
List<String?>

interests.reset(value: interestsUuid);

?

What exactly you mean with "//interests.reset(value: interestsUuid); // doesn't work"
Are you getting a runtime error? The widget doesn't update the value, or the FormControl doesn't update its value?

Hi @joanpablo,
yes indeed changing from List<String?> to List<String> does work, but in my case the List<String?> I pass to setInterests is based on formInterest.control('interests').value and value is by defintion T?
So I am using something like:
void onSelect(Interest value) {
  AddActivityViewModel addActivityVM =
      Provider.of<AddActivityViewModel>(context, listen: false);

  List<String?> selected = addActivityVM.formInterest.control('interests').value;

  if(value.isSelected){
    selected.add(value.uuid);
  } else {
    // need to remove this interest from array
    selected.removeWhere((uuid) => uuid == value.uuid);
  }
  addActivityVM.setInterests(selected);
}

void setInterests(List<String?> interestsUuid){
  FormArray<String> interests = formInterest.control('interests') as FormArray<String>;
  interests.value = [];
  interests.value = interestUuid;
  notifyListeners();
}

Also there was no RuntimeError, the value just won't update.

Hi @combi-35,
This is a unit test from Reactive Form, and it run successfully. If you go to the folder test/src/models/form_array_test.dart you will see a lot of test for the reset method in a FormArray. So help me to understand the differences with your code. This is just an example of one of the tests:
test('Reset array with initial values', () {
      // Given: an array with items with default values
      final array = FormArray<int>([
        FormControl<int>(value: 1),
        FormControl<int>(value: 2),
        FormControl<int>(value: 3),
      ]);

      // And: reset array
      array.reset(value: [4, 5, 6]);

      //Then: items has change values
      expect(array.controls.length, 3);
      expect(array.control('0').value, 4);
      expect(array.control('1').value, 5);
      expect(array.control('2').value, 6);
    });

Hi @joanpablo ,
I am sorry I found a bug in my code, I was duplicating everything when writing to value.
Thanks for your time!


Create Styles not applied correctly

I've created typography tokens in the plugin (tested both alias based and value based tokens) and when running create styles export to figma style sheet, all the type styles do not come through. They come through as 12/Auto
To Reproduce
Create type tokens
Click on create styles
Token examples:
          "display (52)": {
            "value": {
              "fontFamily": "$fontFamilies.01",
              "fontWeight": "$fontWeights.light",
              "lineHeight": "$lineHeights.header * $fontSizes.sm.10",
              "fontSize": "$fontSizes.sm.10",
              "paragraphSpacing": "$paragraphSpacing.1 * $fontSizes.sm.10"
            },
            "type": "typography"
          },

and tested this type as well
    "h3": {
      "value": {
        "fontFamily": "Roboto",
        "fontWeight": "600",
        "lineHeight": "1.5",
        "fontSize": "36",
        "letterSpacing": "1",
        "paragraphSpacing": "1"
      },
      "type": "typography"
    }

Expected behavior
Expect to see type styles match tokens
Screenshots or Screencasts

Hey @richardfoong - Have you tried if setting the same properties directly in Figma works? Because from what I can see you're trying to set a font weight of 600. This won't work, you'd have to specify something like Regular or Bold

Ah great that fixed it. I think i had them changed as devs preferred values. Will it be an option in the future to have both? Hopefully I can get them to use naming specifications.

Ah great that fixed it. I think i had them changed as devs preferred values. Will it be an option in the future to have both? Hopefully I can get them to use naming specifications.

Sorry for the late reply. Probably not, because Figma doesn't work with the numerical weights, we'd have to do the Mapping on our own.


ActionController::UnknownFormat in posts#show

Error in workshop-codes
ActionController::UnknownFormat in posts#show
ActionController::UnknownFormat
View on Bugsnag
Stacktrace
app/controllers/posts_controller.rb:50 - show
app/controllers/application_controller.rb:46 - set_current_user

View full stacktrace
Created by<EMAIL_ADDRESS>via Bugsnag

An error linked to this issue has been marked as fixed in Bugsnag
ActionController::UnknownFormat in posts#show


docs: stabilize podman support for devel

These instructions are quite outdated. Podman works flawlessly for development after its v4.

Do you know what happened to the tests?

No idea, but let's see if this fix works.


Add a Keycloak provider for OAuth

Should make easy authentication and authorisation (i.e. permissions) using a Keycloak realm.

Difficult to add a default frontend configuration for this as everybody will not use Keycloak, and optional configuration would require a specific build. However, using https://github.com/kalisio/kdk/issues/1030 and https://kalisio.github.io/skeleton/guides/howtos/keycloak.html it should be really easy to add this.


Supporting multiple ios app targets

I am building a client / server game (ipad is the server, and iphones run the client).  For now I can merge these into one app (prob a good idea anyway), but it would be neat if we could support the ability to build multiple ios apps from one project.

@colinta I think you can define two targets in xcake already :) and it should work fine.

  I had mistakes in my Cakefile.  Usually I override the default naming target-config_type (App-Debug) to be shorter, and this was clobbering the targets.
    target.scheme c.name do |s|
        s.test_configuration = c.name
        s.launch_configuration = c.name
        s.profile_configuration = c.name
        s.analyze_configuration = c.name
        s.archive_configuration = c.name
    end

☝ this names the configurations simply Debug or Release.


Show retroachievement's points or level in frontend

Hello team,
I think it would be very positive to be able to show the information of Retroachievement's points or level on the screen via theme xml tag in the systems view.

Very complex question :

We don't want to send a request to retroachivements.org each time you select a game or we'd be blacklisted.
So
We'd have to store those informations in the gamelist files so that we limit the queries...
We'd have to query all played games to their site regulary ( at startup / everytime you return from a game with retroachivements on, every N minutes ? ), but it can be a big response -> Imagine the request / response size if you played more than 2000 games ! ( some users did ). It would take a lot of time to execute/parse/import in the gamelists.

It's a big work & it can really affect performance / stability, so : Not for batocera 30...

Interesting Issue since Paja' made his awesome theme

the 262 would be my RetroPoints

and the 17 replaced by my number of friends

or number of people online on lobby play ?
I don't know .. just giving some ideas :)
But for sure Social will take more space in the future

That would be very cool ... difficult, but cool, no doubt

What If we had the "trophy system" something like show of the retroarchievements.org page. This would be like the PS3 trophy folder, just a shortcut to the page...

Very complex question :

We don't want to send a request to retroachivements.org each time you select a game or we'd be blacklisted.
So
We'd have to store those informations in the gamelist files so that we limit the queries...
We'd have to query all played games to their site regulary ( at startup / everytime you return from a game with retroachivements on, every N minutes ? ), but it can be a big response -> Imagine the request / response size if you played more than 2000 games ! ( some users did ). It would take a lot of time to execute/parse/import in the gamelists.

It's a big work & it can really affect performance / stability, so : Not for batocera 30...

Hi, i don't understand why you want to make all these site request ??
They only ask for small informations ...

The total point number
The site ranking
Maybe the number of friends but we will can't use it, it is not really interesting.
Or maybe the friends Ranking, and then we can all add batocera members has friends to know our Batocera ranking with them :)

But for me there are only two value to take, the TOTAL POINT NUMBER and the SITE RANKING.
And it will make no many request, only one when se :

Start Batocera
Refresh Gamelist
Quit a game

For me it is the best way to use, no many request and the most important informations show in Batocera theme :)

Thanks for the contribution @Darknior, what you say sounds good, it would simply be necessary to make simple requests only when the game list is updated or when exiting a game.
Anyway, since this thread was made, the metadata in retroachievements has changed somewhat. Now the ideal would be to be able to request the hard and soft points. In addition, the concept of "friend" has also changed, now is "users followed".

In fact, the points are already shown on the front, in the retroachievements contextual screen that is accessed from the main menu, maybe we can use this data to make it themeable in some way

@Darknior @fabricecaruso

We have these 3 data in the front:
-hardpoints
-softpoints
-rank
If the calls are already made, can't we themeable these 3 data in some way?

We already know that these 3 values are there in the menu. But they are not stored in memory, @fabricecaruso  displays them via a script that fetches them from the site and no more.
You would actually have to store them in memory to use them in the theme.
But it also implies that he makes the request to have these values at the other 2 times that I suggested, it's up to him to see if he wants to add it and he will know how to do it very well.

Could this be more manageable now with the new RA API?

I'm mega-hyped :)

Their API did not change. It's just back...
Do do that, we'd have to make lot of requests on their server.
At least one when launching ES ( and we'd have to find a way to update binded controls which is not possible for now ), and one when returning back from a game. Then, I'd probably be asked to refresh it regulary ( every X minutes )....
Now multiply this by the number of users (batocera / retrobat / probably other projects based on retrobat).
It could lead to a huge number of request to their site.
I don't know how their server are scaled, but sure it's not google !
As this information is not really vital and as it's accessible with a easy to access screen, I'm not convinced it's worth it, and I'm not going to spend by free time on this.
But you still can learn C++ and propose a PR.

Okay, understood Fabrice. Maybe we can discuss this with the RA developers to see if they can shed some light or even participate in the code implementation. They'll have a clearer idea if it's possible and if their servers can handle the transfer load. Thanks and happy holidays


MutableExtraStore is making tests fail

How to reproduce
Write a JUnit test comparing an expected and actual state of a ChartEntryModel.
Observed behavior
While the data inside the expected and actual state is the same, the following difference is observed.
expected: extraStore=com.patrykandpatrick.vico.core.entry.diff.MutableExtraStore@66223d94
actual: extraStore=com.patrykandpatrick.vico.core.entry.diff.MutableExtraStore@173f1614

I believe the solution is to change MutableExtraStore to be a data class.
Expected behavior
Since the contents of MutableExtraStore are the same, they should not make the tests fail.
Vico version(s)
Latest stable version
Android version(s)
14
Additional information
Actually on version 1.13.0 but the version picker won't let me pick that.

Hello! Thanks for the report. We’ll look into this and release a bug-fix update.
Regarding the version selector, it’s limited to the latest stable version and the latest unstable version because only these two versions are supported. An issue affecting an older version may have already been resolved. Only if a bug still exists is a report of it actionable, and at least one of the two options in the list must apply in this case. The problem you’re reporting is present in version 1.13.1, making “Latest stable version” accurate. Had it been fixed in 1.13.1, we would ask you to update—it would be impossible for us to publish a release that comes between 1.13.0 and 1.13.1.

Vico 2.0.0 Alpha 5 addresses this. A fix will also be included in Vico 1.13.2, which is coming soon.

There’s been a small change of plans: the next stable version will be 1.14.0, not 1.13.2. This doesn’t change anything as far as the fix is concerned—the ExtraStore problem will, of course, be resolved. Vico 1.14.0 Alpha 1 includes the fix, and Vico 1.14.0 (stable) should be out soon, as no large changes are planned.

@patrickmichalik I'll check it out, thanks for the quick fix and happy new year!

You’re welcome, and happy New Year to you too, @gusandrianos!

Vico 1.14.0 is rolling out. Cheers!


Added Crankier docs

Docs describing usage of Crankier

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

@anurse all changes implemented


Add delete persister

Fix typo in class name
JIRA Ticket: https://jira.duraspace.org/projects/FCREPO/issues/FCREPO-3100
What does this Pull Request do?
Adds a Delete Resource persister to do the deletion from the persistence layer.
Also fixes a small typo in a utility class name, sorry for all the import changes due to the class renaming.
How should this be tested?
Review, unit tests included
Interested parties
@fcrepo4/committers

Hold on this until #1581 goes through and I will update to remove parameter references.

This is now ready for review.


[Bug]: dev = True support missing from pnpm version 9 lockfiles

What happened?
I added the following to my MODULE.bazel:
npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
npm.npm_translate_lock(
    name = "npm_dev",
    npmrc = "//:.npmrc",
    pnpm_lock = "//:pnpm-lock.yaml",
    dev = True,
)
use_repo(npm, "npm_dev")

The intention here is to use this together with ts_project because right now it's including dev dependencies in its output (which might actually be related to this issue...).
However, when I add dev = True, no dependencies actually get included in the resulting linked packages, and I get errors related to missing type declarations.
Version
Development (host) and target OS/architectures: Host+target: Gentoo Linux
Output of bazel --version: 7.4.0
Version of the Aspect rules, or other relevant rules from your
WORKSPACE or MODULE.bazel file: 2.1.0
Language(s) and/or frameworks involved: JavaScript
How to reproduce

Create a new directory
pnpm init
pnpm i -D left-pad (any package)
echo 'require("left-pad"); require("fs").writeFileSync("dummy.txt", "");' > index.js
Add the following to MODULE.bazel:

module(
    name = "repro",
    version = "0.0.0",
)

bazel_dep(name = "aspect_rules_js", version = "2.1.0")

npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
npm.npm_translate_lock(
    name = "npm_dev",
    pnpm_lock = "//:pnpm-lock.yaml",
    dev = True,
)
use_repo(npm, "npm_dev")

Add the following to BUILD.bazel:

load("@npm_dev//:defs.bzl", npm_dev_link = "npm_link_all_packages")
load("@aspect_rules_js//js:defs.bzl", "js_binary", "js_run_binary")

npm_dev_link(name = "node_modules_dev")

js_binary(
    name = "repro_bin",
    data = [":node_modules_dev"],
    entry_point = "index.js",
)

# Required to get a sandboxed environment (i.e. avoid local node_modules)
js_run_binary(
    name = "repro",
    tool = ":repro_bin",
    outs = ["dummy.txt"],
)

Add "pnpm": {"onlyBuiltDependencies": []} to package.json
Run bazel build repro. Get the following error:

ERROR: /home/.../tmp/repro/BUILD.bazel:12:14: JsRunBinary result.txt failed: (Exit 1): repro_bin failed: error executing JsRunBinary command (from target //:repro) bazel-out/k8-opt-exec-ST-d57f47055a04/bin/repro_bin_/repro_bin

Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
node:internal/modules/cjs/loader:1143
  throw err;
  ^

Error: Cannot find module 'left-pad'
Require stack:
- /home/.../.cache/bazel/_bazel_.../4c58cc4ead2e23f682ce8e1d4c0dcef1/sandbox/linux-sandbox/614/execroot/_main/bazel-out/k8-fastbuild/bin/index.js
...

You can remove dev = True from the translate_lock call to have it working.
Any other information?
The offending line seems to be:
https://github.com/aspect-build/rules_js/blob/a8297609b6ed6515648b3c2b9b48c0eb3b481852/npm/private/pnpm.bzl#L495

I tried to solve this locally, but I'm kind of confused about how this should interact with importers. My understanding is that a package can be a development dependency in one workspace and a production dependency on another. How do workspaces interact with rules_js? Do we care about maintaining separate identities for dev and non-dev packages?
Also, it seems dev packages are filtered out twice, once during the transitive closure generation and another in helpers.get_npm_imports. The latter IMO is invalid because it's possible that a package marked as dev in our package.json is depended on by a production package or vice-versa. We already culled the roots based on the user's request during the closure generation, we shouldn't cull individual packages from the graph.


[Bug] Remote Play - Multiple Consoles (connects to wrong one)

Platform

Device: PC
OS: Windows 11
Browser: Chrome & Edge
Browser Version: Latest public
Better xCloud Version: Latest (2.01)

When clicking Remote Play and presented for my choice of consoles, the stream activates for the opposite console selected.
I have a SERIES-S and SERIES-X in my home. When I click to connect to the X, it attempts to connect to the S, and vise versa.

Wow thanks for the fast response! I just did the code edit and it worked like a charm!! Connected to the correct console now, thank you.

Thanks for testing. I'll implement the fix in the next version.


Support @ApiImplicitParams at the class level

Feature request: Support the @ApiImplicitParams annotation at the class level. It was recently updated in swagger-core to be applicable to the class level.
We use this feature to add a parameter to every controller mapping asking for a special auth header:
@ApiImplicitParams({@ApiImplicitParam(name = "Authorization", value = "Authorization token", required = true, dataType = "string", paramType = "header", defaultValue = "Bearer X")})
It would be handy to annotate the controller and get this automatically on every endpoint.
For now we have created a custom annotation to at least make our controller code look cleaner:
@Inherited
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@ApiImplicitParams({@ApiImplicitParam(name = "Authorization", value = "Authorization token", required = true, dataType = "string", paramType = "header", defaultValue = "Bearer X")})
public @interface AddSwaggerToken {
}

We then simply annotate all controller methods with @AddSwaggerToken

You can already do this at the docket see Docket#globalOperationParameters

:+1: we also need this merge :)

globalOperationParameters did the job just fine for us (in fact, if anything it was better than this feature request), though we were adding the same parameter to every endpoint globally.

Ok I'll look into it but i'd like to factorize some of our parameters into this kind of annotations.

@dilipkrish Docket#globalOperationParameter() does it, but IMHO this should remain open as there currently is no way to declare implicit parameters for all resources contained in a single @RestController — hence the need to support the annotation at class level.

💯 agree. I think there is should be another issue for that...

Done: #2550


xcversion install 7.3 hangs

I recently experienced this issue on my personal computer, but I thought it was a single case as I haven't experienced it before (installing previous versions of Xcode).
It happened on my personal computer when installing Xcode 7.3 and it recently also happened on another computer. Basically every time I've tried installing 7.3 (beta versions worked fine).
Basically this happens (when running xcversion install 7.3):
######################################################################## 100.0%
Please authenticate for Xcode installation...
Password:

I enter the password (with no feedback) and press enter and nothing happens.

Okay, 1 hour later, it was just me who was being impatient 😳. The Xcode app is being verified and that is what is taking so long. Maybe it should be indicated somehow? Anyways, feel free to close this one 👍

Copying the .app bundle does take a long time with how many new platforms have appeared in recent releases. If you happen to have Dropbox or another sync tool running, I find that also slows down the process as it's monitoring all the fsevents that are happening - so switching those off temporarily can help.

Ah yes, thanks for the tip @timsutton 🙏


Update 0.0 Nazariya.md

Close#97

@nurbekdeveloper thanks for your contribution. But, we follow common guidelines. Please, refer to youtube videos I have produced regarding those rules.
Looking forward to having your input soon.


[Access Request] codeunit 1322 "Correct PstdSalesInv (Yes/No)" - CorrectInvoice

Could you please remove the scope OnPrem from the procedure  CorrectInvoice in codeunit 1322 "Correct PstdSalesInv (Yes/No)"?
//+Change
//-[Scope('OnPrem')]
//-Change
procedure CorrectInvoice(var SalesInvoiceHeader: Record "Sales Invoice Header"): Boolean
var
    SalesHeader: Record "Sales Header";
    CorrectPostedSalesInvoice: Codeunit "Correct Posted Sales Invoice";
    RelatedOrderNo: Code[20];
    MultipleOrderRelated: Boolean;
    SalesHeaderExists: Boolean;
begin
    CorrectPostedSalesInvoice.TestCorrectInvoiceIsAllowed(SalesInvoiceHeader, false);
    GetRelatedOrder(SalesInvoiceHeader, RelatedOrderNo, MultipleOrderRelated);
    if RelatedOrderNo = '' then
        exit(CancelPostedInvoiceAndOpenNewSalesInvoice(SalesInvoiceHeader));

    SalesHeaderExists := SalesHeader.Get(SalesHeader."Document Type"::Order, RelatedOrderNo);
    case true of
        MultipleOrderRelated:
            exit(CancelPostedInvoice(SalesInvoiceHeader, Format(CorrectPostedInvoiceFromMultipleOrderQst)));
        not SalesHeaderExists:
            exit(CancelPostedInvoice(SalesInvoiceHeader, Format(CorrectPostedInvoiceFromDeletedOrderQst)));
        else
            exit(CancelPostedInvoiceAndOpenSalesOrder(SalesInvoiceHeader, SalesHeader))
    end;

    exit(false);
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 52209.


Unblock stream.Read on stream.Close

Resolves #65

Unblock Read (ReadSCTP) on stream.Close
Optimized the mutex lock/unlock using immediate function invocation
Wrote a test to very the fix.

Codecov Report

Merging #80 into master will increase coverage by 0.18%.
The diff coverage is 88.23%.

@@            Coverage Diff             @@
##           master      #80      +/-   ##
==========================================
+ Coverage   76.54%   76.72%   +0.18%
==========================================
  Files          43       43
  Lines        2682     2690       +8
==========================================
+ Hits         2053     2064      +11
+ Misses        504      502       -2
+ Partials      125      124       -1

Impacted Files
Coverage Δ

stream.go
90.47% <88.23%> (+1.26%)
:arrow_up:

association.go
82.44% <0%> (+0.18%)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks Sean!


Added Slack to README

1 Error

:no_entry_sign:
Please provide a summary in the Pull Request description

  Generated by :no_entry_sign: danger

Is the link working? When I try to get an invite, I get a JS error:

client.js:22 Uncaught TypeError: Cannot read property 'value' of undefined

Same here, triggering invite(undefined, undefined<EMAIL_ADDRESS>worked for me, but @KrauseFx is working on it


[Compile]: I am facing an issue after updating Android Studio and flutter plugin updating.

Operating System
mac
Plugin
device_info_plus:
Version
11.0.0
Flutter SDK
Flutter 3.24.3 • channel stable • https://github.com/flutter/flutter.git Framework • revision 2663184aa7 (4 weeks ago) • 2024-09-11 16:27:48 -0500 Engine • revision 36335019a8 Tools • Dart 3.5.3 • DevTools 2.37.3
Compilation command
I am facing an issue after updating Android Studio and flutter plugin updating. when I run my app on android studio this give me this error.
Launching lib/main.dart on sdk gphone64 x86 64 in debug mode...
Running Gradle task 'assembleDebug'...
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':device_info_plus:compileDebugJavaWithJavac'.

Could not resolve all files for configuration ':device_info_plus:androidJdkImage'.
Failed to transform core-for-system-modules.jar to match attributes {artifactType=_internal_android_jdk_image, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
Execution failed for JdkImageTransform: /Users/ahsanrahman/Library/Android/sdk/platforms/android-34/core-for-system-modules.jar.
Error while executing process /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/jlink with arguments {--module-path /Users/ahsanrahman/.gradle/caches/transforms-3/21c78dd8912f2902e46be6383b37e2cc/transformed/output/temp/jmod --add-modules java.base --output /Users/ahsanrahman/.gradle/caches/transforms-3/21c78dd8912f2902e46be6383b37e2cc/transformed/output/jdkImage --disable-plugin system-modules}

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
Get more help at https://help.gradle.org.

BUILD FAILED in 28s
Error: Gradle task assembleDebug failed with exit code 1
Dart Dependencies
cupertino_icons: ^1.0.8
  lottie: ^3.1.0
  flutter_svg: ^2.0.10+1
  get: ^4.6.6
  im_stepper: ^1.0.1+1
  http: ^1.2.2
  hive: ^2.2.3
  hive_flutter: ^1.1.0
  intl_phone_field: ^3.2.0
  firebase_core: ^3.6.0
  firebase_messaging: ^15.1.3
  firebase_crashlytics: ^4.1.3
  oktoast: ^3.4.0
  persistent_bottom_nav_bar: ^5.0.2
  smooth_page_indicator: ^1.2.0+3
  carousel_slider: ^5.0.0
  cached_network_image: ^3.4.1
  fluttericon: ^2.0.0
  hexcolor: ^3.0.1
  avatar_view: ^1.0.1
  flutter_staggered_grid_view: ^0.7.0
  appinio_video_player: ^1.2.2
  video_player: ^2.9.1
  audio_video_progress_bar: ^2.0.3
  audioplayers: ^5.2.1
  flutter_rating_bar: ^4.0.1
  flutter_speed_dial: ^7.0.0
  file_picker: ^8.1.2
  image_editor: ^1.5.1
  path_provider: ^2.1.4
  image_cropper: ^8.0.2
  image: ^4.2.0
  amazon_cognito_identity_dart_2: ^3.6.5
  permission_handler: ^11.3.1
  video_thumbnail: ^0.5.3
  flutter_image_compress: ^2.3.0
  flutter_launcher_icons: ^0.14.1
  refresh_loadmore: ^2.0.7
  gradient_borders: ^1.0.1
  url_launcher: ^6.3.1
  intl: ^0.19.0
  bottom_picker: ^2.8.0
  webview_flutter: ^4.9.0
  country_picker: ^2.0.26
  another_stepper: ^1.2.2
  rich_readmore: ^1.1.1
  simple_gradient_text: ^1.3.0
  share_plus: ^10.0.3
  bottom_sheet_scaffold: ^0.1.9
  shimmer: ^3.0.0
  device_info_plus: ^11.0.0
  ffmpeg_kit_flutter: ^6.0.3
#  video_compress: ^3.1.2
  readmore: ^3.0.0
  google_fonts: ^6.2.1
  keyboard_actions: ^4.2.0
  flutter_staggered_animations: ^1.1.1
  slide_countdown: ^2.0.0
  package_info_plus: ^8.0.2
  path: ^1.9.0
  flutter_swiper_view: ^1.1.8
  auto_size_text: ^3.0.0
  loading_animation_widget: ^1.3.0
  app_links: ^6.3.2
  network_info_plus: ^6.0.1
  flutter_widget_from_html: ^0.15.2
  percent_indicator: ^4.2.3
  flutter_spinkit: ^5.2.1
  widget_zoom: ^0.0.4
  photo_view: ^0.15.0
  timezone: ^0.9.4

Native dependencies
cupertino_icons: ^1.0.8
  lottie: ^3.1.0
  flutter_svg: ^2.0.10+1
  get: ^4.6.6
  im_stepper: ^1.0.1+1
  http: ^1.2.2
  hive: ^2.2.3
  hive_flutter: ^1.1.0
  intl_phone_field: ^3.2.0
  firebase_core: ^3.6.0
  firebase_messaging: ^15.1.3
  firebase_crashlytics: ^4.1.3
  oktoast: ^3.4.0
  persistent_bottom_nav_bar: ^5.0.2
  smooth_page_indicator: ^1.2.0+3
  carousel_slider: ^5.0.0
  cached_network_image: ^3.4.1
  fluttericon: ^2.0.0
  hexcolor: ^3.0.1
  avatar_view: ^1.0.1
  flutter_staggered_grid_view: ^0.7.0
  appinio_video_player: ^1.2.2
  video_player: ^2.9.1
  audio_video_progress_bar: ^2.0.3
  audioplayers: ^5.2.1
  flutter_rating_bar: ^4.0.1
  flutter_speed_dial: ^7.0.0
  file_picker: ^8.1.2
  image_editor: ^1.5.1
  path_provider: ^2.1.4
  image_cropper: ^8.0.2
  image: ^4.2.0
  amazon_cognito_identity_dart_2: ^3.6.5
  permission_handler: ^11.3.1
  video_thumbnail: ^0.5.3
  flutter_image_compress: ^2.3.0
  flutter_launcher_icons: ^0.14.1
  refresh_loadmore: ^2.0.7
  gradient_borders: ^1.0.1
  url_launcher: ^6.3.1
  intl: ^0.19.0
  bottom_picker: ^2.8.0
  webview_flutter: ^4.9.0
  country_picker: ^2.0.26
  another_stepper: ^1.2.2
  rich_readmore: ^1.1.1
  simple_gradient_text: ^1.3.0
  share_plus: ^10.0.3
  bottom_sheet_scaffold: ^0.1.9
  shimmer: ^3.0.0
  device_info_plus: ^11.0.0
  ffmpeg_kit_flutter: ^6.0.3
#  video_compress: ^3.1.2
  readmore: ^3.0.0
  google_fonts: ^6.2.1
  keyboard_actions: ^4.2.0
  flutter_staggered_animations: ^1.1.1
  slide_countdown: ^2.0.0
  package_info_plus: ^8.0.2
  path: ^1.9.0
  flutter_swiper_view: ^1.1.8
  auto_size_text: ^3.0.0
  loading_animation_widget: ^1.3.0
  app_links: ^6.3.2
  network_info_plus: ^6.0.1
  flutter_widget_from_html: ^0.15.2
  percent_indicator: ^4.2.3
  flutter_spinkit: ^5.2.1
  widget_zoom: ^0.0.4
  photo_view: ^0.15.0
  timezone: ^0.9.4

Compilation Error
Launching lib/main.dart on sdk gphone64 x86 64 in debug mode...
Running Gradle task 'assembleDebug'...

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':device_info_plus:compileDebugJavaWithJavac'.
> Could not resolve all files for configuration ':device_info_plus:androidJdkImage'.
   > Failed to transform core-for-system-modules.jar to match attributes {artifactType=_internal_android_jdk_image, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
      > Execution failed for JdkImageTransform: /Users/ahsanrahman/Library/Android/sdk/platforms/android-34/core-for-system-modules.jar.
         > Error while executing process /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/jlink with arguments {--module-path /Users/ahsanrahman/.gradle/caches/transforms-3/21c78dd8912f2902e46be6383b37e2cc/transformed/output/temp/jmod --add-modules java.base --output /Users/ahsanrahman/.gradle/caches/transforms-3/21c78dd8912f2902e46be6383b37e2cc/transformed/output/jdkImage --disable-plugin system-modules}

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 28s
Error: Gradle task assembleDebug failed with exit code 1

Flutter Doctor
Flutter (Channel stable, 3.24.3, on macOS 12.7.6 21H1320 darwin-x64, locale en-GB)
    • Flutter version 3.24.3 on channel stable at /Users/ahsanrahman/develpment/flutter_sdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2663184aa7 (4 weeks ago), 2024-09-11 16:27:48 -0500
    • Engine revision 36335019a8
    • Dart version 3.5.3
    • DevTools version 2.37.3

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/ahsanrahman/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 21.0.3+-79915915-b509.11)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    ! Flutter recommends a minimum Xcode version of 15.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 21.0.3+-79915915-b509.11)

[✓] VS Code (version unknown)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
    ✗ Unable to determine VS Code version.

[✓] Connected device (3 available)
    • sdk gphone64 x86 64 (mobile) • emulator-5554 • android-x64    • Android 13 (API 33) (emulator)
    • macOS (desktop)              • macos         • darwin-x64     • macOS 12.7.6 21H1320 darwin-x64
    • Chrome (web)                 • chrome        • web-javascript • Google Chrome 129.0.6668.100

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Checklist before submitting a bug

[X] I searched issues in this repository and couldn't find such bug/problem
[X] I Google'd a solution and I couldn't find it
[X] I searched on StackOverflow for a solution and I couldn't find it
[X] I read the README.md file of the plugin
[X] I'm using the latest version of the plugin
[X] All dependencies are up to date with flutter pub upgrade
[X] I did a flutter clean
[X] I tried running the example project

See #3303


Typesafety for NuxtLink

Describe the feature
It would be great if we had typesafe routes for the NuxtLink component similar to useFetch with suggestions for available routes. The Tanstack router could serve as an example: https://tanstack.com/router/v1
Additional information

[X] Would you be willing to help implement this feature?
[ ] Could this feature be implemented as a module?

Final checks

[X] Read the contribution guide.
[X] Check existing discussions and issues.

This is indeed possible. Enable experimental.typedPages and you should be good to go!


2817 convert openai gpt 35 to build api

Fixes #2817
Converted the OpenAI GPT 3.5 Turbo board to the new Build API.
The streaming has been removed for now, as the transformStream node from the node-nursery-kit is set to deprecated and I was not yet able to recreate the functionality using a code node or invoking a board.

@aomarks @dglazkov Hello both!
I've converted this board without the streaming capabilities for now because I can't replicate the original streaming logic using a board or code node so far, and the transformStream node from the node-nursery-kit, which is used by the board pre-migration, is set to deprecated. I also noticed that the streaming also seems to be commented out in the Gemini Kit's gemini-generator board, so I was wondering if it's actually even built in now or just not working currently?
I wanted to ask if either of you have any suggestions for how to proceed with handling the streaming for this board? Any suggestions or guidance would be greatly appreciated :heart_decoration:

It's okay to not have streaming for now -- we will revisit the whole streaming machinery soon and make it work again.

Okey doke! Thanks, Dimitri :heart:


run on Windows appears to escape quotes

Originally posted by @vadz in https://github.com/tridactyl/tridactyl/issues/876#issuecomment-766111592
There seems to be something wrong with command line parsing: my editorcmd is gvim.exe -f -c "se ft=markdown wrap lbr tw=0" %f and it worked fine with 0.1.10 before, but now it starts editing the file called ft=markdown and a few more because the quotes get escaped and I couldn't find any way to prevent this from happening (other than removing -c ... entirely). Would you have any idea about this by chance? TIA!

https://github.com/tridactyl/native_messenger/blob/100198fb4c1e5167ad59d310c93d4d3ef8e77ee8/src/native_main.nim#L108

Shouldn't make a Windows release until this is fixed as it will probably break lots of things

Shouldn't make a Windows release until this is fixed as it will probably break lots of things

I was afraid something like this would happen. I presume – but I'm not sure – that startProcess wraps each argument in quotes, so gvim.exe -f -c "se ft=markdown wrap lbr tw=0" %f becomes cmd "/c" "gvim.exe -f -c "se ft=markdown wrap lbr tw=0" %f", which cmd interprets to run the program gvim.exe -f -c se with arguments ft=markdown, wrap, lbr, tw=0 %f or something of the sort, which makes no sense.
I'm not sure what we can actually do about this, though. We could get normal quoting behaviour if we got rid of the "cmd" call, but then we'd lose built-ins again. I still don't really want to believe Nim doesn't have a native way to run commands in a proper shell on Windows, though.
However, I don't remember if the version I tested where I noticed that I couldn't use built-ins used poEvalCommand. I'm assuming it had, because all the fuss about getting commands to run in cmd would've been really stupid otherwise, but on the other hand the documentation literally states:

poEvalCommand [...] uses the system shell to run the specified command

So it really should work.
I can test that again sometime, but it might be a while. Right now I'm fighting :restart and losing – I finally got the motivation to try and tackle it – and I don't want to get too distracted.

I was afraid something like this would happen. I presume – but I'm not sure – that startProcess wraps each argument in quotes, so gvim.exe -f -c "se ft=markdown wrap lbr tw=0" %f becomes cmd "/c" "gvim.exe -f -c "se ft=markdown wrap lbr tw=0" %f", which cmd interprets to run the program gvim.exe -f -c se with arguments ft=markdown, wrap, lbr, tw=0 %f or something of the sort, which makes no sense.
I'm not sure what we can actually do about this, though. We could get normal quoting behaviour if we got rid of the "cmd" call, but then we'd lose built-ins again. I still don't really want to believe Nim doesn't have a native way to run commands in a proper shell on Windows, though.
However, I don't remember if the version I tested where I noticed that I couldn't use built-ins used poEvalCommand. I'm assuming it had, because all the fuss about getting commands to run in cmd would've been really stupid otherwise, but on the other hand the documentation literally states:

poEvalCommand [...] uses the system shell to run the specified command

So it really should work.
I can test that again sometime, but it might be a while. Right now I'm fighting :restart and losing – I finally got the motivation to try and tackle it – and I don't want to get too distracted.

I'm pretty sure we were using poEvalCommand.
There's really no rush with any of this - some of the issues we are fixing are ~2.5 years old. Please don't feel obligated to do anything : )

I'm pretty sure we were using poEvalCommand.
There's really no rush with any of this - some of the issues we are fixing are ~2.5 years old. Please don't feel obligated to do anything : )

Using cmd under MSW seems inconsistent with the Unix version, which doesn't use shell, so I think removing it would be the right thing to do.

Using cmd under MSW seems inconsistent with the Unix version, which doesn't use shell, so I think removing it would be the right thing to do.

Maybe os.quoteShell or os.quoteShellCommand is what we need here, but I haven't tried that yet, either.

Maybe os.quoteShell or os.quoteShellCommand is what we need here, but I haven't tried that yet, either.

If Nim is "helpfully" quoting stuff without poEvalCommand, a daft fix would be to use poEvalCommand but prefix the command with "cmd /c"

If Nim is "helpfully" quoting stuff without poEvalCommand, a daft fix would be to use poEvalCommand but prefix the command with "cmd /c"


Added wave-footer in Footer directory

What is the change?
Added wave-footer in Footer directory. Contains index.html,index.css and README.md.
Related issue?
closes: #91
How was it tested?
Tested using VS Code Live server preview and Chrome and Firefox web browsers.
Checklist:
Before you create this PR, confirm all the requirements listed below by checking the checkboxes [x]:

[x] Have you followed the Contribution Guidelineswhile contributing.
[x] Have you checked there aren't other open Pull Requests for the same update/change?
[x] Have you made corresponding changes to the documentation?
[x] Have you tested the code before submission?
[x] Have you formatted your code ? (You can use any html,css beautifier)
[x] My changes generates no new warnings.
[x] I'm Hacktoberfest'21 contributor.
[x] I have commented my code, particularly in hard-to-understand areas.

GIF/video of the working of component you created:

@siddhi-244 I have created the pull request for #91 and updated the component in the main readme file. Kindly review and let me know if any changes need to be made. Thank you!


New feature suggestions

Set GUI scale to 2 by default
Set FOV to quake pro by default
Disable outdated resource pack warning
Other than that you count integrate these mods:
https://www.curseforge.com/minecraft/mc-mods/no-telemetry
https://www.curseforge.com/minecraft/mc-mods/no-chat-reports
(both fully open source)
Great mod though, I like what you're trying to accomplish

Firstly, sorry for replaying late.
GUI scale 2 is a must, and while I too use FOV quake pro, I don't think it's as universal as GUI scale 2.
The outdated resource pack warning is a great idea, I'll certainly make it. Also those mods you've linked are also good ideas.

With the exception of No Chat Reports and FOV quake pro, things you suggested are available on Modrinth and soon Curseforge

Hey there, no worries on the respond time I'm glad you added the features :)
Is there a specific reason you are using 1.19.3 for the mod version? Most people use the x.2 or x.5 versions so 1.19.2 would probably get you more downloads and be more convenient especially since a lot of mods are only up to 1.19.2

Also my only other suggestion besides the no chat reports would be to disable the narrator hotkey
If you are interested in that there is an open source mod for it https://github.com/545u/NoNarrator
As for the FOV not being universal, from my experience everyone I know always sets it to Quake Pro on fresh install, though I can also get your point. But then again some of my friends keep the Music on 20-30 and your mod disables it so neither are really universal.
The last thing that I think would be cool is uncapping FPS and turning on the FPS counter. Probably a more useful feature than the music, in my opinion.

Is there a specific reason you are using 1.19.3 for the mod version?
It was the latest when I made the project, but I plan on supporting more versions. I like the idea of disabling the narrator hotkey, but I don't know what do you mean by uncapping FPS(it it unlimited by default iirc) and the FPS counter(i only know of the F3 menu)

Actually by default its on Vsync, and I'm not sure if the fps counter is a Sodium/Optifine exclusive but its not really a big deal if it is, though to clarify I was refering to the little FPS counter at the top left you can enable in options.
Good luck on the project, if you do decide to downgrade to 1.19.2 you'd do me a huge favor as this mod would replace like 4 other small mods and I'd definitely put it into all of my modpacks, no pressure though.

I think the FPS counter is an Optifine/Sodium Extras thing, however I might add it. Also I'll definitely downgrade to 1.19.2 at some point.

The 1.19.2 version is up on Modrinth and (when done processing) on Curseforge.


Use better resolution icon for app

Screenshot of CMD+Tab task switcher on Mac. Looks like the icon is very low resolution.

https://support.apple.com/guide/mac-help/create-custom-icons-files-folders-mac-mchlp2313/mac

Please see #1987.


Does the help-surarez code support multiple nodes, cores, or GPU usage?

Sorry for the general nature of the question. It is not really clear to me from this documentation or that in ClimaCore.jl how to actually go about running the code. I'd like to run some pretty simple Held-Suarez setups but am not sure what kind of computational environment is supported. Can I run across multiple nodes on a cluster? Will the Clima code detect available cores and GPUS automatically? Thanks for any help!

@teopb that's a fair question! This repo isn't very useful (we were planning to do more work with it, but it was superceded by higher priority tasks). Still, you could try running this script:
https://github.com/CliMA/ClimaHeldSuarez.jl/blob/main/reference/run_held_suarez_experiment.jl
That should make a plot of the zonal velocity at the end, eg
https://github.com/CliMA/ClimaHeldSuarez.jl/blob/d501ad8981167c65bbd9cc8e95b2c7f64f28b5ed/reference/run_held_suarez_experiment.jl#L167-L176
It's not my purview, but I suspect that to run some simple Held-Suarez setups you want to look to ClimaAtmos:
https://github.com/CliMA/ClimaAtmos.jl
I definitely suggest getting in touch there via issues or discussions.

@glwagner Thanks so much for pointing me in the right direction!


Allow ISUPPORT parameters to be negated

ISUPPORT allows negating parameters via -PARAMETER which allows servers to change functionality without disconnecting clients. As per https://modern.ircdocs.horse/#rplisupport-005:

Tokens of the form -PARAMETER are used to negate a previously specified parameter. If the client receives a token like this, the client MUST consider that parameter to be removed and revert to the behaviour that would occur if the parameter was not specified. The client MUST act as though the paramater is no longer advertised to it. These tokens are intended to allow servers to change their features without disconnecting clients. Tokens of this form MUST NOT contain a value field.

Please see https://github.com/znc/znc/pull/1737


[1193] Query the correct dttp entity path for the qts awarded flag

Context

https://sentry.io/organizations/dfe-bat/issues/2239722865/?environment=qa&project=5552118&referrer=alert_email

Changes proposed in this pull request

Update the DTTP path to fetch the qts awarded property

Guidance to review
You can test this out in postman by quering the following path:
https://{{dttp_host}}/api/data/v9.1/dfe_placementassignments(1037728a-7928-e911-a82a-000d3ab0d281)?$select=dfe_qtsawardflag which should return the correct json the class expects to parse.

 Retrieve QTS Job is erroring


install futures connector in IOS (ipad)

Hello,
I have been working on a futures trading bot and it is working fine (regardless of the results). I would like to have the bot running on my ipad.
It seems like pythonista (Pyto) would be a good choice for it, but i cannot install the pip binance futures connector or the ta.
Is there a solution/alternative for it?
Thanks

Thank for your interest in our library, although I believe the not being able to install on iPad is beyond our control, we're only developing library, with no attachment to the type of devices it's run.
Maybe this is related with the PyPI itself? Please seek help from their side.


docs: Update releasing.md

Description
Changes proposed in this pull request (what was done and why):

Clarify (potentially ambiguous) requirement in the release process documentation.

Changes refer to particular issues, PRs or documents:

Traceability

[ ] The PR is linked to a GitHub issue.
[ ] New features have a milestone set.
[ ] New features have defined acceptance criteria in a corresponding GitHub Issue, and all criteria are satisfied with this PR.
[ ] The corresponding GitHub issue has a respective area and kind label.
[ ] The follow-up issues (if any) are linked in the Related Issues section.
[ ] Adjusted the documentation if the change is user-facing.
[ ] The feature is unit-tested
[ ] The feature is e2e-tested

I will be closing this PR, since I'm having issues changing the file. Please refer to this one instead: https://github.com/kyma-project/telemetry-manager/pull/1053


libnbd: 1.18.2 -> 1.20.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/libnbd/versions.
meta.description for libnbd is: Network Block Device client library in userspace
meta.homepage for libnbd is: https://gitlab.com/nbdkit/libnbd
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.20.0 with grep in /nix/store/a7m3kjq2f7vdn2h0ya9wzbdqxjwyiscj-libnbd-1.20.0
found 1.20.0 in filename of file in /nix/store/a7m3kjq2f7vdn2h0ya9wzbdqxjwyiscj-libnbd-1.20.0

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

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath

libnbd
poke

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/fe76478a9bfc6c078df44812b72526f42b82ddfb#libnbd

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

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

6 packages built:

libnbd
poke
poke.dev
poke.info
poke.lib
poke.man

Maintainer pings
cc @AndersonTorres @humancalico for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/libnbd/versions.
meta.description for libnbd is: Network Block Device client library in userspace
meta.homepage for libnbd is: https://gitlab.com/nbdkit/libnbd
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.20.1 with grep in /nix/store/w4wr5qpbz9n6wqsf7876p0lm5cxpjzpb-libnbd-1.20.1
found 1.20.1 in filename of file in /nix/store/w4wr5qpbz9n6wqsf7876p0lm5cxpjzpb-libnbd-1.20.1

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

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath

libnbd
poke

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/2be8d75ed6df7e0bb51554a68278c5302cebaf02#libnbd

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

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

6 packages built:

libnbd
poke
poke.dev
poke.info
poke.lib
poke.man

Maintainer pings
cc @AndersonTorres @humancalico for testing.


feat: set lifetime for Dataset records

Is your feature request related to a problem? Please describe.
Setting an end-of-life, e.g., 3 months, might be interesting for dataset records.
Describe the solution you'd like
N.A.
Describe alternatives you've considered
N.A.
Additional context
N.A.

https://github.com/argilla-io/argilla-plugins/issues/16


Help to set this up in nextjs

I am using this project as a template for my application and I can't set this library up.
I have created the following @types/my-prisma.d.ts similar to the existing @types/next-auth.d.ts with the following content:
declare global {
  namespace PrismaJson {
    type LocationJson =
      | {
          address: string;
          lat: number;
          lng: number;
        }
      | undefined;

And added this to my prisma.schema bellow the client generator:
generator json {
  provider = "prisma-json-types-generator"
}

Along with the types as comments in my models:
model Profile {
  // LocationJson
  location Json
}

But it is not working.
Can someone help me? In case it is something related to the typescript configuration, this is my tsconfig.json file:
{
  "compilerOptions": {
    "target": "es5",
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true,
    "skipLibCheck": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "noEmit": true,
    "esModuleInterop": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "jsx": "preserve",
    "incremental": true,
    "plugins": [
      {
        "name": "next",
      },
    ],
    "paths": {
      "@/*": ["./*"],
    },
    "types": ["node", "jest"],
  },
  "include": [
    "next-env.d.ts",
    "**/*.ts",
    "**/*.tsx",
    ".next/types/**/*.ts",
  ],
  "exclude": ["node_modules"],
}

You can find a minimum reproducible error here. It's a commit adding prisma-json-types-generator to the template I mentioned.

There are no logging details because nothing is logged and what is not working is that LocationJson is not being recognized as the type of Profile.location .
I thought that setting up a project for you with all my settings was the best way to share how to reproduce it. As I don't know where the problem is, I don't know how to make it smaller, sorry.
But don't worry, if you don't have the time to run it (it'd be one line in the terminal: git clone ... & npm install & npm run dev ) just feel free to close the ticket.

FWIW I have the same issue. @peguerosdc I've added a comment on your link that may be useful.

I'm running through the same case I think right now... @peguerosdc
In running the lib I get the following:
unflores:prisma-json-types-generator (main*%) $ pnpm prisma generate --schema test/schemas/normal.prisma
Prisma schema loaded from test/schemas/normal.prisma

✔ Generated Prisma Client (v5.13.0) to ./test/target/normal in 52ms

✔ Generated Prisma Json Types Generator (3.0.4) to ./test/schemas in 75ms

However, when I run it in my local app I don't see Generated Prisma Json Types Generator. So make sure that it is showing up in your output.

@unflores thanks for taking a look! Indeed I made a type and the comments should have three backslashes, but that only partially solved the problem.
Now profile.location is correctly typed with PrismaJson.LocationJson, but its properties are not as they all show up as any.


storageMode does not inherits from defaults

CacheFactoryProvider.defaults.storageMode="localStorage";

new  CacheFactory("factoryName",{storageImpl:polyfil}); //throw error with storageMode undefined

Thanks for the catch, I think I know what the problem is.


Use the Go 1.7 context

We don't need the authboss context if we use this. This makes it more standard library compatible and will overall increase the quality of the lib I think.

Mostly done this.

Done


Devhub Issue: Colour Palette - Text Colour

path: (do not delete) https://github.com/bcgov/design-system/blob/master/styles/colours/colourpalette.md
(do not delete) devhub page: /Colour-Palette

Devhub Content Issue
Is #494949 still the correct colour for text? Gov uses #313132 for its headings and paragraphs.
David

Yup #313132 is the new text colour - will update that


[PoC/RFC] Switch to background updates, pull channel info via GitHub API.

Ended up writing this little experiment and figured might as well share.
This switches the update process to an updater running on a background thread updating an in-memory cache of channel information on a fixed interval (in the current implementation every 60 seconds).
As previously the list of channels is retrieved from https://nixos.org/channels/ however the freshness information is retrieved via GitHub API. For each channel a lookup is performed against its respective branch on NixOS/nixpkgs and NixOS/nixpkgs-channels and the freshness is computed as the time difference between the latest commits on the branches.
If GITHUB_TOKEN env variable is set the requests to GitHub will be authenticated which increases the number of requests per hour that can be performed to the API, and thus frequency of updates.
At the moment the code does few more requests than it strictly needs but I haven't looked into optimising that part (which would probably complicate the code even more). The are probably few more things to tweak like the update interval, retry frequency on failures, etc.
(Sorry for the large diff, applied hindent out of habit so there is a fair amount of purely formatting changes :/).

@madjar what do you think? :)

That sounds reasonable. I already have a credit card in heroku, and I'm okay with the process being killed after 30 minutes of inactivity.
I'll try to make some time to merge this and configure the needed env variables.

Aside from the design / wording changes I wonder how frequently this should poll for updates. At the moment I arbitrarily picked 1 minute interval but perhaps that seems like a bit much? We would need to consider the amount of requests vs GH API rate limits.
Also if anyone wants to have a look but doesn't want to build locally I'm running a demo based off this branch at https://howoldis-gh-bg.herokuapp.com (hope that's OK).

I think 30min should be fine to start with. Maybe add some text on the page to say data refreshes every 30min.


License

Is there any plan to add a license to this repository? I would like to contribute if it's intended to be open-source.
Thanks

You remind me, I asked the author, and he's happy to open source.  How about choosing the MIT protocol?

I'm happy with MIT license. I already have some changes so I'll make a pull request once you've added the license.

Wow~ I am curious about what do you change. I have added the MIT License.

I've created the pull request, it was for the compile-time evaluation of the gear matrix. I'm probably also going to try and clean up some code, and create a python wrapper for it.


Cannot Add: Malformed XML

I'm having a similar issue to what the user was referencing in #783. I modified an existing popclip extension, but I get an error when I try to install it.
The path .../AmazonTrack.popclipext does not contain a valid PopClip extension.
Reason: Could not load Config.plist. The XML may be malformed.
The suggested rebooting doesn't help, and I wasn't confusing .popclipext and .popclipextz
Any suggestions appreciated!!!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Actions</key>
	<array>
		<dict>
			<key>AppleScript File</key>
			<string>AmazonTrack.applescript</string>
			<key>Image File</key>
			<string>omnitick.png</string>
			<key>Title</key>
			<string>AmazonTrack</string>
		</dict>
	</array>
	<key>Apps</key>
	<array>
		<dict>
			<key>Link</key>
			<string>http://www.omnigroup.com/products/omnifocus/</string>
			<key>Name</key>
			<string>OmniFocus</string>
		</dict>
	</array>
	<key>Credits</key>
	<array>
		<dict>
			<key>Name</key>
			<string>Marc Abramowitz</string>
		</dict>
	</array>
	<key>Extension Description</key>
	<string>Create a new task in OmniFocus. (Supports OmniFocus 1 and OmniFocus 2 Pro.)</string>
	<key>Extension Identifier</key>
	<string>com.pilotmoon.popclip.extension.amazontrack</string>
	<key>Extension Name</key>
	<string>AmazonTrack</string>
	<key>Required Software Version</key>
	<integer>693</integer>
</dict>
</plist>

Hi, I am confronted with the some problem, has it been solved?

I ended up getting this to work by stripping out every line that wasn't specifically needed.
Then make sure to remove "pilotmoon" from the identifier. See if that works.

Closing old issue. If you are still having any trouble you can always email me<EMAIL_ADDRESS>


npm is invalid on all releases

All the releases on npmJs are invalid since yesterday/today (I used 1.2.0v yesterday at 7:00 PM).
I can't use it anymore and it is very critical because it blocks my CI/CD production flow

I have the same issue.

Installing this package is currently not possible.
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@researchgate%2freact-intersection-observer - Not found
npm ERR! 404
npm ERR! 404  '@researchgate/react-intersection-observer@latest' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)```

https://status.npmjs.org/
It is a problem on entire npm registry. They are working on.

Thanks for filing an issue anyway, glad it got resolved. We didn't realize because we run a nexus proxy in front of NPM.


introduce bash unit-tests

hello!
Was there any attempt to include tests at least to temurin-builds?
Looking to https://github.com/adoptium/temurin-build/pull/3736 or https://github.com/adoptium/temurin-build/pull/3728 are excellent candidates... And I belive in past thre were many simialar pathces introducing standalone single function.
I would vote to use my ancient and favourite:
https://github.com/rh-openjdk/run-folder-as-tests
as it offers ultimate freedom, to to run individual sets, driven by:
https://github.com/lehmannro/assert.sh
https://github.com/kward/shunit2
https://github.com/bmizerany/roundup
https://github.com/sstephenson/bats
wdyt?
From those, I have strong exepreince only with run-folder-as-tests, but as it can wrap all others, it may be good start.
I have also some experience with shunit2 which works quite well, but (simiarly as assert.sh)  I would not use it as standalone solution. I have no experience with bats (which is quite recomended over web, but rep is archived)  and with roundup. On roundup (acording to documentation) its sandbox is cool.
But even the run-folder-as-tests is running eah unit as standalone process.
One of the conditionnal steps may be extracting  various build.sh, makeAnyJdk.sh, prepareWorkSpace.sh to
build.sh, makeAnyJdk.sh, prepareWorkSpace.sh and buildFunctions.sh, makeAnyJdkFunctions.sh, prepareWorkSpaceFunctions.sh.

GPT-4 says:
There isn't a single de facto standard for unit testing shell scripts as the choice often depends on the specific needs of a project, the complexity of the shell scripts, and the preferences of the development team. However, several popular frameworks and tools are commonly used in the industry. Here are a few notable ones:

shUnit2: An xUnit based unit test framework for Bourne based shell scripts, shUnit2 is one of the older and more established frameworks. It provides a straightforward way to write and run tests, making it a popular choice for many developers.

Bats (Bash Automated Testing System): Bats is a TAP-compliant testing framework for Bash scripts. It provides a simple way to write tests right in Bash, using special @test syntax. Bats also supports test setup and teardown, making it suitable for more complex test scenarios.

ShellSpec: A full-featured BDD (Behavior Driven Development) unit testing framework for shell scripts. ShellSpec supports various shells (not just Bash) and offers a rich set of features, including mocking and coverage reporting. Its syntax is inspired by RSpec, making it familiar to Ruby developers.

bash_unit: A simple Bash script to automate testing of Bash scripts, applications, and shell libraries. It's less complex than some of the other options, making it easy to get started with minimal setup.

Roundup: Another simple framework for writing and running tests for shell scripts. Roundup provides an easy-to-understand syntax and is designed to be portable and easy to deploy.

Each of these tools has its strengths and is suitable for different kinds of projects and preferences. For simpler scripts or projects where Bash is not the primary focus, shUnit2 or bash_unit might be sufficient. For projects requiring more sophisticated testing features, such as mocking or BDD-style tests, ShellSpec or Bats could be more appropriate.
The best approach is often to evaluate a few of these frameworks based on the specific requirements of your project and choose the one that best fits your needs.

2 looks interesting to me because we already have TAP-compliant testing elsewhere

If the tap is generated by suite, it may be disadvantage, as in aqa-tests,  the tap files are global. So if the tests would pass, it would be one huge tap file  with one test temurin-build passed/failed.  Eg I had to disable individual tap files in churn testsuite, becasue it was contraproductive  with the main aqa-test tap file, which needed just one tap-file with one test churn, from churn, not details.
In addition tap format is ancient, and despite I really like it, it is error prone. Modern xunit xml files are much less error prone.
There is nice article of https://medium.com/wemake-services/testing-bash-applications-85512e7fe2de comparing all except shellSpec
The https://github.com/rh-openjdk/run-folder-as-tests can speak tap files to. and is really surprising powerful as top level runner.
I would agree that bats is probably best, but it do not speak xunit - which is really much more reliable then tap, and is already decommissioned project:(
With that gone, I would go with run-folder-as-tests  and using individual frameworks as sub-suites, generate both tap and xml , and in individual sub suites, use any of the offered  frameworks as needed.


Consider upgrading python version

Context
Upgrading to a newer Python version such as 3.12 or 3.13 can provide us with performance improvements and increased quality-of-life features, provided it doesn't break anything.
Requirements

Update python features to a stable 3.12 or 3.13 release
Update Github Actions reliant on Python to use the new Python version
Update runtime.txt to use the new Python version
Update README documentation
Push to dev to confirm expected operation.

Tests

Tests should not need to be changed.

Docs

Documentation does not currently mention Python version, and so should not need to be updated

Open questions

Does it work?
Are there any possible issues that might not  be immediately apparent?

PR set up here:
https://github.com/Police-Data-Accessibility-Project/data-sources-app-v2/pull/191
Tests are all passing (after I made some adjustments), but I've not yet merged because I want to confirm with @joshuagraber and @josh-chamberlain that this is kosher.
Additionally, beyond this, there is the test to check that things function as expected in data-sources-v2.pdap.dev -- just because everything works in Github Actions does not guarantee that it'll play nice with things like the Digital Ocean Python Buildpack (though it's certainly promising).
If we want to be extra wippy-dippy safe, we could modify the Digital Ocean spec to pull from the PR branch, or simply merge into Dev and rollback if it turns out not to work.

Success! I tried dev right now, and it seems to be working 😎


Reenable adaptationcosts tests

I disabled them from runtests.jl because I need a version of runtests.jl that passes right now. We should enable again once those tests pass.

This was already done.


Add "Reverse engineering Animal Crossing's developer mode" blog post

Thanks for the contribution! =)


chore: bdd-nh-1583477516 to 0.0.1

chore: Promote bdd-nh-1583477516 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Tozo.dev won't load

Complains about the HTTPS certificate and "HTTP Strict Transport Security".
The error code seems to be NET::ERR_CERT_DATE_INVALID

@pgjones

The ssl certificate had expired. I've fixed by running terraform apply. I'm not sure how I missed the expiry reminder issues though.


Post: Announcing TypeScript support in Electron

Staging URL: https://zeke.github.io/electron.atom.io/blog/2017/05/16/typescript

[ ] Update 1.6.10 if it doesn't end up being the right version number
[ ] Change the post date if we don't ship it on Tuesday May 16
[ ] GIF screencast of VSC in action

This is ready for review.
cc @electron/maintainers

@zeke awesome! Btw I am seeing some bugs in the electron.d.ts:

Are you guys seeing this as well, is there a bug already?

@bpasero, those have been fixed but won't see a release till the next beta.  We also introduced tests to ensure we don't publish bugged typings agajn

@MarshallOfSound awesome! very happy about Electron shipping electron.d.ts btw 👍

@bpasero if you'd be so kind as to try the latest, it would be much appreciated:
cd electron/electron
git checkout master
git pull
npm install
npm run create-typescript-definitions
cp out/electron.d.ts ~/your-electron-project/node_modules/electron

This post is ready to go. We can ship it once the 1.6 release line is out of beta.
cc @kevinsawicki

🚀
https://electron.atom.io/blog/2017/06/01/typescript
https://twitter.com/electronjs/status/870317132151521285


fix: allow POST chart/data request without CSRF token

SUMMARY
https://github.com/apache/superset/pull/17400 broke requesting chart data without providing a CSRF token. This config change should fix it
TESTING INSTRUCTIONS
CI, I haven't tested yet, but will test with a testenv using fetch
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

to: @ofekisr @amitmiran137 @serenajiang @john-bodley @villebro

OK, but where is the new test case to prevent bugs like these In the future? If I missed it how the next developer who try to improve our product will not missed it?

If you'd rather we fix by reverting the breaking PR, i'm happy to do that too. Ideally, tests should be added prior to refactors so that the refactors don't cause issues. In this case, all I honestly have time to do is fix the bug (I'm on PTO today). We can either fix forward (this PR) or revert back to the functional state. Happy to do either, but regardless it needs to be fixed.

/testenv up

If you'd rather we fix by reverting the breaking PR, i'm happy to do that too. Ideally, tests should be added prior to refactors so that the refactors don't cause issues. In this case, all I honestly have time to do is fix the bug (I'm on PTO today). We can either fix forward (this PR) or revert back to the functional state. Happy to do either, but regardless it needs to be fixed.

So revert the code and keep the bad state of the code that no one can understand and no one has the courage to improve it... Please don't take it personally but when you fix a bug without adding a test is the same as adding a new feature without any tests.
When someone wants to clean the code without adding new logic it must rely on the current tests cases, and if you say the current test cases are lame and don't cover anything, why do you keep them at all?
Everybody chose the take the easy solution, I could add a small hack solution and prevent the code cleaning, but when you prefer the easy solution you don't promote the value of the product so use it anyway?

Unfortunately https://github.com/apache/superset/pull/17400 doesn't revert cleanly (probably because of other PRs stacked on top of it). As you say, reverting is probably the best way to resolve the issue, but as i'm both unfamiliar with the code and the changes stacked on top of it, it's not really feasible for me to dig in today. If we feel reverting is the right option going forward, feel free to stack this change as part of the revert.
To unbreak master for now, I'll make this fix, and hopefully will be able to follow up with a test (although I can't guarantee anything, as this would essentially be testing that Flask-WTForms does what it's supposed to and i'm not really sure how best to test the functionality of a dependency).

when you fix a bug without adding a test is the same as adding a new feature without any tests

Personally I disagree. This PR fixes a recent breakage on the master branch that would block any future releases of Superset. Obviously having tests for the code is better than not, but I'd say having a functional product without tests is better than a non-functional one (also without tests).

Thanks for the fix @etr2460 . We've been seeing similar regressions in other PRs lately, many of which I've unfortunately been party to, either as an author or reviewer. I think it's important for everyone to accept that the state of test coverage is what it is, and we need to do our best to

make sure we keep Superset as functional as possible
do our best to encourage adding more tests to existing critical functionality going foward

I agree with @ofekisr that it's a tall order to expect every developer to have full understanding of what side-effects a code change can have. If this is an implicit requirement (=having full understanding of what breakage may occur despite CI being green), then it will become increasingly difficult for new community contributions to get through the review pipeline.
Regarding this regression, optimally #10397 that originally introduced the functionality would have added an integration test that made sure the endpoint works without CSRF tokens (in hindsight, as a reviewer, I should have pushed for that). But in the meantime, whenever we do refactors to code that may be dangerous, it's probably a good idea to request reviews from additional people who may have more context, especially with a very detailed PR description and targeted questions (e.g. "are there any known consequences of moving the x endpoint from palce A to B?") to make it easier for reviewers to jump in and not have to spend considerable time parsing the intent of the PR.
Having said that, I'm happy to start coordinating an effort to add test coverage to code that has either 1) been subject to a regression 2) is known to have a high risk of regressions due to lacking test coverage.
Ping @john-bodley @junlincc


Network: Input is just pressed

Hey,
is it possible to get a just_pressed function for input events?
For example in a 2d platformer game there's no need to continously trigger jump events even if the player keeps holding the jump key down.
thx for the addon btw, looks great so far!

Hello,
OK, I have set the input system the way it is because it make things easier to deal with the synchronization, reducing the amount of verification that must be done to ensure the input data will indeed reach the server.
That said, one of the first concerns comes to bandwidth usage. Please note that boolean data in this addon becomes packed into the smallest integer possible, using bitmasking. In other words, if you have between 1 and 8 boolean input "buttons" configured, only a single byte will be used per input object. That would be the exact same for pure input data if I had changed into "just_pressed" instead of the actual state.
Now, to avoid the character from constantly jumping if the button remains pressed, you can just use a flag (maybe named can_jump or something like that) within the character code. You set it to false when the character jumps and reset it to "true" only when the character is on the floor AND the jump button is not pressed. If you check the mega demo you will see I have done this exact same strategy.
Does this solve the problem?

I was talking about sending data to the network multiple times even when its not necessary.
But I guess you're sending everything on every tick anyways (at least it sounds like that)?
I'm already using a variable to jump only once.
Thx for the fast reply.

OK, I wasn't entirely sure about what you were seeking, that's why I answered that way! ;)
Regarding the network bandwidth concerns, I'm trying to find a reasonable way to perform some kind of reduction on the input data usage while still keeping the system as generic as it is now.


More clarity on what is supported and not

We got multiple times that kind of feedback: https://twitter.com/freakboy3742/status/1027477767720300544
Let's try to integrate that.

This might help for now https://github.com/opencollective/backyourstack/pull/58

@piamancini the complain is that it's not upfront enough. they would like to see something on the homepage, and some warning in the results page.

Totally, but I also received a couple of, it should be in the readme, so at least let's get this done now

Great, merged #58.

I think what would improve this whole situation is if the projects could describe in a consistent manner what their support model is. For example, a package.json could have a support property whose value is a URL to whichever web page is associated with how they get their funding. Any tool developed by the community, like BackYourStack, could read this and know how to present the information. The URL could be pattern matched for sites like OpenCollective and Patreon, so that tools could tailor how they display the information if they recognise the site in the URL. At the end of the day, even support URLs that just lead to a person's personal website would be represented. They would be too custom to display well on platforms like BackYourStack, but they would be represented nonetheless.
I wonder how much effort it would be to get that kind of change propagated throughout the programming ecosystem.

https://github.com/opencollective/backyourstack/pull/83


Handling java projects that don't compile

Currently java-maven-project-compiler simply throws an exception if a project can not compile: ProjectCompilationException. Whilst this is good, we currently don't catch this exception in the pipline.
I propose that we catch it in the pipeline, and simply log that it could not be compiled. Since we should expect to find projects which cannot compile, we should ensure that the pipeline keeps functioning even if we find such a non-compilable project, and should simply move onto the next project.

That would mean we'd have to add a logger, right? While fixing #95 isn't necessary for this issue, I think it would help.

This has been pretty much addressed in #198
The pipeline should now catch CompilationExceptions when a library cannot be compiled so the pipeline doesn't break even if a single project doesn't compile in a list of projects.
It should however be noted that modules which implement the ProjectCompiler interface should then actually throw CompilationExceptions if compilation failed and the exception is non-critical, or else the pipeline will still break.


ValueError: total size of new array must be unchanged when image is changed

I am trying to make a standalone car that only use python and RPi based on your code yet this error jump out. After few hours of research I still can't figure out why, hence you're my last hope. Hope you can help me figure out the issue. Thank you in advance @hamuchiwa .
Error code:

Traceback (most recent call last):
File "/home/pi/Desktop/modified train data collect.py", line 180, in
CollectTrainingData()
File "/home/pi/Desktop/modified train data collect.py", line 71, in init
self.collect_image()
File "/home/pi/Desktop/modified train data collect.py", line 108, in collect_image
temp_array = roi.reshape(1, 38400).astype(np.float32)
ValueError: total size of new array must be unchanged

Code(I've deleted motor GPIO pin codes to make it easier to look at):
import numpy as np
import cv2
import RPi.GPIO as GPIO
import pygame
from pygame.locals import *
import time
import os
import struct
import io
import picamera
import picamera.array
from picamera.array import PiRGBArray

class CollectTrainingData(object):

    def __init__(self):
        self.send_inst = True

        # create labels
        self.k = np.zeros((4, 4), 'float')
        for i in range(4):
            self.k[i, i] = 1
        self.temp_label = np.zeros((1, 4), 'float')

        pygame.init()
        self.collect_image()

    def collect_image(self):

        saved_frames = 0
        total_frames = 0

        # collect images for training
        print 'Start collecting images...'
        image_array = np.zeros((1, 38400))
        label_array = np.zeros((1, 4), 'float')

        try:
            frames = 1
            while self.send_inst:
                cam = picamera.PiCamera()
                cam.resolution = (320, 240)
                cam.color_effects = (128, 128)
                cam.framrate = 24
                time.sleep(2)
                stream = picamera.array.PiRGBArray(cam)
                cam.capture(stream, format='bgr', use_video_port=True)
                # crop the image and grayscale

                frame, ret = np.split(stream.array, [240], axis=0)
                    # select lower half of the image
                roi = frame[120:240, :]

                    # save streamed images
                cv2.imwrite('training_images/frame{:>05}.jpg'.format(frames), frame)

                    # cv2.imshow('roi_image', roi)
                cv2.imshow('image', frame)

                    # reshape the roi image into one row array
                temp_array = roi.reshape(1, 38400).astype(np.float32)

                frames += 1
                total_frames += 1

                    # get input from human driver
                for event in pygame.event.get():
                    if event.type == KEYDOWN:
                        key_input = pygame.key.get_pressed()

                        if key_input[pygame.K_UP]:
                            print("Forward")
                            saved_frames += 1
                            image_array = np.vstack((image_array, temp_array))
                            label_array = np.vstack((label_array, self.k[2]))

                        elif key_input[pygame.K_DOWN]:
                            print("Stop")
                            saved_frames += 1
                            image_array = np.vstack((image_array, temp_array))
                            label_array = np.vstack((label_array, self.k[3]))

                        elif key_input[pygame.K_RIGHT]:
                            print("Right")
                            image_array = np.vstack((image_array, temp_array))
                            label_array = np.vstack((label_array, self.k[1]))
                            saved_frames += 1

                        elif key_input[pygame.K_LEFT]:
                            print("Left")
                            image_array = np.vstack((image_array, temp_array))
                            label_array = np.vstack((label_array, self.k[0]))
                            saved_frames += 1

                        elif key_input[pygame.K_x] or key_input[pygame.K_q]:
                            print 'exit'
                            self.send_inst = False

                            break

            # save training images and labels
            train = image_array[1:, :]
            train_labels = label_array[1:, :]

            # save training data as a numpy file
            file_name = str(int(time.time()))
            directory = "trained_data"
            if not os.path.exists(directory):
                os.makedirs(directory)
            try:
                np.savez(directory + '/' + file_name + '.npz', train=train, train_labels=train_labels)
            except IOError as e:
                print(e)

            print(train.shape)
            print(train_labels.shape)
            print 'Total frames:', total_frames
            print 'Saved frames:', saved_frames
            print 'Dropped frames', total_frames - saved_frames

        finally:
            print("Work laaa")

if __name__ == '__main__':
    CollectTrainingData()

Hi, can you post the array size of frame and roi?

Sorry if it look stupid, but isn't the array size calculated from

frame, ret = np.split(stream.array, [240], axis=0)
roi = frame[120:240, :]

I don't really understand about the array thing.

Can you add print (stream.array.shape, frame.shape, roi.shape) after that second line, I just would like to see what the actual numbers are.

Okay, the roi is still in color, the shape needs to be (120, 320) or (240, 320) if using entire image. Make sure you convert frame to grayscale before slicing.

It worked, thank you so much!


Memory Module Embedder

Hi, thanks again for the incredible work!
As I'm trying to reproduce the Agent-Driver end-to-end, I'm running into some problems with the memory module. It seems that all the embedding of the encoded query has already been cached in the local memory file database.pkl? Thus I'm wondering what encoding model did you use to get the embedding of the queries and keys? Did you simply use the coordinates of the ego-states and historical trajectories and use the one-hot vector to embed the mission goal? If not, I would really appreciate it if you could kindly share the encoder you use.
Thanks!

Hi, thanks for your interest in our work.
We retrieve the memory scenarios by querying [ego_states, mission_goal, ego_hist_traj]. Please see here for details of the query vector. Specifically, the mission goal is embedded by a 3x1 one-hot vector indicating going left, right, and straight.


move jquery-datetimepicker to npm/webpack

update to latest version and move to npm
adapt for api changes and css class rename
add specificity to arc-green rules as dependency css now loads later
use imports-loader to make it load correctly
fix some wrong paths in librejs

Resulting bundle is 335kB currrently because of the dependencies this plugin has. Not sure if it's possible to prevent that second jQuery from loading.
It's only used on a single page (create milestone) and I think we should just use Fomantic's Calendar to replace it entirely.

@silverwind how hard is it to switch to "Fomantic's Calendar" directly instead?

Probably not too hard but I've never worked with Fomantic stuff yet.

Another issue with using Calendar is that we can not lazy-load Fomantic components (yet), so it would increase the size of the already big main Fomantic bundle as we're not using that component anywhere yet.

ping LG-TM


[WIP] add optional ID prop to country select component

The type of this PR is: Chore
Description
I would like to write an Integrity test to place an order that is shipped or billed to a country other than the United States, but there is no ID available on the address form's country select component to make that easy.
I made the ID prop optional so that different forms can give it an ID that is consistent with other form elements (ie. AddressForm_name, AddressForm_country, etc.). I'd love to hear about whether that's a weird thing to do in React or not.

@iskounen I don't think it's weird to pass a test id to Select in this case.
to make the prop more clear in terms of its purpose, I would generally rename it to something more explicit than id. but in this case, since rest of the props are spread to Select, I think you could remove the new prop completely and just pass data-test="AddressForm_country" to CountrySelect.
and access it with ...find([data-test="AddressForm_country"]) in the tests.

@AlicanAkyuz and @damassi thanks a lot for your advice. Using a data attribute feels nicer, and taking advantage of prop spreading reduces the amount of noise.
I added data-test props to the other elements in this form so that I can standardize how Integrity access them.


Setuped nick + nick-backup; now I've got banned for that?

I've been setting up my old irc nick the past hour. Getting into the details to get it right.
For the registration process I've used my local ISP.
After that I switched back to my VPN - is that the problem here?
Maybe someone knows what is going on, thanks.

Hi, this is the issue tracker for the libera.chat website. If you've been banned there will be an email in the ban message to contact with any questions related to the ban, that way you'll be able to get accurate help.


parsing error in https://tokei.rs/b1/github

https://github.com/Aaronepower/tokei/issues/154
probably some parsing error (dot in the repo name):
this repo comes back with 403:
https://tokei.rs/b1/github/random-archer/nspawn.sh
while this repository (same account) works fine:
https://tokei.rs/b1/github/random-archer/dovecot_plugin_syncer

thank you for your issue! It seems this has been fixed. As nspawn.sh now returns

thank you


web needs list of all known hosts

select distinct host from
    (select distinct host from current
    union all
    select distinct host from hourly
    union all
    select distinct host from daily)
order by host;

write it out to JSON as an object with zeroes as initial values, and we have last_seen ready to populate with live timestamps.

This issue isn't directly resolved, but nodeStatus is now built with this query rather than just looking at current. That should make this trivial.