Fixes #3179 - handle custom drag sources triggering native drops

This PR fixes an issue in Firefox where dragging links would still trigger native drag and drop behavior, even if the drag was caught as a custom defined drag type.
The codebase checks for native drag events firing, but mostly treats them separately from custom drag events. In Firefox, dragging an <a> link will still trigger native drop behavior (following the URL), because we only preventDefault() if a custom drag type was not recognized in the e.dataTransfer object.
This PR adds another check to the handleTopDropCapture function, which will prevent default if the drop event has a native type and the drag monitor is reporting the current drag as a custom type.

I'm getting a failure on this PR because of a drop in code coverage - i'm not quite sure where to put a test for this behavior. We'd have to a drag interaction with a custom drag type, on an element that will trigger a native drag type - and I think it would only be effective in Firefox?
Happy to write a test if someone can point me to where to do so


Updated example to reflect official repo.

Updated example code to be the same as the one showcased on the official jest-mongodb repository https://github.com/shelfio/jest-mongodb.
Summary
Previous example code was not working properly.

Duplicate of #8333 and useUnifiedTopology landed in 6694e4fa0fafd20e82b14fd19b4027dd4d0561f0 plus #12465


Provide Server sent event through api

Hi All. I want to provide streaming text through api to mobile app which I'm getting from chatgpt.
API
Route::post('stream', [OpenAIController::class, 'stream']);
Function which call on api
  function stream() {
        $yourApiKey = env('KEY');
        // dd($yourApiKey);
        $client = \OpenAI::client($yourApiKey);

        $stream = $client->chat()->createStreamed([
            'model' => 'gpt-4',
            'messages' => [
                ['role' => 'system', 'content' => 'You are a helpful assistant.'],
                ['role' => 'user', 'content' => 'Hello!'],
                ['role' => 'assistant', 'content' => 'Hello! How can I assist you today?'],
                ['role' => 'user', 'content' => 'I can\'t controll my emotion, how can I?'],
            ],
        ]);

        header('Content-Type: text/event-stream');
        header('Cache-Control: no-cache');
        header('Connection: keep-alive');

        // Send the chat responses to the client
        foreach ($stream as $response) {
            Log::info('STTTTTTTTTT'.json_encode($response->choices[0]));

            $responseData = $response->choices[0]->delta->content;
            echo "$responseData"; // Send each response as an SSE event

            if($response->choices[0]->finishReason != null || connection_aborted()){
                exit();
            }

            ob_flush();
            flush();

        }
        exit();
   }

will it work for mobile app or how can do for direct streaming to mobile via api?

Hi @yusuftechmero
This is out of scope of this library, but maybe you can find someone in the discussions section to help you with that.


Use node 10 when building docker images

Fixes failing builds on the master branch:
https://travis-ci.org/jaegertracing/jaeger/jobs/599917635#L780
https://travis-ci.org/jaegertracing/jaeger/jobs/598603785#L780
@everett980 could you please review? I am not sure why UI repo is using node 8 https://github.com/jaegertracing/jaeger-ui/blob/master/.travis.yml#L3

It should work with 8, but needs a newer patch ^8.10.
Expected version "^6.14.0 || ^8.10.0 || >=9.10.0". Got "8.9.1"
Travis is apparently not installing the latest available 8.x

I am not sure why it does not install the latest 8 version.
8 will be OEL soon. 10 seems like a good option https://github.com/nodejs/Release

Publishing latest images works now https://travis-ci.org/jaegertracing/jaeger/jobs/601180088


Any performance improvements that could be done?

particles.js takes much less cpu (around 40-50%) than zodiac which is taking almost double(70-80%) cpu processing. could we expect any performance improvements in future?
Thank you :smile:

Name
Time(%)

(Program)
470.0ms (63.52%)

arc
84.9ms (11.47%)

update
160.7ms (22.57%)

moveTo, stroke, clearRect
160.7ms (22.57%)

also performance on mozilla is worse than on chrome. running zodiac on an old machine with up to date firefox makes even scrolling a painful experience.

These might help for reference -

http://www.html5rocks.com/en/tutorials/canvas/performance/
https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Optimizing_canvas

Why don't you just use particle.js when it is more performant? Even I now consider using it for JS.ORG  if it is that much better.

I don't want to include another library(jquery) for including one library. This seems much better in terms of simplicity and ease of use. Sadly I'm not familiar with canvas and stuff, otherwise I would have sent an PR instead of opening an issue :smile:.

I really don't know why performance is worse then in another library and I think I have the time right now to investigate on it (maybe some hard to debug deoptimication of code)
A not wanted jQuery dependecy was the main reason for me to write zodiac. Bit it really should ne trivial to strip jQuery from particle.js . There only little use for it in a canvas library: measure the canvas, bind events to it, initialize the code. If you know gow to do these things without jQuery it should ne a simple task to rewrite.

Thankyou :smile: I'll look into it.


SDL: Remove extracted artifact dir version numbers

Credscan false positives were popping up, and there's intended to be a way to suppress the issues on the issue tracking side, but it wasn't working and the same issues would be opened repeatedly after dismissal. This PR tries to fix it by making the absolute paths of the files stay the same.
It seems to work: https://dev.azure.com/dnceng/internal/_build/results?buildId=1981497&view=results opened new issues with the more-static absolute path, and when I closed them as "external", a subsequent build shows a failure status but didn't open any new issues: https://dev.azure.com/dnceng/internal/_build/results?buildId=1981612&view=results. (See the first few lines of the Execute SDL for the renaming logs.)

/azp run microsoft-go


HDDS-5010 Fixing Prometheus duplicated TYPE definition

What changes were proposed in this pull request?
Currently, PrometheusMetricsSink adds # TYPE definition to each metrics line even though the metrics are repeatedly appearing in the endpoint due to differing in labels, e.g.
# TYPE hdds_dispatcher_counter counter
hdds_dispatcher_counter{type="PutBlock",hostname="host1"} 0
# TYPE hdds_dispatcher_counter counter
hdds_dispatcher_counter{type="ReadContainer",hostname="host1"} 0

Expected format is:
# TYPE hdds_dispatcher_counter counter
hdds_dispatcher_counter{type="PutBlock",hostname="host1"} 0
hdds_dispatcher_counter{type="ReadContainer",hostname="host1"} 0

What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-5010
How was this patch tested?
Unit test added + manually.

Merging it now, thanks the contribution @hgruck and the review @adoroszlai


MaxListenersExceededWarning: Possible EventEmitter memory leak detected

Just came across a memory leak issue which hangs the program after some time.
concurrency: Cluster.CONCURRENCY_BROWSER,
workerCreationDelay: 200,
maxConcurrency: 20

Thanks for reporting, this definitely needs investigation.

same issue


[new feature] animate line

Is there a way to animate the arrows and lines?

No, nothing currently in the works with respect to animations.
But @dai-shi has made an app to take your excalidraw drawings and animate it as a whole: https://dai-shi.github.io/excalidraw-animate/ (https://github.com/dai-shi/excalidraw-animate)

No, nothing currently in the works with respect to animations.
But @dai-shi has made an app to take your excalidraw drawings and animate it as a whole: https://dai-shi.github.io/excalidraw-animate/ (https://github.com/dai-shi/excalidraw-animate)

Thank you.. a great tool!


Conditions "and" or "or"

One thing all the documents regarding Conditional Access fail to discuss is if using more than one condition in a policy, are they treated as "and" or "or".  Will the policy run if all of the conditions are met, or if just 1 is met.

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

ID: 625bb1b2-81fd-9804-c0b5-3cd2904decd9
Version Independent ID: e4468b05-200e-24ae-75e9-29fb2b3a6ddc
Content: What are conditions in Azure Active Directory conditional access?
Content Source: articles/active-directory/conditional-access/conditions.md
Service: active-directory
GitHub Login: @MarkusVi
Microsoft Alias: markvi

@mattstached Thanks for your feedback! We will investigate and update as appropriate.

@mattstached It is treated as "and" and the combination of conditions with your access controls represents a conditional access policy.  Also, the two conditions - Users and Cloud Apps are mandatory in a conditional access policy.  Please refer to What is conditional access in Azure Active Directory?

@mattstached We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.

The OP asked if it is AND or OR on the conditions and that was answered in this conversation. But, I am slightly surprised that you considered the matter closed in this conversation rather than the "surely implicit" request to update the actual document as well? Most readers don't ready the Feedback to find the pertinent information: they expect to find it in the original documentation. Don't they?!


using with search

Is it possible to use this with the 'search' api?  I poked around on the code and it seems like it  was designed to support that, but when I attempt to do so it never resolves the search (always 'loading options...')
Here is the markup:
  {{#power-select-with-create
      search=(action "searchVenue")
      selected=venue
      placeholder='Venue'
      onchange=(action "saveRecord")
      oncreate=(action "createRecord")
      as |venue term|
}}
  {{venue.name}}
{{/power-select-with-create}}

and the controller code:
import Ember from 'ember';

export default Ember.Component.extend({
  store: Ember.inject.service(),
  actions: {
    createRecord(term) {
      console.log(term);
    },
    saveRecord(venue) {
      this.model.set('venue', venue);
      this.model.save();
    },
    searchVenue(term) {
      return new Ember.RSVP.Promise((resolve, reject) => {
        Ember.run.debounce(this, this._performSearch, term, resolve, reject, 600);
      });
    }
  },
  _performSearch(term, resolve, reject) {
    if (Ember.isBlank(term)) { return resolve([]); }
    this.get('store').query('venue', {'name__icontains': term})
      .then(data => resolve(data), reject);
  },
});

It is making a network request, which either returns a set (for matches) or an empty JSON API count (for no matches).  Thanks

Please see #18 for an example of using power-select-with-create with search

@dbinetti: Were you able to get this working? I don't see any real difference between your example and the test added in #18 (both components call an action that returns a promise. Maybe I am just missing something. Thanks!

No, i was not.
I'm too new to Ember (and Javascript, for that matter) to write a proper test, but the reason I suspect this is a bug is as follows:
If I keep everything else the same and simply change power-select-with-create  back to power-select, it works.  I never get to the oncreate part because it never gets past "Loading options..."

And i guess i can't reopen this, but following #18 did not work.  Granted I am using Ember-Data and not fixtures so it might be there...

@dbinetti I have reopened this. This should be addressed by #23. Can you test and confirm it working for you?

worked for me
On Wed, Apr 20, 2016 at 4:08 AM, Felix Kiss<EMAIL_ADDRESS>wrote:

@dbinetti https://github.com/dbinetti I have reopened this. This should
be addressed by #23
https://github.com/cibernox/ember-power-select-with-create/pull/23. Can
you test and confirm it working for you?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/cibernox/ember-power-select-with-create/issues/12#issuecomment-212383271


Which method does OR-Tools use for solving VRP ?

Hello,
I'm currently using the OR-Tools to solve VRP instances by following this guide : https://developers.google.com/optimization/routing/vrp.
However, I was wondering which method is used by functions provided to resolve that kind of problem ?
It seems to be an heuristic method but I don't know exactly which one.
Thank you for your help

first solution strategy with various heuristic
https://developers.google.com/optimization/routing/routing_options#first_sol_options
then Local Search [optional]
https://developers.google.com/optimization/routing/routing_options#local_search_options

I didn't even see this section, I feel a bit stupid.
Thanks a lot though !

Maybe it was too hidden...
Feel free to send us feedback, proposal to make it more reachable ;)

Actually it's not hidden at all, after your answer I even noticed there was a link to the answer I was looking for directly on the page I was on 😅
I guess I was just half-asleep...
Great work then !

Apart from the First Solution Heuristic strategy, does OR-Tools use the constraint programming solver to solve VRP?
If not, how are the the custom constraints (added using routing.solver().Add() function) handled by the tool?
I am not sure if the the heuristic first solution strategies would be able to adapt to these custom constraints.

 Thank you!

no, First Solution Strategy is "disabled" if you provide an initial solution, the local search is used to improve over it
step 1: First solution Strategy or initial solution provided
step 2: Guided Local search to improve it until time limit is reach.

Understood. Appreciate you being there for us!

@Mizux Can or-tools handles vrptw with additional customized constraints like general linear constraints?

https://github.com/google/or-tools/issues/1867#issuecomment-1132893555
I have the exact same solution.
I'm adding time constraints (not just time-window constraints), but I was wondering how the solvers adapt to these constraints. Are they defined as a penalty? If so, could you point to the code?
Thank you so much for the great work.

@Mizux Can or-tools handles vrptw with additional customized constraints like general linear constraints?

Basically the routing lib is built on top of the Constraint Solver (CP) thus the code located in ortools/constraint_solver. When you use routing.solver().Add(...) you are basically accessing the underlying integer CP solver.
Constraints added are used to validate the first solution as well as candidate generated by the local search...

Oh I see. So it's running MILP under the hood when new constraints are added. That's why the computation slows down exponentially.
Is Integer CP solver used only for obtaining the first solution?
I'm assuming that the local search is being used after obtaining the first solution (& constraints are used to validate the candidate).


Should Red users be informed of why these are no longer supported?

You placed a file in the repository with the info, is this something cog users should know?

No. At no point did I use Red's functionality to announce these sorts of things. It's not appropriate to change that.

To preempt the anticipated follow-up question: No, public good is not a good enough argument to change my mind here. People are responsible for being aware of what they use. Creators should be responsible when deciding what they choose to create.

I still think you should be telling users. There are functions in the bot for that, it isn't overreaching even if you haven't needed to before.
Most users won't ever see your notice about the cogs not being updated, they will just find out when something eventually breaks. I think you should say why too. It's info people need to be able to make the informed decision you mentioned, and users just won't see it here.
If you still disagree, I won't bring it up again, but I think this is a great opportunity to drop it all with a sense of finality.

If you want to talk about this later, we can. I'd prefer to think about some things first, maybe take a week or two with no notifications at all after all the DMs, comments on things, and even emails I got about this. (which is part of why I don't think it exactly needs to be said, people have seen it already)
I won't make a decision on this right now, but I will make a decision on this. It is time for me to close this all up, but I'm not in any rush. The related reasons won't just change overnight, and the history is in the past where it can only be stated as "here's what happened"
Doing any more than what has been done can wait until I decide if it even needs doing, and if so how and only under those conditions, after it is done properly.

I've closed some open issues so that people don't get the wrong idea about me continuing with entertaining them. I'll handle something with this last issue later as a final state of things.

Since you decided to make it personal and it's starting to look more and more like a smear campaign against the project as a whole I'd like to make a few observations about some of the points you just wrote

While the two quotes above are from direct messages, as it reflects on the project as coming from
the person in charge of the project while speaking about the project,

In case you somehow managed to completely forget it in the past two days, I haven't done any active Red development in the past 2 years, nor I took any action in the organization that would make me "the person in charge". I'm co-owner of the external organization and I'm one of the admins in the Discord server. I don't even take important server-related decisions without consulting the other admins. I guess that "one of the admins" just doesn't sound as good as "the person in charge" when you're trying to further your own agenda though.

"I especially hope not to see this kind of stuff again (which I understand it's on your personal repo but it still has visibility)"

I wonder why you have only posted two sentences and not the whole conversation we've had. Probably because it would not paint me as the one sided "person in charge" that you're trying to pass me off as, but rather as the impartial figure I've been trying to be when you decided to take your leave and shit on everyone on your way out.
So yeah, forgive me if after you left I tried to understand what the hell was going on, took everyone's side of the story in private and tried to put the fires out while staying impartial.
And I do regret not acting sooner, since I did know that there was something going on, but I was hoping that you as a team would finally clear things up and would not need an admin to step in.
I'm not blaming you for leaving. I'm not blaming anyone for what happened. The lack of attempting a discussion, because that's ALL you needed to do to fix this, is on the whole team.
I do stand by my statement, "it wasn't that bad" of a situation. People talk. All the time. Everywhere, from open source to the workplace. It's a reality of life. Sometimes they have a reason, sometimes they're dicks. All you had to do was stop for a second and attempt a conversation with them, try to see their point of view on why they're unhappy about certain things. Hell, you could've asked me and I would've gladly mediated things, peacekeeping is part of our duties.
You stated multiple times that you wanted to leave for your own reasons sooner or later, I really don't get why you decided to leave on such a bad note, blowing out of proportion what seemed to be nothing more than a few watercooler talks. Nobody is out to get you dude. You decided to leave, that's your choice, now have the decency to understand that it's also time to stop.

I'm not here to argue facts, and I'm not going to get into a back and forth. I've spent more energy than I wanted on this already, and have basically been drowning in DMs on discord prior to any of this. All over a decision to quit without informing people of all the details. I post any details at all, and I get issue comments and DMs justifying behavior that led to me quitting. I'm tired, and I don't have energy to spend on this anymore.
What I've posted reflects what has happened and my perspective. I'm not claiming to be some picture of perfection in any of it. But I will not spend more energy on this. I'm disappointed that I had to delete a comment here over this, especially since it was posted about 10 minutes after my status on discord switched to offline. Much as I didn't go using Red's announcement channels to tell the project what happened, I don't need or want any of this in my issue feed.
Leave me alone go make whatever alternative you want. Fork it and move on if you want, I chose a permissive license because people should have that ability.


Validation not working

  Number::make('Office', 'non_billable_doc_hours')->help('(non-billable)')->min(0)->max(1000)->step(0.25)->hideFromIndex(),
            ConditionalContainer::make([
                Text::make('Office Description', 'non_billable_doc_hours_description')->hideFromIndex()->rules('required'),
            ])->if('non_billable_doc_hours != 0'),

The intention here is that if I leave the Office field blank/zero, I can submit my form. If the "Office" field is not zero, then I show a text field and require input. Problem is, the form won't submit even if the "Office Description" is hidden, as I get a validation error stating that it's required.
Am I mistaken, or should the "Office Description" field's validation rules only kick in if the field is shown?

OK I have an update, I figured out after reading #14 that this is due to the != operator. Problem is, that's the only operator that will work with my Number field. I tried using:
->if('non_billable_doc_hours > 0')

In this case, the validation works as expected (field only validated when show), BUT I'm using the step method on my Numberfield and the conditional logic does not kick in until the value is  greater than 1. So 0.25 will not trigger the conditional logic...
Any ideas?

Got it to work. This only works using truthy logic, which is fine but one would expect to be able to evaluate 0.25 > 0 as true.

Ok I think The problem might be that the number is treated as a string, so the comparison 0.25 > 0 doesn't work, will have a look


missing frequencies in Mel FillterBank

Hi,
When I tried to extract fbank features I found missing frequencies. So, I checked the filter bank in your code and found this:

I am curious about why remove values in 2nd and 6th rows? Is there any trick or that's a bug actually?

Hi, i have same problem. Have you fixed it?

Hi, i have same problem. Have you fixed it?
This is because of rounding in the mel.filterbank calculation. Increase NFFT to fix it. In any case, it wont affect the accuracy of derived features to any significant degree.


Array.prototype.at not type guarded

Bug Report

🔎 Search Terms
array at type guard

🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about type guards

⏯ Playground Link

Playground link with relevant code
💻 Code

const arr: Array<{}> = []
let obj: {}

if (arr[0]) {
    obj = arr[0]
    obj = arr.at(0) // error
}

🙁 Actual behavior
arr.at(0) returns {} | undefined
🙂 Expected behavior
arr.at(0) returns {} because arr[0] returns {}

See https://github.com/microsoft/TypeScript/issues/45551


Updating APIs with sequences causes error

Description:
When updating an API with sequences attached to it, APIM throws below error.
ERROR - The name API--v1.0.0_APIproductionEndpoint is already used within the configuration {org.wso2.carbon.endpoint.service.EndpointAdmin}
Affected Product Version:
2.2.0
OS, DB, other environment details and versions:
Distributed gateway environment, fronted by a load balancer

fixed with https://github.com/wso2/carbon-apimgt/pull/5605


Use proper logging

We need to provide a logging infrastructure for the module.

We started to do that


Remove mention to datasets from docs

Minor fix.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


ApplicationDebugger/array-transform: use STATUS kind in CMake message

Description
Use the STATUS kind instead of WARNING for the messages printed from CMake.

fpga errors are known with Ubuntu 20, going to merge and see how it does with the nightly build, I expect no issues


Minor fix filtering images by label

Added test to avoid future regressions
Fix #3163

/approve

LGTM

tested locally and it fixes the issue.
/lgtm


Cluster config validation does not error on a null destination address

Describe the bug
I'm trying to make sure my config is valid on startup instead of later when we try to use it. To that end I setup a simple hosted service that will get the config on start and run the endpoints and clusters through the validator and throw if there's an error. However even with a null destination address I don't get any warnings.
To Reproduce
setup a yarp with a basic route config and this as your cluster config:
"Clusters": {
  "hgWeb": {
    "Destinations": {
      "hgWebServer": {
            "Address": null
      }
    }
  },
}

validation doesn't throw an error, however when you try to use the route you obviously get an exception:
      System.ArgumentNullException: Value cannot be null. (Parameter 'destinationPrefix')
         at Yarp.ReverseProxy.Forwarder.HttpForwarder.SendAsync(HttpContext context, String destinationPrefix, HttpMessageInvoker httpClient, ForwarderReq
uestConfig requestConfig, HttpTransformer transformer, CancellationToken cancellationToken)
         at Yarp.ReverseProxy.Forwarder.ForwarderMiddleware.Invoke(HttpContext context)
         at LexSyncReverseProxy.ProxyKernel.<>c.<<MapSyncProxy>b__1_1>d.MoveNext() in C:\dev\LexBox\backend\SyncReverseProxy\ProxyKernel.cs:line 74
      --- End of stack trace from previous location ---
         at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
         at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
         at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)

Further technical details

version: 2.0.1
windows 11

We try not to be too strict about destnation address validation to avoid blocking customization like UDS. That said, I don't know if there's a valid scenario for 'null' or empty ''.

We would welcome a PR to add this check to the validation logic.


WSL2 - Unable to get any intellisense working for typescript-based project (all of a sudden)

Does this issue occur when all extensions are disabled?: YES!

VS Code Version: 1.77.1 (user setup)
OS Version: Windows 11

Steps to Reproduce:
I'm using Windows 11 with WSL2 enabled. VSCode is installed on Windows, I mostly have ESLint, Prettier and Typescript Nightly Build extensions, but I tried disabling all my extensions and still run into the issue.
All of a sudden I no longer have intellisense, auto-imports not working, react props suggestions based on types no longer working. The only thing working is highlighting :)
I tried updating VSCode but I'm at the latest version, tried reinstalling it, downgraded TypeScript version, running out of solutions. Anyone know what it could be?
Important: No matter if I run vscode from WSL or from Windows, I still get the same end result

Did you perhaps disable the building JS/TS extension? Search @builtin typescript in the extensions vide to check this

Hey, try downgrading vscode. 1.77 broke dev containers apparently. https://github.com/microsoft/vscode/issues/179366

@mjbvz one disabled, one not installed

@ferminarellanoSPF thanks for the tip but it doesn't work for me. I tried to 1.70.0 and 1.70.2 but no luck

@mjbvz this all happened all of a sudden, I didn't upgrade/install any additional extension in the past days. No specific Windows/WSL update either


[Table]: MVP Epic for shared table component

Full MVP of Table Epic scope documented here: https://ibm.box.com/s/s7g41diabavblm2ulk7qjt0nkuhv99sc

Here's the invision prototype..
https://ibm.invisionapp.com/share/9UNYG7TT6FM#/screens/318932231_Tables


[MINOR][BUILD] Add distdir to  fileset ofmaven-clean-plugin

What changes were proposed in this pull request?
This pr add add dist to  fileset ofmaven-clean-plugin to make mvn clean can delete the dist dir which created by dev/make-distribution.sh.
Why are the changes needed?
dev/make-distribution.sh will create a dist dir but no one cleaned it up.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Local test to confirm that dist dir can be cleaned

or should we add m -rf "$DISTDIR" after line 291?
https://github.com/apache/spark/blob/790a697f81ef4af8c380a4d4c1690e7737d6c7ed/dev/make-distribution.sh#L284-L292

Merged to master

thanks @srowen


python310Packages.pysigma: 0.5.1 -> 0.5.2

Description of changes
https://github.com/SigmaHQ/pySigma/releases/tag/v0.5.2

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 170891 run on x86_64-linux 1

13 packages built:

python310Packages.pysigma
python310Packages.pysigma-backend-insightidr
python310Packages.pysigma-backend-splunk
python310Packages.pysigma-pipeline-crowdstrike
python310Packages.pysigma-pipeline-sysmon
python310Packages.pysigma-pipeline-windows
python39Packages.pysigma
python39Packages.pysigma-backend-insightidr
python39Packages.pysigma-backend-splunk
python39Packages.pysigma-pipeline-crowdstrike
python39Packages.pysigma-pipeline-sysmon
python39Packages.pysigma-pipeline-windows
sigma-cli


[Timezone Converter] Add UTC time convention option

Extension
https://www.raycast.com/joao.mainka/raycast-timezone-converter
Description
Provides GMT only
Who will benefit from this feature?
Everyone
Anything else?
No response

What do you mean by that? how should this be "added"? the extension says "GMT+3" for example, just serves exactly the same purpose as "UTC+3".

Greenwich Mean Time (GMT) is often interchanged with UTC.
Although GMT and UTC share the same current time in practice, there is a basic difference between the two:
GMT is a time zone officially used in some European and African countries. The time can be displayed using both the 24-hour format (0 - 24) or the 12-hour format (1 - 12 am/pm).
UTC is not a time zone, but a time standard that is the basis for civil time and time zones worldwide. This means that no country or territory officially uses UTC as a local time.

Source: https://www.timeanddate.com/time/gmt-utc-time.html


when closed all tab terminal

Please provide more information on how you produced this 😊

I think this is #1380


[DOC] Does RAPIDS Accelerator provide ML plugin to accelerate SPARK ML via cuml of rapids?

hi,
It seems that user needs plugins so that NVIDIA Rapids could be combined with GPU resource to accelerate Spark Applications.
And I found that now this project provide SQLPlugin and SPARK_CUDF_JAR, so does this project plan to provide MLPlugin to accelerate Spark ML Application? Thx.

After I added spark.executor.resource.gpu.amount config option,  I successfully runned a Spark LR Application. It seems there is no need to provide ML plugin, right?

The RAPIDS Accelerator for Apache Spark currently accelerates DataFrame operations that are often associated with ETL processing (i.e.: the data cleanup/preparation steps prior to ML training).  So yes, it can accelerate ML applications as-is, but it does not accelerate Spark's mllib operations directly, rather only the standard DataFrame operations.  See the list of operations supported for more details on what Spark DataFrame operations the RAPIDS Accelerator places on the GPU.
We have discussed the possibility of targeting Spark's mllib more directly than just the ETL operations covered by the existing plugin, but it is not something we are actively working on at this time.

After I added spark.executor.resource.gpu.amount config option, I successfully runned a Spark LR Application with gpu. It seems there is no need to provide ML plugin, right?

Hello,may I ask you a question. When you submit LR Applicaton to Spark GPU to run, can you also see the GPU being used through nvidia-smi?
I can see that the GPU is called through the webUI interface, but when I use nvidia-smi to check it, I find that the GPU is not really used.
My detailed problem is described in #621 ，would you like to help me? Haha, I am also in Hangzhou.

The RAPIDS Accelerator for Apache Spark currently accelerates DataFrame operations that are often associated with ETL processing (i.e.: the data cleanup/preparation steps prior to ML training). So yes, it can accelerate ML applications as-is, but it does not accelerate Spark's mllib operations directly, rather only the standard DataFrame operations. See the list of operations supported for more details on what Spark DataFrame operations the RAPIDS Accelerator places on the GPU.
We have discussed the possibility of targeting Spark's mllib more directly than just the ETL operations covered by the existing plugin, but it is not something we are actively working on at this time.

Hi, I want to know whether you will achieve the acceleration of spark mllib on the GPU in the future, or whether it is already in progress. I know that ND4J library in DL4J(https://github.com/eclipse/deeplearning4j) implements many mathematical operations, which can be calculated by GPU. So is it possible to use java to implement some ML algorithms through this library to achieve acceleration.

@YeahNew
It is totally possible to develop java bindings for cuml and expose them through Apache Spark compatible APIs. The real question is what benefit would that give an end user?  Spark already has integration with a number of DL/ML libraries and most of them are python based.  In fact we have seen a real shift towards python as the language of choice for DL/ML workloads.
As was stated in your other question https://github.com/NVIDIA/spark-rapids/issues/1230#issuecomment-736952673 there are already ways to get access to these algorithms through Spark. It would be good if you could try that out and then comment on #1230 if they work for you, and what pain points you have for your particular use case.  We can then look at those pain points and decide if we need to work on cleaning up this integration or try and go the rout of producing java APIs for doing these algorithms.

@YeahNew
It is totally possible to develop java bindings for cuml and expose them through Apache Spark compatible APIs. The real question is what benefit would that give an end user? Spark already has integration with a number of DL/ML libraries and most of them are python based. In fact we have seen a real shift towards python as the language of choice for DL/ML workloads.
As was stated in your other question #1230 (comment) there are already ways to get access to these algorithms through Spark. It would be good if you could try that out and then comment on #1230 if they work for you, and what pain points you have for your particular use case. We can then look at those pain points and decide if we need to work on cleaning up this integration or try and go the rout of producing java APIs for doing these algorithms.

In fact, I want to implement a logistics regression through java, and then submit it to spark to run on the GPU.


ci: remove markdown-linter as prerequisite to version bump

Part of https://github.com/celestiaorg/celestia-app/issues/2749
The markdown-linter job contains markdown-link-check which is super flakey. If it fails on a release then the pre-built binaries won't be generated and attached to the release.

I want to forward port this to main.


Access to module from nodejs

Is it possible to define new services or factories directly from the "nodejs context" ? I would like to access to node modules to embed some of theses into services

Hi @daweedm,
It's been a while, but IIRC you can pass functions in the angularModules array that get injected in the provider phase while constructing an injector, which you can then use to register services into the injector. Something like this:
var angularMiddlewares = angularserver.Server({
    template: template,
    serverScripts: [
        'angular.js',
        'angular-route.js',
        'yourapp.js'
    ],
    clientScripts: [
        '/static/angular.js',
        '/static/angular-route.js',
        '/static/yourapp.js',
        '/static/clientonly.js'
    ],
    angularModules: [
        function ($provide) {
            $provide.factory('example', function () {
              // ...
            });
        },
        'yourapp'
    ]
});

Since this function is defined within a NodeJS module, it can access the local variables available in that module, which includes the variables containing the results of any require(...) calls that you can use to bind to NodeJS modules.

Thank you very much!


Add onnx as a submodule

Adding onnx as third_party for better integration, especially on C++ level.
ONNX version is pinned at https://github.com/onnx/onnx/commit/c894dd753eab0d14c8a512dd21501ac932dc8040.

Maybe also change to install the onnx package from submodule instead of from github? Note since we are going to bump the onnx version quite often, onnx installation should not be embed in the docker images.

Makes sense. I'll do that!

After some discussion, I'll do the pip install change in a separate PR to keep the change localized.


Require gasPrice field for both legacy and EIP-1559 transactions

What was wrong?
As discussed in ACD 117, a lot of tooling relies on the gasPrice field of the Transaction object. Although this field doesn't make much sense with EIP-1559 transactions, for the sake of backwards compatibility we should continue supporting it. Please note that this field is DEPRECATED for EIP-1559 transactions, so developers should immediately begin transitioning to using the effectiveGasPrice field on the Receipt object.
How was it fixed?
Return the effectiveGasPrice as the gasPrice field for EIP-1559 transactions. If the transaction has not yet been mined, clients should return the maxFeeCapPerGas value as gasPrice.
Cute Animal Picture

Please note, after the London hard fork we'll be coordinating JSON-RPC spec changes over here: https://github.com/ethereum/eth1.0-apis

@timbeiko before I had write access you consistently reviewed and merged the JSON-RPC changes. Let me know if you want to continue doing that or if you prefer I just maintain it.

@lightclient happy for you to merge, but it'd be good to at least get a :+1: from another client dev IMO. Even if they can't actually "Review" on GH.

I'm generally against this PR.  I suspect it is going to cause more problems than it solves.
By omitting the field entirely, tools will fail but they will fail fast and hard and cleanly and the fix becomes immediately obvious.  By including the filed but having it mean two different things depending on context, tools are likely to experience weird and hard to debug bugs that aren't easy to reproduce and whose behavior changes depending on when you look at things.  This means you'll have a long tail of bugs that will take a long time to get fixed rather than a short burst of tooling bugs that are rapidly fixed.
I think a preferable option for temporary backward compatibility would be to set gasPrice to the transaction's maxFeePerGas.  This is a reasonable value that has a well defined meaning and it doesn't change based on the lifecycle of the transaction.  If we go this route, we should still deprecate and EOL this field with a clear EOL date, but at least any bugs that come up can much more easily be fixed.

Any updates on this?
We released our (opt-in) London support in Hardhat yesterday, which includes gasPrice for EIP-1559 txs, as described here. We'd be fine with removing it if this PR is not accepted. We'd rather do that before the Mainnet activation, as we'll make London the default hardfork in Hardhat at the same time, and removing it later would be a larger breaking change.

What was the decision on ACD @timbeiko? Are we waiting for the infra call this week?

@lightclient we agreed to keep the field in 1559-style transactions as well, have it return maxFeePerGas before being mined and the effectiveGasPrice after. We will deprecate this field right after the upgrade following London.

@timbeiko That wasn't my takeaway from the meeting... I thought the agreement was to wait and talk to dapp developers in the upcoming dapp integration call and then make a decision after that?  Some discussions in the Ethereum R&D Discord seem to imply that at least some dapp developers do want something that won't break everything instantly (so they want a gasPrice field) but they are concerned with the current Geth solution of including a value that changes when a block is mined and a reorg happens.

@MicahZoltu now that you mention it, we did saw we'd bring this up then! My bad. It's on the agenda for this Friday.

Per the EIP-1559 coordination call #11, tooling devs do prefer the gas price to continue being an element on the transaction object. They weren't against deprecation later on, but no clear path to that was agreed upon on the call.
Since this has been outstanding for about a month and there has been no unresolved push back, I will merge this.


Create Data Patterns header

This header will purely be the SC Labs header (#83) and the GC header (#84). This should wait until #83 and #84 are complete.

Utilizing _app.js for the repeated header components. no need to make an overall header that imports the 2 components.


antsMotionCorr: center of rotation is not written

I see that, for some reason, the affine matrices are not written: https://github.com/stnava/ANTs/blob/master/Examples/antsMotionCorr.cxx#L1078
Is there a reason for not writing them?
The problem is that the center of rotation is lost. Even though it is set on the center of masses, computing it with a different software will give slightly different values (also there is the orientation convention issue). This is an example for an image I just used:
python: -3.5478249 , -14.09039795,   0.74709859
ANTs:   3.5478134155273438 14.090387344360352 0.7471063733100891

To make antsMotionCorr reproducible, the FixedParameters of the transform should be written out somewhere. A use case (actually my problem): you want to apply the motion correction but using LanczosWindowedSinc interpolation. This is currently (AFAIK) not possible, since there is no way to feed the transforms into antsApplyTransforms. Am I right on this?
If I submit a PR, will it be considered anytime soon?
Are there any preferences on whether adding a flag to output the itk matrices or just appending the fixed parameters as MoCo parameters in the csv file?
Thanks very much

@satra sounds good to me if @oesteban wants to submit a PR.  I'd look at it but, unfortunately, antsMotionCorr is one piece of ANTs code that I don't think I've ever touched.


refactor: Create constant for hello topic.

It sets hello topic as constant.
@rishig please have a look.

@sinwar is there an issue that this addresses?  And is it intended to be tagged for translation or not?

No, it's not addressing any issue. @rishig suggested me to refactor it out.

OK.  In that case, it seems like it should be tagged for translation with _() in the place you put it.

Ahh! ok, I'll update now. :)

@timabbott updated the PR :) .

Tim, thoughts on what this should be called? Maybe NOTIFICATIONS_TOPIC?
I'm thinking this topic will eventually get things like the initial welcome message, changes to the stream description, people joining and leaving, changes to the privacy (e.g. "this stream is now publicly archived", or "the retention policy for this stream is now 14 days" or whatever).
Also, translating this seems like a lot of work?

@timabbott can you please review it?

Closing as I don't think this refactor is still desired.


viewPortFeatures returns no data at a certain zoom level

Hi,
I think that this fix: #705, has caused that viewPortFeatures return 0 features at a certain zoom level

Could you please have a look?
Thanks!

Hi,
I couldn't reproduce the problem with the code provided on https://github.com/CartoDB/carto-vl/issues/677 Could you give me more details or, preferably, some code to test this?

Hi @davidmanzanares,
I've tried to reproduce #677 too and I couldn't. I have reviewed my source code and I've just found a bug that was causing the problem, so I'm going to close this issue
Thanks!


Lottie images not showing up in IOS

Hey everyone,
I have an animation that includes a scrolling background image, but I can't get it to show up on IOS.
I followed the steps for android and it worked great. I created my lottie view and put my json in my react native project/assets/animations folder and put the image folder in android\app\src\main\assets\animations.
<LottieView
              ref={animation => {
                this.animation = animation;
              }}
              source={require('../../assets/animations/anim.json')}
              imageAssetsFolder={'animations/images'}
              resizeMode = 'cover'
      />

How do I get this to work for IOS? Where do I put the image folder?
I followed the documentation here: https://github.com/lottie-react-native/lottie-react-native/blob/master/docs/api.md
Which said to add the images to the Resource folder in the XCode project.
My project didn't have a Resources folder by default, so I added one in and then added the image into it but still no luck.
The animation plays but it only shows the vector graphics which are built in the json file which is in the react native project/assets/animations folder.
Using:
"lottie-ios": "3.2.3",
"lottie-react-native": "^4.0.3",
"react-native": "0.63.4",
Any help is appreciated!

Hello ,I have the same question. Can you give me some photos to show how to do it? Thank you very much!


Load negative waveform in TransmitGUI

If I upload a negative impulse response waveform with an amplitude of 1 into the TransmitGUI, the voltage amplitude gives 0. If I want to change the amplitude to for example 10, the voltage signal becomes Nan and the mechanical index becomes Inf. To fix it, I changed line 22 in the function get_voltage_signal.m from Transmit.VoltageSignal = V*(Transmit.VoltageAmplitude/max(V)); to Transmit.VoltageSignal = V*(Transmit.VoltageAmplitude/max(abs(V))); and in TransmitGUI.LoadWaveformButton I replaced line 479: app.Transmit.VoltaeAmplitude = max(CustomSignal.V) by app.Transmit.VoltaeAmplitude = max(abs(CustomSignal.V)).

Hi Fleur, thanks for your feedback! I will implement your solution during the next code revision.


Permanent deletion of soft-deleted blobs (GDPR)

We considered using the new Azure Blob Storage - Soft Delete feature - as a backup solution and safety precaution for accidental blob deletions caused by potential code bugs in our (multitenant) application.
We would like to set the retention as high as possible from a safety perspective, but need to set it as low as possible from a GDPR compliance perspective; since we need to remove all PII for resigning customers - this also include soft deleted blobs.
Since there seem to be no way to permanently delete soft deleted blobs (before they are automatically removed by the retention policy), we decided we could not use it, and we have made our own programmatic soft delete solution instead.
A method to permanently delete blobs that are already soft deleted is what is missing, and I expect many other Azure Blob customers to face the same scenario, dilemma and come to the same conclusion as we did.
Would it possible to add this?

@josundt thanks for the thoughtful feedback, we really appreciate it.
I think the best way to surface your feedback where it will be more visible, and the community can upvote it, is to create an item here:
https://feedback.azure.com/forums/217298-storage
We are closing this issue as this repository is for focused documentation feedback.  Leave me a link to your feedback item and I'll upvote it.

I have found a way to permanently remove the soft-deleted blobs. first you have to disable the soft-deleted option after that you can select the Blob Containers via Microsoft Azure Storage Explorer then you choose Active and deleted blobs then you first have to undelete the deleted blobs and then remove it again then it is permanently deleted


Neardrop doesn't work on Macos 14.2.1

Prior to updating my device, neardrop was working perfectly, upon updating my Macbook Air M1 is no longer being discovered, any suggesdtins or trobleshooting guidelines will be appreciated

Started working after restarting my device


ARM support

[x] check if the installer build on M1 works on M2 -> “protostar” can’t be opened because Apple cannot check it for malicious software.

With Apple Silicon M1 architecture, macOS introduced mandatory code signing, even if ad-hoc (i.e., without actual code-signing identity). This means that arm64 arch slices (but possibly also x86_64 ones, especially in universal2 binaries) in collected binaries always come with signature.

https://pyinstaller.org/en/stable/feature-notes.html#macos-multi-arch-support

ARM
Intel

33.92 s
37.81 s

33.85 s
38.27 s

~12% performance drop by using Rosetta

The overhead caused by signing application, adapting the pipeline, increased maintenance cost is not worth the effort in the near future.


add piwik API tracking

adds tracking for all API requests
include additional info via custom variables
no tracking when dnt header is sent
update readme with required configuration and environment variables

closes #11

Done!


A zero length file is being uploaded

I am trying to upload to a PRESIGNED S3 URL:
      $upload.http({
        url: upload_url,
        file: $scope.files,
        method: 'PUT',
        headers: {
          'Content-Type': response.data.data['content-type']
        }
      })
      .then(function (response) {
        console.log(response);
      })

That's my code, where the upload_url is the presigned URL generated server side. My view is as simple as it gets:
            <button class="btn btn-success" ng-file-select ng-model="files">Select File</button>

But when it uploads, it sends 0 in the Content-Length header property.

Change it to  file: $scope.files[0],


Best way to configure interrupt handlers

Hi,
My app has several diferent configurations (set of pins, constants, etc) that I control via cargo features and conditional compilation. I've tried to do the same for interrupt handlers with cfg_attr but it didn't work:

    #[cfg_attr(configuration = "configuration_dev",
               interrupt(binds=EXTI0,
                         resources = [EXTIH, AHRS, LOG, DEBUG_PIN, TELE]))]
    #[cfg_attr(configuration = "configuration_prod",
               interrupt(binds=EXTI15_10,
                         resources = [EXTIH, AHRS, LOG, DEBUG_PIN, TELE]))]
    fn handle_int(ctx: handle_int::Context) {
        let _ = ctx.resources.DEBUG_PIN.set_high();
        ...
    }

error: this item must live outside the `#[app]` module
   --> src/main.rs:138:5
    |
138 |     #[cfg_attr(configuration = "configuration_dev",
    |     ^

error: aborting due to previous error

Then I've tried to create two interrupt handlers with identical bodies (with the idea to abstract that into free function), but that didn't work either: as I have no way to prove to rtfm-macros those two interrupt handlers can't run at the same, it generates code with locks (I guess), so I get errors like:
error[E0596]: cannot borrow `ctx.resources.DEBUG_PIN` as mutable, as `ctx` is not declared as mutable
   --> src/main.rs:141:17
    |
140 |     fn handle_mpu_0(ctx: handle_mpu_0::Context) {
    |                     --- help: consider changing this to be mutable: `mut ctx`
141 |         let _ = ctx.resources.DEBUG_PIN.set_high();
    |                 ^^^^^^^^^^^^^^^^^^^^^^^ cannot borrow as mutable

error[E0596]: cannot borrow `ctx.resources.TELE` as mutable, as `ctx` is not declared as mutable
   --> src/main.rs:144:30
    |
140 |     fn handle_int_0(ctx: handle_int_0::Context) {
    |                     --- help: consider changing this to be mutable: `mut ctx`
...
144 |         let mut maybe_tele = ctx.resources.TELE.take();
    |                              ^^^^^^^^^^^^^^^^^^ cannot borrow as mutable

What is the best way for conditional compilation of interrupt handers then?
Thanks.

@japaric is it possible to implement smth like https://github.com/japaric/cortex-m-rtfm/issues/110 but for tasks/interrupts?
Or maybe do smth like this

#interrupt[binds={fea1 => INT1, fea2 => INT2}]
fn foo() {}

to perform analysis, and then forward #[cfg(fea1)] to fn INT1, etc.

Made it to work by an ugly hack:

#[app(device = hal::pac)]
const APP: () = {
    // skip ..

    #[interrupt(binds=EXTI15_10,
                resources = [EXTIH, AHRS, LOG, DEBUG_PIN, TELE])]
    fn handle_mpu_prod(ctx: handle_mpu_prod::Context) {
        #[cfg(configuration = "configuration_prod")]
        handle_mpu(ctx);
    }

    #[interrupt(binds=EXTI0,
                resources = [EXTIH, AHRS, LOG, DEBUG_PIN, TELE])]
    fn handle_mpu_dev(ctx: handle_mpu_dev::Context) {
        #[cfg(configuration = "configuration_dev")]
        handle_mpu(ctx);
    }
}

#[cfg(configuration = "configuration_prod")]
type CtxType<'a> = handle_mpu_prod::Context<'a>;
#[cfg(configuration = "configuration_dev")]
type CtxType<'a> = handle_mpu_dev::Context<'a>;
fn handle_mpu(mut ctx: CtxType) {
    let _ = ctx.resources.DEBUG_PIN.set_high();
   // skip ..
}

but this solution is error prone, so I think it would be nice if rtfm provided a way to configure that.

is it possible to implement smth like #110 but for tasks/interrupts?

You can cfg resources and entire software tasks.
#[cfg(something)]
static mut X: .. = ..;

#[cfg(something_else)]
#[task(..)]
fn a(..) { .. }

If you want to change any of the arguments of a #[task], like the resources list or its priority, then you have to cfg the whole rtfm::app spec.
#[cfg(something)]
#[rtfm::app(..)]
const APP: () = {
    #[task(priority = 2, resources = [A, B])]
    fn a(..) { .. }

    // ..
};

#[cfg(not(something))]
#[rtfm::app(..)]
const APP: () = {
    #[task(priority = 3, resources = [A, B, C])]
    fn a(..) { .. }

    // ..
};

This is necessary because the ceiling analysis is not aware of cfgs.
If the only thing you want to change is which interrupts a task binds to you can write your own device module.
// NOTE untested
mod my_bindings {
    use bare_metal::Nr;

    pub use pac::Peripherals;
    pub use pac::NVIC_PRIO_BITS;

    // maps interrupt names to their "numbers" (position in vector table)
    #[repr(u8)]
    #[derive(Clone, Copy)]
    pub enum Interrupt {
        #[cfg(something)]
        MY_EXTI = 10,
        #[cfg(not(something))]
        MY_EXTI = 8,

        // .. all other interrupts that you'll use ..
    }

    impl Nr for Interrupt {
        fn nr(&self) -> u8 {
            *self as u8
        }
    }
}

// NOTE: `my_bindings` instead of `pac`
#[rtfm::app(device = my_bindings)]
const APP: () = {
    #[interrupt(binds = MY_EXTI)]
    fn a(..) { .. }
};

However, note that what RTFM expects of the device module is currently only specified as "must be a svd2rust generated crate" so what you see above may not be enough in a new patch release --  that is your app crate could break in a new patch release. We'll likely fully specify the contents of device module in the next minor version, though, as this is required for multi-core support.

Or maybe do smth like this

I don't think I personally want to go down this route as people might expect being able to use cfgs in all arguments, which would make the ceiling analysis rather difficult to implement and test for correctness.

@japaric Thanks, proviging custom device looks like reasonable solutions (as I can put other configuration there as well). I think it would be nice to document these patterns somewhere.

Although, using custom interrupt names breaks interrupt handling, as rtfm will translate
#[task(binds=MY_EXTI)]
fn handle()

into
#[no_mangle]
fn MY_EXTI() {
}

And then interrupt will be handled by default handler instead.

This discussion seems finished.

There is still no recommended solution, though.

Okey, reopening

I tried to use cfg_attr, like this:
   #[cfg_attr(configuration = "conf2",
               task(binds=EXTI15_10,
                    resources = [...]))]
    #[cfg_attr(configuration = "conf1",
               task(binds=EXTI0,
                    resources = [...]))]
    fn handle_mpu(ctx: handle_mpu::Context) {
      // code
    }

But then I can't even look and the cargo expand output:
error: this item must live outside the `#[app]` module
   --> src/main.rs:244:8
    |
244 |     fn handle_mpu(ctx: handle_mpu::Context) {
    |        ^^^^^^^^^^^^^^^^

So I have to declare two tasks and and use #[cfg] to leave one of them empty. This, however, prevents me from usin task_locals, because, well, rtic is not able to check function bodies, I guess.
Is there a way to define only one task depending on configuration? Is that anywhere in the roadmap? Maybe someone can give a pointers/direction on how to implement cfg support?

The issue with cfg support is that the order of attribute evaluation in rust is undefined, this causes large problems with the analysis because we cannot know which is active. So for now the user needs to work around until this is fixed in proc macros.

Is there open issue I can watch to track proc-macro fix?
Also, I guess, it should be possible to make rtic-syntax cfg aware?

@korken89 I don't think attribute evaluation plays a role here. When we encounter #[task] we are inside rtic-app macro, so it's up to rtic to decide how to process token stream.
I don't think rust can go inside an item first to expand cfg, and then invoke rtic-app macro.
For codegen it would be enough to add cfg argument to task attribute and then forward it to all generated items, but I'm not sure how to modify analysis part to account for cfg.

Attribute evalution plays a key role here, as far as I know we cannot evaluate the cfgs at compile time (inside the proc-macro), thus we cannot take the cfgs into account for the analysis.

@perlindgren but if only binds are configurable, analysis should be fine, right?

Yes, in some special cases, where the analysis and codegen does not depend on the evaluation of the attribute. But its hard to foresee what kind of problems might arise due to cfgs in the general case. Introducing additional syntax in RTIC to make some cfgs possible might work, but I rather wait and hope that we can find a better way.

Btw, I patched rtic-syntax and cortex-m-rtic to support configurable binds:
    #[task(binds=[("configuration_prod", EXTI15_10),
                  ("configuration_dev", EXTI0)],
           resources = [extih, ahrs, log, debug_pin,
                        channel, control, state, motors])]
    fn handle_mpu(mut ctx: handle_mpu::Context) {
    }

code above will generate something like:
    #[allow(non_snake_case)]
    #[no_mangle]
    #[cfg(configuration = "configuration_dev")]
    unsafe fn EXTI0() {
        const PRIORITY: u8 = 1u8;
        rtic::export::run(PRIORITY, || {
            crate::app::handle_mpu(handle_mpu::Context::new(&rtic::export::Priority::new(
                PRIORITY,
            )))
        });
    }

    #[allow(non_snake_case)]
    #[no_mangle]
    #[cfg(configuration = "configuration_prod")]
    unsafe fn EXTI15_10() {
        const PRIORITY: u8 = 1u8;
        rtic::export::run(PRIORITY, || {
            crate::app::handle_mpu(handle_mpu::Context::new(&rtic::export::Priority::new(
                PRIORITY,
            )))
        });
    }

(and similar bits, in pre-init).
Current syntax is also supported and no cfg guards are generated in this case.
https://github.com/copterust/rtic-syntax/tree/feature-configurable-binds
https://github.com/copterust/cortex-m-rtic/tree/feature-configurable-binds

So I also just ran into this same issue. I'm trying to conditionally swap resources/interrupts based on features. Judging from the above conversation this is not possible with RTIC. Is that correct?

+1
This would be a great feature to have. Simplest case: different revisions of the board might require some pin shuffling, so interrupt handlers change.

Has any work on this been done? I need a way to create tasks based on features

No decision taken yet.
Would the approach suggested by @little-arhat be sufficient to support you use case @franeklubi ?
/Per

I've achieved my desired results by:

cfging whole task body if needed
Not configuring interrupts for particular tasks
Not spawning particular tasks
Since you can't cfg-out resources, because it complains the type does not exist - instead of importing - creating a type alias to unit (), effectively making the resource unusable.

Hope that may help someone!

Hello!
@perlindgren, what is the current stage of this, post v1?
Should I attempt to update my patch for v1 and submit PR?

Hi.
Its been a while since looking at this, the point would be just cfg to bind different handlers, not making tasks/resourrces optional or?

@perlindgren the idea is to have task bound to different interrupts conditionally:
https://github.com/rtic-rs/cortex-m-rtic/issues/197#issue-454672801 — example problem
https://github.com/rtic-rs/cortex-m-rtic/issues/197#issuecomment-784546762 — example solution
cfg-whole-task doesn't work:
//! examples/cfg-whole-task.rs

#![deny(unsafe_code)]
#![deny(warnings)]
#![no_main]
#![no_std]

use panic_semihosting as _;

#[rtic::app(device = lm3s6965,  dispatchers = [SSI0, QEI0])]
mod app {
    use cortex_m_semihosting::debug;

    #[shared]
    struct Shared {
        count: u32,
        #[cfg(never)]
        unused: u32,
    }

    #[local]
    struct Local {}

    #[init]
    fn init(_: init::Context) -> (Shared, Local, init::Monotonics) {
        (
            Shared {
                count: 0,
            },
            Local {},
            init::Monotonics(),
        )
    }

    #[idle]
    fn idle(_: idle::Context) -> ! {
        debug::exit(debug::EXIT_SUCCESS); // Exit QEMU simulator

        loop {
            cortex_m::asm::nop();
        }
    }

    #[cfg(configuration = "configuration_dev")]
    #[task(binds = GPIOA, shared = [count])]
    fn foo_a(mut _cx: foo_a::Context) {
        _cx.shared.count.lock(|count| *count += 10);
    }

    #[cfg(configuration = "configuration_prod")]
    #[task(binds = GPIOB, shared = [count])]
    fn foo_b(mut _cx: foo_b::Context) {
        _cx.shared.count.lock(|count| *count += 10);
    }
}

error[E0412]: cannot find type `Context` in module `foo_a`
  --> examples/cfg-whole-task.rs:10:1
   |
10 | #[rtic::app(device = lm3s6965,  dispatchers = [SSI0, QEI0])]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `foo_a`
   |
   = note: this error originates in the attribute macro `rtic::app` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider importing one of these items
   |
12 |     use core::task::Context;
   |
12 |     use crate::app::idle::Context;
   |
12 |     use crate::app::init::Context;
   |
help: if you import `Context`, refer to it directly
   |
10 - #[rtic::app(device = lm3s6965,  dispatchers = [SSI0, QEI0])]
   |

error[E0412]: cannot find type `Context` in module `foo_b`
  --> examples/cfg-whole-task.rs:10:1
   |
10 | #[rtic::app(device = lm3s6965,  dispatchers = [SSI0, QEI0])]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `foo_b`
   |
   = note: this error originates in the attribute macro `rtic::app` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider importing one of these items
   |
12 |     use core::task::Context;
   |
12 |     use crate::app::idle::Context;
   |
12 |     use crate::app::init::Context;
   |
help: if you import `Context`, refer to it directly
   |
10 - #[rtic::app(device = lm3s6965,  dispatchers = [SSI0, QEI0])]

@perlindgren ^ any comments on the above?

Hello! @AfoHT , @korken89  — any recommendations how to solve above issue with rtic 1 or 2? Thank you!


Add List Task command

As a user, I can see all my task.

list all/ -> all task
list done/ -> completed task
list -> all uncompleted task


feat: vscode support

Might be nice to have:

autocomplete with new mdv syntax
syntax highlighting

Closing this one for now. Auto complete should be tracked in Nuxt Content or directly into Studio :)


Refactor service slider component

This purpose of this refactor was to fix the flakey app service scale acceptance test.  The cause of the intermittent failure is due to the race condition present in showActionButtons computed.  That computed attempted to verify that the slider has changed even though the initializeContainerSizecomputed actually updates the slider value to match--thus making showActionButtons extremely unreliable.  This PR removes the initializeContainerSize computed property and replaces many of the manual computeds with built-in macros.
This also removes all the visibility tricks and instead just doesn't render the buttons if they don't need to be there.
--
cc @krallin

Thanks for this @sandersonet ! : )


Update 11-console.md

oy joey, the bottom of this page winds up with a next button. since it's the last page that is confusing (a tiny little bit)

Thanks.
I'm leaving this PR open (basically, instead of an issue).


Contribute to CodeIN Community's Website

Description

Fork the Repo and Start creating Issues.
GitHub Repository: https://github.com/SauravMukherjee44/CodeIN-Community-Website

👀 Have you spent some time to check if this issue has been raised before?

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

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

@SauravMukherjee44  I did alot of styling changes to the home Page of your new Website. Please have a look and thank you you have made such good repo it is boosting my confidence in open source contribution

please assign this to me @SauravMukherjee44

Do fork this repository  https://github.com/SauravMukherjee44/CodeIN-Community-Website and create issues. I will assign you.

Is this issue still open?

I want to work on this issue under JWOC


AutoReplace: only substitute the first regex match

The text replacement only happens for the first match.
For example, (/a/, "") only substitute the first letter a in the excerpt, not every instance of a.

try to use (/a/g, "")


Change parsing of release versions

Simplifies the parsing of a version to determine the "display name". It
didn't really need a regex, and the regex made it hard to match on
"release train" names (like in Spring Data or Spring Cloud)
Fixes gh-562

This is now live!
Thanks for this PR.


Public roadmap

Currently the roadmap for json-schema-form is private for Remote only. We plan to move it to GitHub soon.

Related issue: https://github.com/remoteoss/json-schema-form/issues/72


Refresh is needed to for Deploy to Web App to show new app service

Connect the extension to an azure subscription, open the subscription you are going to use
Create a new App Service in the subscription
Select a node project and try to deploy to the newly created App Service using the "Deploy to Web App" context menu.
Select the subscription in the listbox that appears

Expected:
The newly created App Service appears in the listbox
Actual:
The newly created App Service is not on the listbox. After clicking on the refresh button of the  Azure App Service widget the newly created App service does appear.

This has been fixed on master and will be released within the next week


Revert sliding to locked move direction

Current one is just silly. As you can take any direction while sliding.

Done.


Indent blank line doesn't accept to change the color

Description
In the configurations says that we can change the color of the indent blank line but seems like is not working, I put lavender in scope_color but it stuck in a blue color

Neovim version
NVIM v0.9.4
Build type: Release
LuaJIT 2.1.1699180677

Terminal and multiplexer
kitty 0.27.1
Catppuccin version / branch / rev
branch main
Steps to reproduce
Install lunarvim, indent_blankline and active the option for the highlight the indentlines, and try to install catppuccin
Expected behavior
change the color of the indent blank line
Actual behavior
the color stuck in blue only
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "catppuccin/nvim",
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("catppuccin")
-- add anything else here

Manage to solve it using:

custom_highlights = function(colors)
    return {
      IndentBlanklineContextChar = { fg = colors.lavender },
      IndentBlanklineContextStart = { sp = colors.lavender, style = { "underline" } }
    }
  end,

indent-blankline integration supports only v3 highlight groups, update your plugin to the latest version :)


Wrench to drop the frame

Describe the feature you'd like
The wrench ( like for the pipes) should drop the frames of the destroyer
Describe alternatives you've considered
No response
Additional context
No response

PR created https://github.com/Rearth/Oritech/pull/221

Merged the PR, thanks


Email Address Not Accepted

Attempted to sign up and my email address was not accepted. It was<EMAIL_ADDRESS>(not the real domain, would prefer not to share it publicly). Error happened minutes before posting this in case that helps track it down on your end.

Just tried again and it worked this time. Please ignore.

This was a temporary issue related to fixing #7, the REST backend was down for just a couple of minutes due to a minor deploy hiccup. Sorry about that!


PCmover not free

The PCmover is not free:

[Enter feedback here]

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

ID: cde8580a-bd82-ebd2-3767-f3ee662a904e
Version Independent ID: 94323219-e4ed-8761-723e-06be33c3b9cc
Content: User State Migration Tool (USMT) overview - Windows Deployment
Content Source: windows/deployment/usmt/usmt-overview.md
Product: windows-client
Technology: itpro-deploy
GitHub Login: @frankroj
Microsoft Alias: frankroj

Closing. As Frank noted, if you can clarify the issue, please describe and reopen.


'LineConfig.Title' is obsolete: 'No longer supported'

In class LineConfig, when I'm using Title, it says 'LineConfig.Title' is obsolete: 'No longer supported' [AntDesignCharts].
But if I change Title into title mentioned in the introduction, it says 'LineConfig' does not contain a definition for 'title' [AntDesignCharts].
It also happens to the rest of the configs.

Hi @wilsonmaf , the documentation / readme is outdated. Title is now obsolete as part of an upgrade guide from G2Plot. For an updated version of the LineChart, check this source code.


Regroup tests

add  assertion
add two missing tests
add codecov

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@b4fcee5). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             develop     #16   +/-   ##
=========================================
  Coverage           ?   93.1%
=========================================
  Files              ?       5
  Lines              ?      58
  Branches           ?       5
=========================================
  Hits               ?      54
  Misses             ?       4
  Partials           ?       0

Impacted Files
Coverage Δ

lib/immutable-base.js
92.59% <100%> (ø)

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 b4fcee5...d4297d9. Read the comment docs.

I noticed that I could not use the not to have value at assertion. Added that and restructured the tests a bit to have some better grouping.


Enable configuration caching for newly compatible tasks in the Gradle build

As a follow up to https://github.com/gradle/gradle/pull/20757

@bot-gradle test and merge

OK, I've already triggered a build for you.


FATAL Error while trying to import via Coinbase REST API

Tried to import via Coinbase API, it processes for a minute or two and then errors out. Nothing created in output folder.
Version:
DaLI 0.3.20 (https://pypi.org/project/dali_rp2/)
OS: Fedora
Ini file:
[dali.plugin.input.rest.coinbase]
account_holder = my name
api_key = ***
api_secret = ***
Logs:
2022-03-23 22:30:43,532/dali/INFO: Reading crypto data using plugin 'dali.plugin.input.rest.coinbase'
2022-03-23 22:34:30,411/dali/INFO: Resolving transactions
2022-03-23 22:34:30,411/dali/ERROR: Fatal exception occurred:
Traceback (most recent call last):
File "/home/james/.local/lib/python3.10/site-packages/dali/dali_main.py", line 107, in input_loader
resolved_transactions: List[AbstractTransaction] = resolve_transactions(transactions, dali_configuration, args.read_spot_price_from_web)
File "/home/james/.local/lib/python3.10/site-packages/dali/transaction_resolver.py", line 169, in resolve_transactions
transaction = _apply_transaction_hint(transaction_list[0], global_configuration)
File "/home/james/.local/lib/python3.10/site-packages/dali/transaction_resolver.py", line 211, in _apply_transaction_hint
if transaction.unique_id not in global_configuration[Keyword.TRANSACTION_HINTS.value]:
KeyError: 'transaction_hints'
2022-03-23 22:34:30,412/dali/INFO: Log file: ./log/rp2_2022_03_23_22_30_43_325160.log
2022-03-23 22:34:30,412/dali/INFO: Generated output directory: output/
2022-03-23 22:34:30,412/dali/INFO: Done

Also, not sure if these are all  needed, but here is the API permissions given for my key:
address
email
offline
access
openid
phone
profile
wallet:accounts:read
wallet:addresses:read
wallet:buys:read
wallet:checkouts:read
wallet:contacts:read
wallet:deposits:read
wallet:notifications:read
wallet:orders:read
wallet:payment-methods:read
wallet:sells:read
wallet:supported-assets:read
wallet:trades:read
wallet:transactions:read
wallet:user:email
wallet:user:read
wallet:withdrawals:read

Thanks for reporting a bug! I just fixed it: can you update DaLI to version 0.3.21 and try again?

Yep, trying now actually.

I see the ods and config file now. Will test it on RP2, closing this issue as it looks fixed.


Will the tank parts open source?

Hello,
This is the great project and I'm happy to open first issue :)
I'm trying to build my own system but from the part list, the tank is yet to be available. Will it be open source?

Yes it will be ! We are putting all the 3D models on soon! just organizing them now.  so good to hear you are building one, where are you building from?

At the moment I just try to understand project structure. When the code is available, I will try to compile myself and may write unit test for it.

The tank is now available in the 3D files if you got any question please let us know

@r-tae
I can help part of them. Doxygen I haven't used yet but it seems to be not far from Javadoc/Kdoc.

Great! I've never actually used Doxygen either, so I'm not sure if its a good idea yet but at least Javadoc comments would be beneficial either way


FEATURE: Add places added counter

Describe the solution you'd like
api endpoint with counter how many places there are
Describe alternatives you've considered
html coutner that one can share somewhere.
Additional context
Purpose of this is to share info on pages or other interactive media.

It probably should be plugin


Synchronization issue?

What system are you running Yazi on?
Linux Wayland
What terminal are you running Yazi in?
kitty 0.36.4
yazi --debug output
Yazi
    Version: 0.3.3 (35d781e 2024-10-23)
    Debug  : false
    OS     : linux-x86_64 (unix)

Ya
    Version: 0.3.3 (Arch Linux 2024-09-05)

Emulator
    Emulator.via_env: ("xterm-kitty", "")
    Emulator.via_csi: Ok(Kitty)
    Emulator.detect : Kitty

Adapter
    Adapter.matches: Kgp

Desktop
    XDG_SESSION_TYPE           : Some("wayland")
    WAYLAND_DISPLAY            : Some("wayland-1")
    DISPLAY                    : Some(":0")
    SWAYSOCK                   : None
    HYPRLAND_INSTANCE_SIGNATURE: Some("4520b30d498daca8079365bdb909a8dea38e8d55_1729671642_1738058818")
    WAYFIRE_SOCKET             : None

SSH
    shared.in_ssh_connection: false

WSL
    WSL: false

Variables
    SHELL              : Some("/usr/bin/bash")
    EDITOR             : Some("/usr/bin/nvim")
    VISUAL             : Some("/usr/bin/nvim")
    YAZI_FILE_ONE      : None
    YAZI_CONFIG_HOME   : None

Text Opener
    default     : Some(Opener { run: "${EDITOR:-vi} \"$@\"", block: true, orphan: false, desc: "$EDITOR (block)", for_: None, spread: true })
    block-create: Some(Opener { run: "${EDITOR:-vi} \"$@\"", block: true, orphan: false, desc: "$EDITOR (block)", for_: None, spread: true })
    block-rename: Some(Opener { run: "${EDITOR:-vi} \"$@\"", block: true, orphan: false, desc: "$EDITOR (block)", for_: None, spread: true })

Multiplexers
    TMUX               : false
    tmux version       : No such file or directory (os error 2)
    tmux build flags   : enable-sixel=Unknown
    ZELLIJ_SESSION_NAME: None
    Zellij version     : No such file or directory (os error 2)

Dependencies
    file             : 5.45
    ueberzugpp       : No such file or directory (os error 2)
    ffmpegthumbnailer: 2.2.3
    magick           : 7.1.1-39
    fzf              : 0.55.0
    fd               : 10.2.0
    rg               : 14.1.1
    chafa            : 1.14.2
    zoxide           : 0.9.6
    7z               : 17.05
    7zz              : No such file or directory (os error 2)
    jq               : 1.7.1

Did you try the latest nightly build to see if the problem got fixed?
Yes, and I updated the debug information above (yazi --debug) to the nightly that I tried
Describe the bug
In lua, repeatedly creating a tab and calling reveal to hover a directory on that tab, only works if the directories of every tab are the same.
Minimal reproducer
Create three files in /tmp
cd /tmp
touch file0
touch file1
touch file2

Now make a subdirectory and create three files in it again
mkdir tmp
cd tmp
touch file0
touch file1
touch file2

Now open yazi anywhere
cd ~
yazi

and run the plugin (at the bottom)
plugin bug --args=fails

I would expect file1 to be hovered in each tab, as it happens when
both reveals happen in the same directory (plugin bug --args=works)
If I run the commands one by one in Yazi using command.yazi, the procedure that fails programmatically, works as expected too.
tab_create /tmp
reveal /tmp/file1
tab_create /tmp/tmp
reveal /tmp/tmp/file1
tab_close 0
tab_switch 0

Works!
local function entry(_, args)
  ya.manager_emit("tab_create", { "/tmp" })
  ya.manager_emit("reveal", { "/tmp/file1" })

  if args[1] == "works" then
    ya.manager_emit("tab_create", { "/tmp" })
    ya.manager_emit("reveal", { "/tmp/file2" })
  elseif args[1] == "fails" then
    ya.manager_emit("tab_create", { "/tmp/tmp" })
    ya.manager_emit("reveal", { "/tmp/tmp/file1" })
  end

  -- Delete the original tab
  ya.manager_emit("tab_close", { 0 })

  -- Make the first tab we created active
  ya.manager_emit("tab_switch", { 0 })
end

local function setup(state, opts)
end

return {
  entry = entry,
  setup = setup,
}

Anything else?
No response

Please try https://github.com/sxyazi/yazi/pull/1826
Note that this PR renames the idx added yesterday to id - it will now be a unique, non-repeating value to solve the issue where the IDs of the later tabs get reordered when a previous tab is closed

Fixed, works great, thank you!


Throw DeveloperError if normalize fails

Fixes issue raised in #3433
A DeveloperError is raised when any of the values of normalize are NaN
(For example, when you try Cartesian3.normalize(Cartesian3.ZERO))
Blocked By:

[ ] #3045 Hole in dynamic ellipsoid
[ ] #3609 Incorrect PolylineVolumeGeometry binormals
[ ] #3610 Empty wall geometry heights bug
[ ] #3611 Bad wall indices

I get 16 test failures:

Welp, I found a handful of geometry errors this change exposed.  They'll have to be fixed before this goes in:

[ ] #3045 Hole in dynamic ellipsoid
[ ] #3609 Incorrect PolylineVolumeGeometry binormals
[ ] #3610 Empty wall geometry heights bug
[ ] #3611 Bad wall indices

So I'm going to put this issue on hold until I have time fix those things.
I did push some changes to a few other places to handle a zero vector.  I'm not sure if they're the best fix.

The fact that this exposed 4 bugs already proves it's the right change to make.  Thanks @kalmykov for bringing this to our attention!  Hopefully we can get these fixed soon since some of them were user reported.
Also, :+1: for use of welp.

As a side comment, we should start adding validation like this (within debug pragmas) in many more places.  Basically, throw as soon as any calculation anywhere produces a NaN.  This would help to work to finally track down the dreaded "invalid array length" in the frustum code, which is where all NaNs eventually end up crashing currently.  I know I've discussed this before, but I couldn't find any existing issues by searching.

I couldn't agree more.  The only potential downside are module users who don't probably perform dead-code elimination and website Sandcastle demos will get a performance hit (but they are already getting that hit now because we have tons of pragmas).

The only potential downside are module users who don't probably perform dead-code elimination and website Sandcastle demos will get a performance hit (but they are already getting that hit now because we have tons of pragmas).

Do we have a build step to remove pragmas for these users?  Or do you think they just ignore it?

@shunter I created an issue here: #3605

Do we have a build step to remove pragmas for these users? Or do you think they just ignore it?

Pragma specifically is a requirejs thing, so anyone using modules with requirejs should be covered. We can't do it as part of the build because modules are just the Source directory.  It has to be done during their apps own compile step (unless we wanted to ship two copies of the source tree). I believe Webpack might have some dead-code elimination features, but I don't think they support the same pragma format out of the box.  I'm guessing if someone cared enough they could make it work; but as we see on the forum most of our users just use the minified Cesium.js from the start and don't even bother with the developer build that has error checking.  Ultimately that's an education issue we should eventually fix with improved documentation.

Ah, I see.

@hpinkos would it be possible to work around Incorrect PolylineVolumeGeometry binormals separately at the geometry level and merge this with NaN checks are the Cartesian3 level?  It would be really nice to get these checks into master.

@mramato I might be able to do something... I mean the binormals are already incorrect, I guess making them incorrect in a different way to work around this wouldn't be the worst thing.  I probably won't have a chance to really fix the geometry in the near future.

I probably won't have a chance to really fix the geometry in the near future.

Yep, that's why I was hoping for a workaround because these nan checks would go a long way to finding other unrelated bugs

We really need to get these changes into master sooner rather than later so I marked this for the bug bash.  I don't care if we have to hack around PolylineVolumeGeometry to do it; there are several other bugs that would have been caught sooner if these checks were in place in master.

@lilleyse I'm getting a whole bunch of ShadowMap test failures.  I'm not sure if the tests are bad or if it's a problem with the code.
It looks like at some point sceneCamera.frustum.projectionMatrix has -Infinity in it, which then makes a bunch of things later on in fitShadowMapToScene got to NaN

Ok I'll take a look now.

Thanks!  Don't have to worry about the other failing tests, I'm trying to fix those.  I just have no idea what's going on with those shadow map test.

@bagnell this is the one test I was looking into: DataSources/KmlDataSource NetworkLink: Heading and pitch can be undefined if the camera is in morphing mode

Alright, all the test except the ShadowMap test are failing.
#3609 (PolylineVolumeGeometry tangets/binormals) is not fixed, but I worked around it for the specs
@lilleyse let me know when you have the ShadowMap tests fixed.  Getting this change in master will be hugely beneficial for preventing future bugs.

Thanks @hpinkos huge 👍 from me!  @lilleyse if you could get to this as part of the bash, that would be a huge help in tracking down some of the other issues (which are better exposed by these fixes).

I figured out the ShadowMap NaN issues, but there is something else going on with terrain shadows so I'm going to open a separate shadows fix PR rather than add to this one.

@mramato anything else?  I think this is ready to go now.  I also tested all the sandcastle examples and everything worked there.

I'm way more excited about this than I probably should be.  Just those comments and this is good to go.

@mramato anything else?


[QUESTION] hasManyBy with object[] instead of id[]

i was wondering if it would be possible to create hasManyBy relations using [obj: {id: '1'}] instead of ['1'] like so
The models
import { Model } from "@vuex-orm/core";
import UserRole from "./UserRole";

export default class User extends Model {
  static entity = "users";

  static fields() {
    return {
      id: this.attr(null),
      username: this.attr(),
      userRoles: this.hasManyBy(UserRole, "userRoles")
    };
  }
}

import { Model } from "@vuex-orm/core";

export default class UserRole extends Model {
  static entity = "user-roles";

  static fields() {
    return {
      id: this.attr(null),
      name: this.attr()
    };
  }
}

The inserted data
await User.insertOrUpdate({
      data: [
        {
          id: "5d5a8e1e635a8b6694dd7cb0",
          username: "sebastian",
          userRoles: [
            {
              name: "Superuser",
              uid: "superuser",
              id: "5f44c5388f1f306158b06ad0"
            }
          ]
        }
      ]
    });

The outcome
User.all();
->
[{
$id: "5d5a8e1e635a8b6694dd7cb0"
id: "5d5a8e1e635a8b6694dd7cb0"
userRoles: [] // <--- userRoles missing
username: "sebastian"
}]

Expected behaviour
I was thinking that i could retrieve the users with userRoles with some kind of hasManyBy relation as there are no ids on the UserRole model
Versions

Vuex ORM: 0.36.3

Any help is very much appreciated

Reading the docs carefully it seems i do not need hasManyBy when there is no foreign key on my UserRole model as missing foreign keys are automatically generated.
https://vuex-orm.org/guide/data/inserting-and-updating.html#generating-missing-foreign-keys
So to make this work i had to change my models to:
import { Model } from "@vuex-orm/core";
import UserRole from "./UserRole";

export default class User extends Model {
  static entity = "users";

  static fields() {
    return {
      id: this.attr(null),
      username: this.attr(),
      userRoles: this.hasMany(UserRole, "userId") <-- change this
    };
  }
}

and
import { Model } from "@vuex-orm/core";

export default class UserRole extends Model {
  static entity = "user-roles";

  static fields() {
    return {
      id: this.attr(null),
      name: this.attr(),
      userId: this.attr(null) <-- and add this
    };
  }
}

The way I was thinking here is that as long as I do not have a foreign key on my child model i can not use hasMany which is not true.
Maybe a hint section on hasManyBy in the docs could catch people's attention and get going even quicker.
Just a thought. What do you guys think?

I was wondering if it would be possible to create hasManyBy relations using [obj: {id: '1'}] instead of ['1'] like so

The hasManyBy is designed to work with an array of primary keys that belong to a related model so it would not be possible to insert data in this manner. This relation type is useful when you have data for the related model that has or will be added independently.
For example:
await User.insertOrUpdate({
  data: {
    id: '5d5a8e1e635a8b6694dd7cb0',
    username: 'sebastian',
    userRoles: ['5f44c5388f1f306158b06ad0']
  }
})

await UserRole.insertOrUpdate({
  data: {
    id: '5f44c5388f1f306158b06ad0',
    uid: 'superuser',
    name: 'Superuser'
  }
})

The way I was thinking here is that as long as I do not have a foreign key on my child model i can not use hasMany which is not true.

The hasMany relation requires a foreign key to exist for a relationship to be created. However, this does not mean the foreign key needs to exist in the first instance, it can be assigned to the child model at any given time.
For example, the following will generate the missing foreign key for userId:
await User.insertOrUpdate({
  data: {
    id: '5d5a8e1e635a8b6694dd7cb0',
    username: 'sebastian',
    userRoles: [{
      id: '5f44c5388f1f306158b06ad0',
      name: 'Superuser'
    }]
  }
})

/*
--- entities/user-roles ---
{
  '5f44c5388f1f306158b06ad0': {
    id: '5f44c5388f1f306158b06ad0',
    name: 'Superuser',
    userId: '5d5a8e1e635a8b6694dd7cb0'
  }
}
*/

The drawback of a hasMany in this instance is that Superuser can only exist for a single User. In other words, User's cannot share the same Role.
If you want a Role to belong to one User or more, a belongsToMany is likely your best bet.

Maybe a hint section on hasManyBy in the docs could catch people's attention and get going even quicker.

What hint are you referring to?

@cuebit
Thank you very much for your quick and detailed response.
I think i'm beginning to understand how things are working.
So hasManyBy does not make sense here because at the time the data is normalized there is no userRoles[id] on my User model (and never has been, to be exact). Thanks for the clarification!

If you want a Role to belong to one User or more, a belongsToMany is likely your best bet.

This is indeed what i came up with. Thanks!
So what i ended up with is:
User.js
import { Model } from "@vuex-orm/core";
import Role from "./Role";
import RoleUser from "./RoleUser";

export default class User extends Model {
  static entity = "users";

  static fields() {
    return {
      id: this.attr(null),
      username: this.attr(),
      userRoles: this.belongsToMany(Role, RoleUser, "userId", "roleId")
    };
  }
}

Role.js
import { Model } from "@vuex-orm/core";
import User from "./User";
import RoleUser from "./RoleUser";

export default class Role extends Model {
  static entity = "user-roles";

  static fields() {
    return {
      id: this.uid(null),
      uid: this.string(),
      name: this.string(),
      users: this.belongsToMany(User, RoleUser, "roleId", "userId")
    };
  }
}

RoleUser.js (pivot)
import { Model } from "@vuex-orm/core";

export default class RoleUser extends Model {
  static entity = "role-user-pivot";

  static primaryKey = ["roleId", "userId"];

  static fields() {
    return {
      roleId: this.attr(null),
      userId: this.attr(null)
    };
  }
}

What hint are you referring to?

I was suprised to find the information about automatic generation of foreign keys at the "inserting and updating"-section of the docs.
https://vuex-orm.org/guide/data/inserting-and-updating.html#generating-missing-foreign-keys
I thought this piece of information might be useful inside the 'relationship'-section. At least for me it would have been.
https://vuex-orm.org/guide/model/relationships.html
As this applies to all relations it makes sense to not put it inside on category but maybe before or after all of them like so:

And with hint i mean a tip custom block like this one:

Not sure. What do you think?
Thanks for your help again!

Great! Seems like you're finding your feet. Best of luck!
In regards to the hint, there are often cases where the community has raised concerns about the existence of valuable information in more appealing places (such as what you've described), and we aim to resolve this by improving the documentation now and again.
In the same breath, the topic of missing foreign keys is covered in the prologue (most people skip the library concept and jump to the code) but also it's appropriately placed within Inserting and Updating since this is a relevant category for it to exist in. The Relationships section, however, simply touches on the topic of relations and how Vuex ORM caters for the varying types supported – and avoids delving into the mechanics of the relationships when handling its data.
The @next iteration of the library aims to solve a lot of documentation woes. If anything, we would welcome all contributions over there!
👍


Spam Domain Submission

Duplicate Domains

[X] Yes, I checked that the domain is not currently in the list
[X] I read the wiki explaining each different categories and examples before submitting

(Required) Spam Comment Direct Link
(No Link Available)
See https://github.com/ThioJoe/YT-Spammer-Purge/issues/816
(Optional) Screenshot of comments using the domain

(Required) List of the spam domains
mikujava.monster
Closes https://github.com/ThioJoe/YT-Spammer-Purge/issues/816

Added


fix grid actionbar

#17833
in previous vscode merge, vscode added default padding for action-label and as a result the size of the action bar items was changed and it is taking more space now, the fix is to add a grid specific rule to make sure it is compact.
I've updated the query editor test case to include a "one row" test.
https://github.com/microsoft/azuredatastudio/pull/15681/files?file-filters[]=.css&hide-deleted-files=true#diff-addd7132dee13457b17c0ce8af86416722108e69b8a60d63a865f524a8323f5fR50

before:

after:

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
27272

Relevant Lines:
59354

💛  - Coveralls


Add option to retrieve all sheets

Story details: https://app.shortcut.com/dataiku/story/110257

I have tested it out now also, all fine. Nothing noted above seems like a must fix but I am off on hols from today so will either take a look when I get back or equally someone else could pick up checking the issues above and approving.

@alexbourret Anything blocking the merge?


Assist datasets are not loading

Description
The AI datasets aren't loading in my editor. They are enabled, but no elements show on the map in any region.
Version
2.1.1
What browser are you seeing the problem on? What version are you running?
Firefox 118.0.2 (64-bit)
The OS you're using
KDE Neon, Linux 6.2.0-32-generic
Steps to reproduce
No response
The browser URL at the time you encountered the bug
https://rapideditor.org/edit#background=Bing&datasets=fbRoads,msBuildings&disable_features=boundaries&id=w441882479&map=17.36/12.00345/8.52626
The auto-detected useragent string for your browser (leave blank if you're manually filling this form out)
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0

@aronkvh is this still happening to you? It's possible that this lined up with a slowdown in the OSM servers, or a momentary hiccup on our end. I was just able to load AI datasets for Meta roads and MS Buildings over Rapid City, SD.


Mongoose 4 compatibility

Upgrade to mongoose 4.
The validators max-length and min-length were removed because they are builtin mongoose validators now.

Coverage remained the same at 100.0% when pulling 99a7212208bc74782c68cd7574ceb3a31a369587 on assisrafael:mongoose-4 into 1f72536da1b7d73227c4b82c60b20b2d228d666c on the-darc:develop.


Feature request I'm willing to help with - Candle (I made one for Tasmota)

I made an add in for Tasmota to act like a candle. I'd like to do the same for this project (if it doesn't already exist) I had to dig through the Tasmota code to find where to put it so it was driver independent.
Basic idea is I just set a range of random choice between red and green to make random yellows and random brightnesses at random speeds all between limiting parameters that could be set with Tasmota scene options. Where should I start looking?

CloudCutter is not a firmware, any feature implementation would need to happen directly with whatever firmware project you decide to implement it on.  This is out of scope for CloudCutter.


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-2.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 471

Questions ?
Please refer to the Backport tool documentation


chore: update to ubuntu:bionic

Adds build environment based on Electron's build configuration
Adds gcc-4.8 toolchain which will maintain compatibility for GLIBCXX_3.4.19 in remote native modules
Converts x64 tag to trusty-x64 and bionic-x64

Thanks for the review, merging!


Update README.md

Updated README.md
Fixes issue #2

Thanks, @1anshu-56 for your valuable contribution!!