Why is my app so fast with iPhone and slow with MacOS?

Hi
as many other users, I see that the very first recognition is successfully done after around ten seconds from the models loading.
I have the most common scenario: a canvas where images are saved from the webcam stream.
This actually happens with Chrome 87 on a MacBook Air 2019 with Big Sur installed.
If I try the same webpage with my iPhone SE 2020 the first recognition happens in less than one second probably, with Safari.
I would have expected the opposite behavior. Is there any reason why iPhone is so faster than Mac? I don't think it is a GPU nor a WebGL stuff...
Thanks!

you haven't said which backend is used in both cases (webgl, wasm, cpu)? (and if wasm, if simd is enabled or not)
but in general, MacBook Air 2019 does not have a decidated GPU - it has integrated Intel UHD which is pretty bad.
on the other hand, iPhone SE 2020 has an actual decent GPU. so no surprise your phone is faster than notebook - if you're using webgl backend.
also note that fast vs slow is different than initialization time.
e.g, webgl shader initialization and upload can take quite a lot of time, but then run smooth after that - that is quite common for webgl backend with more complex models.
on the other hand, wasm backend has almost instant initialization but doesn't run anywhere as fast when compared to webgl on a good GPU.

you haven't said which backend is used in both cases (webgl, wasm, cpu)? (and if wasm, if simd is enabled or not)
but in general, MacBook Air 2019 does not have a decidated GPU - it has integrated Intel UHD which is pretty bad.
on the other hand, iPhone SE 2020 has an actual decent GPU. so no surprise your phone is faster than notebook - if you're using webgl backend.
also note that fast vs slow is different than initialization time.
e.g, webgl shader initialization and upload can take quite a lot of time, but then run smooth after that - that is quite common for webgl backend with more complex models.
on the other hand, wasm backend has almost instant initialization but doesn't run anywhere as fast when compared to webgl on a good GPU.


Add breadcrumb for navigation?

Just a thought really, but maybe we add a bread crumb for navigation on the pages as people drill down the website, its hard to navigate back at the moment.
We use bulma for styles, so I think something might already be there which we can take?

https://material-ui.com/lab/breadcrumbs/ ;)

Fancy giving this ago @oliviertassinari ?

@boyney123 Haha, I was really curious in what you have been building. So thanks! I'm working on a theme marketplace for Material-UI. I think that I will do it with Gatsby. It's time to jump on that ship.


Tests are detected but do not appear in test explorer treeview

Install VS with Python workload only
Create python application
Add a test file
Set test framework to unittest in project properties
Open test explorer
Notice that the tests output shows it detected tests, the test explorer toolbar shows it detected tests, but the test explorer tree view is empty!

I was able to work around it by going back to the VS installer and adding the .NET desktop development workload. Then the tests started appearing in the tree view.
Strangely, uninstalling the .NET desktop workload did not break it, it was still working after that.
Maybe we need to add a new dependency in the Python workload installer definition?

I just tried it again with the latest dogfood build. I'm also seeing errors in the output window.
Log level is set to Informational (Default).
System.ArgumentException: There is already a command handler for the menu command 'c488519c-6c2f-411f-9a2f-f4c395864b06 : 256'.
   at System.ComponentModel.Design.MenuCommandService.AddCommand(MenuCommand command)
   at Microsoft.TeamFoundation.TestManagement.TestMethodAssociationExtension.ViewModels.AssociateTestCaseCommand.InitializeCommands()
   at Microsoft.VisualStudio.TestWindow.UI.TestWindowToolWindowServicesProvider.<>c__DisplayClass11_1.<CreateAsync>b__1()
   at Microsoft.VisualStudio.TestWindow.Extensibility.ILoggerExtensions.CallInternalWithLogging(ILogger2 log, Action action, Boolean shouldThrow)
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
System.ArgumentException: There is already a command handler for the menu command '1e198c22-5980-4e7e-92f3-f73168d1fb63 : 1024'.
   at System.ComponentModel.Design.MenuCommandService.AddCommand(MenuCommand command)
   at Microsoft.VisualStudio.TestWindow.VsHost.ToolWindowMenuCommandFactory.CreateMenuCommand(MenuCommandDefinition commandDefinition)
   at Microsoft.VisualStudio.TestWindow.Controller.MenuCommandContainer.InitializeCommands()
   at Microsoft.VisualStudio.TestWindow.UI.TestWindowToolWindowServicesProvider.<>c__DisplayClass11_1.<CreateAsync>b__1()
   at Microsoft.VisualStudio.TestWindow.Extensibility.ILoggerExtensions.CallInternalWithLogging(ILogger2 log, Action action, Boolean shouldThrow)
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
System.ArgumentException: There is already a command handler for the menu command '1e198c22-5980-4e7e-92f3-f73168d1fb63 : 768'.
   at System.ComponentModel.Design.MenuCommandService.AddCommand(MenuCommand command)
   at Microsoft.VisualStudio.TestWindow.VsHost.ToolWindowMenuCommandFactory.CreateMenuCommand(MenuCommandDefinition commandDefinition)
   at Microsoft.VisualStudio.TestWindow.Controller.MenuCommandContainer.InitializeCommands()
   at Microsoft.VisualStudio.TestWindow.UI.TestWindowToolWindowServicesProvider.<>c__DisplayClass11_1.<CreateAsync>b__1()
   at Microsoft.VisualStudio.TestWindow.Extensibility.ILoggerExtensions.CallInternalWithLogging(ILogger2 log, Action action, Boolean shouldThrow)
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
System.ArgumentException: There is already a command handler for the menu command '1e198c22-5980-4e7e-92f3-f73168d1fb63 : 4650'.
   at System.ComponentModel.Design.MenuCommandService.AddCommand(MenuCommand command)
   at Microsoft.VisualStudio.TestWindow.VsHost.ToolWindowMenuCommandFactory.CreateMenuCommand(MenuCommandDefinition commandDefinition)
   at Microsoft.VisualStudio.TestWindow.Controller.MenuCommandContainer.InitializeCommands()
   at Microsoft.VisualStudio.TestWindow.UI.TestWindowToolWindowServicesProvider.<>c__DisplayClass11_1.<CreateAsync>b__1()
   at Microsoft.VisualStudio.TestWindow.Extensibility.ILoggerExtensions.CallInternalWithLogging(ILogger2 log, Action action, Boolean shouldThrow)
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
System.ArgumentException: There is already a command handler for the menu command '1e198c22-5980-4e7e-92f3-f73168d1fb63 : 4643'.
   at System.ComponentModel.Design.MenuCommandService.AddCommand(MenuCommand command)
   at Microsoft.VisualStudio.TestWindow.VsHost.ToolWindowMenuCommandFactory.CreateMenuCommand(MenuCommandDefinition commandDefinition)
   at Microsoft.VisualStudio.TestWindow.Controller.MenuCommandContainer.InitializeCommands()
   at Microsoft.VisualStudio.TestWindow.UI.TestWindowToolWindowServicesProvider.<>c__DisplayClass11_1.<CreateAsync>b__1()
   at Microsoft.VisualStudio.TestWindow.Extensibility.ILoggerExtensions.CallInternalWithLogging(ILogger2 log, Action action, Boolean shouldThrow)
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
System.ArgumentException: There is already a command handler for the menu command '7aa1a7f4-56d9-4653-b67a-f915e05c0ca2 : 1536'.
   at System.ComponentModel.Design.MenuCommandService.AddCommand(MenuCommand command)
   at Microsoft.VisualStudio.TestWindow.CodeCoverage.AnalyzeCodeCoverageCommandBase.InitializeCommands()
   at Microsoft.VisualStudio.TestWindow.UI.TestWindowToolWindowServicesProvider.<>c__DisplayClass11_1.<CreateAsync>b__1()
   at Microsoft.VisualStudio.TestWindow.Extensibility.ILoggerExtensions.CallInternalWithLogging(ILogger2 log, Action action, Boolean shouldThrow)
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
System.ArgumentException: There is already a command handler for the menu command '7aa1a7f4-56d9-4653-b67a-f915e05c0ca2 : 1537'.
   at System.ComponentModel.Design.MenuCommandService.AddCommand(MenuCommand command)
   at Microsoft.VisualStudio.TestWindow.CodeCoverage.AnalyzeCodeCoverageCommandBase.InitializeCommands()
   at Microsoft.VisualStudio.TestWindow.UI.TestWindowToolWindowServicesProvider.<>c__DisplayClass11_1.<CreateAsync>b__1()
   at Microsoft.VisualStudio.TestWindow.Extensibility.ILoggerExtensions.CallInternalWithLogging(ILogger2 log, Action action, Boolean shouldThrow)
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
Error opening test data: Failed to deserialize Microsoft.VisualStudio.TestWindow.Records.LogEntry value.
Test data was cleared upon opening.
Test data store opened in 0.008 sec.
---------- Starting test discovery ----------
Starting unittest discovery for the PythonApplication4 project. This can take up to 60 seconds.
cd C:\Users\huvalo\source\repos\PythonApplication4\
set PYTHONPATH=C:\Users\huvalo\source\repos\PythonApplication4\
C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\python.exe C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\PREVIEW\COMMON7\IDE\EXTENSIONS\MICROSOFT\PYTHON\CORE\PythonFiles\testing_tools\run_adapter.py discover unittest --output-file C:\Users\huvalo\AppData\Local\Temp\tmpD6E4.tmp -- . test*.py
========== Test discovery finished: 3 Tests found in 2.3 sec ==========

Okay, this may not have anything to do with installation/.NET workload.
If I open VS and the Test Explorer tool window is already visible at startup, then the tests appear fine and there is no error in output window.
If I open VS and the Test Explorer tool window is NOT visible, then when I open Test Explorer I get the errors and the tests do not appear.
If I do the same on my dev machine with C# unit tests, for some reason it works fine in both scenarios.

Fixed by VS test explorer team


Cannot use Visual Studio Code (mssql extension) to connect to Azure SQL Data Warehouse

VSCode Version: Code 1.8.1 (ee428b0eead68bf0fb99ab5fdc4439be227b6281, 2016-12-19T14:49:23.350Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions:

Extension
Author
Version

mssql
ms-mssql
0.2.0

Steps to Reproduce:

Ctrl + shift + p
Connect to database
Connect to an Azure SQL Data Warehouse instance
FAILS WITH: ..."Incorrect syntax near 'ANSI_NULLS'. (image attached)

Note: connecting to just the logical server and master works

This issue was moved to Microsoft/vscode-mssql#667


feat: Add "needs compost" indicator for empty patches

feat: Add "needs compost" indicator for empty patches

Added config option to toggle "needs compost" indicator
Added gray bucket icon to show when patches need composting
Indicator appears when patches are cleared/harvested
Indicator is removed when compost is applied
Gray icon follows same size settings as regular compost icon
Added tracking of patches needing compost in PatchOverlay

https://github.com/user-attachments/assets/58eb4da0-6c9c-41b4-9afc-bc05a4a2f916
another option for a more visually different bucket:

Woah looks great! I'll run through some testing tomorrow and remove my in progress changes I never finished and get this pushed to RL asap. Thanks!


Handful of users cannot create branches

We have a handful of users that cannot create branches using GitHub for Jira.
When selecting the repository, the call to get branches fails and error message box with the text We couldn't fetch the branches because something went wrong. Please try again. appears:

When navigating directly to the URL that provides the JSON payload of branches (https://github.atlassian.com/github/create-branch/owners/{owner}/repos/{repo}/branches?jiraHost={jira_host}) a 500 HTTP response code is
is returned with the sole response body text of Internal Server Error.
The user in question exists in GitHub and has logged out & back into both GH & Jira.
Anywhere for us to check what might be causing an issue here? I'm assuming there is something that can't be mapped for the user that is causing the user token retrieval to fail.

Hi @jbparker - If its only some users and not all I would expect that it could be permissions based, we have had a similar issue with permissions in the past. If you could double check that the users in question have the correct access to the repo on GitHub that would be the best start. If permissions look ok I can see if there is anything going on from our end as well.

Hi @joshkay10 - Thanks for the response! I verified that one user isn't added in GitHub (makes sense!) and the other has Write access to the repository selected above.
Is it possible that somehow the user in GitHub is not properly found based on the user in Jira? I'm unsure if that conjecture holds up to how the integration makes that link between the two systems.
Other than that shot in the dark, I'd love to see if there is anything else happening on your end that might shed some light.

We authenticate directly with GitHub so the Jira user wont effect those permissions only the GitHub user.
I'll have a look through and see if we get any extra detail about the 500.
Did you update the first users access and have success?

@joshkay10 yes, we were able to get them working as expected. It's just the one user that has Write access to the repository that is the real concern.

@rachellerathbone - I see this is labelled as awaiting response still, but did you or @joshkay10 see Jordan's response yet?

Let's continue here: https://github.com/atlassian/github-for-jira/issues/1845 . We've fixed a bunch of issues with this feature recently, please report to the aforementioned one in case you still experience troubles!


Ability to ignore certain URL patterns

Hi, we'd love to use this lib in our application, however we have a page that does regular requests (say every second) on which it doesn't matter if the web application is online or not at that time.
What I'm suggesting is an option, 'ignoredRequestPatterns', an array of regexes for which offline.js will not trigger the offline notification for:
ignoredRequestPaths: [/api\/ping$/]

I've had a go at trying to fork and implement this myself, but I have been unable to decipher the xhr checks enough to get the URL thereof and not perform the check. Help would be appreciated.

It stores the requests in requests.js.  You should be able to check an array of regexes before adding the request to the held array.

I've added functionality that checks every request against an array of regular expressions and strings: https://github.com/indolering/offline
I need to write some documentation and run some more tests before I submit a PR.


URL as JSON Schema Source

Is it possible to use URL like https://api.myapp.com/json as source?

Yes, but you need to deref the schema yourself before passing it


node: Invoke Neo Contract with PubKey as parameter fault

I am trying to invoke neo smart contract code with neo-cli. There is CheckWitness call in the code I want to execute. And when I invoke the code I get Engine Faulted. I suppose there is a problem in pub key parameter format. Here is my contract code (simplified):
I do it on local blockchain of multiple nodes. Neo software is pulled from master-2.x.
using Neo.SmartContract.Framework;
using Neo.SmartContract.Framework.Services.Neo;

namespace Neo.SmartContract
{
    public class Class1 : Framework.SmartContract
    {
        public static object Main(string operation, byte[] caller)
        {
            if (Runtime.CheckWitness(caller)) {
                return 10;
            } else
            {
                return 150;
            }
        }
    }
}

Here is what I call in cli:
invoke 7b5cd2ad18ef0be9d23e0e032d2aa58deb4ec6e0 some 027b30333e0d0e6552ae6d1da9f9409f551e35ee9719305e945dc4dcba998456ca

Here is what I get:
VM State: FAULT
Gas Consumed: 0,225
Evaluation Stack: []

Engine faulted.

I have tried example code of Domain contract. Here is "register" method edited:
private static string Register(string domain, byte[] owner)
{
                if (!Runtime.CheckWitness(owner)) return $"check witness failed {owner.AsString()}";
                byte[] value = Storage.Get(Storage.CurrentContext, domain);
                if (value != null) return "value is not null";
                Storage.Put(Storage.CurrentContext, domain, owner);
                return "success";
}

I edited source code of neo-cli to parse params prefixed with "0x" as byte array. Now there is no fault when I make:
invoke 0x142764f67d5d64924f7120aa5339d94c15007a32 register some 0x030e87a0c5e652a44b51c2152779339246dc999c07da5e5f89771c44645ac71329

But I always get "check witness failed". I have tried several wallets and their pubKeys, also tried to pass script hash made as it described here https://docs.neo.org/developerguide/en/articles/wallets.html
However I have never passed witness check.

@IsaAliev Hi Isa, would you be interested in talking to Neo's Ecosystem Growth department about adding your wallet to our ecosystem? Feel free to add me on Discord Denis Suslov#6976 or by email<EMAIL_ADDRESS>

@IsaAliev  Neo-cli 2.x dose not support checkwitness, you'd better use RPC to invoke the contract https://docs.neo.org/docs/en-us/reference/rpc/latest-version/api/invokefunction.html The last one parameter is the address, which need to be CheckWitness`.
The latest neo3-cli, and rpc already both have this function.  https://docs.neo.org/v3/docs/en-us/reference/rpc/latest-version/api/invokefunction.html

Old, if remains, please re-open


An async middleware seems to sometimes return an empty response

Koa 2.0.1
Node 7.7.1
OSX

This is a tough one to reproduce as it seems to be some sort of timing issue, but I have an async middleware that in a while loop uses http.request to poll another server. On a certain response, it resolves the middleware back to Koa. It basically looks like this:
server.js (sets up koa and koa-router)
  // router is koa-router
  router.post('/api/submit', require('./routes/submit'));

  koaApplication
    .use(router.routes());

routes/submit.js (my middleware that does some polling)
const STATUS_QUERY_DELAY = 1000;

async function delay(duration = STATUS_QUERY_DELAY) {
  return new Promise((resolve) => {
    setTimeout(() => resolve(), duration);
  });
}

module.exports = async function(ctx, next) {
  var status = 'Pending';
  var attempt = 0;
  var response;

  while(status === 'Pending' && attempt < STATUS_QUERY_ATTEMPTS) {
    await delay();

    // the "request()" function is just a wrapper around http.request() but wraps
    // it in a Promise so that I can "await" it.
    response = await request({ ... });

    status = // get status from response body
    attempt++;
  }

  ctx.set(response.headers);
  ctx.status = response.status;
  ctx.body = response.body;

  console.log(`Responding with ${ctx.status} - ${ctx.body}`);
  await next();
};

The final console.log always prints the right information that I expect, however from a client (both curl and Postman) I sometimes get an empty response.

curl: (52) Empty reply from server

Changing STATUS_QUERY_DELAY seems to affect how often this happens, with 1000 being the worst offender (tried 500 and 1500 and the empty responses happen much less frequently, maybe 1 in 20 attempts).
On attempts where the while loop makes >1 iteration, it seems more likely to happen, but not always, and curl does wait multiple seconds, then node.js and curl both output at the same time, node with the "Respondng with" console statement, and curl with "Empty reply"
Is there something I am doing wrong here?

How long are these requests taking? I'm wondering if you're hitting the http server's timeout. also, if you're using request, it would be ctx.status = response.statusCode.
there's no need for await next() at the end of your functions because you've already handled the request.

The request usually take 1 or 2 loops of the specified delay length, so usually something like 1 to 2 seconds, but even if I kick the delay up to 2000ms and the response takes 2 loops, so 4 seconds, curl still reports success about 90% of the time.
The response object there that is returned from request() is of my own creation. request() returns:
        resolve({
          status: res.statusCode,
          body: rawData, // built up from the 'data' events
          headers: res.headers
        });

I noticed the problem gets worse if I try multiple requests in parallel. Then it failed 50% of the time.

for i in {1..10}; do curl --data "data=something" http://localhost:3006/api/submit & done

Unfortunately the code is proprietary so I can't post the complete project, but I'll see if I can rig up a minimal sample project that still demonstrates the issue...

This seems really weird, and the only thing I can think of is what I don't see - does your promise wrapper around request properly reject/throw? Interesting bug. Feels like a timing bug but I can't fathom what causes it.

I think I have a distilled sample project that demonstrates the issue.
I originally just tried to point it at the GitHub public API, but couldn't get it to fail. I had to make a 2nd server that sometimes doesn't respond 200 Success to get it to fail.
I'm still not sure if this is just an oddity of my code or some deeper issue. Any help is much appreciated!

OK I did a bunch more debugging on this, going into Koa itself. It seems that in the occurrences where curl/postman gets an empty response, the underlying socket reports that it is not writable.
It gets into Koa's response.js get writable() and in that getter, this.res.socket.writable returns false, so no body content is written to it.

On both the "bad" and "good" sequences, the stack trace from the 'close' event seems to be the same:

Yeah that's how Node events work unfortunately. Here's what I'd recommend instead:
const oldClose = socket.close;
socket.close = function () {
  console.trace('Close called');
  oldClose.apply(socket, arguments);
};

If close isn't called, then the socket is probably closing itself. Maybe look into the timeout.

Well, after a whole lot of time spent on this, I realized that it is indeed a timeout issue.
I have the sockets set to timeout after 2 seconds, and my polling to occur every 0.5 seconds.
My sample/test server was returning requestNumber++ % 2 ? 'Success' : 'Pending' so in my head I was like "ok so every second request will end the polling loop, so 2 loops of 0.5 seconds will make my requests take ~1sec each, well under the 2 seconds"
Turns out when you run 10 of them in parallel, those loops don't exactly line up (duh), and they can make anywhere from 1 to 4 polling iterations to complete, which could push it over the 2 second mark.
Very strangely, it was dead consistent that 1 in 10 would fail, every time, across dozens of runs.


When upgrading k8s stacks using rancher-cli using  "--confirm-upgrade" , rancher-ingress-controller/rancher-kubernetes-agent continue to be in "upgraded" state

Rancher Versions: v1.5.6
K8s environment with 3 hosts.
Steps to reproduce the problem:
Force upgrade K8s stack using rancher cli , using command rancher up --stack kubernetes --force-upgrade -d --confirm-upgrade
Even after waiting for 20 mts , rancher-ingress-controller/rancher-kubernetes-agent continues to be in "upgraded" state. All other services get to "active" state as expected.

Something similar is also happening with Cattle. I've been unable to reproduce it on-demand, but it crops up occasionally with a variety of different stacks in different cattle environments and masters.
Rancher: v1.5.6 and v1.5.2 (happening on two seperate masters) (HA mode with a single IP)
rancher-compose: v0.12.4
Docker: v1.12.6
OS: Ubuntu 16.04
Stacks that half upgrade and require a manual completion. We recently moved to Rancher 1.5.x and updated Rancher compose to 0.12.4 and this started happening in the last month. Before stacks would fully completely withou manual intervention.

example docker-compose.yml
version: '2'
services:
  api-admin:
    ports:
      - 25230:9292
    labels:
      io.rancher.container.pull_image: always
      io.rancher.scheduler.affinity:host_label: cluster-type=default
      io.rancher.stack.name: "demandbase/api-admin:${DOCKER_TAG}"
      org.label-schema.build-date: "$BUILD_DATE"
      org.label-schema.version: "$GIT_TAG"
      org.label-schema.vcs-url: "$GIT_URL"
      org.label-schema.vcs-ref: "$GIT_COMMIT"
      org.label-schema.name: "$PROJECT_NAME"
      org.label-schema.vendor: "$VENDOR"
      com.demandbase.build-url: "$BUILD_URL"
      com.demandbase.job-name: "$JOB_NAME"
      com.demandbase.job-url: "$JOB_URL"
      com.demandbase.build-number: "$BUILD_NUMBER"
      com.demandbase.product: "api-admin"
      com.demandbase.environment: "$ENVIRONMENT"
    env_file:
      - .env.export
    image: "demandbase/api-admin:${DOCKER_TAG}"
    logging:
      options:
        labels: "api-admin-${ENVIRONMENT}"
    stdin_open: true
    volumes:
      - data:/db/files
  upload-worker:
    command: [ "exec", "sidekiq", "-q", "list_upload", "-q", "batch_upload", "-c", "2" ]
    labels:
      io.rancher.container.pull_image: always
      io.rancher.scheduler.affinity:host_label: cluster-type=default
      io.rancher.stack.name: "demandbase/api-admin:${DOCKER_TAG}"
      org.label-schema.build-date: "$BUILD_DATE"
      org.label-schema.version: "$GIT_TAG"
      org.label-schema.vcs-url: "$GIT_URL"
      org.label-schema.vcs-ref: "$GIT_COMMIT"
      org.label-schema.name: "$PROJECT_NAME-upload_worker"
      org.label-schema.vendor: "$VENDOR"
      com.demandbase.build-url: "$BUILD_URL"
      com.demandbase.job-name: "$JOB_NAME"
      com.demandbase.job-url: "$JOB_URL"
      com.demandbase.build-number: "$BUILD_NUMBER"
      com.demandbase.product: "api-admin"
      com.demandbase.environment: "$ENVIRONMENT"
    env_file:
      - .env.export
    environment:
      NEW_RELIC_AGENT_ENABLED: false
    image: "demandbase/api-admin:${DOCKER_TAG}"
    logging:
      options:
        labels: "api-admin-upload-worker-${ENVIRONMENT}"
    stdin_open: true
    volumes:
      - data:/db/files
  gooddata-worker:
    labels:
      io.rancher.container.pull_image: always
      io.rancher.scheduler.affinity:host_label: cluster-type=default
      io.rancher.stack.name: "demandbase/api-admin:${DOCKER_TAG}"
      org.label-schema.build-date: "$BUILD_DATE"
      org.label-schema.version: "$GIT_TAG"
      org.label-schema.vcs-url: "$GIT_URL"
      org.label-schema.vcs-ref: "$GIT_COMMIT"
      org.label-schema.name: "$PROJECT_NAME-gooddata_worker"
      org.label-schema.vendor: "$VENDOR"
      com.demandbase.build-url: "$BUILD_URL"
      com.demandbase.job-name: "$JOB_NAME"
      com.demandbase.job-url: "$JOB_URL"
      com.demandbase.build-number: "$BUILD_NUMBER"
      com.demandbase.environment: "$ENVIRONMENT"
    env_file:
      - .env.export
    environment:
      NEW_RELIC_AGENT_ENABLED: false
    image: "demandbase/api-admin:${DOCKER_TAG}"
    logging:
      options:
        labels: "api-admin-gooddata-worker-${ENVIRONMENT}"
    stdin_open: true
    command: [ "exec", "sidekiq", "-q", "gooddata", "-c", "2" ]
    volumes:
      - data:/db/files
volumes:
  data:
    driver: local

corresponding rancher-compose.yml
version: '2'
services:
  api-admin:
    scale: 1
  upload-worker:
    scale: 1
  gooddata-worker:
    scale: 1

rancher-compose command to deploy to Cattle environment
rancher-compose --file docker-compose-rancher.yml \
                --env-file .env.export \
                --project-name api-admin \
                up \
                --force-upgrade \
                --confirm-upgrade \
                --pull \
                -d

This issue still reproduces sometimes  when test with rancher server version - v1.5.7 which has the fixes provided for this issue.
Reopening this issue.

Hi, I have this problem, too.my problem may be because my container failed to boot。

@hongxiaolu your issue is not about k8s. Please open another issue for it.


Add option to only show notifications count for participating issues

Would be nice if there was an option to display the number of notifications I'm participating in instead of the global count, which I'm not necessarily interested in

Yep, this should be cool. Let me find out how to implement this.

added in v0.10.0


Provide option to get all instances of the active slide

I have built a custom slideshow with overlay elements that will slide in with a specific delay to the swiper. So for example I'm hooking into onSlideChangeStart and wait a short delay and show my overlay elements. However, I also use the loop-mode that will clone elements. If I want to show my overlays I need to get all instances of the current slide, because otherwise I may only show the overlay in one instance and if I swipe to the next slide the slide will be cloned and the overlay will be hidden. Because swiper.activeIndex only returns the current slide and there is no way to find out the slide of the cloned one, I need to pass around this with custom data-attributes.
In summary there should be an option to get all instances of the active slide to make changes to all of them!
Workaround code:
// Because siblings will be added dynamically
// before and after because of the loop functionality,
// we can not detect the active element by it's index.
// It will be cloned and used multiple times, so we need
// to find it's custom index "data-slide" and find all
// occurences of this slide with it and make the changes to all
// of them.
var attr = $(".swiper-slide:nth-child(" + (swiper.activeIndex + 1) + ")").attr("data-slide");
var $active = $(".swiper-slide[data-slide='" + attr + "']");

Sorry, is it too hard to use these 2 simple lines?

The plugin offers tons of options but isn't able to just offer this simple parameter? Is it too hard to pass a reference to all active elements?

isn't able to just offer this simple parameter

Because simple things should be done in simple ways, without overloading lib itself with extra code which can be done in one line. The same as why there is no methods to add/remove classes/attributes to/from slides, get slide index, etc. Because they are easily achieved with 1-2 lines.
Anyway, maybe will add something for that in next release

How do I solve this if I'm using 6 slides, I want to use the loop option and there is a lot of user interaction/dom changes on some of the slides sometimes?

Issue is closed because of outdated/irrelevant/not actual/needed more information/inactivity.
If this issue is still actual and reproducible for latest version of Swiper, please create new issue and fill the issue template correctly:

Clearly describe the issue including steps to reproduce when it is a bug.
Make sure you fill in the earliest version that you know has the issue.
Provide live link or JSFiddle/Codepen or website with isssue


requestAnimationFrame recursion on mobile

As seen here: https://github.com/mozilla/unity-webvr-export/issues/54#issuecomment-363622646
I'm getting the same issue. Even the sample projects present this problem on all mobile browsers. I see on Firefox, Chrome (with flags for webvr set) and oddly enough on the Firefox nightly on Android tapping the headset icon just makes the experience full screen.

Thanks for digging this up from the comment and filing an issue. I'm going to take a look at this.

@itsthisjustin @caseyyee @delapuente: can you try checking out my branch in PR #132, and see it fixes things for you?
what are your steps to reproduce? just load https://mozilla.github.io/unity-webvr-export/ on one of your devices?

Firefox for Android (Note 8)
Chrome for Android (Note 8)
Safari (iPhone X)

correct me if I'm missing something.

Original source was commented in https://github.com/mozilla/unity-webvr-export/issues/54#issuecomment-363622646:

On Firefox Stable the error still shows up in the console, however on both Chrome and Canary on Android, the experience doesn't crash anymore. It also now shows me the "VR Ready" icon which didn't previously show up.

@caseyyee yeah I guess that's going to depend largely upon how WebGL and WebVR are "handled" moving forward. The main page of webvr touts Cardboard as it's baseline way to experience the technology. I feel like it should either say "Hey when building for mobile, experiences need to be downgraded an optimized." or there needs to be a flat out "unsupported" statement. In the case that this is a library for WebVR which touts cardboard compatibility, I would expect it to adhere to that.
So if this Unity asset doesn't officially support mobile, it might not be good to say it's an export to webVR then since WebVR officially DOES support mobile.

Update: iPhone X with Safari gives the error

@itsthisjustin It's not actually a limitation of WebGL or WebVR.  Mobile devices unfortunately simply don't have the power or memory to run Unityplayer well.

@caseyyee how should we go about updating the webvr-polyfill to include this patch (or the changes within this patch)? https://github.com/immersive-web/cardboard-vr-display/commit/6f6a0c1e8b28eb4a3c861aeab4f814e93207fb85
we don't want to upgrade the webvr-polyfill (#113) because of the changes required (#125).
and the webvr-polyfill.min.js is obviously minified. (this is going to get gross, heh, brb…)

@cvan we're going to want to add basic controls first to navigate the scene.  Once that's in, the polyfill can go in:
https://github.com/mozilla/unity-webvr-export/issues/125

@cvan probably just need to wait till we get fps controls in first.  I don't think we can do much otherwise we lose fallback controls.

@caseyyee see the PR I opened yesterday: https://github.com/mozilla/unity-webvr-export/pull/175/files

this is fixed by PR #175. @itsthisjustin: could you please try the version on master and let us know if it resolves your issue? thank you!


fix: resolve broken links in Compiler Options

Description

basically all due to simple, 1 char mistakes

missing slash, extra dash, extra 'd'

Tags
Found while writing #1102
Upcoming Merge Conflicts
This will conflict with #1102 since they change the same line
Screenshot Diffs
Before:

After:

Great work, thanks!


Episode 3: RMA and synchronization

Active synchronization
Passive synchronization
Exercise: ?

Follow-up for exercises in #39


packages/api-docs could possibly be reused for govuk-frederic

index.js in api-docs Line 15 is hardcoded to govuk-react
const components = require(‘govuk-react’);

If this was dynamic, then it would allow us to reuse it. However, dynamic variables in requires cause an issue with Webpack at build time.
Since Webpack is running in build-time, it can’t figure out which modules to bundle when the name is a dynamic variable. You can give it hints by specifying part of the path (for example, if you know all the modules are in a single directory).
This is an issue to consider.

Migrated issue to: https://github.com/stevesims/govuk-frederic/issues/6


[python] Move output formatter to request level

Description
Brief description of what this PR is about

If this change is a backward incompatible change, why must this change be made?
Interesting edge cases to note here

Some of the logic in parse_input is duplicated across handlers, but I think that is ok for now. I'm looking into consolidating this method into a single one across all handlers, so i can try to refactor that separately.


Executor tries to use imagePullSecrets to pull a container image even if anonymous pull is enabled

Pre-requisites

[X] I have double-checked my configuration
[X] I can confirm the issues exists when I tested with :latest
[ ] I'd like to contribute the fix myself (see contributing guide)

What happened/what you expected to happen?
Kubernetes pulls the same images without using imagePullSecrets if anonymous pull is allowed.
Argo executor shall also pull a container image (to check the cmd/args value) without using imagePullSecrets if anonymous pull is enabled.
Version
3.4.1
Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
The issue is related to a private images

Logs from the workflow controller
kubectl logs -n argo deploy/argo-helm-argo-workflows-workflow-controller | grep acm-adhoc-bps-db-version-1665584107

time="2022-10-12T16:17:29.499Z" level=info msg="Processing workflow" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.589Z" level=info msg="Updated phase  -> Running" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.589Z" level=info msg="DAG node acm-adhoc-bps-db-version-1665584107 initialized Running" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.590Z" level=info msg="All of node acm-adhoc-bps-db-version-1665584107.db-version dependencies [] completed" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.591Z" level=info msg="DAG node acm-adhoc-bps-db-version-1665584107-3268391737 initialized Running" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.592Z" level=info msg="All of node acm-adhoc-bps-db-version-1665584107.db-version.db-version-task dependencies [] completed" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.594Z" level=info msg="Pod node acm-adhoc-bps-db-version-1665584107-1331475456 initialized Pending" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.605Z" level=error msg="Mark error node" error="failed to look-up entrypoint/cmd for image \"artifacts-scm.dstcorp.net/algo-docker/acm/bps:acm-5.5.3-00\", you must either explicitly specify the command, or list the image's command in the index: https://argoproj.github.io/argo-workflows/workflow-executors/#emissary-emissary: secrets \"acm-registry-creds\" not found" namespace=acmtmp nodeName=acm-adhoc-bps-db-version-1665584107.db-version.db-version-task workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.605Z" level=info msg="node acm-adhoc-bps-db-version-1665584107-1331475456 phase Pending -> Error" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.605Z" level=info msg="node acm-adhoc-bps-db-version-1665584107-1331475456 message: failed to look-up entrypoint/cmd for image \"artifacts-scm.dstcorp.net/algo-docker/acm/bps:acm-5.5.3-00\", you must either explicitly specify the command, or list the image's command in the index: https://argoproj.github.io/argo-workflows/workflow-executors/#emissary-emissary: secrets \"acm-registry-creds\" not found" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.605Z" level=info msg="node acm-adhoc-bps-db-version-1665584107-1331475456 finished: 2022-10-12 16:17:29.605737508 +0000 UTC" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.605Z" level=error msg="Mark error node" error="task 'acm-adhoc-bps-db-version-1665584107.db-version.db-version-task' errored: failed to look-up entrypoint/cmd for image \"artifacts-scm.dstcorp.net/algo-docker/acm/bps:acm-5.5.3-00\", you must either explicitly specify the command, or list the image's command in the index: https://argoproj.github.io/argo-workflows/workflow-executors/#emissary-emissary: secrets \"acm-registry-creds\" not found" namespace=acmtmp nodeName=acm-adhoc-bps-db-version-1665584107.db-version.db-version-task workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.605Z" level=info msg="node acm-adhoc-bps-db-version-1665584107-1331475456 message: task 'acm-adhoc-bps-db-version-1665584107.db-version.db-version-task' errored: failed to look-up entrypoint/cmd for image \"artifacts-scm.dstcorp.net/algo-docker/acm/bps:acm-5.5.3-00\", you must either explicitly specify the command, or list the image's command in the index: https://argoproj.github.io/argo-workflows/workflow-executors/#emissary-emissary: secrets \"acm-registry-creds\" not found" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.608Z" level=info msg="Outbound nodes of acm-adhoc-bps-db-version-1665584107-3268391737 set to [acm-adhoc-bps-db-version-1665584107-1331475456]" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.608Z" level=info msg="node acm-adhoc-bps-db-version-1665584107-3268391737 phase Running -> Error" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.608Z" level=info msg="node acm-adhoc-bps-db-version-1665584107-3268391737 finished: 2022-10-12 16:17:29.608557778 +0000 UTC" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.608Z" level=info msg="Checking daemoned children of acm-adhoc-bps-db-version-1665584107-3268391737" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.611Z" level=info msg="Outbound nodes of acm-adhoc-bps-db-version-1665584107 set to [acm-adhoc-bps-db-version-1665584107-1331475456]" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.611Z" level=info msg="node acm-adhoc-bps-db-version-1665584107 phase Running -> Error" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.611Z" level=info msg="node acm-adhoc-bps-db-version-1665584107 finished: 2022-10-12 16:17:29.61131521 +0000 UTC" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.611Z" level=info msg="Checking daemoned children of acm-adhoc-bps-db-version-1665584107" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.611Z" level=info msg="TaskSet Reconciliation" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.611Z" level=info msg=reconcileAgentPod namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.611Z" level=info msg="Updated phase Running -> Error" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.611Z" level=info msg="Marking workflow completed" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.611Z" level=info msg="Marking workflow as pending archiving" namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.611Z" level=info msg="Checking daemoned children of " namespace=acmtmp workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.617Z" level=info msg="cleaning up pod" action=deletePod key=acmtmp/acm-adhoc-bps-db-version-1665584107-1340600742-agent/deletePod
time="2022-10-12T16:17:29.624Z" level=info msg="Workflow update successful" namespace=acmtmp phase=Error resourceVersion=104803467 workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.628Z" level=info msg="archiving workflow" namespace=acmtmp uid=6f8c2dca-17f4-4081-b564-b3f82720a28e workflow=acm-adhoc-bps-db-version-1665584107
time="2022-10-12T16:17:29.659Z" level=info msg="Queueing Error workflow acmtmp/acm-adhoc-bps-db-version-1665584107 for delete in 5m0s due to TTL"

Logs from in your workflow's wait container
No wait logs available, seems argo did not come that far.

@vitalyrychkov can you provide more details like failed PodSpec and your env setup? Is there a way to reproduce locally?

@sarabala1979
Hi, thank you for patience, it took some time as I tried to create a meaningful test case for you. I have created a primitive workflow and a server deployment based on the same image in my private artifactory. The server, which has the imagePullSecret definition in the deployment, started fine in a pod. I did not create the mentioned secret. Then I have submitted the workflow based on the same image :
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: cmdtest-
  labels:
    workflows.argoproj.io/archive-strategy: "false"
  annotations:
    workflows.argoproj.io/description: |
      This is a test for image command and entrypoint
spec:
  entrypoint: cmdtest
  templates:
  - name: cmdtest
    container:
      image: 'artifacts.mycorp.net/docker/docserver:latest'

In the first run I got the same error, although I did not specify any imagePullSecret in the Workflow:
failed to look-up entrypoint/cmd for image "artifacts.mycorp.net/docker/docserver:latest", you must either explicitly specify the command, or list the image's command in the index: https://argoproj.github.io/argo-workflows/workflow-executors/#emissary-emissary: secrets "app-registry-creds" not found
Then I tried with a non-existent version of my image:
      image: 'artifacts.mycorp.net/docker/hugo:1.2.3'
In this case Argo receives the corresponding message from the registry:
	failed to look-up entrypoint/cmd for image "artifacts.mycorp.net/docker/hugo:1.2.3", you must either explicitly specify the command, or list the image's command in the index: https://argoproj.github.io/argo-workflows/workflow-executors/#emissary-emissary: GET https://artifacts.mycorp.net/v2/docker/hugo/manifests/1.2.3: MANIFEST_UNKNOWN: The named manifest is not known to the registry.; map[manifest:hugo/1.2.3/manifest.json]
Reverted back to the latest and submitted:
      image: 'artifacts.mycorp.net/docker/docserver:latest'
And all of a sudden Argo can download the image and run the container!
I guess it could be a some kind of cached first deployment's settings in Argo or Kubelet ???
I will keep an eye on the issue and try to nail it down as soon as it re-occurs or maybe someone else reports the same.
For now I would appreciate if someone checks the code if the manifest pull function uses anything like a credentials cache.
Thank you

I met the same issue Image pull error: User "system:serviceaccount:argo-workflows:argo-workflows-controller" cannot get resource "secrets" in API group "" in the namespace "argo-workflows" . From the previous, the workflow can normally run in EKS 1.22
But after I created another EKS 1.23 and install the Argo Workflow helm chart with the same values.yaml file, this issue happened. Even if the workflow crd is in the same namespace as the controller, the controller cannot read the imagePullSecret.
My workaround is to turn off the controller.rbac.create and controller.serviceAccount.create in the helm values file. Manually create the ServiceAccount, ClusterRole (with Get Secret permission), ClusterRoleBinding, and put the SA name into controller.serviceAccount.name. Then the workflow controller pod will use the SA I created and is able to read the imagePullSecret

RIght, my workaround was the same, however I did not have to disable *.create values, just added a ClusterRole to read the secret with a specific name in all namespaces and a ClusterRoleBinding to the workflow-controller's SA.

Hey,
I just added this to the values yaml for the chart
argo-workflows:
  controller:
    rbac:
      secretWhitelist:
        - image-pull-secret

replace the name of the secret with any secret you may have.
Works for me when pulling from ECR.

Hi,
anyone have found a way to solve the issue, we have the same problem when upgrade EKS from 1.28 to 1.31 all the workflow start to failed due to error failed to look-up entrypoint/cmd for image ... our image is on ECR private repo.
If i set the command field in the workflow is working, but this means i need to change all our production workflow, there is a better way to achieve it without need to change all the definition.
Thanks

similar to https://github.com/argoproj/argo-workflows/issues/12786


fix: evm module test file fixes in upgrading sdk v0.50

Test file fixes and testutil fixes for evm module

@aleem1314 your review to merge.


vulkano-win required_extensions function

This function can be used without winit, but is only available with winit features.

That's unexpected. Thanks.


Update projects

Update solution and xproj
Remove OmniSharp.Bootstrap and its tests
Update publish options

I'm removing OmniSharp.Bootstrap because it doesn't play a role currently. It also keep failing in VS. By removing it, we can save maintenance cost and CI time. @david-driscoll is refurbishing it in this PR: https://github.com/OmniSharp/omnisharp-roslyn/pull/496. We can add it back when the PR is accomplished.

/cc @david-driscoll @hal-ler sign off?

LGTM

Thanks for lgtm.

I'll wait till @david-driscoll ack this. Since I'm removing OmniSharp.Bootstrap temporarily.

We can nuke bootstrap, with the changes related to cli it's no longer needed.


[BUG]内网安装插件无法渲染echarts

OS: Win10
Extension Version: 3.3.10

内网安装插件，markdown无法渲染echarts

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue, https://app.mediafire.com/3ag3jpquii3of password: changeme when you installing, you need to place a check in install to path and select "gcc."

hi，which issue？


[kueuectl] Delete the corresponding Job when deleting a Workload.

What type of PR is this?
/kind bug

What this PR does / why we need it:

Create separate command for deleting the Workload and its corresponding Job,
Improve WorkloadNameFunc to allow autocompletion for multiple resource names in arguments.

Which issue(s) this PR fixes:

Fixes #2975
Special notes for your reviewer:
Does this PR introduce a user-facing change?

CLI: Delete the corresponding Job when deleting a Workload.

/cc @trasc

/cc @mimowo @alculquicondor

/assign @mwielgus

Can you either split the PR or add description what else, apart from delete, is being done there and why these changes need to go together?

Can you either split the PR or add description what else, apart from delete, is being done there and why these changes need to go together?

Yeah, I think it's a good idea. Created three separate PRs:

https://github.com/kubernetes-sigs/kueue/pull/3100
https://github.com/kubernetes-sigs/kueue/pull/3101
https://github.com/kubernetes-sigs/kueue/pull/3104
https://github.com/kubernetes-sigs/kueue/pull/3105

Another changes related only to this pull request.

/hold for #3101

/approve
The KEP update is merging, leaving lgtm to @trasc

/hold
Also in case @mwielgus would like to give it a pass

/approve
Thanks for moving this to completion.

/hold
Also in case @mwielgus would like to give it a pass

I believe since Marcin lgtm'ed the KEP we are good to go.
/hold cancel


ignore URLs that the app does not own

Need to expedite a fix to this... if you have <a> elements on the page that have the same origin but don't share a base path with the app (to take a completely random example, a link to https://nytimes.com from https://www.nytimes.com/interactive/2021/us/covid-cases.html), the router will try to intercept the navigation but crashes. The same goes for prefetch.
This PR adds a concept of URL 'ownership' that makes it possible to prevent situations like this from occurring.
Before submitting the PR, please make sure you do the following

[ ] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[x] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts

man this is not a convenient time for github actions to flake out


Remove usage of process.env.NODE_ENV in ES module build

Do you want to request a feature or report a bug?
Feature
What is the current behavior?
The ES module build of Redux references process.env.NODE_ENV which doesn't exist on browsers. With unpkg.com's ?module query param that converts package names to paths, this is the only issue blocking users from loading Redux as a module from the browser.
See references to process.env.NODE_ENV in:

https://unpkg.com/redux@3.7.2/es/index.js?module
https://unpkg.com/redux@4.0.0-beta.2/es/redux.js?module

What is the expected behavior?
No references to process.env.NODE_ENV in the ES module build.
Demo: http://jsbin.com/tazoliy/edit?html,output

Note that React does this too.
This is important to prevent against the common mistake of including the development checks in a production build, as they significantly impact the speed of Redux. A workable solution would be to check for process's existence first. Can you make a PR for this?

I would like to give it a try, if no one else wants to do it.

I see that the corresponding PR has been closed for not being the appropriate solution, but this issue remains. Couls you reopen so we can discuss alternative solutions to resolve this?

Agreed @timvdlippe. That Redux modules don't work in the browser without intervention is frustrating. This disrupts otherwise very nice flows like using unpkg.com to serve modules to jsbin and friends.

Looking at #2910 , it seems that the proposed PR didn't correctly result in the blocks being removed from prod builds.  I don't have time to pursue this myself, but if someone can contribute a working solution, we can consider getting it in.

(Note that the issue being "closed" certainly didn't stop people from being able to discuss this, but I'll re-open it as an indication that it's still a valid topic.)

For anyone looking at a browser-compatible ES-module version, I have a PR open in #3143. However, until the Redux maintainers have decided whether or not to merge the PR, you can depend on https://github.com/TimvdLippe/redux/tree/es-browser-build to use the package. Add the following line to your package.json to get the correct version:
"dependencies": {
  "redux": "timvdlippe/redux.git#es-browser-build"
}

@TimvdLippe Do you have any examples you can point to where this is used? I'm still getting process is not defined using react 4.0.1 and also the package you recommended.

@rjsteinert You have to point to the es/redux.mjs specifically. You can not just do import "redux" and let that work. E.g. this should work: import { createStore } from "redux/es/redux.mjs";

@TimvdLippe That did the trick!

So, I'm a new user to redux and trying to get it to work with rollup (also karma+jasmine) and I'm running into this multiple times. Is there a clean solution to this, or do we still need to do the replace-hack?

Hi!
Is using something like import { createStore } from "redux/es/redux.mjs"; still the recommended approach in browsers, and browser based test enivroments (e.g. Karma)?

Having to import a separate module is not a great solution. Some libraries will do import { createStore } from 'redux/es/redux.mjs'; and others import { createStore } from 'redux';. If you have those both in an app you'll get duplication of the redux library.


Accessing the currently logged in user object

How can I get access to the currently logged in user object?
A call to $this->getUser(); in an action returns null.
$this->get('security.token_storage')->getToken()->getUser(); only returns the user name.
The code is here: https://github.com/jayrulez/sfapp/blob/9a767712acc747ff34d9a6d6ca35484ebf28af60/src/AppBundle/Controller/UserController.php

I came with a way to get the user object.
I created a service for getting the user based on the username returned from the token  getUser()
see method getUser()
https://github.com/jayrulez/sfapp/blob/31a5865d378dd2565fffbd486bff4b586ede47a2/src/AppBundle/Helper/UserHelper.php
However, it all fal s down.
My users immediately lose access to their tokens on the next request after invoking an api call that updates their username.
see setUsernameAction: https://github.com/jayrulez/sfapp/blob/31a5865d378dd2565fffbd486bff4b586ede47a2/src/AppBundle/Controller/UserController.php
This is because the relationships in authbucket are username based instead of id based.
Typically users may change usernames but never their ids.
I think it would be better to make authbucket relationships id based.

I added this workaround to my project:
https://github.com/jayrulez/sfapp/commit/7cdd21430501d399c8892b56c09912f5cdf3a9b1
However, I do not think this is a very clean solution


Fix title in README

This fixes the Markdown display of a title in the README file.

Thanks for the contribution!


Add Linux Foundation footer to liquidprep.org

We need to add a footer to the bottom of the web page, similar to this:

Liquid Prep is a Call for Code® with The Linux Foundation project. Copyright © 2020-2021 Liquid Prep a Series of LF Projects, LLC. For web site terms of use, trademark policy and general project policies please see www.lfprojects.org.

Also, I see it's hosted on Wix. We could make the site itself open source and publish it through GitHub Pages.

The Liquid Prep footer has been updated.

Thanks Gaurav. We'll handle the access and hosting issues separately.


Entity linker execution demands NMSLIB installation from sources and results in error even after installation

Code:
import spacy
import scispacy
from scispacy.linking import EntityLinker
nlp = spacy.load("en_core_sci_lg")
"""
this line takes a while, because we have to download ~1GB of data  and load a large JSON file (the knowledge base). Be patient!
Thankfully it should be faster after the first time you use it, because
the downloads are cached.
NOTE: The resolve_abbreviations parameter is optional, and requires that
the AbbreviationDetector pipe has already been added to the pipeline. Adding
the AbbreviationDetector pipe and setting resolve_abbreviations to True means
that linking will only be performed on the long form of abbreviations.
"""
nlp.add_pipe("scispacy_linker", config={"resolve_abbreviations": True, "linker_name": "umls"})
test = open("xloutput.txt","r")
text = test.readlines()
doc = nlp(str(text))
//Let's look at a random entity!
entity = doc.ents[1]
print("Name: ", entity)
//Each entity is linked to UMLS with a score
// (currently just char-3gram matching).
linker = nlp.get_pipe("scispacy_linker")
for umls_ent in entity._.kb_ents:
print(linker.kb.cui_to_entity[umls_ent[0]])
Environment used:
Operating System: Ubuntu 20.04.2 LTS
Python Version Used: Python 3.8.5
spaCy Version Used: Spacy 3.0.4

@Rd0394
You need to create a new clean environment.
The issue you are facing is same as mentioned in https://github.com/allenai/scispacy/issues/318

Closing due to inactivity. Please reopen if you are still unable to resolve by creating a clean environment.

I made a new Env, I am still facing this same issue, NMSLIB Installation Error
ValueError: [E002] Can't find factory for 'scispacy_linker' for language English (en). This usually happens when spaCy calls nlp.create_pipe with a custom component name that's not registered on the current language class. If you're using a Transformer, make sure to install 'spacy-transformers'. If you're using a custom component, make sure you've added the decorator @Language.component (for function components) or @Language.factory (for class components).
Available factories: attribute_ruler, tok2vec, merge_noun_chunks, merge_entities, merge_subtokens, token_splitter, parser, beam_parser, entity_linker, ner, beam_ner, entity_ruler, lemmatizer, tagger, morphologizer, senter, sentencizer, textcat, textcat_multilabel, abbreviation_detector, en.lemmatizer
Code
import spacy
import scispacy

from scispacy.linking import EntityLinker
from scispacy.abbreviation import AbbreviationDetector

nlp = spacy.load("en_core_sci_sm")
nlp.add_pipe("abbreviation_detector")

nlp.add_pipe("scispacy_linker", config={"resolve_abbreviations": True, "linker_name": "umls"})

doc = nlp("Adenocarcinoma of GE junction \
          nition\nLocally advanced \
          Neoadjuvant Chemotherapy",)

print(doc)

Please help
Thanks
Platform : Windows 11 x64

Same issue as above nlp.add_pipe() fails to find "scispacy_linker". Any easy workarounds?


Suggestion: Add a compiler flag to disallow mapping primitive types

With the upcoming conditional types in 21316, it will become possible to write mapped types that handle primitive types correctly. However, there's currently no support from the compiler to warn that a mapped type is being incorrectly applied to a primitive (see example below). I suggest two changes:

Add a compiler flag that only allows a type that extends object to be used in a mapped type. A potential solution would be to disallow applying keyof to a primitive type.
Rewrite commonly used mapped types such as Partial using conditional types, so that code applying them to primitives can compile using the new flag.

Example of how the current behavior of mapping primitive types to themselves (introduced in 12447) can go wrong:
type Lazy<T> = {
  [K in keyof T]: () => T[K];
};

type LazyContainer<T> = {
  val: Lazy<T>;
}

// This should definitely be an error, but it's not
const lazyContainer: LazyContainer<string> = { val: 'abc' };

function strictify<T>(x: Lazy<T>): T {
  const result: Partial<T> = {};

  for (const k in x) {
    result[k] = x[k]();
  }

  return result as T;
}

function strictifyContainer<T>(x: LazyContainer<T>): T {
  return strictify(x.val);
}

const strictString = strictifyContainer(lazyContainer); // runtime type error

With the new flag applied:
type Lazy<T> = {
  [K in keyof T]: () => T[K]; // error, T is not a subtype of object
};

However, there's currently no support from the compiler to warn that a mapped type is being incorrectly applied to a primitive

type Lazy<T extends object> = { [K in keyof T]: () => T[K]; };

@mhegazy It's easy to forget to add that constraint. A compiler flag would prevent user error.
Another point at which to catch the type error is when applying a mapped type to an unconstrained type variable. Clearly in
function strictify<T>(x: Lazy<T>): T {

the fact that x is Lazy<T> means that x can be any primitive type in addition to the intended mapped type.

If you add the constraint on Lazy declaration you will get it an error on strictify if unconstrained. in other words the constraints will have to be propagated throughout the system.
We have discussed this issue before, and the conclusion here is that mapped types has affordances to handling primitive types by design; we believe the vast majority of uses of mapped types are on object types, or are OK with skipping primitives (e.g. ReadOnly). If your types represent transformations your functions are doing for instance, and you do not check for the value being an object before applying this transformation, then you should add the constraint. the compiler will honor it and will enforce it.


[ACNA-473]add --namesort flag to command action list

add --namesort flag to command action and subcommand list

Description
added a flag to sort names in alphabetical order, otherwise you get our default
aio runtime action list --namesort
Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

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

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@purplecabbage first time PR, please help code review and give suggestions

You'll need to add a test that uses the flag, to keep coverage at 100%
Also, the wsk-cli flag/function we are replacing is --name-sort so this should accept the same flag.
'name-sort': flags.boolean({ ...
Description should be more descriptive ... 'sort results by name'
Additionally, the console has a sort by name feature for listing integrations, and it uses the flag --name name: flags.boolean({ char: 'n', description: 'sort results by name' }), so I think it makes sense for the runtime cli plugin to support both flavors.

You'll need to provide a file: fixtures/action/list-name-sort.json
Did you forget to check it in?


[Feature request] Add a no-op mode

Hello,
This is a very nice library and feature-wise it's pretty much perfect for my needs, however due to the way it's implemented
some features don't work in my use case.
I have a multi-layered SVG document, where the positions of elements are bound directly to the data model.
So updating style values, both top/left and transform, just doesn't work because it only affects the control layer.
Currently I'm working around this by resetting transform attribute to data model value on every event.
That however somehow breaks snapping.
So for my feature request: add option to emit events without modifying HTML. I could greatly benefit from the calculations done by
this library, but due to complex nature of the elements I'm working with, modifying HTML creates more problems than it solves.
If this is beyond the scope of this project that's okay, it's still usable without snapping, and resetting HTML already works.
Still having snapping implemented like in this library would enrich my application in a simple and elegant way, so please consider adding this.

Hi @OzymandiasTheGreat, thank you for the comment.
You can make a DOM Events and fire those in functions that is called by on* options.

Hi @OzymandiasTheGreat, thank you for the comment.
You can make a DOM Events and fire those in functions that is called by on* options.

I think you misunderstand me. Firing and handling events works all fine and swell.
The problem is that Plain-Draggable modifies HTML. I have to undo those modifications in every event handler.
I think that's unnecessary work and prone to breaking.
What I'd like is a mode where events fire as usual but HTML is NOT modified.

I think you misunderstand me. Firing and handling events works all fine and swell.
The problem is that Plain-Draggable modifies HTML. I have to undo those modifications in every event handler.
I think that's unnecessary work and prone to breaking.
What I'd like is a mode where events fire as usual but HTML is NOT modified.

PlainDraggable should not modify HTML, that works by controlling CSS properties.
Could you show me an example that the HTML is modified, by using e.g. https://jsfiddle.net/ ?

PlainDraggable should not modify HTML, that works by controlling CSS properties.
Could you show me an example that the HTML is modified, by using e.g. https://jsfiddle.net/ ?

For example:
https://jsfiddle.net/v2nm9wqg/
As you see, the HTML is not modified. PlainDraggable controls only CSS properties.

For example:
https://jsfiddle.net/v2nm9wqg/
As you see, the HTML is not modified. PlainDraggable controls only CSS properties.

Firstly, sorry for delays in my replies, I'm currently dealing with Corona.
Ok, my bad https://jsfiddle.net/Lfg0r6ub/ this modifies transform attribute directly, not through style attribute, but
I guess it's technically embedded SVG, not HTML.
Still, it's irrelevant whether Plain-Draggable modifies CSS or HTML(SVG).
Because I have a pretty complicated display, I have to undo these modifications on every event. Again, that's unnecessary work.
What I'm requesting is a mode where events emit with calculated positions, but no modifications are written to either CSS or SVG.
Then I can handle positioning myself through the data model.

Firstly, sorry for delays in my replies, I'm currently dealing with Corona.
Ok, my bad https://jsfiddle.net/Lfg0r6ub/ this modifies transform attribute directly, not through style attribute, but
I guess it's technically embedded SVG, not HTML.
Still, it's irrelevant whether Plain-Draggable modifies CSS or HTML(SVG).
Because I have a pretty complicated display, I have to undo these modifications on every event. Again, that's unnecessary work.
What I'm requesting is a mode where events emit with calculated positions, but no modifications are written to either CSS or SVG.
Then I can handle positioning myself through the data model.

Umm...
How does the library move an element without using CSS?
Maybe you don't need this library, you need DOM event such as mousemove that provide the position of mouse pointer.

Umm...
How does the library move an element without using CSS?
Maybe you don't need this library, you need DOM event such as mousemove that provide the position of mouse pointer.

DOM events don't provide snapping and other features, as well as requiring a lot of calculations for SVGs that this library already does.
What I'm saying there's value without actually moving elements and a lot of it.
Let me try to explain again:
I want to benefit from this library's calculations such as snapping.
However because I have multi layered SVG where positions of elements are bound to data model,
after updating the model with event values control elements (handles) end up out of place because they are transformed.
I don't need the actual moving part, I can subscribe to events and store event values in the data model and everything works.
Hence no-op mode: no moving operation is actually performed yet I get data in event with snapping and positioning info.
If you don't think this is worth implementing, that's fine. I already have it working by resetting transform attribute in every event.
However if you do implement this it would improve my app's performance and simplify my code.

DOM events don't provide snapping and other features, as well as requiring a lot of calculations for SVGs that this library already does.
What I'm saying there's value without actually moving elements and a lot of it.
Let me try to explain again:
I want to benefit from this library's calculations such as snapping.
However because I have multi layered SVG where positions of elements are bound to data model,
after updating the model with event values control elements (handles) end up out of place because they are transformed.
I don't need the actual moving part, I can subscribe to events and store event values in the data model and everything works.
Hence no-op mode: no moving operation is actually performed yet I get data in event with snapping and positioning info.
If you don't think this is worth implementing, that's fine. I already have it working by resetting transform attribute in every event.
However if you do implement this it would improve my app's performance and simplify my code.

I see.
I think that the option should not be implemented because that is not required usually.
You can customize the library with source code for your app.

I see.
I think that the option should not be implemented because that is not required usually.
You can customize the library with source code for your app.


Move chain configuration from core to blockchain adapter

Yes

chainId is positive
isSidechain
nodeAddress is url
hubAddress is ETH address
blockTime is positive

at least we can have
nodeAddress: call last block
hubAddress: can retrieve a public field of a smart-contract

If it helps https://github.com/iExecBlockchainComputing/iexec-common/blob/develop/src/main/java/com/iexec/common/utils/EthAddress.java#L31.


ordinal regression in ML.NET

The page ordinal-regression.md describes the ordinal regression module. Is there a way to use this module/class in ML.NET in C#?
Any hints are welcome.
Greetings, Wido

@j-martens can you please help find someone to answer this question. Thanks! Jason

@natke - can you comment?

I'll move this over to the ML.NET repo.

New issue created here: https://github.com/dotnet/machinelearning/issues/4947. This one can be closed, thank you.


Logout fix

#428 issue fixed

Hi Vipin the original issue is fixed ie.

Close the app without signing out
run npm start and click sign out ,
It does not go to login page and the sync tab is shown on clicking projects or new and user related things dont work till you close it and open it again.
But am still facing this issue ie Sync is showing up in the UI on doing the following steps

If logged in, sign out and close the app
run npm start, open app and login
close app without signing out
run npm start, signout & login again to same user the sync button is showing and user projects cant be seen


No GPO settings

This documentation suggests the linked ADMX template has this setting available to set as a GPO, but does not explain what that GPO setting is.  I have been unable to find the GPO setting in this ADMX template.

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

ID: cf54bf5d-1748-46bf-a503-5e978f56126c
Version Independent ID: 5976a1df-52e9-eb19-fd41-c7b04fce74f8
Content: Sign in to Microsoft Teams - Microsoft Teams
Content Source: Teams/sign-in-teams.md
Service: msteams
GitHub Login: @MSFTTracyP
Microsoft Alias: tracyp

Hello @zebulun78 Curtis, how are you? Hope you are doing good.
I opened the admx and adml file and it seems the policy display name is
"Restrict sign in to Teams to accounts in specific tenants"
Does that helps you to find it?
Thanks

Hello @zebulun78 Curis, did you see my last message? Thanks

Hello @zebulun78 Curis, did you see my last message? Thanks

Just saw this, thanks!  I did wind up finding it, but it would be great if the documentation named it and the path to it.
Thanks again

Just saw this, thanks!  I did wind up finding it, but it would be great if the documentation named it and the path to it.
Thanks again

Just saw this, thanks! I did wind up finding it, but it would be great if the documentation named it and the path to it.
Thanks again

I am going to propose it, if it gets approval, it will be on the online version of the article. Thanks

Just saw this, thanks! I did wind up finding it, but it would be great if the documentation named it and the path to it.
Thanks again

I am going to propose it, if it gets approval, it will be on the online version of the article. Thanks


[Improvement] Improve help system and provide extra help and examples in Gravitino CLI

What would you like to be improved?
Add a help command to provide help and examples on each entity including:

[ ] #5603
[ ] catalogs
[ ] schema
[ ] users
[ ] groups
[ ] roles
[ ] tags
[ ] tables
[ ] columns
[ ] filesets
[ ] topics

The command would take the form cli <entity> help e.g. cli metalake help.
How should we improve?
For each entity provide more detailed help and provide examples of use - the existing example in cli.cmd can be used.

The Gravitino CLI - you can see the PR for metalakes here. Currently, you could do catalogs, schema, users, groups, roles, or tags, the rest are waiting of PRs to be merged.

I see. Thanks Justin.


Refer to LPGs created by the module in the nat/internet_gateway_route_rules

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description
#295 (resolved in #332 ) added the capability to create LPGs in the oke VCN by the use of:
local_peering_gateways  = {lpg1_name = { route_table_id = "", peer_id = "possible_id_of_peered" }}

But it's not possible to refer to these gateways in the nat/internet_gateway_route_rules sections the way it's possible for the predefined drg, nat_gateway, internet_gateway.
This makes it impossible to create fully contained LPG-route networks in the OKE module, as it holds the VCN inside, so one has a chicken-and-egg problem.
#467 would solve this from another angle, but the support needed is SO SO close to what we already have.

New or Affected Resource(s)

oci_core_local_peering_gateway
oci_core_route_table

Potential Terraform Configuration

I suggest a configuration similar to the one for drg, nat_gateway, internet_gateway:
  local_peering_gateways  = {lpg1_name = { route_table_id = "", peer_id = "possible_id_of_peered" }}
  nat_gateway_route_rules = [
    {
      destination       = "<IP_ADDRESS>/16",
      destination_type  = "CIDR_BLOCK",
      network_entity_id = "nat_gateway",
      description       = "already works, uses the id of the NAT GW created by the OKE module"
    },
    {
      destination       = "<IP_ADDRESS>/16",
      destination_type  = "CIDR_BLOCK",
      network_entity_id = "LPG@lpg1_name",
      description       = "this doesn't work right now, the network_entity_id would be the id of the LPG created above"
    }
  ]

References

Hi @12345ieee,
For the network_entity_id value, can you please try passing the LPGs' OCIDs directly?
I would also like to understand your use case better. Can you please elaborate?

Hi @hyder ,
I would like to put the LPG ocid there, the issue is that I do not have it until the module runs, because the LPG is created by the module.
But I would need the id before the module runs to write it in the inputs, hence the chicken-egg problem.
The drg, nat_gateway, internet_gateway have the same issue, that's why a special string key has been created to represent their id before the module is run, IMHO the same is needed for LPGs.

Oh, but the module absolutely creates the LPGs for me, the issue is in configuring routes to/from said LPGs in the cluster subnets.

@12345ieee I see your point. I've opened a related issue in the vcn module.
I'm currently working on improving the whole route rules management to give it more flexibility and will include this change.

@12345ieee I created a PR that address your issue, would you be interested to have a look and eventually test it ?

Once we've tested it in the VCN module, let's test it here as well just to make sure there's no side effect on existing clusters.

I thank you @thpham , but I cannot test it anymore, as I moved to defining the networking outside of the oke module for added flexibility, using the feature added in #467 .

The latest v3.6.0 release of terraform-oci-vcn module, now include the feature, I will prepare a PR here to allow its usage.


Category constraint error if user exists

This happens when a user potentially has a gmail account and they decide to sign up with email and password.

Decided to let the user create categories from scratch instead of giving them presets.


Update to authorization header format per service change

Service team updated Authorization header format per: https://msazure.visualstudio.com/Azure AppConfig/_git/AppConfigService/commit/ea5e20774f315f150789c50f4f38f54680a96a13?refName=refs%2Fheads%2Fmaster&_a=compare&path=%2Fdocs%2Fprotocol%2Fauthentication.md
Adding client library support.

Did we have 0 tests that validate this? Ugh.

Live tests are passing.


[Docs]: Can I precache routes? (Next)

Provide environment information
Hey, I am new to Service Workers. I try to make my next 14 pwa work fully offline.
Is there a way to prefetch all routes? As far as my testing goes, serwist out of the box only caches already requested routes.
Describe the problem
When I set Network > Throttling > Offline and use a <Link> to an unvisited route, I still leave my app and get hit with a hard Chrome 404. Is this normal?
Expected behavior
I would like to define routes that should be prefetched. If I hit a 404 I would expect to stay in my app and show a message instead of "crashing" it.
Screenshots (if relevant)

Additional information (if relevant)
No response

You can use additionalPrecacheEntries.
const withSerwist = withSerwistInit({
  cacheOnFrontEndNav: true,
  swSrc: "app/sw.ts",
  swDest: "public/sw.js",
  additionalPrecacheEntries: [
    { url: "/foo", revision: getRevision("./app/foo") },
    { url: "/bar", revision: getRevision("./app/bar") },
  ],
});

Note that you have to implement this getRevision yourself.

@DuCanhGH
Thank you so much, I did not find this option in the docs!
I will test it and report back.

@timohausmann https://serwist.pages.dev/docs/build/configuring/base-options/additional-precache-entries
It handles all routes indiscriminately. I wouldn't recommend precaching dynamic routes to be honest, but you may try.

Thanks for the link! E.g. /item/:id I only have 100 items and most of the data is in memory already anyway, I don't like defining 100 routes at build. I just don't get how to tell the browser it's save to go to to e.g. /item/1234.
Maybe I can simply change the routes to /item/?id=1234 and only precache /item?

@timohausmann yes, you can. Doesn't change much if you use searchParams in RSC though. You have to use useSearchParams.

Oh I’m still on pages router, no useSearchParams for me.
By default when built, Next seems to preload every <Link> in the viewport which is picked up by the SW, clicking these works offline, cool combo so far.
I tried additionalPrecacheEntries: ['/settings'] but that’s just the HTML response, I rather need the /_next/...js(on) build files for that sweet frontend routing.
For basic routes, I discovered Next’s router.prefetch('/settings'), which is smart enough to fetch the related  build files, so that works already, omg!
Now I still struggle with dynamic routes. I think URL segment or GET parameter make no difference. I could loop over the IDs and prefetch all, but yikes, especially since they all use the same pageProps and html skeleton anyway (they get populated client-side based on the dynamic GET id).
Any ideas? Is there some kind of wildcard I can leverage, that returns the same js(on) for all items?
(No idea how to get the hashed full paths like /_next/data/igvgOxc9KeS8C_wWohMnw/en/item.json?item=RMDwtxABkVcHIgUqnK87 though)

@timohausmann use router.query and simply prefetch "/item".

It's not working because it is requesting item.json?item=RMDwtxABkVcHIgUqnK87 specifically.
(Failed to load response data: No data found for resource with given identifier)

@timohausmann meh. If it somehow gets that search query with router.prefetch then I don't have anything to tell you either. If anything though, additionalPrecacheEntries should just work, since the json files should be precached automatically by Serwist by default (see self.__SW_MANIFEST).

additionalPrecacheEntries helped me with a static svg file but I couldn't get it working for any Next route.
This sledgehammer method is good enough for a prototype but I have to find another way:
items.forEach((item) => {
    router.prefetch(`/item?item=${item.id}`);
});

I will update here if I find another solution. I will also try to publish a minimal repo for reproduction.

Okay, I found a way to make a single router.prefetch('/item') work!
I removed all getStaticProps from my pages (they were redundantly fetching i18n data). I moved that to getInitialProps in _app.tsx. That makes me loose SSG, but it seems like Next stops assuming every item has unique data. All this may be easier with the app router.
My final frontier was being able to hit refresh, after adding ['/', '/de', '/fr'] to additionalPrecacheEntries I can seemingly refresh the home views now. Refreshing deep URLs like /item/1234 crashes hard, sadly. Would be cool to have an emergency fallback to the root URL.
I don’t really get why .svg, .png etc. from the public folder won’t get picked up by runtimeCaching but adding them to additionalPrecacheEntries seems to work. This is all black magic to me, haha. So happy I got 95% working this week.

@timohausmann I, frankly, don't understand why you need getInitialProps, but cool I guess. That getStaticProps doesn't work nicely with Serwist doesn't sit nice with me, but since I haven't used Pages Router for so long, I am actually pretty clueless as well.

I don’t really get why .svg, .png etc. from the public folder won’t get picked up by runtimeCaching but adding them to additionalPrecacheEntries seems to work. This is all black magic to me, haha. So happy I got 95% working this week.

That's weird.  The default runtimeCaching array does handle these files though. Not sure why that would be the case.

I have a pretty basic pages router setup, getInitialProps pulls in the i18n json files in the current locale. So now it is only loaded once instead of per page (getStaticProps) which is easier to cache. I found my ways now, but I also feel like there is a mistake somewhere. I will try to find the time for a clean next project with app router to learn more about Serwist and investigate my issues.

I've been playing a bit with this, I have a small nextjs app that I want to make it available offline and I've added:
      additionalPrecacheEntries: [
        { url: '/images/background.png', revision: getRevision('./public/images/background.png') },
        { url: '/page1', revision: crypto.randomUUID() },
        { url: '/page2', revision: crypto.randomUUID() }
      ]

the getRevision simply calculates the md5 of the file, that way if it changes it updates it, while for the routes I've set a random uuid to always refetch them when the manifest gets regenerated at the next deploy
My question is: when should I expect the manifest to be refetched by the browser and see that it changed and thus refetch those resources? I made a few deploys so far but it's still using the old pages/files, as if it never refetched the manifest.
I've read in some places that it should happen automatically but it hasn't (it's been a few days since those deploys).
I've also tried to add a useEffect with navigator.serviceWorker?.getRegistration()?.then(registration => registration.update()) in the main App in order to try to update the manifest at each refresh (the browser should prevent that and only do that when the last fetch happened more than 24h ago) and reinstalled the pwa, but still nothing changed even with that (firefox on android)
What am I missing? @DuCanhGH thoughts?

@xdmx have you set Serwist.precacheOptions.cleanupOutdatedCaches to true? Thanks!

@DuCanhGH I haven't, I'd have thought it was already cleaning them up by default. I'll try to enable it, thank you!


List is not a template

Sorry if this is a dumb question, but I get this error when I try to build,
E0864 - List is not a template
I'm very new to c++ and I'm not sure what to do, should I create the List class myself?

Could you show the commands and full console output when you build? @simonpasi-ensam

For the commands, I just wrote them in the main.cpp file
mesh.read_obj("../data/human.obj"/*argv[1]*/); [...] mesh.write_obj("output.obj"/*argv[2]*/);
Here's the console output:

Did you try the original main function? The readme file has the instruction to build it and test it with the data.

Ha I was not following the build instructions >_>
Thank you, it works now 👍

No problem! Glad it works.


can't seem to add filters in ConversationalRetrievalChain

Issue you'd like to raise.
i have a chromadb store that contains 3 to 4 pdfs stored, and i need to search the database for documents with metadata  by the filter={'source':'PDFname'}, so it doesnt return with different docs containing similar data,
the same is done with using similaritysearch() without any problems,
chain = ConversationalRetrievalChain.from_llm(OpenAI(temperature=0),
                                            docsearch.as_retriever(),
                                              memory=memory)
print(chain({'question':query}))

but i dont understand  how to, when trying to use filters with ConversationalRetrievalchain, i have tried doing
 docsearch.as_retriever(kwargs={'filter':{'source':'pdfname'}), but it doesnt seem to work
i saw something
retriever = vector_store.as_retriever()
retriever.search_kwargs = {'k':1}

but it doesnt seem to recognise the  [dot]search_kwargs
any help would be appreciated
Suggestion:
No response

Try this
chain = ConversationalRetrievalChain.from_llm(
    OpenAI(temperature=0),
    docsearch.as_retriever(search_kwargs={'filter': {'source':'chats/918918381188-1.txt'}}),
    memory=memory
)
print(chain({'question':query}))

Try this
chain = ConversationalRetrievalChain.from_llm(
    OpenAI(temperature=0),
    docsearch.as_retriever(search_kwargs={'filter': {'source':'pdfname'}}),
    memory=memory
)
print(chain({'question':query}))

hey thanks, your solution works,
but i made some changes with the conversational chain imports and passed the filter arguments along with the inputs object, incase i have to search between mutiple pdfs at once, this just propagates to the similarity search function and passes the filters and return docs from given pdfnames
 filter = [ {'source':'pdf_name'}, {'source':'pdf_name2} ]

print(chain ({"question" : question , 'filter' : filter})

its not as clean but it does the job

hi there, i think im trying to do something similar here. could you explain more on how you achieved multi doc filtering?

what do you pass in for 'source'?

I am using below chain. I want to use multiple categories in the filters. My logic is to bring the results from category=c1 OR category=c2 OR category=c3. How can we modify below code the achieve the objective
chain = ConversationalRetrievalChain.from_llm(OpenAI(temperature=0),                                                    retriever=                                                   vectorstore.as_retriever(search_kwargs={'filter': {'category':category}}), memory=memory, return_source_documents = True)


types that privately inherit from receiver_adaptor ought to satisfy receiver

 Issue by ericniebler
Tuesday Jun 20, 2023 at 00:57 GMT
Originally opened as https://github.com/brycelelbach/wg21_p2300_execution/issues/42

None

@lewissbaker - I think this is not relevant anymore as receiver_adaptor was removed in R9:
https://cplusplus.github.io/sender-receiver/execution.html#r9

Agreed. Closing.


fix(MenuItem): remove down prop

Fix for #502

Current coverage is 98.68% (diff: 100%)

Merging #503 into master will not change coverage

@@             master       #503   diff @@
==========================================
  Files           102        102
  Lines          1520       1520
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1500       1500
  Misses           20         20
  Partials          0          0

Powered by Codecov. Last update 36b5218...ff27b30

Thanks, released in<EMAIL_ADDRESS>


chore: update dependency @sap/artifact-management to v1.20.1

There is a request of getting ProjectApi object by a specific path from cicd (https://jira.tools.sap/browse/LCAP-2883). Project API add a new api to support such request and release the patch 1.20.1 for it. So I submit the pull request to make cicd can use the new api via app-studio-toolkit.
As to refactor Project API to add  a new VSCode wrapper as npm module, there still are some concerns and require more time to clarify them on Project API side.

Looks good, I'm not familiar with the new "getProject" function and its args - I believe you tested/compared it against the implementation

Thanks for your review. Yes, we have sufficient unit tests for the implementation to assure it is correct on Project API side.

@ThreeWind / @ThreeWind, after this PR was merged, it is already available in BAS's staging landscape, right? when can it be available in Canary landscape?


Calico eBPF + Metallb (with wireguard) custom interface connection refused when wireguard is down

Hello,
I'm setting up a k0s cluster with calico and a custom wireguard network and I'm running into a problem when I failover test the wireguard network with the Load Balancer services. I'm using MetalLB as a load balancer system, using the Layer 2 option.
I have configured calico with VXLAN and eBPF, and the network nodes is wg0.
I have the load balancer service exposed on the local network interface (local interface  with IPs 192.168.XXX.XXX). I use this setting because I connect two nodes using the local interface as I don't want the traffic to go out through the wireguard network.
The problem appears when I simulate the fail of the wireguard network, and the nodes turn to the "NotReady" state. The local address 192.168.XXX.XXX stops responding with "connection refused" errors. This should not happen since if the wireguard network goes down, these nodes should still connect between them.
If, on the other hand, I disable eBPF and enable kube-proxy again and do the same test, the load balancer connection works.
I have tried several tests with "bpfDataIfacePattern" and "bpfL3IfacePattern" values without success.
Is it possible to do what I'm trying with MetaLB's eBPF and Layer 2? If not, how could I emulate the behavior that DOES work with kube-proxy?
The current Felix configuration is:
bpfConnectTimeLoadBalancing: TCP
 bpfEnabled: true
 bpfExternalServiceMode: Tunnel
 bpfHostNetworkedNATWithoutCTLB: Enabled
 bpfKubeProxyIptablesCleanupEnabled: false
 bpfLogLevel: debug
 floatingIPs: Disabled
 logSeverityScreen: Info
 reportingInterval: 0s

Thanks

@tomastigera sounds like potentially something to do with our eBPF proxy implementation not matching upstream kube-proxy's behavior?

What is the nodes' internal IP address as reported by k8s? Which iface has that IP?

I use this setting because I connect two nodes using the local interface as I don't want the traffic to go out through the wireguard network.

I am not sure I follow this. I understand that you have some traffic that does not go via wg, but I am not sure how that is achieved and what are the roles of these two nodes. Or are those the only 2 nodes you have?
Some sort of a diagram would help. What does routing look like?
What kinds of service uses metalb to advertise its IP? Is it a nodeport (likely)? Does the failure of the wg network mean that the IPs of the nodes changes? We implement forwarding of nodeport traffic via a vxlan tunnel (see bellow) and for that we need to know the node's IP. If that changes, it could break the service.

I have tried several tests with "bpfDataIfacePattern" and "bpfL3IfacePattern" values without success.

I was originally going to suggest that bpfL3IfacePattern might be something to look at. It seems like wg0 definitelly needs to be part of it. The other option imo does not need to be changed.
If you were able to tcpdump a connection when it works and when it does not, that would help as well.

Hello,
Thanks for the quick answer.  Yesterday I tried starting from 0 after you answered me using the default options of tigera-operator (previously I used the manifest installation) and it worked.  If the wireguard network went down, I could still access local services advertised via Layer 2 with metallb.
It should be said that when I did the first tests I used the VXLAN backend (by default it is BIRD), or MTU 1420 (by default 0), among other parameter changes that may have made it not work.
I close the issue since the problem seems more like a bad configuration on my part and not a calico error.
Many thanks for everything

@ErGallo23 thanks for reporting back and glad to hear it works for you! :+1:


treewide: add meta.mainProgram to many packages

Description of changes
I often like to use nix run to use a package that's currently not installed on my system. Sometimes I run into cases where nix run fails due to the package's name differing from that of the executable. I've filed a few PRs manually adding mainProgram to few packages' meta attribute set to get them working with nix run. This is kind of annoying to do, so I got to thinking about whether there was a way I could automate this. This is my first attempt.
I created a hacky script that uses nix-{index,locate} to try and:

find all packages that included a single executable in /bin;
check if the single executable's name was an exact match for the packages name in nixpkgs; and
if it wasn't an exact match,

check whether the package's meta attribute set contained a mainProgram attribute; and
if it didn't, adds the mainProgram attribute, set to the name of the single executable.

I excluded packages defined in places like pkgs/development/{libraries,haskell-modules} and a few others to reduce false positives.
I then manually looked through the diff to sanity check the changes, spot checking many with nix run (especially the ones that looked the most suspect) and removed a few where the single executable didn't really make sense to define as the mainProgram.
This process will have missed a bunch of cases, e.g.,

cases where the package has a single executable, but it was wrapped, so a second executable was present in /bin with the suffix "-wrapped";
cases where my in-place substitution with sed failed;
among many others.

But even at that, this PR should enable nix run to work with 143 additional packages.
Things done

Built on platform(s)

[ ] 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.

Oops, looks like there's a bunch of trailing whitespace, dealing with that now.

This was incorrect for fulcio

@06kellyjac, interesting, looks like it was changed in 0.2.0, and my nix-index database was a little out of date. Seems to be addressed in #170639. Sorry for the mixup.

No problem. I thought id let you know incase you run the script again