we should return role details when revoke and grant users

It is not consistent with what we do when we get one user or list all users:
github.com/coreos/etcd/client.(*httpAuthUserAPI).GetUser
>>> {"user":"userA"}

github.com/coreos/etcd/client.(*httpAuthUserAPI).GrantUser
>>> {"user":"userA","roles":["roleA","roleB"]}

github.com/coreos/etcd/client.(*httpAuthUserAPI).GetUser
>>> {"user":"userA","roles":[{"role":"roleA","permissions":{"kv":{"read":["/roleA/path1/*","/roleA/path2/*"],"write":[]}}},{"role":"roleB","permissions":{"kv":{"read":null,"write":null}}}]}

github.com/coreos/etcd/client.(*httpAuthUserAPI).RevokeUser
>>> {"user":"userA","roles":["roleA"]}

found from #3702
follow #3278
@raoofm @MSamman @ark76r

@raoofm @MSamman @yichengq
My proposal about this issue
Some theory at the beginning
Model of Users, Roles, Privileges has existed for decades and in entity-relationship diagram it would look like this:
[User]<--->[Role]<---[Privilege]

User has primary key "userName", Role has Primary Key "roleName".
userName and roleName has of course unique constraints.
Between User and Role is relation many-to-many (User can have many Roles, Role can be granted to many Users").
There can be Roles existing without any User (not granted to anybody) and Users without Roles (Users without any privileges).
Important question, what to do if User o Role are deleted.
In case of the User it is rather simple: User is deleted but we do not touch Roles which was granted to this Users (so maybe Role become non-used Role).
In case of the Role deletion (if this Role is granted to at least one User), there are two possible scenarios:

Server will reject the request (you can't remove Role granted to some Users) or,
Server will remove Role and remove all relationship to this Role from Users to whom the Role was granted.

For sake of the usability (the admin don't want to perform revoke on hundreds users), the second scenario looks beter.
Of course the tool will should probably ask in such case administrator if he really want to remove the Rule granted to some Users (eg. "Removig this rule will revoke it from 125 users, are you sure?")
Because of the constraint between User and Role it should be not possible to grant the User the non-existent Role.
Having such model in my opinion is clear and consistent. Users have only existent and valid Roles. Removing Role revokes it from bunch of the Users.
What about Privilege. It doesn't have to primary key and exist only in the context of the Rule. In UML terms Rule is composed of Privileges (Privilege is the part of the Rule composition).
Privilege doesn't exist without Rule.
)
Rules are identified only by their name. So two Roles with two different names are two different roles (and you cannot have two roles with the same name, because roleName is unique).
If Rule names are different (they have to be unique), these are different and it doesn't matter what Privileges they contain.
We can in many cases just ignore the Privileges inside the Role. Role is kind of the abstract defining rights of the user (it means, that usually it is good idea to give the roles significant names).
API issues
JSON is contract-less format of data what is very handy in languages like JavaScript but in languages with static/strong type validation (like Java or Go) it can be problematic (what we just have the pleasure to see).
It mean, we have to define types for entities User and Role and use only those entites.

But sometimes it is better to operate only on roleName level (like in functions Grant and Revoke).
More over, sometimes, returning the content of the Role entity (in place of its name) gives the redundancy and typical problems for it.
What about such case:
ListOfUsers:

User:

userName: userA
roles:

roleA: [p1, p2, p3]
roleB: [p2, p5]

User:

userName: userB
roles:

roleA: [p1,p2, p3]
roleB: [p3, p5]

The problem is, that roleB is redefined. Shouldn't be, but if you have the role definition repeated for 100 users, it's is kind of problem if you should check if the definitions are exactly the same (in the area of the security, anyone says, that you should ;) )
Summing up, we have some well defined entities, relations among them, primary keys and strong need to design API which will be friendly for languages with strong type control (or however I should call languages like C++, Java, Go).
My proposal is:
Lets define structures:
User:

userName (string)
password (string - optional)
roles ([]string - optional)
grant ([]string - optional)
revoke ([]string - optional)

Role:

roleName (string)
.. (resto of the role definition, the present seems to be OK)

RoleList:

roles ([]Role)

UserList:

users ([]User)
usedRoles ([]Role - optional)

In such case almost everywhere API operates on Role and User definition, where in use is only roleName. Definition of the role (Role) is used if someone query for it (GetRole) or in special case, when someone asks for user list and wants to get full information about privileges. In such case he/she gets UserList with optional field userRoles, which may be filled with user definitions.
client API is non-problematic, because we have only finite number of immutable structures.
Server returns always one of the known types.
If client soft is going to process privileges, it can download full set of role definitions and join the entities using roleName as a key.
Transfer of UserList is optimal: each role definition is transmitted only once. client API can have switch to inform the server is it is interested in role definitions or not (if not, usedRoles is empty).
This API gives also one additional advantage: userRoles in UserList enumerate all roles granted to any user. RoleList contains all roles (granted and not granted). Subtraction of these two sets gives set of unused roles (that means maybe roles which should be removed).
In general it looks like in most cases client doesn't need role definition included in User info (event today, the code of the etcdctl looks like it rather doesn't use it, than does). So there is no need to transfer role definitions to the client if we don't know if client is going to use it.
In addition my idea of the UserList can be easily implemented on the server: it passes through user list and builds set of used roles. When finished with users, it goes through collected roleNames and build userRoles list. It could be done even if the server had to stream data to the client without build whole message in memory.
A word about optimizing the number of the round trips to the http server.
Today, in etcdctl, operations 'user grant' and 'user revoke' perform two requests to the server (GetUser and UserGrant/UserRevoke) even if they don't need the role definitions at all.
So I think it is now more important to design usable and clean API than try to do the best optimized auth/user/role API. In my opinion if someone is going to run 15K requests for user definitions per second, he/she certainly is doing something really wrong.
Disadvantages of such approach: it's more RDBMS-like than document/nosql schema.
But in general tree/document/nosql databases are not too good in modelling many-to-many relationships.

BTW, this is the definition of the User from file etcd/etcdserver/auth/auth.go:
type User struct {
    User     string   `json:"user"`
    Password string   `json:"password,omitempty"`
    Roles    []string `json:"roles"`
    Grant    []string `json:"grant,omitempty"`
    Revoke   []string `json:"revoke,omitempty"`
}

I like it. But I don't know where and when, during the Marshall operation, Roles []string is transformed into Roles []Role.

I agree with @ark76r in general. So we will keep the API as it is today.
@ark76r We are designing auth for v3. I will keep you updated and will appreciate your opinions.
/cc @mitake Please /cc @ark76r for related issues. Thanks!

@xiang90 ok, I'll cc @ark76r in PRs and issues related to v3 auth.
This is the design doc of the feature: https://docs.google.com/document/d/1Zs5lc4H8kHr4sgoniKlL6YRsLKFNy8m-1pyGhkCmmO4/edit
@ark76r if you have opinions, please comment or update it.

@mitake OK. Give me a day.

@ark76r a way of implementing role deletion seems to be interesting:

Server will remove Role and remove all relationship to this Role from Users to whom the Role was granted.

How about marking a deleted role with a tombstone and cleaning the deleted roles in deferred manner (invoked by user command or periodically)? It will be fast and load (disk I/O, locking of the auth info) can be controlled. In addition, the auth information wouldn't be so large so copy GC can be used for this purpose.

@mitake It was the one of the options (another is to prohibit deletion of the roles granted to the user).
And yes, of course internally deleting is usually performed with the help of some marker describing 'deleted' state. Deletion itself is usually deferred.
Some of my ideas below (only for discussion)
Some obvious (or not) facts:

Authorization must be really quick because it has negative impact for all operations (especially accessing elements of the path)
admin operations (eg changing permissions) may may take a relatively long time (authentication also can be moderate slow).
There must be defined some consistent model of relations between objects user-role-permission. It also includes answers for questions like 'does user aggregates roles or user consist (among other) of permission set?'
The interesting question is: what is there are two users logged in as a administrator and they perform some modifications in parallel?

Ad 1: during authentication, server should build some kind of effective structure of users permissions (basing on information contained in roles granted to the user). All authorization could be done on this structure. Modifications on the user/role definitions are done on separate structures but when they are finished, server locks users session and recreates its permission set.
Ad 2. It is acceptable (in my opinion!) to force the admin to wait for synchronization of the users/roles definition among the cluster. But he/she don't have to wait for recreating sessions' permission set described above - we only have to be sure that the user/role definition exists on all nodes.
Ad 3. In case of authenticated session the model is user <- (one to many) -> permission and is immutable: exists or is deleted and recreated as a whole.
User/Role Definitions can have any model - the best is something intuitive and convenient ;) It will have nothing to do with the performance of the authorization process.
Ad 4. We can do some locks on the User/Role Definitions and prevent other session to modify the same data in parallel. It will not impact the performance of the normal read/write data operations.
And another thing: we have session. Maybe the API should be state-ful. That means all write operations could be stored on the server and deffered to the execution of operation named Commit or Apply (or smoething like this).
It is easier to manage set of chagnes at once than many small changes.
Some extra comments to the API described in 'Authentication and Access Control in etcd v3 protocol' (just my private opinions):
Function GetUser should not return all users in any case and RoleGet should not return all roles in any case (why Get-User but Role-Get?).
How many entities may be put into one message?
In my opinion it would be more useful to have GetUser/GetRole returning exactly one item (complete record) and Get(Users|Roles)List to return list of names (strings) matching the pattern given as a parameter. It could also return eg all users having granted some role. (eg to know which users will be affected after changes in role definition).
Questions:
1 - result of the GetUser contains list of roles' names o roles' complete records?
2 - there will be only one admin (root)?
3 - what ACL model is planned (are you going to give to the admin optional permission to create another admin account?
4 - who can change permissions: only admin, admin + owner of the object?
For now it looks I know far to less about the plans for v3 ;)

@ark76r sorry for my late reply. I need to comment on many opinions and questions from you :) So I'd like to comment on the locking overhead you concern at first.
Overhead of locking auth metadata isn't required. Because every follower can do auth based on its replica of the metadata. Of course it would introduce inconsistent state of the auth. However, actual checking of each request is done by a leader node (based on a token attached to the requests), it must always have the latest auth metadata.
Therefore, auth info update and checking is processed during ordinal raft request sequence. So we don't need locking mechanisms and its overhead.

1 - result of the GetUser contains list of roles' names o roles' complete records?

I think your suggestion seems good. Fortunately, the APIs aren't implemented yet. I'll separate a functionality of getting a single complete user information from getting entire user list.

2 - there will be only one admin (root)?

AFAIK, v2 auth provides only one admin (root) account. Providing multiple admin accounts useful? I'm not sure.

3 - what ACL model is planned (are you going to give to the admin optional permission to create another admin account?

Ditto.

4 - who can change permissions: only admin, admin + owner of the object?

Ditto. And multiple roles can have a permission of single path in our model. Introducing admin permission would result complexity. But zookeeper seems to provide this functionality?


Time entry listing and submission for merge requests

Probably fixes #421

Thanks for starting work on this @Cysioland. Are you able to finish this PR? 🚀

Not in this very moment, but I will

Excellent. :)

Oh, it looks like this is already implemented on the 9.18 branch. Thanks anyway. :)


Issues loading pretrained weights

Download weights from the link and uploaded to my drive. Can't load the weights on local/Google Colab. It is stuck running on the same cell for some time.

My bad. The file only contain weights and not the architecture. Have to instantiate the model first and then load the weights.


Query connections on redis cache

Hi!, I was trying to connect to a redis cache instance using redis-cli (windows version and also from a linux client) but even when I got connected to the cache as soon as I issue a command to it the connection gets closed. This happens using only SSL and also when I enable to non SSL access.
I tried using the portal console for the cache, but I can't run commands as "client list". What is the suggested way to be able to run this command or to get the list of clients of my redis cache instance?
Thanks!

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

ID: 3418871d-aa46-2de8-2f68-8653d13a2fee
Version Independent ID: 37af43af-9d81-93be-fdbe-eedc69c01139
Content: How to use redis-cli with Azure Redis Cache
Content Source: articles/redis-cache/cache-how-to-redis-cli-tool.md
Service: cache
GitHub Login: @wesmc7777
Microsoft Alias: wesmc

@javiermarasco Thanks for the feedback. We are actively investigating and will get back to you soon.

@javiermarasco Did you follow these instructions? Enable access for redis-cli.exe.
This should get you connected without issues.


feat: add strapi annuaire & home page, breadcrumbs & dark theme & collpased section fix

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

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


Double-click to focus on a point no longer works

Describe the bug
Double-clicking on a 3D point of a point cloud to refocus the camera no longer works.

Version 0.12.1: it works ✅ (https://app.rerun.io/version/0.12.1)
Version 0.13.0: it doesn't work ⛔ (https://app.rerun.io/version/0.13.0)
Version 0.14.1: still doesn't work ⛔ (https://app.rerun.io/version/0.14.1)

To Reproduce
Steps to reproduce the behavior:

Go to an official example with a 3D point cloud (e.g. Structure from Motion)
Double-click on a 3D point on the side of the scene
The focus is made on the center of the 3D point cloud as a whole, not the individual point as before

Expected behavior
Up until v0.12.1, we could focus specific points of a 3D point cloud easily, and this is no longer the case.
Screenshots
N/A
Backtrace
N/A
Desktop (please complete the following information):

OS: macOS Monterey 14.3.1
Browser: Firefox Version 123.0 (64-bit)

Rerun version
Versions 0.13.0 to 0.14.1
Additional context
N/A

This was broken more or less intentionally. Starting in 0.13 double clicking an entity focuses the entity as a whole, no matter where you double click it. For this new focus action we're using the current local bounding box of that entity and move the camera accordingly. The previous double click in contrast was about a 3D position and would place the camera with some heuristic based on the current scene size.
Given that I have a bit of a hard time on how to bring instance path focus back: clicking twice on an entity selects the entire entity which is why the focus action goes to the entity, and unlike for entitites we don't have a local bounding box for instances.
One idea would be to put the "focus on 3d position" action into a context menu, but I figure this might be quite unwieldy. What do you think?


alert doesn't seem to make any sense. alert outcome wrong, data inconsistent, sign reversed :?

we have this:
template disk_space {
    body = `Acknowledge alert

Host: {{.Group.host}}

Disk: {{.Group.disk}}

disk full in {{.Eval .Alert.Vars.days_till_full}} days

current free: {{.Eval .Alert.Vars.cur_pct_free}} %
	    {{.Graph .Alert.Vars.graphData "disk % free"}}

    `
    subject = {{.Last.Status}}: Incident #{{.Last.IncidentId}} {{.Alert.Name}}: {{.Group.disk}} on {{.Group.host}} has {{.Eval .Alert.Vars.days_till_full}} days till full, {{.Eval .Alert.Vars.cur_pct_free | printf "%.0f"}} % currently free
}
alert disk_space {
    template = disk_space
    runEvery = 2
    $metric = collectd.{production,ops,development,grafana_net}.*.*.df.*.percent_bytes.free

    $data = graphite("$metric", "3d", "", "...host..disk")
    $graphData = $data
    $days_till_full = forecastlr($data, 0) / 86400
    $cur_pct_free = last($data)

    warn = $cur_pct_free < 10 || ($days_till_full < 7 && $days_till_full > 0)
    crit = $cur_pct_free < 4 || ($days_till_full < 2 && $days_till_full > 0)

    critNotification = critNot, slackCritical
    warnNotification = default, slackWarn
}

today i got this critical email in my mailbox:

i just tried to replicate it in rule editor with disk=root,host=worldping as template group and got some weird results.
the first one was the same time, and then two more at slightly later times (screenies further down)
notice:

subject says -3650 days, whereas body says 3650 days. i remember Matt and myself implementing a query cache precisely to prevent this sort of thing. e.g. to assure that the same queries executed within the same alerting run would see the same results. it seems it's not working well. or what could be the reason of the sign inversion?
it's unclear why the alert fired. whether days until full was considered as 3650 or -3650, neither should trigger the crit notification per the rule in the alert config.
in the 3 reproduction scenarios that have slightly different times i seem to get different versions of the number 3650 in subject vs body. as i retry the 3rd case at least it seems consistent with itself, but i also retried the 2nd one and then got one where it's pos in subject, neg in body, but still critical.
the first one i also got a result where it was normal but the signs reversed compared to the screenshot

we run bosun version 0.4.0 (9ef650b36b5d4abb6cf6fe4a4a57327045a97fa4) built 2015-09-18T14:39:03Z, which i know is a bit old

Ya, at this point so much has changed this might all be fixed. We are getting close to .5 . The main issue is that notifications with chaining are broken (https://github.com/bosun-monitor/bosun/issues/1690).
if you don't use notification chains, can you try this out on .5?
As far as the magic number, 10 years = 3650 days. For some reason we wanted to have a min / max bound on the forecast, but I can't remember why at the moment. The code is in funcs.go:
func (e *State) forecast_lr(dps Series, args ...float64) float64 {
	const tenYears = time.Hour * 24 * 365 * 10

Our current diskspace forecast alert is a little crazy. Done some stuff organically over time to eliminate noise from the forecast:
lookup disk_space {
    entry host=ny-omni01,disk=E {
        #Setting -1 disables the forecast attribute
        warn_days = -1
        crit_days = -1
        warn_percent_free = .01
        crit_percent_free = 0
    }
    entry host=or-sql*,disk=E {
        warn_days = -1
        crit_days = -1
        warn_percent_free = 4
        crit_percent_free = 0
    }
    entry host=ny-db05,disk=* {
        warn_days = -1
        crit_days = -1
        warn_percent_free = .01
        crit_percent_free = 0
    }
    entry host=or-fs01,disk=D {
        warn_days = 7
        crit_days = 1
        warn_percent_free = 10
        crit_percent_free = 5
    }
    entry host=ny-logsql01,disk=D {
        warn_days = -1
        crit_days = -1
        warn_percent_free = 1
        crit_percent_free = .01
    }
    entry host=ny-search*,disk=* {
        warn_days = 7
        crit_days = 1
        warn_percent_free = 5
        crit_percent_free = 1
    }
    entry host=ny-back02,disk=* {
        warn_days = -1
        crit_days = -1
        warn_percent_free = 1
        crit_percent_free = 0
    }
    entry host=*,disk=* {
        warn_days = 7
        crit_days = 1
        warn_percent_free = 10
        crit_percent_free = 0.01
    }
}

alert os.diskspace {
    macro = host_based
    $notes = This alert triggers when there are issues detected in disk capacity. Two methods are used. The first is a traditional percentage based threshold. This alert also uses a linear regression to attempt to predict the amount of time until we run out of space. Forecast alerts are also suppressed if the disk usage has not changed significantly in the past 1 hour. Forecasting is a hard problem, in particular to apply generically so there is a lot of room for improvement here. But this is a start
    template = diskspace
    $filter = host=*,disk=*

    ##Forecast Section
    #Downsampling avg on opentsdb side will save the linear regression a lot of work
    $days_to_zero = (forecastlr(q("avg:6h-avg:os.disk.fs.percent_free{$filter}", "7d", ""), 0) / d("1d"))
    $days_to_zero24h = (forecastlr(q("avg:1h-avg:os.disk.fs.percent_free{$filter}", "1d", ""), 0) / d("1d"))
    #Threshold can be higher here once we support string lookups in lookup tables https://github.com/bosun-monitor/bosun/issues/268
    $change_recently = dev(q("avg:os.disk.fs.space_used{$filter}", "1h", ""))
    #50Megabytes
    $change_threshold = 52428800
    $warn_days = $days_to_zero > 0 && $days_to_zero24h > 0 && $days_to_zero < lookup("disk_space", "warn_days") && $days_to_zero24h < lookup("disk_space", "warn_days")
    $crit_days = $days_to_zero > 0 && $days_to_zero24h > 0 && $days_to_zero < lookup("disk_space", "crit_days") && $days_to_zero24h < lookup("disk_space", "warn_days")

    ##Percent Free Section
    $pf_time = "5m"
    $percent_free = avg(q("avg:os.disk.fs.percent_free{$filter}", $pf_time, ""))
    $used = avg(q("avg:os.disk.fs.space_used{$filter}", $pf_time, ""))
    $total = avg(q("avg:os.disk.fs.space_total{$filter}", $pf_time, ""))
    $free = $total - $used
    $warn_percent = $percent_free <  lookup("disk_space", "warn_percent_free")
    #Linux stops root from writing at less than 5%
    $crit_percent = $percent_free <  lookup("disk_space", "crit_percent_free")
    #For graph (long time)
    $percent_free_graph = q("avg:1h-min:os.disk.fs.percent_free{$filter}", "4d", "")

    ##Main Logic
    warn = $warn_percent || $warn_days
    crit = $crit_percent || $crit_days

    ##Options
    squelch = $disk_squelch
    #IgnoreUnknown is commented out while we set it in the host macro while working through the issue, otherwise we have duplicate keys
    #ignoreUnknown = true
    #This is needed because disks go away when the forecast doesn't
    unjoinedOk = true
    #Run every 15*1m = 15 minutes
    runEvery = 15
}


Fix karma testing - qunit & requirejs

I recently added an issue here, and wanted to try and fix it, I can't get npm test to pass, the same happens for grunt validate, I don't even get to the karma tests as eslint:target fails.
So then I tried to only run the qunit tests. That does work, but I can't understand any of the tests. That might be because I usually use phpunit and have very little js-experience. It might be because of the variable-names that I don't really understand. I see that there's ndx (which is probably index). But I can't see where the actual replacements are tested in there.
In any case, getting tests to green and adding something like travis to execute those tests (for every PR) would be a high priority thing if I were in your shoes.

@borisson ,
Fixed eslint errors, the errors in karma (11) are expected as they need to be fixed yet.
I will pull your PR for the travis build soon.  Thx


[EN] Feedback for: /web/tools/chrome-devtools/?hl=en

I like the chrome developer tools. But I do have an issue with the choice of the international "no" symbol for the purpose of clearing the screen buffer. That symbol is to turn something off or block something, not to clear or erase something. If you don't like the trash can symbol at least pick something that indicates "erase/clear". Misusing symbols interferes with communication and renders symbols meaningless.
I'm not a symbol cop, but I looked all over for the trash symbol and saw that "no" symbol, but I though that would turn off developer tools. That's is what that symbols indicates.

This issue tracker is for issues related to the developers.google.com documentation for /web. For issues specific to the Chrome DevTools, could you kindly repost your question about symbol consistency to crbug.com? The DevTools team will triage it and provide some insight into whether there would be interest in changing it over there.


[$500] Disabled tags are showing as required for "Multi level tags"

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.43-12
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @joeldavis
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1708607040166479
Action Performed:

In OD as admin enable "People must tag expenses" for some workspace
Enable "Use multiple levels of tags"
Create/import some multi-level tags and mark at least one as disabled
Invite user B to the policy as employee
As employee go to the workspace chat invited to
Request money and enter the amount and click next

Expected Result:
Disabled tags shouldn't appear
Actual Result:
Disabled tag appear as required (Multi-level tags all show as required)
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~019af1911417c9325b
Upwork Job ID:<PHONE_NUMBER>225997312
Last Price Increase: 2024-02-22

Proposal
Please re-state the problem that we are trying to solve in this issue.
Disabled tags are showing as required for "Multi level tags"
What is the root cause of that problem?
Currently we are displaying the tags menu without checking whether it is disabled or not here
https://github.com/Expensify/App/blob/29ad8787c7c889271c117dd4420109f9be8e180d/src/components/MoneyTemporaryForRefactorRequestConfirmationList.js#L761-L766
What changes do you think we should make in order to solve the problem?

When we disable a tag on OD it's required field is set to false so we can filter out tags with required false before displaying here
https://github.com/Expensify/App/blob/29ad8787c7c889271c117dd4420109f9be8e180d/src/components/MoneyTemporaryForRefactorRequestConfirmationList.js#L761-L766
 ..._.map(
            _.filter(policyTagLists, ({required}) => required !== false),
            ({name}, index) => ({
                item: (
                    <MenuItemWithTopDescription
                        key={name}

What alternative solutions did you explore? (Optional)

Since this is a fairly straightforward issue, we can go with the first correct solution, which can be found in @dukenv0307's proposal.
🎀👀🎀 C+ reviewed.

awesome! We'll wait for @MonilBhavsar's review of https://github.com/Expensify/App/issues/37095#issuecomment-1960505959

@akinwale thanks for reviewing. I feel like @FitseTLT 's proposal makes more sense. If tag is disabled, we should not simply render the item rather than checking if it is required or not. What do you think?

Thanks for quick response. I'll take a look and confirm

Okay thanks makes sense @dukenv0307
Do you think the variable isTagRequired needs to have the updated condition?
and why we just update the label, we need to also update isSupplementary prop

Note: BE need to return the required field for each tag in multiple levels tags beside the name and tags fields

It is already sent, no?

Can you please update your proposal then

It should be sent in policyTags_ key. Can you please double check

The structure looks odd to me.
Here's what I am seeing. May be you can try sign out and sign in?

I think this is right,
I hired @akinwale and @dukenv0307 in Upwork - https://www.upwork.com/jobs/~019af1911417c9325b

PR in the works https://github.com/Expensify/App/pull/37388

PR in the works https://github.com/Expensify/App/pull/37388

PR in the works https://github.com/Expensify/App/pull/37388

Monitoring https://github.com/Expensify/App/pull/37388

I think we're still watching PR https://github.com/Expensify/App/pull/37388 which should be done soon - is that correct @MonilBhavsar?

Yes, PR is merged. Should be deployed this week

@dukenv0307 @akinwale we have a regression here. Can anyone please take a look

@Christinadobrzyn Automation missed this. Payment for this can be processed (deployed to production 2024-04-10, payment due 2024-04-17) as https://github.com/Expensify/App/issues/39916 is not being considered as a regression since the cause is a backend issue.

@Christinadobrzyn bump on the above. Thanks.

DMd @akinwale about the regression test

[x]  [@akinwale] The PR that introduced the bug has been identified. Link to the PR:
[x]  [@akinwale] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
[x]  [@akinwale] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:

Not a regression. Specifically handling the display of the required label on multi-level tags was not implemented.

[x]  [@akinwale] Determine if we should create a regression test for this bug.
[x]  [@akinwale] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

Regression Test Steps
Prerequisites

In OD, as admin, enable the "People must tag expenses" option for a workspace
In OD, as admin, enable "Use multiple levels of tags
Create or import a few multi-level tags and mark at least one as not required

As an admin, Invite an employee to the workspace.
As the employee, navigate to the workspace chat invited to.
Request money, enter an amount and click Next.
Click on the More button to display the rest of the list items.
Verify that only tags that have Required enabled in OD appear as required in ND (The text 'Required' is displayed next to the name of the corresponding tag in the list).

Do we agree 👍 or 👎?

@Christinadobrzyn Done!

Created regression test - https://github.com/Expensify/Expensify/issues/395323
Closing!


2016 LTSB will not do in-place upgrade to Enterprise, LTSC, Pro, ...

Is this information really correct?
" Windows 10 Enterprise 2016 LTSB can be upgraded to Windows 10 Enterprise version 1607 or later. Upgrade is supported using the in-place upgrade process (using Windows setup)."
I have been trying to upgrade my LTSB laptops so they can run Adobe XD for days now and can only get the message "Upgrade path not available".
I think that I have tried every combination and permutation so there must be a factor that is critical that is left out of the documentation. Please provide complete information.

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

ID: 08436cb0-d0b6-0961-9e57-291b24d73644
Version Independent ID: 36264f52-d3ac-4e50-f8e8-b09d6b210490
Content: Windows 10 upgrade paths (Windows 10)
Content Source: windows/deployment/upgrade/windows-10-upgrade-paths.md
Product: w10
Technology: windows
GitHub Login: @greg-lindsay
Microsoft Alias: greglin

@officedocsbot assign @jvsam

Hi @emt29165 thank you for your question.

Hi @emt29165 thank you for your question. I just want to mention that the note section includes this information:

...This was corrected in the Windows 10 LTSC 2016 release, which will now only allow data-only and clean install options.

In-place upgrade is possible but you will need do a clean reinstall or full OS deployment. Are you upgrading from Windows 10 Enterprise 2016 LTSB to Windows 10 Enterprise 2019 LTSC? These are also good references:
Windows 10 Enterprise (2016 LTSB) - unable to update with build 1809
Windows 10 Enterprise LTSB 2016 upgrade to 1709
If my understanding is wrong, kindly clarify and provide more information. If it's correct but the documentation is still confusing for you, can you also let us know what information you want to add to this documentation so we can forward it for review? Thanks and looking forward to your feedback.

Yes, we are updating from Windows 10 Enterprise 2016 LTSB (1607) to Windows 10 Enterprise 2019 LTSC (1809) using .iso file running inside of the existing windows installation. (all file are directly downloaded from MVLS). Both options for either Upgrade keeping apps and files and Full/Custom install are available. I did not try the custom install as we want only to upgrade the current install.

Thanks for the additional information @emt29165. I believe in this case, the best course of action if you are still experiencing problems is to contact Windows Support. You can open a service/support ticket in your tenant to get immediate assistance. Again, if there are issues in this documentation, e.g. inaccurate information, etc., please let us know. Thanks for being part of the Microsoft Docs community!

Hi again @emt29165 I hope you were able to contact Windows support and resolved your concern. We will now close this issue, however, feel free to re-open if you have other suggestions or ideas to improve the quality of this documentation. Thank you again for your feedback.

@officedocsbot close

Let's have a look here http://robertoviola.cloud/2020/07/28/upgrading-windows-10-2016-ltsb-to-windows-10-2019-ltsc/
Long story short, you need the ISO of Windows LTSC and you need to run it over the 2016

This is pretty bad; we had Enterprise 2016 LTSB machines forced to upgrade today and they went to 20H2 Pro. No upgrade from LTSB to LTSC?


[Add] #1797 Blockchain fundamentals learning resource.

Summary of your changes
Added Blockchain fundamentals learning resource.
Description
Added a dedicated learning resource for Blockchain technology and its fundamentals.
Checklist

[x ] My change follows the Contributing Guidelines
[x] I have added only one new link to the list.
[x] I have checked that the link that I added does NOT exist in the project already.
[x] I have sorted the link alphabetically under the related section.

#1797

Kindly add the hacktober-accepted label.


Can't install via node 5.0.0 and npm 3.3.9

-> % npm version
{ npm: '3.3.9',
  ares: '1.10.1-DEV',
  http_parser: '2.5.0',
  icu: '56.1',
  modules: '47',
  node: '5.0.0',
  openssl: '1.0.2d',
  uv: '1.7.5',
  v8: '<IP_ADDRESS>',
  zlib: '1.2.8' }

Tried: npm install -g truffle
Got:
npm WARN install Couldn't install optional dependency: Error extracting /Users/greg/.npm/solc/0.1.5/package.tgz archive: ENOENT: no such file or directory, open '/Users/greg/.npm/solc/0.1.5/package.tgz'

As a hack, symlinking ~/.npm/solc/0.1.5 -> 0.1.6-2 gets it to install.

Can you clone the truffle repository from source, and then install from there? The non-released version of Truffle has the solc version bumped to 0.1.6.
$ npm uninstall -g truffle
$ git clone https://github.com/ConsenSys/truffle.git
$ cd truffle
$ npm install -g .

Should work for you. Will release a new version soon.

That seemed to work! :smile:
I ran EtherSim (your version) and truffle test on ether-crawler. Most tests passed, there was one exception at the end:
-> % truffle test
Using environment test.
Compiling contracts...

  Contract: Challenge
    ✓ expects character, levels, and bet (167ms)
    ✓ lets you make an offer (85ms)
    ✓ lets player accept an offer, and initializes a game (424ms)
    ✓ doesn't blow up when you claim (122ms)
    ✓ pays out royalties to levels (592ms)

  Contract: ChallengeRegistry
    ✓ should let you add a challenge (178ms)

  Contract: Game
    ✓ loads the first level (398ms)
    ✓ stores extra information about monsters (347ms)
    ✓ stores information about adventurer (277ms)
    ✓ starts the adventurer in the upper left corner (284ms)
    ✓ lets adventurer move to an empty adjacent square (302ms)
    ✓ lets adventurer consume potion (326ms)
    ✓ doesn't let adventurer move onto walls (304ms)
    ✓ doesn't let adventurer move off the edge of the world (265ms)
    1) sends adventurer to the next level if they enter a staircase
    ✓ attacks monster if adventurer tries to move onto it (354ms)
    ✓ lets player equip swords (528ms)
    ✓ kills monster when it drops below 0hp (380ms)
    ✓ levels adventurer up when they kill monster (387ms)
    ✓ moves monsters when player moves (375ms)
    ✓ attacks when player is adjacent (360ms)
    ✓ lets player equip shields (487ms)
    ✓ ends game if player goes to 0hp (381ms)
    ✓ lets you get all squares (597ms)

  Contract: Level
    ✓ should let you add a staircase (47ms)

  Contract: LevelRegistry
    ✓ should let you add a level (46ms)
    ✓ should let you get all levels at once (48ms)

  26 passing (15s)
  1 failing

  1) Contract: Game sends adventurer to the next level if they enter a staircase:
     TypeError: Cannot read property 'binary' of undefined
    at _new (node_modules/ether-pudding/build/ether-pudding.js:86:18)
    at tryCatcher (node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (node_modules/bluebird/js/main/async.js:133:10)
    at Immediate.Async.drainQueues [as _onImmediate] (node_modules/bluebird/js/main/async.js:15:14)
    at Function.module.exports.loopWhile (node_modules/deasync/index.js:64:21)
    at node_modules/deasync/index.js:36:18
    at runTask (truffle.es6:55:5)
    at Object.<anonymous> (truffle.es6:347:14)
    at normalLoader (node_modules/babel-core/lib/api/register/node.js:199:5)
    at Object.require.extensions.(anonymous function) [as .es6] (node_modules/babel-core/lib/api/register/node.js:216:7)
    at Object.<anonymous> (node_modules/babel/lib/_babel-node.js:144:25)
    at node.js:972:3

Not sure what to do with that.

Did you ever fix this issue?

Yep! Thank you!


"go mod tidy" does not work with UNIX soft links

What version of Go are you using (go version)?

go version go1.20.1 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
GOARCH="amd64"
GOHOSTARCH="amd64"
GOHOSTOS="linux"

What did you do?
Running go mod tidy in a directory that is a soft-link does not work. Running go mod tidy from the real location does work. The only difference is the soft-link.
For example: If I have a project in /home/me/source/myproject and a softlink to that project:

ln -s source/myproject mylink

What did you expect to see?
The results of go mod tidy as it finds the modules for the project
For example:

go: finding module for package github.com/veandco/go-sdl2/sdl
go: finding module for package github.com/pkg/term/termios
go: finding module for package golang.org/x/image/draw
go: finding module for package golang.org/x/sys/unix

What did you see instead?
go: warning: "all" matched no packages

Duplicate of #45609


youtube-dl: error: no such option: --metadata-from-title

I have the above error. Full line is as follows:
youtube-dl --extract-audio --audio-format mp3 --ignore-errors -o "%(title)s.%(ext)s" --add-metadata --metadata-from-title "%(artist)s - %(title)s" URL
I've also tried it stripped back to:
youtube-dl --add-metadata --metadata-from-title "%(artist)s - %(title)s" URL
but with no luck. Current version of youtube-dl is 2015.02.28 running on Ubuntu Mate 15.04
It works if I leave out the --metadata-from-title option.
Any ideas what I could be doing wrong?
PC

This option is added since March 15th (#5125). Please update your copy of youtube-dl. The update instructions may help.

Ok, just uninstalled youtube-dl and sudo apt-get install youtube-dl installs version 2015.02.28 as before.
Sudo apt-get upgrade youtube-dl says:
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
I still get the same error:
youtube-dl: error: no such option: --metadata-from-title
Any ideas? All help much appreciated...

Aha! ok, uninstalled youtube-dl, reinstalled using:
sudo curl https://yt-dl.org/latest/youtube-dl -o /usr/bin/youtube-dl
but note the removal of /local/, and then:
sudo chmod a+rx /usr/bin/youtube-dl
again removing /local/, and it now works!


KubeVirtComponentExceedsRequestedCPU/Memory are not working properly

What happened:
The alerts KubeVirtComponentExceedsRequestedCPU and KubeVirtComponentExceedsRequestedMemory are not working properly.
What you expected to happen:
The alerts are working properly.
How to reproduce it (as minimally and precisely as possible):
After Install Kubevirt.
Additional context:
KubeVirtComponentExceedsRequestedCPU related issue:
node_namespace_pod_container:container_cpu_usage_seconds_total:sum_rate changed in kube-prometheus issue: https://github.com/prometheus-operator/kube-prometheus/issues/1056#issuecomment-934617638
KubeVirtComponentExceedsRequestedMemory error:
found duplicate series for the match group {pod="kube-vip-czcpp"} on the right hand-side of the operation: [{__name__="container_memory_working_set_bytes", endpoint="https-metrics", id="/kubepods/besteffort/pod18898f14-6d91-484c-a0ff-8724c36cf881/508c136c03021f72921a2a6a79b02bae3e7b7a4cde611c8fc1eb9afa4ce665b9", image="docker.io/rancher/pause:3.6", instance="<IP_ADDRESS>:10250", job="kubelet", metrics_path="/metrics/cadvisor", name="508c136c03021f72921a2a6a79b02bae3e7b7a4cde611c8fc1eb9afa4ce665b9", namespace="harvester-system", node="harvester-master", pod="kube-vip-czcpp", service="rancher-monitoring-kubelet"}, {__name__="container_memory_working_set_bytes", endpoint="https-metrics", id="/kubepods/besteffort/pod18898f14-6d91-484c-a0ff-8724c36cf881", instance="<IP_ADDRESS>:10250", job="kubelet", metrics_path="/metrics/cadvisor", namespace="harvester-system", node="harvester-master", pod="kube-vip-czcpp", service="rancher-monitoring-kubelet"}];many-to-many matching not allowed: matching labels must be unique on one side

promSQL:
((kube_pod_container_resource_requests{container=~"virt-controller|virt-api|virt-handler|virt-operator",namespace="harvester-system",resource="memory"}) - on(pod) group_left(node) container_memory_working_set_bytes{container="",namespace="harvester-system"}) < 0

It looks like it can be solved by adding the filter container=~"virt-controller|virt-api|virt-handler|virt-operator" to container_memory_working_set_bytes.
related issue: https://github.com/harvester/harvester/issues/2729
Environment:

KubeVirt version (use virtctl version): 0.54.0
Kubernetes version (use kubectl version): v1.22.12
VM or VMI specifications: N/A
Cloud provider or hardware configuration: N/A
OS (e.g. from /etc/os-release): SLE Micro
Kernel (e.g. uname -a): 5.3.18-150300.59.90-default
Install tools: N/A
Others:
prometheus:v2.28.1
prometheus-operator: v0.50.0

/reopen
the issue still happens, logged also in
https://github.com/harvester/harvester/issues/3792,
https://github.com/harvester/harvester/issues/3472
prometheus complains:

level=warn ts=2023-04-19T08:56:37.628Z caller=manager.go:603 component="rule manager" group=kubevirt.rules msg="Evaluating rule failed" rule="alert: KubeVirtComponentExceedsRequestedMemory\nexpr: ((kube_pod_container_resource_requests{container=~"virt-controller|virt-api|virt-handler|virt-operator",namespace="harvester-system",resource="memory"})\n - on(pod) group_left(node) container_memory_working_set_bytes{container="",namespace="harvester-system"})\n < 0\nfor: 5m\nlabels:\n kubernetes_operator_component: kubevirt\n kubernetes_operator_part_of: kubevirt\n severity: warning\nannotations:\n description: Container {{ $labels.container }} in pod {{ $labels.pod }} memory usage\n exceeds the memory requested\n runbook_url: https://kubevirt.io/monitoring/runbooks/KubeVirtComponentExceedsRequestedMemory\n summary: The container is using more memory than what is defined in the containers\n resource requests\n" err="found duplicate series for the match group {pod="kube-vip-cloud-provider-0"} on the right hand-side of the operation: [{name="container_memory_working_set_bytes", endpoint="https-metrics", id="/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-pod3483397c_e5e4_4f1b_ae47_e8c70f65341c.slice/cri-containerd-cdaf78aac3bd426acc98a4704eb550da59ab7ac6c7a38e3b0d19149bc2df50f4.scope", image="docker.io/rancher/pause:3.6", instance="<IP_ADDRESS>:10250", job="kubelet", metrics_path="/metrics/cadvisor", name="cdaf78aac3bd426acc98a4704eb550da59ab7ac6c7a38e3b0d19149bc2df50f4", namespace="harvester-system", node="harv31", pod="kube-vip-cloud-provider-0", service="rancher-monitoring-kubelet"}, {name="container_memory_working_set_bytes", endpoint="https-metrics", id="/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-pod3483397c_e5e4_4f1b_ae47_e8c70f65341c.slice", instance="<IP_ADDRESS>:10250", job="kubelet", metrics_path="/metrics/cadvisor", namespace="harvester-system", node="harv31", pod="kube-vip-cloud-provider-0", service="rancher-monitoring-kubelet"}];many-to-many matching not allowed: matching labels must be unique on one side"


Update Nightscout basal profile from Autotune (new feature to be added)

Proposal: It would be nice if autotune's recommendation file would also upload Nightscout's basal profile, so the profile didn't get out of sync with autotune. (This impacts how OpenAPS basals visualize, because the default value is the NS profile, which is usually out of date for most people)
Alternative/another option would be to have the pump profile drive the Nightscout profile update. Potentially give people an option (in preferences) of turning this on at all; and if so, choosing from pump or Autotune profile to run the update?
Related code: @Kdisimone has done this in a Loop branch. This diff here between her basal-profile branch and Loop master probably shows most of the code most relevant to this concept. From this line and below has some of the relevant code, which should give some clues on the plumbing needed to make this work in oref0: https://github.com/LoopKit/Loop/compare/master...Kdisimone:basal-profiles#diff-5b9067796f682df0e6723dfbb8aa0e6bR50
Some plumbing details to start:

Autotune runs at ~4am, so we'd want cron to run this task after autotune generates the latest recommendation log (so it works for automated autotune or manual runs), OR when pump profile is updated, depending on which setting is selected.
This needs to be an optional feature to start (with a preference).

I am in favour of the Basal change driven by the Pump and having an option to update NS when the Basal Program has changed.
We also need a profile name to be put in Settings, copy the NS profile to a new profile and update the profile with the new basals.
I am happy to work on this going forward, just need some guidance on branches to dev from, the git workflow here and base code structure etc.

I would like it to pull from Autotune, as those results are consistently changing versus the pump.

That would be a separate operation as that would be an upload to the pump, you need a base basal even before autotune runs.
The pump should be the source of Truth for basals.
Changing your base basals from Auto tune would be good, but the main issue is the Pump and NS base basals getting out of sync.
Proposition would be syncing the two up.....

This would be a great feature to add!

So to keep this viral: It would be great if someboady would start inversting some time into this feature. Me and and I think a lot of others would be super happy about it.

Hi all - this is live right now @lini500, follow these instructions: https://openaps.readthedocs.io/en/latest/docs/While You Wait For Gear/nightscout-setup.html#how-to-automatically-sync-your-profile-from-autotune
Will close this issue that I had forgotten about :) Thanks for the reminder!

Hi Dana, I have tried to run this a few times. I am using the Option C for autotune (running in an Ubuntu VM on Windows). I always get the following when I run it, any ideas? I blocked out my site and secret.
seth@SethsSurface:~/myopenaps$ oref0-upload-profile settings/profile.json MyNSSiteHere MySecretHere
Could not parse input data:  [TypeError: Cannot read property 'length' of undefined]

So the next requirement is to add this as an option in the startup script and get the start up script to add it into the nightly batch?

@tim2000s here's an open PR for that - I've been using it & like it. https://github.com/openaps/oref0/pull/1098

I've just tested this with the autotune profile. While it uploads ISF and basal rates, it doesn't do CR.

For some reason oref0-upload-profile now reproducibly crashes my Nightscout instance (dev as of Dec 06). The output generated when using the --previewoption looks sensible so it must have to do with the upload.
Maybe something to do with https://github.com/nightscout/cgm-remote-monitor/commit/6a0e5d91d3c9378ae5dfd807b6b0d6b1332abf89 ?
PS: Could not find the original PR that added the oref0-upload-profile function. Maybe someone could reference it in here.
This is the Nightscout error log:
2018-12-06T21:48:28.991611+00:00 heroku[router]: at=info method=GET path="/api/v1/profile/current" host=abc.herokuapp.com request_id=4e35d086-6193-40a3-9090-ccd780aca137 fwd="<IP_ADDRESS>" dyno=web.1 connect=1ms service=31ms status=200 bytes=3226 protocol=https

2018-12-06T21:48:29.515236+00:00 heroku[web.1]: State changed from up to crashed

2018-12-06T21:48:29.428881+00:00 app[web.1]: GRANTED:  <IP_ADDRESS> api-secret api:profile:read

2018-12-06T21:48:29.428976+00:00 app[web.1]: GRANTED:  <IP_ADDRESS> api-secret api:profile:create

2018-12-06T21:48:29.430866+00:00 app[web.1]: got data-received event, requesting reload

2018-12-06T21:48:29.431572+00:00 app[web.1]: /app/node_modules/mongodb/lib/utils.js:132

2018-12-06T21:48:29.431575+00:00 app[web.1]:       throw err;

2018-12-06T21:48:29.431577+00:00 app[web.1]:       ^

2018-12-06T21:48:29.431578+00:00 app[web.1]:

2018-12-06T21:48:29.431579+00:00 app[web.1]: TypeError: Cannot read property 'ops' of null

2018-12-06T21:48:29.431580+00:00 app[web.1]:     at /app/lib/api/profile/index.js:44:38

2018-12-06T21:48:29.431582+00:00 app[web.1]:     at /app/lib/server/profile.js:9:7

2018-12-06T21:48:29.431583+00:00 app[web.1]:     at err (/app/node_modules/mongodb/lib/utils.js:415:14)

2018-12-06T21:48:29.431585+00:00 app[web.1]:     at session.endSession (/app/node_modules/mongodb/lib/utils.js:399:27)

2018-12-06T21:48:29.431586+00:00 app[web.1]:     at ClientSession.endSession (/app/node_modules/mongodb-core/lib/sessions.js:129:41)

2018-12-06T21:48:29.431587+00:00 app[web.1]:     at executeCallback (/app/node_modules/mongodb/lib/utils.js:397:17)

2018-12-06T21:48:29.431588+00:00 app[web.1]:     at bulk.execute (/app/node_modules/mongodb/lib/operations/collection_ops.js:118:14)

2018-12-06T21:48:29.431589+00:00 app[web.1]:     at err (/app/node_modules/mongodb/lib/utils.js:415:14)

2018-12-06T21:48:29.431591+00:00 app[web.1]:     at executeCallback (/app/node_modules/mongodb/lib/utils.js:404:25)

2018-12-06T21:48:29.431592+00:00 app[web.1]:     at handleCallback (/app/node_modules/mongodb/lib/utils.js:128:55)

2018-12-06T21:48:29.494802+00:00 heroku[web.1]: Process exited with status 1

2018-12-06T21:48:29.446102+00:00 heroku[router]: at=error code=H13 desc="Connection closed without response" method=POST path="/api/v1/profile" host=abc.herokuapp.com request_id=9579b2cf-87b4-4268-a589-436d5ecd25d0 fwd="<IP_ADDRESS>" dyno=web.1 connect=0ms service=18ms status=503 bytes=0 protocol=https

@philipgo2 That's a strange crash and can only occur if inserting data to Mongo failed without reporting a problem with the insertion. Where do you host Mongo? Can you run repairDatabase() on your Mongo instance, as described here: https://davidburgos.blog/how-fix-quota-exceeded-mlab-mongolab/
This issue is not related to the linked PR - those code changes only affect CGM data uploads, while uploading profile data is handled by the profile API code.
Also note this is a closed ticket and I noticed this comment by luck - in the future please create a new ticket when a new problem is found and in case of Nightscout issues, the Nightscout repo might be a be better place. I now created a ticket there: https://github.com/nightscout/cgm-remote-monitor/issues/4126

Very basic question regarding initial setup in the profile.json file
My T1Ds 2 little girls under AGE 10 we don't use a pump, assuming that means we're on a "closed loop" setup? They use Humalog for carbs/correction and Lantus for daily "basal"
Lantus is taken once/daily at 7am
I guess I don't know enough of T1D to understand which values to fill in for the "start," "minutes," "rate," "min_5m_carbimpact," "dia," and "basalprofile" values.
Any help/guidance/sample .json profiles for someone using a "poor man's pump" setup would be greatly appreciated.

Depending on what you wnat to achieve, it may be a lot easier for you to use AndroidAPS in open loop mode and select MDI (Multiple Dose Injection) as "pump".


Is it possible to switch the window when the terminal is active?

When the terminal window (vim term) is active, I can't switch to other windows with ctrl+hjkl, I need to use ctrl+w+hjkl
Is there no solution?

Not supported directly, but should be something you can enabled / configure. See https://github.com/christoomey/vim-tmux-navigator/pull/313 for more details.
Going to close this now as I think the other linked issues (and the ones that one links to) better capture the situation, but please feel free to comment if you think I missed somthing.


Remove custom handling of UnsupportedContentType

Upgrade to http4s 0.12.1
Upgrade to scalaz-stream 0.8
Improve error message of response when user supplied media type is incorrect
Add fix that was submitted upstream to http4s (for better error message)

I am really confused about the build failure for this PR.
The test failure is in core and only two files were changed in core and they are such benign changes that have nothing to do with CoreConfigSpec. But it seems to happen 100% of the time so it must be the change. http4s and scalaz-stream were upgraded which seems like the most likely culprit although it is not obvious to me how this would affect json serialization.
Anyone have any ideas?

Not sure what's going on there but I would suggest one or more of the following:

write a RenderTree for the config type and use beTree or beRightDisjOrDiff to get a diff that shows you where the problem is.
write a shrinker for the config type so you get a minimized failing input. See PlannerSpec.shrinkExpr.
maybe change the generator to use size more intelligently. I can't really tell if that's the issue, but if you're generating hundreds of mounts with hundreds of nodes in the view queries, yikes.

@jedesah It likely has to do with a workaround we added b/c http4s wasn't properly escaping query param key names when rendering to string, see
https://github.com/quasar-analytics/quasar/blob/master/core/src/main/scala/quasar/fs/mount/MountConfig.scala#L121
now that it is fixed upstream, these are probably being double-escaped.

@wemrysi Thx, that was it!

Current coverage is 78.67%

Merging #1105 into master will decrease coverage by -0.13% as of f4d738d

@@            master   #1105   diff @@
======================================
  Files          171     171
  Stmts         9563    9591    +28
  Branches       316     320     +4
  Methods          0       0
======================================
+ Hit           7536    7546    +10
  Partial          0       0
- Missed        2027    2045    +18

Review entire Coverage Diff as of f4d738d

Powered by Codecov. Updated on successful CI builds.

This looks good. Just make sure that the version info is still correct when merge it.

@jedesah Is updating to scalaz-stream 0.8 necessary for this PR? If so, we need to audit all the places we may be acquiring resources with streams and update accordingly, see https://github.com/functional-streams-for-scala/fs2/wiki/0.8#preemption-changes.
If it isn't necessary for this PR, then I'd wait and update scalaz-stream in a separate PR. Though, we should probably do a separate PR for scalaz-stream either way because of the code changes involved.

@sellout Git conflict resolution should take care of making sure I don't merge an outdated version (right?)

@wemrysi http4s depends on scalaz-stream 0.8 so I really just made the change to squelch the warning message. I think I will make the upgrade to 0.8 in this PR as there is already many changes in here that are specific to it.

@sellout Why the change to "in progress"?

@jedesah Build failure, but I’m guessing that was one of our random ones, since you restarted it. I just saw the ❌ on https://github.com/pulls?q=is%3Aopen+assignee%3Asellout, so I hadn’t been checking.
But also, you have to change the name of your CHANGELOG file and undo the manual change to version.sbt. The merge script will fail on this PR.
Just reviewed all the other changes. Looks good.

Argh! The timeout failures! Do we have any idea what’s behind those?

@sellout Ya, I know, I think we have some timeouts that are not long enough. :stuck_out_tongue_closed_eyes:

@sellout Does the merge script do anything that I haven't done manually? Of course I don't plan to do them manually on my next PR, but if this build finally passes and no one else has merged, could I just merge this one?

The way the merge script works now is it amends your last commit with the two version-related changes (renaming revision.md and updating version.sbt). So you can do that manually and get the same effect, as long as you're rebased on master.
If you use the merge script, you don't have to rebase, because it applies the version after merging your branch onto (a copy of) master.

@jedesah You’re right – you should be fine, I think.
@mossprescott That git pull onto the fresh branch currently requires a fast-forward, though, so you either have to be [re]based on master or have merged (I think). I think that part could be relaxed, but we if so, we should discuss what happens in that case.


Running a function without ()

There are always some functions you want to execute quickly either on browser or server side. Eg.
clear()

It would be much easier to just type:
clear

I see no point of having the () when you don't specify any argument. Also it will be more consistent with how it's done when you have arguments.
And if these requests will be implemented: https://github.com/jashkenas/coffee-script/issues/1407 https://github.com/jashkenas/coffee-script/issues/1495 then the only time we need () is when you have no arguments.
This is the only way to have functions as commands in the browser. After all, the only scripting language we have for browser environment is javascript, and it's not encouraging anyone to make functions you can run in the console quickly if you have to type () each time. This is way faster:
rmtabs
purge
lsels

This will also open up the door for the backend coffee REPL:
clone
copy
save2db

etc.
When we have a variable and type it's name on the console and hit ENTER we usually want to retrieve it's value. When we have a function, type it's name and hit ENTER we usually want to execute it. How often do we actually want to retrieve it's body?
However inside a script we want to do that more often since we need to pass it as an argument or create another reference to it. In these cases we could instead just do something like "callback.fn" or "<- callback".
One of the reasons why Vim/Vimscript is so successful is that you can call functions really quickly like this. And JavaScript has always blocked us from this feature by having () in between. I believe this one little change will bring new scripting innovations into JS world since it now can be used as a scripting language for ad hoc queries as well in REPL environments.

-1.
Anyway, if you want to implement said "commands", you could do it with __defineGetter__.

It would help more if you could explain why the -1.

This is the only way to have functions as commands in the browser.

window.__defineGetter__ 'command', -> executeCommand()
command

As you said, most of the time you will be passing functions around, creating references to them etc. Those are by far more common than said "commands", so having to type <- callback or whatever to do so would be a PITA.
Typing () is not exactly time consuming nor unusual.

But the question is why would you wanna use () after a function?
Everything in Ruby is a message/function iirc. Doing person.name is just like doing person.send "name" and you are returned a value from the function that was executed.
"person.kill" would be the same thing. It's all about function calls.
callback would fire the callback and perhaps callback.fn would be better to send the message to retrieve the function body.
I just see no point in having to have () for no arguments switching between person.eat(), than having to change it to person.eat something, somethingElse
Since CS has chosen to skip the () why not go all the way than saying "You can do this, but not if...".

foo = kill: -> 'nothing'
bar = kill: 'all the things'

foo.kill
bar.kill

I don't think it's actually possible for CoffeeScript to compile that into what you want, iirc due to the way the Lexer/Parser or something works.
It would hit foo.kill then would need to know that it is a function to be able to turn it into a function call.
I don't claim to know anything about lexing, parsing, rewriting, compiling... and I may be completely wrong but I am fairly sure it's not currently possible.

This has been proposed several times before -- check the Issues.
We can't make this change, because it's impossible to know at compile time whether a property is a function, or another value. Every single a.b would have to have a special check.
Ruby doesn't have direct property access, and therefore doesn't have this "problem".


fix(webpack): correctly load component stylesheets

Component styles were being generated as javascript due to the chaining of css-loader and raw-loader.  This is changed to only use the css-loader for global stylesheets (the behavior before PR #3402).
If there is a desire/need to maintain the use of css-loader in all cases, the raw-loader could be swapped with something along the lines of exports-loader?module.exports.toString().

Fixes 3534?

@dave-kennedy, unrelated.

/cc @filipesilva

@clydin thanks for the PR. Yours seems better than mine. Could you add the same test that I added to my PR? That way we can avoid regressing over this big in the future. Thanks

Added your test.

Okay you'll need to sign the CLA and everything is good.

@clydin can you squash the commits into a single one authored by you? That's what's messing up the CLA.

@filipesilva, that's annoying.
Ok. Squashed.

@clydin thank you, waiting on CI for merge.

LGTM. Thanks!


Sovrin BuilderNet and Mediator

Hi, I'm trying to use the project through the Sovrin BuilderNet network (since StagingNet is now paid).
I'm uploading an Aca-Py instance locally as a mediator and generating a connection invitation. When passing the invitation in the .env file, I've been getting the following errors when running the project on my mobile:

ERROR: Message is undeliverable to connection f16b3b58-e22d-4b24-a72a-0ede9169d174 (Mediator Builder)

....

 WARN Possible Unhandled Promise Rejection (id: 0):
[AriesFrameworkError: Message is undeliverable to connection f16b3b58-e22d-4b24-a72a-0ede9169d174 (Mediator Builder)]
 DEBUG DEBUG: Request was aborted due to timeout. Not throwing error due to return routing on sent message
 DEBUG DEBUG: No response received.

Would you like to know if the project supports Sovrin's BuilderNet network? (since it is now the only free sovrin for testing)
Is there any public mediator for sovrin's networks (mainly BuilderNet) like Indicio's (https://indicio-tech.github.io/mediator/)?
My commands to start Aca-Py as a mediator:

sudo PORTS="7021 7020" ./scripts/run_docker start --endpoint http://004b-177-134-247-168.ngrok.io --inbound-transport http <IP_ADDRESS> 7020 --outbound-transport http - -admin <IP_ADDRESS> 7021 --admin-insecure-mode --wallet-type indy --wallet-name demoapp --wallet-key ****** --preserve-exchange-records --auto-provision -- genesis-url https://raw.githubusercontent.com/sovrin-foundation/sovrin/master/sovrin/pool_transactions_builder_genesis --trace-target log --trace-tag acapy.events --trace-label dev.Agent.trace -- auto-accept-invites --auto-accept-requests --auto-store-credential --label dev.Agent --seed<PHONE_NUMBER>00000000000000MEDIATOR --open-mediation --emit-new-didcomm-prefix

I also created a folder in configs>ledgers>indy called sovrin-builder-net with the files genesis-file (containing genesis from buildernet) and pool-config, according to others.
This is the entire process I'm currently using to try to run the project on the Sovrin BuilderNet network, any tips that might help I'm grateful!

Closing stale issues as per July 19 Bifold UG call. Please re-open if unresolved or if its still relevant.


CCS refineries & chemical other sector

It seems that this chart doesn't balance, I guess refineries & chemical have to be added @lottevanvlimmeren do you have time to fix it?

For the existing industry sectors where CO2 capture is possible in the model we have researched the capture potential. Are these researched for the newly added CO2 capture sectors as well?

The capture potential has not been research for the refineries and chemical other sector. Instead, the capture potential for the food and paper sector of 85% has been used.

The capture potential has not been research for the refineries and chemical other sector. Instead, the capture potential for the food and paper sector of 85% has been used.

Thanks for the explanation. Given that these values are not researched, what is the reasoning for making the capture sliders available in the main ETM front-end instead of only making them available for external coupling?

Interesting question and I actually do not have the answer. We might want to hide these sliders for ETM users, because we are not sure about the potential. Let's hide them in ETModel and place a note why. Then we save the work and can revert it easily :) @lottevanvlimmeren or @mabijkerk , could you take care of that?

I'll hide these new sliders from the ETM front-end.


Update images in openscapes staging hub

A little context: https://github.com/2i2c-org/infrastructure/issues/1986
We released new R and Python images for Openscapes and we would like to test them on staging, I separated the chart values to hopefully only affect staging and if everything goes well, we'd like to use them in prod.

@betolink I have updated the PR so staging only has appropriate overrides, and most stuff is still in common. If this looks good to you, am happy to merge :)

Thanks Yuvi!! I think this is ready to be merged.


removed snowpack

removed snowpack
replaced http-server with srvd, which supports partial read (byte range) requests (which will come in handy later when we want to test with locally served COGs
added .env to titiler run command because we'll need to add in environmental variables to get titiler to access requester pays AWS S3 buckets
added envisage, so we won't have to ease webpack configuration

After this is accepted/merged, I'll submit another PR adding support for client-side rendering of composites (multiple assets combined)

Looks good, works all on Windows. Wasn't able to test npm run tiler as I don't have docker installed.


[IMPAC-903]: Correct CSS for Trend list in edit mode

What do you think about adding a screenshot before/after for CSS/fornt-end changes?

Done! Thanks for the suggestion!


Add output format option to helm get values command

Add output option format to helm get values command, for both json and YAML formats (default to YAML).  Closes #4542

Thanks @adshmh! Looks like this will also need a rebase before we can merge. We're just about to cut the first release candidate for 2.11 in a hour; think you can squeeze this one under the merge window?


Thread MapboxRenderThread was not started, ignoring event

Describe the bug
The bug occurs when I navigate from the map screen to another screen and back to the map screen, after that the App crashes, I'm using react-navigation. The only error I was able to catch using Flipper was this: [maps-android\Mbgl-MapboxRenderThread]: Thread MapboxRenderThread was not started, ignoring event
To Reproduce
I have no idea how to reproduce this
Screenshots
If applicable, add screenshots to help explain your problem.
Versions (please complete the following information):

Platform: Android
Platform OS: Android 7.1.1
Device:
Emulator/ Simulator: no
Dev OS: Win11
@rnmapbox/maps Version: last
Mapbox GL version: last
React Native Version: 0.68.2

Additional context

Having the same problem here.

We forced it to load when the screen is in focus, when it goes out of focus, it removes.
It is not the best solution either.

Same here. Temporary workaround: Add detachInactiveScreens={false} to Tab.Navigator:
  <Tab.Navigator
    initialRouteName='map'
    tabBar={(props) => <TabBar {...props} />}
    detachInactiveScreens={false}
  >

Same here. Temporary workaround: Add detachInactiveScreens={false} to relevant navigators:
  <Tab.Navigator
    initialRouteName='map'
    tabBar={(props) => <TabBar {...props} />}
    detachInactiveScreens={false}
  >

this works for me, but when the app "sleeps" modal doesn't work anymore.

Same here. Temporary workaround: Add detachInactiveScreens={false} to relevant navigators:
  <Tab.Navigator
    initialRouteName='map'
    tabBar={(props) => <TabBar {...props} />}
    detachInactiveScreens={false}
  >

This seems to suppress the issue for me as well.
For me my bottom sheet modals appears to continue working. They do exist above the tab navigator though.

Duplicate of #2212


TextCounter

@rishissahu can i contribute on this under hacktoberfest label?

I would like to work on this.
Please assign this issue to me.


get rid of ugly warnings caused by here()

Ok, I found the issue. here::here() is a bit weird on criteria that make a directory an R project and it insists recursively on its opinion. Annoying, but not ready to get rid of usethis et al. just yet. Just be aware some dangling template .Rproj files could summon an ugly warning / choice message which you can simply OK. Closing for now.


Create basic terminal shortcuts

The following terminal shortcuts must be defined:

[ ] Copy (Ctrl + C)
[ ] Paste (Ctrl + V)
[ ] Launch a new instance (Ctrl + Shift + T)

@ccordoba12 How do I register shortcuts for the first time without having to modify the CONF file directly on Spyder, I notice the existence of the spyder.config.gui.set_shortcut function, however, I would like to know how to initialize the default values.


Add Behaviour Notes endpoint specification.

Add a GET /people/{crn}/behaviour-notes endpoint to the OpenAPI specification

Just an initial comment: I think we ought to have a chat with Dan and Beth and Selina about the terminology: whether "Behaviour notes" really is the best term given this list of prison information will include case notes of numerous types -- not just "Positive behaviour" and "Negative behaviour". e.g. would:

"Prison information",
"Case notes" or
"Prison case notes"

be clearer / more accurate?

@edavey good point, the designs currently refer to behaviour specifically - we should probably have that chat tomorrow after standup to determine if the goal is to tune the category/subcategory filtering so that it is indeed just behaviour or whether the design needs to change.  Will hold off on this until then!

My vote is for /people/{crn}/prison-case-notes as this should make it clear that:

the case notes are of not only those labelled as Positive/Negative behaviour
the information comes from the prison system rather than probation or elsewhere

 Implement Spike Behaviours case notes


Add tox and travis support

fixes #3
based on #6 by @pokoli

I did activate travis but it seems that it does not work unless we merge or maybe recreate PR. I will try recreating PR tomorrow. On my phone now.

Closing this in favor of #9 that is also running the travis check.


#11 by yanniboi: Show a win screen when player reaches the chest.

This now shows a popup when you touch the chest.

https://github.com/LPGameDevs/EditarrrPublic/assets/1744957/b3c89530-0017-403d-a691-c54d7dd91585


[Question / Feature-Request] access image data without opencv support?

Start with the why:
I don't need opencv functions and try to streamline my dependencies and build process
Move to the what:
openCV it is required to getFrame()
Move to the how:
is there a method to get the image data without activating openCV support? if so is how is the data packed, and is there an example?

Hi @artificiel
Sure, this is supported "out of the box". You may explicitly disable OpenCV Support using -D DEPTHAI_OPENCV_SUPPORT=OFF.
You can get data out using getData() paired with retrieving getWidth, getHeight, getType.
Refer to depthai-core/src/opencv/ImgFrame.cpp for EXACT step by step on how that happens (if you skip OpenCV parts)


clientcompat issue with V8

Thanks for this project!
I am the author of a protoc-plugin that supports Twirp clients.
Unfortunately, clientcompat started failing with the V8 release.
$ go get github.com/twitchtv/twirp/clientcompat
$ clientcompat -client clientcompat/client-runner.js
# some lines omitted, all PASS
Testing empty value... FAIL: client has wrong response, have  want
Testing request value formatting... FAIL: client has wrong response, have v:1 want v:1
Testing handling invalid error formatting from server... PASS
FAILED with 2 failures, 19 successes

Exactly the same client passes with go get<EMAIL_ADDRESS>Between v7 and v8, my client is receiving the same request payload via stdin and is writing the same server response to stdout. This is true for both failed tests.
Any idea where this could be coming from?

Makes sense. Thanks for looking into this!
Could you share more information about how do you use cliencompact? I don't think our CI server is running it in our tests.

clientcompat is used as described in your README. A make target runs (as part of CI and release build):

compiles your clientcompat.proto using our plugin
compiles our test client, which works just like your gocompat.go example implementation
go gets your clientcompat
runs your clientcompat against our test client

BTW, conformance testers like clientcompat are super helpful to implement against!
Yes, your CI does a go test but does not include your make target for clientcompat.  PASS
Testing "canceled" error parsing... PASS
Testing "unknown" error parsing... PASS
Testing "invalid_argument" error parsing... PASS
Testing "deadline_exceeded" error parsing... PASS
Testing "not_found" error parsing... PASS
Testing "bad_route" error parsing... PASS
Testing "already_exists" error parsing... PASS
Testing "permission_denied" error parsing... PASS
Testing "unauthenticated" error parsing... PASS
Testing "resource_exhausted" error parsing... PASS
Testing "failed_precondition" error parsing... PASS
Testing "aborted" error parsing... PASS
Testing "out_of_range" error parsing... PASS
Testing "unimplemented" error parsing... PASS
Testing "internal" error parsing... PASS
Testing "unavailable" error parsing... PASS
Testing "data_loss" error parsing... PASS
Testing empty value... FAIL: client has wrong response, have  want
Testing request value formatting... FAIL: client has wrong response, have v:1 want v:1
Testing handling invalid error formatting from server... PASS
FAILED with 2 failures, 19 successes
make: *** [test_go_client] Error 1

I recently hit issues with empty JSON values too. It seems like somewhere since v5.11.0 only the empty object {} is allowed in JSON requests otherwise resulting in a malformed: the json request could not be decoded-error.
These null request payloads came from a GraphQL integration having a GraphQL-schema with a Boolean response type. It was sending the JSON encoded string null in the request payload. The fix is to send an empty object {} instead. Just great having these encoding rules as part of the contract without even knowing it.


Adding integration tests

This adds integration tests to ensure the interactions between multiple plugs work as expected. These tests cover the VerifyHeader + LoadResource and VerifySession + LoadResource plug interactions. I also added a build_jwt test helper that will make writing these tests simpler.
I also added a :serializer option to the Guardian.Plug.LoadResource plug. This makes writing tests much more explicit as to how the current resource is deserialized from the sub claim.
Let me know what you think. I'm trying to get back to working on pull request #120, and I think integration tests would be super helpful in making sure that interactions between multiple plugs work as expected.

This is awesome @aaronrenner!  I'll take a peek today and let you know if I have any feedback.

@doomspork Just updated to use a pipe and rebased on top of master. It should be ready to merge.

Thank you @aaronrenner 👍


Chromosome ID not present in genome fasta

Hey, I am currently trying to run your syntheny plot pipeline. I would be really glad if you could help me.

I am trying to create the syntheny between 12 bacteria de-novo generated whole genomes.

I mapped them with minimap A+B, B+C, C+D and so on. I used a bash script for that if you want to have a look:

#!/bin/bash

fasta_files=(0.fa 1.fa 2.fa 3.fa 4.fa 5.fa 6.fa 7.fa 9.fa 10.fa 11.fa 12.fa 13.fa)

for ((i = 0; i < ${#fasta_files[@]} - 1; i++)); do
    current_file="${fasta_files[$i]}"
    next_file="${fasta_files[$i + 1]}"
    current_prefix="${current_file%.}"
    next_prefix="${next_file%.}"
    output_bam="${current_prefix}${next_prefix}.bam"

    minimap2 -ax asm5 -t 4 --eqx "$current_file" "$next_file" | samtools sort -O BAM - > "$output_bam"
    samtools index "$output_bam"
done

After that I used a bash oneliner for-loop to produce the syri information:

for i in $(ls bam -1v); do prefix="${i%.}";IFS="" read -r fnum snum <<< "$prefix"; syri -c $i -r $fnum.fa -q $snum.fa -F B --prefix $prefix ;done

I am unsure if there is a problem with the syri information since I am not very familiar with that. The first 5 lines of the first syri output  "0_1syri.out" look like this:

Chr0    1          4344    -           -           -           -           -           NOTAL1           -           NOTAL -
Chr0    4345    5189076          -           -           Chr0    1          5020588          SYN1    -           SYN      -
Chr0    4345    4896    -           -           Chr0    1          553      SYNAL1            SYN1    SYNAL  -
Chr0    4484    4484    G         T          Chr0    140      140      SNP543           SYN1    SNP      -
Chr0    4485    4485    A          T          Chr0    141      141      SNP544           SYN1    SNP      -

what I now tried is to start plotsr with this command:

plotsr --sr 0_1syri.out --sr 1_2syri.out --sr 2_3syri.out --sr 3_4syri.out --sr 4_5syri.out --sr 5_6syri.out --sr 6_7syri.out --sr 7_9syri.out --sr 9_10syri.out --sr 10_11syri.out --sr 11_12syri.out --sr 12_13syri.out --genomes ../../genomes2.txt -o output_plot.png

First I wanted to use the main fasta files as input whereas the genomes2.txt file looked like that:

#file     name   tags
0.fa      0          lw:1.5
1.fa      1          lw:1.5
10.fa    10        lw:1.5
11.fa    11        lw:1.5
12.fa    12        lw:1.5
13.fa    13        lw:1.5
2.fa      2          lw:1.5
3.fa      3          lw:1.5
4.fa      4          lw:1.5
5.fa      5          lw:1.5
6.fa      6          lw:1.5
7.fa      7          lw:1.5
9.fa      9          lw:1.5

and I ran into the error:
ImportError: For chromosome ID: Chr0, length in genome fasta: genomes2.txt is less than the maximum coordinate in the structural annotation file: 1_2syri.out. Exiting.

I didn't understand the error. The first fasta file is the reference and therefore the longest. I don't really see maximum coordinate problems. Anyway, I saw that there was the possibility of using the chromosome lengths as input. So I calculated the length of each used fasta file and produced a chrlen file. Ofc I renamed the input files in genomes2.txt from .fa to .chrlen. The chrlen files look like this

"0.chrlen":
Chr0    5199559

"1.chrlen":
Chr0    5020588

and so on...

With that and the same plotsr command to start I run into the error:

ImportError: Chromosome ID: Chr0 in structural annotation file: 0_1syri.out not present in genome fasta: 0. Exiting

Could you explain to me, what I am doing wrong?
Thanks!

P.S.: thanks for reading until here. I think I found an error in your example with the current explanation in the README file. The chosen fonts in the example files markers.bed and tracks.txt are Arial. I think this is not supported anymore (?). Anyway, I changed it to DejaVu Sans and it worked again. Thought you might know :)

Update: i ordered the genomes.txt file numerically so that it is
#file    name    tags
0.fa    0    lw:1.5
1.fa    1    lw:1.5
2.fa    2    lw:1.5
...
with the chrlen files I still run into the same error as before, but with the fast files it actually worked!!

For future reference: genomes.txt requires genomes to be in same order in which they are analysed. Also, to use chrlen files, use ft:cl tag.


convert js-style function calls to parens-around-call

I have good experience with writing in-line function calls with parens around the call instead of around the arguments. It is more readable and easier to move around.
E.g. fna(fnb(argc, argd), arge) becomes fna (fnb argc, argd), arge.

:+1: This is how I write all my CoffeeScript, and I highly recommend it.

would be nice as an optional addition—I don't think I'll be able to do it, but if anyone can contribute a patch i'd happily review it.


[Bug] Pinecone 2.0.0 Langchain Peer Dependency ISsue

Is this a new bug?

[X] I believe this is a new bug
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
When upgrade pinecone to 2.0.0 to get access to the serverless functions, I am getting a peer dependency error with Langchain when building my app.
Expected Behavior
I should not be getting a peer dependency error and my app should build correctly
Steps To Reproduce

Install the latest pinecone typescript client with npm install @pinecone-database/pinecone
install langcahin with npm install langchain

Try to build with npm run build or deploy app to vercel (which is what I did) and then the following peer dependency issue occurs.
Relevant log output
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@pinecone-database/pinecone
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peerOptional<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/langchain
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Conflicting peer dependency<EMAIL_ADDRESS>npm ERR! node_modules/@pinecone-database/pinecone
npm ERR!   peerOptional<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/langchain
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR!
npm ERR! For a full report see:
npm ERR! /vercel/.npm/_logs/2024-01-16T16_47_34_489Z-eresolve-report.txt

Environment
- **OS**: Deploying NextJS application onto vercel
- **Language version**:
- **Pinecone client version**: 2.0.0

Additional Context
No response

Hey @YourAverageTechBro, closing this issue for now as it's stale and we've had a few releases since. Please reopen if this is still an issue. Thanks!


kubeflow-core component creation issue on the latest

level=error msg="no prototype names matched 'kubeflow-core'"
level=error msg="could not find component: "kubeflow-core" is not a component or a module"
level=error msg="could not find component: "kubeflow-core" is not a component or a module"

apparently there is no more kubeflow-core in the latest kubeflow. we need to update the doc.

/close


Add text / logo display on the LEDs

Display the IBM logo, etc on the LED matrix display

See issue #38

Indeed a "IBM" in the "old 3 colors" but switching with the diversity "rainbow colors" variation.


ISSUE-581 # preliminary work for Java 17 support - updating maven dependencies

ISSUE-581 # preliminary work for Java 17 support - updating maven dependencies
PR Branch
_https://github.com/baulea/zerocode/tree/feature/java17_
Motivation and Context
Updated maven dependencies to versions that are more up-to-date. This is preliminary work for Java 17 support. I'll continue with work for Java 17 support.
"mvn clean install" succeeded with all tests
Checklist:

[ ] Unit tests added

[ ] Integration tests added

[ ] Test names are meaningful

[x] Feature manually tested

[x] Branch build passed

[x] No 'package.*' in the imports

[x] Relevant Wiki page updated with clear instruction for the end user

[x] Not applicable. This was only a refactor change, no functional or behaviour changes were introduced

[x] Http test added to http-testing module(if applicable) ?

[x] Not applicable. The changes did not affect HTTP automation flow

[x] Kafka test added to kafka-testing module(if applicable) ?

[x] Not applicable. The changes did not affect Kafka automation flow

With JDK17 I didn't get a successful maven build with the current authorjapps:master branch. I thought it a good idea -- instead of debugging problems -- to start with updating a bunch of maven dependencies - e.g. a guice version >=5.1.0 is needed for Java17 support (https://github.com/google/guice/wiki/Guice510). And so this pull request was born.
Should I break up this pull request into smaller chunks and create a separate issue and pull request for each chunk? Or are you generally cautious about updating maven dependencies and we should keep our hands off?

I'll better break this into smaller chunks and create issues for each one.

With JDK17 I didn't get a successful maven build with the current authorjapps:master branch. I thought it a good idea -- instead of debugging problems -- to start with updating a bunch of maven dependencies - e.g. a guice version >=5.1.0 is needed for Java17 support (https://github.com/google/guice/wiki/Guice510). And so this pull request was born.
Should I break up this pull request into smaller chunks and create a separate issue and pull request for each chunk? Or are you generally cautious about updating maven dependencies and we should keep our hands off?

Hello @baulea , appreciate you were looking into this in terms of updating the dependenct libraries 1st.
But can you please make sure it hangs together well with JDK8 builds and it doesn't break anything.
Once this is assured, we can think of the next step for JDK17 support.
I think it's better to create a separate module(if possible) for JDK 17 migration related works.
But I am not sure even if that's possible or we need a completely separate project.

Thank you very much for your reply. And thanks for sharing the goal to support JDK17.
My current pull request on updating maven dependencies was a bit mixed-up indeed (and therefore I closed the pull request myself). I fixated on a successful maven build and that the provided tests ran successfully (with JDK8). I only had a slight glance at conflicting dependencies and it seemed ok, but I did not cross check these conflicts.
So I'll concentrate on filing smaller chunks of updates that are easier to check. Thank you for your patience :-)


Channel is disabled, I don't know why, and it cannot be enabled again

Background
I have two channels to a specific peer. Channel A has been opened by my peer (ages ago) and is much larger than channel B, which I recently opened to the same peer. Channel A is healthy and used for routing, but channel B shows as disabled in lncli getchaninfo:
{
    "channel_id": "x",
    [...],
    "node1_policy": { // node1_pub is my node's pubkey
        "time_lock_delta": 40,
        "min_htlc": "1000",
        "fee_base_msat": "100",
        "fee_rate_milli_msat": "500",
        "disabled": false, // EDIT: see comment below, this was "true" when I started writing the issue
        "max_htlc_msat": "x",
        "last_update":<PHONE_NUMBER>
    },
    "node2_policy": {
        "time_lock_delta": 40,
        "min_htlc": "1000",
        "fee_base_msat": "1000",
        "fee_rate_milli_msat": "1",
        "disabled": false,
        "max_htlc_msat": "x",
        "last_update":<PHONE_NUMBER>
    }
}

My node is in clearnet, the other node is tor only. We are connected and channel A is used as expected. Reconnecting did not fix this. Updating the fee rate and/or fee base did not fix this. I already settled a single HTLC over that channel (in which I sent funds, I think as part of a circular rebalance transaction). The logs do not show anything interesting for the node, the channel IDs (in various formats), or the other channel to that peer.
Your environment

lnd version 0.12.1-beta commit=v0.12.1-beta-dirty
Linux server 4.19.0-14-amd64 #1 SMP Debian 4.19.171-2 (2021-01-30) x86_64 GNU/Linux
Bitcoin Core (bitcoind) 0.12..0

Expected behaviour
I expect the channel to be enabled. I'd also expect to have a CLI command to make it become enabled.
Actual behaviour
Channel is disabled.

Invalid, the channel is enabled as seen in my snippet. This happened while I was preparing this issue, and I just noticed.

Updating the fee rate manually seemed to have triggered the "re-enable" code. This is the log of how the channel was disabled:
2021-05-16 01:04:08.008 [INF] PEER: New channel active ChannelPoint(__CHANPOINT__) with NodeKey(__PEER_PUBKEY__)
2021-05-16 01:04:08.009 [INF] HSWC: Removing channel link with ChannelID(__CHANNEL_ID__)
2021-05-16 01:04:08.009 [INF] HSWC: ChannelLink(__SHORT_CHAN_ID__): starting
2021-05-16 01:04:08.009 [INF] HSWC: Trimming open circuits for chan_id=__SHORT_CHAN_ID__, start_htlc_id=0
2021-05-16 01:04:08.009 [INF] HSWC: Adding live link chan_id=__CHANNEL_ID__, short_chan_id=__SHORT_CHAN_ID__
2021-05-16 01:04:08.009 [INF] CNCT: Attempting to update ContractSignals for ChannelPoint(__CHANPOINT__)
2021-05-16 01:04:08.009 [INF] HSWC: ChannelLink(__SHORT_CHAN_ID__): HTLC manager started, bandwidth=__BANDWIDTH__ mSAT
2021-05-16 01:04:08.009 [INF] HSWC: ChannelLink(__SHORT_CHAN_ID__): attempting to re-resynchronize
2021-05-16 01:04:08.049 [INF] HSWC: ChannelLink(__SHORT_CHAN_ID__): resending FundingLocked message to peer
2021-05-16 01:04:08.049 [INF] HSWC: ChannelLink(__SHORT_CHAN_ID__): received re-establishment message from remote side
2021-05-16 01:04:08.072 [DBG] HSWC: ChannelLink(__SHORT_CHAN_ID__): loaded 0 fwd pks
2021-05-16 01:04:08.232 [INF] FNDG: Received duplicate fundingLocked for ChannelID(__CHANNEL_ID__), ignoring.
2021-05-16 01:04:09.082 [INF] DISC: Broadcasting 77 new announcements in 8 sub batches
2021-05-16 01:04:13.422 [INF] DISC: GossipSyncer(__UNRELATED_PEER__): applying new update horizon: start=2042-07-14 01:04:00 +0000 GMT, end=2042-07-14 01:04:00 +0000 GMT, backlog_size=0
2021-05-16 01:05:01.853 [INF] CRTR: Processed channels=3 updates=42 nodes=9 in last 59.99968508s
--
2021-05-16 01:24:48.637 [INF] NANN: Announcing channel(__CHANPOINT__) disabled [detected]


bug: Calendar does not reflect current student lesson schedules

What does this refer to?

Closing as this is not an issue.


Correct the doc block

Correct the doc blocks:
From array of Failures to array of Throwables

Thanks 👍


Set up test for cudf.

After merging the cudf PR,  I need some help for setting up corresponding Python test on Jenkins since on the one hand cudf doesn't support pip, but on the other hand our Jenkins test farm doesn't use conda.
Could you please help?  @mt-jones @hcho3

Can you run conda install cudf and see what dependencies it pulls?

@hcho3 I'm not too sure.  I built cudf from scratch to avoid conda ...  How's XGBoost doing on conda?  Do we need some specialization on Jenkins?

We should create a virtual conda environment so that conda packages don't interfere with system-wide packages managed by pip.

@trivialfis Can you provide the installation command for CUDF using conda?

@hcho3 Yes.  Use that instruction.  Thanks!

@trivialfis Expect a small pull request in a day or two. It will modify the Dockerfiles so as to use conda instead of pip.

@hcho3. Did you mean the whole Jenkins or just CUDF test?

@trivialfis I'm debating between two options, actually:

Change the whole Jenkins environment as to use conda instead of pip
Create a separate conda environment for CUDF tests only. Other tests will keep the same environments (i.e. packages will be installed with pip).

What's your take on this?

@hcho3 I myself uses pip exclusively since that's where most people get to know XGBoost (I think)?  So I vote for using pip for most of cases if it doesn't create burden on your side.  I would like to hear back from @RAMitchell .

Whatever is easiest for you @hcho3

@trivialfis @RAMitchell I just found out that CUDF requires compute capability 6.0+ and the current Jenkins GPU worker (P2 instance type) does not meet the requirement. I ran
#include <iostream>

int main(void) {
  cudaDeviceProp p;
  cudaGetDeviceProperties(&p, 0);
  std::cout << p.major << "." << p.minor << std::endl;
  return 0;
}

and got
3.7

We will need to change the type of Jenkins worker to P3 instances which has fancier GPUs.

@hcho3 yes cuDF requires Pascal or better, P2 is Kepler, which is two generations behind. For now your only options is P3. When G4 comes online, it might be a cheaper option.

Interesting.  Half of my PR was written on a compute 50 laptop.

Did you override CMAKE_CUDA_FLAGS? By default it doesn't generate code for anything below Pascal: https://github.com/rapidsai/cudf/blob/branch-0.10/cpp/CMakeLists.txt#L65

@rongou Probably.  I put up a long fight.


Add AppointmentList to handle some operations involving Appointment

There are operations and commands that require the list of Appointment
in Person and AddressBook to be modified at the same time.
It is messy and repetitive to do so.
We create a new class to handle this and streamline the processes.
Currently Implemented Methods:

addAppointment
cancelAppointment
editAppointment

Currently, I only implemented for BookCommand, CancelCommand and EditAppointmentCommand since only these commands require updating both the patient and address book's lists of appointments.
Let me know if you think that I should do the same for other commands involving Appointment, as well as how you want it to look like.

Codecov Report

Merging #131 (1f6525c) into master (d4cc932) will increase coverage by 0.04%.
The diff coverage is 95.34%.

@@             Coverage Diff              @@
##             master     #131      +/-   ##
============================================
+ Coverage     75.59%   75.64%   +0.04%
- Complexity      654      656       +2
============================================
  Files            92       93       +1
  Lines          2012     2016       +4
  Branches        242      243       +1
============================================
+ Hits           1521     1525       +4
  Misses          411      411
  Partials         80       80

Impacted Files
Coverage Δ

...edu/address/logic/commands/EditPatientCommand.java
93.05% <ø> (ø)

...main/java/seedu/address/model/AppointmentList.java
94.28% <94.28%> (ø)

...java/seedu/address/logic/commands/BookCommand.java
81.25% <100.00%> (-6.75%)
:arrow_down:

...va/seedu/address/logic/commands/CancelCommand.java
73.33% <100.00%> (-6.67%)
:arrow_down:

...address/logic/commands/EditAppointmentCommand.java
58.97% <100.00%> (-8.89%)
:arrow_down:

...java/seedu/address/logic/commands/FindCommand.java
96.42% <100.00%> (ø)

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


Doesn't build .cc files, or include directories with .hpp files

We need to update the CMakefileList.txt file to also search for .cc and .hpp files, as some libraries like TensorFlow Lite Micro use them.

Okay, raised a PR here:

https://github.com/lancaster-university/microbit-v2-samples/pull/53

And in upstream CODAL:

https://github.com/lancaster-university/codal/pull/47