Improve resilience / reduce dependency on Undo

Metasmoke went down again today and was mostly inaccessable for 7+ hours.
I'm creating this ticket to collect ideas and hopefully eventually articulate a plan of some sort for allowing Charcoal to recover from a Metasmoke failure if Undo is unreachable, perhaps even for an extended time.
One option which was put forth was to use the AWS infrastructure to failover to a second instance, still running under Undo's account, if the production instance is unreachable or crashing.
Ideally, down the line, the Charcoal operations should be independent of any one team member.

Having two instances is tricky if they need to sync. Moving the database to a separate server would simplify the dual Metasmokes architecture significantly, though it obviously requires some additional set-up.

It may be possible to expose the restart button on that instance to some folks. Won't help for disk space, but that's not what happened this morning as far as I can tell

There are various things like out of disk, network unreachable etc which a restart button can't fix.

Network unreachable is usually fixed by a restart; the instance is probably launched again in a different rack or even data center.

I thought only a stop/start would change where your instance was being run. Restart doesn't 'give up the underlying hardware' according to this answer so it wouldn't necessarily fix the issue if it was a problem with AWS.

What if we separated the MS post/feedback database from the PII database? This way, Smokies could directly add in posts/feedback, and someone could make an alternative API server that AIM/FIRE can connect to if MS is down. Additionally, the MS codebase could accommodate not being able to access the PII database, allowing other people to run MS instances that could be failed-over to if the main one breaks.

I have a few suggestions, but they are larger changes to both Smokey and Metasmoke. They are also going to involve underlying changes in both to make this more stable. The goal with these changes is to

Keep @Undo unconcerned about privacy information getting leaked
Help stabilize Smokey/Metasmoke when connectivity is lost

Background
Smokey was originally built to be a stand alone application. Management was handled by a couple people running their own instances of Smokey and done via configuration files. Over time, we added in the ability for Smokey to update it's own code via GitHub. This allowed changes to get released faster, provided faster responses to the community as new patterns were added, and allowed the admins to sleep at night without worrying about multiple hours of patterns being ignored until they woke up. Metasmoke was added to keep track of detections and accuracy of reports. Eventually it evolved into an automatic flagging system.
Basically, we are a long way from a single script that posts to a chat room at this point. Pretending that SmokeDetector is standalone or that Metasmoke is standalone is misleading or outright lying to ourselves. Neither can be effective without the other.
Current Problems
There are a variety of problems that currently exist with our existing solution. Taken individually, they are rather minor and inconvenient. Unfortunately, we can't take them individually. The entire system is impacted when one part doesn't behave.
SmokeDetector is unstable
We have 5 instances of Smoke Detector standing by, currently. There is at least one other admin with Smokey credentials (me) that could fire up another instance. The reason these exist is because SmokeDetector will randomly die and rather that solving the underlying problems, we've added 5 bandaids that can be activated to keep coverage.
We need to investigate the underlying causes of the crashes. It's possible that these are related to ChatExchange. We should be hunting down these bugs and applying patches upstream. SmokeDetector also needs to gracefully handle unknown ChatExchange errors (but also report them so that we can fix them).
We know there are problems with losing connections to web sockets, weird parsing errors in chat, etc. We've ignored these by letting a Smokey die and letting a backup take over. Instead, let's try to reestablish a broken web socket or gracefully handle a parsing error.
Metasmoke responsiveness
Like any good server, Metasmoke dies when it's sysadmin isn't around. Failures have included system disk space and network availability. The first can be solved with some clean up scripts or log rotation. The second is a bigger problem but relatively rare. I'm open to suggestions on how to handle a true network problem with Metasmoke.
Dependence on Undo
Undo, as the owner of the server, is intimately involved in running this project. Like everyone, he also has a life outside of moderating Stack Exchange (and probably enjoys sleep too). One of the concerns we have is regarding the write tokens that are stored for autoflagging. Undo is the only one with access to those at the moment because these are stored in the database.
Let's make this less stressful on Undo by doing a couple things to help making those tokens harder to access. Are these encrypted in the database? Are they stored in their own schema with a dedicated user account? Other ideas?
Github
We are now a system with three(ish) moving parts - SmokeDetector, Metasmoke, Github (with user script taking up the 'ish'). I've argued previously that GitHub isn't the right place for handling the constantly updated blacklists/watchlists/permissions/room configurations/etc that we have. We are introducing a point of failure that we don't control.
I'd love to pull GitHub out of the process of updating blacklists/watchlists/permissions.
Suggested Solution
I propose, again, that we absorb blacklists/watchlists/permissions into Metasmoke and expose this information to SmokeDetector via an API call.
SmokeDetector would push an update to Metasmoke using the same commands that exist today (!!/blacklist-* commands). Metasmoke would only accept these commands if a valid token was passed. Otherwise, it can ignore it as if it was from an authorized user. SmokeDetector also adds these to the local cache. This cache is what is used to perform checks (and would really just be the existing files, so nothing would need to change)
When a SmokeDetector comes out of standby, it pulls the latest version of the lists and stores them in a local cache. This ensure that the backups have the latest detections.
The cache is used for those instances where metasmoke is inaccessible.
Moving this outside of GitHub will also provide us with faster response times because we don't have to rebuild/test the solution every time there is a new list. We could quickly add several items and it'd involve an API call to get the updated list.
Dealing with Metasmoke unresponsiveness/lost websockets can be done with local smokey queues. It adds an extra step in the "send data to metasmoke" process, but if we build a local - persistent - queue, we can attempt to send data over and over (or, on restart, if an instance crashed). One idea is an sqlite table that we push messages into and another that takes messages from the table to send and then deletes the associated record when MS responds it was received. Add in a retry time that grows to X, and we could have a queue that persists through an MS outage or a Smokey crash.
These changes involve extensive changes to both Smoke detector and metasmoke, but I think we need to consider some of these options. We have two applications that are intimately dependent on one another. Let's work on getting the communication between the two more stable and easily reset.

To make Smokey more resilient, we could split up the single process into multiple:

Watch the realtime socket for new posts and put them in an API fetch queue
Watch all rooms Smokey takes commands in, and put any messages replying to Smokey or starting with sd in a command queue
Take messages from a message queue and post them to the appropriate room
Take messages posted and handle the commands as needed (reporting pushes the post to the API fetch queue
Take messages from the API fetch queue, fetch them from the SE API, and put them in the post queue
Take posts from the post queue and check if they are spam, then push a message to the message queue if they are.

The advantages of this are:

If one process crashes, that can be reported, and a new one can start pulling from the queue. The only exceptions to this are the chat and post watchers.
It would be hard to crash everything at once, meaning that the instance would be able to maintain partial functionality until the component can restart successfully.
Missing posts or messages would be unlikely, since those components are as minimal as possible, meaning that they just get the message/post id and put it in the queue, leaving the error-prone work to processes that can just pull the ID from the queue again

Disadvantages:

It’s pretty complex, and the system could break.
Messages could get lost in the queues somehow.

What do you think about this?

Re: making things less stressful on Undo: API tokens are encrypted at rest in the database.
Re: both that and JF's suggestion of separating databases: That's not something Rails is or ever was designed for. It may be possible, but I can say with almost complete certainty that it will involve several nasty hacks that will only serve to decrease metasmoke's reliability.

How much of MS could we split apart?
PII needed:

Auth (email)
Flagging
?
PII not needed:
Post storage & display
Feedback storage & display
SE-based auth (API key could be thrown away after running /me)
Search

Splitting databases is not a solution I'm at all in favour of, I'm afraid, @j-f1

Agree with everything Andy said - it's time I quit holding us back with the "metasmoke isn't reliable" excuse.
Here's a thought, though: Instead of running blacklists through metasmoke, what if we built something that used AWS' API Gateway, DynamoDB, and Lambda to store and retrieve blacklist entries?
Advantages:

It's basically free. I'm using it for some heavy-ish four-times-a-month parsing of an audio file, here's my bill. Free tier would probably cover us; outside of the free tier it's a few cents per gazillion operations.
It has near-perfect uptime, without any human babysitting it - if it goes down, metasmoke is probably on fire anyway.
It's scalable to insane proportions (for us) while staying basically free.
It should be easy to plumb in to metasmoke if we want a shiny UI - just give it direct access to DDB, or use the same API SmokeDetectors would. Also easy to talk to metasmoke from Lambda if we want to verify tokens, for example.

Cons:

It's somewhat more obscure; unlikely that more than a few of us have used it.
It's harder to keep in a repository (although there are frameworks to fix that)

I've looked at using it for web requests, but the numbers don't work out well for metasmoke-scale relational data. For a few thousand blacklist entries, though? Easy.
Thoughts?

I like the queues idea and have been toying with that before. It's not that complex; at work, moving a legacy system of similar complexity over to AMQP took a few weeks and made it a lot more stable and scalable in the process.
I'm divided over AWS -- it would be terrific if we didn't commit to any particular cloud vendor, though Amazon's offerings are apparently much richer in features than the competition currently. Also, AWS free tier is only ever free only for the first year, whereas e.g. Google is currently offering some free services basically forever (obviously, subject to overriding business pressures in the future).

Aye, but there's free and there's free on AWS. First year free, but for the kind of usage we'd be doing, after first year it's still free, just not free any more.

Translation: for 1 year only we get 1 million API calls per month via AWS API gateway free ($3.50 a month after that), and for 'forever' we get 1 million Lambda calls per month and a 25GB NoSQL database with DynamoDB. As long as we keep our requests to no more than 1 per min, we should stay under.

I'll start off by responding with my opinion on what everyone wrote:
@AWegnerGitHub

I pretty much totally agree with what you're saying here
Good idea with fixing bugs upstream, it's something that we always forget about when we have these discussions
I sorta disagree with your statement that MS and SE are broken without the other. Yes, lots of commands and stuff stop working, and Smokey restarts excessively, but it doesn't crash constantly. Most of the issues we're having have been blown out of proportion when people start complaining that they can't view, flag, give feedback and get MS info from a post with one click. But it's definitely a long way from perfect - in particular, our failover system was never designed to work when MS network connection goes weird.

@j-f1

I think this is probably something that we should we trying later on once everything is more stable. At the moment, I have a feeling this may cause more trouble than it's worth.
But this would be a good idea if we ever needed/wanted to parallelize our spam checks/API fetching etc between smokey instances, since we could easily pass data from one instance to the next without issues. However, I don't think we'll ever need to do this, one instance at a time is working fine.
This will probably require either the postdata refactor or postdata removal to be implemented.
I don't think we should be splitting MS up

@Undo1

This sounds like a solution that should fix all of our blacklisting issues.  I'm all for it.
Cost shouldn't be an issue, see my above comment

Anyway, now time for my opinion.
I'm being captain obvious here, but it needs to be said. It doesn't matter what our long term plans are, our number 1 priority right now is to fix the immediate issue (MS is down). We can't start doing anything until we stop running around with our hair on fire.
After that, and before we start fixing bugs and moving the blacklists out the code, we need to make our codebase easier to code and test with. Currently, if you start up a testing instance, it will act like it's in production. It'll post reports in all of the main chatrooms, connect and post data to MS, push/pull from the main repository, and everything. It's an absoulte pain, since we need to  We need to make Smokey easier to test, but adding options like:

CHQ only (I think we already have this), no chat at all, and configurable main posting room. Also see the last dotpoint.
No git push or pull
No git push (pull allowed)
Easily configurable code repository - we currently have GlobalVars.bot_repository (or something), but it isn't used everywhere it should be and you still need to modify code to change the configuration.
Get-only MS connection (i.e. intercept sending reports, feedbacks, etc to MS, and pretend that everything went all OK. This could be solved on the MS side also, by adding special 'testing' MS integration tokens which can have individual routes turned on/off from an online interface)
Easily configurable rooms. I'm not talking about auxiliary rooms like the per-site chats, I'm talking about being able to easily configure the main posting room as well as the Tavern, SOCVR, SOBotics, etc, and turn them off/modify their locations/report settings without modifying the code in a dozen places. Something similar to the way Smokey NG does it would work well. That way we can have a default config stored in the code (which is used in prod) which will be overwridden whenever a custom config is supplied.

While some of these may involve some rather drastic changes, it will make developing/testing much easier.
Other things that I think also need to be fixed before we make any major changes:

Postdata refactor needs to be completed - currently we have both Post and Postdata objects, ideally we should consolidate these into one. teward has already made a start on this.
(this probably can wait) I'd like to see some sort of central SE API handling code which properly handles API call locks, requests, backoffs, response decoding, error handling, etc, all in one place - I've recently had to work with some of this code as part of the allspam changes, and a lot of similar code is repeated in many places, making it hard to tell if you've incorrectly set up an API call.

Once all of that is done, we can start work on debugging, fixing, and refactoring our blacklists.

Note - I wrote this while tired, some of it will not make much sense, ping me in chat for clarification.

I think that those help, but we're still reliant on Undo for certain types of fixes, e.g. disk space issues. IMO this isn't completed, it's in progress.

Eh. As long as we're running a not-serverless setup, we are fundamentally always going to be reliant on the server host. Expecting every sysadmin task to be delegated to Charcoal at large isn't a reasonable goal.

FWIW, disk usage has been very stable at ~85% for months now.


VideoFinder button missing & FF integration addon not working

Checklist

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

Question

WRITE QUESTION HERE
Hello, after 1st installation of Persepolis and FF integration addon, I have trouble with the following :
1° Missing Video Finder button in the Persepolis Download Manager interface (see attached screenshot)
2° Persepolis Integration addon for Firefox doesn't seem to recognise Youtube links.
Here's some basic info about my config :
Linux Mint KDE 18.3
Firefox 67
Persepolis 3.0.1
Persepolis download Manager Integration 2.0.0

Sorry wrong forum


Change the scope of pytest fixtures to be session instead of function

Codecov Report
Patch and project coverage have no change.

Comparison is base (0e13e81) 68.33% compared to head (3b5f6ca) 68.33%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #375   +/-   ##
=======================================
  Coverage   68.33%   68.33%
=======================================
  Files          27       27
  Lines        3610     3610
=======================================
  Hits         2467     2467
  Misses       1143     1143

Flag
Coverage Δ

unittests
68.33% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Feature request: Add support for lazy send (e.g. trigger open if !isOpened)

Right now the logic is to throw an error if the connection is not already opened when send is called (either directly or via sendPacked, sendRequest, etc).
https://github.com/vitalets/websocket-as-promised/blob/bc60644c935b69eba1284f5863d3d91099165bd0/src/index.js#L251-L255C4
It would be great to alter this behavior to support a lazy option (Boolean, and false by default).  If true, then it would attempt to open the connection inside of send() function.

From the lib perspective I suggest to keep such wrapper in userland.
As wsp.open() handles this correctly, the wrapper is rather simple:
async lazySend(data) {
  await wsp.open();
  await wsp.send(data);
}

But you can setup your own handling of broken connections, retries, etc.


The recipe is not parsable by parser conda-souschef (grayskull)

Hi folks,
We've got a lintner warning about the unparsable recipe (https://github.com/conda-forge/level-zero-feedstock/pull/44#issuecomment-2489635760). I went through the CI logs but found nothing that would hint at what was wrong. Is there a way to run the parser locally?

The conda-forge-admin will now include a link to the logs at the bottom of its message. An example is here. Please close this issue until the next time you rerender your feedstock and have a chance to look at the logs from the linter (these logs are separate from the conda-build logs).

Thanks. Closing for now.


The useResource$ hook is not fetching the resource properly, causing an error in the edge function. (works locally, but not in deployment via Netlify Edge middleware).

Qwik Version
v0.0.105 (Qwik) and v0.0.104 (Qwik City)
Operating System (or Browser)
Ubuntu Linux, through WSL
Node Version (if applicable)
v18.8.0
Which component is affected?
Qwik City
Expected Behaviour
The data (that does show up properly at the endpoint by the way) should be loaded into the useResource$ hook instance as expected, and display on the screen.
Actual Behaviour
The resource is constantly in the loading state, and the edge function through netlify displays an error as such:

The endpoint displays the correct REST data, but it is unable to be fetched via the endpoint located inside of the same app.
Additional Information
I believe that it is related to the Netlify Edge middleware, but I am not too sure.

This seems like the server is throwing in error something like Recusive .... And then client is trying to parse it which then displays the parsing Error, as it is not valid JSON.
Could you look into the dev-tools network tab and see what the actual error is?

Hi @ghost 👋
Did you already have a chance to try the latest version of qwik? would be great to have the data Misko requested to debug it 🙏

The creator of this issue has deleted his account and we don't have a repro. I am closing this 🧹


Add test libraries and coverage plugin

We want all the projects to use the same test library, scalaz-zio uses specs2.
The plugin already adds a test dependency to scalacheck in Compilation.scala, maybe we should move dependency-related settings in a separate file to avoid clutter in Compilation.scala.
We also need to add the scoverage plugin to the projects.
❓ Open question do we have a way to make sure from the plugin that the projects' CI configuration will run the coverage?

Why are we going with spects2 instead of scala-test?


Allow excluding manual chunks when using .generated

I am using the v5 .generated option, and I notice it doesn't allow excluding a chunk from compiling.
Parts of my project are already prebuilt, I just want to bundle this. I am using manual chunks to separating this code, it should be possible to exclude in the renderChunk phase using the chunk name. It works with rollup-plugin-terser too.
I realize this project is being moved to the plugins monorepo, will move the issue there when it's done.

Could u create a repro case for this? Im not that well-versed in those advanced possibilities of Rollup and it would be easier for me to understand this if I could look at your input files, config and generated code

This is an example setup: https://repl.it/repls/WigglySpiffyDatabase
I want to exclude big-library.js from babel and terser, since it's already es5 and minified. manualChunks allows telling rollup to keep it in a separate chunk, so that you can exclude it. Or so I thought, because unfortunately I see that the faceModuleId is not set for manual chunks, and the fileName is the minified filename. Terser's exclude logic doesn't work properly either because of this :(

It seems that we should use the .name field for this. See: https://github.com/rollup/rollup/issues/3497


latest public website build for webpack lost the css

Bug:
Production https://webpack.js.org/ site missing its CSS.

main injected CSS in the <style> element,
https://webpack.js.org/b96d3eecd1add4af62f0.css is 404 😢
What is the current behavior?
main CSS is 404
If the current behavior is a bug, please provide the steps to reproduce.
clear cache, load in Chrome or Safari, etc.

What is the expected behavior?
CSS should load

@webpack-bot move to webpack/webpack.js.org


"Projected Total (Monthly)" lacking readability on /order-history/:id

The "Projected Total (Monthly)" should be on one line. The spacing with the bold styling is not good for ease of use.
If it is too long for one line (i.e. it makes the other titles above/below too far from the project information) then I recommend changing it to "Monthly Estimate" or "Estimate (Monthly)".

I've refactored this page to be in the 3.x style.
I'll update this issue once the branch is passing and I've merged it in.

Fixed by pr #714


Synchronize global alert/confirm/prompt with window.prototype flavors

Fixes #21

LGTM :) Thanks

Imported with 380f242169927c7394bbac9ebc5b221f36f044e7


Crash with nether ores or thermal foundation

When using this mod alongside netherores or thermal foundation i get a crash on loading
at iguanaman.iguanatweaks.config.IguanaWeightsConfig.getWeight(IguanaWeightsConfig.java:46)
at iguanaman.iguanatweaks.util.StackSizeTweaks.init(StackSizeTweaks.java:47)
at iguanaman.iguanatweaks.IguanaTweaks.postInit(IguanaTweaks.java:102)
disabling the stacksize divider (setting them all to 1) fixes this. I am using 1.7.10-2A, as it is the only version available on curseforge.

Please pastebin the full crash report. This helps me none.

http://pastebin.com/sVBPTVrs
This is with all my current mods installed, but disabling nether ores or the stack size divider fixes the crash.

They the latest snapshot build. I'm pretty sure this is the same bug that I fixed a while ago, but I can't tell for sure.

Ill try that and see if it fixes it. I am making my modpack for the curse voice launcher and am restricted to the files available on curse for the modpack.

If the snapshot build indeed fixes it, I'll release 2B on CF later today for you. It has a couple other fixes and a new config option, so it's probably worth it.

That fixed the crash. Thanks for the CF upload in advance, and sorry about the partial crash report. That's all I had left of an old crash report so I reproduced the crash and got a new one.

Look for it on CF towards the end of the day.


Updated README for the ts-react-apollo-client

Have updated the README for the React template. Please let me know what all I can improve more in this README.

Thanks for the PR @RinkiyaKeDad <3.
@wtrocki @craicoverflow would one of you want to have a quick look for this one so that @RinkiyaKeDad can make further progress for the remaining templates? Thanks.

@craicoverflow I've made the suggested changes. Please check now.

Glad you liked the changes :)
@wtrocki I've added the suggestions in the recent commit.

Amazing work!

Thanks @craicoverflow! Will start working on the other READMEs now.


Share Copr projects between all releases

Fixes: #1044
Signed-off-by: Frantisek Lachman<EMAIL_ADDRESS>

regate


Uncaught Error: channel closed

[Enter steps to reproduce below:]

...
...

Atom Version: 1.0.11
System: Mac OS X 10.10.5
Thrown From: atom-jshint package, v2.0.0
Stack Trace
Uncaught Error: channel closed
At events.js:141

Error: channel closed
    at ChildProcess.target.send (child_process.js:396:26)
    at AtomJsHint.module.exports.AtomJsHint.run (/Users/kristianmandrup/.atom/packages/atom-jshint/lib/atom-jshint.js:105:21)
    at AtomJsHint.<anonymous> (/Users/kristianmandrup/.atom/packages/atom-jshint/lib/atom-jshint.js:66:16)
    at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
    at /Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1263:25

Commands
     -0:46.2.0 editor:move-to-end-of-screen-line (atom-text-editor.editor.is-focused)
     -0:44.9.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:44.5.0 core:move-down (atom-text-editor.editor.is-focused)
     -0:44 core:move-to-bottom (atom-text-editor.editor.is-focused)
     -0:40.4.0 editor:select-to-first-character-of-line (atom-text-editor.editor.is-focused)
     -0:40 core:cut (atom-text-editor.editor.is-focused)
  2x -0:39.8.0 core:move-up (atom-text-editor.editor.is-focused)
     -0:39.4.0 snippets:next-tab-stop (atom-text-editor.editor.is-focused)
     -0:39.4.0 snippets:expand (atom-text-editor.editor.is-focused)
     -0:39.4.0 editor:indent (atom-text-editor.editor.is-focused)
     -0:38.9.0 core:paste (atom-text-editor.editor.is-focused)
  2x -0:37.1.0 core:move-down (atom-text-editor.editor.is-focused)
     -0:36.1.0 editor:move-to-first-character-of-line (atom-text-editor.editor.is-focused)
     -0:35.9.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:35.6.0 core:save (atom-text-editor.editor.is-focused)
  7x -0:30.5.0 core:close (atom-text-editor.editor.is-focused)

Config
{
  "core": {
    "disabledPackages": [
      "optional-jshint",
      "jshint"
    ]
  }
}

Installed Packages
# User
.bin, vundefined
Stylus, v1.0.0
atom-beautify, v0.28.7
atom-jade, v0.3.0
atom-jshint, v2.0.0
atom-typescript, v5.2.3
change-tabs, v0.2.0
color-picker, v2.0.11
color-tabs, v0.1.8
file-type-icons, v0.7.3
foldername-tabs, v0.1.5
jade-snippets, v0.5.0
language-marko, v0.4.16
linter, v1.2.4
markdown-format, v2.5.1
markdown-table-formatter, v2.5.2
new-file-plus, v0.2.1
pigments, v0.9.3
semantic-ui, v1.0.5
smart-tab-name, v1.0.3
tidy-tabs, v0.2.0
travis-ci-status, v0.18.0
zentabs, v0.8.6

# Dev
No dev packages

I get this every time I use typeof

Me too, I get it everytime ... I cannot reproduce, it is now because of clicking the tabs.
This issue started showing when editing a file with more than 340 lines - it originally had errors in it, but then the hinter borked up, the hints that do not refer to the current content of the file, but a previous one(which one I do not know).

I've had to disable the package until this is resolved. Is there anything that the maintainers need to help get this resolved?

https://github.com/sindresorhus/atom-jshint

.............


Date/time picker modal display fail

When I use date/time picker in swipeable tab or modal content, it display so bad. You should append it in body, not before input element
I'm using 1.0 alpha version
Here is error with modal: Code pen

Use the container option


Issue with volley

Actually I am using  compile 'com.mcxiaoke.volley:library:1.0.19' SDK I feel some of the SDKs might have have old version of volley I am not able to integrate in my app.
see the build stack trace for more info
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:transformClassesWithJarMergingForDebug'.

com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/android/volley/Request$Priority.class

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

In the build.gradle, Check if you have entered repeated library. If so delete the other one and this should work fine.

plug-play-sdk uses 'com.android.volley:volley:1.0.0' version of volley. You can exclude this version as below,
compile('com.citruspay.sdk:plug-n-play-sdk:1.2') {
transitive = true;
exclude module: 'payment-sdk'
}
//Dependency For Citrus Core SDK
compile ('com.citruspay.sdk:payment-sdk:4.0.1@aar') {
transitive = true; exclude module: 'volley'
}


Exporter never runs getStates function in litter-api lib

I figured at this point it would be more appropriate for me to create a separate Issue, and I appreciate all your help so far. But I'm hitting a problem that might require a stronger understanding of the litter robot API and library that I don't have yet. I suspect one possibility that this is an issue of me having the newer Litter Robot 4. Perhaps something in the API changed for the newer model?
I set my log level to debug to get to the bottom of it and ended up somewhere closer to an answer :smile:
robot_1  | time="2022-07-21T02:26:49Z" level=debug msg="Trying to login to the Litter Robot API"
robot_1  | time="2022-07-21T02:26:50Z" level=debug msg="Login to the Litter Robot API succeeded"
robot_1  | time="2022-07-21T02:26:50Z" level=info msg="Starting exporter on <IP_ADDRESS>:9080"

From here I waited 10 minutes for more logs to pop up, but they never did. Eventually I will get a token was refreshed successfully message if I leave it going long enough, but nothing else. I would have expected to eventually see the log line from https://github.com/tlkamp/litter-api/blob/0a677fdfeea1272a442b7752fde4a29a600ccc1e/client.go#L175
Here's my docker-compose.yml file:
version: '3'
services:
  robot:
    image: tlkamp/litter-exporter:latest
    command:
      - -email
      -<EMAIL_ADDRESS>      - -password
      - redacted
      - -api-key
      - p7ndMoj61npRZP5CVz9v4Uj0bG769xy6758QRBPb
      - -client-id
      - "IYXzWN908psOm7sNpe4G.ios.whisker.robots"
      - -client-secret
      - "C63CLXOmwNaqLTB2xXo6QIWGwwBamcPuaul"
      - -log-level
      - "debug"
    ports:
      - 9080:9080

Looking in my browser, I don't see any of the litter robot related metrics 🤔
When I get some time I'll have to run this through a debugger, I just haven't had the time yet. Maybe this weekend.

Nevermind, 😮💨 , this is not the issue and I'm still not onto anything. I made this Issue thinking the expected behavior was for it to collect in the background but it's running that function when I refresh the exporter in my browser window.
It's saying it's successfully collected that data from the LR API. At this point I'll probably fork the litter-api repo and start playing around. Perhaps there's still something here that's different from the Litter Robot 3 output that is making it not publish LR metrics on my exporter. I'm going to close this for now as I'm not entirely sure what the issue is yet.

Sorry it's taken me a while to get back to this one.
I don't have a litter robot 4 to test with and I'm not really in need of an upgrade, so I can't help troubleshoot directly but I don't expect the APIs to be that different if the features are largely the same.
In the litter-api project there is a unit test that requires a few environment variables be set - if you supply it your login information and robot name, it should give you a pass/fail status. From there, you can use the test to output things from the API and see where things are hanging up.
Let me know what you find!


(AzureCXP) fixes MicrosoftDocs/azure-docs#105648

updated line no 92
From
The minimum size is 4 TiB.
to:
The minimum size is 2 TiB.

@heidilohr
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

The suggested change has already been applied to the live article. I'll close the PR now.


tsserver requires npm to be installed on neovim trough mason

🔎 Search Terms
tsserver, neovim, nvim, mason
🕗 Version & Regression Information
I can't install tsserver because I don't have npm
⏯ Playground Link
No response
💻 Code
No response
🙁 Actual behavior
I can't install tsserver because I don't have npm
🙂 Expected behavior
You should check for the package manager installed on the system (pnpm in my case) and use that.
Additional information about the issue
No response

This repository is about TypeScript itself, not about mason or Neovim. Duplicate of williamboman/mason.nvim#1786, which also contains a workaround for exactly this use case.


Fixed "long" data type for Java export.

sorry for this PR, I was lazy enough to not look the closed PR https://github.com/Ahmed-Ali/RealmObjectEditor/pull/17!


Unify login paths in AdminBroOptions

Original message:
If you define rootPath as "/foo" (or any other value different from "/admin") with an authenticated router, and open the Adminbro webapp, in my case: http://<IP_ADDRESS>:2030/foo
The web app will redirect the user to http://<IP_ADDRESS>:2030/admin/login. Which is of course wrong, the expected behavior is a redirect to http://<IP_ADDRESS>:2030/foo/admin/login
It seems that Adminbro is not considering the rootPath value when doing the redirect.
Additional information:

cleanup paths for adapters. For instance, when you pass '/' express has some hacks for that the same as firebase. basically, in this task, we will have to move all these hacks to admin bro core.

there are 2 other options: loginPath and logoutPath. cbeck out AdminBroOptions in the doce

there are 2 other options: loginPath and logoutPath. cbeck out AdminBroOptions in the doce

I think that needs a refactory, for 2 reasons, first  the user should no have to repeat the rootPath literal in the login path and logout path, also I don't think is useful for the user the choose those URLs, and second if you use "/" as rootPath the login page goes into an infinite loop of redirects for some reason. Example:
        rootPath: '/',
        loginPath: '/login',
        logoutPath: '/logout',

yep with / there is am issue in express plugin. This is something which wd have to  unify, but has super small priority. Leaving tjis open

hello, this rootpath seriously confuse developer. the options provides developer to input 'rootPath' but your method only works with '/admin'. there should be something wrong with your design.

created a feature request for that: #653


Consider renaming to Cytoscape.NET

While I get where the name is coming from, Cyjs is not something I would google first when searching for a library that can create Cytoscape(.js) graphs in a .NET programming language. To make the lib more discoverable, I suggest renaming it to Cytoscape.NET - something that worked quite well for Plotly.NET as well.

Just crossed my mind that the .NET suffix here is extra cool because you can read it as an abbreviation for network 😆

cc @muehlhaus @bvenn @LibraChris @HLWeil

In principle I like the idea. However, the reason I named it different in the first place was: Cytoscape itselve is JAVA, Cytoscape.js is a complete reimplementation in Javascript. Ergo a different name...
In the end, I don't mind changing it ...

Done, packages are now live as Cytoscape.NET and Cytoscape.NET.Interactive on nuget.


TrOCR training

Hi, I want to use your base ocr model for training a new model on my custom dataset, but your tutorial on ocr model is not working, is there any way for me to access your ocr model using hezar or training the model with transformer? I appreciate your kind reply to my question.

Hi @aliesmaeilpour jan,
The TrOCR model really did not suit any of our requirements in terms of performance and we attained better results using CRNN, so we didn't work on it further.
If you want to use our trained TrOCR model using Transformers you can save it as a transformer model like below and the rest is just Transformers stuff.
from hezar.models import Model
from transformers import VisionEncoderDecoderModel

# Save model as Transformers compatible
model = Model.load("hezarai/trocr-base-fa-v2")
model.trocr.save_pretrained("trocr-base-fa")

# Load Transformers model
transformers_trocr = VisionEncoderDecoderModel.from_pretrained("trocr-base-fa")
# Now you can finetune this model using Transformers Trainer
...

Now that you have saved the Transformers TrOCR model at trocr-base-fa you can follow this tutorial to finetune it on your own dataset:
https://github.com/NielsRogge/Transformers-Tutorials/tree/master/TrOCR

Hi @aliesmaeilpour jan, The TrOCR model really did not suit any of our requirements in terms of performance and we attained better results using CRNN, so we didn't work on it further. If you want to use our trained TrOCR model using Transformers you can save it as a transformer model like below and the rest is just Transformers stuff.
from hezar.models import Model
from transformers import VisionEncoderDecoderModel

# Save model as Transformers compatible
model = Model.load("hezarai/trocr-base-fa-v2")
model.trocr.save_pretrained("trocr-base-fa")

# Load Transformers model
transformers_trocr = VisionEncoderDecoderModel.from_pretrained("trocr-base-fa")
# Now you can finetune this model using Transformers Trainer
...

Now that you have saved the Transformers TrOCR model at trocr-base-fa you can follow this tutorial to finetune it on your own dataset: https://github.com/NielsRogge/Transformers-Tutorials/tree/master/TrOCR

Thank you, wish you the best.

Hi @aliesmaeilpour jan, sorry for the late response!
Actually you can finetune the CRNN model on your own dataset using Hezar.
In a nutshell, all you need to do is to implement your own dataset class by subclassing Hezar OCRDataset.
A really short sample would be have a structure like below:
from hezar.models import CRNNImage2TextConfig, CRNNImage2Text
from hezar.preprocessors import ImageProcessor
from hezar.trainer import Trainer, TrainerConfig

from hezar.data import OCRDataset, OCRDatasetConfig

class PersianOCRDataset(OCRDataset):
    def __init__(self, config: OCRDatasetConfig, split=None, **kwargs):
        super().__init__(config=config, split=split, **kwargs)

    def _load(self, split=None):
        # Load a dataframe here and make sure the split is fetched
        data = pd.read_csv(self.config.path)
        # preprocess if needed
        return data

    def __getitem__(self, index):
        path, text = self.data.iloc[index].values()
        pixel_values = self.image_processor(path, return_tensors="pt")["pixel_values"][0]
        labels = self._text_to_tensor(text)
        inputs = {
            "pixel_values": pixel_values,
            "labels": labels,
        }
        return inputs

dataset_config = OCRDatasetConfig(
    path="path/to/csv",
    text_split_type="char_split",
    text_column="label",
    images_paths_column="image_path",
    reverse_digits=True,
)

train_dataset = PersianOCRDataset(dataset_config, split="train")
eval_dataset = PersianOCRDataset(dataset_config, split="test")

model = CRNNImage2Text(
    CRNNImage2TextConfig(
        id2label=train_dataset.config.id2label,
        map2seq_in_dim=1024,
        map2seq_out_dim=96
    )
)
preprocessor = ImageProcessor(train_dataset.config.image_processor_config)

train_config = TrainerConfig(
    output_dir="crnn-plate-fa-v1",
    task="image2text",
    device="cuda",
    batch_size=8,
    num_epochs=20,
    metrics=["cer"],
    metric_for_best_model="cer"
)

trainer = Trainer(
    config=train_config,
    model=model,
    train_dataset=train_dataset,
    eval_dataset=eval_dataset,
    data_collator=train_dataset.data_collator,
    preprocessor=preprocessor,
)
trainer.train()

Note that this code does not work out of the box and you have to do your own changes.
Let me know if you have any other challenges doing so.

Hi @aliesmaeilpour jan, sorry for the late response! Actually you can finetune the CRNN model on your own dataset using Hezar. In a nutshell, all you need to do is to implement your own dataset class by subclassing Hezar OCRDataset.
A really short sample would be have a structure like below:
from hezar.models import CRNNImage2TextConfig, CRNNImage2Text
from hezar.preprocessors import ImageProcessor
from hezar.trainer import Trainer, TrainerConfig

from hezar.data import OCRDataset, OCRDatasetConfig

class PersianOCRDataset(OCRDataset):
    def __init__(self, config: OCRDatasetConfig, split=None, **kwargs):
        super().__init__(config=config, split=split, **kwargs)

    def _load(self, split=None):
        # Load a dataframe here and make sure the split is fetched
        data = pd.read_csv(self.config.path)
        # preprocess if needed
        return data

    def __getitem__(self, index):
        path, text = self.data.iloc[index].values()
        pixel_values = self.image_processor(path, return_tensors="pt")["pixel_values"][0]
        labels = self._text_to_tensor(text)
        inputs = {
            "pixel_values": pixel_values,
            "labels": labels,
        }
        return inputs

dataset_config = OCRDatasetConfig(
    path="path/to/csv",
    text_split_type="char_split",
    text_column="label",
    images_paths_column="image_path",
    reverse_digits=True,
)

train_dataset = PersianOCRDataset(dataset_config, split="train")
eval_dataset = PersianOCRDataset(dataset_config, split="test")

model = CRNNImage2Text(
    CRNNImage2TextConfig(
        id2label=train_dataset.config.id2label,
        map2seq_in_dim=1024,
        map2seq_out_dim=96
    )
)
preprocessor = ImageProcessor(train_dataset.config.image_processor_config)

train_config = TrainerConfig(
    output_dir="crnn-plate-fa-v1",
    task="image2text",
    device="cuda",
    batch_size=8,
    num_epochs=20,
    metrics=["cer"],
    metric_for_best_model="cer"
)

trainer = Trainer(
    config=train_config,
    model=model,
    train_dataset=train_dataset,
    eval_dataset=eval_dataset,
    data_collator=train_dataset.data_collator,
    preprocessor=preprocessor,
)
trainer.train()

Note that this code does not work out of the box and you have to do your own changes. Let me know if you have any other challenges doing so.

Thank you for your response.


Removed the 3 dot thingy

if i have a mistake.. im am sorry cuz i havent learn react :smile:

btw dont mind the app.js :smile:

@unjown there doesn't appear to be any real changes in this PR, just removal of an empty new line


[Core] Avoid one broadcast op when propagating metadata

Alternative approach to #4757.
Does not include the changes to only broadcast values or compress the tensor metadata. For the former, it would be simplest to just change the API to broadcast lists rather than dicts imo (update: proposed changes for that added in https://github.com/njhill/vllm/pull/2).

@rkooo567 @youkaichao  I haven't tried with tp=8 yet but for TP=2 with llama-2-7b this change gives ~4-5% benefit to end-to-end latency. I expect this will be additive to the benefits from #4894, and I think we can further reduce the number of broadcast ops too.
I didn't compare with #4757 if that's what you mean since I expect they will be equivalent from a perf benefit pov - since the improvement comes from avoiding the additional sizing broadcast op done by torch.distributed.broadcast_object_list in both cases.
@youkaichao I did also make an update on top of this to send lists rather than dicts. The measured benefit of that is negligible but I do still think it's worthwhile. To avoid complicating this PR I've pushed it to a separate one for now: https://github.com/njhill/vllm/pull/2

@njhill I think https://github.com/vllm-project/vllm/pull/5399 will be a better solution, we can use shared memory for the transport, and just set a max size to 1MB, which should be quite enough for our usecase.


Minor error in example used in the readme file.

in the  Generic Functions section of the README.md file, you have
const mp = new Map([["e", 8], ["n", 9], ["z", 0], ["o", 1], ["t", 2]);

which has 5 elements, the last one being ["t",2], however the examples for the len and map functions reflect a value for mp that only has 4 elements and is missing the final element t .
I think this is just a minor typo, but it jumped out at me and should be fixed.

Thanks for pointing this out. PRs welcome.


Google OpenID Connect

The errors :
Error 400 if I don't remove the 'nonce' param
id_token (jwt) cannot be decoded because the key required to do so is at https://www.googleapis.com/oauth2/v2/certs

Hi, I have some suggestions to help solving this issue!
Here is a list of similar issues:

1. [Google OpenID Connect](https://github.com/fjsj/python-social-auth/issues/17)

2. [dasdsads](https://github.com/fjsj/python-social-auth/issues/16)

3. [Google OpenID Connect](https://github.com/omab/python-social-auth/issues/477)

4. [Google OpenID Connect does not work](https://github.com/omab/python-social-auth/issues/644)

5. [extra_data not populated with access_token in the register_by_access_token example](https://github.com/omab/python-social-auth/issues/416)

Also, below are some developers who made PRs to close similar issues:

mvschaik

kchange

cambonf

Hope this is useful!
Cheers,
Cinnabot.


only unmap regions that were actually mapped

NB: this is fixed in the dma branch too, but I needed this to do the reset work.

dma changes are back, dropping this


[bug] lnd crashes when not correct psbt data is used as input

Lnd will crash if the provided psbt (funded psbt) is missing the psbt NonWitnessUtxo or WitnessUtxo field. The problem lies here:
https://github.com/btcsuite/btcd/blob/master/txscript/hashcache.go#L239
We should check the psbt for this data to prevent any crashing of lnd.
I created the following psbt code which has missing utxo information and will therefore lead to an lnd crash
rlncli wallet psbt finalize cHNidP8BAF4CAAAAAQlokRq0L38emcB8Um/7+GXDR8gIJzlWRFOf4/c+xoaUAQAAAAD/////Ab/EPgUAAAAAIlEgfCPRPJzr08tF7NAdPvdArXQbVojQ+UkVL2LBAOgkWpgAAAAAAAAA

As already discussed offline we should solve this issue in lnd, meaning that we should check the psbt there before we attempt to calculate any sighashes.
Your environment

version of lnd: 0.16 rc3

Part of the stack trace when finializing the psbt:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x8 pc=0x104d216d4]
goroutine 482 [running]:
[github.com/btcsuite/btcd/txscript.NewTxSigHashes(0x140008ce380](http://github.com/btcsuite/btcd/txscript.NewTxSigHashes(0x140008ce380), {0x106480fe0, 0x14000140428})
	/Users/ziggie-pro/working_freetime/btcd/txscript/hashcache.go:243 +0x154
[github.com/btcsuite/btcwallet/wallet.(*Wallet).FinalizePsbt(0x1400037e000](http://github.com/btcsuite/btcwallet/wallet.(*Wallet).FinalizePsbt(0x1400037e000), 0x0, 0x0, 0x140000b5720)
	/Users/ziggie-pro/working_freetime/btcwallet/wallet/psbt.go:397 +0x68

Fixed by https://github.com/lightningnetwork/lnd/pull/7529

Out of curiosity, why would this txn
{
  "txid": "43c79b969d3e8e6cbe198f5b25e8cd03120372eab26578f486bc6258b8677a57",
  "hash": "653cc4921119c7f127bb56f125163d279376fd6fa0995f3dd91c2a51e8a108ea",
  "version": 2,
  "size": 222,
  "vsize": 141,
  "weight": 561,
  "locktime": 200,
  "vin": [
    {
      "txid": "4853a89d083df152f697aa5d63bcd6919ffaa0213b7736d227eed10fd53c6378",
      "vout": 0,
      "scriptSig": {
        "asm": "",
        "hex": ""
      },
      "txinwitness": [
        "304402202874d54141b3804267cec7320f4a27ddc22e1c17100c7106630ef40e1f01cb4402200527d5491d94887c7178b58dab73153ba5e027a225eb413f8ab660575ee4907401",
        "0384e78028f045c515e8730b67fa96d12e3bd2572d0f312c129872655747f19f40"
      ],
      "sequence":<PHONE_NUMBER>
    }
  ],
  "vout": [
    {
      "value": 1.00000000,
      "n": 0,
      "scriptPubKey": {
        "asm": "0 6f7ec5399599d8cfecb5bb5218bd85c6f419fec3",
        "desc": "addr(bcrt1qdalv2wv4n8vvlm94hdfp30v9cm6pnlkrqq5flr)#c6nl327t",
        "hex": "00146f7ec5399599d8cfecb5bb5218bd85c6f419fec3",
        "address": "bcrt1qdalv2wv4n8vvlm94hdfp30v9cm6pnlkrqq5flr",
        "type": "witness_v0_keyhash"
      }
    },
    {
      "value": 48.99997180,
      "n": 1,
      "scriptPubKey": {
        "asm": "0 f2774e8e9922f3c728d2e30dfec006d8cd6fee53",
        "desc": "addr(bcrt1q7fm5ar5eyteuw2xjuvxlasqxmrxklmjnx83cat)#vt5cse08",
        "hex": "0014f2774e8e9922f3c728d2e30dfec006d8cd6fee53",
        "address": "bcrt1q7fm5ar5eyteuw2xjuvxlasqxmrxklmjnx83cat",
        "type": "witness_v0_keyhash"
      }
    }
  ]
}

with this call
$ TX_ID="43c79b969d3e8e6cbe198f5b25e8cd03120372eab26578f486bc6258b8677a57"
$ PSBT=$(bitcoin-cli createpsbt "[{\"txid\":\"${TX_ID}\",\"vout\":0}]" "[{\"bcrt1q2xfvunp3hnl4yc2tn99epl27xqmxnxpp9st8ad\":0.5},{\"bcrt1qvlpe3vvtr7jxgkp5yyqsum795w03n8236uujql\":0.49}]")

$ lncli wallet psbt finalize $PSBT

produce this error for lnd?
[lncli] rpc error: code = Unknown desc = error finalizing PSBT: invalid PSBT, input with index 0 missing utxo information

Values
$ echo $PSBT
cHNidP8BAHECAAAAAVd6Z7hYYryG9HhlsupyAxIDzeglW48ZvmyOPp2Wm8dDAAAAAAD9////AoDw+gIAAAAAFgAUUZLOTDG8/1JhS5lLkP1eMDZpmCFArusCAAAAABYAFGfDmLGLH6RkWDQhAQ5vxaOfGZ1RAAAAAAAAAAA=

You need to add the UTXO information to each input of the PSBT. You should be able to use bitcoin-cli utxoupdatepsbt to do that.

This worked perfectly, thanks! I simply ran $ bitcoin-cli utxoupdatepsbt $PSBT and then used the output of that in lncli


Project Language

I'm trying to do the following:
<?xml version="1.0" encoding="utf-8" ?>
<ExternalProject Name="SomeExternals">
  <Platform Type="MyPlatform">
    <Project  Name="cppProjectName"
              Language="C++"
              Guid="1DBEF0FF-4EF7-4B4A-AF94-32A0CCB25547"
              Path="cppProjectName.vcxproj">
    </Project>
  </Platform>
</ExternalProject>

Which should add the cppProjectName C++ project into the solution.  It does it add it to the solution, but it sets the wrong GUID making the C++ project look like a C# project.
It seems like the GenerateSolution.xslt is handling this:
https://github.com/hach-que/Protobuild/blob/master/Protobuild.Internal/BuildResources/GenerateSolution.xslt#L131
But for some reason the language parameter is blank for this project.
It seems to me like maybe the processing in SelectSolution.xslt  :
https://github.com/hach-que/Protobuild/blob/b5ec1312e2a8fca0c95fc7a3dbc5b74f6e0631d8/Protobuild.Internal/BuildResources/SelectSolution.xslt#L94
Isn't passing thru the language value.
Does this make sense @hach-que ?

Also for some reason -extract-xslt doesn't seem to output the SelectSolution.xslt.  Is that by design or an omission?

Ah I didn't expect people to try and include external C++ projects. While
that should be supported, at the moment the intention is to have a normal
project which you put the Language tag on (see the functional tests for C++
projects as an example).
Select solution should be being output, if it is not then that is a bug.
On Thu, Jan 7, 2016, 10:01 Tom Spilman<EMAIL_ADDRESS>wrote:

Also for some reason -extract-xslt doesn't seem to output the
SelectSolution.xslt. Is that by design or an omission?
—
Reply to this email directly or view it on GitHub
https://github.com/hach-que/Protobuild/issues/150#issuecomment-169489796
.

Select solution should be being output, if it is not then that is a bug.

Yeah... it is a bug then as it isn't being extracted.

In my case I have native code for console in an external C++ project that I want to be built as part of the solution. This worked with my old customized xslt setup... trying to do the same now with stock Protobuild.

While I'll work on C++ external projects now, is there anything blocking you from using a standard project with the Language="C++" attribute for that project?

(I fixed the SelectSolution bug by the way)

You could also declare a custom C++ XSLT for a normal C++ project as well by creating a "GenerateProject.VisualStudio..xslt" file.

This is now implemented in fac545b.

is there anything blocking you from using a standard project with the  Language="C++"  attribute for that project?

I don't know if I understand what you specifically mean by "standard project".  However if you mean define all the source files and let Protobuild generate the C++ project for me...  no I won't do that.
I see Protobuild as only beneficial if you have lots of target platforms, several host platforms, or different IDEs to support.  This C++ project is for only one target platform, only works on one host platform, and only works in VS.  There is no benefit of any kind to using Protobuild for this project...  it would only serve to make things more complex.
I also have a few C# projects I reference as externals like this for the same reason.  Only one host, target, and IDE to consider.  Making these Protobuild projects is just a waste of time for me.

(I fixed the SelectSolution bug by the way)

Great... will be much easier to debug issues with that easily extracted again.

This is now implemented in  fac545b .

Thanks!  I'll report back if I have any more issues with that, but I suspect all is well now.

The advantages of letting Protobuild generate the C++ and C# projects (even when they don't contain platform-specific code) are:

You don't get any of the machine-specific cruft that Visual Studio likes to put in project files, so there aren't unnecessary changes in your Git repo to those files.
When Protobuild generates the C++ projects, it knows how to configure the C# project to reference them properly.
This doesn't apply to you, but when you use <Prohect

Ugh, Github on mobile :/

Yeah... None of those are really any issues in our case.  But we will keep it in mind for other cases.

FYI.  This fix worked great.  Thanks again!


elinks: 0.15.0 -> 0.15.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/rkd77/felinks/releases.
meta.description for elinks is: "Full-featured text-mode web browser (package based on the fork felinks)"
meta.homepage for elinks is: "https://github.com/rkd77/felinks"
meta.changelog for elinks is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.15.1 with grep in /nix/store/xz9wqkq6wi804jgaj606q6i5iz0qhbdn-elinks-0.15.1
found 0.15.1 in filename of file in /nix/store/xz9wqkq6wi804jgaj606q6i5iz0qhbdn-elinks-0.15.1

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
elinks

Instructions to test this update (click to expand)

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

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

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

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

1 package built:

elinks

Maintainer pings
cc @iblech @gebner for testing.

@ofborg eval

It builds and runs.


console V2 Select Markets modal routing updates

When a user first visits the platform, the intention is to get them straight into the trading environment and allow them to see the app as soon as they land - but we also want them to select their preferred market before getting stuck in.

[ ] 1) We want the route to reflect that.
[ ] 2) Ideally when clicking on the Vega home button would trigger the select markets modal with an overlay on top of the already selected market.
[ ] 3) Expiry date method to be extracted
[x] 4) use markPrice as the last price if last candle close is null

 fixed markPrice


Overlay zip redownloads if the setup has stopped after the entire zip has formed

Describe the bug
If AutoOrtho region setup is interrupted after the overlay zip has formed in the downloads directory, the next time that the setup begins for the same region AutoOrtho attempts to download the overlay zips again.
To Reproduce
Steps to reproduce the behavior:

Start AutoOrtho and begin the setup for a region that has the overlays zip split in many parts (e.g. y_eur_overlays.zip000/001 etc)
When the y_eur_overlays.zip has formed in the downloads folder and the parts have been removed, stop the setup and exit the program
Start the program again and begin the setup for the same region
AutoOrtho starts by downloading the different parts of the overlays and ignores the main file

Expected behavior
If the y_eur_overlays.zip exists, it should be able to detect it and skip downloading all the parts again.
(please complete the following information):

OS: Windows 11 22H2
XPlane Version: X-Plane 12.07
AutoOrtho Version 0.7.0
Filesystem type NTFS

Additional context
When I download the zip parts from GitHub and add them to the downloads directory manually, the program skips the download as it should.

Yeah, I noticed once you start a download, might as well let it run (I was trying to figure out why download rates were so abysmal.)  There is no recovery from previous partial downloads, it just downloads them again.  I need to look into downloading these with command line because the AutoOrtho tool is having a hell of a time, I think it's being throttled by github, not sure this is the best place to host the multi-gigabyte files...

I downloaded Y_NA_Overlay00 to 02 and then the Z_NA_zips manually, then let the AutoOrtho do it's thing again. Then it worked! Tip: use a download manager. The Z_NA zip has 35 parts!

I downloaded Y_NA_Overlay00 to 02 and then the Z_NA_zips manually, then let the AutoOrtho do it's thing again. Then it worked! Tip: use a download manager. The Z_NA zip has 35 parts!

Yeah I ended up letting AutoOrtho download a few zips here and there, and then behind its back wget'ing the zip files and slotting them in place.  I wasn't confident it would "just work" if I fired it up with the zip files already in place, but I noticed it DID recognize the zip files that were already present during a run.  So... haha, kinda brute forced it, but got done in a few hours rather than a few days.

I think it's being throttled by github, not sure this is the best place to host the multi-gigabyte files...

That is weird because when I download the zips from the scenery repo the speed is significantly faster and I only see throttling when 10 or more files are downloaded in parallel.

I downloaded Y_NA_Overlay00 to 02 and then the Z_NA_zips manually, then let the AutoOrtho do it's thing again.

I did exactly the same for all regions and it was faster and more stable. However, it's not user-friendly at all. The setup tool should be able to:

check for existing zips and skip downloading if it's not needed. This is done already with the "Z" zips but not with the overlay zips.
being able to resume a partial download
being able to retry downloads after a small network timeout. Currently, if there is network instability for a few seconds, the installation is aborted with errors.


canonicalAnswer to exercise is hidden by GUI

Description
The "retry", "report", "continue" buttons overlap the end of the correction sentence; I can only see part of it and I can't figure out what the answer is supposed to be.

Diagnostics information (do not remove)

Exercise identifier: [courseId=grammar-intro_eng][lessonNumber=13][exerciseId=1834]
Exercise payload: {"shouldDisplayHint":false,"exercise":{"canonicalAnswer":"mi nelci lo cmene be do be'o noi ke'a melbi","sentences":[{"text":"I like your name, which is beautiful.","lojbanic":false}],"title":"Translate this sentence","type":"typing"}}
Attempted solution: {"text":"mi nelci lo cmene be do noi melbi"}
Attempted solution was classified as correct: no
Validation payload: {"canonicalAnswer":"mi nelci lo cmene be do be'o noi ke'a melbi","correct":false}

That's happening to me quite a bit too. I have to select the whole answer by triple clicking on it, then copy and paste it somewhere else to read it.


autofs5: 5.1.4 -> 5.1.5

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/autofs/versions.
meta.description for autofs5 is: '"Kernel-based automounter"'.

Checks done (click to expand)

built on NixOS
/nix/store/g2awk7gb4znfrrbml38bngcjkjry1b4v-autofs-5.1.5/bin/automount passed the binary check.
1 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 5.1.5 with grep in /nix/store/g2awk7gb4znfrrbml38bngcjkjry1b4v-autofs-5.1.5
directory tree listing: https://gist.github.com/b7d8239a78c11eedb90954ec8fce3fdd
du listing: https://gist.github.com/e7dedca47dc8991d1736e1d240a7e545

Outpath report (click to expand)

Outpath difference report
3 total rebuild paths
1 package rebuilds
1 x86_64-linux rebuilds
1 i686-linux rebuilds
0 x86_64-darwin rebuilds
1 aarch64-linux rebuilds
First ten rebuilds by attrpath
autofs5

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/g2awk7gb4znfrrbml38bngcjkjry1b4v-autofs-5.1.5 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A autofs5 https://github.com/r-ryantm/nixpkgs/archive/0a941c6fbf05505cdf593c8664efaa3412ca4bc3.tar.gz

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

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: autofs5
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: autofs5
Partial log (click to expand)
shrinking /nix/store/58l5gn9v1s34gkd3m17kb6kip3vf1a2z-autofs-5.1.5/lib/autofs/lookup_yp.so
shrinking /nix/store/58l5gn9v1s34gkd3m17kb6kip3vf1a2z-autofs-5.1.5/lib/autofs/mount_bind.so
shrinking /nix/store/58l5gn9v1s34gkd3m17kb6kip3vf1a2z-autofs-5.1.5/lib/autofs/parse_amd.so
shrinking /nix/store/58l5gn9v1s34gkd3m17kb6kip3vf1a2z-autofs-5.1.5/lib/autofs/mount_afs.so
shrinking /nix/store/58l5gn9v1s34gkd3m17kb6kip3vf1a2z-autofs-5.1.5/sbin/automount
gzipping man pages under /nix/store/58l5gn9v1s34gkd3m17kb6kip3vf1a2z-autofs-5.1.5/share/man/
patching script interpreter paths in /nix/store/58l5gn9v1s34gkd3m17kb6kip3vf1a2z-autofs-5.1.5
checking for references to /build in /nix/store/58l5gn9v1s34gkd3m17kb6kip3vf1a2z-autofs-5.1.5...
moving /nix/store/58l5gn9v1s34gkd3m17kb6kip3vf1a2z-autofs-5.1.5/sbin/* to /nix/store/58l5gn9v1s34gkd3m17kb6kip3vf1a2z-autofs-5.1.5/bin
/nix/store/58l5gn9v1s34gkd3m17kb6kip3vf1a2z-autofs-5.1.5

Success on aarch64-linux (full log)
Attempted: autofs5
Partial log (click to expand)
shrinking /nix/store/qqnfsjx57aq082n4d0bh5nc6grrfqk33-autofs-5.1.5/lib/autofs/lookup_multi.so
shrinking /nix/store/qqnfsjx57aq082n4d0bh5nc6grrfqk33-autofs-5.1.5/lib/autofs/lookup_userhome.so
shrinking /nix/store/qqnfsjx57aq082n4d0bh5nc6grrfqk33-autofs-5.1.5/lib/autofs/lookup_program.so
shrinking /nix/store/qqnfsjx57aq082n4d0bh5nc6grrfqk33-autofs-5.1.5/lib/autofs/lookup_file.so
shrinking /nix/store/qqnfsjx57aq082n4d0bh5nc6grrfqk33-autofs-5.1.5/sbin/automount
gzipping man pages under /nix/store/qqnfsjx57aq082n4d0bh5nc6grrfqk33-autofs-5.1.5/share/man/
patching script interpreter paths in /nix/store/qqnfsjx57aq082n4d0bh5nc6grrfqk33-autofs-5.1.5
checking for references to /build in /nix/store/qqnfsjx57aq082n4d0bh5nc6grrfqk33-autofs-5.1.5...
moving /nix/store/qqnfsjx57aq082n4d0bh5nc6grrfqk33-autofs-5.1.5/sbin/* to /nix/store/qqnfsjx57aq082n4d0bh5nc6grrfqk33-autofs-5.1.5/bin
/nix/store/qqnfsjx57aq082n4d0bh5nc6grrfqk33-autofs-5.1.5

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: autofs5
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on aarch64-linux (full log)
Attempted: autofs5
Partial log (click to expand)
shrinking /nix/store/yp2apdynq9c5gw5kfiip4wm2kkav616v-autofs-5.1.5/lib/autofs/lookup_multi.so
shrinking /nix/store/yp2apdynq9c5gw5kfiip4wm2kkav616v-autofs-5.1.5/lib/autofs/lookup_userhome.so
shrinking /nix/store/yp2apdynq9c5gw5kfiip4wm2kkav616v-autofs-5.1.5/lib/autofs/lookup_program.so
shrinking /nix/store/yp2apdynq9c5gw5kfiip4wm2kkav616v-autofs-5.1.5/lib/autofs/lookup_file.so
shrinking /nix/store/yp2apdynq9c5gw5kfiip4wm2kkav616v-autofs-5.1.5/sbin/automount
gzipping man pages under /nix/store/yp2apdynq9c5gw5kfiip4wm2kkav616v-autofs-5.1.5/share/man/
patching script interpreter paths in /nix/store/yp2apdynq9c5gw5kfiip4wm2kkav616v-autofs-5.1.5
checking for references to /build in /nix/store/yp2apdynq9c5gw5kfiip4wm2kkav616v-autofs-5.1.5...
moving /nix/store/yp2apdynq9c5gw5kfiip4wm2kkav616v-autofs-5.1.5/sbin/* to /nix/store/yp2apdynq9c5gw5kfiip4wm2kkav616v-autofs-5.1.5/bin
/nix/store/yp2apdynq9c5gw5kfiip4wm2kkav616v-autofs-5.1.5

Success on x86_64-linux (full log)
Attempted: autofs5
Partial log (click to expand)
shrinking /nix/store/npf55ly8x4z82773crw8jaxqglalh87d-autofs-5.1.5/lib/autofs/lookup_sss.so
shrinking /nix/store/npf55ly8x4z82773crw8jaxqglalh87d-autofs-5.1.5/lib/autofs/mount_changer.so
shrinking /nix/store/npf55ly8x4z82773crw8jaxqglalh87d-autofs-5.1.5/lib/autofs/lookup_hosts.so
shrinking /nix/store/npf55ly8x4z82773crw8jaxqglalh87d-autofs-5.1.5/lib/autofs/mount_generic.so
shrinking /nix/store/npf55ly8x4z82773crw8jaxqglalh87d-autofs-5.1.5/sbin/automount
gzipping man pages under /nix/store/npf55ly8x4z82773crw8jaxqglalh87d-autofs-5.1.5/share/man/
patching script interpreter paths in /nix/store/npf55ly8x4z82773crw8jaxqglalh87d-autofs-5.1.5
checking for references to /build in /nix/store/npf55ly8x4z82773crw8jaxqglalh87d-autofs-5.1.5...
moving /nix/store/npf55ly8x4z82773crw8jaxqglalh87d-autofs-5.1.5/sbin/* to /nix/store/npf55ly8x4z82773crw8jaxqglalh87d-autofs-5.1.5/bin
/nix/store/npf55ly8x4z82773crw8jaxqglalh87d-autofs-5.1.5


Importing Gtk before tensorflow causes crash

Environment info
Ubuntu 16.04
 uname -a Linux p900 4.4.0-22-generic #40-Ubuntu SMP Thu May 12 22:03:46 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Installed version of CUDA and cuDNN:
Cuda compilation tools release 7.5, V7.5.17 and CUDNN is v 4
ls -l /usr/local/cuda-7.5/lib/libcud* -rw-r--r-- 1 root root 189170 Jun  2 10:18 /usr/local/cuda-7.5/lib/libcudadevrt.a lrwxrwxrwx 1 root root     16 Jun  2 10:18 /usr/local/cuda-7.5/lib/libcudart.so -> libcudart.so.7.5 lrwxrwxrwx 1 root root     19 Jun  2 10:18 /usr/local/cuda-7.5/lib/libcudart.so.7.5 -> libcudart.so.7.5.18 -rwxr-xr-x 1 root root 311596 Jun  2 10:18 /usr/local/cuda-7.5/lib/libcudart.so.7.5.18 -rw-r--r-- 1 root root 558020 Jun  2 10:18 /usr/local/cuda-7.5/lib/libcudart_static.a
pip package installed:
tensorflow-0.9.0rc0-cp35-cp35m-linux_x86_64.whl
Output of python3 -c "import tensorflow; print(tensorflow.__version__)":
...
0.9.0rc0
Python version:
Python 3.5.1+
Gtk version:
3.0
Steps to reproduce

import gi
from gi.repository import Gtk
 import tensorflow

What I have tried

Removed any Ubuntu protobuf package (Ubuntu package is v 2.6.1):
sudo apt purge protobuf*

Upgraded protobuf via pip3:
pip3 install --upgrade protobuf
...
Requirement already up-to-date: protobuf in /usr/local/lib/python3.5/dist-packages Requirement already up-to-date: six>=1.9 in /usr/lib/python3/dist-packages (from protobuf) Requirement already up-to-date: setuptools in /usr/local/lib/python3.5/dist-packages (from protobuf)

Checked protobuf version installed via pip3:
ls /usr/local/lib/python3.5/dist-packages/proto*
/usr/local/lib/python3.5/dist-packages/protobuf-3.0.0b2-py2.7-nspkg.pth
/usr/local/lib/python3.5/dist-packages/protobuf-3.0.0b2.dist-info:
DESCRIPTION.rst  INSTALLER  METADATA  metadata.json  namespace_packages.txt  RECORD  top_level.txt  WHEEL

Output after importing tensorflow
[libprotobuf FATAL google/protobuf/stubs/common.cc:61] This program requires version 3.0.0 of the Protocol Buffer runtime library, but the installed version is 2.6.1.  Please update your library.  If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library.  (Version verification failed in "external/protobuf/src/google/protobuf/any.pb.cc".) terminate called after throwing an instance of 'google::protobuf::FatalException'   what():  This program requires version 3.0.0 of the Protocol Buffer runtime library, but the installed version is 2.6.1.  Please update your library.  If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library.  (Version verification failed in "external/protobuf/src/google/protobuf/any.pb.cc".) Aborted (core dumped)
Additional comments
As before ( #1373) this ONLY occurs when importing Gtk BEFORE tensorflow. The opposite order causes no crash, nor have I experienced any other crashes associated with tensorflow.
Curiously, when using version 0.8 of tensorflow, a very similar crash was caused by the opposite order of import (ie tensorflow before Gtk), but in that case the output was that: This program requires version 2.6.1 of the Protocol Buffer runtime library, but the installed version is 3.0.0. That is, the problem seemed to be caused by the reverse relationship between the protobuf versions. However, when upgrading tensorflow, I did not change the protobuf version. It was kept the same throughout.

The error message seems to indicate that you need the newer version of the protobuf runtime library, and not the python interface to protobuf that you install via pip install. Can you try aptitude versions libprotobuf to see what versions of the protobuf runtime library are available for Ubuntu 16.04, and if 3.0.0 is indeed available, install that?

@keveman: Only libprotobuf 2.6.1-1.3.
But, I will see if I can find some other way to install 3.0.

Sorry for the delay.
Inspite of doing my best to remove protobuf with apt-get I did still have it installed, and it was version 2.6:
$ locate libprotobuf
...
/usr/lib/x86_64-linux-gnu/libprotobuf-lite.a
/usr/lib/x86_64-linux-gnu/libprotobuf-lite.so
/usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.9
/usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.9.0.1
/usr/lib/x86_64-linux-gnu/libprotobuf.a
/usr/lib/x86_64-linux-gnu/libprotobuf.so
/usr/lib/x86_64-linux-gnu/libprotobuf.so.9
/usr/lib/x86_64-linux-gnu/libprotobuf.so.9.0.1
...
Thus, I removed those files, compiled protobuf-3.0.0-beta-3.2 and moved the new files (as above but 10 instead of 9) to /usr/lib/x86_64-linux-gnu/ so that I now have:
locate libprotobuf
...
/usr/lib/x86_64-linux-gnu/libprotobuf-lite.a
/usr/lib/x86_64-linux-gnu/libprotobuf-lite.so
/usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.10
/usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.10.0.0
/usr/lib/x86_64-linux-gnu/libprotobuf.a
/usr/lib/x86_64-linux-gnu/libprotobuf.so
/usr/lib/x86_64-linux-gnu/libprotobuf.so.10
/usr/lib/x86_64-linux-gnu/libprotobuf.so.10.0.0
...
However, Gtk still needs libprotobuf-lite.so.9, so:
In [1]: import gi
In [2]: from gi.repository import Gtk
** (process:16293): WARNING **: Failed to load shared library 'libgdk-3.so.0' referenced by the typelib: libprotobuf-lite.so.9: cannot open shared object file: No such file or directory
...
I returned the libprotobuf 9 files to /usr/lib/x86_64-linux-gnu/ and the Gtk import works again, but importing tensorflow afterwards results in a crash. I.e. back to square 0.
However, this is not a particular big problem for me since it works if tensorflow is imported first, and I have removed the dependence on Gtk.

Exactly the same situation here...

@jiapei100 Importing tensorflow before anything else sometimes resolves this issue

Sometimes it resolves it, sometimes not :)

All I can think of is after apt-get purge command you may need to manually remove libprotobuf files under  /usr/lib/x86_64-linux-gnu/, if they are still there. Then install the correct protobuf version using pip as described in tensorflow.org.

Closing this, since either:

it's an install issue with inconsistent versions of protobuf
it's a problem where you are trying to load multiple versions of protobuf in the same process space. You can't do that. You could attempt to use the multiprocess library if you are intent on this.

Feel free to reopen if that's not the case or if you want more information.


[Feature request] give more options for adjustable colors

Following issue especially on dark mode:

Selected line highlight color is hard to read with dark mode:

selected text is hard to read for some accent colors:

Suggestion:
Give adjustable colors for:

selected line background color
flip color for selected text => make the selected text dark when selected

Currently the text selection color is equal to the theme color which you can change in the settings. It is possible to do just in time color calculation, but I am just too lazy to do so. But for now, I would suggest you pick a different theme color for the app in the settings.

That is not a solution. There could be at least 3 or 4 adjustable colors in the settings:

selected line bg color
selected text bg color
selected text font color
option to flip font color when selected (chose color when flip)

I think flipping the color of the selected text is a good option, but it should really be flipping the color and choose a close one by gray scale. Meaning there should be some calculation going to find a matching opposite color in gray scale.

Yes, of course. But the flip should always be between a dark and non dark color. Example:

This would be a perfect readable way how to do it. So like I said, give option for the user to decide what is best. Just give more colors to select. Examples above.

The contrast in dark mode doesn't cut it for me, is there really no way to change the background color?


no AssetLoader found for the following extension: yaml

bevy 1.12.1
Currently figuring out how to use this crate, i added the plugin like so:
        .add_plugins((
            DefaultPlugins,
            YamlAssetPlugin::<World>::new(&["world.yml"])
        ))

#[derive(Deserialize, Asset, TypePath, Debug)]
struct World {
    name: String,
    width: u8,
    height: u8,
}

fn load_world(
    server: Res<AssetServer>,
    mut images: ResMut<Assets<Image>>,
    mut worlds: ResMut<Assets<World>>,
    mut commands: Commands
) {
    let handle: Handle<World> = server.load("world.yaml");

    if let Some(x) = worlds.get_mut(handle.id()) {
        println!("{:?}", x);
    } else {
        println!("Did not find!")
    }
}

This comes up with "did not find!" and the error found in the title:  ERROR bevy_asset::server: no 'AssetLoader' found for the following extension: yaml This error also occurs when changing everything to 'yml'.
The yaml file is very simple and as far as i know, this should work?
name: Cloob
width: 64
height: 32

What is going wrong?
Thanks in advance!
Edit: The example contains wrong code, worlds.get_mut(handle.id()) should be in a Update script. It still gives the error regardless.

It should work once you rename your file to xyz.world.yaml. The plugin configuration defines the file extension world.yaml, but if your file is just called world.yaml, the extension is only yaml.

That worked! Thank you


What about Power BI Report Server?

I am currently not able to perform this action on the Power BI Report Server with in my company intranet. Could you tell me how I can achieve this? Within My Workspace I can not find the Analyze in Excel option.

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

ID: 2fcb95bc-abb8-5147-ddc5-00714e30f79b
Version Independent ID: 45626f2c-9e5c-6bdd-6fbb-b82c279962e0
Content: Analyze in Excel - Power BI
Content Source: powerbi-docs/service-analyze-in-excel.md
Service: powerbi
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Sorry to hear about your trouble. This is a support request, rather than documentation feedback. Please use https://support.powerbi.com to submit support tickets.


Variable that counts the cars

Hi, I would like to know what's the variable that counts the cars detected in the video and in which file is located.

The variable name is "counting_result", it can be found in this line.


Screensaver should play different set of images based on screen orientation

Is your feature request related to a problem? Please describe.
Landscape images in portrait screensaver look very ugly so I have aves set to display only portrait images, gifs and videos.
Describe the solution you'd like
It would be nice if I can allow some landscape content as long as aves only plays them on landscape mode.

Allowing selecting different tags for different screen orientations (portrait/landscape) would be a simple and effective fix. We can work this out by simply applying tags.
Alternatively, having those special effects screensavers with fancy animations such as poloroid animation can help landscape images from looking bad on a portrait orientation.

Describe alternatives you've considered
Turn on/off fit screen still looks very awkward.
Additional context
None.

I won't implement your first suggestion, but I'm curious about the second one.

having those special effects screensavers with fancy animations such as poloroid animation can help landscape images from looking bad on a portrait orientation.

Do you have an example of an app doing that? Or better, could you provide a screen recording showing the effect you find effective?

Would really be cool if the first one were possible imho.
btw sure, a foss example would be xscreensaver's Photo pile. See screenshots on the project's site here. It's just a photo album animation, nothing special ig.


Add license file

Add a LICENSE file to the project.
Refer: https://help.github.com/en/articles/adding-a-license-to-a-repository

What license do you want? MIT?

Sure, MIT works.


[bug]: RuntimeError: Attempting to deserialize object on a CUDA device but  torch.cuda.is_available() is False. If you are running on a CPU-only machine,  please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.

Is there an existing issue for this?

[X] I have searched the existing issues

OS
macOS
GPU
mps
VRAM
No response
What version did you experience this issue on?
2.3.3
What happened?
when opening InvokeAI I get the error message
RuntimeError: Attempting to deserialize object on a CUDA device but
torch.cuda.is_available() is False. If you are running on a CPU-only machine,
please use torch.load with map_location=torch.device('cpu') to map your storages
to the CPU.
Screenshots
No response
Additional context
there is an existing but inactive report on this issue on a different version but the solution does not work for me.
Contact Details
No response

I also have this error.
If I have to update the code to fix this, I can do that. Where and what should be updated in which script so this can worka/


latest v2.1 image tag

I'm not sure if it's an issue with the documentation or the docker image tag, but pulling from latest tag (as seen in the 2.1 steps) will still pull a v2.0 image.
Looking at the available tags at https://mcr.microsoft.com/v2/azure-cognitive-services/custom-form/labeltool/tags/list, it appears the documentation should be updated to specify azure-cognitive-services/custom-form/labeltool:latest-2.1 in order to pull the v2.1 image.

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

ID: 0ddfcf80-f528-66be-af39-533c9027b675
Version Independent ID: cdef9de0-1e51-9d27-cf06-beb0cadbb872
Content: How to deploy the Form Recognizer sample labeling tool - Azure Applied AI Services
Content Source: articles/cognitive-services/form-recognizer/deploy-label-tool.md
Service: applied-ai-services
Sub-service: forms-recognizer
GitHub Login: @laujan
Microsoft Alias: lajanuar

Thanks for the question! We are taking a look into this and will get back to you soon.

@dorseyroach Thanks for spotting this. These changes are now updated in the document.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag @RohitMungi-MSFT in your reply.


Imgui upstream v1.77 branch

Coverage increased (+1.8%) to 55.093% when pulling c08ad9b89788e94f8463461b8eb998a1c1f072b1 on imgui-upstream-v1.77-branch into f9f45a5565e6f82d6c88482469f130d17d00b5b0 on master.

Closing. Will migrate to v1.79 though #192


Cannot Debug VS Code Anymore

I'm on main, ran yarn and the VS Code - Build task, and I permanently get this error on Windows 10:

Sometimes I also get this error:

I don't know how to debug this. Please reach out if you want to debug on my machine.

The crash issue probably duplicates https://github.com/microsoft/vscode/issues/122225
For the first error, can you confirm that you don't have an existing OSS window running when you try to do that? The inspect arguments are only applied for new sessions.

@connor4312 since a few days, vscode-file is the default scheme for anything served in the workbench (previous it was file scheme). But I thought @deepak1556 fixed the sourcemap lookup in https://github.com/microsoft/vscode/issues/120663

How does the debugger load sourcemaps ? Does it delegate to the client to perform the network request or the does debugger perform the network request ? Custom protocols are only valid within the client, so request outside the client will not understand the protocol.

I tried "enable-browser-code-loading": false in the debuggee (before insiders notices it cannot attach to it and kills it). Unfortunately, it still does not work.
I'm open for a screensharing session, this is really blocking me.

The debugger makes an HTTP request to the URL. Loading on the client side is only possible very recently and I expect to see a performance degradation versus making the requests externally, which'll affect vscode where we load thousands of individual files.

I've made a chance to use inline sourcemaps during watch builds. This will also make the debugger launch slightly faster.


Editor: Don't cache script signal descriptions

Continuation of #80411.

The description still doesn't change instantly after saving the script (only after reselecting the node), but at least now restarting the editor is not required. I also noticed that the documentation of the base/inherited script may not be created, and will only be updated after saving the script.

Thanks!


No auto list new file in folder

VSCode Version: Code 1.19.2 (490ef761b76b3f3b3832eff7a588aac891e5fe80, 2018-01-10T15:57:21.071Z)
OS Version: Linux x64 4.13.0-26-generic
Extensions:

Extension
Author (truncated)
Version

vscode-devskim
MS-
0.2.0

vscode-docker
Pet
0.0.23

vscode-eslint
dba
1.4.4

tslint
eg2
1.0.24

vscode-great-icons
emm
2.1.22

php-debug
fel
1.12.1

php-intellisense
fel
2.2.5

php-pack
fel
1.0.1

mssql
ms-
1.3.0

python
ms-
0.9.1

cpptools
ms-
0.14.6

csharp
ms-
1.13.1

js-atom-grammar
ms-
0.1.14

java
red
0.17.0

vscode-java-debug
vsc
0.5.0

vscode-java-pack
vsc
0.2.0

vscode-proto3
zxh
0.1.2

(1 theme extensions excluded)

Steps to Reproduce:

I create new file by text editor outside VSCode in a folder which already added to workspace
Back to VS Code, open workspace and folder, I don't see that file, I have to close and open VSCode to see it.

Reproduces without extensions: Yes/No

duplicates #28432

You're using a multi-root workspace, right? Do you have many folders & files inside the workspace?
Can you run code-insiders --verbose abc.code-workspace and paste all lines having IPC Library: Watcher in it, please?

@tuanakka0101
VS Code is using different file watching strategies depending on your OS and your setup.
First thing to check:

[ ] I verified that the issue still reproduces in our insiders version (https://code.visualstudio.com/insiders/)
[ ] I verified that this issue is happening outside of a node_modules folder. Our file watcher ignores this folder!

To find out more about this issue, please first answer this:

[ ] What OS are you on
[ ] Does this happen from an empty workspace, a single-folder workspace or a multi-root workspace?
[ ] Do you have files.useExperimentalFileWatcher: true configured in settings?
[ ] What is your configured files.watcherExclude setting?

Then please answer the following depending on your setup:

[ ] It reproduces with any folder or workspace you open
[ ] The files/folders you open are on your local disk and not on a network share nor a UNC drive
[ ] The files/folders you open are not behind a symbolic link
[ ] The folder(s) opened use the exact same casing as they are on disk
[ ] It reproduces when I make a change to the file from another VS Code window (either from the editor or the file explorer)

Then please attach the output of our development console

run code --verbose from the command line
perform the action that causes you to not see the file change in VS Code
attach the output from the console (Help > Toggle Developer Tools > Console)

Thanks for taking the time to fill out this questionnaire.


Add to menu item a redirect to external website

Have you checked that your feature request isn't already filed?

[X] I read through FAQ and searched through the past issues, none of which addressed my feature request.
[X] Yes, I have checked that this feature request isn't already filed.

Description & Motivation
I want to create a menu item that redirects to the github repository. I am trying to change the permalink parameter to the url but it is not working, it is giving me something like: user_name.github.io/https://etc...
Is it possible to do it?
Pitch
No response
Alternatives
No response
Additional context
No response

Solved it!
Just remove the permalink and add redirect: url. This will redirect the user to the url after a few seconds.

But this adds a delay, and it is not the best solution. Adding this change now.


Add more DOM externs

w3c_permissions.js (goes with the recently added w3c_clipboard, well supported)
w3c_pointer_events.js https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent
w3c_composition_event.js https://developer.mozilla.org/en-US/docs/Web/API/CompositionEvent

@mollyibot

@gkdn given the discussion in https://github.com/google/elemental2/discussions/170 , should these still go to the elemental-dom package? Does it make sense to propose a PR for this before the refactoring or should this wait?

Fixed in 1.2.3


Update buildToolsVersion to 26.0.1, supportLibrary and SdkVersion to 26

Closes #848

@annalabellarte thanks for sending this!  Will merge once the build passes.

@samtstern Ahhhhh, I'm too late. I was going to say there's far more we need to do before we can just update the target sdk version, but I guess it'll force me to submit a PR. 😄 I was holding out because we'll need to update all our findViewByIds, Robolectric, add autofill hints, update the sample with adaptive icons, etc. There's a lot! 😆

All of those are enabled by this, but none of them are required right?  The only required API 26 changes I know there are big changes to background work execution, but that should not apply to us.
Here's the big list:
https://developer.android.com/preview/behavior-changes.html

@samtstern True, though I have seen autofill make mistakes and show incorrect suggestions at times. That's the main thing we have to test for compatibility, but I'll just get the other stuff done as well since it was on my TODO list anyway. 😄


Readme example out of date.

Readme examples are showing code that no longer builds.
error[E0433]: failed to resolve: could not find `builder` in `lettre`
 --> src/main.rs:3:44
  |
3 | use lettre::{SmtpClient, Transport, Email, builder::mime::TEXT_PLAIN};
  |                                            ^^^^^^^ could not find `builder` in `lettre`

error[E0432]: unresolved import `lettre::Email`
 --> src/main.rs:3:37
  |
3 | use lettre::{SmtpClient, Transport, Email, builder::mime::TEXT_PLAIN};
  |                                     ^^^^^ no `Email` in the root

error[E0425]: cannot find value `TEXT_PLAIN` in this scope
  --> src/main.rs:14:63
   |
14 |         .attachment_from_file(Path::new("Cargo.toml"), None, &TEXT_PLAIN)
   |                                                               ^^^^^^^^^^ not found in this scope

error: aborting due to 3 previous errors

is there a link to anywhere that can show me how to get this up and running the example code?

🤔 It's strange that the CI build didn't catch the outdated example in the readme.
In the meantime you can take a look at the examples directory for working examples.

Indeed, the README on master should probably be compatible with latest stable release though. I'll fix this.

This is the result I'm getting from running the crates.io example on 0.9 and 0.9.2.

Agreed, there seems to be a bit of a mismatch. However, the examples from the Lettre guide seem to work for me.
That guide also shows how to create messages with the lettre_email crate. FYI, SmtpClient's send function expects a SendableEmail, whereas lettre_mail creates an Email. After way too long I realized that Email implements Into<SendableEmail>...
Minimal working example below, if you're interested. I'm using this with Fastmail's SMTP server.
use lettre::smtp::authentication::{Credentials, Mechanism};
use lettre::{SmtpClient, Transport};
use lettre_email::Email;
use std::env;

pub fn send_mail() {
    // Get SMTP configuration from environment
    let host = env::var("SMTP_HOST").expect("SMTP_HOST must be set");
    let user = env::var("SMTP_USER").expect("SMTP_USER must be set");
    let password = env::var("SMTP_PASSWORD").expect("SMTP_PASSWORD must be set");

    // Create the message
    let email = Email::builder()
<EMAIL_ADDRESS>"Your Name"))
<EMAIL_ADDRESS>"My Name"))
        .subject("Hi, Hello world")
        .alternative("
Hi, Hello world.
", "Hi, Hello world.")
        .build()
        .unwrap();

    // Create the SMTP client
    let mut mailer = SmtpClient::new_simple(host.as_str())
        .unwrap()
        .credentials(Credentials::new(user, password))
        .smtp_utf8(true)
        .authentication_mechanism(Mechanism::Plain)
        .transport();

    // Send the mail
    let result = mailer.send(email.into());
    assert!(result.is_ok());
    mailer.close();
}

I've found no examples that will get a usable email into an inbox for me. There's email which SmtpTransport won't accept. Sendable Email, it's not clear what that's for. How to get a SendableEmail from an Email. Why are there two Emails?

Your example was the only one that worked for me benvd. Thank you. But the recipient message body ends up looking like this:
"--Zh0UuAruIfGxKpLBxOGOFKDM7h6tfV
--KYGZnI73UGbWlSBaPL3sxQE4puhN95
Content-Type: text/plain; charset=utf-8
Hi, Hello world.
--KYGZnI73UGbWlSBaPL3sxQE4puhN95
Content-Type: text/html; charset=utf-8
Hi, Hello world.
--KYGZnI73UGbWlSBaPL3sxQE4puhN95--
--Zh0UuAruIfGxKpLBxOGOFKDM7h6tfV--
"

I'm getting the same result as you using lettre = "0.9.3", but when I specifically use the previous version (lettre = "=0.9.2"), it does work.
This is the body of the properly displayed mail (using lettre 0.9.2):
--h6zPpXQhrvn6plo9MHAFLmsioMcEL8
Content-Type: multipart/alternative; boundary=kwGTq18jJ9cO2cw19wWuIVinbOAFAB

--kwGTq18jJ9cO2cw19wWuIVinbOAFAB
Content-Type: text/plain; charset=utf-8

This is a test

Laborum deserunt eiusmod commodo nulla veniam voluptate.

--kwGTq18jJ9cO2cw19wWuIVinbOAFAB
Content-Type: text/html; charset=utf-8

This is a test

Laborum deserunt eiusmod commodo nulla veniam voluptate.

--kwGTq18jJ9cO2cw19wWuIVinbOAFAB--
--h6zPpXQhrvn6plo9MHAFLmsioMcEL8--

And the wrongly displayed mail (using lettre 0.9.3):
--BRkwXLKPC76luh6DfvDaPsaggkQhWd

--ZDmiql1V887Gqx4dCz4huN5BeceMd9
Content-Type: text/plain; charset=utf-8

This is a test

Laborum deserunt eiusmod commodo nulla veniam voluptate.

--ZDmiql1V887Gqx4dCz4huN5BeceMd9
Content-Type: text/html; charset=utf-8

This is a test

Laborum deserunt eiusmod commodo nulla veniam voluptate.

--ZDmiql1V887Gqx4dCz4huN5BeceMd9--

--BRkwXLKPC76luh6DfvDaPsaggkQhWd--

The only difference seems to be the missing MIME type of the first "section" (sorry for the most likely wrong terminology, I'm not familiar with the structure of email messages): Content-Type: multipart/alternative; boundary=kwGTq18jJ9cO2cw19wWuIVinbOAFAB
According to the Cargo.lock file, lettre 0.9.3 uses email 0.0.21, whereas lettre 0.9.2 uses email 0.0.20. Not sure if that is relevant to the issue.


Add more pubkeys to server

I have more than 1 computer :trollface:

Than also add it to https://github.com/go-gitea/infrastructure/blob/master/ansible/group_vars/all.yml#L3

@tboerger should I relaly do that? I don't wanna log in as root 😆

We can drop that when I have configured sudo 8)

LGTM

no sudo?! 😱

I have not configured it explicitly. Try it :)

@tboerger done :)

LGTM


COPY: treat sources named "" as "*"

If a source for COPY is "", treat it as though it were "*".  Fixes #181.

LGTM
and happy green test buttons.

/approve
/lgtm


Fix CPR "Take off his mask" popup appearing when alive

now you can only do CPR if they're incapicitated
resolves #3239

The fixes I pushed should do the same thing but improve old checks, wasn't able to test it in game though

Sounds good

this didnt even fix it


Fix: Create Logout Function

As a developer
I need logout an account
So that I can remove a account already signed
What it is now
Don't had the  logout function
What it should be
The Logout created in tiki-bar/tiki-capture-receipt-capacitor  should have the method to remove an account, and handle errors.
Acceptance criteria
The Logout Function can remove an account without errors

Reminder tip for me: User and Source has to be filled, if one of then be null, the operation has to throw an error. If a both is null, realize clear all accounts


chore(docs): add cy.realMouseMove() to API table of content

@dmtrKovalenko I can't merge this PR myself. I guess I don't have enough rights.

:tada: This PR is included in version 1.8.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Support Docker-Compose Version 2 Syntax

Hello,
This project is excellent work, and much apprecaited!
The docker-compose tools currently only support version 1 of the docker-compose config. It would be a nice addition to get it working with the version 2 docker-compose config. I'm trying to figure out what the blockers are to provide assitance, please let me know how I can help!

Thanks @apeschel,
I see you're working on it here: https://github.com/mauricioklein/docker-compose-api/pull/26
I going to leave this issue open until the other is completed. Just in case we need to do something about it in this gem. Maybe a version upgrade or something like that.

Version 2 support has been released in docker-compose-api gem version 1.1.1.
Closing this.