Adopt IProcessEnvService in case shell environment is needed

Details: https://github.com/microsoft/vscode/issues/106537#issuecomment-710084252
Today: The workbench depends on user env to be resolved. Resolving user env envolves spawning a shell and executing the user's init scripts. This can take long.
Ideally: The user env is only required for specific features: opening terminals, spawning tasks, spawning extension host. Until it's resolved, many other features should actually work, ie explorer, editor, etc.
Related:

https://github.com/microsoft/vscode/issues/15452
https://github.com/microsoft/vscode/issues/108571
https://github.com/microsoft/vscode/pull/55194
https://github.com/microsoft/vscode/issues/30847

After discussion with @joaomoreno we think this could work:

we stop replacing process.env but keep it as is
we introduce a new service IProcessEnvService that has a single method env: Promise<typeof process.env>

The implementation will talk to the electron-main side and ask for a merged flat view on the process environment to use:

if the window was started from the CLI it will be that environment including custom user defined variables

we will preserve this environment even when the window changes folders to fix https://github.com/microsoft/vscode/issues/108571

if the window was started from the UI it will be

the shell environment by spawning a shell and getting the variables if the main process was also started from the UI
the main process environment (including custom user defined variables from the first launch) if the main process was started from the CLI

If the first launch of VS Code started from CLI, under let's say some Python virtualenv, then any new window created not from CLI will have that virtualenv applied. That's unlike the case when the first launch of VS Code was from UI, where it would just have the shell environment.
What I'm trying to say is that anything that depends on whatever the first launch happened to be is confusing. It might make more sense for it to only depend on the way the current launch happened, independent of whatever the first launch happened to be. But that's just my two cents, there may be a reason for it that I'm not seeing.
Or maybe that first launch thing is really for when you launch a new VS Code window from another VS Code window, rather then the OS GUI. Maybe it would make more sense to inherit the environment of that window then, instead of the environment of the first launch.
Any work on improving the environment variables situation is more than welcome anyhow.

@segevfiner that could be seen as breaking behaviour though, no? I wonder if we could have a setting that enforces that every window that opens after the first one uses the shell environment and does not inherit the first window environment if that was launched from the terminal.
Nevertheless, that still might need careful explanation as to what happens when you change the folder from within the window. Some users might expect the setting to apply there too and some maybe not.

(Unrelated: @segevfiner can you send me a hello email to joao moreno at my company com?)

@segevfiner that could be seen as breaking behaviour though, no? I wonder if we could have a setting that enforces that every window that opens after the first one uses the shell environment and does not inherit the first window environment if that was launched from the terminal.
Nevertheless, that still might need careful explanation as to what happens when you change the folder from within the window. Some users might expect the setting to apply there too and some maybe not.

Could be, not sure who may or may not depend on this. I'm just basing this on how I expect it to behave, with each window just taking the environment from whatever way you launch. The first launch thing is really an implementation detail IMHO.
And yeah there is also the case of changing a folder in an existing window as opposed to a new one. You described just preserving the environment the window started with (Unrelated to the first launch), which makes sense.

I just think it could be frustrating to setup a nice environment when you start VSCode from the terminal and then only getting it in the first window. Don't forget that we do potentially restore more than one window on startup, so in that case we cannot just apply the environment only to the first window and treat the others as new window. This would need a lot of careful tweaking to get right and I am not sure it is worth it.

(Unrelated: @joaomoreno Not sure I follow what that email address is, but you can find my gmail email address on my commits)

@bpasero There are cases for both behaviours I guess. On restoring a session you indeed want the environment appplied to all the restored windows.
But also imagine keeping VS Code running for a long time then opening a new window and getting some virtualenv from something that you worked on long ago that happened to be the first launch. I think in macOS it might even keep that process/VS Code open even when no windows are open (Not sure it does so currently).

I think this will not be adoptable in the configuration resolver service (used for ${variable} style variables in various places we have json, including some settings). Variable resolving must remain sync since some settings use it, so I don't see how we could wait for the promise to resolve.

@alexr00 can you clarify what kind of process.env the configuration resolver service is using?

@alexr00 Couldn't these settings assume the pre-resolved values at first and then emit configuration change events whenever the user shell env gets resolved?

@bpasero one of the possible variables is ${env:<name of whatever environment variable you want>}.
@joaomoreno it looks like might only be terminal setting that use this. I would need to defer to the settings owners to know if that would be ok.

Since I am not sure we can adopt this in a timely manner, I have meanwhile pushed a couple of changes to master to address the biggest pain points. After these changes, the introduction of IProcessEnvService will only be a performance fix (in some cases), but not fix any other issues.

the timeout for resolving the shell environment is back to 10s (from 3s) but a warning will be shown to the user when this timeout is hit pointing to some docs (we still have to write) to guide the user into fixing this (via https://github.com/microsoft/vscode/commit/6fdc79d81a90adf7b2d4552c36e2b9fc11462925)
a new perf metric ellapsedWaitForShellEnv is added so that users who see slow startups from resolving shell env can be better identified (via https://github.com/microsoft/vscode/commit/fe65b26426b2ba16b803509a2a1a0fb6ceffd07a)
the code to resolve and merge shell env has moved into bootstrap-window.js and thus will now run in all of our windows (workbench, shared process, issue reporter, process explorer) and the shell config will no longer overwrite the user config (https://github.com/microsoft/vscode/commit/6f3fcd2ce0002ffd876b7b43bff42a912edddaae)
a second window that was started from a CLI will no longer trigger the shell environment resolution if the first window was started from the UI by taking the second window's environment into account (https://github.com/microsoft/vscode/commit/fb277edc0f2531ca2b9e2b0bb9261b79e5fca4fe)
the user env of a window will now be preserved even when the window loads a different folder (https://github.com/microsoft/vscode/commit/ff1887be3e07b5d16760376106d6234cad5356a6)

@bpasero Can I set the timeout for resolving the shell environment?
I'm using a really long and complicated .zshrc for interactive login shell so sometimes I need more than 10s to initiate zsh and the env vars including $PATH, and I don't want to remove part of the .zshrc.

The idea is that once this issue is resolved, we would not have a timeout at all anymore.

An inventory of areas that would need to adopt this new service:

Large Components

Debug
Tasks
Terminal

Libraries

ipc.cp (watcher, search, ext host)
configuration resolver / variable resolver (mainly used by components above)
some base libs (shell.ts, processes.ts)...

An inventory of areas that would need to adopt this new service:

Large Components

Debug
Tasks
Terminal

Libraries

ipc.cp (watcher, search, ext host)
configuration resolver / variable resolver (mainly used by components above)
some base libs (shell.ts, processes.ts)...

Synopsis
With https://github.com/microsoft/vscode/commit/dbbf2b16882b93f9598c999ca3850802aa1c2a8d there is a new service IShellEnvironmentService with a method getShellEnv(): Promise<IProcessEnvironment> that will give you exactly what process.env is today: a merged environment of the process environment and the shell environment. Going forward, process.env will no longer attempt to contain the shell environment of the user unless VSCode was launched from a terminal. As such, if you rely on the shell environment variables to be present, you have to use this new service to get it.
An example adoption is pushed for the extension host (@alexdima fyi) where we want to ensure that anything that happens inside the extension host is still receiving the shell environment even when VSCode was not started from a shell:
https://github.com/microsoft/vscode/blob/dbbf2b16882b93f9598c999ca3850802aa1c2a8d/src/vs/workbench/services/extensions/electron-browser/localProcessExtensionHost.ts#L163-L163
Here is a set of rules to understand before jumping to the adoption

only Linux and macOS need an adoption, Windows is always fine (if you access windows environment variables you don't have to adopt anything)
processes or code only used in shared process is fine too because we already spawn it with the shell environment here
anything inside extension host is also fine because extension host is spawned with the shell environment here

Adoption
I made a pass over usages of process environment by looking at:

direct use of process.env
usages of IProcessEnvironment
clients of vs/base/parts/ipc/node/ipc.cp that spawn child processes

Assigning people based on areas and usages
Terminal @Tyriar @meganrogge

vs/platform/terminal/node/terminalEnvironment.ts
vs/workbench/contrib/externalTerminal/node/externalTerminalService.ts
vs/workbench/contrib/terminal/node/terminalEnvironment.ts
vs/workbench/contrib/terminal/electron-sandbox/localTerminalService.ts
vs/workbench/contrib/terminal/browser/terminalProcessManager.ts
vs/workbench/contrib/terminal/common/environmentVariableCollection.ts
vs/workbench/contrib/terminal/common/environmentVariable.ts
vs/workbench/contrib/terminal/browser/terminalProcessManager.ts
vs/workbench/contrib/terminal/common/terminalEnvironment.ts
vs/platform/terminal/node/terminalEnvironment.ts
vs/workbench/contrib/terminal/electron-sandbox/localTerminalService.ts
vs/base/node/shell.ts @TylerLeonhardt

Debug @isidorn @weinand

vs/workbench/contrib/debug/browser/rawDebugSession.ts
vs/workbench/contrib/debug/node/debugAdapter.ts

Tasks @alexr00

vs/workbench/contrib/tasks/browser/terminalTaskSystem.ts
vs/workbench/services/configurationResolver/electron-sandbox/configurationResolverService.ts

Proxy @chrmarti

vs/platform/request/node/proxy.ts
vs/workbench/services/extensions/node/proxyResolver.ts

Child Processes

search @roblourens
telemetry @sbatten

Checked off search, I don't think anything is needed, the spawned search process doesn't depend on the environment at all.

Going forward, process.env will no longer attempt to contain the shell environment of the user unless VSCode was launched from a terminal.

@bpasero is it possible to get access to the non-shell process environment? If so, is there a convenient way to access it from electron-sandbox? This would actually fix some issues where our terminal acts differently to other terminals https://code.visualstudio.com/docs/editor/integrated-terminal#_why-are-there-duplicate-paths-in-the-terminals-path-environment-variable-andor-why-are-they-reversed, we could potentially also remove the terminal.integrated.inheritEnv setting as ell.

@Tyriar I do not think that is possible because when you launch VSCode from a terminal we just get process.env containing all the variables from the terminal already. We would probably have to change our startup scripts to have a clean environment even when launched from the terminal to get this.
But maybe I misunderstood the question.

@bpasero I think that's fine since if you start an external terminal from another terminal you would expect it to inherit the environment. What's not expected is when a terminal is launched from the dock, to run a login shell to establish an environment before launching the actual shell.

@Tyriar after everyone has adopted this service you can simply use process.env and it will not include any shell environment unless VSCode was started from the shell. In other words, we will stop merging the shell environment into the current process environment at least in the renderer. If you need this also from shared process, I think we should be able to also stop doing this there. Just for the extension host we can probably not do this to not break extensions.

@bpasero the only reason why process.env was accessed in vs/workbench/contrib/debug/browser/rawDebugSession.ts was the "launch.json" feature to delete environment variables by using the value null. The code in rawDebugSession.ts merged and deleted the environment variables provided by the launch.json.
When reviewing the implementation, I noticed that the delete part no longer worked: it seems that another merge happening later undoes the delete.
I've removed the process.env code and we will have to find a better way to implement the deletion of environment variables.

I have looked at the telemetryApp and think it should be fine because of the work that happened in ICustomEndpointTelemetryService where the app runs as a child from the shared process that gets the shell environment.
The remaining work is in terminals and configuration resolvers 👍

Pretty sure terminal done now 🎉

With some help from @Tyriar, I'm pretty sure that the configuration resolver is also done now.

Thanks a lot ❤

We will take out the process environment patching early May to get a good milestone of coverage.

Just out of curiosity, is there any way to just permanently ignore the "taking too long" warning message..?
I ask because I'm required to use a Mac at work (I really prefer Linux myself), but the machine I've been given to use is a late 2013 Intel i5 iMac 27". This thing is stupidly slow at the best of times, I've timed a cold boot at a little over 3 minutes, multiple times.
So I know it's slow, I don't need another notification telling me that every time I open a VSCode instance, which quite often involves multiple instances at the same time..

Just out of curiosity, is there any way to just permanently ignore the "taking too long" warning message..?

Yes, switch to insiders where this notification no longer appears: https://code.visualstudio.com/insiders/


merge from template-arlac77-github

.github/workflows/codeql_analysis.yml

chore: add github/codeql-action/init@v3 (jobs.analyze.steps.uses)
chore: add github/codeql-action/analyze@v3 (jobs.analyze.steps.uses)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
395

Relevant Lines:
404

💛  - Coveralls


Playtime merge

a playtime merge manual or automatic, eg GTAV for xb1 1084h, GTAV PC 54h, GTAO XSX 163h, i just would like a way to manual put them together, like right click, add to merge then add all the others then merge together, I'm talking about the stats menu not the library

That's up to Playnite, not any extensions.


libfuse: implement Access for File

@strib would you mind giving this another look? It became bigger than the original commit. Thanks!


Feature Request: input_datetime

Being able to enter date and/or time for input_datetime would be great for creating an alarm clock.

Offtopic but to see @oakbrad in here is amazing, inspired me so much for my HA setup ❤

We need the think of a way to visually represent it.

We've implemented basic support, please check this out


Question - does service repool at interval

Check that service reader component is recycling and querying on interval.

found issue where application is not reading app-settings file but setting default values.
Reference:
ServiceExtensions.cs Line 25,26.

Testing new configurations local machine in DEBUG mode

Initial interval of 15 seconds confirmed.
Retry interval of 2 min confirmed for 1 iteration.
Retry interval of 2 min confirmed for 2 iteration.
Pushing branch queation_service_interval to address issue.


Do not works with Electron?

Hi.
I'm trying to use teleprint with an HTML page in Electron (v.5.0.6) without success...
I'm declaring with <script>let teleprint = required('teleprint');</script>, but on call I'm receiving the error "teleprint is not defined".
May you help me with this, please?
Thank you so much.
Regards.

My falt.... My correct declaration is

Thanks for using Teleprint.


Build failure with MSYS/MinGW Makefiles (some examples use C++17 features)

The g++ makefiles specify -std=c++11, but, for example, "triangle.cpp" uses std::data() which is not specified until C++17. This causes the MinGW Makefiles and MSYS Makefiles builds to fail, with this error from g++:
error: 'data' is not a member of 'std'

I can build all the examples successfully if I override the setting using this cmake command (thanks to Karyon at #cmake IRC):
cmake -G "MinGW Makefiles" -DCMAKE_CXX_STANDARD_REQUIRED=TRUE -DCMAKE_CXX_STANDARD=17

Sorry! my mistake. I must have changed my working tree to use std::data() some time ago and forgotten about it. This problem doesn't exist, after running "git reset --hard". All the examples build just fine.
(I did have to copy ShellScalingAPI.h from the Windows SDK onto the include path as it's not in the MinGW headers yet.)


Provide samples in each language showing howto exchanging a token for a secret

It would be useful for users to have an example demonstrating how to show a page with WebChat loaded with a token retrieved from exchanging a secret.
https://docs.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-direct-line-3-0-authentication?view=azure-bot-service-4.0#generate-token is great, but does not have code examples.
[enhancement]

To avoid overlapping effort, I'm linking these two samples:
https://github.com/microsoft/BotFramework-WebChat/issues/1534

Hi @EricDahlvang, this issues is quite old, can we close it?

Okay, closing this... looks like we do at least have a couple code examples now https://docs.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-direct-line-3-0-authentication?view=azure-bot-service-4.0#code-examples  (dotnet and javascript)


[NCL-7656] Add pod template with active archival service

Use the template when sidecar archive is enabled.

Closing this because we agreed with @vibe13  to use only 1 template containing everything and remove unnecessary elements based on the config.


Need to explicitly include "org.eclipse.jetty.websocket:websocket-server" dependency in order to use websockets

Noticed this yesterday but when you try to use WebSockets right now without the below dependency declared explicitly for compile inclusion the build fails.
fun main(args: Array<String>) {
  val app = Javalin.create().port(7000)

  val connectionCount = AtomicInteger(0)

  app.ws("/ws") { ws ->

    ws.onConnect { sess ->
      sess.setIdleTimeout(Duration.ofSeconds(30).toMillis())

      val currentConnectionCount = connectionCount.incrementAndGet()
      logger.info("Current 'sessions = {}'", ws.sessions)

      logger.info("connection established 'client = {}'", sess.id)
      logger.info("connection 'count = {}'", currentConnectionCount)
    }

    ws.onMessage { sess, msg -> }

    ws.onClose { sess, code, reason ->
      val currentConnectionCount = connectionCount.decrementAndGet()

      logger.info("connection closed 'client = {}', 'code = {}' 'reason = {}'", sess.id, code, reason)
      logger.info("connection 'count = {}'", currentConnectionCount)
    }
  }

  app.start()
}

plombardi@plombowski ~/w/kubernaut-controller> ./gradlew clean build
e: Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath:
    class io.javalin.embeddedserver.jetty.websocket.WsSession, unresolved supertypes: org.eclipse.jetty.websocket.api.Session

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileKotlin'.
> Compilation error. See log for more details

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

dependencies {
    compile "ch.qos.logback:logback-classic:$logbackVersion"

    compile "com.fasterxml.jackson.core:jackson-annotations:$jacksonVersion"
    compile "com.fasterxml.jackson.module:jackson-module-kotlin:$jacksonVersion"
    compile "com.fasterxml.jackson.module:jackson-module-parameter-names:$jacksonVersion"
    compile "com.fasterxml.jackson.datatype:jackson-datatype-jdk8:$jacksonVersion"
    compile "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jacksonVersion"
    compile "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:$jacksonVersion"

    compile "info.picocli:picocli:2.2.1"

    // fails to compile if this isn't included
    //compile "org.eclipse.jetty.websocket:websocket-server:9.4.8.v20171121"

    compile "io.javalin:javalin:1.2.2-SNAPSHOT"
    compile "io.lettuce:lettuce-core:$lettuceVersion"

    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
    compile "org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion"

    compile "org.zeroturnaround:zt-exec:1.10"

    testCompile("org.junit.jupiter:junit-jupiter-api:$junitVersion")
    testRuntime("org.junit.jupiter:junit-jupiter-engine:$junitVersion")
}

Once that dependency is included:
plombardi@plombowski ~/w/kubernaut-controller> ./gradlew clean build
w: /home/plombardi/work/kubernaut-controller/src/main/kotlin/io/kubernaut/Kubernaut.kt: (33, 20): Parameter 'sess' is never used, could be renamed to _
w: /home/plombardi/work/kubernaut-controller/src/main/kotlin/io/kubernaut/Kubernaut.kt: (33, 26): Parameter 'msg' is never used, could be renamed to _

> Task :junitPlatformTest

Test run finished after 209 ms
[         1 containers found      ]
[         0 containers skipped    ]
[         1 containers started    ]
[         0 containers aborted    ]
[         1 containers successful ]
[         0 containers failed     ]
[         0 tests found           ]
[         0 tests skipped         ]
[         0 tests started         ]
[         0 tests aborted         ]
[         0 tests successful      ]
[         0 tests failed          ]

BUILD SUCCESSFUL in 2s
5 actionable tasks: 5 executed

I'm not quite sure if this intended... the dependency is marked as optional in the pom.xml
<dependency>
            <groupId>org.eclipse.jetty.websocket</groupId>
            <artifactId>websocket-server</artifactId>
            <version>${jetty.version}</version>
            <optional>true</optional>
</dependency>

If it is the docs should be updated, however, I think it's a mistake to make this optional as it means a user has to continually track the version of Jetty in use by Javalin and update their websocket dependency as needed.

I'm not quite sure if this intended... the dependency is marked as optional in the pom.xml

It is intended, but I'm strongly considering changing it. The idea was that most people won't need the websocket-functionality, but I'm not sure if the bytes saved are worth the hassle.

Looks like it's only around 400bytes, I'll bundle it.


About ViT-B

Hi,
have you ever tried to train ViT-B without Obj365 pretraining?

We didn't train ViT-B from scratch on COCO, I can imagine it can also work
if the backbone is pretrained on imagenet (like typical object detection
models) and also train with strong augmentation. But we haven't compared.
Pretrained on Object365 from scratch (without imagenet pretraining) is
easier to set up for us and can also initialize the decoder.
On Wed, Nov 9, 2022 at 06:09 Jihao Liu @.***> wrote:

Hi,
have you ever tried to train ViT-B without Obj365 pretraining?
—
Reply to this email directly, view it on GitHub
https://github.com/google-research/pix2seq/issues/20, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKERUJWTYEVDKOA3UJ4VH3WHOWCHANCNFSM6AAAAAAR3PDWA4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Thanks for the reply.
Yes, imagenet pretrain can indeed work. I am just curious about the performance gap if using imagenet pretrain.


Error Creating App: Invalid field: user, Invalid field: user, Invalid field: user

I deployed v0.4.4 in vagrant and used the ltc bundled with it from downloaded bundle. I then ran the example from this readme:
$ ltc create lattice-app cloudfoundry/lattice-app
No port specified, image metadata did not contain exposed ports. Defaulting to 8080.
No working directory specified, using working directory from the image metadata...
Monitoring the app on port 8080...
No start command specified, using start command from the image metadata...
Start command is:
/lattice-app
Error Creating App: Invalid field: user, Invalid field: user, Invalid field: user

This issue was raised once https://github.com/cloudfoundry-incubator/lattice/issues/141 but I'll raise it again.

My mistake - was not using local ltc but an old one.


Memory leak on any query

Running any query in duckdb-node leaks memory. Here is a simple test script that creates a connection and then runs a simple SELECT 42 AS fortytwo SQL statement every 100ms. The script also publishes memory usage to a file every minute. Memory never stops going up.
const duckdb = require("duckdb");
const fs = require("fs");

// Run simple duckdb query on repeat
const db = new duckdb.Database(":memory:");
const con = db.connect();
const stmt = con.prepare("SELECT 42 AS fortytwo");

function test() {
  stmt.all();
}
setInterval(test, 100);

// Capture memory stats over time and write to file
const path = "./data.csv";
fs.writeFileSync(path, "rss,heapTotal,heapUsed\n");
const stream = fs.createWriteStream(path, { flags: "a" });
setInterval(() => {
  const memory = process.memoryUsage();
  const rss = memory.rss / (1024 * 1024);
  const heapTotal = memory.heapTotal / (1024 * 1024);
  const heapUsed = memory.heapUsed / (1024 * 1024);
  console.log(`rss: ${rss} heapTotal: ${heapTotal} heapUsed: ${heapUsed}`);
  stream.write(`${rss},${heapTotal},${heapUsed}\n`);
}, 60000);

Here is a chart of the resulting memory stats, when run for 50 minutes on an MBP M2, node v18.18.2, duckdb 0.10.0

After 2 hours

EDIT: updated script to remove recursive call

I believe we have a fix in #65, thanks a lot for the reproduction / investigation.

I fear it is not fixed.

@rrcomtech: can you share a reproduction / some more informations?
Any help in tracking problems down is very welcome

@carlopi Sure, I reduced my code to a minimal example here: Memory Leak Demonstration

Also running into memory leak issues myself with a larger parquet dataset with nodeJS @rrcomtech @Mytherin
Its been a few months since this thread was created, did you guys figure out a workaround? I post details about my issue if you'd like

No, sadly not. What I did was to instead write to a PostgreSQL and then sync both DBs periodically.

Ended up solving my issue. I think its a leak with a geoJSON function I'm using in the spatial extension. More details here https://github.com/duckdb/duckdb_spatial/issues/371


Can't connect with via version

With this mod players cannot connect with different version.

dup #71


keyboard shortcuts use e.target but probably should use e.composedPath

Currently, our element opt-out of hotkey handling uses e.target to check keysUse to know whether to ignore a particular key on the focused element, however, shadow-dom complicated things, so, we may want to swap to use composedPath().
https://github.com/muxinc/media-chrome/blob/4d76fc07f60a2456df02f24ef7aea62c251d594b/src/js/media-controller.js#L801-L808

I think we could probably move this to a TODO code comment in the related code here and close this issue.


Added rlCullFace

Currently, rlgl does not expose glCullFace.


Default punctuation colour has changed

Describe the bug
This plugin used to highlight punctuation in Gruvbox Orange, however it's been showing up as NeovimLightGray recently after I updated.
To Reproduce
Steps to reproduce the behavior:

Use Neovim version NVIM v0.10.0-dev-1809+g529498685b
Use the following setup:

return {
    "ellisonleao/gruvbox.nvim",
    priority = 1000,
    config = function()
        require("gruvbox").setup({
            contrast = "hard",
        })
        vim.cmd.colorscheme("gruvbox")
    end,
}

Expected behavior
Punctuation characters, such as {} and [] should show up as orange.
Screenshots
Here you can see that parenthesis and and commas show up in light gray. The curly braces are showing up as orange, but only because they're considered constructors. In C syntax, for example, they also show up as light gray.

Additional context
I have a hunch that this is due to Neovim recently changing the default color scheme. I'm thinking that maybe some of the highlight groups aren't getting overridden properly.
I can achieve the desired result with this config:
return {
    "ellisonleao/gruvbox.nvim",
    priority = 1000,
    config = function()
        require("gruvbox").setup({
            contrast = "hard",
            overrides = {
<EMAIL_ADDRESS>= { fg = "#fe8019" },
<EMAIL_ADDRESS>= { fg = "#fe8019" },
<EMAIL_ADDRESS>= { fg = "#fe8019" },
            },
        })
        vim.cmd.colorscheme("gruvbox")
    end,
}

I also noticed this when I updated to the latest neovim nightly. There's a related issue in neovim #26378.

I am also having the same issue. Anyone know How to fix it and point me in the right direction. I can open a pull request

@punctuation.bracket, @punctuation.delimiter and @punctuation.special link to the Delimiter highlight group. But Delimiter link was removed in commit e57dd85.
I added this to my config:
["Delimiter"] = { link = "GruvboxOrange" },
Maybe this can be merged. See also: #80

I tried the above with no luck. Also tried this:

(still no luck) happened after I updated to latest nightly


edx_lint command no longer installed

Affects >=1.3.1
The edx_lint command wrapper around edx_lint.cmd.main no longer seems to be installed.

@cpennington I can confirm this is true.  I don't see what's wrong, or how to fix it.

I probably borked it in the conversion away from pbr. Maybe the entrypoints configuration in setup.cfg needs to be in a slightly different place/format?

It worked when you first moved it from setup.py.  Then more things in setup.cfg broke it somehow, or something.

1.4.1 has the fix.


Video Link Broken - Comfort Respirator

I was hoping to watch the video below.
Current design: The JPL designer of the 3D printable COVID-19 Comfort Respirator describes the preferred design. https://youtu.be/vaxoGQcy00

Thanks for letting us know.  We're fixing it now.

Fixed!! and added a new video. Will update others soon


Please add some sort of LED bool control.

Basically a checkBox but instead it should be round and no check mark inside.  IMO would be very useful for those who work on HW controls.
Thanks!

@bebenins I think you need to include an image of your control, and dont forget this library is based on material design https://www.google.com/design/spec/material-design/introduction.html, I think that control should only be included if it is in material design docs.

Something like this.,
I know that the library is based on MD and it's an amazing library but I don't believe MD prohibits more controls.  I mean, it's a simple control and does not go against anything in MD.  I simply doesn't exist because mobile devices don't really have the need for "status" LED.
I would love to use MD for Windows application that controls HW and a status LED is a must have.


can't operate with 2.3.3

My android studio version is 2.3.3. Then I modified the classpath to 2.3.3, another problem came.

Any idea?

The project is hello-jni.

The sample needs to use android studio 3.0.1+ to open.  do you have to use 2.3.3 version? ( or it is due to the readme.md here was old?)

If you have to use 2.3.3, this might help -- just need to do the reverse actions.  For the error "implementation", change it to "compile" would be it, then other errors will emerge (gradle version etc ).


Pagination does not work properly

Environment

Operating System version: macOS 10.14.5
firebase-admin version: 7.4.0
google-cloud/firestore version: 2.2.3
Firebase Product: Cloud Firestore & Cloud Functions

Describe the problem
Whenever I call startAfter, it will always show me the below error in the log. The error does not make sense to me because even if I chose to return the documents whose id field, the field I used to sort documents, after character a or A, I still cannot get anything back but the same error:
Error: 3 INVALID_ARGUMENT: cursor position is outside the range of the original query

Steps to reproduce:
Here is my query. The query is to get the documents such that its field geolocation.geohash_4 equals to qwer AND its field geolocation.geohash_5 NOT equal to qwert (I perform the inequality query by combining < and >). Also the returned documents should be sorted by id for me to do pagination.
NOTE: The reason I do orderBy("geolocation.geohash_5") first is necessary since this article said:

Properties used in inequality filters must be sorted first

Here is the code:
let query1 =
await
COLLECTION_REF
.where("geolocation.geohash_4", '==', "qwer")
.where("geolocation.geohash_5", '>', "qwert")
.orderBy("geolocation.geohash_5")
.orderBy('id')
.startAfter("some-doc-id")
.get();

let query2 =
await
COLLECTION_REF
.where("geolocation.geohash_4", '==', "qwer")
.where("geolocation.geohash_5", '<', "qwert")
.orderBy("geolocation.geohash_5")
.orderBy('id')
.startAfter("some-doc-id")
.get();

let combined = query1.docs().concat(query2.docs());

The expected result should be that, either query1 or query2 succeeds with returned documents and the other succeeds with empty array. However, right now the result is that, one query succeeds with empty array and the other failed with the above error: Error: 3 INVALID_ARGUMENT: cursor position is outside the range of the original query.
Here are my documents in the Collection
[{
        "id": "BSc0yXZILbaDWgHbqwer",
        "geolocation": {
            "geohash_9": "y0zh7zpve",
            "geohash_8": "y0zh7zpv",
            "geohash_7": "y0zh7zp",
            "geohash_6": "y0zh7z",
            "geohash_5": "y0zh7",
            "geohash_4": "y0zh",
            "geohash_3": "y0z",
            "geohash_2": "y0",
            "geohash_1": "y"
        }
    },
    {
        "id": "aiuwoernesDWgHb54qe",
        "geolocation": {
            "geohash_9": "y0zhe8dvd",
            "geohash_8": "y0zhe8dv",
            "geohash_7": "y0zhe8d",
            "geohash_6": "y0zhe8",
            "geohash_5": "y0zhe",
            "geohash_4": "y0zh",
            "geohash_3": "y0z",
            "geohash_2": "y0",
            "geohash_1": "y"
        }
    },
    {
        "id": "4q5wefdsaaDWgHb9idh",
        "geolocation": {
            "geohash_9": "y0zhe2t6x",
            "geohash_8": "y0zhe2t6",
            "geohash_7": "y0zhe2t",
            "geohash_6": "y0zhe2",
            "geohash_5": "y0zhe",
            "geohash_4": "y0zh",
            "geohash_3": "y0z",
            "geohash_2": "y0",
            "geohash_1": "y"
        }
    }
]

Other noticeable
After some attempts, the startAfter seems to work for the first orderBy field geolocation.geohash_5 instead, not the second field id in this case. However, the startAfter is called right after the second orderBy, which should mean that the pagination should perform against the nearest orderBy field, the second field, right?

@nilinyi Thanks for contacting us! I think what you are seeing is the expected behavior. I filed a bug with the backend team to improve our error message, which hopefully will make it more clear what is going on.
startAfter uses the values in the order specified by the orderBy. If you have two orderBys, the mapping is as follows:
query
  .orderBy('foo')
  .orderBy('bar')
  .startAfter('fooValue')

// or:
query
  .orderBy('foo')
  .orderBy('bar')
  .startAfter('fooValue', 'barValue')

The error message you are seeing is because the value of "some-doc-id" is not of the same type as "geolocation.geohash_5".
You can find more information here: https://firebase.google.com/docs/firestore/query-data/query-cursors


Add example of debounce and throttle function

Make an example of debounce and throttle function. I think a good idea is to create a new readme section with the same title and make code of example in docs/code section,

Nice theme for article!

http-cancel
debounce
throttle


performance fix for loading target universe

PR Checklist

[yes ] If you've fixed a bug or added code that should be tested, add tests!

Description of changes
Added performance improvements for when loading a target universe

Ran all unit test. Everything is passing now except for the test_cellxgene_export tests, but I think that's because I have the wrong cellxgene_schema package installed


fix: character rendering for svelecte

Description
Fix ZEN-322
A bit of a hot-fix, I don't know why special characters get rendered so oddly by svelecte.

Yeah this is annoying it's hardcoded in the default formatter to escape HTML characters like < >


Set app version name in build script instead of git tag.

This is a step toward enabling releasing from CI. Version code still
derived from git commit count.

Sorry for the slightly noisey PR—in doing this I wondered what the difference between single and double quotes was in groovy. Turns out single quotes are for regular strings, double quotes are for templated strings. I then had to fix it throughout.


update lootbag utilities to 1.3.1

Closing for now while I update plugin to pass CI

FYI it's fine to leave your plugin open while you make changes to pass CI


unsupported value type *tsdb.Value returned by influx_tsm

I'm converting my database and I'm the following error:
2016/03/28 16:17:18.630797 Failed to convert /root/arrondine/data/sondes/default/2: Conversion of /root/arrondine/data/sondes/default/2 failed: unsupported value type *tsdb.Value
If needed, I can send you the db (in private message only)
Currently, my migration to 0.11 is on hold

@sbouchex I believe you need to first upgrade to 0.10 and migrate your shards, then upgrade to 0.11.

OK, it works but how comes that I need to install an intermediary release in order to  migrate my database ? influx_tsm from any version should be able to migrate data from any version below the install one.

@sbouchex It's a regression in 0.11.  The tool should work in 0.11, but currently does not.  We're investigating why.  The workaround is to upgrade to 0.10, migrate, then to upgrade 0.11.

OK thanks


Question about BG/BB

What is n_period in the fit function? It says the number of transaction opportunities but it's not clear, Is it the same for everyone? make an example if you can. thanks

I have this problem, my model fits perfectly but none of the other function of this package is not working,
like for conditional_expected_number_of_purchases_up_to_time says int object has no max
or for plotting it raises key errors


Opscode wordmark replacements

Replaces https://github.com/chef/chef-server/pull/3101.
See: https://github.com/chef/chef-server/pull/3205
Should we close https://github.com/chef/chef-server/pull/3205 in favor of this one?

[ ] New functionality includes tests
[ ] All buildkite tests pass
[ ] Full omnibus build and tests in buildkite pass
[ ] All commits have been signed-off for the Developer Certificate of Origin. See https://github.com/chef/chef/blob/main/CONTRIBUTING.md#developer-certification-of-origin-dco
[ ] PR title is a worthy inclusion in the CHANGELOG

Replaces #3101.
See: #3205
Should we close #3205 in favor of this one?

Why are you replacing it again? We're not able to push any fixes that may need to happen. We're not able to see the output of the buildkite errors, anything you can pass along to help?

I think this will also close #1949


Error: Constructs are already initialized: this should not happen

Hello. What should we do in those cases?
This is a new service. I've done a couple of deployments but It stopped working and I can't find the reason.
I've tried

Removing node_modules and reinstalling the dependencies using npm install
Reinstalling the serverless-lift plugin
Removing the service using serverless remove

Thank you for your work on this.
 Do you want to deploy your project? Yes

 Error ---------------------------------------------------

  Error: Constructs are already initialized: this should not happen
      at _LiftPlugin.loadConstructs (/home/filipe/projects/pdf-processor/node_modules/serverless-lift/dist/src/plugin.js:175:13)
      at initialize (/home/filipe/projects/pdf-processor/node_modules/serverless-lift/dist/src/plugin.js:92:14)
      at PluginManager.run (/home/filipe/.nvm/versions/node/v16.13.0/lib/node_modules/serverless/lib/classes/PluginManager.js:648:65)
      at async PluginManager.runHooks (/home/filipe/.nvm/versions/node/v16.13.0/lib/node_modules/serverless/lib/classes/PluginManager.js:573:35)
      at async PluginManager.invoke (/home/filipe/.nvm/versions/node/v16.13.0/lib/node_modules/serverless/lib/classes/PluginManager.js:612:9)
      at async PluginManager.spawn (/home/filipe/.nvm/versions/node/v16.13.0/lib/node_modules/serverless/lib/classes/PluginManager.js:635:5)
      at async before:deploy:deploy (/home/filipe/.nvm/versions/node/v16.13.0/lib/node_modules/serverless/lib/plugins/deploy.js:65:11)
      at async PluginManager.runHooks (/home/filipe/.nvm/versions/node/v16.13.0/lib/node_modules/serverless/lib/classes/PluginManager.js:573:35)
      at async PluginManager.invoke (/home/filipe/.nvm/versions/node/v16.13.0/lib/node_modules/serverless/lib/classes/PluginManager.js:610:9)
      at async PluginManager.run (/home/filipe/.nvm/versions/node/v16.13.0/lib/node_modules/serverless/lib/classes/PluginManager.js:672:7)
      at async Serverless.run (/home/filipe/.nvm/versions/node/v16.13.0/lib/node_modules/serverless/lib/Serverless.js:468:5)
      at async /home/filipe/.nvm/versions/node/v16.13.0/lib/node_modules/serverless/lib/cli/interactive-setup/deploy.js:199:13
      at async Object.run (/home/filipe/.nvm/versions/node/v16.13.0/lib/node_modules/serverless/lib/cli/interactive-setup/deploy.js:188:9)
      at async module.exports (/home/filipe/.nvm/versions/node/v16.13.0/lib/node_modules/serverless/lib/cli/interactive-setup/index.js:56:7)
      at async /home/filipe/.nvm/versions/node/v16.13.0/lib/node_modules/serverless/scripts/serverless.js:526:24

  Get Support --------------------------------------------
     Docs:          docs.serverless.com
     Bugs:          github.com/serverless/serverless/issues
     Issues:        forum.serverless.com

  Your Environment Information ---------------------------
     Operating System:          linux
     Node Version:              16.13.0
     Framework Version:         2.66.2
     Plugin Version:            5.5.1
     SDK Version:               4.3.0
     Components Version:        3.18.1

Serverless: [AWS sts 200 0.891s 0 retries] getCallerIdentity({})

Ohh that should never happen indeed 😄
It seems you ran into that problem with the serverless command, is that correct? You started a new (empty) project? Which template was this? Any extra information to reproduce could help here.

Hi @mnapoli
I'm using this template: https://www.serverless.com/examples/aws-python-sqs-worker
Idk if this is related to this issue, but when I run sls help I've noticed some command help descriptions as undefined
Thanks again for your help :)
Commands by plugin

_LiftPlugin
lift .......................... undefined
lift eject .................... Eject Lift constructs to raw CloudFormation
jobs:logs ..................... Output the logs of the queue's worker function
jobs:send ..................... Send a new message to the SQS queue
jobs:failed ................... List failed messages from the dead letter queue
jobs:failed:purge ............. Purge failed messages from the dead letter queue
jobs:failed:retry ............. Retry failed messages from the dead letter queue by moving them to the main queue

ServerlessPythonRequirements
requirements clean ............ Remove .requirements and requirements.zip
requirements install .......... install requirements manually
requirements cleanCache ....... Removes all items in the pip download/static cache (if present)

SsmFetch
serverless-ssm-fetch .......... undefined
serverless-ssm-fetch parameter  Internal use only!

@mnapoli, I've found the issue. It started after installing the serverless-ssm-fetch plugin. I believe this plugin was initializing the constructs before Lift.
I've removed the ssm-fetch plugin, and things got back working!

Thanks for reporting back @mondaini :+1:
Note that plugins order does matter in the serverless framework, so maybe moving this plugin below Lift would solve the issue.


[v0.10] Support screens larger than 4096 pixels (update submodule)

Fixes:  #3083

Jay is working on NEON (accelerations for ARM64) however bug fixes should be shipped ASAP to the stable version v0.10.

Sorry to nitpick, but can we use "pixels" spelling in the title, in aid of searching?

Thanks, it was my mistake.

I will correct the commit message later.

LGTM


[Storage][DataMovement] Attempt to fix flakey StopOnAllFailures test

The recently introduced DirectoryUpload_ErrorHandling(StopOnAllFalures test occasionally fails in the Live test pipeline because it has some extra status changes for the job. I was not able to reproduce locally so I assumed it was switching back and forth between CancellationInProgress/CompletedWithFailedTransfers twice. This change hopefully will prevent that but I'm not sure since I wasn't able to reproduce the failure locally.

API change check
API changes are not detected in this pull request.


How are messages sorted?

Hi,
Thank you very much for creating this project.  Can you please help me understand how the messages are sorted in the screenshot below?

Also, an enhancement request, it would be great to make the sorting configurable.

It might be an issue if you use the file storage engine? I switched to MongoDB and that fixed the sorting.

we also see the strange sorting when using filesystem. @ian-kent any chance to get a useful sorting?


Create a docs folder

Thank you team, we have created this as a new task now and we should start working on it now ❤


DataFrame#clone not maintaining order of Vectors.

[2] pry(main)> require 'daru'
=> true
[3] pry(main)> df = Daru::DataFrame.new({a: [-1,-2,-3,-4], b: [1,2,3,4]},order: [:b, :a])
=>
#<Daru::DataFrame:47244265965420 @name = c580f1d5-30fc-4e12-a9ff-348783f3465a @size = 4>
                    b          a
         0          1         -1
         1          2         -2
         2          3         -3
         3          4         -4

[4] pry(main)> df2 = df.clone
=>
#<Daru::DataFrame:47244265576420 @name = 69020fd0-c640-4bb8-ade2-3a4d65fe75d2 @size = 4>
                    a          b
         0          1         -1
         1          2         -2
         2          3         -3
         3          4         -4

The columns have the wrong label.

Changing clone: false to clone: true fixes the issue but @v0dro what does clone option do?

@wlevine the #clone function is meant to be a 'shallow' copy of the dataframe. It does not copy the underlying vectors by default.
If you want a full copy use DataFrame#dup. Also close this issue if it solves your problem.

@lokeshh The clone option specifies whether the Vectors are to be copied or not.

If it's true the Vectors will be copied otherwise it will be a shallow copy.

@v0dro This might not be related to this issue but just to want to know these things-

Should the order of dataframe be the same as that of hash when the dataframe is created from hash?
Should the order be preserved when the dataframe is cloned?

Should the order of dataframe be the same as that of hash when the dataframe is created from hash?
If you create a dataframe and don't specify the order, it will sort the keys alphabetically and the order will be alphabetical. However if you pass the :order option, it will adhere to :order.

Should the order be preserved when the dataframe is cloned?
Yes it should be preserved.


Visualize which areas in the image contribute to the loss

Hi,
Thanks for the paper and making it so accessible and easy to use.
For pixel-aligned losses, it's easy to show which areas of the generated image are wrong, by doing e.g L1(generated, GT) pixel-wise and showing it as an image, resulting in some sort of error map.
What do you think would be a good way to get something like this for LPIPS? I would like to see which areas in the image contributed to higher LPIPS distance.
Thanks

Hi, thanks for the question. Look at setting spatial=True here: https://github.com/richzhang/PerceptualSimilarity/blob/master/lpips/lpips.py#L23

Perfect, thank you so much.


Sidenav demo accessibility issues

Bug, feature request, or proposal:
Bug
What is the expected behavior?
After clicking on "View example", the focus should move to sidenav menu icon.
After clicking on sidenav menu icon, the focus should move to sidenav links.
After clicking on "Close example", the focus should be removed from "Close example" button
What is the current behavior?
After clicking on "View exmaple", the focus stayed on "View example" button.
After clicking on sidenav menu icon, the focus stayed on sidenav menu icon.
After clicking on "Close example" button, the focus stayed on the "Close example" button
What are the steps to reproduce?
Providing a Plunker (or similar) is the best way to get the team to see your issue.
Plunker template: https://goo.gl/DlHd6U
https://material2-accessibility.firebaseapp.com/accessibility/sidenav
What is the use-case or motivation for changing an existing behavior?
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Is there anything else we should know?

Is there any fix for this bug ?


Adapted Lens reports incorrect aperture

The Metadata panel show Exposure as:
1/nn at f/1
This is when using a older mechanical lens with a dumb adapter, such as using a FD-M4/3 adapter with a Canon nFD 200mm F/4 Macro on an Olympus OM-D E-M5. I understand what is happening, where the metadata for F Number is 0, and it seems to either convert it 0 to 1, or it picks up the Max Aperture Value of 1 and puts that into Metadata Exposure information string.
Outputting F/0 would not make any sense. Probably more work to change than it is worth, but it did surprise me when I saw a bunch of shots being shot at F/1.
later...

If the aperture value is unknown or brighter than f/1.0, it will be shown as a question mark since LightZone v4.1.6.


Settlment interaction verification

The naive amm algorithm will create an amm swap interaction. We need to check with the state of the blockchain that this interaction is possible.

The simplest way to begin could be to "simulate" the tx and only submit it if it passed.


[Feature request] Type list, type list everywhere

More than once I've been asked to introduce a type list aside the typical template parameters list.
It means to support ie both this:
auto view = registry.view<A, B, C>();

And this:
using my_view = type_list<A, B, C>;
auto view = registry.view(my_view{});

In some cases it reduces the boilerplate (ie when it comes to working with snapshot stuff). In some others it helps to avoid errors (ie when it comes to working with persistent views for which a parameters list <A, B, C> is considered different from <A, C, B> despite the two views return the same entities).
The upcoming clone functionality is another case where this feature would help quite a lot to reduce typing and avoid errors.
I'm creating this issue to receive feedback and track the progresses.

@skypjack Emm why this is optional , type_list<Component...> = {}

Because you can still use the function as func<A, B>(); this way and existing code won't break. Btw the problem isn't the default value, it's the parameter itself.


Fix UI and logic for joining groups

The UI and logic for joining (society) groups is broken. Rewrite the UI logic in hc-custom/includes/buddypress/bp-groups.php to ensure that:
On the groups listing page:
For society members:

[x] Private groups have a 'Request Access' button
[x] Public groups have an enabled Join button
[x] Committees have no join or request button

For non-society members:

[x] The same UI elements as above appear, but are greyed-out

In the banner for a group:

[ ] The same UI elements as above appear in the same circumstances

When logged out I see messaging/greyed out buttons that should appear only for a logged-in non-member of a society/institution. They also appear on HC. Screen Shot 2021-12-08 at 11.55.18 AM.png The logic is e.g. on /groups and /members. The message on /groups includes a link to "Join [society]" which I think was initially set to go to a society page to join the society. Currently the links go to a commons page https://aseees.hcommons.org/register/ where you get an error message "User registration is currently not allowed."

https://github.com/MESH-Research/hc-custom/commit/4034ffa1d27bb99680dd73ca09ff3075a09a31f7 Fixes the logic for Join Group buttons in the group listing page. Join Group button is not showing for non-members in the banner, which seems acceptable.

I tested as a logged out user on the groups directory page and no longer saw the greyed out Join buttons, as expected.
You may still be working on related issues, but I'll note them here:
There's still a message at the top of the Groups and Members directories, which I think previously were only visible for logged-in non-society members.
The one on Groups could probably stay if the link were corrected (currently "Join MLA [or UP or MSU etc] now!" links to /register/ and the page says "User registration is currently not allowed"). (It should be corrected even if it's removed for logged-out visitors, since it'll display for logged-in non-society members.)
The message on Members doesn't really work for a logged-out visitor. It says "Only MLA members can follow others from here. To follow these members, go to Humanities Commons."


Support SMTLIB solvers

This branch tries to solve #1086, but isn't complete yet.

[x] Remove solver-specific options from SMT files (instead passed as CLI options)
[x] Use valid SMTLIB syntax in the prelude.
[x] Add CLI options for switching the SMT solver.
[x] Use SMTLIB operators => and = instead of implies and iff.
[x] Use get-values instead of eval.
[ ] Use SMTLIB-compliant names.
[ ] Figure out how to deal with annotations like :qid.

@cpitclaudel Almost there!  🎉

PS: I requested the review even though the last part (fixing the naming convention) isn't in yet, but I ought to have something ready before the implementor's breakfast tomorrow.

For info, here is what it currently looks like:
  export OTHERFLAGS="--smt_solver cvc4"
  make -C src uregressions
make: Entering directory '/mnt/c/everest/everest/FStar/src'
make -C ../examples/hello ocaml
make[1]: Entering directory '/mnt/c/everest/everest/FStar/examples/hello'
[...]
/mnt/c/everest/everest/FStar/bin/fstar.exe --smt_solver cvc4 --hint_info --use_hints --no_extract FStar.All --no_extract FStar.BaseTypes --no_extract FStar.Buffer --no_extract FStar.Char --no_extract FStar.CommonST --no_extract FStar.Constructive --no_extract FStar.Float --no_extract FStar.Ghost --no_extract FStar.Heap --no_extract FStar.HyperStack.All --no_extract FStar.HyperStack.ST --no_extract FStar.Int16 --no_extract FStar.Int32 --no_extract FStar.Int63 --no_extract FStar.Int64 --no_extract FStar.Int8 --no_extract FStar.Int_Cast --no_extract FStar.IO --no_extract FStar.List --no_extract FStar.List.Tot.Base --no_extract FStar.Mul --no_extract FStar.Option --no_extract FStar.Pervasives.Native --no_extract FStar.Set --no_extract FStar.ST --no_extract FStar.String --no_extract FStar.UInt16 --no_extract FStar.UInt32 --no_extract FStar.UInt63 --no_extract FStar.UInt64 --no_extract FStar.UInt8 --no_extract FStar.Pointer --no_extract FStar.BufferNG --no_extract prims --odir out --codegen OCaml hello.fst
(/mnt/c/everest/everest/FStar/examples/hello/hello.fst) digest is valid; using hints.
./hello.fst(5,0-5,37): (Warning) Top-level let-bindings must be total; this term may have effects
<stdin>:70.39: warning: Attribute ':qid' not supported (ignoring this and all following uses)
Makefile:12: recipe for target 'ocaml' failed
[...]

This is actually pretty encouraging, since it means the entire prelude goes through.

@cpitclaudel Pattern matching the name of the SMT solver's binary gets quite ugly quite fast.
For instance, the current binary for CVC4's binary distribution is called cvc4-2017-07-02-x86_64-linux-opt.

Makes sense. I'll ping the CVC4 people again about the one change that required their help (making sure that CVC4 doesn't exit after a failed get-model). Or maybe there's a way around this on our side?

@cpitclaudel As far as I can tell, we do not call get-model (at least, this doesn't appear in the code).
We did use eval, but I replaced that with get-value (which you said ought to make CVC4 happier)

Sorry, indeed, get-value (not get-model). The issue remains though (CVC4 exits after the first get-value following an unsat query).

Ah, I see.

The CVC4 bug for get-value to error and continue is at http://cvc4.cs.stanford.edu/bugzilla3/show_bug.cgi?id=831

@cpitclaudel @wintersteiger This should be OK now, modulo that I'm not done reproving FStar.Math.Lemmas (it is currently running, so we should have that tomorrow)
Sorry for the time that took, I was blocked for quite some time (and working on other things due to how frustrating it was...) before noticing that 20bdf44 needed to modify src/basic/ml/ too, and by the time I found the issue, Nikhil rewrote entirely the SMT replies parser, so the rebase was pretty unpleasant.

OK, Math.Lemmas fails to prove with z3rlimit_factor 10...  :(

Does Math.Lemmas fail with Z3 or with CVC4?

Ping @wintersteiger, @nbraud, @nikswamy. This is s useful feature, but would require some work to make sure that the changes work with the existing code that uses Z3. Would someone like to volunteer to revive it?

I'm closing this PR. It would be great to support non-Z3 solvers. So, if someone wants to revive it, that would be great.


Refactor to remove subprocess calls

Github Issue: #11
Description
Refactor code to remove call to subprocesses
Overview of work done
Got rid of the sub-processes
Overview of verification done
Summarize the testing and verification you've done. This includes unit tests or testing with specific data
Overview of integration done
Explain how this change was integration tested. Provide screenshots or logs if appropriate. An example of this would be a local Harmony deployment.
PR checklist:

[ ] Linted
[ ] Updated unit tests
[ ] Updated changelog
[ ] Integration testing

See Pull Request Review Checklist for pointers on reviewing this pull request

@vaishnaviyathirajam can you finish filling in the PR description? Did you run locally to verify? Just describe what you did.

I think we can remove get_stats.py now right?


Alerting OpenSearch 1.2 changes

Is your feature request related to a problem? Please describe.
These are planned  changes for Alerting in OpenSearch 1.2.
1. Don't replace monitor backend role when update
GitHub issue: #128
2.  Admin Users must be able to access all monitors
GitHub issue: #139
3. Filter User object info (if any) in all the APIs
4. Alerting Monitors should be exportable/importable objects
GitHub issue: #120
This is active list, please expect changes as we reach OpenSearch 1.2 release.

@skkosuri-amzn @praveensameneni - is 138 going to be addressed in the 1.2.0 release?
https://github.com/opensearch-project/alerting/issues/138

@ryn9 #138 got moved out of the 1.2.0 release. We want to have both UI change and backend change together in the release. UI changes couldnt make it in 1.2.0 release time frame.

@ryn9 #138 got moved out of the 1.2.0 release. We want to have both UI change and backend change together in the release. UI changes couldnt make it in 1.2.0 release time frame.

Was very much hoping the API was going to be available in 1.2.0  :(
Is there a specific call out to this then in 1.3?

@skkosuri-amzn @praveensameneni What is the status of this issue 1.2.0 was declared feature complete per https://github.com/opensearch-project/alerting/issues/182

@ryn9 #138 got moved out of the 1.2.0 release. We want to have both UI change and backend change together in the release. UI changes couldnt make it in 1.2.0 release time frame.

Was very much hoping the API was going to be available in 1.2.0 :( Is there a specific call out to this then in 1.3?

@ryn9 Let me explore more options.

@skkosuri-amzn @praveensameneni What is the status of this issue 1.2.0 was declared feature complete per #182

Yes


fix(*): wrong method name for cleanup

Cleanup was not being performed because the name of the method is ngOnDestroy instead of onDestroy.

Right, good catch!


This is the first ever commit of GitHub.

Hey, the curiosity led me here. I hope you are doing well. So this is the first ever GitHub repo and this  is the first commit. :)

Exactly how I got here too.
This is a bit weird since according to Wikipedia, GitHub was Founded on February 8, 2008, and the Development of the GitHub platform began on October 19, 2007, but the date of the commit is October 10, 2007.
It is possible that the git history has been modified, but I guess the information on Wikipedia is just wrong (that's assuming this commit is actually the first commit on GitHub and not just an early commit on git (which is completely different) pushed to GitHub which is very likely)

@donno2048, it is most likely just old Git history being pushed to GitHub.
angular/angular.js has two commits from December 31st, 1969 (866346e and eaa397c). They're made by just setting your system time to something, running git commit, then setting it back to the present (to get HTTPS to work with Git), and pushing.
Most likely, this repo had commits, and they were pushed to this GitHub Git server after GitHub [and this repo] were created.
The real first commit on GitHub will be much harder to find...

@toydotgame Even if the git history was pushed to GitHub from Git it doesn't explain the created_at date of this repo which is 2007-10-29T14:37:16Z which is four months before GitHub was founded on February 8, 2008.

You are right, I talked to the author of that repo and they said the same thing.

https://github.com/boostorg/boost/commit/ce5e16b6ae28e66369cdcfc6c416db64fd0298ba this is from 2000! oldest i have seen so far

https://github.com/boostorg/boost/commit/ce5e16b6ae28e66369cdcfc6c416db64fd0298ba this is from 2000! oldest i have seen so far

Not impressive at all as you can just change the git date...

Anyone can do some magic in the repo's .git holder.
Some users I've seen joined GitHub on 2/17/2023, but the power has been there since 2014.
https://github.com/codeninja819

I noticed that all information about GiHub is kept in the .git holder.

I can timedatectl my system time to a Unix time of 0 and git commit, then reset the time/NTP to current time, git push to GitHub, and I'll end up with a profile going back to 1970 despite creating this account in 2020.

What do you mean? Change the system time and make a commit, reset the time to now and push? That's all I described.

GIT_COMMITTER_DATE=`date -d@0` git commit

There is no such thing as a first commit to GitHub, since you don't commit to GitHub. You push to GitHub. When you push, you send it, among other things, one or more commits that may have happened at any time in history. Of course, since GitHub added a merge button to pull requests, back in 2011 I think, it is possible to create commits on GitHub itself, but prior to that, no commits were ever created on GitHub. We could talk about what was the first push to GitHub. But, GitHub doesn't store (at least in a publicly accessible location) when a commit was pushed to GitHub, so there's no way to determine that. The most likely first push to GitHub was a test repo that one of the GitHub founders pushed when they were developing GitHub. That repo is probably lost to time.
The first ever commit made using git is easy to find, it's here, from April 2005:
https://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23ca2e25604af290
That's Linus' first commit to git, it was made a day after he started developing git, once he had developed enough of git to be able to support committing to it, and then he committed that code to git.
 There are older, legitimate commits, however they weren't made using git, they were made using another SCM, and then migrated to git when their project switched from that SCM to git.
Here's the first commit in the BitKeeper repository for example, it was made using BitKeeper in March 1999, and migrated to git I guess in 2016 when they open sourced BitKeeper:
https://github.com/bitkeeper-scm/bitkeeper/commit/d4397fb3ec73362f39250221cb9112862f16fa17
I would guess that that was the first ever commit to BitKeeper.
But, I'm sure there are older commits if you look hard enough. Just find some old open source projects. Here's one from 1996 on Samba:
https://github.com/samba-team/samba/commit/97e3422f41d94209577713af4f3a94e97d6c4eda
That's not actually the first commit on Samba, as Samba was first released in 1992. It appears that prior to using CVS, Samba used RCS (at least, that's what some of the early commit messages imply), but it appears that apparently the RCS history wasn't imported into CVS when Samba switched to CVS.

By listing all repositories with https://api.github.com/repositories, we can see that the first public repository created is effectively https://github.com/mojombo/grit.
Using the GUI of Github to go in the past we could say that this (https://github.com/mojombo/grit/commit/5f141d9c0181b8732c0ec2fab4967f0ffa24fa3f) is the first commit push on github.
However if you change the parameter on the query string like that (https://github.com/mojombo/grit/commits/master/?since=2000-10-29&until=2007-10-29) to go backward we got the "initial grit setup".
Documentation of the Github API : https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#list-public-repositories

wow this is so cool

There is no such thing as a first commit to GitHub, since you don't commit to GitHub. You push to GitHub. When you push, you send it, among other things, one or more commits that may have happened at any time in history. Of course, since GitHub added a merge button to pull requests, back in 2011 I think, it is possible to create commits on GitHub itself, but prior to that, no commits were ever created on GitHub. We could talk about what was the first push to GitHub. But, GitHub doesn't store (at least in a publicly accessible location) when a commit was pushed to GitHub, so there's no way to determine that. Of course, since this is Tom Preston Warner's repo, and he is one of the founders of GitHub, and this project would have been crucial for the development of GitHub, and that commit was his commit, it is very possible that the commit that OP linked to was the first commit ever to be pushed to GitHub. But there's no way to be sure of that.
The first ever commit made using git is easy to find, it's here, from April 2005:
git/git@e83c516
That's Linus' first commit to git, it was made a day after he started developing git, once he had developed enough of git to be able to support committing to it, and then he committed that code to git.
 There are older, legitimate commits, however they weren't made using git, they were made using another SCM, and then migrated into git when that project switched from whatever SCM it was using to git.
Here's the first commit in the BitKeeper repository for example, it was made using BitKeeper in March 1999, and migrated to git I guess in 2016 when they open sourced BitKeeper:
bitkeeper-scm/bitkeeper@d4397fb
I would guess that that was the first ever commit to BitKeeper.
But, I'm sure there are older commits if you look hard enough. Just find some old open source projects. Here's one from 1996 on Samba:
samba-team/samba@97e3422
That commit has been migrated through 3 SCMs, it was first made in CVS, then migrated to Subversion, and then migrated to git. Though, it's not actually the first commit on Samba, as Samba was first released in 1992. It appears that prior to using CVS, Samba used RCS (at least, that's what some of the early commit messages imply), but it appears that apparently the RCS history wasn't imported into CVS when Samba switched to CVS.
The oldest commit ever would be from 1972, back when SCCS, the first SCM, was released. We could probably guess that, like most other SCM tools, the first commit to it was SCCS itself. Is that repo available anywhere, was it migrated into any other SCM? I don't know.

https://github.com/syvaidya/openstego/commit/9a6fa5b8f966c7a2e4e82b3cbba8e18f1914f313 this one led me here lol.


feat: add freshautomations/stoml

freshautomations/stoml: Simple TOML parser for Bash
$ aqua g -i freshautomations/stoml

How to confirm if this package works well
Reviewers aren't necessarily familiar with this package, so please describe how to confirm if this package works well.
Please confirm if this package works well yourself as much as possible.
Command and output
root@7f7bdccc617b:/workspace# stoml --help
A simplified TOML (also known as a more formal INI) parser for the Linux Shell.
Source and documentation is available at https://github.com/freshautomations/stoml

Usage:
  stoml <filename> <key> [flags]

Flags:
  -h, --help      help for stoml
  -m, --multi     read the result as-is, useful with multi-line entries
  -q, --quiet     do not display error messages
  -s, --strict    fail if result is empty, non-existent or just whitespaces
  -v, --version   version for stoml

Reference

README.md

https://github.com/freshautomations/stoml/blob/master/README.md

Thank you always!

v4.148.0 is out 🎉
https://github.com/aquaproj/aqua-registry/releases/tag/v4.148.0


Remove cover query for ps1770

Questions
Answers

Description?
Remove cover query for ps1770

Type?
bug fix

BC breaks?
no

Deprecations?
no

Fixed ticket?
Fixes cover image when value is "0"

How to test?
Please indicate how to best verify that this PR is correct.

Possible impacts?
Please indicate what parts of the software we need to check to make sure everything is alright.

Hi @pablopolyte thanks for the PR! Can you give us some context? Why do you suggest to remove the cover query for PS 1770? Is there a change in PS 1.7.7 that requires this?

Hi @pablopolyte thanks for the PR! Can you give us some context? Why do you suggest to remove the cover query for PS 1770? Is there a change in PS 1.7.7 that requires this?

It's probably because we're able to get proper cover from .tpl, but I don't see changes related to this

It's probably because we're able to get proper cover from .tpl, but I don't see changes related to this

@matks & @kpodemski it's because I found a bug on the new release of blockwishlist
https://github.com/PrestaShop/blockwishlist/pull/77#issuecomment-721817405
This PR fix the first bug :)

@matks & @kpodemski it's because I found a bug on the new release of blockwishlist
https://github.com/PrestaShop/blockwishlist/pull/77#issuecomment-721817405
This PR fix the first bug :)

Hello !
We discovered that with one of the wishlist SQL request, we could get a 0 when no image is chosen for a given combination.
The core is able to provide it by itself only if we DO NOT provide this information. As soon as we give a value, even wrong, it does nothing for us:
https://github.com/PrestaShop/PrestaShop/blob/6a880d31539ab2dcad5be32d7cdc332574a4fe43/classes/Product.php#L5494-L5499
Because of this value zero, it appears that we enter this if() block and make the core failing: https://github.com/PrestaShop/PrestaShop/blob/6a880d31539ab2dcad5be32d7cdc332574a4fe43/src/Adapter/Presenter/Product/ProductLazyArray.php#L606-L622
By leaving the core handling it completely, we get rid of this error.

Hello !
We discovered that with one of the wishlist SQL request, we could get a 0 when no image is chosen for a given combination.
The core is able to provide it by itself only if we DO NOT provide this information. As soon as we give a value, even wrong, it does nothing for us:
https://github.com/PrestaShop/PrestaShop/blob/6a880d31539ab2dcad5be32d7cdc332574a4fe43/classes/Product.php#L5494-L5499
Because of this value zero, it appears that we enter this if() block and make the core failing: https://github.com/PrestaShop/PrestaShop/blob/6a880d31539ab2dcad5be32d7cdc332574a4fe43/src/Adapter/Presenter/Product/ProductLazyArray.php#L606-L622
By leaving the core handling it completely, we get rid of this error.

@Quetzacoalt91 sure, I understand, make sure to check this PR tho:
https://github.com/PrestaShop/blockwishlist/pull/89
As without it y'all make sure to edit .tpl inside a module to get cover based on combination added to wishlist, not default one.

@Quetzacoalt91 sure, I understand, make sure to check this PR tho:
https://github.com/PrestaShop/blockwishlist/pull/89
As without it y'all make sure to edit .tpl inside a module to get cover based on combination added to wishlist, not default one.

I see. Because we can't change the behavior on already released versions of PrestaShop, I guess one workaround could be found on the module side.
I'm not sure if we were supposed to find zeros in the column product_attribute_image.id_image, but we have to ask MySQL to return null when this happens.
Would the suggestion above this comment help? :arrow_up:

I see. Because we can't change the behavior on already released versions of PrestaShop, I guess one workaround could be found on the module side.
I'm not sure if we were supposed to find zeros in the column product_attribute_image.id_image, but we have to ask MySQL to return null when this happens.
Would the suggestion above this comment help? :arrow_up:

@Quetzacoalt91
you can safely remove this query :) to avoid issues with cover:

remove this additional query from module
on template level make sure to use $product.default_image https://github.com/PrestaShop/PrestaShop/pull/21782/files

This should be enough.

@Quetzacoalt91
you can safely remove this query :) to avoid issues with cover:

remove this additional query from module
on template level make sure to use $product.default_image https://github.com/PrestaShop/PrestaShop/pull/21782/files

This should be enough.

Oh okay ! I didn't get the changes were needed on the template.
Ping @pablopolyte

Oh okay ! I didn't get the changes were needed on the template.
Ping @pablopolyte


Only Cleanup

cleanup && organize imports

Hey @lanwen,
you could be interested by this PR.
Kind regards


Failed to find 'tailwindcss/base' in css/toigian.css

im a beginner, im so confused that i do not see any file named tailwindcss/base, can you show me something is wrong there ?
Vietnamese is oke :v

@ChienDuyNguyen1702 Did you try to run npm install in themes/hugo-toigian? Or you can install tailwindcss with npm install -D tailwindcss 🥂

Vietnamese is oke?

Đương nhiên rồi 🇻🇳

thanks alot, its work


GPU fails the run on the containerized version of the worker

Stacktrace of the error:
Traceback (most recent call last):
  File "/src/worker.py", line 136, in <module>
    processing_result, full_provenance_chain = main_data_processor.run(
  File "/src/main_data_processor.py", line 85, in run
    proc_result = run_whisper(model_input)
  File "/src/whisper.py", line 43, in run_whisper
    model = faster_whisper.WhisperModel(
  File "/src/.venv/lib/python3.10/site-packages/faster_whisper/transcribe.py", line 133, in __init__
    self.model = ctranslate2.models.Whisper(
RuntimeError: CUDA failed with error named symbol not found

Managed to get it working, I will document the steps taken

If you were using driver 555.85 here, please see https://github.com/NVIDIA/nvidia-container-toolkit/issues/520 .


Yield-style generator examples.

This patch adds two similar examples which sums a sequence of numbers, where the sequence is generated by a yield-style generator. The first example uses an iterative loop to generate the sequence, whereas the second example generates the sequence by recursion on a binary tree.

I think these two examples should be added as microbenchmarks to wasmfx/benchfx too.


Add flag to run 'rdopkg patch' even if no new patches introduced

Needed for our CI, to run automatically, without asking questions :)

Indeed, same as non-interactive new-version suggested by @hguemar: https://review.rdoproject.org/r/#/c/2406/

What should happen when distgit is already up to date with patches branch? Usually, that means you already have the latest package built so there is no reason to run rdopkg patch and bump version.
Maybe just end with "No new patches detcted." like update-patches instead of mostly useless question to proceed anyway?

I have no problem with the question "proceed anyway?" as long as I have some flag to answer yes. Like 'rdopkg patch -f/--force'  or 'rdopkg patch -y/--yes', but I'm also k with what you proposing :+1:

I'd rather change behavior to cover all cases without new flags if possible and this makes sense for non-interactive use while also being consistent with update-patches.
Note that #81 must be also fixed before this is useful.

:+1:


Does it protect source code?

Hey. I'm wondering if building an app with nw-builder protects the source code. NW unlike Electron supports that option using snapshots and nwjc. I haven't looked at how all of this works yet but I know it's an option. There are two .bin files in the build directory. Is that it or is it just an unrelated part of chromium?
So, how protected is the source code built with this module? What would the user have to do in order to access it? Is it baked in the .exe somehow or hidden somewhere on the disk?

@oL-web Sorry for the late response. This question is better suited for the nwjs team to answer.


NS SAREGISTER doesn't account for confusables

Let's say you have an account dog. You can NS SAREGISTER d0g, then one of those accounts will be unusable (whoever is "first" into server.clients will claim the skeleton). (This isn't an issue for normal registrations because you have to take the nick first, and you can't take a confusable nick.)
This should be disallowed at the time of the SAREGISTER, probably using the dryRun stuff from #1308.

reported by @mogad0n


xcbuild-safe needs support for rbenv/bundler

🔑
New Issue Checklist

[x] Updated fastlane to the latest version
[x] I have read the Contribution Guidelines

Issue Description
The xcbuild-safe wrapper adds vital wrapping support for users using rvm but not rbenv. Furthermore it doesn't undo the environment variable setup damage from Bundler.
Complete output when running fastlane, including the stack trace and command used
Related to #3193 depending on configuration various outputs but always failing after the compile is complete and when it tries to generate the ipa.
Fails mostly when xcodebuild is attempting to use ipatool
Configuration Files
None, using bundle exec gym with various assortments of config but always doing an Enterprise export.
Subprocess.check_call([
      'bundle',
      'exec',
      'gym',
      '--clean',
      'false',
      '--include_symbols',
      'false',
      '--include_bitcode',
      'false',
      '--export_method',
      'enterprise',
      '--export_team_id',
      'REDACTED',
      '--codesigning_identity',
      'iPhone Distribution: REDACTED',
      '--scheme',
      'REDACTED',
      '--configuration',
      'Debug',
      '--output_directory',
      File.join(SRCROOT, 'Build/REDACTED'),
      '--output_name',
      'REDACTED.ipa',
      '--derived_data_path',
      File.join(SRCROOT, 'Build/REDACTED/DerivedData'),
])

Environment
fastlane version (run fastlane -v):
1.83.0
Do you use bundler to execute fastlane (i.e. bundle exec fastlane)?
Yes
Do you use a Ruby environment manager (e.g. chruby, rbenv, rvm)?
rbenv

#4456 resolves this issue

Hi @robertjpayne! Thanks for doing this work! We'll work with you on the PR. 👍

Thanks, we also just pushed this:

Hey everyone, we just pushed a new gym release with gym 1.11.1, that should fix an error in xcodebuild. Xcode depends on system Ruby being used, and sometimes can't find the system gems. The new release should fix that error. Please disable the use_legacy_build_api flag, update to the latest version of gym and give it a try. More information about the fixed error can be found here: https://github.com/fastlane/fastlane/issues/6495
Let us know if that fixes the issue for you. If it doesn't work still, please share the complete output with the latest version of gym so we can further investigate the problem 👍
Thanks everybody for helping resolve this issue  🚀


general use or tikv only?

is there any readme or else? this is build for tikv only or a general grpc implimentation in rust?

It's a general gRPC wrapper that wrap the origin c-implementation. Not just for TiKV. And it will be used in go client and jave client to communicate with tikv server.

I think go client and java client will use their specific grpc implementations (grpc-go/grpc-java) instead. But the wrapper will be compatible with them for sure.


iOS App Crash~

Steps to Reproduce

Use TextField inputFormatters to limit text length;
Input Chinese reaches the maximum length
Repeat multi
then app will crash
flutter version 1.17.2
dart version 2.8.3
ios version 13.6

Expected results:
app will not crash
Actual results:
app crash

Logs

5. flutter version 1.17.2

@RicoLiu You are on obsolete version of Flutter. Current stable version is 2.5.1. Please upgrade to latest and try again to see if issue persists or not.

Due to many reasons, I cannot upgrade the Flutter version.
But I have changed another solution to avoid this issue.


Tooltip in surface representation

Is it possible to have a tooltip on a surface representation?

I don't think so, because the surface doesn't unambiguously represent one molecule at each surface point. You can add another representation inside the surface though.


install_release.sh wrong SERVER_URL and SHA256

[x] I have read the FAQ.
[x] I have searched in existing issues.

Environment

OS: Debian bookworm (latest)
scrcpy version: 2.0
installation method: manual build
device model: not relevant
Android version: not relevant

Describe the bug
After a successful installation, scrcpy won´t run because install_release.sh pulled an old version of the scrcpy-server binary.
On errors, please provide the output of the console (and adb logcat if relevant).
$ scrcpy --no-audio
scrcpy 2.0 <https://github.com/Genymobile/scrcpy>
/usr/local/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 20.2 MB/s (42151 bytes in 0.002s)
[server] ERROR: Exception on thread Thread[main,5,main]
java.lang.IllegalArgumentException: The server version (1.25) does not match the client (2.0)
	at com.genymobile.scrcpy.Server.createOptions(Server.java:166)
	at com.genymobile.scrcpy.Server.main(Server.java:330)
	at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
	at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:355)
ERROR: Server connection failed

The solution was to get the url for the v2.0 binary, calculate the SHA256 hash and replace the values on the script:
PREBUILT_SERVER_URL=https://github.com/Genymobile/scrcpy/releases/download/v1.25/scrcpy-server-v1.25
PREBUILT_SERVER_SHA256=ce0306c7bbd06ae72f6d06f7ec0ee33774995a65de71e0a83813ecb67aec9bdb

to:
PREBUILT_SERVER_URL=https://github.com/Genymobile/scrcpy/releases/download/v2.0/scrcpy-server-v2.0
PREBUILT_SERVER_SHA256=9e241615f578cd690bb43311000debdecf6a9c50a7082b001952f18f6f21ddc2

And run the script again. Now scrcpy runs fine.
I suppose those values on the script should be generated automatically using a template or something when generating the release.
Cheers!

The script install_release.sh is updated once the release binaries are generated (of course, because it includes a release checksum). But the release binaries are generated once the version is tagged (btw the tagname is used for the release name). So the tag may not contain the new install_release.sh script.
Therefore, this script is always updated one commit after the tag (along with the github pages referencing the new version): abc1be4872ee1869b307405b091d736b7cd2e0ff
For install_,release.sh, it would be possible to cheat, because the scrcpy-server binary is not impacted by this script, so we could re-tag after the binaries are generated, but it feels wrong.
This script is always intended to be executed on the master branch as a convenience to install the latest release.

OK, gotcha. Actually, yes: the version of the code I downloaded was from a release tag. Thanks.

Hello @rom1v,
"This script is always intended to be executed on the master branch as a convenience to install the latest release"
please consider tagging it to releases or tags.
what we can do here is generate checksums.txt file along with the binary file.
kindly refer to releases here as an example. https://github.com/gohugoio/hugo/releases/tag/v0.131.0
This will ensure the checksums are available to everyone and are not hard-coded into the install script.
We can then modify the install script to verify the hash. Kindly refer this script as an example https://gist.github.com/adityatelange/98a6b8e8cf9551a5eeee129aead01823
Regards.

Reopening issue as the script's existence is still misleading users into using it, and there is now a proposed solution to improve the script and make it work not only for the master branch but for future releases as well.

I totally agree that it is confusing.
In theory, install_release.sh should not be in the same repo, because then it creates a cyclic reference if we want the updated script to be included in the tag (the tag depends on updating the file, but updating the file depends on the release which depends on the tag). But it is still convenient to put it there.
Before that script, the commands to execute were just documented. The script just does it automatically.

what we can do here is generate checksums.txt file along with the binary file.

There is already such a file, but I don't want to use that for install_release.sh. Btw, if the file is at the very same place as the binary file, the checksum is useless to detect tampering.
It is important that the checksum is hardcoded in a commit, because that gives some level of trust (it cannot be maliciously modified without a high probability of being noticed by many git users). By contrast, someone with write access to the repo might change the checksum file in the release, and install_release.sh would accept a malicious replaced file+checksum.
Of course, the solution to this problem is known: public key cryptography (I also publish a signature SHA256SUMS.txt.asc for every release with my gpg key), but I don't want install_release.sh to depend on that. The script is so simple that everyone can read it and understand what it does.

For install_release.sh, it would be possible to cheat, because the scrcpy-server binary is not impacted by this script, so we could re-tag after the binaries are generated, but it feels wrong.

I might consider to move the tag just after the binaries are generated in the future, that would "solve" the problem. But I'm not sure yet.

I knew you'd come to this as from the way I mentioned, the binary will be safe from tampering but not checksusms.txt is not. And this is a never ending cycle. You have to trust Github here to provide the server package as it is without tampering.
With checksums what we are ensuring is users can verify the binary themselves.
IMHO we need not check the binary for checksum as a measure of tampering but as a measure that it is downloaded properly and is not corrupt/half finished.
In extreme cases where the system itself is compromised, that is not maintainer's job to protect the end user.
I hope that makes sense, would like to hear your thoughts.

I am not sure how the release takes place, or maintainers directly drag and drop binaries as assets in a release.
Proposing following method, let me know if I can create a PR if you think this way is a good way to proceed.

SHA256SUMS.txt

ca7ab50b2e25a0e5af7599c30383e365983fa5b808e65ce2e1c1bba5bfe8dc3b  scrcpy-server-v2.6.1
17a5d4d17230b4c90fad45af6395efda9aea287a03c04e6b4ecc9ceb8134ea04  scrcpy-win32-v2.6.1.zip
041fc3abf8578ddcead5a8c4a8be8960b7c4d45b21d3370ee2683605e86a728c  scrcpy-win64-v2.6.1.zip

Updating the install instructions to clone the tag (this branch can be updated after each release by maintainer)

https://github.com/Genymobile/scrcpy/blob/44b3fd82b1831f4aa436268870adf32bddb81924/doc/linux.md?plain=1#L34-L38
to
git clone https://github.com/Genymobile/scrcpy --branch v2.6.1
cd scrcpy
./install_release.sh

install_release.sh
We use the tag we cloned to download the binary and verify the checksum.

#!/usr/bin/env bash
set -e

GIT_TAG_VERSION=$(git describe --exact-match --tags)

BUILDDIR=build-auto
PREBUILT_SERVER_URL=https://github.com/Genymobile/scrcpy/releases/download/$GIT_TAG_VERSION/scrcpy-server-$GIT_TAG_VERSION
PREBUILT_SERVER_CHECKSUM=https://github.com/Genymobile/scrcpy/releases/download/$GIT_TAG_VERSION/SHA256SUMS.txt

rm -rf scrcpy-server*
rm -rf  SHA256SUMS.*
echo "[scrcpy] Downloading prebuilt server..."
wget "$PREBUILT_SERVER_URL"
echo "[scrcpy] Downloading prebuilt server checksum..."
wget "$PREBUILT_SERVER_CHECKSUM"
echo "[scrcpy] Verifying prebuilt server..."

PREBUILT_SERVER_SHA256=$(grep "scrcpy-server-$GIT_CLONED_VERSION" SHA256SUMS.txt)
if echo $PREBUILT_SERVER_SHA256 | sha256sum --check ;then
	echo "[scrcpy] Building client..."
	rm -rf "$BUILDDIR"
	meson setup "$BUILDDIR" --buildtype=release --strip -Db_lto=true \
	    -Dprebuilt_server=scrcpy-server
	cd "$BUILDDIR"
	ninja
	echo "[scrcpy] Installing (sudo)..."
	sudo ninja install
else
	echo "[scrcpy] Checksum verification failed!"
fi

Sorry, there is no way the script will download and accept a file that can be replaced on the remote server in the future.

@adityatelange

#!/usr/bin/env bash
set -e

GIT_TAG_VERSION=$(git describe --exact-match --tags)

BUILDDIR=build-auto
PREBUILT_SERVER_URL=https://github.com/Genymobile/scrcpy/releases/download/$GIT_TAG_VERSION/scrcpy-server-$GIT_TAG_VERSION
PREBUILT_SERVER_CHECKSUM=https://github.com/Genymobile/scrcpy/releases/download/$GIT_TAG_VERSION/SHA256SUMS.txt

rm -rf scrcpy-server*
rm -rf  SHA256SUMS.*
echo "[scrcpy] Downloading prebuilt server..."
wget "$PREBUILT_SERVER_URL"
echo "[scrcpy] Downloading prebuilt server checksum..."
wget "$PREBUILT_SERVER_CHECKSUM"
echo "[scrcpy] Verifying prebuilt server..."

PREBUILT_SERVER_SHA256=$(grep "scrcpy-server-$GIT_CLONED_VERSION" SHA256SUMS.txt)
if echo $PREBUILT_SERVER_SHA256 | sha256sum --check ;then
	echo "[scrcpy] Building client..."
	rm -rf "$BUILDDIR"
	meson setup "$BUILDDIR" --buildtype=release --strip -Db_lto=true \
	    -Dprebuilt_server=scrcpy-server
	cd "$BUILDDIR"
	ninja
	echo "[scrcpy] Installing (sudo)..."
	sudo ninja install
else
	echo "[scrcpy] Checksum verification failed!"
fi

I'm blind. Can't see where $GIT_CLONED_VERSION  variable defined!

I'm blind. Can't see where $GIT_CLONED_VERSION variable defined!

Try developing an ability to correlate that it is a typo for GIT_TAG_VERSION

@pupitetris, strange people are arguing if any of git used command returns valid hash compared to sha command. Haven't used and needed such git function. But if returns wrong hash it's usless.

Sorry, there is no way the script will download and accept a file that can be replaced on the remote server in the future.

So you have trust issues on GitHub or the future maintainer of this project. Alright, so if they can replace the remote server file they can ofcourse rewrite the git history as well.
What I can also see is the commits aren't signed by any key so they can do it without anyone even noticing it.
Thoughts?

I might consider to move the tag just after the binaries are generated in the future, that would "solve" the problem. But I'm not sure yet.

Tag v2.7 points to the updated install_release.sh :rocket:


Add blue noise textures

if I may - why is it needed in the assets library? why not host it at your own repository?

It is needed here like the env texture for a special secret project Mike is working on but 🤫🤫🤫🤫🤫

I should have just checked the user, huh? ;-)


Guide: Artwork Page

The image below identifies each module that make up the feature set for the redesigned artwork page. All issues related to a particular module are identified by their module names in the title of the issue. Use this issue as a reference/guide as you work on the artwork page.

@katarinabatina Should we close this for now?

hmmm @alloy I say we keep it open for now

Okeydokey, captain 👌


Lfs integration

What title says. This adds lfs integration, because the repository can be too big to clone if I keep pushing arbitrary binary files. See https://git-lfs.github.com/
Edit: Forgot to mention, this requires #62

rebased


📅 5/18 @ 10:30am PT - Learn with Jason: GitHub Automation with Octokit with @jlengstorf

💁🏻 Learn with Jason: GitHub Automation with Octokit
📅 Tuesday, May 18, 2021
🕐 10:30am Pacific Time (in your timezone)
🎙 hosted by @jlengstorf
🏷 Automation

Subscribe to this issues to get a notification before the show begins and a summary after the show concludes.
This will be a show on Learn With Jason: https://www.learnwithjason.dev/github-automation-with-octokit. Check out all the existing shows on learnwithjason.dev. You can also follow @LWJShow on Twitter.
Learn with Jason: GitHub Automation with Octokit

GitHub Automation with Octokit
GitHub has powerful APIs, and with Octokit we can do just about anything on GitHub through code. Gregor Martynus will teach us how!

— learnwithjason.dev/github-automation-with-octokit
Everyone should be able to follow along. It will be helpful to know these technologies though:

Node.js + npm
REST API
GraphQL
OAuth
Webhooks
Netlify Functions

Feel free to ask any questions ahead of the show about these

Outline
This will be a 90 minute show, so plenty of time to get through. We will boop Jason's nose by utilizing all kinds of GitHub APIs and octokit

Part I: Octokit for REST API & GraphQL

[ ] Create a CLI app that will edit a file on GitHub
[ ] Use GitHub's OAuth Device flow to authenticate
[ ] Create an issue using GitHub's REST API and GraphQL API.
[ ] Publish the package to npm and make it usable with npx.
[ ] Create a reusable Octokit plugin and publish it as part of the npm package.

Part II: Octokit for GitHub Actions

[ ] Create a GitHub Action with Node.js + Octokit
[ ] Make the action available to others
[ ] Publish the action to the Marketplace

Part III: Octokit for OAuth Apps, Webhooks, and GitHub Apps

[ ] Create an OAuth App and deploy it to Netlify Functions. The OAuth app handles the OAuth web flow and bumps the counter as the user by creating a new issue.
[ ] Setup continuous deployment using Netlify’s GitHub integration.
[ ] Create a GitHub App that bumps the counter when an issue was created

Part IV: Octokit in the browser

[ ] Create a web app that uses the OAuth web flow to bump the counter, but with a nice custom UI.

Recording
will be added after the show

Shownotes
will be added after the show
Preparation

[x] Work through all the things we want to cover during the show to make sure that they will all just work :tm: or at least most of them 😁

The recording for the show is now on Twitch, and will be on YouTube tomorrow: https://www.twitch.tv/videos/1027033591

we will continue where we left of on @learnwithjason this coming Tuesday on @github's own "30 minutes to merge" show. Check out https://github.com/gr2m/helpdesk/issues/18 for details and subscribe to the issue for updates


GZipEncoder is forcibly enabled in DropwizardResourceConfig

I guess we need configuration for this instead of forcibly
EncodingFilter.enableFor(this, GZipEncoder.class);

in DropwizardResourceConfig consturctor

+1


TensorFlow tf.lite.experimental.load_delegate compatibility

Hi,
Thanks for all the work y'all do!
I noticed 12-1 is the last version of libedgetpu1-std that is compatible with TensorFlow's tf.lite.experimental.load_delegate API.
Based on #71, I can see libedgetpu1-std is linked against a specific TensorFlow rev, and that future revs of TensorFlow contain load_delegate API changes that are not compatible with libedgetpu. As a workaround, you've packaged a pinned rev of tf.lite.Interpreter and released as a tflite_runtime wheel.

Are y'all waiting for the delegate API to be moved out of the experimental package to support it?

What's the timeline on libedgetpu becoming open-source? I'd love to assist by proposing a patch for this issue.
E.g. I'd love to see the source for https://github.com/google-coral/edgetpu/blob/657d2b654101540164af240eacb31440ff6f535d/libedgetpu/edgetpu_c.h#L98

I'm also Google Developer Expert (machine learning) so I might be able to connect with folks who are invested in resourcing this. I'm also happy to do recon by attending SIG meetings, if that's what's missing here. Let me know what is blocking you on this.

@leigh-johnson
Thanks for submitting the issue, sorry, didn't see this earlier but I've responded to most of this directly via this issue https://github.com/leigh-johnson/rpi-deep-pantilt/issues/13#issuecomment-634016827
Just to clarify, the commit that we linked against for this release is based on this commit. We are definitely aware of all the issues this is causing, especially for c++ users, as you can see this growing list :)
This is still a working in progress and we don't have a release date yet, unfortunately.


Update namespaces

Removed suffixes like Parsers/Extractors/Models/Utilities

@ejadib,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot