Proposal: propose a way we can drive IPFS adoption with a cool app built on top of it

At the moment, most IPFS apps have issues with adoption, and seem clunky to use.  There are few applications that provide a great user/developer experience.
At any given point in time, there are a high number of dead links on the IPFS subreddit, as there is little incentive for users to replicate and ensure availability the data of other users (outside of altruism).
Assume our goal is to create a less clunky experience where IPFS adds value. We want to drive adoption and show off to people learning about this tech that it could be very useful to the apps they are building. One idea related to this is a video player or image explorer like imgur, where instead of just returning a .png file like most ipfs explorers do, the ipfs app has a nice viewer and user experience.  Another might be related to availability of public data sets like FFHQ (used in StyleGAN) for consistency/immutability of core training datasets across ML projects.
Please write a detailed proposal for an app that we could build on Storj IPFS as a comment in this issue. Here are some questions to answer:
What is your app idea?

What is the function of the application?  How can end users take advantage of available ipfs data?

Why does it benefit from using IPFS?

What is the function of the application?  How does it leverage the unique properties of Storj and IPFS to create a differentiated value proposition for end users?  IPFS is a content-addressed file-system, and Storj is a decentralized backend that can be used to ensure the availability or ‘liveliness’ of IPFS data (at half the price of the big guys).

Who would use it and how?

Who is the target audience? (i.e. developers, individuals with large amounts of personal biometric data, general users, etc.)

How would it be implemented? What tech would you use?

What does it take to build it?  Are there any additional dependencies, technologies, etc. that would compliment the build?

How much would you think it would cost to build this if we funded it?
Target is about $40 an hour via gitcoin bounties.
We will split this bounty between the top 3 proposals we see here.

File Raffle
Imagine two parties:
"IPFS-Storer" wants to store his on IPFS in as many copies possible.
"IPFS-User" is running his node, but needs some incentive to actually store/host anything else besides personal collection of cat pictures.
Solution - a raffle. I am going to pretend that Raffle prizes are going to be sent in Ether, because ETH is cool.
Workflow for IPFS-Storer

Register on a Raffle website.
Upload the file you want people to host. (e.g. Bible.pdf) or just link to it somehow.
Send some ETH to be distributed to Raffle winners.
Set up the raffle. (E.g. Everyone hosting the Bible.pdf at 10:40 GMT has a chance to win 1ETH)

Workflow for IPFS-User

Register on the website to connect your Node with your identity (i.e. ETH address in case you win a raffle).
Check raffle listings. (e.g. 'Oh there will be a raffle checking who is hosting The Bible (hash:xxx) at 10:40GMT Today.')
Upload the file in question on your own IPFS node.
Wait.

Workflow for RaffleService

Periodically check raffle listings.
Once a raffle is due, check eligible entries by looking up which nodes are hosting Bible.pdf at IPFS.
Grab a random number from trusted source and use it to pick a winner from eligible entries.
Send the ETH to the winner by looking up ETH address linked to IPFS node that won the raffle.

Target audience
Casual IPFS users that want to have fun and possibly earn a token amounts of money. The process should be as simple as possible to allow non-technically inclined people to take part.
Casual IPFS users that want to ensure data is stored in more than just one copy.
Incentives
Some thought could be given to incentive structure. E.g. Imagine that chance of winning a raffle increases with each hour for which the file is hosted - thusly preventing folks from just uploading the file seconds before raffle deadline and deleting it afterwards.
Good feature of the raffle in its naive implementation (one copy of file hosted by me = one ticket) is that in case of multiple ongoing raffles with the same prize (e.g. 1ETH each) the most appealing one is the one which file has least number of copies hosted already (i.e. I have the highest chance to win by hosting an additional copy) thusly auto-balancing the system.
IPFS and Storj
People who are interested in low-friction introduction to IPFS can use the proposed service for fun. If someone proves to be a reliable raffle participant, they could be referred to Storj Storage Node program.
Tech and Implementation
Flask webserver for handling business logic (Raffle) - if cryptocurrency/token transfers are involved it would need to interface with Ethereum network.
Dependencies

ETH wallet to handle prize funding/distribution.
IPFS CLI to check who is hosting the file.

I would reckon it could be 600-1200$ judging from typical rates I see on freelancer sites.

Hi,
I don't have a slot available to apply (Start work) to this bounty.  Is it possible to send my proposal and if it gets selected, apply later to get the reward?

Yes, just comment it here, I'll do tips for multiple winners

Incentivized decentralized data storage for decentralized data marketplaces on top of OceanProtocol
Ocean Protocol is an ecosystem for the data economy and associated services, with a tokenized service layer that securely exposes data, storage, compute and algorithms for consumption.
Ocean Protocol mainnet Tethys Beta V1 will be released at the end of Q1 2019, and Its main objective is to kickstart a new data economy by breaking down data silos and equalizing access to data for all through data marketplaces.
As part of its protocol design, Ocean will allow suppliers of all sorts (web2.0 & 3.0) to publish their assets to decentralized tribal communes and tokenize their service value.

However, Ocean currently provides some library implementations to connect with publishers data assets that live on centralized data storage solutions (Azure Storage, Amazon S3, and on-premise). Using IPFS and Storj within the protocol is part of their plans, but there is the need of some kind of application that both minimizes the friction for adoption by web2.0 data providers and enable a true decentralized data storage solution that guarantees data replication and availability.
Solution
Integrate a Storj-IPFS backend solution that ease the implementaton of fully decentralized data marketplaces on top of Ocean Protocol with guaranteed replication, data availability and at half of the price of current centralized alternatives.
Target Audience

Data Marketplaces
Data Providers

Implementation details

Ocean protocol offers a driver interface to integrate other storage solutions to serve data assets on top of the protocol. Even if it is implemented in Python, it is possible to call Go function within storj-ipfs-* from other languages

A UI interface would allow data marketplaces to ease the adoption of web2.0 data providers to publish their assets at a cheaper code.

Ocean Service Execution Agreements (SEAs) already enable certain features such as decentralized access control, Dispute resolution, provenance of service consumption, as well as network rewards and incentives

This backend solution would also implement some incentive structure through smart contracts to allow the split of revenue obtained through Ocean among all replication participants that guarantee data availability (on their IPFS/Storj nodes) of relevant data assets such as data commons.

How much would implement a you think it would cost to build this if we funded it?
Similar bounties published by Ocean Protocol were valued between 4000-10000 PROCN tokens ($0.25 at token launch).

OpenSign
OpenSign was an open-sourced decentralized document signing and notary platform, built with an IPFS backbone, which is no longer maintained. As an individual who loves to work with IPFS, I've built a couple of projects where I've integrated OpenSign and gradually begun to update the platform (moving it away from its existing Embark stack). These can be found here: Encrypton and SignRecord.
This platform allows individuals to upload waivers and legal documents to IPFS and generate provably fair signed hashes from each applicant. It's not unsimilar from current commercial centralized solutions like Docusign. For the legal industry, having verifiable document integrity, while at the same time ensuring that users are able to sign and legally bind themselves to an agreement is a win-win situation.
Why does it benefit from using IPFS?
IPFS and Storj is a fantastic combo (I think we've spoken about this together through the Gitcoin Slack in the past). Offering an affordable, easy-to-use solution to commercial platforms like Docusign is a fantastic offering.
The affordable, decentralized storage of documents is great for a platform like this, and the ability to verify that each and every user has signed the document hash on the blockchain provides greater security to the end-user and the client.
Personally, I know there are times when I show up to hackathons and they complain that they have not received my waiver signature when I'm sure I've signed it. By using a platform like OpenSign, I'd be able to verify my legal standing in a decentralized fashion, ensured by the security of the network. I believe it would have the same applications in the legal industry.
Who would us it and how?
Besides just events, and other individuals who need to have verifiable liability signatures and other legal signatures, there is a large market for a solution like this in the Legal, Medical, and Notary industries.
I'd like to make it as simple as possible to use this tool, by making it so that you don't even need to use MetaMask if you don't want to. By offering keystore generation, I'd offer even non-crypto users easy access to the platform.
I also plan to integrate UPort, so that users can easily link their waiver endorsements directly to their identity.
How would it be implemented?
I'd build the platform with a Vue front-end and compile the static front-end (which I'd deploy directly to IPFS). Then, I'd setup an Express back-end + Vue (TypeScript) front-end where I would embed the static front-end, and built the application around there.
I'd use Solidity for developing the smart contracts.
As for timeline, I'd estimate this to take a little under a month of development, with a testnet demo being deployed before the third week, at the latest. Beyond that time, I'd request reviews before going live on mainnet.
How much do you think it would cost to build this?
Based on a $40/hour estimated rate, I'd predict a development of this size to take anywhere from 20-35 hours, putting the cost of project at $800-$1,400. In the case that I am selected for the bounty, I'd be happy to provide a cost-breakdown, and sign appropriate contractor agreements if necessary.
Happy to further discuss, thanks for the opportunity,
Anish

Community Resources: IPFS Framework for Swarm of Peer Nodes
The Community Resources (CORE) project aims to develop a suite of tools for communities to self-host and maintain common shared resources on a semi-trusted distributed peer network. Each IPFS enabled peer node will also (optionally) be globally connected IPFS to spur adoption and use of IPFS outside the context of just this application and peer swarm. CORE transcends it's needs integrating powerful tools that encourage and empower users to adopt dWeb technologies.
CORE will be crafted simultaneously from both the bottom up (in it's decentralized node architecture) and top down (in easy and intuitive UI for devs and users). Key plug-in features that interface with the node network will include:

A shared  community/public cloud resource: Data, compute, and more. IPFS being the core.
A static page community website (with JAM stack centered design)

An events listing calendar w/ RSVP add/remove capability for the user
A Jobs/Projects/Bounties board

A Federated chat server/client (matrix.org likely)

Eventually Directly Integrated into the static site

A Federated Wiki

Built with tools like Github/Gitlab to enable similar style/flow to create and curate it's content

The kicker: this system will be designed such that intrinsic motivations are the primary incentives to host and serve community resources. The network will maintain itself based on increasing access to features and utility on the network based on your increasing resource contribution to the network. Thus no token of payment/extrinsic value (storj/filecoin) will be required to assure data being redundant and accessible on the community swarm.
We are primarily proposing to receive funding to develop the IPFS architecture as an MVP that these plug-in features will bolt onto.

Why does it benefit from using IPFS? :computer: :spider_web: :computer:

The swarm of semi-trusted peer nodes that are all pubsub'ed to each other will all host the community's shared resources. Thus the more nodes, and more live-time those nodes have, the more robust and redundant the network becomes. IPFS makes the management and sharing of data here very fluid, and revisions of data in the swarm easy to track and authenticate by know swarm members. Tools like OrbitDB make this even more streamlined.

IPNS enables signing of CIDs, as well as messages in general. We propose to use a client-side IPNS key-pair generator based on BIP39 or similar methodology such that (as an optional plug-in to the base framework) a user's profile/login can amount to a brain wallet.

If one inputs the same string into the generator, they will client-side generate a unique static key-pair that can be used to prove to the swarm that they are the respective user associated with that IPNS address.
Open and public meta data hosted on the swarm about that IPNS address can be assigned an all iterations from that user can be signed by their respective private key from any machine they decide to generate it in, on the fly. Thus the UX is much like any central service for login, where account information comes up when they put in the right credential and all iterations on the network are attributed to you based on your IPNS ID. All without any central/single authority/maintainer in the system storing and authenticating user data.
NOTE: Future plug-in integrations can leverage IPLD to easily incorporate any key-signing/user controlled ID utility for this service, such as 3Box or Uport

Nodes can easily open up to the full IPFS network (possibly by default on dedicated installed instances ) to enable adoption of the tech for a global network. Also incentivizes IPFS gateways to be community run at least one per swarm, so more entry points into IPFS in general.

Who would use it and how? :family_man_girl_boy: :family_woman_girl_boy:
To start, the Colorado Blockchain community will pilot and battletest the software throughout development and beyond. The design is such that it will be best suited for 1st and possibly 2nd order socially connected people with a common set of resources they value in hosting for each other on their shared swarm. Much more and they dynamics will start to breakdown in the connective glue of common values and personal reputation among semi-trusted and known peers.
The intrinsic motivation to host a node will be for recognition and clout within the community to start. The peer network can track metrics (on chain possibly?) of peers enabling a leader board of contributing members. This would also highlight to community members that there is no central/outsourced entity  that operates this - your peers do. Impressing that you know the people who operate this service, and can show appreciation to them for it. This will be much further solidified by the (optional) requirement to host and keep-alive a node to post persistent shared data to the network.
The key working example: The community events/jobs/bulletin listings:

To post a listing to the swarm, a node signals to the network that it is requesting a publish and others need to maintain it (signed with IPNS).
On a qwery from a user for that information, the swarm will check to see if the publishing peer is live. If not, the user will not be shown the event listing. If so, and a user clicks to learn more, they will be directed to the live peer.

This enables P2P analytics. A node can track interactions with it's publications, but only when live. They can also E2EE communications with that user if required.
If POST like method is needed (like RSVP to an event) the publishing node now directly records that information, and does not necessarily have to share it with the rest of the swarm (like private guest lists). Again, a win for analytics and privacy for being live.

We would also pilot a community decided "paywall" on content hosted by non-persistent nodes/users. Example: Your chat messages are community hosted for 30 days, and then are garbage collected. If you would like to persist them, you need to run a node that stores your own history and refreshes the content across the network when garbage collected. (Or optionally pay your peers to do it for you via stoj or filecoin plug-ins)
The long-term goal is that we build a solid CORE framework that is easy for any other community to fork and make their own swarm with the plug-in features they collectively desire. We also endeavor to make the framework interoperable in a higher-order community federated network. This is another place the IPFS excels - that all swarms will use a common name space for CIDs, IPNS, and interface to share across any IPLD network. We hope that a nested mesh of swarms develops and communities of communities form around a different sate of core resources and values they share. Further this (kinda in secret) is a way to drive the use of IPFS natively by all community members because it is the best/only way to access these utilities. But once you have a node installed, you also are now native to the global IPFS network! What better way to get adoption, eh?

How would it be implemented? :construction_worker_woman: :construction_worker_man:
There will be two (possibly up to four) methods to run a node, increasing in the level of hardware requirements, commitment to the community, and desired access to features by node hosts:

A [js-ipfs] in-browser node that will (while the community site is loaded) also host and serve minimal components of the community resources - like the website itself. But this instance will not persist data.

(optional) A Browser Extension node that will  be active so long as you have that browser open and access to the swarm network. This will also persist data and maintain more resources.

(optional) A PWA that can be installed and set to run on any device in the background/ Similar functionality to the extension, but now if your device is up and connected at all, you are active.

A Containerized Deploy-able / Install-able Node (go-ipfs + docker/podman). This can persist data, and optionally provide more resources for the community - like a community IPFS gateway, and very high uptime/throughput.

In the context of this proposal, we would identify the js or go IPFS node to develop an MVP. In light of the desire to integrate into a website as quickly as possible, js would likely be the one.

How much do you think it would cost to build this? :money_with_wings:
We hope it is apparent that this is a large undertaking to realize the full vision. We further hope that you see this as a prime opportunity to lay the groundwork for this dream to become a reality.
In scope of an MVP funded through this proposal, we feel that a basic swarm hosting a static site and pubsub methods for the swarm peers would be achievable in a reasonable allotment of time and effort. Although, to be honest, we are not exactly sure what that number is. We are more than happy to discuss this with you (and anyone else interested in this project) at anytime and explore opportunities to collaborate regardless of the level of funding you are able to provide.
:point_right: Join us on Discord here :point_left:
All the best!
Dan + and the CORE team

SoulCap
It's an AR social art platform where you can tokenize, buy and sell "souls." Later on, we'll also add the ability to play interact with (and/or torture 😈) souls.
You can try out the demo so far here (see also: video walk through), see the github here and see a simple pitch deck with the full vision here.
There is also a soul lookup/send soul functionality that is code complete but has not yet been deployed on the live site.

Why would this benefit from IPFS
SoulCap was originally made for the 0x hackathon earlier this year, but we hit a couple of roadblocks that prevented us from taking it to a place we were fully satisfied with in the scope of the hackathon. I believe that Storj/IPFS may be a great solution to one of those roadblocks.
Primarily, we don't want to launch a platform where the core value (users' soul images and/or short clips) were dependent on our servers as a single point of failure. For the hackathon submission we just allowed anyone to host anywhere they wanted, so they wouldn't be dependent SoulCap servers for their soul image to be viewable. We're interested in using Storj/IPFS it as a better solution to this problem and provide a better overall user experience.

Who Would use this and Why
There's 3 different target audiences we're looking at: casual gamers, Snap/Insta artists/influencers, and developers.
For gamers, we believe it's a silly/fun concept and that, when the UI is streamlined, soul play and features come into the mix, that users will have a fun time tokenizing their souls.
For Snapchat and Instagram artists, we think it can be a great way to monetize their art and sell to their audiences.
For developers, we think we can have fun/compelling avatar solution to incorporate into their games and other dApps. And if that avatar images are hosted in a decentralized fashion, it becomes even more appealing.

How Would this be Implemented
We already have some sweet (albeit still WIP) AR filters built out using the JeelizFaceFilter library, and have the contract complete for soul minting, so a user can already create a soul as 721 and put their own image in the URI of the 721 using whatever hosting they choose. Our main work involving Storj IPFS would be to make this process streamlined for the user, so that they do not need to enter the image URL manually into the URI, but rather their image is hosted in a decentralized fashion more seamlessly.
For MVP of soul minting and buying, we also need to complete the store. The original plan to do this was to use 0x and the instant widget, but that product is still not compatible with erc721 yet. If the 0x team does not complete this product feature in the near future we'll either use the asset buyer method on 0x, or maybe switch to OpenSea.
Right now, we also have a fun little discount feature where users who hold ZRX in their wallet can mint souls at a lower cost than those that do not. Since we might be moving off of 0x for the store side of the project, and will incorporating a decentralized storage solution for image hosting, we'll also likely change this discount so that it works with Storj tokens instead of ZRX as a part of this upgrade.
After that we'll be using (mostly) standard HTML5 game development tools to build out the soul torturing game, but for the scope of this bounty we'll focus on the MVP of Soul Capture w/ decentralized hosting + Soul Selling.

How much do you think it would cost to build this?
To finalize the MVP of soul capture and sell (not including the game), I would guess it may be another 60-80 hours. In addition to building out the connections to Storj/IPFS, we want to add a lot more polish to the UX and make soul creation as seamless as possible, make a really pretty store that users can instantly list to and sell on after minting a soul, and also make the collection of AR filters we have to be as compelling and fun as possible (I especially love our draw-your-own soul, but it's a little buggy on mobile and not the easiest to use).
As noted above, the soul torturing game is not included in this estimate, but if we were including it ballpark for the simplest implementation of it would probably be another 80-100 hours. We still think SoulCap is a fun little concept for creators even without the soul torturing game attached, but strive to make the game that will be attached to the souls really fun so it's more than just a create-your-own-collectible.

I think that about covers it for now! There's plenty of other long term plans I could chat about, and am happy to go over more details if there are any questions--just let me know.
Cheers,
Adam

This really is an impressive outline Dan...very well done. 👏

MedPass
Medical passport, lets you upload critical medical information, stores it safely and makes it available in an emergency.
WebApp that stores on IPFS a small file with medical relevant information for emergencies and makes it available on the fly with a QR code. Helping your physician make a faster and better decision. The QR code can be embedded on a bracelet, necklace, tattoo, or even on an implanted on an NFC. A tag will specify that it should be scan in case of an emergency. So scanning the code will give access to the information
I made a working prototype  for the pioneer.app competition where I finish #11 in Americas (non-US) and was also mention at IPFS Weekly 19 blog.
This a small step of what could be a whole ecosystem where you could store your complete medical record.

Why does it benefit from using IPFS?

Owning your data/privacy: your medical information is yours, and with it being encrypted and deployed to a decentralized data storage you have complete control over it.
Robust/Secure: Since the information won't be on a single server, it is protected from single point failures.
Price: Storing big files like tomographies are much more accessible on IPFS, and the maintenance of information, in the long run, is also lower.
Usage: the complexity of the IPFS network would be hidden, making the usage very similar to the already existing applications. Making adoption to the network smother.
Institution agnostic: The application won't discriminate for any medical institution or even countries.

Who would use it and how?
Essentially in the first stages, patients with diseases where specific information is critical for their treatment, diabetics, renal insufficiency, certain drug uses, allergies, etc. Which is not a small number of users.
But as the platform matures and your hole medical records could be available to store, the whole of the population becomes a potential user.
How would it be implemented?
MedPass would be a Dapp, where the front end would be created using React/Redux, the medical information would be store using IPFS or Storj , and a blockchain such as ethereum to store the hash that points to the information.
Overview

The patient access a webpage, where you fill a form with your medical data.
The information will be push and pin to the IPFS network.
The hash will be placed in an ethereum transaction
A QR code will be generated with the transaction
In an emergency, the doctor will scan the QR code
The phone will be will to access the hash inside the transaction.
Information is downloaded from IPFS and displayed.

Building it.
Since the application bones are working it only needs polishing my guess is that with 20h it could be completed. The things that need to be added are.

Buy a domain
Incorporate React front-end
Add ethereum hash storing

Hi, I know its past the expiration date, I wanted to share none the less, hope is not an issue.  Thank you for the space and the initiative, great work.
Feel free to comment and chat with me, any question is welcome.
Thank you.
Santiago.

Thanks to everyone who submitted ideas, there are all super great! I'm compiling them into a list and bringing them to a little panel of storj team & community members. We'll get back with our picks by tomorrow or Wednesday

In any case - I am so impressed by the submission in general :bowing_man: You guys all win in my book :grin:
Thanks for inspiring us @jschiarizzi

@jschiarizzi - what was the conclusion from you and the team on this? :grin:

Thank you so much to everyone who submitted ideas. I sincerely hope you all check out https://tardigrade.io/ and consider building these apps/services when it is live, very soon.
We picked the projects that jumped out at us the most and each will receive 222 Storj tokens. They are all great ideas, but these were what we felt would be the best way to demonstrate simply and usefully who great Storj is. It was super hard to decide. Everyone who commented an idea in this issue (and the few that emailed me directly) will receive IPFS and idea person Kudos on gitcoin.
In order of submission, our picks are:

Open Sign @Anish-Agnihotri
IPFS Swarm @NukeManDan
Soul Cap @polezo

@jschiarizzi
Not sure if relevant but for additional visibility.

Propose A Way We Can Drive IPFS Adoption With A Cool App Built On Top Of It

I'd start from making it easy to get started.
Ability to use IPFS without setting up and managing and updating servers.
https://discuss.ipfs.io/t/is-there-any-other-methods-to-upload-a-file-files-to-ipfs-through-a-web-browser-beside-using-api-port-5001/3143/6

Success!
You are confirmed and officially on the waitlist!

Where is my one-click upload to IPFS?


fix(test) Reenable a couple of template library tests

Signed-off-by: Jerome Simeon<EMAIL_ADDRESS>

Coverage increased (+0.3%) to 95.783% when pulling 2c944cf5eb14c82a7059ccf2fd240c0556c7203b on jeromesimeon:js-tests-unskip into 216bbb4dd97efe478f173da5526647902773dfb1 on accordproject:master.


(PUP-6517) Raise output and backtrace of rescued exception

Previously if execfail method failed to execute the command, it would
try to access the backtrace method on the exception class passed into
the method instead of the backtrace of the rescued exception.
This commit marks the execfail method as deprecated, since it's
confusing more than anything, and modifies the method to rescue the
exception and re-raise the rescued exception message and backtrace. It
also adds tests for the execfail method as previously there were none.

CLA signed by all contributors.


foobot component polls too frequently, cannot configure frequency

Home Assistant release with the issue:

core-ssh:~# hassio ha info
arch: amd64
boot: true
custom: false
image: homeassistant/qemux86-64-homeassistant
ip_address: <IP_ADDRESS>
last_version: 0.94.1
machine: qemux86-64
port: 8123
ssl: true
version: 0.94.1
wait_boot: 600
watchdog: true
Last working Home Assistant release (if known):
Operating environment (Hass.io/Docker/Windows/etc.):
hass.io in VMWare
Component/platform:
https://www.home-assistant.io/components/foobot/
Description of problem:
The component polls Foobot too frequently, no configuration to back off.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
foobot:

Traceback (if applicable):
2019-06-10 19:21:06 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.foobot
2019-06-10 19:21:06 ERROR (MainThread) [homeassistant.components.foobot.sensor] Failed to connect to foobot servers.
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/foobot/sensor.py", line 61, in async_setup_platform
    devices = await client.get_devices()
  File "/usr/local/lib/python3.7/site-packages/foobot_async/__init__.py", line 57, in get_devices
    return (yield from self._get(DEVICE_URL.format(username= self._username)))
  File "/usr/local/lib/python3.7/site-packages/foobot_async/__init__.py", line 165, in _get
    raise FoobotClient.TooManyRequests(resp_text)
foobot_async.FoobotClient.TooManyRequests: {"message":"quota exceeded. Tomorrow is another day"}
2019-06-10 19:21:06 WARNING (MainThread) [homeassistant.components.sensor] Platform foobot not ready yet. Retrying in 180 seconds.

Additional information:

Have you tried scan_interval? The default is every 10 minutes, but you could do something like this I believe:
sensor:
  - platform: foobot
    token: FOOBOT_SECRET_KEY
    username: FOOBOT_USERNAME
    scan_interval:
      minutes: 30


Explore integration of release notes and extension changelogs

It'd be cool to have our release notes and ext change logs on the new welcome page, but how would it look?
cc @misolori

This is just a quick idea, but what if we used the space below getting started and made the getting started tiles scollable?

thanks for this, it can reduce notification noise. Just a feedback though - I rarely get to see Welcome page of vscode. When I open the application there is usually a workspace loaded with a file. And I switch between workspaces from there, that leaves me no chance to see Welcome page.
Also would be nice to have timestamp, read/unread indicator and way to dismiss the updates/changelog.


Docker container issue

I've been using the boiler plate version 3.0.0-alpha.3 for my project.
I still have the raw un-changed version which I used to create a docker container just for testing.
After I convert the app into a docker image successfully and also run it, the logs show 'webpack compiled successfully', but when i try to hit the url (localhost:3000), the browser just keeps loading and loading. It fetches the name of the project right which you can see on the browser tab, but the page never really loads and the browser spinner stops to a blank page after 3-5 mins.
I use this command to create container from image:
docker run -p 3000:3000 -d
Dockerfile:
FROM nonprod.dtr.trusted.visa.com/cybs/base-rhel72

RUN yum install -y nodejs && yum clean all

RUN npm config set proxy null; npm config set https-proxy null; npm config set strict-ssl false;
npm config set registry <corporate_registry>
RUN mkdir -p /usr/src/app

WORKDIR /usr/src/app

COPY package.json /usr/src/app

RUN npm install node-sass --sass-binary-site=<corporate-url>

RUN npm install

COPY . /usr/src/app

EXPOSE 3000

ENTRYPOINT ["npm", "start"]

What could be the issue? Any ideas?
UPDATE:
I tried grabbing the latest code as a new project and creating a docker container and it worked like a charm. Now the only thing left is to find out what significantly changed from version  3.0.0-alpha.3 to the latest version I downloaded today. Help on that would be GREAT! Thanks!

So the new version works fine, but not the old one, I'm not sure what is causing it, there are plenty configurations happening so it's tough to debug what's breaking it since there are no server logs.


Keithley 2000 Typo

The _mode_command function definition in the keithley2000 instrument file is missing a self as its first argument (on line 515 of that file).

@jmittelstaedt, thanks for pointing this out. This is indeed a problem. Do you want to submit a PR?
https://github.com/ralph-group/pymeasure/blob/fb8e6e18c6a93ad867b6638987a976e1061690f7/pymeasure/instruments/keithley/keithley2000.py#L515


MERGE macro leaking into .java files

The MERGE macro name for the merge function defined in Map.drv is not defined if the keys are not reference. So as such, the macro isn't actually a macro in this case and this is introducing a new method named MERGE (all uppercase).
I'm not sure what the name should be in this case TBH.

That should be fixed with 6bacc8990.

That should be fixed with 6bacc8990.


image brightness lost after resize

Hi,
I notice that is image brightness(or sort of ) lost when resize, any idea to fix it ?

Just realized is causing by the golang image/jpeg package, seem like it will lost saturation after encocded, any idea how to solve this ?

Hi,
I've never seen the brightness/saturation decrease of images after processing with Go. Could you provide your test images / code example demonstrating the issue?

hi, here the code and sample image
package main

import (
	"os"
	"image/jpeg"
)

func main() {

	reader, err := os.Open("berry.jpg")

	if err != nil {
		panic(err.Error())
	}

	im, err := jpeg.Decode(reader)

	if err != nil {
		panic(err.Error())
	}

	out, err := os.Create("out.jpg")

	if err != nil {
		panic(err.Error())
	}

	jpeg.Encode(out, im, &jpeg.Options{
		100,
	})
}

after encode, switch the image back and fore to compare, you will see the saturation is lost, the output is darker while original is more dynamic red color.

I had a result look like this after encode from my PC.

here the compare from the site

Thank you for the example,
The given image has Adobe RGB color profile embedded (for example, the GIMP explicitly states so when opening this image). Most images on the web have sRGB color profile. I think that the image/jpeg package doesn't convert the colors to sRGB color space during decoding (which is the default for images without an embedded profile) so the image has dull colors after saving (even when saved as png).
You can try opening an issue in the golang repo.

Seem like not all images is effected when encode.
I had open an Issue  at golang repo.
Thanks !


Add ocamlPackages.{gen,sequence,containers}

Is it common practice to have a maintainer for new packages? I know the linter picks them up, but many packages (>9,000) don't.


[zh]Update security-context.md by replacing the link in docs/tasks/configure-pod-container/security-context/#what-s-next

Update security-context.md by replacing the link in file:
content/zh/docs/tasks/configure-pod-container/security-context.md

issue : https://github.com/kubernetes/website/issues/31411
en PR: https://github.com/kubernetes/website/pull/31413

Thanks. The page was in sync.
/lgtm
/approve


Script Wide Variables issue

It appears that using script wide variables causes the script to not function. It compiles without error but when called in game will not perform any action.
You can actually de-compile a working vanilla script that contains a script wide variable then recompile it without making any changes and it will no longer function.
Here is an example that compiles but does not function
const ScriptName Broken extends ObjectReference

;-- Script Wide Variables ---------------------------------------
int test = 0

Function OnInit()
	test = 5
	Debug.Notification("This text never appears")
EndFunction

Remove the script wide variable and suddenly it does work
const ScriptName Broken extends ObjectReference

Function OnInit()
	Debug.Notification("This text does appears")
EndFunction

Do you have the specific script you were encountering this issue in? There should be no issues with it, but you are using a const on the ScriptName value, which I don't actually know the use of at the moment.

Maybe const means immutable script instance? Then it's not weird as test = 5 attempts to modify it, but I doubt if the code should be compile-able

I'll create an example mod for you when I get a chance.
On Feb 25, 2016 8:24 PM, "SilverIce"<EMAIL_ADDRESS>wrote:

Maybe const means immutable script instance? Then it's not weird as test
= 5 attempts to modify it, but I doubt if the code should be compile-able
—
Reply to this email directly or view it on GitHub
https://github.com/Orvid/Caprica/issues/4#issuecomment-189070361.

Going to be out of town this weekend so probably won't be until next week
On Feb 25, 2016 9:33 PM, "Cole Robinette"<EMAIL_ADDRESS>wrote:

I'll create an example mod for you when I get a chance.
On Feb 25, 2016 8:24 PM, "SilverIce"<EMAIL_ADDRESS>wrote:

Maybe const means immutable script instance? Then it's not weird as test
= 5 attempts to modify it, but I doubt if the code should be compile-able
—
Reply to this email directly or view it on GitHub
https://github.com/Orvid/Caprica/issues/4#issuecomment-189070361.

Hmm actually I just tried things without that const flag and it appears to
be working. Sorry about that. The const flag came from one of the vanilla
scripts I copied and I didn't notice it at all.
On Feb 25, 2016 9:43 PM, "Cole Robinette"<EMAIL_ADDRESS>wrote:

Going to be out of town this weekend so probably won't be until next week
On Feb 25, 2016 9:33 PM, "Cole Robinette"<EMAIL_ADDRESS>wrote:

I'll create an example mod for you when I get a chance.
On Feb 25, 2016 8:24 PM, "SilverIce"<EMAIL_ADDRESS>wrote:

Maybe const means immutable script instance? Then it's not weird as test
= 5 attempts to modify it, but I doubt if the code should be
compile-able
—
Reply to this email directly or view it on GitHub
https://github.com/Orvid/Caprica/issues/4#issuecomment-189070361.

Well, if I was letting you compile without errors then that's an issue, I'll check and see what adding that as an error does.

Trying to do this will now produce an error when you try to assign to a value on a const script.


Update package dependencies

In the last year, there have been some changes on the python environment that must be accounted for:

[ ]  current lock file depends on codecov==2.1.12 which has been removed from pypi, according to https://about.codecov.io/blog/message-regarding-the-pypi-package/ . We should eventually remove this dependency completely.
[ ] dependency on nb-black and jupyterlab should be removed.  These should not be part of the server dictionary.
[ ] current dependency on deprecated triu function from scipy.linalg inside a package requires a specific scipy==1.10.1 dependency.

Although the long-term goal is to do #1168 , increasing the precision of current dependencies should account for most of the issues without requiring major code changes.

Some of these will also aid in fixing #1164


Make master branch protected and PR branch develop

[x] Make 'master' branch protected
[x] Make 'default' branch develop

By making the default branch develop, however we do have a small problem where the landing page if you visit https://github.com/IBM-Swift/Kitura will be develop.

Ok, made the status checks (Travis CI) needing the pass before a merge is allowed into master.


set CI to false by default so initial deploy works

Fixing this here, as we did for the call object demo

Interesting to me that this is a string and not a boolean. Thanks for updating!

Yeah it didn't seem to like the bool previously https://github.com/daily-demos/party-line/pull/26#pullrequestreview-704477055


[ISSUE #6159] fix typos

Make sure set the target branch to develop
What is the purpose of the change
close #6159
Brief changelog
fix typos
Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Codecov Report

Merging #6160 (35739e4) into develop (2dff070) will decrease coverage by 0.07%.
The diff coverage is 57.14%.

@@              Coverage Diff              @@
##             develop    #6160      +/-   ##
=============================================
- Coverage      43.25%   43.18%   -0.07%
+ Complexity      8862     8850      -12
=============================================
  Files           1094     1094
  Lines          77147    77147
  Branches       10063    10063
=============================================
- Hits           33369    33316      -53
- Misses         39616    39663      +47
- Partials        4162     4168       +6

Impacted Files
Coverage Δ

...cketmq/acl/plain/RemoteAddressStrategyFactory.java
89.51% <57.14%> (ø)

...org/apache/rocketmq/common/stats/StatsItemSet.java
41.79% <0.00%> (-8.96%)
:arrow_down:

...a/org/apache/rocketmq/broker/BrokerController.java
43.14% <0.00%> (-3.43%)
:arrow_down:

...ketmq/proxy/grpc/v2/channel/GrpcClientChannel.java
49.07% <0.00%> (-2.78%)
:arrow_down:

...va/org/apache/rocketmq/common/stats/StatsItem.java
50.00% <0.00%> (-2.50%)
:arrow_down:

...he/rocketmq/broker/processor/PopReviveService.java
38.71% <0.00%> (-1.29%)
:arrow_down:

.../apache/rocketmq/store/ha/DefaultHAConnection.java
65.86% <0.00%> (-1.21%)
:arrow_down:

...a/org/apache/rocketmq/store/StoreStatsService.java
33.97% <0.00%> (-1.11%)
:arrow_down:

...cketmq/tieredstore/provider/TieredFileSegment.java
73.88% <0.00%> (-0.75%)
:arrow_down:

...apache/rocketmq/store/queue/BatchConsumeQueue.java
69.67% <0.00%> (-0.55%)
:arrow_down:

... and 14 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Possible to format columns with a function?

Is there a generic way to manipulate data before outputting to the column? Something like this?
{ label: 'Action',
          field: 'actions',
          width: '10%',
          sort: true,
          format (value, row) {
            var X = value.replace('action_', '')
            var N = X.replace(/_/g, ' ')
            return N
          } }

(this works with quasar's q-data-table, but for projects where I don't want to use quasar, this would be super useful)

yeah, readme contains the instructions... but you can just do:
{ label: 'Action',
          width: '10%',
          field: function (row) {
            var X = row.actions.replace('action_', '') //you can get the row value you want here.
            var N = X.replace(/_/g, ' ')
            return N
          } }

closing... please re-open if this doesn't work.

Thanks again!


Installation throws a PermissionError on Windows

Hi there!
I noticed that running the indicated installation command:
> pip install -U git+https://github.com/aplavin/pandasql.git
...resulted in a PermissionError:

PermissionError: [WinError 5] Access is denied: 'C:\Users\aburnett\AppData\Local\Temp\pip-k5bywsvx-uninstall\python\python35\lib\site-packages\pandas\algos.cp35-win_amd64.pyd'

Actually I received the permission error the first time, reran the same command a second time, received the error a second time, ran the command a third time, received a similar error, and reran the command a fourth time before installation completed successfully. It seemed that it was throwing PermissionErrors for various components in the /lib directory.

I'm not sure what fork you installed but it's not supported (at least here).
Use 'pip install pandasql' instead.

@glamp Thank you, Greg!


Restore initial AzContext for New-TestResources

Can confirm. This helps with ctrl+c issue I've been having.

The following pipelines have been queued for testing:java - templatejs - templatenet - templatepython - template You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow


NSwagStudio not autodetecting .NET 5 open API doc via DI properly

In .NET 5.0, it seems there is a new method for registering and serving the open API document through swagger. Now loading this project from NSwagStudio does not work. It does not pick up the injected swagger document service via auto-detection and the manual method seems deprecated. I'm not sure how to use it.
The error we get is No service for type 'NSwag.Generation.IOpenApiDocumentGenerator' has been registered. for
services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("v1", new OpenApiInfo { Title = "MyAPI", Version = "v1" });
});

This is the Swashbuckle registration (now sadly for NSwag the default in .NET 5). This of course does not work with nswagstudio. You need to replace swashbuckle with nswag.aspnetcore if you want to use this in flow in the ui.

Ahhh, I see. I did not realize they were separate projects. Thought there was some direct relationship or partnership. We figured out enough to just use the msbuild generation method and that seems to work well. We were just trying to experiment in nswagstudio to understand all the csharp generator settings. We'll compare features, ease of use, and decide if we want to fully switch to nswag or swagger, but for now it's working with a bit of both.

We figured out enough

but for now it's working with a bit of both

Care to share?
https://xkcd.com/979/


Tasks status not updated in RDS after retry

Tweak FAILURE_PERCENTAGE until you get at least one failure, but a success after retry in the following flow code:
import random

from metaflow import FlowSpec, current, step, retry

class Flow(FlowSpec):

    @step
    def start(self):
        random.seed(1)
        self.next(self.unreliable_step)

    @retry
    @step
    def unreliable_step(self):
        FAILURE_PERCENTAGE = 75
        failure = random.random() < (FAILURE_PERCENTAGE / 100)
        if failure:
            open('nonexistent_file')
        self.next(self.end)

    @step
    def end(self):
        print(f'{current.step_name}()')

if __name__ == '__main__':
    Flow()

It seems that the status on RDS is the one from the first attempt and does not get updated after retries.
However, if the metadata is stored locally (not RDS), the task status is updated correctly.

I am able to duplicate the error.

Thanks for the issue @jcasse. @ferras will have a fix ready for consumption at the soonest. Coincidentally, we discovered the same issue earlier this morning.


fix: repair service worker boot-up with correct configuration

PR Type

[x] Bugfix
What Is the Current Behavior?

Service Worker will boot up with settings from environment.prod.ts regardless of what was provided by environment variables, when index.html caching was enabled.
Issue Number:
Relates to #181
What Is the New Behavior?
nginx provides a minimal index.html response with just the application shell and state transfer containing configuration data.
Does this PR Introduce a Breaking Change?

[ ] Yes
[x] No

Integrated into #313


Significance of score_threshold

What is the significance of score_threshold and how can we set it dynamically?

Hi @AtulyaAgg,
I'd like to help answer your question. Here's how the score_threshold is used:

When we add Routes to the RouteLayer, the utterances associated with them are tokenized and added to the index (embedded in the vector database) associated with the RouteLayer. This is done for a number of Routes, and the result is a numerous utterances embedded in the vector space, each associated with a unique Route.

To see which Route a new utterance belongs to (via RouteLayer.__call__()) we tokenize and embed that new utterance, and determine its pair-wise cosine similarity with the Routes utterances embeddings. Then we keep track of those Route embeddings with cosine similarity in the top_k (default value 5) of all cosine similarities. See RouterLayer._retrieve.

Now suppose the new utterance "I'd like a freebie please" (with regards to offers from some retailer) gives the following highest cosine similarities:

Route   Utterance #
Corresponding   Route Name
Cosine   Similarity with New Utterance

"I'd like   to buy x"
Sales
0.3

"How much   does x cost?"
Sales
0.1

"Do you   sell x?"
Sales
0.2

"Can I   have a freebie?"
Promotions and Offers
0.65

"I'd like   a discount please!"
Promotions and Offers
0.9

In RouterLayer._semantic_classify, you'll see that we group by Route and sum the scores, giving:

Corresponding   Route Name
Total Score

Sales
0.6

Promotions and   Offers
1.55

The top_class is the one with the highest score. In this case "Promotions and Offers".

Finally, the score_threshold comes into play: This is a Route level parameter, and we use it in RouteLayer._pass_threshold()'. In this method, we take the maximum cosine similarity that is associated with the top_class. In this case, the top_class` is "Promotions and Offers" and the maximum cosine similarity it has is 0.9.

If the score_threshold is set to something lower than 0.9, then the similarity to the "Promotions and Offers" utturances is strong enough that we decide the new utterance - "I'd like a freebie please" - does indeed belong to this class/Route.
If score_threshold is greater than or equal to 0.9, then we don't classify the new utterance as "Promotions and Offers", instead we essentially classify it as "Other": We decide that none of the Routes contain utterances similar enough to "I'd like a freebie please", and the Semantic Router essentially ignores it. If you were using the Semantic Router with a chatbot, the upshot is that none of the Routes would be triggered, and the LLM would just respond as normal to "I'd like a freebie please".
So, the threshold essential determines whether we should classify an utterance under the top Route, or not apply a Route to it at all.
You mentioned setting the threshold for the Routes dynamically. There are a few points to mention here:

Each Route has a score_threshold attribute. So, you can set this when defining the Route:

E.g.
politics = Route(
    name="politics",
    utterances=[
        "isn't politics the best thing ever",
        "why don't you tell me about your political opinions",
        "don't you just love the president" "don't you just hate the president",
        "they're going to destroy this country!",
        "they will save the country!",
    ],
    score=0.5,
)

If you don't explicitly specify a score_threshold for a Route, when you add it to the RouteLayer, the default RouteLayer score_threshold is used instead, and this is determined by the chosen encoder associated with that RouteLayer object. This is because we found that different encoders have different optimum thresholds.

We recommend using the RouteLayer.fit() method to optimise/fine-tune thresholds to your specific Routes and their associated utterances. You can see how to do this in 06-threshold-optimization.ipynb. You should see significantly improved performance by doing this.

I hope that helps, please let me know if you have any other questions.

I'll close this shortly unless there are any further questions.

sure @Siraj-Aizlewood thank you so much

You're welcome :-)


windows clipboard not working on WSL 2 - Debian

Environment
Windows:
Win32NT             10.0.19041.0 Microsoft Windows NT 10.0.19041.0
WSL Debian:
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
WSL 2
Linux version 4.19.128-microsoft-standard (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 SMP Tue Jun 23 12:58:10 UTC 2020
Steps to reproduce
Command:        cat ./main.cpp | clip.exe
Trying to copy the content of a file from wsl debian to my windows clipboard.
Expected behavior
Expected to copied the content on the clipboard
Actual behavior
Output:            -bash: clip.exe: command not found

PRETTY_NAME="Debian GNU/Linux 10 (buster)"
Output: -bash: clip.exe: command not found

/dupe #5779 (message)


Chore: flock-dev edit, added udpated ver 1.20

Description

flock-dev edit, added udpated ver 1.20

Testing required outside of automated testing?

[ ] Not Applicable

Screenshots (if appropriate):

[ ] Not Applicable

Rollback / Rollforward Procedure

[ ] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

:tada: This PR is included in version 3.11.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Adds ISL model

Issue #, if available:
#250
Also, partial work on #109 in that this PR has new range implementations that will eventually replace the existing range implementations.
Description of changes:
Adds a model for Ion Schema. Currently the model is opt-in only—gated by the @ExperimentalIonSchemaModel annotation—and subject to breaking changes.
A few questions/comments for reviewers:

I have decided to use the term "Type Argument" instead of "type reference" to refer to the thing that you provide to a constraint (such as element, all_of, etc.). This is a departure from the spec, but I believe it will eliminate the confusion between a "reference" and a so-called "type reference" (that could be a "reference", an inline import, or an inline type). I plan to update the spec to use the new terminology.
A large chunk of code from the original Regex constraint impl is moved to a separate regex.kt utility file so that the regex validation code can be shared (for now) between the model and the existing constraint impl.
Marking classes as data classes means that we can't hide implementation details as well. data classes always indirectly expose the primary constructor through the auto-generated copy() implementation, and data classes always have destructuring componentN() functions. I would like to eventually make all of the constructors internal and provide a version-safe builder for constructing the ISL model. The benefit of data is that we also get autogenerated equals() and hashCode() functions. Should we not use data classes so as not to leak implementation through the copy, etc. functions?
Right now the constraint classes are nested in the Constraint interface. Thoughts? Should they be moved to a ...ionschema.model.constraints packages?
I plan to have an internal sealed interface SealedConstraint (once we upgrade the language level). Is it worth making SealedConstraints public? If it is public, it would have to be gated by an opt-in annotation because every time we add a new constraint, it would be a breaking change. (See "TODO" comment in Constraint.kt for more discussion.)

Related PRs in ion-schema, ion-schema-tests, ion-schema-schemas:
N/A
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

My only comment on the data class question is: it looks like (with few exceptions) all of the fields in the model are public vals. I don't really see what there is to hide! If we need to add indirection later we can always redefine them as a property.

I agree. I don't think there is anything to hide.


GPU memory error

Hello, I've been able to set up the entire BP4D dataset for training using the correct txt files. However, a memory error always comes up after preprocessing. My GPU memory is capped at 8.1 GB, and even when I try decreasing the batch size down to 4, it yields the same error.
The code output is (batch size set to 4)
"RuntimeError: CUDA out of memory. Tried to allocate 26.00 MiB (GPU 0; 7.93 GiB total capacity; 7.22 GiB already allocated; 14.06 MiB free; 7.42 GiB reserved in total by PyTorch)".
I receive the same error even when I set the batch size down to 1, and monitoring my GPU RAM I see that it reaches close to it's capacity before the error.
I also tried running it without GPU on a 126 GB RAM server, and it steadily increased RAM usage until the training was "killed".
Do you know if there is something in the training scheme that I should change to prevent this? Many thanks in advance, and for taking the time to read this.

Did you figure this out? Same problem.


VoteMVP frontend: Missing locking threshold range on slider.

5/4/22 AirClaim Votemvp Frontend v0.5.2qa5 Link: https://tjrhs-gqaaa-aaaad-qa24a-cai.raw.ic0.app/vote
On the Vote Locking Threshold page, the locking threshold values were missing on the slider.
Steps.

Login as vivvestin, account type 'v'.
On Claim page, click on 'Go to Vote'.
Taken to Vote Locking Threshold page, locking threshold values missing on the slider.
Expecting locking threshold range to be 0.016700-0.033400 (Tom said to show the min/max values up to 6 dec places).

Changed v0.5.4

6/4/22 Retest in v0.5.4-qa5.
On Vote Locking Threshold page, min and max values should be displayed on each end of the slider control  prior to clicking on the slider so the user knows what the locking threshold is. Locking threshold values must be displayed with 6 decimal places. Also, there is a blue dot on the left hand side of the page which needs to be removed. Not fixed.

11/4/22 Retest in v0.5.4-qa5 after clearing cache in Chrome. Still the same results.
Stuart, as you reckon it may be account related, I've retested with both Vivvestin and billbeaumont accounts in iteration 14 and the results were the same.

Hmm I suspect now that the project is not being built successfully on that server, I will follow up with Tom

11/4/22 Hey Stuart! JeromeK has confirmed all locking threshold value must be in 6 decimal places.
Jerome | freeos.io | freedao.io — Today at 12:33
6…. although I’m not fond of having that many decimals in the UI
But we have to be accurate

19/4/22 Retest in new rel v0.5.5-qa5 using billbeaumont's account in iteration 16.
On Vote Locking Threshold page, min and max values were displayed on each end of the slider control prior to clicking on the slider so the user knows what the locking threshold range is. Locking threshold values were displayed with 6 decimal places where appropriate i.e. trailing zeroes omitted. This means that the default locking threshold ranges were showing as 0.0167 and 0.04 accordingly. Also, blue dot on the left hand side of the page is no longer showing.
Note: 19/4/22 JK is happy with the omission of trailing zeroes when displaying the locking threshold amounts.
Issue fIxed. Closed.


ape.reverts() fails when trying to decode reason

Environment information
Latest ape
macOS
What went wrong?
When using ape.reverts() on a reverted call, you get this error:
class 'OverflowError'> occurred: cannot fit 'int' into an index-sized integer

How can it be fixed?

Figure out the decoding differences and network differences and re-assess.

Realized this is because of this: https://github.com/ApeWorX/ape/pull/1247
We can copy similar logic if needed or else that PR may fix it here as well.


1St correction

If possible, is it possible to clarify the title and description of this PR? It will be easier to search this PR if needed in the future :)


NumberBase: auto detect format from input string

Minor improvement upon last pull-request (didn't expect you to be so fast to land the previous pull request, thanks!)

Thanks for this as well. Everything seemed to be in order in the previous PR so I didn't see any reason to not merge it.

The old DI unit conversion values could probably be more precise, but I guess the current ones will do for now.


The extension doesn't support proxy

Thanks for the awesome extension.
I am having a bit of trouble getting your extension to work though. The extension seams to fail to make a connection with the internet.  I can access the link just fine in a browser.
One probable culprit could be, that I am behind a company proxy. Do the proxy settings of vscode get used to establish the connection?

The extension doesn't support proxy. I will add the proxy support for the next release.

The extension doesn't support proxy. I will add the proxy support for the next release.

Are you set the proxy setting in VSCode?  vscode doc

Are you set the proxy setting in VSCode?  vscode doc

The other extensions work well?
@hansWurst-creator

The other extensions work well?
@hansWurst-creator

This error sometimes occurs when you have low internet speed.
Increase the timeout value in the setting.json
//The maximum duration for completing a request from this extension
"nugetpackagemanagergui.nuget.requestTimeout": 9000,

This error sometimes occurs when you have low internet speed.
Increase the timeout value in the setting.json
//The maximum duration for completing a request from this extension
"nugetpackagemanagergui.nuget.requestTimeout": 9000,

That's my proxy settings. If I don't set those I am unable to do a dotnet restore.

I will try with a longer timeout.

That's my proxy settings. If I don't set those I am unable to do a dotnet restore.

I will try with a longer timeout.

I've added this feature. I will publish it in the next release.

I've added this feature. I will publish it in the next release.

Thanks. I will give you feedback when I get a chance to try it out.

Thanks. I will give you feedback when I get a chance to try it out.

I've published the new version of the package.
@hansWurst-creator

I've published the new version of the package.
@hansWurst-creator

sadly I am getting this response. Is there a way I can look at the actual json response that the addon receives?

sadly I am getting this response. Is there a way I can look at the actual json response that the addon receives?

I've tested with Tor proxy, but I didn't get any error.
If possible for you, create an empty folder with one csproj file that contains the following content:
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Serilog.Enrichers.Thread" Version="2.0.0-beta-700"/>
  </ItemGroup>
</Project>

and test it again.

I've tested with Tor proxy, but I didn't get any error.
If possible for you, create an empty folder with one csproj file that contains the following content:
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Serilog.Enrichers.Thread" Version="2.0.0-beta-700"/>
  </ItemGroup>
</Project>

and test it again.

This extension sends batch requests to the Nuget server and then wait for them. In your case, the proxy rejects some requests (Maybe!).

This extension sends batch requests to the Nuget server and then wait for them. In your case, the proxy rejects some requests (Maybe!).


Add diagnostics of individual terms

We seem to have persistent along-layer gradients in the density adaptivity regions, which implies that one of the non-adaptive terms is doing work here. To diagnose what is happening here, we need to be able to output the size of each term as a diagnostic.

I'm fairly sure we're linking to a version of MOM6 where I have indeed got those diagnostic terms calculated. Exposing them to the Python interface is a matter of allocating the diag_CS structure and associating it into the adapt_CS.

Looks like I actually had already implemented this!
Using
The test_diags.py test shows an example of this, but you pass a list of the diagnostics you want to accelerate_ale(). As part of the tuple it returns, you get a dictionary mapping the diagnostic names to their array. I think this will correspond to the last iteration, in the accelerated case...
# single iteration
h_new, diags = pyale.do_regrid(cs, regrid_cs, dt=1.0, diags=["adapt_slope_u"])

# accelerated
h_new, t_new, s_new, diags = pyale.accelerate_ale(cs, regrid_cs, 1, dt=1.0, diags=["adapt_slope_u"])

# resuming accelerated
h_new, t_new, s_new, diags = pyale.resume_ale(cs, regrid_cs, state, 1, dt=1.0)

Diagnostics
There are diagnostics available for the key terms, and it's pretty simple to add anything else we need here. I've tried to compile all the current diagnostics and a short description of what they do and how they're generated.
adapt_denom_u, adapt_denom_v
This is the denominator of the density adaptivity term, combining the along-layer slopes with the local vertical gradient.
i_denom = hdi_sig_u + hdj_sig_u + dk_sig_u
j_denom = hdj_sig_v + hdi_sig_v + dk_sig_v

denom_u(I,j,K) = sqrt(i_denom)
denom_v(i,J,K) = sqrt(j_denom)

adapt_slope_u, adapt_slope_v
This is the slope part of the density adaptivity term, used to determine the flux of interface displacement.
dz_s_i(I,j) = hdi_sig(I,j,K) / sign(sqrt(i_denom), dk_sig_u)
dz_s_j(i,J) = hdj_sig(i,J,K) / sign(sqrt(j_denom), dk_sig_v)

adapt_coord_u, adapt_coord_v
This is the along-coordinate slope.
hdi_sig_u = hdi_sig(I,j,K)**2
hdj_sig_u = 0.25 * ((hdj_sig(i,J,K)**2 + hdj_sig(i+1,J-1,K)**2) + &
            (hdj_sig(i+1,J,K)**2 + hdj_sig(i,J-1,K)**2))
dk_sig_u = 0.5 * (dk_sig_int(i,j)**2 + dk_sig_int(i+1,j)**2)

i_denom = hdi_sig_u + hdj_sig_u + dk_sig_u

coord_u(I,j,K) = (hdi_sig_u + hdj_sig_u) / i_denom

hdj_sig_v = hdj_sig(i,J,K)**2
hdi_sig_v = 0.25 * ((hdi_sig(I,j,K)**2 + hdi_sig(I-1,j+1,K)**2) + &
            (hdi_sig(I,j+1,K)**2 + hdi_sig(I-1,j,K)**2))
dk_sig_v = 0.5 * (dk_sig_int(i,j)**2 + dk_sig_int(i,j+1)**2)

j_denom = hdj_sig_v + hdi_sig_v + dk_sig_v

coord_v(i,J,K) = (hdi_sig_v + hdj_sig_v) / j_denom

adapt_phys_u, adapt_phys_v
This is the interface slope (in physical space).
hdi_sig_u = hdi_sig_phys(I,j,K)**2
hdj_sig_u = 0.25 * ((hdj_sig_phys(i,J,K)**2 + hdj_sig_phys(i+1,J-1,K)**2) + &
            (hdj_sig_phys(i+1,J,K)**2 + hdj_sig_phys(i,J-1,K)**2))
i_denom = hdi_sig_u + hdj_sig_u + dk_sig_u

phys_u(I,j,K) = (hdi_sig_u + hdj_sig_u) / i_denom

hdj_sig_v = hdj_sig_phys(i,J,K)**2
hdi_sig_v = 0.25 * ((hdi_sig_phys(I,j,K)**2 + hdi_sig_phys(I-1,j+1,K)**2) + &
            (hdi_sig_phys(I,j+1,K)**2 + hdi_sig_phys(I-1,j,K)**2))
j_denom = hdi_sig_v + hdj_sig_v + dk_sig_v

phys_v(i,J,K) = (hdi_sig_v + hdj_sig_v) / j_denom

adapt_limiting_density
This is the difference between the unlimited and limited slope flux, across the participating adjacent cells. dz_s_i and dz_s_j are the density adaptivity flux terms, and dz_p_unlim is the unlimited component of that.
limiting_density(i,j,K) = limiting_density(i,j,K) + (dz_s_i(I,j) - dz_p_unlim_i) + (dz_s_j(i,J) - dz_p_unlim_j)
limiting_density(i+1,j,K) = limiting_density(i+1,j,K) + (dz_s_i(I,j) - dz_p_unlim_i) + (dz_s_j(i,J) - dz_p_unlim_j)

adapt_limiting_smoothing
Similar to above, but on the smoothing term.
adapt_disp_density, adapt_disp_smoothing
The total interface displacement due to the density and smoothing terms, respectively.
disp_density(i,j,K) = 0.25 * G%IareaT(i,j) / L_to_H &
  * ((G%dyCu(I,j) * dz_s_i(I,j) - G%dyCu(I-1,j) * dz_s_i(I-1,j)) &
  +  (G%dxCu(i,J) * dz_s_j(i,J) - G%dxCu(i,J-1) * dz_s_j(i,J-1)))

disp_smoothing(i,j,K) = 0.25 * G%IareaT(i,j) / L_to_H &
  * ((G%dyCu(I,j) * dz_p_i(I,j) - G%dyCu(I-1,j) * dz_p_i(I-1,j)) &
  +  (G%dxCu(i,J) * dz_p_j(i,J) - G%dxCu(i,J-1) * dz_p_j(i,J-1)))

adapt_disp_unlimited
Interface displacement due to the unlimited smoothing term.

Great, I'll give it a burl!

Reporting back on my (lack of) progress using these diagnostics. Two interesting problems.

When I put out the diagnostics, they all have a strange shape, so can't be immediately plotted:

>> diags['adapt_denom_v'].shape
(167, 808, 76)

Does this mean it is stitching the tiles together incorrectly here?
(Note that this happens irrespective of whether OpenMP is on or off.)
2. Even if I could plot them, all the diagnostics I have tried yield arrays of zeros (irrespective of dt, iters ....)

(I'm also getting frequent kernel deaths, trying to establish a pattern as to why ... it's not related to diags or OpenMP, but still trying to figure it out ...)

When I put out the diagnostics, they all have a strange shape

What shape do you expect them to have? I don't remember the size of the domain, but that one would be (xh, yq, zi), i.e. an extra point in the Y and Z dimensions. Although they're backwards compared to the normal Fortran convention which could be an issue...

Does this mean it is stitching the tiles together incorrectly here?

There aren't any tiles here, everything is in terms of the full array. OpenMP does shared-memory parallelism, so each process operates on a section of the same underlying memory.

Even if I could plot them, all the diagnostics I have tried yield arrays of zeros

That does indeed sound like an issue!

What shape do you expect them to have?
The domain is (160, 800, 75) ... so at least it gets the vertical direction right, but the others are 7 grid points out (which is a strange number to be off by).

I think that could be explained by the halos, which probably default to 4 in each direction?

I just did a quick test, and for one iteration on the tub restart, at least a couple of the diagnostics have non-zero values:
adapt_slope_u zero/nonzero: 1726319 8577457
adapt_slope_v zero/nonzero: 1647333 8607803

Hmm, definitely still getting zeros here:
np.count_nonzero(diags['adapt_slope_u'])
0

Can you try running the first 15 cells of this one?
https://github.com/AndyHoggANU/anu-tub/blob/master/diagnostics/AG_VertRegrid.ipynb

Ah! I wasn't doing a run of ALE before asking for diagnostics. Picked up another edge case... In fortran, if you declare and assign a variable at the same time, that assignment is only executed the first time the function is run! So we had
logical :: do_diag = .true.

But on the first ALE call, there weren't any diagnostics, so they were being disabled, and then never re-enabled. I've updated the build on Gadi, hopefully it'll behave this time!

Yep, that's fixed it -- thanks.
And I assume I should just delete the first 4 and last 3 rows to get the position of the diagnostic variable about right?

I think it might actually be first 3 and last 4. It's the difference between the data and computational indices from this table:

domain
start
end

xh, data
1
167

xq, data
0
167

yh, data
1
807

yq, data
0
807

xh, comp
4
163

xq, comp
3
163

yh, comp
4
803

yq, comp
3
803

This is fixed by the MOM6 change brought in by 24fe6d8.


How to get all ?

Hi, its great lib.!
How to get all mention/hashtag ?
Ex: #swift #library @optonaut @emre
label.getAllHashtag() -> [swift,library]
label.getAllMention() -> [optonaut,emre]
Is it possible?

I don't think there is such a function. However, you can just re-use the same regex to extract the hashtags and mentions manually.

@maziyarpanahi  How?
another question -> looking for a library like this. for Textfield for input, i cant find. Do you know library?

I am sorry that is not what this library is for. It's not meant to be used as a one-stop regex on a string. You should consider using other libraries for this specific feature.

@maziyarpanahi  which? :) please send me:) thanks


Site content and style update for sprint2/3

add legend and styling for map page
update header to latest style/content
add contact page
add methodology page
#199 and #200

Opps. I did the map legend thinking it was part of the page and I should do it. But it looks like you did it as well?

Oh no! Apologies for the overlap, indeed I think we both implemented it. I like your use of dl for this, but it's useful to have it in its own component as in my fix in case we do need to move it around - maybe if we merged my version then converted the items to dl/dts ?


Dependencies of custom pre-commit hooks

It's quite easy to define custom pre-commit hooks, but how can I define the dependencies of my custom hooks ? Without that devenv ci fails because my the script I call in my pre-commit hooks cannot find a command that it depends on.
Maybe, the packages defined in the global packages variables should be available when running custom pre-commit entries with devenv ci.

Please post an example devenv.nix. Depending on your use-case this might be already achievable today.

Here are an example:
{ pkgs, ... }:

{
  packages = [ pkgs.shellcheck pkgs.shfmt ];

  pre-commit.hooks = {
    lint.enable = true;
    lint.entry = "./lint.sh";
    lint.pass_filenames = false;
  };
}

The ./lint.sh script use both shellcheck and shfmt. I can't use the existing hooks because of the custom options.

Thanks!
The problem is that the shell script depends on implicit state (devenv activated PATH env var), that it should not depend on.
You can achieve this by packaging it and explicitly specifying runtime dependencies.
Example files:
lint.sh
#!/usr/bin/env bash
shellcheck --version
shfmt --version

lint.nix
{ stdenv, makeWrapper, lib, shellcheck, shfmt }:
stdenv.mkDerivation {
    name = "lint-script";
    src = ./lint.sh;

    buildInputs = [ makeWrapper ];

    phases = [ "installPhase" ];

    installPhase = ''
      mkdir -p $out/bin
      cp $src $out/bin/lint.sh
      chmod +x $out/bin/lint.sh
      wrapProgram $out/bin/lint.sh --prefix PATH : ${lib.makeBinPath [ shellcheck shfmt ]}
    '';
  }

devenv.nix's relevant line revised:
lint.entry = "${pkgs.callPackage ./lint.nix {}}/bin/lint.sh";

Don't forget to add all files to git, so the underlying Nix Flake system can "see" them.
This should be make it work in all usage scenarios.


Auth refactor 2: futures

This PR depends on #1290 and includes it. See here for actual differences:
https://github.com/igorbernstein2/cloud-bigtable-client/compare/auth-refactor-minor...igorbernstein2:auth-refactor-futures?expand=0
This PR uses Futures to manage background auth refreshes & uses grpc statuses instead of exceptions to communicate failure

Rebased, this is ready for review

I think that we should drop direct support for AppEngine due to #1223, and add a TODO.  There are some other issues that need to be worked out first before we can even confirm that our client auth refresh works well.
That should help us (or at least me) be able to better reason about the changes we need to make to the client auth interceptor.
Once we get through the core use case, we can come back and figure out how to make AppEngine work


xacc.readthedocs.io - Writing a Plugin in C++ sample won't compile

Thank you for providing the docker image and example tutorial.  I am having trouble during the 'make install' step;
i double checked my sample files i generated (from cut and paste).  getting errors like:
             from /home/dev/test_ir_transformation/src/TestIRTransformationActivator.cpp:1:

/root/.xacc/include/xacc/heterogeneous.hpp:129:57: error: 'any' is not a member of 'std'
129 |       std::initializer_list<std::pair<std::string, std::any>> &&list) {
|                                                         ^~~
/root/.xacc/include/xacc/heterogeneous.hpp:129:57: note: 'std::any' is only available from C++17 onwards
how do i set the compiler in the docker image to the required c++17 ?

ah.. i figured it out...
i had to add the following to /home/dev/test_ir_transformation/src/CMakeLists.txt :
(after the set_target_properties section)
target_compile_features(test-ir-transformation
PUBLIC
cxx_std_17)

then make install worked just fine.  thank you again for making the xacc lib and related materials public!
make install:
Consolidate compiler generated dependencies of target test-ir-transformation
[ 14%] Building CXX object src/CMakeFiles/test-ir-transformation.dir/test_ir_transformation.cpp.o
[ 28%] Building CXX object src/CMakeFiles/test-ir-transformation.dir/test-ir-transformation/cppmicroservices_resources.cpp.o
[ 42%] Building CXX object src/CMakeFiles/test-ir-transformation.dir/test-ir-transformation/cppmicroservices_init.cpp.o
[ 57%] Linking CXX shared library libtest-ir-transformation.so
Appending zipped resources to test-ir-transformation
[100%] Built target test-ir-transformation
Install the project...
-- Install configuration: ""
-- Installing: /root/.xacc/plugins/libtest-ir-transformation.so
-- Set runtime path of "/root/.xacc/plugins/libtest-ir-transformation.so" to "$ORIGIN/../lib"


Fix exception when a message is deleted in a race with handle_remove_push_notification queue

If a message is deleted by its sender immediately a push notification is sent, and after the user reads the message (triggering a remove-push-notification event being put into the missedmessage_mobile_notifications queue), but before it's processed by the queue worker, it's possible for the bulk_access_messages_expect_usermessage call in handle_remove_push_notification to return 0 messages, resulting in the following exception:
2020-04-06 10:50:51.218 ERR  [] Problem handling data on queue missedmessage_mobile_notifications
Traceback (most recent call last):
  File "/home/zulip/deployments/2020-04-01-00-25-26/zerver/worker/queue_processors.py", line 131, in do_consume
    consume_func(events)
  File "/home/zulip/deployments/2020-04-01-00-25-26/zerver/worker/queue_processors.py", line 139, in <lambda>
    consume_func = lambda events: self.consume(events[0])
  File "/home/zulip/deployments/2020-04-01-00-25-26/zerver/worker/queue_processors.py", line 419, in consume
    handle_remove_push_notification(event['user_profile_id'], message_ids)
  File "/home/zulip/deployments/2020-04-01-00-25-26/zerver/lib/push_notifications.py", line 672, in handle_remove_push_notification
    gcm_payload, gcm_options = get_remove_payload_gcm(user_profile, message_ids)
  File "/home/zulip/deployments/2020-04-01-00-25-26/zerver/lib/push_notifications.py", line 658, in get_remove_payload_gcm
    'zulip_message_id': message_ids[0],
  File "/home/zulip/deployments/2020-04-01-00-25-26/zulip-py3-venv/lib/python3.6/site-packages/django/db/models/query.py", line 291
, in __getitem__
    return self._result_cache[k]
IndexError: list index out of range

I'm not entirely sure what the right fix is.  I think that in an ideal world we'd still send the remove-push-notification event -- otherwise, the mobile device risks having a ghost unread count for the deleted message.  So probably the actual fix will be some combination of:

Checking our code paths for message deleting that might remove UserMessage rows and ensuring that they trigger a remove_push_notification event for any appropriate messages, if they don't already.
Tag those special events as not requiring a UserMessage, since we know it was deleted (Or perhaps, check ArchivedUserMessage during the brief race?) to skip the expect_usermessage part of the permissions check.  (Actually, do we need to do any sort of permissions check for access to a message before sending a push notification to mark it as read?).

This is a moderate priority as part of our larger 0-known-backend-exceptions effort.
@gnprice FYI.

@zulipbot claim

I think I agree.  But the scenario I described above was sufficiently unlikely that it couldn't explain how often we were seeing the traceback; I'm optimistic that we've now fixed the actual bug here.
I just deployed to production with 0c48c75 in the branch, but this exception was rare enough it'll be weeks before we can be sure we've already fixed it, by which we'll likely have done something with this as well.

@hashirsarwar are you planning on completing this?


Aggregate does not match

Actual behavior
sentVotes in accounts do not match votes_received.
accounts
https://mainnet-service.lisk.com/api/v2/accounts?address=lsk3h9d58ck8wwtyeamgo3e7twcswy8ymsq6r5ake
votes_received
https://mainnet-service.lisk.com/api/v2/votes_received?address=lsk5tyhc6tw76ybwwzt9vcefy3gryjvprkcj329tw&aggregate=true&limit=10&offset=0
Expected behavior
Should match
Steps to reproduce
Access each API
Which version(s) does this affect? (Environment, OS, etc...)
v0.6.3

Closing the issue. Will be addressed in the v3 API instead. Ref: https://github.com/LiskHQ/lisk-service/issues/1673


Add checker for CVE-2022-2347

Refer to this advsiory by @sultanqasim for more information.

CONFIG_DFU_OVER_USB or CONFIG_SPL_DFU
v2012.10-rc1 to v2023.01-rc1  (Inclusive or exclusive?)

Versions are inclusive - it was “fixed” in v2023.01-rc2, though the original fix broke DFU altogether. A fix for the fix to unbreak DFU made it to rc4.

Added in 0.5.0


IGNITE-8995 FailureHandler executed on error in ScanQuery's IgniteBiP…

…redicate.

The ticket is resolved, closing PR.
Please close PRs for your resolved tickets and other non-needed PRs.
Alternatively, ask a committer

to use GitHub UI (committer  can associate accounts here: https://gitbox.apache.org/setup/ )
or /scripts/apply_pull_request.sh from Apache Ignite source.
or mention in commit message 'Fixes #(a number of PR)'.

These methods will automatically close PR.
Feel free to reopen this PR if it is actual.


Feature/7 persistence

I could be mistaken, but are the init.py files necessary?
From what i found in a quick google search it was needed before python 3.3?
If it is still necessary, please elaborate, because it would be nice to know why :)

I could be mistaken, but are the init.py files necessary?
From what i found in a quick google search it was needed before python 3.3?
If it is still necessary, please elaborate, because it would be nice to know why :)

Nope, my bad, left my IDE on 3.2 and they were auto-added. Will fix later.

I could be mistaken, but are the init.py files necessary?
From what i found in a quick google search it was needed before python 3.3?
If it is still necessary, please elaborate, because it would be nice to know why :)

(my hunch about Python 3.2 was wrong: I'm on 3.7, now 3.8.3)
It's an option to use the old module system, which I did, instead of the new namespace system. My pytest setup had trouble with implicit namespaces when running directly, but python -m pytest runs fine.

If it causes problems to leave them out, by all means just include them :)


Is it possible to get a new tagged version ?

The latest tagged version is v4.0.0 which was done in May 2024. Can we get a new tagged version with node20 updates included.

Yes


Having trouble with the url in naver map api

Having trouble in using the localhost url in naver map api

https://kitty-geno.tistory.com/40


sway: 0.13.0 -> 0.14.0

Motivation for this change
comment said it segfaults, but worked fine for me.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

How can I test this?

It doesn't seem to work if all you do is nix-build -A sway and run result/bin/sway. I'm not exactly sure why. But if you add sway and xwayland to environment.systemPackages and run nixos-rebuild -I nixpkgs=/path/to/nixpkgs and then stop X11 and run sway as a user, you should have the sway background show up. hitting super+enter will give you a terminal. You can also switch workspaces using super+# (where # is the workspace you want). The sway bar doesn't seem to work with the default config on 0.14.0. Works great with 0.15-rc2 though, so maybe we just wait until that releases.

Just in case re: installation method: did you try adding result/bin
to $PATH without system-wide installation?

I added a module with the capabilities as described in the project page, but I get a segfault as well:
gdb> bt
#0  0x00007f4798edf0f7 in wl_list_remove () from /nix/store/xyajc0iyp9z1pkmssfazjjsvw1r9kc68-wayland-1.12.0/lib/libwayland-server.so.0
#1  0x00007f47997ce3a7 in wlc_xwm_release () from /nix/store/ia6jgf3yw2nrz0704dbnnk09bcrx6rsj-wlc-0.0.10/lib/libwlc.so.0
#2  0x00007f47997b34c0 in xwayland_event () from /nix/store/ia6jgf3yw2nrz0704dbnnk09bcrx6rsj-wlc-0.0.10/lib/libwlc.so.0
#3  0x00007f47997cbafc in wlc_xwayland_terminate () from /nix/store/ia6jgf3yw2nrz0704dbnnk09bcrx6rsj-wlc-0.0.10/lib/libwlc.so.0
#4  0x00007f47997cc422 in destroy_event () from /nix/store/ia6jgf3yw2nrz0704dbnnk09bcrx6rsj-wlc-0.0.10/lib/libwlc.so.0
#5  0x00007f4798eda7bc in wl_client_destroy () from /nix/store/xyajc0iyp9z1pkmssfazjjsvw1r9kc68-wayland-1.12.0/lib/libwayland-server.so.0
#6  0x00007f4798eda8d8 in wl_client_connection_data () from /nix/store/xyajc0iyp9z1pkmssfazjjsvw1r9kc68-wayland-1.12.0/lib/libwayland-server.so.0
#7  0x00007f4798edcae2 in wl_event_loop_dispatch () from /nix/store/xyajc0iyp9z1pkmssfazjjsvw1r9kc68-wayland-1.12.0/lib/libwayland-server.so.0
#8  0x00007f4798edaf8a in wl_display_run () from /nix/store/xyajc0iyp9z1pkmssfazjjsvw1r9kc68-wayland-1.12.0/lib/libwayland-server.so.0
#9  0x00007f47997c992c in wlc_run () from /nix/store/ia6jgf3yw2nrz0704dbnnk09bcrx6rsj-wlc-0.0.10/lib/libwlc.so.0
#10 0x000000000040bc81 in main ()
#11 0x00007f47974f4560 in __libc_start_main () from /nix/store/yydnhs7migvlbl48wpsxan1yvq2icbr9-glibc-2.25-49/lib/libc.so.6
#12 0x000000000040be3a in _start ()

Graphics card is Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09) I have this in my configuration.nix:
      opengl.enable = true;
      opengl.extraPackages = [ pkgs.vaapiIntel ];

I have a Broadwell CPU + graphics. The version here keeps segfaulting while the old version seems to work.

using programs.sway.enable = true; I get a segfault as well, but if I just put sway and xwayland in environment.systemPackages it works fine for me. Here's the configuration.nix I used: https://gist.github.com/anonymous/6fab3b96d18cf6c808fafc5d0eeb05a5. Command to install was sudo nixos-rebuild switch -I nixpkgs=/home/sam/nixpkgs
proof of newer version of sway running:
sam      28275  1.0  1.5<PHONE_NUMBER>6 tty1     S+   21:58   0:03 /run/current-system/sw/bin/sway
sam      28277  0.0  0.0 177456  1232 tty1     S+   21:58   0:00 /run/current-system/sw/bin/sway
sam      28279  0.0  0.5<PHONE_NUMBER>4 tty1     S+   21:58   0:00 swaybg 0 /nix/store/r4g9pwhs6biyfsyaxxa2vnwbhlfwi8a0-sway-0.14.0/share/sway/Sway_Wallpaper_Blue_1920x1080.png fill
$ ls -hal `which sway`
lrwxrwxrwx 1 root root 64 Dec 31  1969 /run/current-system/sw/bin/sway -> /nix/store/r4g9pwhs6biyfsyaxxa2vnwbhlfwi8a0-sway-0.14.0/bin/sway

Ok. With xwayland in my systemPackages it works. But adding just prefixing ${xwayland}/bin in the sway wrapper does not solve the problem. So it must be a different dependency, which gets propagated by this package.

@Mic92 I tried propagating the buildInputs for wlc, and it works for me now! Can you test?

I updated the nixos module to include xwayland and things work for me.

Should we pick this into stable?

I am trying to figure out how this module is supposed to work...
If I enable it and remove everything I have that is XMonad and XServer related, I land on a plain tty1 prompt upon reboot.
I log in, I say sway and it complains about X not running.
Ideally, this module would just replace the xserver module and give me a UI to log in to etc. right?
Am I misunderstanding its purpose?

@NeQuissimus There were efforts on this, but none got finished and merged:
https://github.com/NixOS/nixpkgs/pull/19663
https://github.com/NixOS/nixpkgs/pull/23059

Ah, OK.
So if we mixed #19663 with a little bit of #20385 and this one here, we should have all the ingredients to make this work, correct?

Most likely. Here's someone was able to login via slim https://github.com/NixOS/nixpkgs/pull/19663#issuecomment-275344318
It's important not to miss extraSessionCommands, because many things are configured this way starting from https://github.com/swaywm/sway/wiki#input-configuration

I mix-and-matched the PRs together but cannot get past SLiM or SDDM...
https://gist.github.com/NeQuissimus/bce7119e985bf077eafc16d9f99bcbcb

@NeQuissimus It works for me if services.xserver.enable = true; It wouldn't be hard to make it work without xserver, but we need a login manager that works without X

@NeQuissimus Perhaps something is wrong with your setup. If not using your patch:

If I enable it and remove everything I have that is XMonad and XServer related, I land on a plain tty1 prompt upon reboot.
I log in, I say sway and it complains about X not running.

If you disable xserver, then your should add
hardware.opengl.enable = true;
fonts.enableDefaultFonts = true;

to your config. But actually you don't need to disable xserver and xmonad. Just switch to console tty, login and run sway command.

I use this to configure sway:
https://github.com/NeQuissimus/DevSetup/blob/master/nixos-sway.nix
I updated the Gist to reflect your changes.
I still cannot log in... And I see no errors anywhere either.

@NeQuissimus Thanks. I've took your updated patch and nixos-sway.nix, did

I import it and have no other xserver-related config

the same. And it works fine for me.  Once I have things working, I will send a PR with the contents of my Gist...


Added optional category to feeds, picked up from OPML

Found an old OPML file and saw that outline elements can be nested, to create feed categories. Makes the feed selection in the onboarding process very nice, with categories (implemented, but not checked in yet, since it needs something like this).
What do you think?

@N-Pex Looks good to me! Can you add that example OPML file and add a test for it?
Also if feedCategory is optional, would it be better to keep it as nil instead of setting to @""?

Yes, you're right, nil is better. I just got some weird errors, thought it was caused by this being nil, that's why I added the empty string. Will change it back and have a look. Will also add the tests.

Great, thank you!


RDKTV-22508:HDMI AVI Content type Signalling for Film Maker Mode

Reason for change: Added the events for sending thew content type in HdmiInput Thunder plugin.
Test Procedure: Build and Verify.
Risks: Low
Signed-off-by: Aishwariya B<EMAIL_ADDRESS>

Update json documentation for this new event
Updated json documentation and HdmiInputPlugin.md document

Closing this as duplicate and old PR


Python 2 Compatible?

Hello, this happens when i install a plugin and make a migrations. Any ideas?
Traceback (most recent call last):
File "manage.py", line 21, in
main()
File "manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "D:\Final-project\env\lib\site-packages\django\core\management_init_.py", line 401, in execute_from_command_line
utility.execute()
File "D:\Final-project\env\lib\site-packages\django\core\management_init_.py", line 377, in execute
django.setup()
File "D:\Final-project\env\lib\site-packages\django_init_.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "D:\Final-project\env\lib\site-packages\django\apps\registry.py", line 114, in populate
app_config.import_models()
File "D:\Final-project\env\lib\site-packages\django\apps\config.py", line 211, in import_models
self.models_module = import_module(models_module_name)
File "C:\Users\lukas\AppData\Local\Programs\Python\Python38-32\lib\importlib_init_.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 783, in exec_module
File "", line 219, in _call_with_frames_removed
File "D:\Final-project\env\lib\site-packages\djangocms_forms\models.py", line 9, in
from django.utils.encoding import python_2_unicode_compatible
ImportError: cannot import name 'python_2_unicode_compatible' from 'django.utils.encoding' (D:\Final-project\env\lib\site-packages\django\utils\encoding.py)

it's because that method has moved to six in Django 3 and this library has not been updated in awhile. Hope this helps a bit.

We have that fix, too!
https://github.com/avryhof/djangocms-forms
https://pypi.python.org/pypi/djangocms-forms-maintained/
pip install --upgrade djsngocms-forms-maintained

@Moon-developer Thanks! It did not fix the issue unfortunately.
@avryhof Thank you for you comment. But after almost 2 years I won´t test it....
Closing the issue...


[WIP] FASTA download

Issue https://atlassian.kbase.us/browse/KBASE-3970

[x] Basic download capability
[ ] Unit tests
[ ] Regression tests
[ ] Sign off by plants team

I think sign off by plants team will be on hold for a while.  Let's make that a separate JIRA ticket.
We do need some basic tests here though.

Current coverage is 79.70%

Merging #193 into develop will decrease coverage by -0.36% as of 8b4777e

@@            develop   #193   diff @@
======================================
  Files            21     23     +2
  Stmts          2994   3109   +115
  Branches          0      0
  Methods           0      0
======================================
+ Hit            2397   2478    +81
  Partial           0      0
- Missed          597    631    +34

Review entire Coverage Diff as of 8b4777e

Powered by Codecov. Updated on successful CI builds.

Took the WIP off this, since I got a few very basic tests to pass and have done some one-off testing with an IPython notebook that is promising.