text:
Add a lightweight query abstraction for throttling, avoiding stale updates, and retrying

I currently have ad-hoc logic for throttling and stale update avoidance in update.ts. It would be good to abstract this away so it can be used with any kind of query.
I should also add retry logic, in case the query fail for reason outside of our control (determining this eventually ties in with error-handling).
Once we have this abstraction, we could split the fetchGameData function to separately handle fetching the FetchedGameData, fetching the cards, and fetching the on-chain randomness. Though note that this introduces new issues where we could have some of those things but not the others. If something ends up missing despite retries, we should notify the user.
Some good inspiration from tanstack-query for API design.

So, Viem (and by extension wagmi) have support for timeouts and retry policies: https://viem.sh/docs/clients/transports/http.html#timeout-optional
It's set to a whopping 10s by default, which might be worth decreasing.
To set this in wagmi, it's necessary to override the values in the publicClient returned by configureChains.
So probably this abstraction should not handle retrying.

Fixed by #38


text:
Investigate the possibility of migrating to MUD

This is for after the tech demo.
MUD simplifies development by synchronizing the frontend and the backend easily (amongst other things).
We can't really use MUD today because the game is "session-based": each player only really needs the data about the game he is currently in, as well as the cards he owns. MUD, on the other hand, synchronizes the whole "world" state, which in our case would be every game and global card ownership mappings. This is way overkill and wasteful.
I heard from Justin at Lattice (who develops MUD) that they intend to enable selective sync. We can consider using MUD once this is in, or we could try to contribute this feature upstream.
Another concern I have is that currently, 0xFable works without indexer, but MUD requires an indexer (it is possible to use a frontend indexer, but the necessity to reprocess the whole blockchain history makes this an impractical solutions outside of demos). The reason why an indexer is required in MUD is that everything is stores in tables, which are essentially mapping of keys to structures. Without storing the list of keys on the blockchain, it is impossible to know the extent of a table. There is talk about enabling a mode where keys are stored, and maybe this is can even be implemented independently as a "MUD module" (although the synchronization part on the frontend will require more invasive changes).
I'm torn on the issue. Besides the missing features outlined above, using a framework means less low-level control, and I feel like we have already figured out a bunch of the difficulties that MUD is supposed to alleviate. On the other hand, it means we get to benefit from all the new MUD features for free.
A simple way to figure it out would be to try and do a rewrite (maybe limiting ourselves to the tech demo features) to figure out how we feel about this in practice, and where the practical pain points end up being.

Here's what's next for MUD: https://twitter.com/latticexyz/status/1675840828621705216
They don't mention custom sync, but the sync stack refactor seems to be a positive step in that direction.

source: gharchive/issue

license_type: permissive

license_source: github-api


text:
Warning: spawn ENOENT

I have a project built on grunt, grunt-contrib-jade, grunt-contrib-sass, etc.
While running atom-build in Atom I get a warning, and building terminates:
Executing with sh: grunt
Running "jade:compile" (jade) task
>> 37 files created.

Running "sass:dist" (sass) task
Warning: spawn ENOENT Use --force to continue.

Aborted due to warnings.

If I run "grunt" command in a terminal, everything works fine. Any suggestion?

If you start atom from the terminal where you can run grunt and try to build again. Does it work then?

Yes, It works.

You either need to start Atom in an environment where grunt is in your path. Or you need to fully qualify the location to grunt in a custom build file.
The custom build file could look like:
{
  "cmd": "/path/to/grunt"
}

You can find the path on a unix-like system (Linux or OS X) by running which grunt in a terminal.

You either need to start Atom in an environment where grunt is in your path.
can you explain? I start Atom.app (OS X version), like any other app. It is not a custom build.

Simply put: You must install grunt in a globally available directory (like /usr/bin or /usr/local/bin) otherwise it wont be possible to launch it by just saying "grunt".

It is.
$ which grunt
/usr/local/bin/grunt

Most likely /usr/local/bin is not in the path when launching Atom as a regular app. Try this:
sudo echo 'setenv PATH /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin' > /etc/launchd.conf

and restart Atom.

sudo echo 'setenv PATH /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin' >> /etc/launchd.conf
zsh: permission denied: /etc/launchd.conf

authors: noseglid seleckis

repo: noseglid/atom-build

license: MIT


text:
No number input type support

I'd love to use this alongside number input delights such as min and max, and the free UI stepper.

The feature itself is good, but we'd keep this lib focus on the main task: formatting input content (mostly separating content and adding delimiters). Still thanks for proposing.

Well, that's just what I want. I have a <input type="number".> into which users place a dollar amount, and I'm looking for ways to place that dollar sign and commas.

authors: Supuhstar nosir

license_source: bigquery


text:
java.io.FileNotFoundException

I use Imageloader to download web image,  and the images can be downloaded, but there're a lot of exceptions in console, like below:
java.io.FileNotFoundException: at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:206)
at com.nostra13.universalimageloader.core.download.BaseImageDownloader.getStreamFromNetwork(BaseImageDownloader.java:124)
I don't know how to solve, please help me, thanks in advance~

You can try this http://stackoverflow.com/questions/14305765/filenotfoundexception-with-universal-image-loader


text:
Multi-column positive interop placeholder

It would be useful to have the multi-column apps converge on a spec to allow for interoperability.
Lume
Notedeck
Does coracle do multi-column @staab ?

Coracle doesn't do multi-column per se, but it does have custom feeds which is conceptually similar. I have a NIP for custom feeds available on wikifreedia, and a typescript implementation available as part of welshman. I'm interested in seeing adoption of my feeds standard, because it enables a "feed marketplace", which is a huge benefit to users. In Coracle, you can already create, search, and share feeds across your network.

authors: alltheseas staab

repo: nostrability/nostrability


text:
Do the same thing but ISO for PC.

Please make same thing but with macOS and OpenCore ISO that you flash into a USB and the whole Hackintosh is ready and working.
That'll solve all of the problems with creating a Hackintosh, It will be much easier.

@itayalush Hackintoshing doesn't exactly work like that. Every machine is different and requires different configurations. If you want to hackintosh, you can follow this great guide by dortania:
https://dortania.github.io/OpenCore-Install-Guide/


text:
decorate http.Client of timestamping

Originally posted by @shizhMSFT in https://github.com/notaryproject/notation/pull/978#discussion_r1677509671

Renamed to include timestamping only. For OCSP and CRL (future), the issue should goes to corresponding library as it involves implementation designing work.

Closing as completed.

repo: notaryproject/notation


text:
Body failed validation when trying to update two properties at once

Describe the bug
Pages.UpdatePropertiesAsync fails when non-empty Text property gets updated.
To Reproduce
Steps to reproduce the behavior:

Set up a database with Text property.
Creare a page with non-empty Text property.
Get this page from the database to update it.
Try to set edit this property.
Observe errors (see below).

Expected behavior
Properties get updated, no errors from API.

I've made some progress.
UrlPropertyValue gets cleared if pass null instead of object:
UrlPropertyValue? uriValue = null;
Still struggling with RichTextPropertyValue though.
When passing null, API returns error Invalid property value for: "MyTestField".
When passing new RichTextPropertyValue { RichText = new List<RichTextBase>() };, API returns error
body failed validation. Fix one: body.properties.MyTestField.id should be defined, instead was 'undefined'. body.properties.MyTestField.name should be defined, instead was 'undefined'. body.properties.MyTestField.start should be defined, instead was 'undefined'.

It gets stranger.
Initially, I am able to successfully fill empty Text property with code:
        RichTextPropertyValue result = new()
        {
            RichText = new List<RichTextBase>()
        };
        Text text = new() { Content = content };
        RichTextText item = new() { Text = text };
        result.RichText.Add(item);
        return result;

But I can neither clear nor edit non-empty Text. Errors from clearing are above, and error from editing is the same as the last one there:

body failed validation. Fix one:
body.properties.MyTestField.id should be defined, instead was undefined.
body.properties.MyTestField.name should be defined, instead was undefined.
body.properties.MyTestField.start should be defined, instead was undefined.

Okay, so my experiments show that it is  something with multiple properties at nose.
This works:
    public async Task TestAsync(string pageId)
    {
        await TestUpdate(pageId, null, "https://github.com");
        await TestUpdate(pageId, "text 1", null);
        await TestUpdate(pageId, null, "https://github.com");
        await TestUpdate(pageId, "text 2", null);
        await TestUpdate(pageId, null, "https://github.com");
    }

    private async Task TestUpdate(string pageId, string? text, string? url)
    {
        Dictionary<string, PropertyValue?> properties = new()
        {
            { "Text", CreateTextValue(text) },
        };
        await _client.Pages.UpdatePropertiesAsync(pageId, properties);

        properties = new Dictionary<string, PropertyValue?>
        {
            { "URL", url is null ? null : new UrlPropertyValue { Url = url } }
        };
        await _client.Pages.UpdatePropertiesAsync(pageId, properties);
    }

and this produces errors for some reason:
    public async Task TestAsync(string pageId)
    {
        await TestUpdate(pageId, null, "https://github.com");
        await TestUpdate(pageId, "text 1", null);
        await TestUpdate(pageId, null, "https://github.com");
        await TestUpdate(pageId, "text 2", null);
        await TestUpdate(pageId, null, "https://github.com");
    }

    private async Task TestUpdate(string pageId, string? text, string? url)
    {
        Dictionary<string, PropertyValue?> properties = new()
        {
            { "Text", CreateTextValue(text) },
            { "URL", url is null ? null : new UrlPropertyValue { Url = url } }
        };
        await _client.Pages.UpdatePropertiesAsync(pageId, properties);
    }

@Vadim-Borovikov I tried to reproduce this but it seems the problem is with the Notion API. I verified this by directly using Postman. May be you could report this at https://github.com/makenotion/notion-sdk-js

authors: KoditkarVedant Vadim-Borovikov

repo: notion-dotnet/notion-sdk-net


text:
Having maraxsis active deletes constructron and constructron service station

I wanted to go build my trusty constructions only to find out they were missing
Checked spidertron research, nothing
Checked factorio ingame wiki, nothing
Then i remembered you joined the construction wiki the other day so decided to get rid of this mod to see if that was causing the issue and yup they came back after this mod was disabled.
I am guessing the submarine construction version is overwriting the default one or something just spitballing here tbh(at 6am)
But please can you have a look and restore them back.

You are correct, but there's no way I can restore them. Sorry. Construction continued only supports exactly 1 prototype with a hardcoded name. So either there is construction submarines or construction spidertrons. Not both.

authors: notnotmelon tigartar

repo: notnotmelon/maraxsis


text:
Error installing plugin Cannot find module './server'

I am trying to use the plugin following the official guide but i am getting the following error
Error: Could not load js config file                                                                           ││   /home/folks/node_modules/@notum-cz/strapi-plugin-location/strapi-server.js: Cannot find module './server'      ││   Require stack:                                                                                ││   - /home/folks/node_modules/@notum-cz/strapi-plugin-location/strapi-server.js                                   ││   - /home/folks/node_modules/@strapi/utils/dist/index.js                                                         ││   - /home/folks/node_modules/@strapi/strapi/dist/commands/actions/admin/create-user/action.js                    ││   - /home/folks/node_modules/@strapi/strapi/dist/commands/actions/admin/create-user/command.js                   ││   - /home/folks/node_modules/@strapi/strapi/dist/commands/index.js                                               ││   - /home/folks/node_modules/@strapi/strapi/dist/cli.js                                                          ││   - /home/folks/node_modules/@strapi/strapi/bin/strapi.js                                                        ││   at loadJsFile                                                                                ││   (/home/folks/node_modules/@strapi/strapi/dist/core/app-configuration/load-config-file.js:18:13)                ││   at Module.loadFile                                                                                ││   (/home/folks/node_modules/@strapi/strapi/dist/core/app-configuration/load-config-file.js:37:14)                ││   at Object.loadPlugins (/home/folks/node_modules/@strapi/strapi/dist/core/loaders/plugins/index.js:90:41)       ││   at async Strapi.loadPlugins (/home/folks/node_modules/@strapi/strapi/dist/Strapi.js:311:5)                     ││   at async Promise.all (index 3)                                                                                ││   at async Strapi.register (/home/folks/node_modules/@strapi/strapi/dist/Strapi.js:341:5)                        ││   at async Strapi.load (/home/folks/node_modules/@strapi/strapi/dist/Strapi.js:425:5)                            ││   at async Object.develop (/home/folks/node_modules/@strapi/admin/dist/_chunks/index-sNH2VWbC.js:837:28)         ││   at async develop (/home/folks/node_modules/@strapi/admin/dist/_chunks/develop-YNTGWKMC.js:61:5)                ││   at async Command.parseAsync (/home/folks/node_modules/commander/lib/command.js:923:5)
Screenshots

System

Node.js version: v20.11.0
NPM version: 0.2.4
Strapi version: v4.19.1
Database: Postgress
Operating system: ubuntu 22.04

hi, same

I also had this. There's a bunch of peer dependencies not listed on the installation instructions, you need to add these separately then it worked:
yarn add @babel/runtime@>=7.11.0 @codemirror/lint@>=6.0.0 @codemirror/state@>=6.0.0 @codemirror/theme-one-dark@>=6.0.0 @codemirror/view@>=6.0.0 codemirror@>=6.0.0 @codemirror/autocomplete@>=6.0.0 @codemirror/language@>=6.0.0 @codemirror/search@>=6.0.0 @codemirror/view@>=6.0.0 @lezer/common@^1.0.0
This was the warnings on installing strapi-plugin-loction:
yarn install v1.22.21
warning ../package.json: No license field
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
[4/5] Linking dependencies...
warning "@notum-cz/strapi-plugin-location > @strapi/design-system > @uiw/react-codemirror@4.21.21" has unmet peer dependency "@babel/runtime@>=7.11.0".
warning "@notum-cz/strapi-plugin-location > @strapi/design-system > @uiw/react-codemirror@4.21.21" has unmet peer dependency "@codemirror/state@>=6.0.0".
warning "@notum-cz/strapi-plugin-location > @strapi/design-system > @uiw/react-codemirror@4.21.21" has unmet peer dependency "@codemirror/theme-one-dark@>=6.0.0".
warning "@notum-cz/strapi-plugin-location > @strapi/design-system > @uiw/react-codemirror@4.21.21" has unmet peer dependency "@codemirror/view@>=6.0.0".
warning "@notum-cz/strapi-plugin-location > @strapi/design-system > @uiw/react-codemirror@4.21.21" has unmet peer dependency "codemirror@>=6.0.0".
warning "@notum-cz/strapi-plugin-location > @strapi/design-system > @uiw/react-codemirror > @uiw/codemirror-extensions-basic-setup@4.21.21" has unmet peer dependency "@codemirror/autocomplete@>=6.0.0".
warning "@notum-cz/strapi-plugin-location > @strapi/design-system > @uiw/react-codemirror > @uiw/codemirror-extensions-basic-setup@4.21.21" has unmet peer dependency "@codemirror/language@>=6.0.0".
warning "@notum-cz/strapi-plugin-location > @strapi/design-system > @uiw/react-codemirror > @uiw/codemirror-extensions-basic-setup@4.21.21" has unmet peer dependency "@codemirror/lint@>=6.0.0".
warning "@notum-cz/strapi-plugin-location > @strapi/design-system > @uiw/react-codemirror > @uiw/codemirror-extensions-basic-setup@4.21.21" has unmet peer dependency "@codemirror/search@>=6.0.0".
warning "@notum-cz/strapi-plugin-location > @strapi/design-system > @uiw/react-codemirror > @uiw/codemirror-extensions-basic-setup@4.21.21" has unmet peer dependency "@codemirror/view@>=6.0.0".
warning "@notum-cz/strapi-plugin-location > @strapi/design-system > @uiw/react-codemirror > @uiw/codemirror-extensions-basic-setup > @codemirror/autocomplete@6.12.0" has unmet peer dependency "@lezer/common@^1.0.0".

@pturner1989 how can i do that using npm or can i use both of them in my project?

it still happen

any update on this ?

@raniaamina do you any other option for managing and querying the latitude and logitude.

@raniaamina do you know any other option for managing and querying the latitude and logitude.

Currently just save it as string.

@raniaamina do you know any other option for managing and querying the latitude and logitude.

Currently just save it as string.

are you using filtering based on the latitude and longitude

@raniaamina do you know any other option for managing and querying the latitude and logitude.

Currently just save it as string.

are you using filtering based on the latitude and longitude

It depend on what front end need, simply use regex if you wanna filter the format. This one of them;
https://ihateregex.io/expr/lat-long/
Btw, this conversation is out of topic issue, imo.

Still not working ... and i already installed the dependencies listed on @pturner1989 comment :(

hi, any news ?

If you want to use location based filtering you can do it with custome code
First enable the postgis extension in postgres database and the customize the endpoint like this
SELECT
id,
name
FROM
public.store
WHERE
ST_DWithin(
ST_Transform(ST_SetSRID(ST_MakePoint(77.3433442537524, 28.58118352566312), 4326), 3857),
ST_Transform(ST_SetSRID(ST_MakePoint(longitude, latitude), 4326), 3857), 1000)
ORDER BY
distance;

This is a duplicate of #126

hi, any news ?

Hi, it should be fixed! :)

repo: notum-cz/strapi-plugin-location


text:
Travis should build more that the default test suite

refs #57

[x] refactor tox.ini
[x] add the django16 suite to the travis.yml

Could we support right now Django 1.7 and 1.8 ? It would be perfect if you can add them to tox or Travis check, thanks

@rodo, yup, it's perfectly testable. Will amend the PR

@rodo quick update: I've tested locally and it's not automagic: builds using django 1.7 or 1.8 fail. I think we'll need to work a bit more on this. I'll open a separate issue.

Ok thanks for the test, so I merge this version and look forward for other version

source: gharchive/pull-request

authors: brunobord rodo

repo: novafloss/django-aggtrigg


text:
[Bug] ReferenceError: regeneratorRuntime is not defined

Overview
This is follow up to https://github.com/nozzle/react-static/issues/1122
A new app is created with react-static create
Steps

create a new RS site - react-static create
choose basic template
cd into the new project
add the react-static-plugin-source-filesystem plugin - yarn add react-static-plugin-source-filesystem
add to the static.config.js as such:

  plugins: [
    [
      'react-static-plugin-source-filesystem',
      {
        location: path.resolve('./src/pages'),
      },
    ],
  ]

Now try yarn start, get error ReferenceError: regeneratorRuntime is not defined
The error references: Error: The following error occurred in the plugin located at "/usr/local/projects/aa_working/Active/rs-test/my-static-site/node_modules/react-static-plugin-source-filesystem/node.api.js"
Thanks :)

I wanted to follow up w/ this. Re-tried all this with 7.0.9, and got a new error (black screen of death, kind of wild actually)
An internal error occured!

Error: RoutesInner suspended while rendering, but no fallback UI was specified.

Add a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.
    in RoutesInner
    in Unknown (created by Routes)
    in Routes (at App.js:16)
    in div (at App.js:15)
    in Unknown (created by Root)
    in Catch (created by Root)
    in Root (at App.js:9)
    in App (at src/index.js:17)
    at throwException (http://localhost:3000/main.js:20936:17)
    at renderRoot (http://localhost:3000/main.js:22190:15)
    at performWorkOnRoot (http://localhost:3000/main.js:23093:11)
    at performWork (http://localhost:3000/main.js:23003:11)
    at performSyncWork (http://localhost:3000/main.js:22977:7)
    at requestWork (http://localhost:3000/main.js:22832:9)
    at scheduleWork (http://localhost:3000/main.js:22645:9)
    at scheduleRootUpdate (http://localhost:3000/main.js:23340:7)
    at updateContainerAtExpirationTime (http://localhost:3000/main.js:23366:14)
    at updateContainer (http://localhost:3000/main.js:23434:14)

again, the steps:
react-static create
vim package.json # to edit webpack-dev-server" to "3.2.1" for other issue
yarn install # to update webpack-dev-server
yarn upgrade-interactive --latest # upgrade to 7.0.9
yarn add react-static-plugin-source-filesystem
# update the static.config.js w/ the plugin
yarn start
# get error

I'm getting the same error. Black screen was different, just the generic "An internal error occured!".
Checking the console I get this:

So when I added an error boundary this is what I'm getting:

hey, just chiming in to say i tried to reproduce your bug and couldn't. everything works fine when i follow your steps except for editing webpackdevserver (cos it seems to be unrelated). its also harder to help you when you dont provide a repo for reproduction.
see https://github.com/sw-yx/reactstaticregenruntimebug for my repro of your steps and it works fine on my machine.

I found mine was due to a typo where I was calling ReactDOM.render(App, document.getElementById('app')) instead of the correct  ReactDOM.render(<App />, document.getElementById('app')). I'm not sure why an error that would normally percolate up was getting eaten by React Static. Might be worth looking into.

I was getting the same Suspense error, and managed to track it down to where the templates are loaded in src/browser/components/Routes.js
React isn't my expertise, nor react-static, so I just bypassed this by wrapping my <Routes /> with a <Suspense fallback=...> as a temporary measure.

<Suspense fallback='...'/> is not a temporary measure. This is required. React Static uses Suspense (and suspense mocking) to generate the pages for your site. Start with the basic template and go from there.

authors: NukaPunk marqpdx maxholman sw-yx tannerlinsley

repo: nozzle/react-static

license: mit


text:
Advanced queries

Hi!
Great project!
I would like to ask about advanced queries, such as search by author or keywords as http://npmsearch.com/ do.

In addition to @montogeek request, looking for the ability to search for multiple terms (ala npm install)
$http.get('https://api.npms.io/search', {
        json: true,
        query: {
          term: 'gulp-messenger gulp-phpunit gulp-phpspec',
        }

In addition, this could be expanded to support @montogeek request
$http.get('https://api.npms.io/search', {
        json: true,
        query: {
           author: 'mikeerickson',
           keyword: 'gulp'
        }

Support searching by keywords and author seems a good addition, we will definitively add those.
@mikeerickson we support multiple terms but they are used as AND and nor OR.

I'm currently looking into implementing this.
Regarding author:

Author is defined by packageJson.author and can be a non-npm user
Publisher is the last person that published/updated the module (npm user)
Maintainer is all persons that have publish rights of the module (npm user)

If you link https://www.npmjs.com/~satazor, it shows all modules that I am qualified as a maintainer. When people are filtering by author what are they expecting? As you see author is a bit ambiguous. Suggestions?

//cc @sindresorhus

Agreed. Should be the npm users with publish rights. ?maintainer=satazor looks good.

@sindresorhus thanks for the feedback
The way I'm implementing it is not as a query parameter, but instead with ?q=query, where query must obey a DSL. It looks similar to GitHub when you are searching for issues. Examples:
maintainer:satazor exclude:deprecated keywords:windows cross-spawn
maintainer:sindresorhus exclude:insecure promise
score-effect:10 maintenance-weight:20 test runner
This is a breaking change in the search API but I will support the old API until december. Having that said, it will support maintainer:satazor and also add author and publisher` support as I described above.

I've done some work and I got this stuff working locally. But since this is a breaking change I got to setup API versioning and ensure everything is done smoothly. Here's the API doc for the query DSL that allows advanced filtering and modifiers:

I expect to get this deployed in the next 4 days.

I've deployed this yesterday in api v2. Check out the changelog and the API docs

authors: mikeerickson montogeek satazor sindresorhus

repo: npms-io/npms-api


text:
Logical networks, accuracy, meta-data and, python modules (OSMNX, networkx and Shapely)

Having read the paper and slept on this I think there are a number of areas I'd want to consider:

A logical transport network: a model to help communication and decision making rather than a geographically accurate map Examples, would be the classic TfL tube map, or the bus route maps in Sheffield. Very heavily used in rail and for things like planning and operations systems.
Trivial simplification: There is a trivial simplification based on a projected geography where you simply round coordinates to an arbitrary value say, 1m. This effectively imposes a network grid on the data and implicitly simplifies the network. You may want to extend this to, say 5m, or use a difference base tiling geometry and build a network based on centre-points.
Meta-data simplification: Rather than simply aggregate a network based on proximity, you may also want rules based on other characteristics such as road classification. For example, there may be valid rules based on simplifying parallel cycle and pedestrian infrastructure with roads where it is legal, for example, a city road grid, but not where it is illegal. For example, where a segregated path runs along side a motorway. Where it is illegal to cycle or walk.
OSMX, networkx and Shapely: These comes with a whole set of things for simplifying and manipulating networks. It might be worth having a review of what is out there.

Arguably these are actually four "issues" and would take advice on how to manage these. I'm in the process of setting up my Quarto environment with the relevant emacs inferior-mode.
(With regards point 2, I would love to see what aperiodic tiling might do here, but perhaps should get out more)

Many thanks for your thoughts Will! Following a review, and some chat with people 1-2-1 and on social media (Twitter and Mastodon) I agree with your areas. Converting those into sections of a paper I'm thinking

Introduction: there is a need for simpler and easier to read network maps for various policy purposes, the one outlined in the draft paper being just one. I think we can talk about levels of simplification, with 'tube maps' being one extreme', in the intro, covering you "1."
Methods: there are many methods to choose from and seemingly no paper has yet systematically compared open options. This is somewhere this paper/project/codebase can add a lot of value I think. I think "rounding coordinates" and other things in your "2." and "3." can fit nicely into this pre-existing section, right? Maybe we should have a separate section, possibly after methods, on implementations, where we can actually demonstrate some of these packages, including osmnx, GRASS, other approaches, so should we add an 'implemenations' section after this one?  https://github.com/nptscot/networkmerge/blob/main/paper.md#methods

Good luck reproducing where we've got to, Quarto is a great system, let me know how you get on and happy to do a quick video call at some point to get you up-to-speed.

Closing for now, anything from this that can go into the paper let us know @anisotropi4

repo: nptscot/networkmerge


text:
Custom uploaded profiles in local BRouter-web instance

I was successful in configuring BRouter-web to run locally in my Windows. I have added selection of my profiles to the config.js. so I can select them as if they were the standard ones.
See Screenshot of profile selection
All works fine, if I use untouched standard profiles, or my profiles, now "standard" profiles as well.
But if I modify them in the text field and upload them back, so they get <custom>, the routing for such <custom> profiles never finishes, even if trivially short.
The custom profile with random numeric name is created in the folder specified in BRouter java launch command. So does such custom profile is listed in the command line  in the BRouter console window.
What am I doing wrong ?

I run BRouter web as http://localhost:8000/brouter-web/
after running the batch below, placed in server.cmd in BRouter main folder:

@echo off
REM BRouter standalone server
REM java -cp brouter.jar btools.brouter.RouteServer
REM maxRunningTime is the request timeout in seconds, set to 0 to disable timeout
set JAVA_OPTS=-Xmx1024M -Xms512M -Xmn8M -DmaxRunningTime=300
set CLASSPATH=./brouter.jar
start "BRouter server" java %JAVA_OPTS% -cp %CLASSPATH% btools.server.RouteServer .\segments4 .\profiles2 .\customprofiles 17777 1
start "Python file provider" s:\PFiles\Python27-32\python.exe -m SimpleHTTPServer

Hm, I don't see anything obvious that could be wrong. I just tested with the latest BRouter release on Ubuntu and local upload should be working in general.
Are there any errors in the server or the Browser console (Ctrl-Shift-i)?
Is the profile saved to the customprofiles folder complete (when you open it in a text editor)?

Thanks for the reply.  I will check the profile completeness when I return home.
For now, what looks at least suspicious are the Brouter.jar parameters
.\segments4 .\profiles2 .\customprofiles
While I would suppose   .(dot) should mean for all 32 parameters the current folder ( the BRouter home data folder in my case), it measn the current folder just for .\segments4 and  .\profiles2.
On contrary,  dot in  .\customprofiles does not mean current folder, but currentfolder\profiles2.
Is possible, that BRouter and BRouter-web did not negotiate well, where the custom profiles are stored ?

You are right, just checked the code, the customprofiles parameter is relative to the profiles folder. Not sure if that is a problem, but you could try ..\customprofiles instead.
The client does not really need to know where the customprofiles folder is. The path setting in config.js is only optional for displaying the currently selected profile and this is independent from loading and processing a profile on the server.

So, the custom profiles are complete.
I have prviously used for customeprofiles folder just dot as well, what causes profiles landing at profiles2 folder, but without any effect.
Errors seems near none, but this one>
SyntaxError: JSON.parse: bad escaped character at line 8 column 28 of the JSON data
L.BRouter<._handleRouteResponse()
brouter-web.js:36
o.Util.bind/<()
brouter-web.js:1
brouter-web.js:36:1605
the debugger points to line
L.BRouter=L.Class.extend({statics:{URL_TEMPLATE:BR.conf.host+"/brouter?lonlats={lonlats}&nogos={nogos}&profile={profile}&alternativeidx={alternativeidx}&format={format}",URL_PROFILE_UPLOAD:BR.conf.host+"/brouter/profile",PRECISION:6,NUMBER_SEPARATOR:",",GROUP_SEPARATOR:"|",ABORTED_ERROR:"aborted"},options:{},format:"geojson",initialize:function(t){L.setOptions(this,t),this.queue=async.queue(L.bind(function(t,e){this.getRoute(t.segment,e)},this),1),this.queue.kill=function(){var t=this.tasks;this.drain=null,this.tasks=[],t.forEach(function(t){t.callback(L.BRouter.ABORTED_ERROR)})}},setOptions:function(t){L.setOptions(this,t)},getUrlParams:function(t,e){return{lonlats:this._getLonLatsString(t),nogos:this._getNogosString(this.options.nogos),profile:this.options.profile,alternativeidx:this.options.alternative,format:e||this.format}},parseUrlParams:function(t){var e={};return t.lonlats&&(e.lonlats=this._parseLonLats(t.lonlats)),t.nogos&&(e.nogos=this._parseNogos(t.nogos)),t.alternativeidx&&(e.alternative=t.alternativeidx),t.profile&&(e.profile=t.profile),e},getUrl:function(t,e){var o=this.getUrlParams(t,e),r=L.Util.template(L.BRouter.URL_TEMPLATE,o);return r},getRoute:function(t,e){var o=this.getUrl(t),r=new XMLHttpRequest;return o?(r.open("GET",o,!0),r.onload=L.bind(this._handleRouteResponse,this,r,e),r.onerror=L.bind(function(t,e){e(BR.Util.getError(t))},this,r,e),void r.send()):e(new Error("Error getting route URL"))},_handleRouteResponse:function(t,e){var o,r;return 200===t.status&&t.responseText&&"application/vnd.geo+json"===t.getResponseHeader("Content-Type").split(";")[0]?(r=JSON.parse(t.responseText),o=L.geoJson(r).getLayers()[0],e(null,o)):void e(BR.Util.getError(t))},getRouteSegment:function(t,e,o){this.queue.push({segment:[t,e]},o)},uploadProfile:function(t,e,o){var r=L.BRouter.URL_PROFILE_UPLOAD;xhr=new XMLHttpRequest,t&&(r+="/"+t),xhr.open("POST",r,!0),xhr.onload=L.bind(this._handleProfileResponse,this,xhr,o),xhr.onerror=function(){var t=this;o("Upload error: "+t.statusText)},xhr.send(e)},_handleProfileResponse:function(t,e){var o;200===t.status&&t.responseText&&t.responseText.length>0?(o=JSON.parse(t.responseText),e(o.error,o.profileid)):e("Profile error: no or empty response from server")},_getLonLatsString:function(t){for(var e="",o=0;o<t.length;o++)e+=this._formatLatLng(t[o]),o<t.length-1&&(e+=L.BRouter.GROUP_SEPARATOR);return e},_parseLonLats:function(t){var e,o,r=[];if(!t)return r;e=t.split(L.BRouter.GROUP_SEPARATOR);for(var n=0;n<e.length;n++)o=e[n].split(L.BRouter.NUMBER_SEPARATOR),r.push(L.latLng(o[1],o[0]));return r},_getNogosString:function(t){for(var e,o="",r=0;r<t.length;r++)e=t[r],o+=this._formatLatLng(e.getLatLng()),o+=L.BRouter.NUMBER_SEPARATOR,o+=Math.round(e.getRadius()),r<t.length-1&&(o+=L.BRouter.GROUP_SEPARATOR);return o},_parseNogos:function(t){var e,o,r=[];if(!t)return r;e=t.split(L.BRouter.GROUP_SEPARATOR);for(var n=0;n<e.length;n++)o=e[n].split(L.BRouter.NUMBER_SEPARATOR),r.push(L.circle([o[1],o[0]],o[2],L.Draw.Circle.prototype.options.shapeOptions));return r},_formatLatLng:function(t){var e="";return e+=L.Util.formatNum(t.lng,L.BRouter.PRECISION),e+=L.BRouter.NUMBER_SEPARATOR,e+=L.Util.formatNum(t.lat,L.BRouter.PRECISION)}}),L.bRouter=function(t){return new L.BRouter(t)};

The error looks like the client can't read the server response, maybe some encoding issue?
Could you post the response, please: With Ctrl-Shift-i go to the Network tab, provoke the error, right click on the last (?) line and select "Copy Answer".

It looks strange, as it triggers 2 network responses with response code 200 = OK
First is POST profile, the second is GET

POST:
{
"profileid": "custom_1474519161334"
}

GET:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"creator": "BRouter-1.1",
"name": "brouter_.\customprofiles\1474519161334_0",
"track-length": "1483",
"filtered ascend": "37",
"plain-ascend": "37",
"cost": "2338",
"messages": [
["Longitude", "Latitude", "Elevation", "Distance", "CostPerKm", "ElevCost", "TurnCost", "NodeCost", "InitialCost", "WayTags", "NodeTags"],
["17135558", "49385374", "250", "1483", "1450", "0", "187", "0", "0", "highway=tertiary", ""]
]
},
"geometry": {
"type": "LineString",
"coordinates": [
[17.136931, 49.406331, 213.25],
[17.137000, 49.406225, 213.25],
[17.137581, 49.405213, 214.75],
[17.137712, 49.405002, 214.75],
[17.137974, 49.404528, 214.25],
[17.138107, 49.404195, 214.0],
[17.138377, 49.403549, 215.25],
[17.138434, 49.403409, 215.5],
[17.138439, 49.403344, 215.75],
[17.138438, 49.403255, 216.25],
[17.138365, 49.403057, 217.5],
[17.137781, 49.402330, 223.75],
[17.138152, 49.402177, 222.5],
[17.138896, 49.401907, 221.25],
[17.139200, 49.401774, 221.25],
[17.139655, 49.401520, 222.25],
[17.140272, 49.401025, 224.25],
[17.140569, 49.400842, 224.5],
[17.141148, 49.400538, 224.25],
[17.140967, 49.400234, 224.75],
[17.140955, 49.400066, 225.0],
[17.140952, 49.399325, 227.75],
[17.141261, 49.398673, 232.0],
[17.141325, 49.398573, 232.5],
[17.141911, 49.397664, 234.25],
[17.142212, 49.397178, 234.0],
[17.142091, 49.397006, 234.75],
[17.141648, 49.396218, 237.5],
[17.141334, 49.395658, 239.5],
[17.140884, 49.394856, 250.75]
]
}
}
]
}

Note that the same stalling behaviour ( but debug responses not tested ) occured with Firefox (45.0.2) in Safe mode with disabled addons, to test if NoScript , uBlock origin or Requst policy addons interfere.
Can it matter that I relolaced to batch placement and default folder to the main folder ?

Thanks, now I can track it down to the following line:
"name": "brouter_.\customprofiles\1474519161334_0",
The single backslash '' is invalid in the (Geo)JSON response. Removing the directory part from the name doesn't work on Windows - and thus custom profiles won't work, haven't noticed before.
Needs to be fixed on the server side.

I got it as server side = localhost:17777 brouter.jar server, being on Arndt's court side......

Yes, the brouter.jar and abrensch/brouter repository, but I'm going to take care of this. Just was implying that I will create a separate issue/pull request, probably after the current short brouter-web release I'm working on.

Temporary workaround is creation of dedicated test profile in the profiles2 and add its name to the config.js file of brouter-web. Modification need The page reload or a new page instance is needed if modified.

I submitted a pull request for BRouter, meanwhile you could try using this:
brouter.jar.zip

Thanks, it works now.

authors: nrenner poutnikl

repo: nrenner/brouter-web


text:
Ncs 1.8 rebase

Empty diff with v1.7.99-ncs4-rc1, but this is just a starting out point. I need help from @nvlsianpu  to finish the job, as there are a couple of problems that I do not know how to solve.
Here is a checklist:

[x] Thingy:53 support has two problems I can see:

[x] zephyr: Removed old external flash configs for Thingy53. should have been sent upstream, for reasons explained in https://github.com/mcu-tools/mcuboot/pull/1122#issuecomment-983113089. I have changed this to toup here for now and put it next to the fromlist patch adding support for thingy:53. cc @MarekPieta @osaether
[x] boot: zephyr: Remove CONFIG_USB from Thingy53 configuration should have been sent upstream as well. This is already a toup in our main branch, even though we are not supposed to be using that tag anymore. This was introduced in the most recent upmerge: https://github.com/nrfconnect/sdk-mcuboot/pull/180 cc @rlubos

[x] The kconfig: reduce downstream patch patch requests a squash that doesn't apply. The commit log (see https://github.com/nrfconnect/sdk-mcuboot/commit/595fb49314be2672fdcf040475265929e24ef457 where it was cherry-picked from) seems to indicate that it needs some more splitting up and squashing, but I don't understand the request. cc @hakonfam

The kconfig: reduce downstream patch patch requests a squash that doesn't apply. The commit log (see 595fb49 where it was cherry-picked from) seems to indicate that it needs some more splitting up and squashing, but I don't understand the request. cc @hakonfam

drop commits listed in commit message. Only keep the one with squash! in the title.
The only remaining patch should be the sourcing of the Kconfig file in the mcuboot module in the nrf repo.: lines 11 and 12.
I think only way to do so is interactive rebase.

zephyr: Removed old external flash configs for Thingy53. is sent upstream https://github.com/mcu-tools/mcuboot/pull/1230

@mbolivar-nordic I did branch where I believe I did resolved above listed issues: https://github.com/nvlsianpu/fw-nrfconnect-mcuboot/tree/anpu-ncs-1.8-rebase

[nrf fromtree] boot_serial: cleanup max output size calculation: is fromlist at the moment.

Thanks @nvlsianpu --- so is this OK then?

Thanks @nvlsianpu --- so is this OK then?

It is not.

@mbolivar-nordic I corrected [nrf fromtree] to [nrf fromlist] in the last commit.

Just found that below Kconfig shouldn't be removed in commit
[nrf noup] treewide: add NCS partition manager support
and shouldn't be added by [nrf fromtree] zephyr/boot_serial_extension: kconfig of custom command for get images status
menuconfig ENABLE_MGMT_PERUSER
	bool "Enable system specific mcumgr commands"
	depends on BOOT_SERIAL_UART
	help
	  The option enables processing of system specific mcumgr commands;
	  system specific commands are within group MGMT_GROUP_ID_PERUSER (64)
	  and above, as defined within mcumgr library.
	  These are system specific command and system specific implementation
	  function is required to process these commands.

^^ @mbolivar-nordic I did another rebase for fix that on my branch https://github.com/nvlsianpu/fw-nrfconnect-mcuboot/tree/anpu-ncs-1.8-rebase

authors: mbolivar-nordic nvlsianpu

repo: nrfconnect/sdk-mcuboot


text:
Using custom fonts

Do you have any plan for extending your library to use custom fonts like FontAwesomeKit library? Right now it is quite limited for fontawesome only
Thanks!

Yes. I just haven't had the time.

authors: duyduong nschum

repo: nschum/FontAwesomeIconFactory


text:
feat: frontend/colors add resource coolors

Descripcion ✏
Añadir recurso Coolors a seccion Front End Colores
Cambios visuales 🎨

Como testear? 🐛

[!IMPORTANT]
Checklist a modo recordatorio. Tildar lo que corresponda

[ x] Te agregaste como contribuidor/a, en el archivo mdx que tocaste?
[ ] Si tocaste código (no mdx), agregaste test para cubrirlo?

Gracias por el aporte!

authors: mig-code nsdonato

repo: nsdonato/recursostech


text:
Failed to load the language-autohotkey package

This issue pops up every time I start Atom, since the 1.1 upgrade. Thanks a bunch!

Atom Version: 1.1.0
System: Microsoft Windows 10 Pro
Thrown From: language-autohotkey package, v0.1.0
Stack Trace
Failed to load the language-autohotkey package
At Cannot read property 'prototype' of undefined

TypeError: Cannot read property 'prototype' of undefined
    at __extends (C:\Users\Veronica\.atom\packages\language-autohotkey\lib\language-autohotkey-view.coffee:4:199)
    at C:\Users\Veronica\.atom\packages\language-autohotkey\lib\language-autohotkey-view.coffee:9:5
    at Object.<anonymous> (C:\Users\Veronica\.atom\packages\language-autohotkey\lib\language-autohotkey-view.coffee:52:5)
    at Object.<anonymous> (C:\Users\Veronica\.atom\packages\language-autohotkey\lib\language-autohotkey-view.coffee:54:4)
    at Module._compile (module.js:428:26)
    at Object.defineProperty.value [as .coffee] (C:\Users\Veronica\AppData\Local\atom\app-1.1.0\resources\app.asar\src\compile-cache.js:169:21)
    at Module.load (module.js:353:32)
    at Function.Module._load (module.js:308:12)
    at Module.require (module.js:363:17)
    at require (module.js:382:17)

Commands

Config
{
  "core": {}
}

Installed Packages
# User
atom-html-preview, v0.1.11
autoclose-html, v0.19.0
language-autohotkey, v0.1.0
language-vbscript, v0.6.1

# Dev
No dev packages

+1

I had the same problem, switched to atom-beta, and it was gone, but with a new update I have this problem again.
Atom 1.2.0-beta2

+1

+1

Same problem, can this be fixed, please?

+1

@nshakin: are you still working on this project? I find it quite useful, and if you are no longer involved I might be interested in forking this project and continuing the work.

+1

+1

+1

+1
I was able to fix this by editing: package.json

"main": "./lib/language-autohotkey"

"main": "./language-autohotkey"

@theVKC vanillaSprinkles
Thank You! :+1: :+1: :+1:

Error Message is gone, functionality also ;-)

That did seem to solve the problem. Thanks @vanillaSprinkles!
I'm hoping this package is still being maintained. I might have a crack at creating my own someday if this isn't. As the source file is still glitchy, I'm not going to close my issue.

I was thinking of doing similar; going through everybody's forks and merging in them into one branch. Might work on it more tonight if people don't beat me to it.

Go for it, @vanillaSprinkles, and thank you!

Hey Veronica,
I am glad you find this project useful. I no longer have time for this and
would appreciate if you forked it and continued the work. Please keep me
informed to any progress!
Thanks,
-------------------------
Nicholas Shakin
nshakin@gmail.com
(630)765-0852
On Tue, Dec 8, 2015 at 2:56 PM, Veronica Kahl Cary <notifications@github.com

wrote:

@nshakin https://github.com/nshakin: are you still working on this
project? I find it quite useful, and if you are no longer involved I might
be interested in forking this project and continuing the work.
—
Reply to this email directly or view it on GitHub
https://github.com/nshakin/language-autohotkey/issues/18#issuecomment-163015414
.

@theVKC:
just returned to this and looking at the forks, the user cescue has gone ahead and forked this and a handful of other useful pieces.
@nshakin:
thanks for letting us know, appreciate the jumpstart

@nshakin Could you add a depreciation notice to the readme with a link to cescue's fork?

I have been using and adding to cescue's fork of this project (https://github.com/cescue/language-autohotkey). We will soon be trying to integrate it into atom.io's packages list properly - issues are open on that fork as well.

I'd be happy to close this issue, but I'm thinking a depreciation notice + link should be in order. @nshakin: I know you aren't active with this anymore, but it would be very helpful.
@vanillaSprinkles: once the integration into the package list goes through, can you comment here? That might be a great point to close the issue.

Sorry everyone for dropping the project.
@theVKC: I will update the readme with a deprecation notice.  What should I link to as the current best fork of the project?

@nshakin I presume this one?

Thanks @joedf.  I will update the readme with cescue's fork.

@theVKC yes I will post here once the integration to atom.io is working fully (I know it is on cescue's to-do list). it's been a busy last few weeks for me so I have not worked on it much
@nshakin: dropped projects happen; life happens. a big thanks for updating the readme and checking in when you are able to

Hopefully I'm not too late. I have a syntax highlighter of sorts for notepad++.
Given how AHK is, pretty much everything is a keyword, with regex really only being needed for the two types of comments, variables, things in quotes, and numbers.
Here's a screenshot of the highlighter.

Should I just fork and rewrite using what I have? Or have you folks already finished?

+1

+1

+1

Closing this issue. For folks using it, there's a new fork of the project which is working: https://github.com/cescue/language-autohotkey.

authors: GDur Gubith Muffinoota Paulix ROFLLOLSTER THernandez03 aush highend hosicame joedf jonatastrife marsiau mr-moon neilthomson nshakin theVKC vanillaSprinkles zacps

repo: nshakin/language-autohotkey


text:
🛑 Università e ricerca is down

In 780fe7e, Università e ricerca (https://www.mur.gov.it/it) was down:

HTTP code: 403
Response time: 742 ms

Resolved: Università e ricerca is back up in 68d22ac.


text:
🛑 Difesa is down

In 1498833, Difesa (http://www.difesa.it/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Difesa is back up in 5a8d9b9.


text:
🛑 Difesa is down

In a79247e, Difesa (http://www.difesa.it/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Difesa is back up in cd7d722.


text:
🛑 Università e ricerca is down

In e5aa188, Università e ricerca (https://www.mur.gov.it/it) was down:

HTTP code: 403
Response time: 499 ms

Resolved: Università e ricerca is back up in 405b7ef after 1 hour, 27 minutes.


text:
🛑 Agricoltura, Sovranità alimentare e Foreste is down

In e667177, Agricoltura, Sovranità alimentare e Foreste (http://www.politicheagricole.it/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Agricoltura, Sovranità alimentare e Foreste is back up in 9454365.


text:
Add ability to set the TableDefinition class.

The table definition class can be set via passing
in :table_definition_class_name as a connection
parameter.
This is specifically useful when the default
table definition does not support the column types
in the schema.rb. Specifically, passing in
ActiveRecord::ConnectionAdapters::PostgreSQL::TableDefinition
allows column types such as json to exist in the
schema.

@michaelgpearce - I don't suppose you can write a test for this? I'm happy with the PR change as is.

The spec would be difficult to write - probably requiring a different database adapter and checking it. Probably an order of magnitude more difficult that the code change itself.

I won't release a gem just yet. If you don't mind using it from master so that it gets some real testing before I cut a release. You can do this easily in a gemfile.

Sounds good.
On Thu, Mar 1, 2018 at 9:36 PM, Michael Noack notifications@github.com
wrote:

I won't release a gem just yet. If you don't mind using it from master so
that it gets some real testing before I cut a release. You can do this
easily in a gemfile.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nulldb/nulldb/pull/82#issuecomment-369825571, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAIDv30u5NJf2oBwq8BQJdjnDEU1tEkbks5taNpWgaJpZM4SZVnZ
.

authors: michaelgpearce mnoack

repo: nulldb/nulldb


text:
取消委托后再次委托失败，账本模块查询余额不足

严重程度：严重
优先级：2
操作步骤：
1、新建一个地址作为节点地址
2、从创世块地址转账25000100000000给新创建的地址
3、节点委托20000000000000
4、委托成功后过一分钟，将委托取消
5、取消委托成功后，再次委托
实际结果：
1、委托失败
预期结果：
1、委托成功
分析：
根据日志及调试，发现共识模块再次发起委托交易时，交易模块返回失败，再往下，交易模块在调用账本模块的提交未确认交易时，账本模块验证时，余额不足，但是通过单独的单元测试返回余额为22999999600000，是大于委托最小金额的
depositAgainError.txt
depositAgainError_leger.txt
depositAgainError_tx.txt
@lanjinsheng

已经修复！


text:
fix(SERVER): add pod component

enable pod view component

DCO is failing

authors: mshakira vigith

repo: numaproj/numaflow


text:
chore: pass vertex/pipeline name to pbq wal and add a grafana dashboard template for wal metrics

Pass vertex/pipeline name to pbq wal and introduce pipeline and vertex label to WAL metrics.
Add a grafana dashboard template for visualizing WAL metrics.

WAL Dashboard screenshot:

Closes #365

@vigith Could you elaborate more on why? My understanding is replica in this context is conceptually equal to pod, and WAL is at vertex level instead of pod level.

Pod might be recreated with different IDs due to pod migrations, but it will reuse the same WAL. We can track the WAL's metrics over time if we have a replica label.

authors: KeranYang vigith


text:
Add FAQ entry about scipy.special

Thanks to this project:
https://numba-special.readthedocs.io/en/latest/index.html
There are now wrappers for the scipy.special functions.  We should mention this project in our FAQ.
As a side question: This implementation requires individually extracting all the function pointers using a .pyx file:
https://github.com/person142/numba_special/blob/master/numba_special/function_pointers.pyx
I wonder if there is a way to do that more automatically...

See "scumba" discussion here: https://github.com/numba/numba/issues/4292

The Numba extension project now supports this feature: https://github.com/numba/numba-scipy this should be mentioned instead.

authors: seibert stuartarchibald

repo: numba/numba


text:
How to create a typed dict in Numba dict[str] = list

I am trying to create a dictionary in nopython mode. This is what I have:
import numba

@numba.njit()
def func():

    d = numba.typed.Dict.empty(
        key_type=numba.types.unicode_type,
        value_type=numba.ListType(np.float64)
    )

    d["a"] = [1, 1]

    return d

print(func())

Error:
Invalid use of Function(<class 'numba.types.containers.ListType'>) with argument(s) of type(s): (Function(<class 'float'>))
 * parameterized
In definition 0:
    TypeError: typer() takes 0 positional arguments but 1 was given

@6Hhcy thanks for asking about this, how about:
import numba

@numba.njit()
def func():

    d = numba.typed.Dict()
    d["a"] = numba.typed.List((1.0, 1.0))

    return d

print(func())

You'll need at least 0.49.0RC1 to do the List constructor, but it should get you what you want.

@6Hhcy haven't heard back from you yet, was just wondering if my comment was of use at all?

Closing this issue as it seems to be resolved. If this is not the case please re-open with a comment about any item that appears to be unresolved. Many thanks.

Apologies for the late reply. I'm using v0.48...is there no way to do it in this version? Regards

@6Hhcy thanks for following up and yes, there is. But you need to set the list up in several steps.
import numba

@numba.njit()
def func():

    d = numba.typed.Dict()
    l = numba.typed.List()
    for i in (1.0, 1.0):
        l.append(i)
    d["a"] = l

    return d

print(func())

thank you

authors: 6Hhcy esc stuartarchibald


text:
Type cannot be determined when using 'if a not in b' in list construction

[x] I have tried using the latest released version of Numba
[x] I have included below a minimal working reproducer

In trying to make a replacement for numpy's setxor1d I came across the following error (minimal example below):
@nb.njit()
def test():
    included = np.array([1, 2, 6, 8])
    not_included = [i for i in range(10) if i not in list(included)]
    return not_included

Which results in:
Type of variable '$18compare_op.7.7054' cannot be determined, operation: unary(fn=<built-in function not_>, value=$18compare_op.7.7054), location: <ipython-input-138-e85438f982c0> (4)
Which does not occur when the 'not' statement (in if i not in list(included)]) is not there
I could get around this by instead doing:
@nb.njit()
def test():
    included = np.array([1, 2, 6, 8])
    not_included = [i for i in range(10) if (i in list(included)) is False]
    return not_included

Which is not very pretty.

@LucIJspeert thanks for reporting this! I can reproduce it. It seems like the not doesn't work properly in the list comprehension context.

authors: LucIJspeert esc


text:
Numba error

NotImplementedError                       Traceback (most recent call last)
~.conda\envs\vdp\lib\site-packages\numba\errors.py in new_error_context(fmt_, *args, **kwargs)
716     try:
--> 717         yield
718     except NumbaError as e:
~.conda\envs\vdp\lib\site-packages\numba\lowering.py in lower_block(self, block)
259                                    loc=self.loc, errcls_=defaulterrcls):
--> 260                 self.lower_inst(inst)
261
~.conda\envs\vdp\lib\site-packages\numba\lowering.py in lower_inst(self, inst)
302             ty = self.typeof(inst.target.name)
--> 303             val = self.lower_assign(ty, inst)
304             self.storevar(val, inst.target.name)
~.conda\envs\vdp\lib\site-packages\numba\lowering.py in lower_assign(self, ty, inst)
464         elif isinstance(value, ir.Expr):
--> 465             return self.lower_expr(ty, value)
466
~.conda\envs\vdp\lib\site-packages\numba\lowering.py in lower_expr(self, resty, expr)
950             castval = self.context.cast(self.builder, val, ty, fty)
--> 951             res = impl(self.builder, (castval,))
952             res = self.context.cast(self.builder, res, signature.return_type,
~.conda\envs\vdp\lib\site-packages\numba\targets\base.py in call(self, builder, args, loc)
1131     def call(self, builder, args, loc=None):
-> 1132         res = self._imp(self._context, builder, self._sig, args, loc=loc)
1133         self._context.add_linking_libs(getattr(self, 'libs', ()))
~.conda\envs\vdp\lib\site-packages\numba\targets\base.py in wrapper(*args, **kwargs)
1156             kwargs.pop('loc')     # drop unused loc
-> 1157             return fn(*args, **kwargs)
1158
~.conda\envs\vdp\lib\site-packages\numba\targets\imputils.py in wrapper(context, builder, sig, args)
333             func(context, builder, sig, args,
--> 334                 _IternextResult(context, builder, pairobj))
335             if ref_type == RefType.NEW:
~.conda\envs\vdp\lib\site-packages\numba\targets\iterators.py in iternext_zip(context, builder, sig, args, result)
109         with builder.if_then(is_valid):
--> 110             srcres = call_iternext(context, builder, srcty, iterobj)
111             is_valid = builder.and_(is_valid, srcres.is_valid())
~.conda\envs\vdp\lib\site-packages\numba\targets\imputils.py in call_iternext(context, builder, iterator_type, val)
368     iternext_impl = context.get_function('iternext', iternext_sig)
--> 369     val = iternext_impl(builder, (val,))
370     pairobj = context.make_helper(builder, pair_type, val)
~.conda\envs\vdp\lib\site-packages\numba\targets\base.py in call(self, builder, args, loc)
1131     def call(self, builder, args, loc=None):
-> 1132         res = self._imp(self._context, builder, self._sig, args, loc=loc)
1133         self._context.add_linking_libs(getattr(self, 'libs', ()))
~.conda\envs\vdp\lib\site-packages\numba\targets\base.py in wrapper(*args, **kwargs)
1156             kwargs.pop('loc')     # drop unused loc
-> 1157             return fn(*args, **kwargs)
1158
~.conda\envs\vdp\lib\site-packages\numba\targets\imputils.py in wrapper(context, builder, sig, args)
333             func(context, builder, sig, args,
--> 334                 _IternextResult(context, builder, pairobj))
335             if ref_type == RefType.NEW:
~.conda\envs\vdp\lib\site-packages\numba\targets\arrayobj.py in iternext_array(context, builder, sig, args, result)
292         # TODO
--> 293         raise NotImplementedError("iterating over %dD array" % arrayty.ndim)
294
NotImplementedError: iterating over 2D array
During handling of the above exception, another exception occurred:
LoweringError                             Traceback (most recent call last)
 in
49 support_domain = 16
50
---> 51 mvs.plot_photoconsistency_along_ray(image0, image1, camera0, camera1, point3D, pc_func, support_domain)
~\Documents\Uni\Visual Data Processing\mvs.py in plot_photoconsistency_along_ray(image0, image1, camera0, camera1, point3D, pc_func, support_domain)
379     # Shoot a ray from camera0 through the pixel. Walk along it in image space (of image1) and compute photo consistency.
380     pixels, photo_consistency = compute_photo_consistency_along_ray(
--> 381         image0, image1, camera0, camera1, pixel0, pc_func, support_domain)
382
383     if len(pixels) == 0:
~\Documents\Uni\Visual Data Processing\mvs.py in compute_photo_consistency_along_ray(image0, image1, camera0, camera1, pixel0, photo_consistency_function, support_domain)
291         support0, support1 = get_support_domains_no_bounds_check(
292             image0, image1, pixel0, pixel1, support_domain)
--> 293         photo_consistency = photo_consistency_function(support0, support1)
294
295         pixels.append(pixel1)
~.conda\envs\vdp\lib\site-packages\numba\dispatcher.py in _compile_for_args(self, *args, **kws)
418                     e.patch_message('\n'.join((str(e).rstrip(), help_msg)))
419             # ignore the FULL_TRACEBACKS config, this needs reporting!
--> 420             raise e
421
422     def inspect_llvm(self, signature=None):
~.conda\envs\vdp\lib\site-packages\numba\dispatcher.py in _compile_for_args(self, *args, **kws)
351                 argtypes.append(self.typeof_pyval(a))
352         try:
--> 353             return self.compile(tuple(argtypes))
354         except errors.ForceLiteralArg as e:
355             # Received request for compiler re-entry with the list of arguments
~.conda\envs\vdp\lib\site-packages\numba\compiler_lock.py in _acquire_compile_lock(*args, **kwargs)
30         def _acquire_compile_lock(*args, **kwargs):
31             with self:
---> 32                 return func(*args, **kwargs)
33         return _acquire_compile_lock
34
~.conda\envs\vdp\lib\site-packages\numba\dispatcher.py in compile(self, sig)
766             self._cache_misses[sig] += 1
767             try:
--> 768                 cres = self._compiler.compile(args, return_type)
769             except errors.ForceLiteralArg as e:
770                 def folded(args, kws):
~.conda\envs\vdp\lib\site-packages\numba\dispatcher.py in compile(self, args, return_type)
75
76     def compile(self, args, return_type):
---> 77         status, retval = self._compile_cached(args, return_type)
78         if status:
79             return retval
~.conda\envs\vdp\lib\site-packages\numba\dispatcher.py in _compile_cached(self, args, return_type)
89
90         try:
---> 91             retval = self._compile_core(args, return_type)
92         except errors.TypingError as e:
93             self._failed_cache[key] = e
~.conda\envs\vdp\lib\site-packages\numba\dispatcher.py in _compile_core(self, args, return_type)
107                                       args=args, return_type=return_type,
108                                       flags=flags, locals=self.locals,
--> 109                                       pipeline_class=self.pipeline_class)
110         # Check typing error if object mode is used
111         if cres.typing_error is not None and not flags.enable_pyobject:
~.conda\envs\vdp\lib\site-packages\numba\compiler.py in compile_extra(typingctx, targetctx, func, args, return_type, flags, locals, library, pipeline_class)
526     pipeline = pipeline_class(typingctx, targetctx, library,
527                               args, return_type, flags, locals)
--> 528     return pipeline.compile_extra(func)
529
530
~.conda\envs\vdp\lib\site-packages\numba\compiler.py in compile_extra(self, func)
324         self.state.lifted = ()
325         self.state.lifted_from = None
--> 326         return self._compile_bytecode()
327
328     def compile_ir(self, func_ir, lifted=(), lifted_from=None):
~.conda\envs\vdp\lib\site-packages\numba\compiler.py in _compile_bytecode(self)
383         """
384         assert self.state.func_ir is None
--> 385         return self._compile_core()
386
387     def _compile_ir(self):
~.conda\envs\vdp\lib\site-packages\numba\compiler.py in _compile_core(self)
363                 self.state.status.fail_reason = e
364                 if is_final_pipeline:
--> 365                     raise e
366         else:
367             raise CompilerError("All available pipelines exhausted")
~.conda\envs\vdp\lib\site-packages\numba\compiler.py in _compile_core(self)
354             res = None
355             try:
--> 356                 pm.run(self.state)
357                 if self.state.cr is not None:
358                     break
~.conda\envs\vdp\lib\site-packages\numba\compiler_machinery.py in run(self, state)
326                     (self.pipeline_name, pass_desc)
327                 patched_exception = self._patch_error(msg, e)
--> 328                 raise patched_exception
329
330     def dependency_analysis(self):
~.conda\envs\vdp\lib\site-packages\numba\compiler_machinery.py in run(self, state)
317                 pass_inst = _pass_registry.get(pss).pass_inst
318                 if isinstance(pass_inst, CompilerPass):
--> 319                     self._runPass(idx, pass_inst, state)
320                 else:
321                     raise BaseException("Legacy pass in use")
~.conda\envs\vdp\lib\site-packages\numba\compiler_lock.py in _acquire_compile_lock(*args, **kwargs)
30         def _acquire_compile_lock(*args, **kwargs):
31             with self:
---> 32                 return func(*args, **kwargs)
33         return _acquire_compile_lock
34
~.conda\envs\vdp\lib\site-packages\numba\compiler_machinery.py in _runPass(self, index, pss, internal_state)
279             mutated |= check(pss.run_initialization, internal_state)
280         with SimpleTimer() as pass_time:
--> 281             mutated |= check(pss.run_pass, internal_state)
282         with SimpleTimer() as finalize_time:
283             mutated |= check(pss.run_finalizer, internal_state)
~.conda\envs\vdp\lib\site-packages\numba\compiler_machinery.py in check(func, compiler_state)
266
267         def check(func, compiler_state):
--> 268             mangled = func(compiler_state)
269             if mangled not in (True, False):
270                 msg = ("CompilerPass implementations should return True/False. "
~.conda\envs\vdp\lib\site-packages\numba\typed_passes.py in run_pass(self, state)
378             state.library.enable_object_caching()
379
--> 380         NativeLowering().run_pass(state) # TODO: Pull this out into the pipeline
381         lowered = state['cr']
382         signature = typing.signature(state.return_type, *state.args)
~.conda\envs\vdp\lib\site-packages\numba\typed_passes.py in run_pass(self, state)
323                 lower = lowering.Lower(targetctx, library, fndesc, interp,
324                                        metadata=metadata)
--> 325                 lower.lower()
326                 if not flags.no_cpython_wrapper:
327                     lower.create_cpython_wrapper(flags.release_gil)
~.conda\envs\vdp\lib\site-packages\numba\lowering.py in lower(self)
177         if self.generator_info is None:
178             self.genlower = None
--> 179             self.lower_normal_function(self.fndesc)
180         else:
181             self.genlower = self.GeneratorLower(self)
~.conda\envs\vdp\lib\site-packages\numba\lowering.py in lower_normal_function(self, fndesc)
218         # Init argument values
219         self.extract_function_arguments()
--> 220         entry_block_tail = self.lower_function_body()
221
222         # Close tail of entry block
~.conda\envs\vdp\lib\site-packages\numba\lowering.py in lower_function_body(self)
243             bb = self.blkmap[offset]
244             self.builder.position_at_end(bb)
--> 245             self.lower_block(block)
246
247         self.post_lower()
~.conda\envs\vdp\lib\site-packages\numba\lowering.py in lower_block(self, block)
258             with new_error_context('lowering "{inst}" at {loc}', inst=inst,
259                                    loc=self.loc, errcls_=defaulterrcls):
--> 260                 self.lower_inst(inst)
261
262     def create_cpython_wrapper(self, release_gil=False):
~.conda\envs\vdp\lib\contextlib.py in exit(self, type, value, traceback)
97                 value = type()
98             try:
---> 99                 self.gen.throw(type, value, traceback)
100             except StopIteration as exc:
101                 # Suppress StopIteration unless it's the same exception that
~.conda\envs\vdp\lib\site-packages\numba\errors.py in new_error_context(fmt_, *args, **kwargs)
723         from numba import config
724         tb = sys.exc_info()[2] if config.FULL_TRACEBACKS else None
--> 725         six.reraise(type(newerr), newerr, tb)
726
727
~.conda\envs\vdp\lib\site-packages\numba\six.py in reraise(tp, value, tb)
667         if value.traceback is not tb:
668             raise value.with_traceback(tb)
--> 669         raise value
670
671 else:
LoweringError: Failed in nopython mode pipeline (step: nopython mode backend)
iterating over 2D array
File "", line 6:
def photo_consistency_SSD(support0, support1):

SS = 0
for it, jt in zip (support0, support1):
^
[1] During: lowering "$16.2 = iternext(value=$phi16.1)" at  (6)

This should not have happened, a problem has occurred in Numba's internals.
You are currently using Numba version 0.46.0.
Please report the error message and traceback, along with a minimal reproducer
at: https://github.com/numba/numba/issues/new
If more help is needed please feel free to speak to the Numba core developers
directly at: https://gitter.im/numba/numba
Thanks in advance for your help in improving Numba!

Thanks for the report. Please could you provide more information about what caused this problem:

The code that you were running (so we can just do python bug.py to reproduce the problem).
Any data needed to run the code.

Once we have a reproducer someone can take a look and work on a fix. Thanks for your help.

Thanks for the report. Please could you provide more information about what caused this problem:

The code that you were running (so we can just do python bug.py to reproduce the problem).
Any data needed to run the code.

Once we have a reproducer someone can take a look and work on a fix. Thanks for your help.

Closing this issue due to lack of information. If more information becomes available please add it and reopen the issue. Thanks.

Closing this issue due to lack of information. If more information becomes available please add it and reopen the issue. Thanks.

authors: Lzwetsloot stuartarchibald


text:
Fix performance of 2d*2d np.dot() on vector arguments

While it is common to represent vectors as 1-d Numpy arrays, some people prefer the more mathematically correct 2-d representation (either (n, 1) or (1, n)). Numba considered np.dot() with such arguments as a regular matrix * matrix product, which is pessimal. This PR selects the optimal implementation at runtime, to fix the performance discrepancy with Numpy.

This code ensures that a missed optimisation opportunity is now performed. The sample code that displayed the performance problem is now considerably faster and running at the expected speed against this branch on my local machine. The additional test coverage seems adequate for the additions made.
Many thanks for the patches. +1 from me.

authors: pitrou stuartarchibald


text:
Make C++ extensions compile with correct compiler

Some extension files are C++ but have .c extensions. GCC will compile these
as C++, but clang will not.

Accepted the suggestion. Might be worth extending the formatting from llvmlite to numba.


text:
init system for startup and interactive?

Is your feature request related to a problem? Please describe.
Exiting nix develop shell leaves running processes.

Describe the solution you'd like
For interactive and startup sections, it would be great to be able to leverage some small init system that automatically reaps child processes.

Describe alternatives you've considered
Adding traps like here, but still not easy to get going right always, and some programs don't support daemon mode out of the box:
https://github.com/numtide/devshell/blob/7033f64dd9ef8d9d8644c5030c73913351d2b660/tests/extra/services.postgres.nix#L20

Additional context

What method do you use to start postgres?
Usually, I have a Procfile that starts postgres, the backend and the frontend, and executed by foreman or hivemind. That lives in a shell of its own.

The plugin.

For files I created a files.services option using s6.
If there is any interest, I can port it to a stand-alone version and open a PR.
Basically,

it adds s6 to devshell packages and startup
for every files.services.{name} = true

create a $PRJ_DATA_DIR/services/{name}/run  # start script
create a $PRJ_DATA_DIR/log/{name}                 # logs dir

Is s6, the best tool for the job? :shrug:
I would be happy to hear about other options, comparisons, etc.
When we should stop?
Since devshell makes my env seamless, :love_letter: thank you all :love_letter:, I always have a shell open, but there is no 'main' shell terminal (tab, pane, window), I just close them and open another.
Know bug:
Autostart isn't default, because auto start s6 with direnv blocks first shell, but doesn't happen after shell has been initialized

Does it allow this workflow?

Is the standard workflow, but devshell-services is called initSvcs, there is an option to enable auto start but it freezes your first shell... The major bug I've found isn't start services but stop them with stopSvcs.

Does it integrate properly with the postgres

I never tried, I'm running Postgres as docker service, there is no such thing as integration, you just need to specify a service like. files.services.postgres = true; and initSvcs will run 'postgres' as start command and 'postgres-finish' as stopping command.
In most of cases we need more arguments for init, usually, I do something like this (one of actual configurations):
{
  # files.alias is a helper to devshell.commands = [ { name = "apiSVC"; command = "cd ..."; } ];
  # API
  files.service.apiSVC      = true;  # it configures s6-suverpisor files for apiSVC
  files.alias.apiSVC        = ''cd api; docker compose up'';  # stdout goes to .data/log/{name}/current
  files.alias.apiSVC-finish = ''cd api; docker compose stop'';
  # frontend
  files.alias.webSVC    = "cd webapp; npm run serve";
  files.services.webSVC = true;  # it configures s6-suverpisor files for webSVC
  # the actual config has also ngrok (to espose 8080 to the world),
  # a docker api logger, because stdout of docker compose up have log for both api and postgres
  # my workflow involves a cloud workers, I created a service notify status with 'notify-desktop'
  # I could create a 'pomodoro' service to notify start and stops
}

I'm not sure how does it translate to TOML but should work since no function were called ;-)
And again, I'm using s6 and not sure if it is the best tool for the job, recommendation are welcome
Is far from perfect (like stop bugs) but works

I've experimented with it and it looks good, but s6 is indeed giving some headaches. https://github.com/cruel-intentions/devshell-files/pull/5 fixes some of them, but still not perfect. For example, if running a postgres inside my IDE, exiting the IDE will remap s6 to be direct child of PID 1.
I'm attempting with tini, things seem to be more smooth.

if running a postgres inside my IDE, exiting the IDE will remap s6 to be direct child of PID 1

As I can see our cases are different,

You start it from IDE expecting it to die with IDE.
I start it from shell hoping that it would not die even if I close that terminal.

Anyway there are some bugs, running stopSvcs doesn't always stop all process.
If it worked, and you experienced some stop issues, we are on same page :)
There are two possibilities:

I'm not using it correctly
S6 isn't designed for our use cases
Off by one errors.

I'm attempting with tini, things seem to be more smooth.

Thank you, I will look at it.
Today, when thinking about how to make it autostart without block shell, I considered systemd-run --user initSvcs, to make systemd start s6, but if I will use systemd why not just use it systemd for anythiing else :thinking:
Curiously, I'm trying to an option to intentionally make it child of pid 1 and don't block direnv, while you're saying that unintentionally it is child of pid 1.

As I can see our cases are different,

Yes, so it seems. I borrowed some ideas from here and there but I'm now using just devshell + a couple of customizations based on tini. It's making me very happy now, and I think the main specific point of enhancement in this issue is what I already explained in https://github.com/numtide/devshell/issues/170#issuecomment-1108382885.
Now that I managed to not start services when doing nix-shell, I get proper direnv integration and services autostart when the IDE is asked to do so, no matter if 0, 1 or 2 shells are open. 😊
I'll open a discussion to explain how I managed to do it, to avoid going more off-topic here.

Summary:
mlvzk
#35 PR using tmux
blaggacao
#47 suggest glorious
#72 similar issue
Suggest Nix RFC 0078
zimbatm
Is using foreman or hivemind
hugosenari
Is using S6 or S6-RC
yajo
Is using tini
uningan
Suggest nix-processmgmt

chvp
#253 PR using Honcho

When we should stop?
Since devshell makes my env seamless, :love_letter:thank you all :love_letter:, I always have a shell open, but there is no 'main' shell terminal (tab, pane, window), I just close them and open another.

Yesterday I was playing with this like:

Every time we run activation script (config.devshell.startup) I link /proc/$PID/comm to $PRJ_DATA_DIR/procs/$PID

SESSION_PID=$$
PARENT_PID=$PPID
while grep -q direnv /proc/$PARENT_PID/comm
do
  SESSION_PID=$(ps -o ppid= $PARENT_PID|tr -d \[:space:\])
  PARENT_PID=$SESSION_PID
done

ln -s /proc/$SESSION_PID/comm $PRJ_DATA_DIR/procs/$SESSION_PID &>/dev/null

There is a service that remove broken links and stop all services if $PRJ_DATA_DIR/procs/ is empy

# Stop services when all registered procs died
while true
do
  sleep 1
  # delete dead procs link
  find $PRJ_DATA_DIR/procs/ -xtype l -delete
  # stop services if folder is empty
  find $PRJ_DATA_DIR/procs/ -type  d -empty -exec stopSvcs \;
done

Possible bug:
$PID is $$ if nix develop
$PID is $PPID of $PPID if is direnv (tested with fish)

@zimbatm now that #253 is merged, can we close this?

Hello. I've been testing the new serviceGroups feature. It doesn't solve the problem that tini solves.
My use case is:

Provide a dev env for our devs.
They use VSCode.
The services are launchable with a tasks.json file
You close VSCode, and all services shut down automatically.

The important part (num. 4) is not achieved with Honcho. It lets the postgres service run although the parent VSCode process is stopped.
With tini, I launch the process like this and it solves point 4:
exec ${tini}/bin/tini -sp SIGTERM -- start-postgres

So IMHO is a more straightforward way to do it.
Anyway, it's not a problem because the change is backwards-compatible. I just wanted to point out why I won't use it, and help others that come here.

I'm not sure how VSCode tasks work, but if honcho is launched from VSCode, I would expect it to be killed when VSCode is closed?

Well, that's what I expect too. However, with Honcho it does work with Mailhog, but not with Postgres. It seems there's something else involved in that. For example, with tini, you do need to pass -s (subreaper) for this to work. Otherwise, sometimes the process is reassigned to the parent PID of VSCode instead of being reaped.

Ah yeah, processes managed by honcho shouldn't daemonize.

I was launching start-postgres from https://github.com/numtide/devshell/blob/f9238ec3d75cefbb2b42a44948c4e8fb1ae9a205/extra/services/postgres.nix#L35-L39
It's weird that these 2 systems provided are incompatible.
Wouldn't it be easier to just switch to tini, which supports the same use case as honcho, but also the subreaper case? 🤔

I wouldn't say it supports the same use case. As far as I can tell, tini runs one command only, while honcho is in the same class of tools as e.g. foreman, which consume Procfile's to run multiple processes and show their output interleaved.

I was trying use tini as subreaper (adoption of grandchildren if parent process dies) and it didn't worked
my actual tree is systemd (pid1) -> s6-svc -> s6-supervisor -> bash -> inotifywait
then I tested it two ways
systemd (pid1) -> s6-svc -> s6-supervisor -> tini -> bash -> inotifywait
systemd (pid1) -> tini -> s6-svc -> s6-supervisor -> bash -> inotifywait
inotifywait allways end as child of systemd, anyway I left this feature in the my code just in case.
Also tested changing PGID (process group id) but it only works with TTY, not in background process, tested if session id, to kernel auto send signal HUP to childs, but no lucky. Maybe tini works for you because VSCode is the TTY/Session Parent/Group Parent.
Fixed with  trap 'kill -15 $(ps --ppid '$$' -o pid=|tr "\\n" " ")' EXIT, before start inotifywait, since I can't exec inotifywait (make it direct child of tini/S6)
Also did a test with unshare (linux namespaces) using unshare --pid --fork --map-root-user myBashScript where I tested with tini. It works but has some drawbacks Iike dbus communication of my service stopped working (maybe because it is pid based), my httpd service worked well. Seems that I was half way to create a container. Maybe it would be an option for #81 #92

Did you add the tini flags I mentioned in https://github.com/numtide/devshell/issues/170#issuecomment-1621591019?

Did you add the tini flags I mentioned in #170 (comment)?

Yes :confounded:, actually copy and pasted directly from that command,
I don't need exec because is default in execline (hence the name :wink:  )

Weird.. maybe the subprocess you want to reap needs a different termination signal?

authors: Yajo chvp hugosenari yajo zimbatm

repo: numtide/devshell


text:
Menu not appear

Hello,
I installed automatic1111 and It wrk well. I follow instruction of installation but menu not appear. I try to reboot server and menu not appear.
Is there anything I can do to see if there is an error?

Hye, sorry about that ,
Can you tell me more about installation?
Python version?
Did you use the 'sd.webui.zip', for installation?

Yes, the bark integration is broken.  I just tried a clean install of SD webui 1.0-pre zip with all the updates to 1.5.2 in a completely separate folder and when trying to activate the extension with the bark update from a few days ago, I'm getting this console error:
`*** Error running install.py for extension D:\sd.webui-2\webui\extensions\sd-wav2lip-uhq.
*** Command: "D:\sd.webui-2\system\python\python.exe" "D:\sd.webui-2\webui\extensions\sd-wav2lip-uhq\install.py"
*** Error code: 1
*** stdout: Installing wav2lip_uhq requirement: dlib-bin
*** Installing wav2lip_uhq requirement: opencv-python
*** Installing wav2lip_uhq requirement: pillow
*** Installing wav2lip_uhq requirement: librosa==0.10.0.post2
*** Installing wav2lip_uhq requirement: opencv-contrib-python
*** Installing wav2lip_uhq requirement: git+https://github.com/suno-ai/bark.git

*** stderr: Traceback (most recent call last):
***   File "D:\sd.webui-2\webui\extensions\sd-wav2lip-uhq\install.py", line 10, in
***     launch.run_pip(f"install {lib}", f"wav2lip_uhq requirement: {lib}")
***   File "D:\sd.webui-2\webui\modules\launch_utils.py", line 136, in run_pip
***     return run(f'"{python}" -m pip {command} --prefer-binary{index_url_line}', desc=f"Installing {desc}", errdesc=f"Couldn't install {desc}", live=live)
***   File "D:\sd.webui-2\webui\modules\launch_utils.py", line 113, in run
***     raise RuntimeError("\n".join(error_bits))
*** RuntimeError: Couldn't install wav2lip_uhq requirement: git+https://github.com/suno-ai/bark.git.
*** Command: "D:\sd.webui-2\system\python\python.exe" -m pip install git+https://github.com/suno-ai/bark.git --prefer-binary
*** Error code: 2
*** stdout: Collecting git+https://github.com/suno-ai/bark.git
***   Cloning https://github.com/suno-ai/bark.git to c:\users\user\appdata\local\temp\pip-req-build-3328bzgg
***   Resolved https://github.com/suno-ai/bark.git to commit 95c9b43f20f6cede5dd4a36b8cfcc53e0cf53d39
***   Installing build dependencies: started
***   Installing build dependencies: finished with status 'done'
***   Getting requirements to build wheel: started
***   Getting requirements to build wheel: finished with status 'done'

*** stderr:   Running command git clone --filter=blob:none --quiet https://github.com/suno-ai/bark.git 'C:\Users\user\AppData\Local\Temp\pip-req-build-3328bzgg'
*** ERROR: Exception:
*** Traceback (most recent call last):
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\cli\base_command.py", line 180, in exc_logging_wrapper
***     status = run_func(*args)
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\cli\req_command.py", line 248, in wrapper
***     return func(self, options, args)
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\commands\install.py", line 377, in run
***     requirement_set = resolver.resolve(
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\resolution\resolvelib\resolver.py", line 73, in resolve
***     collected = self.factory.collect_root_requirements(root_reqs)
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\resolution\resolvelib\factory.py", line 491, in collect_root_requirements
***     req = self._make_requirement_from_install_req(
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\resolution\resolvelib\factory.py", line 453, in _make_requirement_from_install_req
***     cand = self._make_candidate_from_link(
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\resolution\resolvelib\factory.py", line 206, in _make_candidate_from_link
***     self._link_candidate_cache[link] = LinkCandidate(
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\resolution\resolvelib\candidates.py", line 293, in init
***     super().init(
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\resolution\resolvelib\candidates.py", line 156, in init
***     self.dist = self._prepare()
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\resolution\resolvelib\candidates.py", line 225, in _prepare
***     dist = self._prepare_distribution()
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\resolution\resolvelib\candidates.py", line 304, in _prepare_distribution
***     return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True)
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\operations\prepare.py", line 538, in prepare_linked_requirement
***     return self._prepare_linked_requirement(req, parallel_builds)
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\operations\prepare.py", line 653, in _prepare_linked_requirement
***     dist = _get_prepared_distribution(
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\operations\prepare.py", line 69, in _get_prepared_distribution
***     abstract_dist.prepare_distribution_metadata(
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\distributions\sdist.py", line 48, in prepare_distribution_metadata
***     self._install_build_reqs(finder)
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\distributions\sdist.py", line 118, in _install_build_reqs
***     build_reqs = self._get_build_requires_wheel()
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\distributions\sdist.py", line 95, in _get_build_requires_wheel
***     return backend.get_requires_for_build_wheel()
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_internal\utils\misc.py", line 697, in get_requires_for_build_wheel
***     return super().get_requires_for_build_wheel(config_settings=cs)
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_vendor\pyproject_hooks_impl.py", line 166, in get_requires_for_build_wheel
***     return self._call_hook('get_requires_for_build_wheel', {
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_vendor\pyproject_hooks_impl.py", line 321, in _call_hook
***     raise BackendUnavailable(data.get('traceback', ''))
*** pip._vendor.pyproject_hooks._impl.BackendUnavailable: Traceback (most recent call last):
***   File "D:\sd.webui-2\system\python\lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 77, in build_backend
***     obj = import_module(mod_path)
***   File "importlib_init.py", line 126, in import_module
***   File "", line 1050, in _gcd_import
***   File "", line 1027, in _find_and_load
***   File "", line 992, in _find_and_load_unlocked
***   File "", line 241, in _call_with_frames_removed
***   File "", line 1050, in _gcd_import
***   File "", line 1027, in _find_and_load
***   File "", line 1006, in _find_and_load_unlocked
***   File "", line 688, in _load_unlocked
***   File "", line 883, in exec_module
***   File "", line 241, in call_with_frames_removed
***   File "C:\Users\user\AppData\Local\Temp\pip-build-env-b7bzcumx\overlay\Lib\site-packages\setuptools_init.py", line 15, in
***     import setuptools.version
***   File "C:\Users\user\AppData\Local\Temp\pip-build-env-b7bzcumx\overlay\Lib\site-packages\setuptools\version.py", line 1, in
***     from .importlib import metadata
***   File "C:\Users\user\AppData\Local\Temp\pip-build-env-b7bzcumx\overlay\Lib\site-packages\setuptools_importlib.py", line 45, in
***     import importlib.metadata as metadata  # noqa: F401
***   File "importlib\metadata_init.py", line 17, in
***   File "importlib\metadata_adapters.py", line 3, in
***   File "email\message.py", line 15, in
***   File "email\utils.py", line 29, in
***   File "socket.py", line 51, in
*** ModuleNotFoundError: No module named '_socket'
*`

Hello
ok, thanks for report. I think that came from 3.10.6 python version and bark. For the moment i recommand to not use sd.webui.zip.. sorry about that
if you want, follow this :

Install python 3.10.11
Install ffmpeg
remove your stable diffusion folder
then :
cd D:\ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git cd stable-diffusion-webui python -m venv venv
then edit file webui-user.bat and write this:

@echo off
set PYTHON="path to your python 3.10.11 python exe"  for me => c:\NUMZ\APPS\python-3.10\python.exe
set GIT=
set VENV_DIR=venv
set COMMANDLINE_ARGS=--xformers
call webui.bat
Let me know, if that works for you
Regards

I'll try it in a secondary install, but on my main SD install (the zip one which has a lot of customizations that I can't just blow away), I just used your commit from before the bark integration and it works great.  I don't need bark at this stage, at least not the generic TTS voices - I'm looking at using the voice cloning support, and the repo for TTS Generation WebUI has a lot of features in it.  I need a replacement for ElevenLabs voice cloning.  I also need to be able to chop up video between the audio generation and wav2lip stages anyway, so the one-stop shop method won't work in my scenario.

It's possible to make install with specific commit or stable branche ? Previous from install of bark. Thank for community.

I clone repository on specific commit and It work : https://github.com/golendercaria/wav2lipStable.git
Process on linux server

remove folder sd-wav2lip on stable-diffusion/extension
reboot/reload UI => the wav2lip need to be remove
follow initial instruction with link : https://github.com/golendercaria/wav2lipStable.git
reload UI

For me i need to reload my server.
Commit how work
commit 6967d1a4a782ba04a2a1068e3aeaec6d684c2f3b (HEAD -> master, origin/master)
Author: numz <numzzz@hotmail.com>
Date:   Sun Aug 6 19:15:54 2023 +0200

    update librosa version to 0.10.0

Same here. I'm on an M2 Macbook. It seems to me the offending issue is the installing of dlib-bin. I always get this error:

ERROR: Could not find a version that satisfies the requirement dlib-bin (from versions: none)
ERROR: No matching distribution found for dlib-bin
I tried different methods but so far none of them worked.
It would be great if someone can share the proper way to install this module on an M2 MacBook.

Probably the same issue as in https://github.com/numz/sd-wav2lip-uhq/issues/35  Chek the versions of WebUI

@genglinxiao Hi sorry for that, on Mac you need dlib and not dlib-bin.
To resolve this issue, in the requirements.txt change "dlib-bin" to "dlib".
Let me know :)

@genglinxiao Hi sorry for that, on Mac you need dlib and not dlib-bin. To resolve this issue, in the requirements.txt change "dlib-bin" to "dlib". Let me know :)

Wow, I should have known. And indeed that fixed the issue. Thanks!

authors: BTakacs-Oxit genglinxiao golendercaria jacknoakes numz


text:
Access to an undefined property Illuminate\Database\Eloquent\Model::attribute

Larastan Version: 0.6.6
--level used: 5
Laravel Framework 6.18.43

Description
I'm getting Access to an undefined property Illuminate\Database\Eloquent\Model::$status, it happens only if the model is injected in the __construct method.
Laravel code where the issue was found
OrderController.php
    use App\Order;

    /**
     * @var Order
     */
    protected $orderModel;

    /**
     * @param Order $orderModel
     */
    public function __construct(Order $orderModel){
        $this->orderModel = $orderModel;
    }

In another method I have:
$order = $this->orderModel
            ->with('items')
            ->with('parcels')
            ->find($invoiceId);
$order->status = Order::INCOMPLETE;

It won't happen if I do:
$order = Order::with('items')
            ->with('parcels')
            ->find($invoiceId);
$order->status = Order::INCOMPLETE;

Hi,
Thank you for the report. I can confirm this is a bug. $this->orderModel->with() returns Builder without generic type for the model specified. So the default Model is used.
I can fix this, but I'd also argue that injecting a model instance and then calling find on it does not make much sense. The second example makes more sense.

Fixed with https://github.com/nunomaduro/larastan/commit/957f34a177be441ce1fe5b3457551c9866ed6da8

🐎 6 minutes.

🐎 6 minutes.

After 11PM ❗

authors: LucianoVandi canvural mfn szepeviktor

repo: nunomaduro/larastan


text:
Array key handled as a class

I have this code in my Eloquent Model
    public static function boot()
    {
        parent::boot();

        static::saving(function($model)
        {
        // am saving an array with file data, including file_id in the middleware.
            $current = session()->has('selected-client-file') ? session()->get('selected-client-file') : ['file_id' => 1];
            $model->file_id = $current['file_id'];
        });
    }

When I run php artisan code:analyze, I get an error  Class file_id does not exist.
I am not sure why it is so.

Are you using you latest version?

I have updated to ^0.2 and the issue has been solved. You are doing a wonderful job.

authors: nunomaduro richardkeep


text:
🛑 Admin Page is down

In e896394, Admin Page ($ADMIN_PAGE) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Admin Page is back up in 1308479 after 18 minutes.

repo: nurzhanmarket/upptime


text:
[T3A2][T10-A1]Liu Yuheng

Ready for review

Accepting this PR without a review because another of your PRs for this tutorial was reviewed in detail.


text:
[T5A2][T15-B1]Niveetha Nair

Ready for review
Use Polymorphism
(1) Added a polymorphic isMutating() method to the Command class
(2) Added an Exception to an overriden method [ public CommandResult execute() ]

@Niveetha
You have missed out on the execution of the isMutating() method.


text:
[W6.5][W14-B2]Wong Peng Fai Shannon

Move text input field to bottom of window

@shanwpf
Some comments added. Please ack & close the PR after reading comments.

authors: okkhoy shanwpf


text:
fix: remove unexported method v3 Service interface

Having an unexported method in an interface makes it not possible to implement from a different package
e.g. Trying to create a mock implementation leads to this error:
Type cannot implement 'Service' as it has a non-exported method and is defined in a different package

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (e26318d) 54.30% compared to head (3a81f5d) 54.30%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #150   +/-   ##
=======================================
  Coverage   54.30%   54.30%
=======================================
  Files          20       20
  Lines        1799     1799
=======================================
  Hits          977      977
  Misses        822      822

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@yannickstruyf3 @tuxtof FYI. (For some reason I can't tag you as reviewers)

this method exists in the same file?

listServiceGroups(ctx context.Context, getEntitiesRequest *DSMetadata) (*ServiceGroupListResponse, error)
--

2190 | func (op Operations) listServiceGroups(ctx context.Context, getEntitiesRequest *DSMetadata) (*ServiceGroupListResponse,…

so unclear of the meaning of the error. could you please elaborate on the reason?

/lgtm

authors: codecov-commenter deepakm-ntnx dkoshkin

repo: nutanix-cloud-native/prism-go-client


text:
dma: cleanup dma_{map,unmap}_sg

Instead of using index to traverse sg and iovec, better to use it as
pointers. Its more readable and less prone from coding mistakes.
Also adding unit tests for the same.
Signed-off-by: Swapnil Ingle swapnil.ingle@nutanix.com

Actually there are multiple {map,unmap}_sg test cases in C unit tests which are not in test/py. So I think it's better to have a separate PR handling them along with these.

Sure, if you like.

authors: jlevon swapnili

repo: nutanix/libvfio-user


text:
在微信小程序中 Menu组件自定义icon无效问题 icon插槽

nutui-uniapp 版本号
1.6.8
平台
其他小程序
重现链接
暂无
重现步骤
<template>
	<nut-menu >
        <template #icon>
          <nut-icon name="triangle-down" />
        </template>
        <nut-menu-item v-model="menuValue.value1" :options="menuOption.option2" />
        <nut-menu-item v-model="menuValue.value2" :options="menuOption.option3" />
        <nut-menu-item v-model="menuValue.value3" :options="menuOption.option3" />
	</nut-menu>
</templeate>
<script setup lang="ts">
const menuOption = {
  option2: [
    { text: "全部商品", value: 0 },
    { text: "新款商品", value: 1 },
    { text: "活动商品", value: 2 }
  ],
  option3: [
    { text: "全部商品", value: 0 },
    { text: "新款商品", value: 1 },
    { text: "活动商品", value: 2 }
  ]
};

const menuValue = ref({
  value1: 0,
  value2: 0,
  value3: 0
});
</script>

期望的结果是什么？

实际的结果是什么？

环境信息
No response
其他补充信息
在源代码里面看到，icon插槽排除微信小程序了，是不支持微信小程序吗

看到备注了，不支持小程序

repo: nutui-uniapp/nutui-uniapp