unable to recompile SMusic.apk on apktool 2.0.2

i can decompile just fine, but i am unable to recompile the apk, even without changes
Note 5 running Lollipop 5.1.1

I need an apk or a stacktrace to work with here.

sorry about that
SMusic.zip

Error: No resource found that matches the given name (at 'style' with value '@style/Text.SansSerif.Marquee').

Error: No resource found that matches the given name (at 'style' with value '@style/Text.SansSerif.Marquee.MiniPlayer').

Error: No resource found that matches the given name (at 'style' with value '@style/Text.Widget.Marquee').

No resource found that matches the given name (at 'style' with value '@style/SeekBar.mini_player_progressbar').

Error: No resource found that matches the given name (at 'style' with value '@style/Text.Widget.Marquee').

5 missing resources. There might be broken resources in the res/values/styles.xml.
ibotpeaches@tombstone:~/Downloads/Apktool/Bug1117$ cat SMusic/res/values/styles.xml | grep 'APKTOOL'
    <item name="android:src">@drawable/APKTOOL_DUMMY_0082</item>
    <item type="style" name="APKTOOL_DUMMY_0087">false</item>
    <item type="style" name="APKTOOL_DUMMY_0088">false</item>
    <item type="style" name="APKTOOL_DUMMY_0089">false</item>
    <item type="style" name="APKTOOL_DUMMY_008a">false</item>

Apktool has no fix for this currently. Resources are referenced that cannot be found, thus dummy resources which don't match the naming of the other resources.
We might need to follow resources to identify if they exist, if not name the dummy resource as such vs APKTOOL_DUMMY. However, there is a reason we currently don't do that. Once we are writing files out, the decode of resources is done. The structure of how apktool operates would need to change.
This is a duplicate of something here, but I wrote more of a proper response in this report. So will keep this one around.

➜  Bug1117 aapt d resources SMusic.apk | grep -r -i 'TYPE CONFIG'
grep: warning: recursive search of stdin
(standard input):      INVALID TYPE CONFIG FOR RESOURCE 0x7f020050
(standard input):      INVALID TYPE CONFIG FOR RESOURCE 0x7f020082
(standard input):      INVALID TYPE CONFIG FOR RESOURCE 0x7f0200ca
(standard input):      INVALID TYPE CONFIG FOR RESOURCE 0x7f0200cb
(standard input):      INVALID TYPE CONFIG FOR RESOURCE 0x7f0200ce
(standard input):      INVALID TYPE CONFIG FOR RESOURCE 0x7f0b00bc
(standard input):      INVALID TYPE CONFIG FOR RESOURCE 0x7f0c0229
(standard input):      INVALID TYPE CONFIG FOR RESOURCE 0x7f0c022a
(standard input):      INVALID TYPE CONFIG FOR RESOURCE 0x7f110086
(standard input):      INVALID TYPE CONFIG FOR RESOURCE 0x7f110087
(standard input):      INVALID TYPE CONFIG FOR RESOURCE 0x7f110088
(standard input):      INVALID TYPE CONFIG FOR RESOURCE 0x7f110089
(standard input):      INVALID TYPE CONFIG FOR RESOURCE 0x7f11008a

Nothing we can do at this point. Apktool can't determine the type of the resource, so it can't reliably create a fake Style for these resources. Manual intervention to recreate the styles and/or remove them is the only solution.

Manual intervention to recreate the styles

can you point to a discussion regarding this? thanks!


Update repo description

"Standalone Container Daemon" is a bit vague...
I rather like the description in the the readme: "A daemon to control runC". It's concrete and instantly makes you understand what it is.

done


RFC3164 parsing fails after the first message

See the enclosed test program (copied almost verbatim from your examples directory). When running the  test program and the enclosed perl to generate syslog compliant with RFC3164, the output for the first run of the perl is correct, i.e.:
map[severity:6 timestamp:2015-06-30 20:17:25 +0000 UTC hostname:logger: tag:This content:is a test from me priority:6 facility:0]

but the output for the second and subsequent runs of the perl is:
map[hostname: tag: content: priority:0 facility:0 severity:0 timestamp:0001-01-01 00:00:00 +0000 UTC]

i.e. parsing is failing. Restarting the golang code fixes it.
Introducing an (unnecessary) \n into the perl log does not fix it.
Test code as follows.
package main

/* Perl test program logger.pl

#!/usr/bin/perl

use strict;
use warnings;
use Sys::Syslog qw(:standard :macros setlogsock);

setlogsock({type=>"udp", port=>10514});
openlog("logger", "ndelay", LOG_LOCAL0);    # don't forget this
syslog(LOG_INFO, "This is a test from %s", "me");
closelog();

*/

import (
	"fmt"
	"gopkg.in/mcuadros/go-syslog.v2"
)

func main() {
	// something here
	channel := make(syslog.LogPartsChannel)
	handler := syslog.NewChannelHandler(channel)

	server := syslog.NewServer()
	server.SetFormat(syslog.RFC3164)
	server.SetHandler(handler)
	server.ListenUDP("<IP_ADDRESS>:10514")
	server.Boot()

	go func(channel syslog.LogPartsChannel) {
	    for logParts := range channel {
	        fmt.Println(logParts)
	    }
	}(channel)

	server.Wait()
}

Having run tcpdump the issue is that perl's Syslog routine (like many I believe) does not strictly conform to the standard.
Here's what a packet looks like:
17:17:35.646330 AF IPv4 (2), length 83: (tos 0x0, ttl 64, id 4594, offset 0, flags [none], proto UDP (17), length 79, bad cksum 0 (->6aaa)!)
    <IP_ADDRESS>.59804 > <IP_ADDRESS>.10514: [bad udp cksum 0xfe4e -> 0x933c!] UDP, length 51
	0x0000:  4500 004f 11f2 0000 4011 0000 7f00 0001<EMAIL_ADDRESS>	0x0010:  7f00 0001 e99c 2912 003b fe4e 3c36 3e4a  ......)..;.N<6>J
	0x0020:  756c 2020 3120 3137 3a31 373a 3335 206c  ul..1.17:17:35.l
	0x0030:  6f67 6765 723a 2054 6869 7320 6973 2061  ogger:.This.is.a
	0x0040:  2074 6573 7420 6672 6f6d 206d 650a 00    .test.from.me..

As you can see, the packet ends in an unwanted \n and a NUL. Neither of those should be present per the standard. I strongly suspect however that perl is not the only offender here.
What appears to be happen is that the go-syslog uses a bufio scanner which splits on \n. This is also wrong - see #14 - as the \n is not guaranteed to be there (indeed should not be there per RFC3164 which states all characters should be printable). However, it does split on that, and then the NUL is left in the buffer and prepended to the next (unrelated) UDP packet which happens to arrive.
I'm not sure of the right way to fix this. One could presumably supply a splitfunc which took \n(\0)+ as a delimiter, but that's only papering over the issue. The real issue it seems to me is that at least on UDP, there is no delimiter. The delimiter is the end of the UDP packet. Non printable trailing characters should just be ignored. This would also fix #14.

This pull request should fix it: https://github.com/abligh/go-syslog/commit/df573444e870c589591445efd55b4c953580a83f


Set correct OSSELOT_NAME for libusb1 and openssh

What is your preferred way to have this on kirkstone? Should I do another PR to kirkstone or do you merge the changes from master to the other branches?

Hi @PatrickVog, thanks for contributing! Don't worry about it, I will merge this PR and then cherry-pick the commits :slightly_smiling_face:


VScode does not debug C/C++ code after debugger update

I was using today, early morning and it was fine. Later, at night, Vscode did an update  C/C++ debugger of Microsoft. Now, I cannot debug.

My system info:

This is my Vscode properties
Version: 1.28.2
Commit: 7f3ce96ff4729c91352ae6def877e59c561f4850
Date: 2018-10-17T00:20:56.183Z
Electron: 2.0.9
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Architecture: x64

My code works with VScode-insiders.
what is the difference between them
Specs:
Version: 1.29.0-insider
Commit: 97ad72a02c351d6cde0fd32b41d9700a43e5964a
Date: 2018-10-31T06:13:36.475Z
Electron: 2.0.12
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Architecture: x64

@isidorn I checked my component on VScode & VScode insiders. I am using the same component, same version C/C++ debugger etc. I think, the problem because of VScode because i can compile & debug on VScode insider


'nodeagent' name confusing

The nodeagent template is badly named - we have another node agent implementing CNI, and there is no indication this is a citadel or security component.
Please rename to 'sds-agent' or simply 'isitio-sds', since that's what it does.
We need this before we launch 1.1, since after it's far harder to rename.

@quanjielin , can we rename it to citadel-agent please? Thanks.

Will the new agent called cni-agent?


Add micromamba to the CI

@wolfv could you please check it if it looks good or if I'm missing something obvious to run micromamba?
Thanks! ✨

looks good to me!


Google Email API URL needs to be updated

The previous URL no longer works https://www.googleapis.com/userinfo/email.
The current URL is: https://openidconnect.googleapis.com/v1/userinfo

Fixed in 1aa2339c50a9a96b45d00f561d4c08e420b3993a


onRemoveToken identify new tokens

Hi, on onAddToken:function(v, t, e)
I can check if v==t to identify new token added.
How can I check if those new token added are removed?

Hi the onAddToken function is only called is token is added in the token container, if the token already exists the onDuplicateToken function is called instead.


Need support for dynamically loading yaml config file

I have around 100 jobs written in sidetiq and I want to refactor them all to use sidekiq-scheduler. The thing is that many of them are using custom logic to determine whether to run or not. So this is what I attempt:
# sidekiq_scheduler.yml
some_fancy_job:
  cron: '0 * * * * *'
  class: SomeFancyJob
  enabled: <%= some_logic_which_returns_true_or_false %>
...

...
config.on(:startup) do
    schedule_file = "config/sidekiq_scheduler.yml"
    result = ERB.new(File.read(Rails.root.join(schedule_file))).result
    Sidekiq.schedule = YAML.load(result)
    Sidekiq::Scheduler.reload_schedule!
end
...

It works, but I don't know how to reload. It just loads the file once on start. The dynamic option doesn't seem to help.
Or is there a better way to do this?

Hi,
How different are those 100 jobs? Are they pretty similar?
How that custom logic decides whether to run or not a job? Does it need to connect to some external resource, like a DB? Make an HTTP request to some service? Is that custom logic the same for every job?
The simpler approach is to move that custom logic into each job ...
Another approach is to have an initializer, in which every 5 minutes (as an example) reads the yaml, set the schedule, and reloads, smth like:
scheduler = Rufus::Scheduler.new

scheduler.every '5m' do
    schedule_file = "config/sidekiq_scheduler.yml"
    result = ERB.new(File.read(Rails.root.join(schedule_file))).result
    Sidekiq.schedule = YAML.load(result)
    Sidekiq::Scheduler.reload_schedule!
end


UI system module VS1 Edition

Basic Ingame UI system featuring

Transform 2D with rudimentary anchor and pivot
Image to display colors or textures in ui
Button to detect clicks and perform actions (Does not render anything itself)
Progress bar with various directions (manages two child images)
Canvas that basically serves as parent for all ui components and resizes its transform 2d
Renderer components, if they are not present that go wont render s*t for ui.

UI elements require multiple components but they are all created together when adding the desired feature.
How to test

Create parent GO and add it a canvas
Create child and add either button image or progressbar (which creates more go)

Only way to create image with a texture is dragging it, i've created "cursed" code to have this feature for VS1. Had yaml serialization but will leave it as a separate pr for when the engine is using it.
I can explain how everything works but im too tired now sry guys <3, a lot can be improved but priority now is on it being avaliable for delivery.
Proof that kinda works:

Task linked: CU-1zqk81b Create UI System Module


Known issues and Re-implementing in Python

[ ] Rewrite the code in Python

[ ] Standard bracket conversion
[ ] Escape literal round brackets (parentheses) and replace _ to  " "(space)

ex: XXX_(YYY)→XXX \(YYY\)

[ ] Add quality tag(s)
[ ] (Issue) Detects and warns of bracket inconsistencies

[x] Implement function

[ ] Add API endpoints (#4)

How do we handle unclosed brackets? For example NAI prompt {{hello}
Currently I am planning to make it become {(hello:1.05) so it just treats all unclosed brackets as a literal string. But I am not sure if this is how NAI actually does it.


Followup #554

This PR removes redundant type casting in #554.

Sorry, but the branch name was wrong.


002_timescaledb_tune error

Hi,
I'm running HASSio in a RPi 3 Model.
After install timescaledb and try to start it, it stops immediately.
Logs:
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-banner.sh: executing...
-----------------------------------------------------------
 Add-on: TimescaleDB
 An open-source database built on PostgreSQL for analyzing time-series data with the power and convenience of SQL
-----------------------------------------------------------
 Add-on version: 0.2.1
 You are running the latest version of this add-on.
parse error: Expected string key before ':' at line 1, column 4
[12:43:08] ERROR: Unknown HTTP error occured
 System:   (aarch64 / raspberrypi3-64)
 Home Assistant Core: 0.109.4
 Home Assistant Supervisor: 222
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing...
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[12:43:12] INFO: Using existing PostgreSQL installation..
[12:43:12] INFO: done
[12:43:12] INFO: Tuning resources..
./run: line 45: /usr/share/timescaledb/002_timescaledb_tune.sh: Permission denied
[cont-finish.d] executing container finish scripts...
[cont-finish.d] 99-message.sh: executing...
[cont-finish.d] 99-message.sh: exited 0.
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal

My config:
databases:
  - homeassistant2
timescale_enabled:
  - homeassistant2
timescaledb:
  telemetry: basic
  maxmemory: 512MB
  maxcpus: '4'

Hi @le-andreazevedo , Thanks! I did nog expect any feedback so soon! Thanks!
I saw the issue myself just yet, and am fixing it now.

It seems a cross-compile issue in the CI/CD.
In the meantime, I have temporarily disabled auto-tuning, so you can start using the add-on, while I fix this issue.
Can you please give feedback if the rest works OK?

Fixed in 1.0.2.

Hi @Expaso,
Found a bug in pgAdmin 4 plugin; "OPEN WEB UI" is not redirecting correctly. I have to introduce the port manually in the url to get into de pdAdmin
Question:
Do I need any additional config to get HASS data recorded in timescaleDB?
Best regards,
Andre Azevedo

"Found a bug in pgAdmin 4 plugin; "OPEN WEB UI" is not redirecting correctly. I have to introduce the port manually in the url to get into de pgAdmin"

Are you using a port-numer after your URL of your hassio installation?

"Do I need any additional config to get HASS data recorded in timescaleDB?"

Yes. It's just the database server with timescale itself.
For data inflow from HA you can use this:
https://community.home-assistant.io/t/custom-component-long-time-state-storage-ltss-utilizing-timescaledb/155047

I think you also can install it with HACS.

@le-andreazevedo "Open Web UI" is now fixed in v1.0.1. (CD is running, update should be live within 30 mins)

Hi @Expaso,
v1.0.1 not showing in Add-on Store. Still showing v1.0.0 as the last available.
I'm not being able to inflow data to DB. HASS warning about config error, my LTSS config:
ltss:
    db_url: "postgresql://postgres:homeassistant@<IP_ADDRESS>:5432/homeassistant"

Hi @Expaso,
Can you help me about my last comment?
Thanks in advance

Hi @le-andreazevedo :  The LTSS error is a problem with ltss itself.  I've already commented on their issue.
In the meantime, you could edit /config/custom_components/ltss/__init__.py  , and replace the CONFIG_SCHEMA block on line 64 with this:
CONFIG_SCHEMA = vol.Schema(
    {
		DOMAIN: FILTER_SCHEMA.extend(
			{
				vol.Required(CONF_DB_URL): cv.string,
			}
		)
    },
    extra=vol.ALLOW_EXTRA,
)

That should fix the config-validation error.

everything fixed with your recent updates
Thanks a lot

You're welcome, Happy querying!!
I saw that the LTSS author also released the update with above code in HACS.
ProTip: The LTSS extention stores the JSON-body in a text-column, while Postgress can bet setup to use the JSONB data type on that column.
(using something like:
ALTER TABLE ltss
ALTER COLUMN attrobutes TYPE JSON USING attributes::jsonb;
)
This allows you to create an index on the JSON, should you need it.
See also: https://github.com/freol35241/ltss/issues/6


AFTER CLONE

after clone i got like this .... i try rebuild again and gradle sync too

Hi @waseem-terafort
The local.properties file is not part of my repository.
It seems that you're using Android Studio, which for whatever reason auto-generated this file.
Can you share some more details why you cloned the Repo, so that I can give you some guidance?
If you just want to use the qr-code library you can simply obtain it from maven central, which is also outlined in the Quick Start section of my README.
And what is actually not working for you?
In my opinion you can simply delete the local.properties file, since no android is needed here.


Refs 3050: delete all snapshots a second time

Summary
Delete all snapshots a 2nd time
Testing steps
none
Checklist

[ ] Tested with snapshotting feature disabled and pulp server URL not configured if appropriate

actually the snapshots i saw were like the iqe tests that run after deployment


Added the function server()->setFirewallGroup(, ) corresponding to th…

I want to collaborate by adding the API "/v1/server/firewall_group_set"

Apologies for the late reaction, somehow missed the notifications on this one.
Thanks for the addition!!


Feature/subdomain user operation

Issue #, if available: CTECH-214
Description of changes:
When account and domain are specified CAPC will find (or create) a user in that domain and perform operations as that user. 🎆
Testing performed:
TBD
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Rebase came out ugly. Deleting and moving to new branch.


Lock file gets incorrect hashes when a custom index is specified

I am specifying a custom index in Pipfile to host a wheel for pycurl (which is also on PyPI, but does not have a wheel for my environment there). My index just hosts the wheel, with a SHA256 hash specified.
When I do pipenv install, I get an error saying that the hash is not found, and showing a list of expected hashes. I don't know where it got that list from, but it's not from my index... The install fails, and doesn't install pycurl.
Describe you environment

OS is Windows 10
Python version: $ python -V. Python 3.6.2
Pipenv version: $ pipenv --version. pipenv, version 8.2.7

Pipenv file:
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[[source]]
url = "https://pfmoore.github.io/simple"
verify_ssl = true
name = "pycurl"

[packages]
pycurl = {version="*", index="pycurl"}

[dev-packages]

Expected result
I expected pipenv to download the wheel (which is valid for my environment, confirmed via pip install) and install it.
Actual result
Output from pipfile install --verbose:
Creating a virtualenv for this project…
Using real prefix 'C:\\Users\\Gustav\\AppData\\Local\\Programs\\Python\\Python36'
New python executable in C:\Users\Gustav\.virtualenvs\riot_data-g6PtQnzc\Scripts\python.exe
Installing setuptools, pip, wheel...done.

Virtualenv location: C:\Users\Gustav\.virtualenvs\riot_data-g6PtQnzc
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (3d54a4)!
Installing dependencies from Pipfile.lock (3d54a4)…
Installing 'pycurl==7.43.0 --hash=sha256:de2980f2839029ffa2917fcc1eb84b2dc736f0a30a5413645e514a2b61df04ed  --hash=sha256:d6cb0917ce564c9edc377ae436bc0963ee72be8873c90bcce7470f1670c3baef  --hash=sha256:1ba222eafcb740805d5c9fe778a47d2704bf764abe9a2546de90f159e4c3a116  --hash=sha256:f614c93422f31761764a002297b56a0c7f0aeaee7badb0fb43764bda13467697  --hash=sha256:b0af8badfda56b175e190cf0fb1a18d2bd600a677d3b5d9f7a579823eec74fa4  --hash=sha256:9db493308f092b87d8113cea322886f07c2f1b64f9839dffd4a65c300f91244b  --hash=sha256:26dcfb05ecbaa27ffaa71a4a3add217ec9e1cee2998b727e1b9e6eff7264d5f8  --hash=sha256:413b82b25795dcd0656e2d254892a16f531d88eccabc3a97c9c9451781caf5e8  --hash=sha256:89758f2375fe44b139fcc11e305a060c75a4a89178b5066a3894055fe069a80e  --hash=sha256:991d221a59c5546370e618241ec05e7d85efd7c5126fb33387de0a12c2cfe8e4  --hash=sha256:39a7399e7da031f4648bd6ea273b02c0cf203471b63fe3629d19ebfd13e5701f  --hash=sha256:9997e9994860cc99f2622de4133e0dd1756797852645dc6942b58142014f2e59  --hash=sha256:aa975c19b79b6aa6c0518c0cc2ae33528900478f0b500531dbcdbf05beec584c  --hash=sha256:7d1ffc138132a7dcb322d41b1f7d5ed7e2f9bb0dea3103ae5ca25fae2a1f689b  --hash=sha256:074a565bc33cfc484fa87339136876f1d8176bd30bb214235e11382b363beef9  --hash=sha256:d6ac0f902cb82cab13bc9488fb5240cf86325bd24800dc5ab677f8044993f6fc  --hash=sha256:61d4b1a2dc1ecdb3b6d4188d63ab884e8768cfc85f37f48c481935b784920137  --hash=sha256:1339972f6faf9e7feb54e0d62b018dcea6c99fb5ca46fef4a8d20c2a810d1f2d  --hash=sha256:30983ec2f88ee0d26d290f276563c26bc1d302f1f6fc447092368bce7a93f0ea  --hash=sha256:9075d35c8bafb96a836a7558b37fe697ec04646f76239254b06e87eb360097c7  --hash=sha256:36c3a2d6b4ca31f39ac84fe9b7616d338191f956710c7912c546ffef18600f2f  --hash=sha256:024fba378134633694b7a64ec7cb8ef9a98e3ce6b5635247b51b7282b96f33de  --hash=sha256:826866c43ef532b7633e24332b7f4bc6b309e72b33631c2b06258fdb284dd55b  --hash=sha256:59f637ffe21a90b6155df34b9fdf3030b6453859110db8700bf17f569c6449d6  --hash=sha256:614687bdc73246ce85f73b7199d533a222efdda954e84a6bd692fef25fa3b6ac'
$ "C:\Users\Gustav\.virtualenvs\riot_data-g6PtQnzc\Scripts\pip.exe" install   --verbose --no-deps  -r C:\Users\Gustav\AppData\Local\Temp\pipenv-yulvrmgc-requirement.txt --require-hashes -i https://pfmoore.github.io/simple --exists-action w
Config variable 'Py_DEBUG' is unset, Python ABI tag may be incorrect
Config variable 'WITH_PYMALLOC' is unset, Python ABI tag may be incorrect
Collecting pycurl==7.43.0 (from -r C:\Users\Gustav\AppData\Local\Temp\pipenv-yulvrmgc-requirement.txt (line 1))
  1 location(s) to search for versions of pycurl:
  * https://pfmoore.github.io/simple/pycurl/
  Getting page https://pfmoore.github.io/simple/pycurl/
  Looking up "https://pfmoore.github.io/simple/pycurl/" in the cache
  Current age based on date: 94
  Freshness lifetime from max-age: 600
  Freshness lifetime from request max-age: 600
  The response is "fresh", returning cached response
  600 > 94
  Analyzing links from page https://pfmoore.github.io/simple/pycurl/
    Found link https://pfmoore.github.io/simple/pycurl/pycurl-7.43.0-cp36-cp36m-win_amd64.whl#sha256=7b9443007238914a6cc7fb6c3442aa00f06868b141837097f249adf54add11b6 (from https://pfmoore.github.io/simple/pycurl/), version: 7.43.0
  Using version 7.43.0 (newest of versions: 7.43.0)
  Looking up "https://pfmoore.github.io/simple/pycurl/pycurl-7.43.0-cp36-cp36m-win_amd64.whl" in the cache
  Current age based on date: 92
  Freshness lifetime from max-age: 600
  The response is "fresh", returning cached response
  600 > 92
  Using cached https://pfmoore.github.io/simple/pycurl/pycurl-7.43.0-cp36-cp36m-win_amd64.whl
  Downloading from URL https://pfmoore.github.io/simple/pycurl/pycurl-7.43.0-cp36-cp36m-win_amd64.whl#sha256=7b9443007238914a6cc7fb6c3442aa00f06868b141837097f249adf54add11b6 (from https://pfmoore.github.io/simple/pycurl/)
Cleaning up...
THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
    pycurl==7.43.0 from https://pfmoore.github.io/simple/pycurl/pycurl-7.43.0-cp36-cp36m-win_amd64.whl#sha256=7b9443007238914a6cc7fb6c3442aa00f06868b141837097f249adf54add11b6 (from -r C:\Users\Gustav\AppData\Local\Temp\pipenv-yulvrmgc-requirement.txt (line 1)):
        Expected sha256 de2980f2839029ffa2917fcc1eb84b2dc736f0a30a5413645e514a2b61df04ed
        Expected     or d6cb0917ce564c9edc377ae436bc0963ee72be8873c90bcce7470f1670c3baef
        Expected     or 1ba222eafcb740805d5c9fe778a47d2704bf764abe9a2546de90f159e4c3a116
        Expected     or f614c93422f31761764a002297b56a0c7f0aeaee7badb0fb43764bda13467697
        Expected     or b0af8badfda56b175e190cf0fb1a18d2bd600a677d3b5d9f7a579823eec74fa4
        Expected     or 9db493308f092b87d8113cea322886f07c2f1b64f9839dffd4a65c300f91244b
        Expected     or 26dcfb05ecbaa27ffaa71a4a3add217ec9e1cee2998b727e1b9e6eff7264d5f8
        Expected     or 413b82b25795dcd0656e2d254892a16f531d88eccabc3a97c9c9451781caf5e8
        Expected     or 89758f2375fe44b139fcc11e305a060c75a4a89178b5066a3894055fe069a80e
        Expected     or 991d221a59c5546370e618241ec05e7d85efd7c5126fb33387de0a12c2cfe8e4
        Expected     or 39a7399e7da031f4648bd6ea273b02c0cf203471b63fe3629d19ebfd13e5701f
        Expected     or 9997e9994860cc99f2622de4133e0dd1756797852645dc6942b58142014f2e59
        Expected     or aa975c19b79b6aa6c0518c0cc2ae33528900478f0b500531dbcdbf05beec584c
        Expected     or 7d1ffc138132a7dcb322d41b1f7d5ed7e2f9bb0dea3103ae5ca25fae2a1f689b
        Expected     or 074a565bc33cfc484fa87339136876f1d8176bd30bb214235e11382b363beef9
        Expected     or d6ac0f902cb82cab13bc9488fb5240cf86325bd24800dc5ab677f8044993f6fc
        Expected     or 61d4b1a2dc1ecdb3b6d4188d63ab884e8768cfc85f37f48c481935b784920137
        Expected     or 1339972f6faf9e7feb54e0d62b018dcea6c99fb5ca46fef4a8d20c2a810d1f2d
        Expected     or 30983ec2f88ee0d26d290f276563c26bc1d302f1f6fc447092368bce7a93f0ea
        Expected     or 9075d35c8bafb96a836a7558b37fe697ec04646f76239254b06e87eb360097c7
        Expected     or 36c3a2d6b4ca31f39ac84fe9b7616d338191f956710c7912c546ffef18600f2f
        Expected     or 024fba378134633694b7a64ec7cb8ef9a98e3ce6b5635247b51b7282b96f33de
        Expected     or 826866c43ef532b7633e24332b7f4bc6b309e72b33631c2b06258fdb284dd55b
        Expected     or 59f637ffe21a90b6155df34b9fdf3030b6453859110db8700bf17f569c6449d6
        Expected     or 614687bdc73246ce85f73b7199d533a222efdda954e84a6bd692fef25fa3b6ac
             Got        7b9443007238914a6cc7fb6c3442aa00f06868b141837097f249adf54add11b6

Exception information:
Traceback (most recent call last):
  File "c:\users\gustav\.virtualenvs\riot_data-g6ptqnzc\lib\site-packages\pip\basecommand.py", line 215, in main
    status = self.run(options, args)
  File "c:\users\gustav\.virtualenvs\riot_data-g6ptqnzc\lib\site-packages\pip\commands\install.py", line 335, in run
    wb.build(autobuilding=True)
  File "c:\users\gustav\.virtualenvs\riot_data-g6ptqnzc\lib\site-packages\pip\wheel.py", line 749, in build
    self.requirement_set.prepare_files(self.finder)
  File "c:\users\gustav\.virtualenvs\riot_data-g6ptqnzc\lib\site-packages\pip\req\req_set.py", line 386, in prepare_files
    raise hash_errors
pip.exceptions.HashErrors: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
    pycurl==7.43.0 from https://pfmoore.github.io/simple/pycurl/pycurl-7.43.0-cp36-cp36m-win_amd64.whl#sha256=7b9443007238914a6cc7fb6c3442aa00f06868b141837097f249adf54add11b6 (from -r C:\Users\Gustav\AppData\Local\Temp\pipenv-yulvrmgc-requirement.txt (line 1)):
        Expected sha256 de2980f2839029ffa2917fcc1eb84b2dc736f0a30a5413645e514a2b61df04ed
        Expected     or d6cb0917ce564c9edc377ae436bc0963ee72be8873c90bcce7470f1670c3baef
        Expected     or 1ba222eafcb740805d5c9fe778a47d2704bf764abe9a2546de90f159e4c3a116
        Expected     or f614c93422f31761764a002297b56a0c7f0aeaee7badb0fb43764bda13467697
        Expected     or b0af8badfda56b175e190cf0fb1a18d2bd600a677d3b5d9f7a579823eec74fa4
        Expected     or 9db493308f092b87d8113cea322886f07c2f1b64f9839dffd4a65c300f91244b
        Expected     or 26dcfb05ecbaa27ffaa71a4a3add217ec9e1cee2998b727e1b9e6eff7264d5f8
        Expected     or 413b82b25795dcd0656e2d254892a16f531d88eccabc3a97c9c9451781caf5e8
        Expected     or 89758f2375fe44b139fcc11e305a060c75a4a89178b5066a3894055fe069a80e
        Expected     or 991d221a59c5546370e618241ec05e7d85efd7c5126fb33387de0a12c2cfe8e4
        Expected     or 39a7399e7da031f4648bd6ea273b02c0cf203471b63fe3629d19ebfd13e5701f
        Expected     or 9997e9994860cc99f2622de4133e0dd1756797852645dc6942b58142014f2e59
        Expected     or aa975c19b79b6aa6c0518c0cc2ae33528900478f0b500531dbcdbf05beec584c
        Expected     or 7d1ffc138132a7dcb322d41b1f7d5ed7e2f9bb0dea3103ae5ca25fae2a1f689b
        Expected     or 074a565bc33cfc484fa87339136876f1d8176bd30bb214235e11382b363beef9
        Expected     or d6ac0f902cb82cab13bc9488fb5240cf86325bd24800dc5ab677f8044993f6fc
        Expected     or 61d4b1a2dc1ecdb3b6d4188d63ab884e8768cfc85f37f48c481935b784920137
        Expected     or 1339972f6faf9e7feb54e0d62b018dcea6c99fb5ca46fef4a8d20c2a810d1f2d
        Expected     or 30983ec2f88ee0d26d290f276563c26bc1d302f1f6fc447092368bce7a93f0ea
        Expected     or 9075d35c8bafb96a836a7558b37fe697ec04646f76239254b06e87eb360097c7
        Expected     or 36c3a2d6b4ca31f39ac84fe9b7616d338191f956710c7912c546ffef18600f2f
        Expected     or 024fba378134633694b7a64ec7cb8ef9a98e3ce6b5635247b51b7282b96f33de
        Expected     or 826866c43ef532b7633e24332b7f4bc6b309e72b33631c2b06258fdb284dd55b
        Expected     or 59f637ffe21a90b6155df34b9fdf3030b6453859110db8700bf17f569c6449d6
        Expected     or 614687bdc73246ce85f73b7199d533a222efdda954e84a6bd692fef25fa3b6ac
             Got        7b9443007238914a6cc7fb6c3442aa00f06868b141837097f249adf54add11b6

An error occurred while installing pycurl==7.43.0! Will try again.
  ================================ 1/1 - 00:00:00
Installing initially–failed dependencies…
Installing 'pycurl==7.43.0 --hash=sha256:de2980f2839029ffa2917fcc1eb84b2dc736f0a30a5413645e514a2b61df04ed  --hash=sha256:d6cb0917ce564c9edc377ae436bc0963ee72be8873c90bcce7470f1670c3baef  --hash=sha256:1ba222eafcb740805d5c9fe778a47d2704bf764abe9a2546de90f159e4c3a116  --hash=sha256:f614c93422f31761764a002297b56a0c7f0aeaee7badb0fb43764bda13467697  --hash=sha256:b0af8badfda56b175e190cf0fb1a18d2bd600a677d3b5d9f7a579823eec74fa4  --hash=sha256:9db493308f092b87d8113cea322886f07c2f1b64f9839dffd4a65c300f91244b  --hash=sha256:26dcfb05ecbaa27ffaa71a4a3add217ec9e1cee2998b727e1b9e6eff7264d5f8  --hash=sha256:413b82b25795dcd0656e2d254892a16f531d88eccabc3a97c9c9451781caf5e8  --hash=sha256:89758f2375fe44b139fcc11e305a060c75a4a89178b5066a3894055fe069a80e  --hash=sha256:991d221a59c5546370e618241ec05e7d85efd7c5126fb33387de0a12c2cfe8e4  --hash=sha256:39a7399e7da031f4648bd6ea273b02c0cf203471b63fe3629d19ebfd13e5701f  --hash=sha256:9997e9994860cc99f2622de4133e0dd1756797852645dc6942b58142014f2e59  --hash=sha256:aa975c19b79b6aa6c0518c0cc2ae33528900478f0b500531dbcdbf05beec584c  --hash=sha256:7d1ffc138132a7dcb322d41b1f7d5ed7e2f9bb0dea3103ae5ca25fae2a1f689b  --hash=sha256:074a565bc33cfc484fa87339136876f1d8176bd30bb214235e11382b363beef9  --hash=sha256:d6ac0f902cb82cab13bc9488fb5240cf86325bd24800dc5ab677f8044993f6fc  --hash=sha256:61d4b1a2dc1ecdb3b6d4188d63ab884e8768cfc85f37f48c481935b784920137  --hash=sha256:1339972f6faf9e7feb54e0d62b018dcea6c99fb5ca46fef4a8d20c2a810d1f2d  --hash=sha256:30983ec2f88ee0d26d290f276563c26bc1d302f1f6fc447092368bce7a93f0ea  --hash=sha256:9075d35c8bafb96a836a7558b37fe697ec04646f76239254b06e87eb360097c7  --hash=sha256:36c3a2d6b4ca31f39ac84fe9b7616d338191f956710c7912c546ffef18600f2f  --hash=sha256:024fba378134633694b7a64ec7cb8ef9a98e3ce6b5635247b51b7282b96f33de  --hash=sha256:826866c43ef532b7633e24332b7f4bc6b309e72b33631c2b06258fdb284dd55b  --hash=sha256:59f637ffe21a90b6155df34b9fdf3030b6453859110db8700bf17f569c6449d6  --hash=sha256:614687bdc73246ce85f73b7199d533a222efdda954e84a6bd692fef25fa3b6ac'
$ "C:\Users\Gustav\.virtualenvs\riot_data-g6PtQnzc\Scripts\pip.exe" install   --verbose --no-deps  -r C:\Users\Gustav\AppData\Local\Temp\pipenv-lwi68f7a-requirement.txt --require-hashes -i https://pypi.python.org/simple --exists-action w
$ "C:\Users\Gustav\.virtualenvs\riot_data-g6PtQnzc\Scripts\pip.exe" install   --verbose --no-deps  -r C:\Users\Gustav\AppData\Local\Temp\pipenv-lwi68f7a-requirement.txt --require-hashes -i https://pfmoore.github.io/simple --exists-action w
Config variable 'Py_DEBUG' is unset, Python ABI tag may be incorrect
Config variable 'WITH_PYMALLOC' is unset, Python ABI tag may be incorrect
Collecting pycurl==7.43.0
  1 location(s) to search for versions of pycurl:
  * https://pfmoore.github.io/simple/pycurl/
  Getting page https://pfmoore.github.io/simple/pycurl/
  Looking up "https://pfmoore.github.io/simple/pycurl/" in the cache
  Current age based on date: 97
  Freshness lifetime from max-age: 600
  Freshness lifetime from request max-age: 600
  The response is "fresh", returning cached response
  600 > 97
  Analyzing links from page https://pfmoore.github.io/simple/pycurl/
    Found link https://pfmoore.github.io/simple/pycurl/pycurl-7.43.0-cp36-cp36m-win_amd64.whl#sha256=7b9443007238914a6cc7fb6c3442aa00f06868b141837097f249adf54add11b6 (from https://pfmoore.github.io/simple/pycurl/), version: 7.43.0
  Using version 7.43.0 (newest of versions: 7.43.0)
  Looking up "https://pfmoore.github.io/simple/pycurl/pycurl-7.43.0-cp36-cp36m-win_amd64.whl" in the cache
  Current age based on date: 95
  Freshness lifetime from max-age: 600
  The response is "fresh", returning cached response
  600 > 95
  Using cached https://pfmoore.github.io/simple/pycurl/pycurl-7.43.0-cp36-cp36m-win_amd64.whl
  Downloading from URL https://pfmoore.github.io/simple/pycurl/pycurl-7.43.0-cp36-cp36m-win_amd64.whl#sha256=7b9443007238914a6cc7fb6c3442aa00f06868b141837097f249adf54add11b6 (from https://pfmoore.github.io/simple/pycurl/)
Cleaning up...
Exception information:
Traceback (most recent call last):
  File "c:\users\gustav\.virtualenvs\riot_data-g6ptqnzc\lib\site-packages\pip\basecommand.py", line 215, in main
    status = self.run(options, args)
  File "c:\users\gustav\.virtualenvs\riot_data-g6ptqnzc\lib\site-packages\pip\commands\install.py", line 335, in run
    wb.build(autobuilding=True)
  File "c:\users\gustav\.virtualenvs\riot_data-g6ptqnzc\lib\site-packages\pip\wheel.py", line 749, in build
    self.requirement_set.prepare_files(self.finder)
  File "c:\users\gustav\.virtualenvs\riot_data-g6ptqnzc\lib\site-packages\pip\req\req_set.py", line 386, in prepare_files
    raise hash_errors
pip.exceptions.HashErrors: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
    pycurl==7.43.0 from https://pfmoore.github.io/simple/pycurl/pycurl-7.43.0-cp36-cp36m-win_amd64.whl#sha256=7b9443007238914a6cc7fb6c3442aa00f06868b141837097f249adf54add11b6
        Expected sha256 de2980f2839029ffa2917fcc1eb84b2dc736f0a30a5413645e514a2b61df04ed
        Expected     or d6cb0917ce564c9edc377ae436bc0963ee72be8873c90bcce7470f1670c3baef
        Expected     or 1ba222eafcb740805d5c9fe778a47d2704bf764abe9a2546de90f159e4c3a116
        Expected     or f614c93422f31761764a002297b56a0c7f0aeaee7badb0fb43764bda13467697
        Expected     or b0af8badfda56b175e190cf0fb1a18d2bd600a677d3b5d9f7a579823eec74fa4
        Expected     or 9db493308f092b87d8113cea322886f07c2f1b64f9839dffd4a65c300f91244b
        Expected     or 26dcfb05ecbaa27ffaa71a4a3add217ec9e1cee2998b727e1b9e6eff7264d5f8
        Expected     or 413b82b25795dcd0656e2d254892a16f531d88eccabc3a97c9c9451781caf5e8
        Expected     or 89758f2375fe44b139fcc11e305a060c75a4a89178b5066a3894055fe069a80e
        Expected     or 991d221a59c5546370e618241ec05e7d85efd7c5126fb33387de0a12c2cfe8e4
        Expected     or 39a7399e7da031f4648bd6ea273b02c0cf203471b63fe3629d19ebfd13e5701f
        Expected     or 9997e9994860cc99f2622de4133e0dd1756797852645dc6942b58142014f2e59
        Expected     or aa975c19b79b6aa6c0518c0cc2ae33528900478f0b500531dbcdbf05beec584c
        Expected     or 7d1ffc138132a7dcb322d41b1f7d5ed7e2f9bb0dea3103ae5ca25fae2a1f689b
        Expected     or 074a565bc33cfc484fa87339136876f1d8176bd30bb214235e11382b363beef9
        Expected     or d6ac0f902cb82cab13bc9488fb5240cf86325bd24800dc5ab677f8044993f6fc
        Expected     or 61d4b1a2dc1ecdb3b6d4188d63ab884e8768cfc85f37f48c481935b784920137
        Expected     or 1339972f6faf9e7feb54e0d62b018dcea6c99fb5ca46fef4a8d20c2a810d1f2d
        Expected     or 30983ec2f88ee0d26d290f276563c26bc1d302f1f6fc447092368bce7a93f0ea
        Expected     or 9075d35c8bafb96a836a7558b37fe697ec04646f76239254b06e87eb360097c7
        Expected     or 36c3a2d6b4ca31f39ac84fe9b7616d338191f956710c7912c546ffef18600f2f
        Expected     or 024fba378134633694b7a64ec7cb8ef9a98e3ce6b5635247b51b7282b96f33de
        Expected     or 826866c43ef532b7633e24332b7f4bc6b309e72b33631c2b06258fdb284dd55b
        Expected     or 59f637ffe21a90b6155df34b9fdf3030b6453859110db8700bf17f569c6449d6
        Expected     or 614687bdc73246ce85f73b7199d533a222efdda954e84a6bd692fef25fa3b6ac
             Got        7b9443007238914a6cc7fb6c3442aa00f06868b141837097f249adf54add11b6

THESE PACKAGES DO NOT MATCH THE HASHES FROM Pipfile.lock!. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
    pycurl==7.43.0 from https://pfmoore.github.io/simple/pycurl/pycurl-7.43.0-cp36-cp36m-win_amd64.whl#sha256=7b9443007238914a6cc7fb6c3442aa00f06868b141837097f249adf54add11b6 (from -r C:\Users\Gustav\AppData\Local\Temp\pipenv-lwi68f7a-requirement.txt (line 1)):
        Expected sha256 de2980f2839029ffa2917fcc1eb84b2dc736f0a30a5413645e514a2b61df04ed
        Expected     or d6cb0917ce564c9edc377ae436bc0963ee72be8873c90bcce7470f1670c3baef
        Expected     or 1ba222eafcb740805d5c9fe778a47d2704bf764abe9a2546de90f159e4c3a116
        Expected     or f614c93422f31761764a002297b56a0c7f0aeaee7badb0fb43764bda13467697
        Expected     or b0af8badfda56b175e190cf0fb1a18d2bd600a677d3b5d9f7a579823eec74fa4
        Expected     or 9db493308f092b87d8113cea322886f07c2f1b64f9839dffd4a65c300f91244b
        Expected     or 26dcfb05ecbaa27ffaa71a4a3add217ec9e1cee2998b727e1b9e6eff7264d5f8
        Expected     or 413b82b25795dcd0656e2d254892a16f531d88eccabc3a97c9c9451781caf5e8
        Expected     or 89758f2375fe44b139fcc11e305a060c75a4a89178b5066a3894055fe069a80e
        Expected     or 991d221a59c5546370e618241ec05e7d85efd7c5126fb33387de0a12c2cfe8e4
        Expected     or 39a7399e7da031f4648bd6ea273b02c0cf203471b63fe3629d19ebfd13e5701f
        Expected     or 9997e9994860cc99f2622de4133e0dd1756797852645dc6942b58142014f2e59
        Expected     or aa975c19b79b6aa6c0518c0cc2ae33528900478f0b500531dbcdbf05beec584c
        Expected     or 7d1ffc138132a7dcb322d41b1f7d5ed7e2f9bb0dea3103ae5ca25fae2a1f689b
        Expected     or 074a565bc33cfc484fa87339136876f1d8176bd30bb214235e11382b363beef9
        Expected     or d6ac0f902cb82cab13bc9488fb5240cf86325bd24800dc5ab677f8044993f6fc
        Expected     or 61d4b1a2dc1ecdb3b6d4188d63ab884e8768cfc85f37f48c481935b784920137
        Expected     or 1339972f6faf9e7feb54e0d62b018dcea6c99fb5ca46fef4a8d20c2a810d1f2d
        Expected     or 30983ec2f88ee0d26d290f276563c26bc1d302f1f6fc447092368bce7a93f0ea
        Expected     or 9075d35c8bafb96a836a7558b37fe697ec04646f76239254b06e87eb360097c7
        Expected     or 36c3a2d6b4ca31f39ac84fe9b7616d338191f956710c7912c546ffef18600f2f
        Expected     or 024fba378134633694b7a64ec7cb8ef9a98e3ce6b5635247b51b7282b96f33de
        Expected     or 826866c43ef532b7633e24332b7f4bc6b309e72b33631c2b06258fdb284dd55b
        Expected     or 59f637ffe21a90b6155df34b9fdf3030b6453859110db8700bf17f569c6449d6
        Expected     or 614687bdc73246ce85f73b7199d533a222efdda954e84a6bd692fef25fa3b6ac
             Got        7b9443007238914a6cc7fb6c3442aa00f06868b141837097f249adf54add11b6

     ================================ 0/1 - 00:00:02

Steps to replicate

Create a new, empty directory.
Add a Pipfile with the content as given above. The index https://pfmoore.github.io/simple is publicly available, so should work fine to reproduce the issue.
Run pipenv install.

@pfmoore Im just taking a random stab at this but you may need to rename the wheel to include version info in order for pip-tools to resolve it properly

@techalchemy the wheel name does include the version - pycurl-7.43.0-cp36-cp36m-win_amd64.whl.
If you meant the name in the Pipfile, then the whole point here is to get the latest version available from the source, so if I have to specify the version, that defeats the object, surely?

@pfmoore no sorry I was on mobile and didn't click all the way through, you covered exactly what I meant.  I'll check, we use pip-tools to resolve the lockfile but I am not sure if we are passing the custom indexes to it.  It's pulling hashes from pypi right? What happens if you run pipenv lock --clear?

I guess the hashes must come from PyPI, but I don't know how, as I can't find them anywhere on there (PyPI has md5 hashes but not sha256).
I tried pipenv lock --clear, although I'm not sure what I should expect. What I got is:
>pipenv lock --clear
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (3d54a4)!
>pipenv install
Installing dependencies from Pipfile.lock (3d54a4)…
An error occurred while installing pycurl==7.43.0! Will try again.
  ================================ 1/1 - 00:00:00
Installing initially–failed dependencies…
Collecting pycurl==7.43.0 ----------- 0/1 - 00:00:00
  Using cached https://pfmoore.github.io/simple/pycurl/pycurl-7.43.0-cp36-cp36m-win_amd64.whl

THESE PACKAGES DO NOT MATCH THE HASHES FROM Pipfile.lock!. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
    pycurl==7.43.0 from https://pfmoore.github.io/simple/pycurl/pycurl-7.43.0-cp36-cp36m-win_amd64.whl#sha256=7b9443007238914a6cc7fb6c3442aa00f06868b141837097f249adf54add11b6 (from -r C:\Users\Gustav\AppData\Local\Temp\pipenv-_xdlfnxh-requirement.txt (line 1)):
        Expected sha256 de2980f2839029ffa2917fcc1eb84b2dc736f0a30a5413645e514a2b61df04ed
        Expected     or d6cb0917ce564c9edc377ae436bc0963ee72be8873c90bcce7470f1670c3baef
        Expected     or 1ba222eafcb740805d5c9fe778a47d2704bf764abe9a2546de90f159e4c3a116
        Expected     or f614c93422f31761764a002297b56a0c7f0aeaee7badb0fb43764bda13467697
        Expected     or b0af8badfda56b175e190cf0fb1a18d2bd600a677d3b5d9f7a579823eec74fa4
        Expected     or 9db493308f092b87d8113cea322886f07c2f1b64f9839dffd4a65c300f91244b
        Expected     or 26dcfb05ecbaa27ffaa71a4a3add217ec9e1cee2998b727e1b9e6eff7264d5f8
        Expected     or 413b82b25795dcd0656e2d254892a16f531d88eccabc3a97c9c9451781caf5e8
        Expected     or 89758f2375fe44b139fcc11e305a060c75a4a89178b5066a3894055fe069a80e
        Expected     or 991d221a59c5546370e618241ec05e7d85efd7c5126fb33387de0a12c2cfe8e4
        Expected     or 39a7399e7da031f4648bd6ea273b02c0cf203471b63fe3629d19ebfd13e5701f
        Expected     or 9997e9994860cc99f2622de4133e0dd1756797852645dc6942b58142014f2e59
        Expected     or aa975c19b79b6aa6c0518c0cc2ae33528900478f0b500531dbcdbf05beec584c
        Expected     or 7d1ffc138132a7dcb322d41b1f7d5ed7e2f9bb0dea3103ae5ca25fae2a1f689b
        Expected     or 074a565bc33cfc484fa87339136876f1d8176bd30bb214235e11382b363beef9
        Expected     or d6ac0f902cb82cab13bc9488fb5240cf86325bd24800dc5ab677f8044993f6fc
        Expected     or 61d4b1a2dc1ecdb3b6d4188d63ab884e8768cfc85f37f48c481935b784920137
        Expected     or 1339972f6faf9e7feb54e0d62b018dcea6c99fb5ca46fef4a8d20c2a810d1f2d
        Expected     or 30983ec2f88ee0d26d290f276563c26bc1d302f1f6fc447092368bce7a93f0ea
        Expected     or 9075d35c8bafb96a836a7558b37fe697ec04646f76239254b06e87eb360097c7
        Expected     or 36c3a2d6b4ca31f39ac84fe9b7616d338191f956710c7912c546ffef18600f2f
        Expected     or 024fba378134633694b7a64ec7cb8ef9a98e3ce6b5635247b51b7282b96f33de
        Expected     or 826866c43ef532b7633e24332b7f4bc6b309e72b33631c2b06258fdb284dd55b
        Expected     or 59f637ffe21a90b6155df34b9fdf3030b6453859110db8700bf17f569c6449d6
        Expected     or 614687bdc73246ce85f73b7199d533a222efdda954e84a6bd692fef25fa3b6ac
             Got        7b9443007238914a6cc7fb6c3442aa00f06868b141837097f249adf54add11b6

     ================================ 0/1 - 00:00:02

Oh pypi has sha256 hashes, you just have to request them specifically when you look.  For instance, pycurl==7.4.3 has a bdist that is probably a match for your dependency specification despite it having python35 in its name, and the hash is the one starting with 9997:
See here for the json formatted version

Ah, I was looking at https://pypi.python.org/pypi/pycurl/json. My mistake.
Unfortunately, if the wheel says it's for Python 3.5 (which that one does) it's not installable on Python 3.6. That's why I need to get the wheel from a different index...

Yeah, we rely on Warehouse rather than the legacy pypi server for hashes @pfmoore. I agree this should work for your use case though. A lot of the hash work that we'd previously done was ripped out and redone by Kenneth recently and I don't know if we have proper test coverage around cases like this.
We need to try to resolve the hash back to the third party instance, which we don't currently do. In the event it's not available though, we'll probably have to include no hashes. You'll need to use --ignore-hashes then which is turns off checking for all packages. Not ideal, but I don't know if we have a better option at this point.

Well... we've removed --ignore-hashes despite still having all the code for it. We may not have a tractable solution currently. I'll start poking around at what we have for options.

@nateprewitt thanks for the explanation. Am I right that by including #sha= in the data in my webpage, I'm providing the needed hash for the file? It is sufficient to implement just a PEP 503 index, I don't need a JSON API as well? (I understand what you're saying, that you don't do that properly at the moment - I just want to confirm that you don't require anything beyond PEP 503 support).
There's no massive rush - I can work around this for now just by manually installing pycurl with pip. But I'll be happy to help test if you need me to.

@nateprewitt wait why did we remove --ignore-hashes? It seems like it is sufficiently different from --skip-lock

@pfmoore, I'm still making sure I understand our new implementation. I would say yes, that's how I'd prefer it to work, but it seems we may have the json endpoint check hardcoded. I'm going to see how much work it is to get something more general.
@techalchemy, I don't know. It was sometime in the last month or two while I was away.

@nateprewitt @pfmoore seems like if pipenv isn't supplied any hashes when it installs, it will ignore hashes by default
76cee70b
58aca73a

@techalchemy So if I remove the hashes from my index it'll work? I don't think it did (I originally didn't have the hashes in the index IIRC).

@techalchemy 😬 so that's the exact functionality we've (I've?) tried to avoid. We definitely shouldn't be installing packages without a check if the hash field is empty. Pipfile.lock files that are sufficiently complex aren't going to be visually read, and that means no one is going to know whether or not a package is actually being validated.
If we're going to implement a "security" feature and claim it does something, it MUST do that thing unambiguously. Silently ignoring missing hashes is not an acceptable default. That's why we eventually moved to an opt-in model rather than opt-out.
@pfmoore I've confirmed we've do ignore empty hash lists on at least the main Warehouse instance (https://pypi.org). I haven't been able to set up a Windows environment to test your instance. Also in regards to the PEP503 compliance earlier, the issue with that is we need ALL possible hashes for a given version when building the lockfile. Otherwise, we can't move the lockfile cross platform because we're going to get a different wheel on linux than windows.

@nateprewitt I tend to agree... but even if we could 'fail silently' I couldn't think of a reason why we would want to prevent users from explicitly ignoring them.

@nateprewitt I tend to agree... but even if we could 'fail silently' I couldn't think of a reason why we would want to prevent users from explicitly ignoring them.

I'm not positive I know what you're referring to with 'fail silently'. If you're referring to silently ignoring hashes, it appears we do that now, and that's wrong imo. There are two acceptable models here from a security perspective.
1.) We provide an --ignore-hashes option like we did previously and refuse to install anything without a hash unless that flag is passed. This means we are possibly overzealous but by default ensure we do what we claim we do.
2.) We claim to provide a hashing opt-in and refuse to install anything (except maybe vcs/local dependencies) without a hash. This has the same strictness but requires the users to choose to use it.
Having a "We may check but also maybe we won't ¯_(ツ)_/¯" approach to a feature like this is irresponsible and means the implementation isn't useful. It's got to be all or nothing.

Yeah silently ignoring hashes, seems like failing to me if we are claiming to use hash verification by default.  A hashing opt-in would be a breaking change for some people now I'm guessing, although if we find hashes in the Pipfile we could always do verification to support the current circumstances.
As far as hash verification for vcs or local dependencies, I didn't dig too far into it but I've been through a lot of the pip codebase and I'm not sure it would be that hard.  @vphilippon might know more

@nateprewitt I'm not sure what you are implying by the comment that we can't move the lockfile cross platform. The problem here is that I cannot use PyPI, because there's no binary for my platform on PyPI, and building from source fails. Ideally, I'd tell Pipfile to use my custom index and PyPI, but I don't know how to do that so I've specified only my custom index, as that's the essential one.
So there's a number of separate issues here:

My local index won't work, because pipenv isn't picking up the hashes.
For some reason pipenv is picking up hashes from PyPI, even though I told it to use another index.
My Pipfile can't be used elsewhere because there's no way of using both my index and PyPI.

My problem is with (1) and to a lesser extent (2). By saying that it's difficult to solve those because it makes the lock file non-portable, you're tying them to (3). I've no objection to having a solution to (3), but it's not an immediate concern for me. So I'd rather it was handled separately.
With regard to PEP 503, that's the standardised definition of what "a package index" is. If pipenv needs extra (e.g. a JSON interface) then it needs to make that a lot clearer in the docs, as that presents a much higher barrier to entry for people who need something beyond what PyPI provides (for instance, I'm not sure if devpi provides a JSON API).
It sounds to me (and don't take this as criticism, it's not) that pipenv is focused very much on the "get everything from PyPI" use case, and hasn't fully considered the implications of handling private indexes. That's fine, and if that is the case ("we're still working out how private indexes fit into our design") then I'm OK with that, but it would be worth being a little clearer about that in the docs. But there's no doubt (for instance) that using a private index affects portability of the pipfile/pipfile.lock, as you can't use them if the index isn't available. (This is actually not that much different from local file links, which are also portable only to wherever the file is accessible - network shares make that potentially the whole organisation, but not public use).
Anyway, the design principles of pipenv are peripheral here, so I won't say any more on that matter (beyond pointing out that it would be useful to document them, to help people understand what types of project pipenv is applicable for).

@pfmoore I am not sure what is confusing so I will clarify a couple of points.

Nobody is confused about what a package index is or what a PEP is
We understand that you can’t use PyPI
Your assumptions about what pipenv is focused on are wrong — the whole point of the discussion we are having is about the non-trivial implementation details for pulling hashes from custom indexes with the package resolver we use
The former approach of ignoring hashes was changed in a way that doesn’t seem to make sense at a glance and we are discussing why that might be

So the reality is that actually we have considered private indexes quite a lot, and they are part of the design, obviously. However, this is an open source project and handling the various complexities around resolving dependencies using those private indexes is not as straightforward as you seem to suggest.  Also, I do want to point out that if you want to criticize our support for PEP standards or common tools like devpi you should probably try them first. We support devpi.
So yeah, this particular case actually has nothing to do with any of these things. Pipenv supports using multiple indexes. It will always pick up all available hashes when it does hash comparisons, but currently it only picks up hashes from PyPI. This has nothing to do with where your package gets installed from. This only matters for hash comparisons when validating lockfiles. That’s what @nateprewitt and I have been talking about. I don’t know why this turned into a whole discussion about whether we intend to support PEP 503 and that we should tell people they can’t use private indexes and PyPI at the same time
How about instead we fix the behavior and allow people to use private indexes as before?

Hmm, looks like I did cause offence, which I didn't mean to - I apologise.
I've been struggling to understand how pipenv works with my use case, and I suspect I've been further confused by hitting bugs, assuming it was me doing something wrong, and then things getting out of hand as I kept trying to "explain". My apologies for that also.
I'll leave you guys to thrash out the implementation details. If there is anything you need clarification on in what I'm trying to do, then feel free to ask - I'll be happy to explain further. But I'll avoid doing so unprompted, as I'm doing a lousy job of helping when I do that :-(
I appreciate you spending time helping me with this, and it's definitely not my intent to criticise, or imply that you've done anything wrong.

@pfmoore no worries and sorry if I responded harshly, I answered before I had coffee this morning! Generally I'm on IRC as hawkerz in #pipenv on freenode if you want to have more in depth discussion but the tl;dr is that the things you want to do should work.  Essentially, and sorry for not being clear about this also, your use case should and will be supported.  As a workaround until we can resolve private index hashes, we built in functionality to allow users to skip hash checking.
That seems to be auto-toggled now and I'm not sure what we need to do to fix the short term problem, but the long term problem is to properly handle hashes.  This hasn't been high on the priority list but may need to be moved up.

the things you want to do should work

Thanks for the clarification. My frustration was essentially because I really wasn't sure if that was the case. Having established that this is "just" a bug, and not me misunderstanding how I should be using the tool, I'm much less bothered - I appreciate that things take time in open source, and I trust you guys to prioritise the workload appropriately.

This hasn't been high on the priority list but may need to be moved up.

No need just for me (I have plenty of alternative workflows that I can use in the immediate term). But you may find more people hitting this if pipenv becomes the PyPA recommended tool. I've no feel for how likely that is, though (my experience of "people hitting weird corner cases" is almost certainly biased as a result of being a pip developer!).

@pfmoore We've encountered a bunch of people using devpi or private indexes but most of them haven't actually loaded SHA256 hashes so pipenv has automatically turned off hash comparisons.  I will dig into this a bit if I can.
We do need to work on documentation, I think we are very behind on that

@nateprewitt @pfmoore @vphilippon i was looking at this a bit today and I remembered that pip also supports putting pip configuration files inside virtualenvs.  Do any of you know whether the pip-tools resolver would resolve hashes on an index specified in a pip.conf or pip.ini? I haven’t had a chance to try this out, but if so we could manage some pip settings that way unless it will change in pip 10

There's no plans for pip 10 to change the way config settings work - it's all in the docs so it's fully supported and would require a deprecation period if we were to change it.

I think respecting a pip.conf in the root of the project directory should be supported in pipenv.

I don't know if we should be forcing users to have to create one for every project. It's intended to typically be a global file that you edit in one place. I haven't dug into why we're discarding those settings in our copy of pip, but fixing that seems like the better approach to me.

Yeah you are correct.  I suppose that would be more inline with how pip in a virutalenv works.

Technically we don't disregard the settings entirely, I'm pretty sure they should pass through...

My use case is per-project (I don't want the custom index in my global pip.ini) so while I agree that respecting the global settings should work, an optional local settings file should be processed as well. Pip does this automatically - I assume the issue here is that you might need to replicate pip's logic for pip-tools?

That’s the precise issue. It seems like the pip-tools hash resolver doesn’t rely on parsing URLs, and the only other way we acquire hashes is from the pypi JSON api directly. Pip-tools appears to have the capability to get a hash for a remote file if it needs to, for any PEP 503 index. But adding an index to extra-index-urls still didn’t result in resolved hashes. I’m not totally clear on this but it seemed like that should work.
In terms of respecting existing options, I’m not too sure. If we are tracking sources in the Pipfile we might want to drop those through as extra-index-urls and rather than requiring the user to create a local pip configuration we could do it for them. The only real question is which global setting, if any, should we keep? Or maybe we should only keep environment variable level setting...

@techalchemy Late reply on my part sorry, but: As far as I can tell, pip-tools should respect indexes defined in a pip.conf/pip.ini, pretty much in the same way pip does.
Although, I'm unsure about the way its used by pipenv, I would have to check that. Its all about the pip_options given to instantiate the PyPIRepository object.

@vphilippon I passed a custom index directly to the PyPIRepository and it didn't resolve any hashes at all -- I spent a good chunk of time on it and I couldn't make any substantial progress so I wasn't sure if there was some constraint I was missing

hashes are only properly supported against pypi at this time

So if I am using a non-PyPI index, how do I suppress the hash mismatch error? Will --ignore-hashes be reinstated?


Fix W5500 deadlock after processing interrupt to slow

When the W5500 gives an interrupt, a semaphore will be given which will be handled inside a thread.
However, in the time that the interrupt will be cleared and the thread will be waiting for a new semaphore, the w5500 could already have a new interrupt available which will keep the INT pin low. This is not checked correctly, which will lead in a deadlock, which can be seen with a logic analyzer on the INT pin:

I solved this by always checking if the pin gets high after handling and clearing the interrupts. If not, there are more interrupts available and they should be handled immediately.
Fixes https://github.com/zephyrproject-rtos/zephyr/issues/45735

Doesn't it indicate a bigger problem?
k_sem_give

A semaphore may be given by a thread or an ISR. Giving the semaphore increments its count unless the count is already equal to the limit.

and that is being done in the GPIO callback that is supposed to be called by the interrupt. That shall be called when w5500_isr thread runs and increment the count of the int_sem that is initialized with UINT_MAX limit.
As soon as w5500_isr thread is finished with package processing it shall be able to perform a successful k_sem_take of the int_sem. As it is going to be given by the GPIO callback.
Even if there is a huge amount of requests they shall still increment the semaphore limit that shall allow the w5500_isr thread to take the semaphore as soon as it can.
Considering that the issue exists means that there is some kind of a problem with the semaphore or GPIO callback handling, isn't it?

No, the INT pin is kept low by the W5500 so a new interrupted is never fired.

No, the INT pin is kept low by the W5500 so a new interrupted is never fired.

Doesn't it mean that the interrupt is not cleared on time?

The interrupts are cleared immediately after reading them, however an other interrupt could occur between those two calls which can keep the pin low.

@jancoow, but when it is cleared the pin shall go H and then L again or?
Maybe INTLEVEL (Interrupt Low Level Timer Register) [R/W] is a solution?

INTLEVEL configures the Interrupt Assert Wait Time (IAWT). When the next interrupt
occurs, Interrupt PIN (INTn ) will assert to low after INTLEVEL time.

We are not clearing all interrupts. We are clearing the interrupts read from the register. Between reading and  clearing the ones in the register, a different one could always occur. So this check is always needed for safety anyways, as far as I can tell.

@jukkar May we get the workflows for this to run? The results of this PR would be interesting to investigate further.

LGTM

Took me a few attempts to get it through all the checks

@carlescufi please revisit


Standalone kdl_parser library

As proposed in https://github.com/ros/kdl_parser/issues/12, this PR makes catkin and rosconsole optional. I.e. plain CMake macros are used if catkin is not available and logging is done via std io streams if rosconsole is not available.
Since urdf itself depends on ROS for similar reasons, it has been replaced by urdfdom. This disables some of the functions like treeFromParam and treeFromXml, which use methods that are not present in urdfdom. In the log term it would be beneficial, if urdf also would be disentangled from ROS.
I copied FindTinyXML.cmake and FindTinyXML2.cmake from https://github.com/ros/cmake_modules into this repo, to not introduce another dependency.

@sloretz Can you comment on this PR?

@sloretz @clalancette Any news/feedback on this?

ping @clalancette , ok to merge this one?

Thanks for the PR!


Native execution of very simple WASM jobs

This commit adds an Executor that will download a blob of WASM and run it. The WASM to run and function to execute within it can be specified within the JobSpec and on the command-line.
The supported WASM is required to be very simple:

It cannot require any imports; so no libraries or syscalls.
The function to call must not take any parameters.
The function to call must return a single int32.

So this means it can't really deal in any input or output data yet, so this commit just sets up the infrastructure and demonstrates the concept. We can work out how to do this in the next iteration.
The attached WASM used as test input calculates the day of Easter in April 2022, which is a complicated but purely numerical algorithm.

(please make CI pass and resolve the conflicts)

That is great feedback, thanks @binocarlos!
The reuse of the language command was definitely a lazy step to avoid having to code all that stuff from scratch. Now that I've seen the thing hooked up and working, thinking about how all the commands are factored and having a proper spec was definitely high up on the todo list – so I'll scratch that now.
I figured that we would at some point need to unify bacalhau docker run and bacalhau run python behind some common interface that will scale as we add more executors (and could e.g. allow users to define their own "templates" which are first class – e.g. bacalhau run my template).
My take was that the choice would be bacalhau run <…> because at the moment the Docker cmd doesn't seem to have any other subcommands and I can't think what would go underneath docker other than run. But also, clearly use of bacalhau docker run is already prevalent and mirrors the docker run command, so changing that would be hard. Happy to go with bacalhau wasm run though, but what do you think of eventually moving to e.g. bacalhau run docker?
Agreed that having a context folder was just a stop gap. One thing I haven't figured out yet is how to make it as easy to get a WASM binary onto IPFS as uploading a folder is (which I think is why this feature was added to the Python executor?) If running a dev stack, I can obviously put something there, but atm I don't need to have an IPFS client installed to use Bacalhau – is there a need for some command like bacalhau devstack put that will upload something to a dev stack and return the CID using the builtin IPFS client?
Finally, the comment for Spec.Contexts says "Input volumes that will not be sharded, for example to upload code into a base image. Every shard will get the full range of context volumes". Is that the right place to put a WASM binary StorageSpec, rather than in it's own job spec extension?

Now that I've seen the thing hooked up and working, thinking about how all the commands are factored and having a proper spec was definitely high up on the todo list – so I'll scratch that now.

Excellent good stuff - sounds like you have the right approach here then - I think my only worry was that the language job stuff confused things but it sounds like you've got a good sense of things (which is awesome in the first week :star: )

My take was that the choice would be bacalhau run <…> because at the moment the Docker cmd doesn't seem to have any other subcommands and I can't think what would go underneath docker other than run

I think the main point of having bacalhau docker run rather than bacalhau run XXX is both:

we can now have sub-commands specific to the executor - for example bacalhau wasm upload
context specific flags are cleanly seperated
it reflects the split between the job specs - i.e.

bacalhau docker run -> JobSpecDocker
bacalhau wasm run -> JobSpecWASM

what do you think of eventually moving to e.g. bacalhau run docker

I think for now let's keep the clean seperation of top level job types (currently docker vs wasm - let's ignore language as a UX improvement)

Agreed that having a context folder was just a stop gap. One thing I haven't figured out yet is how to make it as easy to get a WASM binary onto IPFS as uploading a folder is (which I think is why this feature was added to the Python executor?) If running a dev stack, I can obviously put something there, but atm I don't need to have an IPFS client installed to use Bacalhau – is there a need for some command like bacalhau devstack put that will upload something to a dev stack and return the CID using the builtin IPFS client?

Yup this is a good point - I think I'm coming at this from a pure - assume there is a CID on IPFS with the WASM binary already angle and then leaving the yes but how the hell do I get that down to the user
So clearly - using the language job context feature is a useful bridge to get that done - ultimately I think we should:

run WASM jobs that live on IPFS (because this unlocks various workflows)
give the user easy ways to get their WASM onto IPFS (so the UX is nice)

Finally, the comment for Spec.Contexts says "Input volumes that will not be sharded, for example to upload code into a base image. Every shard will get the full range of context volumes". Is that the right place to put a WASM binary StorageSpec, rather than in it's own job spec extension?

My thinking here is the JobSpecDocker has all the info required for the executor to run a program just minus the storage inputs/outputs (so Image, Entrypoint, Env etc) so the equivalent would be that JobSpecWASM has all the info required for the executor to run the program (so WASM binary localtion)
@simonwo I think let's land this PR and then we can iterate on all the points above :-)


Decide on Concurrency Strategy

We currently a single "version" field in work items and work item types and do simple, optimistic concurrency control with it.
As we add more entities to the system (concretely: work item links), we have discussed the question whether to extend that strategy to the new entities.
The purpose of this task is to investigate possible concurrency strategies for different objects we have. The results are presented to the team for discussion and decision

@tsmaeder for now I started to have work item link categories carry a version. Can be removed later if needed.

Until we have a decision, I propose we implement a "last update wins" strategy, i.e. we ignore the problem for new code.

Thomas, will the last update be immediately persisted and pervasive.
On Wed, Nov 2, 2016 at 9:42 AM, Thomas Mäder<EMAIL_ADDRESS>wrote:

Until we have a decision, I propose we implement a "last update wins"
strategy, i.e. we ignore the problem for new code.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/almighty/almighty-core/issues/420#issuecomment-257867361,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARTwqy6hNQL893ZhWt0w_sicxcD5J2p4ks5q6JNegaJpZM4KnPw8
.

Random ideas what we could do, in no particular order:

use checkout mechanism "user xyz is already updating this issue"

coediting might be allowed, setting up fast change notification

optimistic cc using version -> rejects out of order updates

client can implement "last update wins" by fetching current version from server

merge updates on write (-> need a definition of mergable changes, may still fail when e.g. updating the same field)
version based cc, allow merging in of changes in the front end.
Change notification can reduce the number of stale objects in the client.
Reload before edit can reduce the number of stale objects

http://www.anyware.co.uk/2005/2012/11/12/the-false-optimism-of-gorm-and-hibernate/

@tsmaeder using e-tag could also be a solution as mentioned in #155
From the list above,
I think coediting will not be done soon and merging updates is a bit tricky.

Version based cc, allow merging in of changes in the front end.

Not understood this one

Change notification can reduce the number of stale objects in the client.

Are we talking about push notifications using websockets or SSE ?

Reload before edit can reduce the number of stale objects

yes, useful.


Add missing letters

Cheers, it might be worth saying that this library is waiting for some PRs in BetterReflection before it can work effectively!

Noted… I tried it very briefly yesterday evening, and it worked quite well. What about the test suite? Why is it broken? Blocked by PRs in BetterReflection too? I had a quick look, it seems that testing with "invalid" code (by that I mean the character you used to represent the cursor) was possible before and no longer is.
Also, I noticed the minimum-stability for Composer packages was set to "dev"… is that (still) necessary?

Yeah, we need to disable error throwing in the php-parser lib for tests to pass: https://github.com/Roave/BetterReflection/pull/232. Also performance is a real issue, but could be improved dramatically: https://github.com/Roave/BetterReflection/pull/239


3.9.3 - pmcUSEC & pmcBEAR Ops-Core FAST MT Super High Cut helmet issue

General information
Project issue is for:
Server
In each the pmcUSEC & pmcBEAR respective bot tables (\database\bots\types), the Ops-Core FAST MT Super High Cut is listed as a mod_nvg attachment on itself which can cause recursive lookups in the generateModsForEquipment method inside BotEquipmentModGenerator
This also can cause the helmets to stack on top of each other as in the screenshot attached
(I honestly only found this error due to making a progression mod, and the chances of having that helmet and rolling mod_nvg is much higher than vanilla - so this is probably a rare issue in vanilla)

Attachments

stacked.png (117 KiB)

Originally written by acidphantasm

As a side note, I'm not finding anywhere that selected mods are valid for the slot they are trying to fill. But my brain is melting trying to parse through the equipment generation for bots..

Originally written by acidphantasm

Fixed in 398

Originally written by chomp


Support NumPy 1.13 again

This PR includes #281, #336 and #344,
This PR fixes #342.

LGTM except the above comment.

I fixed.

We can port this PR to v1 because this PR does not break exiting code. Users can still catch with IndexError or ValueError. This behavior is a bug.

This behavior is a bug.
@gwtnb You mean this is bug in NumPy 1.13.0?

No, I mean it is a bug of numpy<1.13 (or, at least an inconvenient behavior).

I understand.

LGTM


Support for higher version of Mongoid

I'm trying to install activeadmin-mongoid v0.5.0 in project which use mongoid v6.4.0. It fails because of compatibility of mongoid gem version.
Bundler could not find compatible versions for gem "mongoid":
  In Gemfile:
    mongoid (= 6.4.0)

    activeadmin-mongoid (~> 0.5.0) was resolved to 0.5.0, which depends on
      mongoid (~> 6.0.3)

@Bongs I don't have much time to loosen up our dependencies but you can definitely submit pull request if you want and if it passes tests and @boie0025 agrees I will merge it.

  Feel free to open a PR if you do get it to work.  The projects I'm using with AA and Mongoid are all still on Mongoid v5.0 because of this.

Well, I went and bumped the gem's dependency version to ~> 6.4.0, and the specs all passed for the gem.  I think I am remembering issues that were found in specific applications using this gem (deeper testing than the smoke tests in this gem), so I think we can release a new version with the dependency set to ~> 6.0, I'll push a branch and @Bongs and @grzegorz-jakubiak -- have a look.

Thanks for the update @boie0025.
I had to comment out few things to make it work locally, this I did before your work. Somehow I managed to get it started. Those changes are not tested at all. Here is the diff -
https://github.com/activeadmin/activeadmin-mongoid/compare/master...Bongs:remove_mongoid_version_gemspec
Also not sure why it created migration file (for comments) while installing active_admin.


subdomain for dronekit assets

we are currently using the s3 url we should move to cloudfront and add a subdomain
currently:
http://dronekit-assets.s3-website-us-east-1.amazonaws.com
proposal:
http://assets.dronekit.io/

@mrpollo Looks good to me. Will the old URL work after you add the subdomain? Point being that I need to have links in the docs that will work moving forward.

@hamishwillee Old URL will continue to work!

@tcr3dr But the one we have live at the moment doesn't:
https://s3.amazonaws.com/dronekit-installers/windows/dronekit-windows-latest.exe
Are you going to fix that or do we need to patch with:
http://dronekit-assets.s3.amazonaws.com/installers/dronekit-windows-latest.exe

@hamishwillee not sure how you got that one but thats never going to work, it needs a bucket-name behind s3, we can't fix that, we need to push a fix to docs then

@mrpollo I'll create a patch now.


Update frame_wifiscan.cpp

Line 319:
scan() causing a reboot after WIFI is connected

???
What an update! Errors are simply pushed away?

we already test it.  it seems to work.  could you provide the serial print log. that would very helpful for us to position the issues.


Adding all new demos to release/3.0

I have some difficulty in building the doc. This was my plan. My problem is to fetch the release/3.0. I created the PR to see what is missing as files. The PR is currently not complete

The card for 'fraud_detection' appears twice. I am trying to figure out how I did that. It appears twice in index.md of demos. Do you know how I can fix this?

To help the review, please generate the doc and check that:

[ ]  The navigation panel is correct and contains all your new demos
[ ]  The knowledge_base page is correct and contains all your new demos
[ ]  The knowledge_base/demos page is correct and contains all your new demos
[ ]  The knowledge_base/tutorials page is correct and contains all your new tutos
[ ]  The knowledge_base/tips page is correct and contains all your new tips
[ ]  Each new demo/tip/tuto page is correct, including the title, the sub-titles, the table of content, the links.

I would add... run Grammarly on the generated pages.


Default clock that does not require initialization

Potential fix for #61

I think we decided we were not going to go this route.


Poetry update doesn't update git repositories

[x] I am on the latest Poetry version.
[x] I have searched the issues of this repo and believe that this is not a duplicate.
[x] If an exception occurs when executing a command, I executed it again in debug mode (-vvv option).

OS version and name: GNU/Linux 4.18.7-1-default, openSUSE Tumbleweed
Poetry version: Poetry 0.11.5
Link of a Gist with the contents of your pyproject.toml file: https://gist.github.com/rominf/a3f70219b49becc287d167761ea887d0

Issue

I have kg library as git dependency. I push some comments to the kg repository, run poetry update in the project, that depends on this library but poetry doesn't update the library.

I have found that if I increase the version of libraries, they are updated. Nevertheless, it would be nice to have a flag to update dependencies unconditionally.

I've ran into this too - was pretty sure it had to do with the fact that we didn't update the version of the package in the git repository, but hadn't gotten a chance to double check it.  Definitely agree it'd be nice if poetry could ignore the version on things like git repos.

Agree, this is really unexpected.
Poetry update is meant to "Update dependencies as according to the pyproject.toml file."
That means git dependencies should get updated to the tip of the branch.

This should be fixed in the latest 0.12.6 version.


Support for extends

Describe the feature
Nuxt 3 has now this amazing "extends* feature where we can split our template project  in parts.
In our case we have a template project that has a "base"- extends that contains all the minimal settings, pgaes , components,etc. of a project, then we have a second extension with sample custom-configurations,pages, forms, etc.
It would be nice if nuxt/i18n would also support this, so we could have loacale json-files in our extends "projects" and it would merge all the  files depending on the nuxt.config.
For example if the project has the folowinfg config:
export default defineNuxtConfig({
  extends: ['./_extends/base', './_extends/samples'],
  modules: [
    [
    '@nuxtjs/i18n',
  ],
  i18n: {
    debug: false,
    lazy: true,
    langDir: 'data/locales',
    locales: [
      { code: 'de', iso: 'de-CH', file: 'de.json' },
      { code: 'en', iso: 'en-GB', file: 'en.json' },
    ], // used in URL path prefix
    defaultLocale: 'de', // default locale of your project for Nuxt pages and routings,
    strategy: 'prefix_except_default',
    vueI18n: {
      legacy: false,
      locale: 'de',
    },
  },

It would go and find all the languague files in the repective directories on all supported "extends" configured
so it would merge
/_extends/base/data/locales/de.json
/_extends/sample/data/locales/de.json  and
/data/locales/de.json
into one objext and have so the "complete" language object for the project..
Additional information

[X] Would you be willing to help implement this feature?
[ ] Could this feature be implemented as a module?

Final checks

[X] Read the contribution guide (The contribution guideline of nuxt-modules/i18n is compliant with Nuxt too).
[X] Check existing discussions and issues.

Also see issue related to layers: https://github.com/nuxt-modules/i18n/issues/1740

+1

nuxt i18n module supported nuxt layers, so close


Upgrade to node20 and use @actions/glob for globbing and hashing files

Actions will soon no longer support node 16 and is already giving warnings
Also updates tsconfig target to es2022 as this fits with node 20
Replaces @zeit/ncc with @vercel/ncc (changed package name)
Uses @actions/glob functions for globbing and hashing files instead of packages that are no longer maintained
Replaces CI setup with setup-node and the --openssl-legacy-provider is no longer needed
Update linting configuration

Not sure what the formatting errors in the Windows jobs mean… I'm getting the same kind of error in https://github.com/coursier/setup-action/pull/541. https://github.com/coursier/cache-action/pull/564/commits/df6391e0da32d0d57b3479baac144daa43314089 makes sure we just ignore them.


:sparkles: Support More Parameter Types

E.g, implement:

FormUrlEncoded
MultiPart
Field
Part
File

Add new Endpoint parameter. Unlike Path, this parameter adds a new endpoint on the end of the url.
For example, the following two operations would be identical in functionality:
@get("/foo/{endpoint}")
def foo(endpoint: str = Path()):
    ...

@get("/foo")
def foo(endpoint: str = Endpoint()):
    ...

TODO: Cut a separate ticket for each parameter/group of parameters

Closing as not planned as have cut separate issues for Endpoint and File parameters. The others are not currently planned.


Add Box Component

Motivation

Many styles in Ubie have the look of a box
Componentization can reduce a lot of CSS
It can also be used for fine margin adjustment

e.g. <Box mt="md" />

Screenshot
npm run storybook
Background Color
http://localhost:6006/?path=/story/stories-box--background-color

Padding
http://localhost:6006/?path=/story/stories-box--padding

Margin
http://localhost:6006/?path=/story/stories-box--margin

Radius
http://localhost:6006/?path=/story/stories-box--radius

Border
http://localhost:6006/?path=/story/stories-box--border

Width
http://localhost:6006/?path=/story/stories-box--width

Moved some types to types/style.ts


Add a metric to record the duration of evaluating all config policies

Relates:
https://github.com/stolostron/backlog/issues/23547

Excellent news hearing about this metric && the related alert.
please add a DOC item to expose this information to the customer in our public portal topic: https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/2.5/html/observability/observing-environments-intro#metric-types
We will also want to make use of this metric/alert so that we can report on the health of the ACM hub itself.

The metric is not pushed to Observability by default.  This was intentionally delayed for some further discussions: see https://github.com/stolostron/backlog/issues/24521
Since it's not in Observability by default, I expect we don't want to add the doc item yet.

It can be queried locally - meaning, directly in the prometheus running on the hub. And I see the other 2 GRC metrics in the page,
policy_governance_info and policyreport_info
probably fall into that same boat (metric is not pushed to Observability by default).
I think the intent of the table in the doc is to be transparent about the metrics we enable/support so that customers/users can begin to make use of them, even if perhaps the overall integration user story is not yet complete.
I could be wrong about that, perhaps Joydeep would have an opinion to share (perhaps he already did).


Comuna "Mozăceni" is listed in the drop-down menu

Description:
When user writes "Mozăceni" the location appears in the drop-down menu next to the comune and the county witch is a part according to the law
Precondition:
The website is up an running.

Step 1
Write in the search bar "Mozăceni"

Expected results
The location appears in the drop-down menu as "Comuna Mozăceni, Argeș"


Fix service name for Opentelemetry Collector

The ApplicationSet name with the cluster name normalized creates a service URL with the cluster name embedded in it.  By overriding the fullName in the Helm chart, the same name will be used across all deployments.

/lgtm
/approve

/assign alexeykazakov

/lgtm

Do we want to use the same service name for all deployments (prod, stage, external, internal) ?

@gbenhaim personally I don't mind it having the same name unless there are some guidelines that tells us otherwise. @mike-kingsbury what do you think?

what is the purpose of that name? how it's being used?

Yes, it’s intentional to have the same service name across all the
clusters; it’s only being accessed by services within the cluster.
On Jul 2, 2024 at 8:48:48 AM, Matheus Boy @.***> wrote:

@gbenhaim https://github.com/gbenhaim personally I don't mind it having
the same name unless there are some guidelines that tells us otherwise.
@mike-kingsbury https://github.com/mike-kingsbury what do you think?
—
Reply to this email directly, view it on GitHub
https://github.com/redhat-appstudio/infra-deployments/pull/3974#issuecomment-2203075188,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATFBKROKF4STCWUMZTS4WTDZKKOTBAVCNFSM6AAAAABKCRYEL6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBTGA3TKMJYHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Its the Openshift service name for the Opentelemetry collector.  Any
service within that Openshift cluster can send trace data to that
endpoint.  The configuration of the Opentelemetry collector contains
settings regarding dev/prod/stage, there's no need for it within the
service name.  By keeping the name consistent across all the clusters and
deployments, it simplifies its usage by other services.
On Tue, Jul 2, 2024 at 9:02 AM Gal Ben Haim @.***>
wrote:

what is the purpose of that name? how it's being used?
—
Reply to this email directly, view it on GitHub
https://github.com/redhat-appstudio/infra-deployments/pull/3974#issuecomment-2203102665,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATFBKRMWWH5D3I636VQAHGDZKKQGZAVCNFSM6AAAAABKCRYEL6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBTGEYDENRWGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

/approve
/lgtm


Mouse open www.pathofexile.com/trade

A button in the options to switch between left mouse and left mouse +ctrl. I only want to use my webbrowser.

Duplicate of #171


TLS versions?

Hi,
Could you clarify which TLS versions are supported, and how much longer they may be supported for? How can the TLS version be specified? Does it depend on another python component? We have some devices which only support TLS 1.1, which I know is bad, but hopefully better than plain FTP.
Thank you,
A

Answering this question for my own future reference:
pyftpdlib doesn't set any explicit defaults for TLS/SSL versions or ciphers and neither does PyOpenSSL, so you get whatever the default is in the OpenSSL build on your system.
You can override the SSL options by assigning something to the ssl_options property on the TLSHandler, which will get passed into the SSL context it is created. The options are the constants starting with OP_ here and they can be bitwise ORed together:
https://www.pyopenssl.org/en/latest/api/ssl.html#
eg:
from OpenSSL import SSL
from pyftpdlib.handlers import TLS_FTPHandler
...
handler = TLS_FTPHandler
handler.certfile = '/etc/ssl/certs/ssl-cert-snakeoil.pem'
handler.keyfile = '/etc/ssl/private/ssl-cert-snakeoil.key'
handler.ssl_options = SSL.OP_NO_TLSv1 | SSL.OP_NO_SSLv3

Defaults are defined here:
https://github.com/giampaolo/pyftpdlib/blob/43948e0228604c4bf28e171a2144adc499512a01/pyftpdlib/handlers.py#L3696-L3703
We set SSLv23_METHOD but we also explicitly disable SSLv2 and SSLv3, so at the moment the minimum supported SSL version offered by the server when client connects should be TLSv1.

Thanks for the reply. Unfortunately we had to find a different work-around to suit the timescale of the project.


[question]: text output?

Hello!
I'm interested in the possibility of rendering railroad diagrams in text for use in neovim or other terminal-bound editors. Is that something that could be done with this library? Would it involve subclassing the various entities?
Cheers

I've thought about this before, too, and it's certainly possible, but it would involve essentially rewriting the entirety of the rendering functions. On the plus side, all the essential rendering logic has already been written once, so it should be relatively straightforward to translate over, but it's definitely a Task.
If you're interested in trying it out, you probably want the nice box-drawing characters

Well I'm playing with the idea of using kitty image protocol in terminals to render the SVG graphics.
WDYT abou a lua version of railroad-diagrams? That would ease integration with neovim (or any other lua host)

I can't actively maintain a Lua version, so I'm not comfortable keeping such code in this repo, but I'm more than happy to link to a well-done port.

FWIW, I built a text renderer for mainframe-based tool about 20 years ago, in IBM's Rexx language.  The tool took IBM's BookMaster GML markup as input, so the syntax is different from this package, but the data model is almost identical.  I have a need for text output myself, so I'm going to take a crack at re-writing my old work in Python as something like a set of write_text()  and format_text() methods.

I have an implementation of text rendering for everything except OptionalSequence().  I'll be away for a few weeks, but I'll do that one when I'm back.  Other than that, it renders everything in test.py correctly, to my eyes at least.  I've attempted to make the Unicode box-drawing character version look as much like the SVG version as possible.  The pure-ASCII version, well, ain't know way that's gonna look that nice :-)
My changes do not affect any existing code - they are 100% new routines and a single new class.
Here are samples:

test_svg.html - The SVG versions of all the test cases.
test_unicode.html - Same stuff, drawn in character-cell graphics, using the Unicode 25xx box-drawing characters.
test_ascii.html - Same stuff, drawn with pure ASCII characters.  This is the reason I'm doing the work, but it ain't pretty :-)

Feel free to comment on these results.  I'll be back online in a couple of weeks, and I'll get back to finishing this work.

Oh dang, that's neat! Having both renderers is nice - the box-drawing characters look real messed up given the fonts on my machine right now, but they look great in the console; the ASCII looks decent in both.

Having both renderers is nice

It's actually just a single renderer, which takes a dict parameter that applies a character for each use.  And the renderer has a method to modify or wholly replace the dict.  So if, for example, you're using a font that has better rounded box corners, you can use them instead of the Unicode curved corners.

Forgot to say - this is in Python right now.  If a PR is welcome for this work, I'll translate it to Javascript as well.

I've implemented the last of the diagram classes, and updated the test result files (see above).  I'll start putting a PR together for the Python port.


[Fixbug] doris custom sql work

Purpose of this pull request
fix #7367
doris did not implement this function before, but now it has been completed
How was this patch tested?

Check list

[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/seatunnel/tree/dev/docs
[ ] If you are contributing the connector code, please check that the following files are updated:

Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist
Add ci label in label-scope-conf
Add e2e testcase in seatunnel-e2e
Update connector plugin_config

[ ] Update the release-note.

Please add test case. Thanks

Ok ，I will add it


Update de.json

Since the terminology in context of the german language is the same as the prior entries, i just added additional context to the entry for the gamepad related mapping

Perfect, thanks!

Just noticed that the warning messages "tool-pre-navkeys-modal-resetall-message" and "tool-pre-navbuttons-modal-resetall-message" are exactly the same. Could 'Tastenbelegung' be replaced with 'Gamepad Tastenbelegung', like in the section title, in "tool-pre-navbuttons-modal-resetall-message" to be more explicit about which mappings are going to be reset?
I haven't started trying adding the Button Mapping options yet but, although under a different section title, they will be right below the Key Mapping ones in the "User Interface" section of the preferences, not in separated tabs, so a user may be confused if both reset buttons, given than in German they are referred as keys in both cases, ask if you want to reset the key assignments (they may think it will reset all the key assignments listed in the UI tab, not just the ones corresponding to that section).

Could 'Tastenbelegung' be replaced with 'Gamepad Tastenbelegung', like in the section title, in "tool-pre-navbuttons-modal-resetall-message" to be more explicit about which mappings are going to be reset?

yes


Audit Logging

Add audit logging to grpc requests using grpc-middleware and zap logger.  Addresses #246
Some example request logs are below :
grpc_cli ls
{"grpc.start_time":"2022-12-06T16:15:45Z","system":"grpc","span.kind":"server","grpc.service":"grpc.reflection.v1alpha.ServerReflection","grpc.method":"ServerReflectionInfo","peer.address":"<IP_ADDRESS>:40388","grpc.user":"unauthenticated_request","grpc.code":"OK","grpc.time_duration_in_ns":520866}
grpc_cli call
{"grpc.start_time":"2022-12-06T16:16:28Z","system":"grpc","span.kind":"server","grpc.service":"tekton.results.v1alpha2.Results","grpc.method":"ListResults","peer.address":"<IP_ADDRESS>:33534","grpc.user":"system:serviceaccount:tekton-pipelines:tekton-results-debug","grpc.issuer":"kubernetes/serviceaccount","grpc.code":"OK","grpc.time_duration_in_ns":6033652} {"grpc.start_time":"2022-12-06T16:16:28Z","system":"grpc","span.kind":"server","grpc.service":"grpc.reflection.v1alpha.ServerReflection","grpc.method":"ServerReflectionInfo","peer.address":"<IP_ADDRESS>:33534","grpc.user":"system:serviceaccount:tekton-pipelines:tekton-results-debug","grpc.issuer":"kubernetes/serviceaccount","grpc.code":"OK","grpc.time_duration_in_ns":9241731}

Eventually it'd be interesting to customize Zap settings through the config-logging ConfigMap. This would make the log output as well as the process of tweaking it homogeneous with other Tekton components, including the Watcher.
/lgtm


Example for Azure AD setup

Hello, thank you for creating and maintaining this great product.
I've updated SSO guide to include Azure AD setup, which I've struggled with a bit.

Hi, thanks for your PR!
We'll adjust the docs.


Google Maps offline areas are not involved

Hi,
In my project I'm trying to find a cordova solution for offline maps and this plugin seems perfect since it uses the native Google Maps SDK. The problem is that this plugin does not involve Google Maps offline areas.
For instance:

I've downloaded an offline area via the Google Maps app using WiFi or mobile network.
Turned off the WiFi and mobile internet.
Opened my app that uses the cordova-plugin-googlemaps and tried to zoom in to the area that was downloaded by Google Maps app. I figured out that I can't. The data doesn't show.
Only when the WiFi or mobile internet is on and connected the area data is updated.

Could this be solved?
Regards

Google Maps Android API v2 or Google Maps SDK for iOS do not related with the Google Maps app.
So if you downloaded the offline area, it is not related with them.


Hide exercises by default

Currently, when new exercises are added to the server, they are immediately considered as "open" and are available to the students. It would be nicer if they were hidden by default, especially if they are still being worked on.

ping @yurug

Hi! I know this issue is old, but here's an idea:
What about having a field in the meta.json of each exercise?

Thank you for this suggestion. This looks like a simple solution to this issue.
I will investigate if that is easily feasible to interpret such a field in the component dealing with access control.


Improved UI on audio Page

Added new background image and seperated the navbar and header.
Improved overall UI for the Audio therapy page.

@SahilDahekar What's the issue number?
__
  Summary: :question: I have a question

The issue number is #57