text:
Consolidate designs and form a steering group for a navigation contribution

Brief
By the end of the cycle

consolidate navigation options we want to pursue
share the options and our thinking with the community to get feedback
and plan a steering group within the GOVUK Design System community.

The focus here is on community engagement as a priority. As we established in step 1, our community is well placed to help us in narrowing our scope, we can present them a shortlist of examples from our evidence phase.
Aligns with step 2 of the contribution model.
In the next cycle
In the next cycle we will scope it to something deliverable, but it may become a stretch goal depending on progress.

Resolve differences in existing design approaches
Generate ideas of how to solve remaining design problems
Work out what the possible variants and extra features are

Step 1 of the contribution model was completed in the previous cycle, Gather evidence on how navigation is currently being used in services #3457
Epic lead
Charlotte
Driving role(s) as referenced in the team playbook
Designers, developers
Supporting role(s) as referenced in the team playbook
Designer
Further detail

Think about how to involve the community, and what we need to start step 3 of the contribution model in the next cycle.
We collected evidence in step 1 in a mega doc that we have also used to populate a website for easier comparison and organisation.
There is further discussion here: https://github.com/alphagov/govuk-design-system-backlog/issues/76

Tasks
### Consolidate navigation options
- [ ] https://github.com/alphagov/govuk-design-system/issues/3478
- [ ] https://github.com/alphagov/govuk-design-system/issues/3603
- [ ] https://github.com/alphagov/govuk-design-system/issues/3609
- [ ] https://github.com/alphagov/govuk-design-system/issues/3610
- [ ] https://github.com/alphagov/govuk-design-system/issues/3611
- [ ] https://github.com/alphagov/govuk-design-system/issues/3613

### Share options with community
- [ ] https://github.com/alphagov/govuk-design-system/issues/3601
- [ ] https://github.com/alphagov/govuk-design-system/issues/3602
- [ ] https://github.com/alphagov/govuk-design-system/issues/3608
- [ ] https://github.com/alphagov/govuk-design-system/issues/3612
- [ ] Collect feedback from workshop and other channels

### Plan steering group
- [ ] https://github.com/alphagov/govuk-design-system/issues/3636

There is a final thing to track, messages to attendees with links and materials on either Friday or Monday morning.

Parking:

Collect feedback from workshop and other channels

as we won't be able to collect this until we have run the event on the 18 March 2024


text:
Hidden link text on Check answers pattern omit space character in JAWS

The ‘Change’ links have hidden text, like this:

Change name

But apparently JAWS sometimes ignores the opening space in the hidden text, so it would read out Changename in the above example.
We think one fix might be to use a non-breaking space character instead, so it'd look like this:

Change name

Thanks to Craig Abbot for reporting this issue.

Thanks @timpaul - it was originally raised by @htmlandbacon: GOVUK Design System issue 1382
The reason for raising it again it because both HMRC and DWP have published guidance which uses a different mechanism for change links. It involves duplicating the content and using aria-hidden on one. For example:
Change
Change Elizabeth Kean

If the CSS were to not load, then the visible link on the screen would be: ChangeChange Elizabeth Kean, which is weird, but my main concern is that we have a separation of guidance from the GOVUK Design System, and I worry will be confusing for teams.
Links:

DWP Design System guidance
HMRC Design System guidance

I re-tested this in Feb 2021 I couldn’t hear the merging of content anymore in JAWS (tested 2019, 2020, 2021), although the merging is still evident in the links list dialog (though again not audible).
@abbott567 The original solution for the split copy included the use of a hidden attribute alongside the aria  to prevent the dual inclusion when CSS did not load, which was then overridden by CSS. Looks like this didn't make it into the pattern.

Just checked and NVDA is also still removing the space between the visible and hidden copy in the dialogs, although again I cannot hear the words merging.
If we do find that the words are being audibly merged then another option was suggested by Andrew Arch Principal Accessibility Consultant at Intopia on the Govt Accessibility email list. This is using a capital letter for the first word of the hidden copy which might result in the non-honouring of the space to be negated by the screen-reader pronunciation of camelcased text eg ChangeName where the screen-reader will read out the words as individual words due to the casing.

We've started getting more reports of this happening lately, including in screen readers other than JAWS (at least NVDA, VoiceOver and TalkBack). We've also noticed this occurring whilst working on other components like the Exit this Page button.
These issues seem to happen regardless of if the space is inside or outside of the visually-hidden span.
We may want to investigate a more robust method of doing this in future, such as some of the suggestions made above. This could potentially be done in conjunction with removing the hardcoded visually-hidden span in summary list links (#2649).

Has this been solved by https://github.com/alphagov/govuk-frontend/pull/3836?

Have repeated Hanna's testing from #3836 and I'm confident we've solved this.

source: gharchive/issue

authors: abbott567 adamliptrot-oc owenatgov querkmachine timpaul

repo: alphagov/govuk-frontend

license: MIT

license_type: permissive

license_source: github-api


text:
Add basic html to the tutorial

What
Add basic HTML to the tutorial
Why
The tutorial covers some html, but doesnt explain the basics of tags opening and closing, attributes.
Who needs to work on this

content design

Who needs to review this

interaction design

Done when

[ ] We have covered the basics of html in the tutorial

PR: https://github.com/alphagov/govuk-prototype-kit-docs/pull/260

repo: alphagov/govuk-prototype-kit-docs


text:
Add a page on using GOV.UK Pay in your prototype

In the Prototype Kit documentation, there's guidance on how to use Verify and Notify in your prototype - but not Pay.
There's some information in the Testing your integration page of the Pay tech docs that might be useful. But would definitely also need a conversation with a Pay dev to understand whether/how to use Pay test/live accounts in a prototype.
(Thanks to @joelanman for raising this.)

We should consider asking GOV.UK Pay if they want to contribute this in the future, or work in collaboration with them.

authors: m-green nickcolley

repo: alphagov/govuk-prototype-kit


text:
Set a template id and api key for service-manual-publisher to use gov.uk notify

Required for https://github.com/alphagov/service-manual-publisher/pull/775 (will also need the API key adding to the secrets).
https://trello.com/c/eraJ8WC2/1821-5-service-manual-publisher-use-notify-instead-of-ses

Messed this up by branching from the wrong place, trying again in https://github.com/alphagov/govuk-puppet/pull/10257

source: gharchive/pull-request

repo: alphagov/govuk-puppet

license: mit

license_source: bigquery


text:
Only alert for persistent 5xx errors

https://trello.com/c/2GcGSx2X/1020-fix-origin-5xx-alert-for-spikes
Previously we applied a moving median average to various 5xx metrics,
which helps to dampen spikes over a short period. Icinga also does its
own (mean) averaging with the "from" param e.g. a "from" value of 8
means we average over three 5 min windows.
However, we can still get false alarms if we have a short period of high
5xx spikes. Increasing the window size is not ideal because this further
masks the data for the purpose of a warning. A compromise is to increase
the "from" value, so that we require more persistence for 5xx errors to
trigger a warning or a critical alert.
This increases the "from" param to 15 minutes for all 5xx alerts, so
that the windowed/de-spiked metric must either:

Be higher over a shorter period of time; or
Be over the threshold for a longer period of time

I've looked over 5xx incident reports for 2019. Some of them are false alarms, which this should help to prevent (in addition to the median averaging). All the other incident reports (with graphs) show that the 5xx errors persisted for a significant period, which matches the intent of these changes: the thresholds are the same, but we wait a little longer before we start panicking about errors with the site.

Thanks @bilbof! 5xx is a hard alert to try and optimise, since it's fundamentally arbitrary ("how many 5xx errors means broken?"). I did some visual checking of this, but nothing as thorough as the above - great stuff!
From all these manual checks and my own mental model of how the alert works, I'm confident we will continue to get timely errors for more definite issues with our apps, just as much as we will for Nginx (origin) and Fastly (edge).
To close, it's worth noting that we will always miss some alerts, as some pages just don't generate enough (error) traffic to trigger this. I've come to think of the alert as a fallback: we should have more specific checks if possible.


text:
Remove mapit from the /etc/hosts on Staging Carrenza

We're migrating the mapit service to AWS, we have a new DNS
record to point to the AWS ALB and we need to disable the local
resolving on Staging Carrenza machines for it to take effect.

looks good!

authors: fredericfran-gds rtrinque


text:
[#120368533] Set MTU via bosh addon

What
Story: Reduce MTU of VMs to 1500
Add a bosh addon job to set the MTU on the VMs.
This relies on PR https://github.com/alphagov/paas-os-conf-release/pull/2 to be reviewed at the same time. Once the paas-os-conf-release is merged, the [TEMP] commits here must be updated.
How to review

Deploy
Check the MTU is 1500 where it was 9001 originally on api_z1 for example

$ ifconfig |grep MTU
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

Who can review
Anyone but @jimconner or me

Could you add some detail to the commit messages about why we're doing this and what circumstance it will be safe to revert this in future?
It might seem like repetition, because we've been talking about MTU a lot and have a lot of context, but it could come in useful later if we have new people on the team or AWS don't fix the bug in the expected timescale.

I have verified that it works and we don't have MTU problem anymore by running:
export ELB="piotr-dev-cf-loggregator-2007548262.eu-west-1.elb.amazonaws.com"
curl -k -m 20 -v  https://$ELB:443/apps/3bf24a38-cfdb-4e55-ad38-83e1ad7823f7/containermetrics -H 'Host: doppler.cloud.service.gov.uk:443' -H 'Accept: ' -H 'User-Agent: Go-http-client/1.1'   -H "Authorization: bearer $(yes = | head -1227 | tr -d "\n")" -H 'Accept-Encoding: gzip' ; echo

authors: combor dcarley saliceti

repo: alphagov/paas-cf


text:
Add admin tool

What

Added content summarising what the PaaS admin tool is
Added PaaS admin tool content into the orgs, spaces and users section
Made minor content corrections and added cross-references

How to review
Describe the steps required to test the changes.

Preview the content locally (see README) and check that it renders as expected.
Manually check that any removed or renamed anchor tags are not in use (linkchecker doesn't do this).
Check it fulfils story requirements: https://www.pivotaltracker.com/story/show/158219851

Who can review
Anyone except Lee Porte or Jon Glassman

@46bit thanks, good spot, have fixed. Happy?

Happy 😄

repo: alphagov/paas-tech-docs


text:
PP-4949 Enable Stripe setup tests and vat number company number flag

WHAT

Enable the disabled tests
Rename organisation_details to vat_number_company_number in StripeAccountSetup
/v1/api/accounts/{accountId}/stripe-setup endpoint now returns vat_number_company_number

@sfount :
In terms of Stripe account:
it will update vat_id and tax_id ( https://stripe.com/docs/api/accounts/update -- company object )
In terms why it is concatenated with and:
as per story PP-4949 we have one "entry page / workflow" to update them and we use the flag to tell if the workflow was done or not, because the workflow includes both of the properties we use them in the flag name for clarity and we need to tell that the workflow was used no matter which property was populated.

repo: alphagov/pay-selfservice


text:
Prefix all alert names with team names

This enables alerts to be easily distinguished between teams
in prometheus and alertmanager

I thought I'd do a quick search for best practice discussions and found this thread.  In summary:

Fabian Reinartz suggested that alert names should be like metric names - generic, but we can query for team-specific teams in alert labels (not names)
Brian Brazil disagreed and suggested that alert names should have some context flattened into them, especially in an example like LatencyHigh where each team will have a different definition of "high"

I'd be tempted to leave this open for a day or so to see how everyone feels?  I'm undecided, myself.

authors: idavidmcdonald philandstuff


text:
Amend tagging task to process csv

We have decided that content to be tagged will be provided in a csv.
The format will be:
base_path, all, sector_business_area, employ_eu_citizens,....

Individual items in the facet columns will be comma delimited facet
values in a sluggified format.
When all is populated with "yes", we want to tag to every facet, every
value.
Trello

@barrucadu I've added that in 8f26728

repo: alphagov/rummager


text:
Comment out some migrations so that first time setup runs cleanly

Setting up Transition on a new laptop, I replicated data and then had
to run rake db:migrate. It failed on the "enable pgcrypto" migration
because it requires database superuser access to enable extensions. We
don't need this extension anymore (it was removed in November 2014),
so comment out migrations that reference it so that db:migrate can
run cleanly. Commenting out rather than deleting because I don't know
how Rails behaves when you delete migrations, and so that we preserve
history of these changes.

👍

repo: alphagov/transition


text:
current content does not let the user know that they can get a permit free of charge

https://verify-local-patterns.herokuapp.com/service-patterns/parking-permit/example-service/resident-start
Changes this:
Residents of Argleton city centre can buy resident's parking permits.
Permits cost between £51 and £153 depending on where you want to park. You'll need to check the boundaries to find your price.
You can park anywhere within the boundary, at any time, once you have a permit.
If you don't live in Argleton, you need to find your local council.
to this:
Permits in Argleton can be issued free of charge or cost between £51 and £153 depending on:

the parking zone you live in
the number of permits your household currently has
your personal circumstances

You can read more about how we calculate your permit price on our permit price page.
You can park anywhere within the boundary, at any time, once you have a permit.

@EUzkuraityte Most of this is dependent on council options.
Can you say what's behind this issue please?
Also the issue about it saying concessionary travel office should be it's own issue as it's unrelated to the above stuff.

@sanjaypoyzer two issues here:
1 - current content does not let the user know that they can get a permit free of charge
2 - current content does not tell the user how the permit price is determined (and that was something that users wanted to know, it came our from our lab day)

@EUzkuraityte Ok, can you split those into two separate issues please?

@sanjaypoyzer done it!
this issue is now about 1 - current content does not let the user know that they can get a permit free of charge

I'm adding the research notes from #324

Part of the problem described by Sunderland was that the solution implemented, whereby the payment process is skipped does not address user needs, as users are never told of the price, and are also worried as they've given their bank details

Similar to #313

@EUzkuraityte should this maybe be labelled as a localised content issue as the content be different for each council?

@EUzkuraityte If it's a council that offers the first permit free, suggest this copy is included:

The first parking permit for each household is free.

Could we do A/B variation user testing where if users didn't understand that they are given this longer copy?

The first parking permit for each household is free. If it's the first time you're applying and noone else who's currently living at your property has applied, there'll be no cost for your permit.

This issue is related to #313

@lizziebruce sounds good to me! I've added a user research question #487 so we can test in during the next round of UR both versions and find out to which one users respond better.

This issue is resolved in the copy re-scope screenshoted in #313

Haven't tested with users who are eligible, so can't close this yet.

Adding updated prototype screen with copy relating to free permits. Note: for councils that give free permits for other reasons other than HMO, e.g. 'eco' low carbon emission vehicles, relevant copy detailing this would show.

authors: EUzkuraityte lizziebruce petegale sanjaypoyzer

repo: alphagov/verify-local-patterns


text:
Ability to change which council you are testing with

Another big one. Addresses #139.

Will add in instructions for how to add council variables and a council stylesheet in a future pull request. This one just adds the ability to switch, which is stored in the session.
@kaydale Would particularly appreciate feedback on where I could link to the council picker page.

When you get to verify land in the unbranded prototype if still reads as if it is Argleton

@sanjaypoyzer
Ahhh so when I went through the success verify path it sent me back to Argleton was it supposed to do that?

Just to show that I did select unbranded council - and it worked prior to hitting the verify prototype

@kaydale Ah yes, good catch. I need to add a variable in the link to Verify, and also need to set up the unbranded council on the stable prototype. I'll need to remember to set up the councils on the Verify prototype as well when they add their own.

@kaydale conflicts fixed

So are you still working on all the other stuff @sanjaypoyzer

@kaydale Which other stuff?

@sanjaypoyzer https://drive.google.com/open?id=0B5wEPxglOrqoY05kaGtlaVJCRWc
Video showing how unbranded prototype doesn't work.

@kaydale Ok I think I've fixed the issue, and also put it all on one page which makes it a lot more usable. I also added Argleton as the default because it was breaking before users picked a council.

@sanjaypoyzer
on this page: /council-picker
"change council" button does not link

@kaydale Works on my machine :/

@sanjaypoyzer
So I figure out what happened - you will see in the video that unbranded works but I just didn't get how to navigate to the service start. I think before this if you clicked "Change council" it would go directly to https://verify-local-patterns.herokuapp.com/ and continue as unbranded.
Video is here:
https://drive.google.com/open?id=0B5wEPxglOrqoY05kaGtlaVJCRWc

@kaydale That works as expected. What were you expecting to happen?

@sanjaypoyzer
Also realised its still sending Argleton across when it gets to the verify prototype

Will that work ok when its merged?

@kaydale Ok that should all work now!

@kaydale Just had a little go at doing an error message for if the council picked is already chosen (which is the thing you were doing) but it's pretty complicated and requires quite a bit of rewrite, so I'm going to leave it for now as this feature only has a few users right now. (ie The people facilitating usability testing in councils.)

@sanjaypoyzer
Works better but still links though to argleton branded confirm address page
https://drive.google.com/open?id=0B5wEPxglOrqoNWRFUTFIUzVIcUE

@kaydale Yep, that's because it has to link back to the deployed version. In other words, that should work once it's merged.

authors: kaydale sanjaypoyzer


text:
Update govspeak to v6.8.1

This was done by running:
bundle update govspeak

Some other gems also got bumped in the process – presumably these are dependencies of govspeak, and so were also due an update.
Trello: https://trello.com/c/Du8l3MiC/323-publishers-unable-to-save-drafts-when-there-is-a-start-button
⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠

Oh – I didn't realise you could manually trigger dependabot to run.
I only opened this PR so we didn't have to wait for dependabot's next scheduled run. So I'll close this PR.

repo: alphagov/whitehall


text:
Mise à jour du package npm à la version 5.0.1

La dernière version disponible via NPM est la 5.0.0
On peut utiliser la dernière version de Knacss en pointant directement sur le repo Github, mais ce serait fort sympathique de déployer la 5.0.1 :-)
Merci !

done

authors: codelapse raphaelgoetter

repo: alsacreations/KNACSS

license: WTFPL


text:
Verbosify things.

Verbosify introduction.  Also add in under "Setup" that Node.JS is needed (nowhere is it mentioned).

I was planning to add more content to it soon. Thanks for the input

authors: alseambusher teward

repo: alseambusher/crontab-ui


text:
Autocomplition does not work for submodules

For top level modules, like hm, hw, the autocompletion works okay. But for submodules like hw.hv, hw.hg or hm.entities, the autocompletion is broken after the recent Pylance update.

Thank you @mstefuca  for your question we have observed it and we are working on resolving it.
Please, if you want to use our extension please downgrade Pylance to 2024.7.1 or lower version.
I will update when we resolve the issue.
Thank you!

repo: altairengineering/HyperWorksPyAPI


text:
🛑 roothouse-2 is down

In 42f6a03, roothouse-2 (https://rhstatus-proxy.alterine0101.id/?deviceId=roothouse-2) was down:

HTTP code: 404
Response time: 240 ms

Resolved: roothouse-2 is back up in cc47b9c.


text:
Unable to Commit

I just downloaded this tool.  It looks amazing by the way, thank you!  I was testing out committing a file, and it failed with the following error.
$ git commit
! exited with code: 1

I staged the file with 's', but when I try to commit with 'c' on either the file itself, or the "Staged changes" header, I get the error.
I looked for a log file, but was unable to find one.
gitu version 0.19.2 (170c6ef)
cargo 1.77.2 (e52e36006 2024-03-26)
OsName                : Microsoft Windows 10 Enterprise
OsVersion             : 10.0.19045
Windows Terminal Version: 1.19.10821.0
PowerShell 7.4.1
Let me know what other information you would like me to provide.
Thanks for any help!

Were you able to stage changes successfully? And can you run git commit outside of Gitu?
It's possible to enable logging by running gitu --log, this will write a gitu.log file to the current dir.

I am sorry.  This was entirely my fault.  I forgot the repo I chose to test with had a pre-commit hook that was blocking it.  Thank you for your help, and thank you again for this amazing tool!

repo: altsem/gitu


text:
Added support for data urls

support for data urls (#29)
rework of the code

Thank you so much @AmjadHD for the data urls implementation!

authors: AmjadHD alvesjtiago

repo: alvesjtiago/hover-preview


text:
Report reload timestamps

As it is, we have no way to identify if the last reload of a pipeline succeeded.
Logstash interface gives us timestamp that we can use to identify if a reload was finally resolved.
Note: it doesn't work all of the time because restoring the file to original state solves the issue but is not reported in the API.

If you only need to detect failures of pipline reload, you should check rate(logstash_reloads_failures) metric. If you have autoreload enabled, logstash_reloads_failures will grow until you fix pipeline. If you reloading logstash by signal, you may check max_over_time(rate(logstash_reload_failures)) > 0 during interval which is enough to trigger alert.

I added parsing of values of type timestamp. Thank you.
You are welcome to test new metrics.

authors: alxrem michael-doubez

repo: alxrem/prometheus-logstash-exporter


text:
🛑 ALYF Cloud is down

In 6aaa3f4, ALYF Cloud ($ALYF_CLOUD_URL) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ALYF Cloud is back up in 5e3e4dc.

repo: alyf-de/upptime


text:
🛑 zhibao.itove.com is down

In ebc9f93, zhibao.itove.com (https://zhibao.itove.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: zhibao.itove.com is back up in b56790d.

repo: alzee/up


text:
🛑 fxkyss.com is down

In 7e37c7f, fxkyss.com (https://fxkyss.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: fxkyss.com is back up in ebe6791 after 10 minutes.


text:
Format exception

if cookie.value = "{"123.123.123.123": 1234}:5678:9999"
webviewCookieManager.getCookies(url) is error.
FormatException: Invalid character in cookie value, code unit: '92' (at character 2)

This issue is raised because " and spaces are not allowed in Cookie value. This exception raises in http_headers.dart file from dart:http lib. You just need to use valid cookie or add validation before assign it to Cookie(name, value).
I propose to close this issue.
@fryette


text:
First iteration of Lagoon Version Update Helper

Helper script that allows easier updating of the Versions that are used in the Dockerfiles
It takes a more centralized approach to update the ENV variables that are spread across several Dockerfiles. This way we can update a new version in the helper and run the helper against the lagoon repository and managing the versions in a more centralized way. I'ts a first iteration - I could see the code doing manual update branches and commits while running trough the update in the future.

Checklist

[x] Affected Issues have been mentioned in the Closing issues section
[x] Documentation has been written/updated
[x] PR title is ready for changelog and subsystem label(s) applied

The Makefile contains similar information such as DEFAULT_ALPINE_VERSION which is passed as a docker --build-arg. Could we use that mechanism for these kinds of variables? Or does this this method using Ansible have some other advantages?

true, i was putting it into a helper as the helper actually changes the dockerfiles for updates - As keeping track of updates is a bit a chore this shold make it easier.
I think the DEFAULT_ALPINE_VERSION has other implications to the build process. So i'd keep those two things seperate.

@tobybellwood @smlx if we can get that merged it would be great - I just updated the versions to reflect the latest versions

Drush from 8.3.2 > 8.3.5
Update Composer 1.10.6 > 1.10.7
Update Newrelic 9.9.0.260 > 9.10.1.263

authors: dasrecht smlx

repo: amazeeio/lagoon


text:
npm初始化 amazeui-react项目，dev可以生成，但是build失败

gulp build
amazeui-react-master\src\mixins\DimmerMixin.js: Unexpected token (40:6) while parsing file: amazeui-react-master\src\mixins\DimmerMixin.js
请问这是什么原因？

https://github.com/amazeui/amazeui-react/blob/master/src/mixins/DimmerMixin.js#L40
根据源码来看，没有转换 JSX。

没有后续反馈，视为已经解决。如需要帮助请重开。

authors: ExpressGit minwe

repo: amazeui/amazeui-react


text:
Access the value of the initiationMethod

This commit introduces support for initiationMethod: https://github.com/amazon-connect/amazon-connect-streams/commit/fd7b3390d4680fca0f5df26de359890e99ca436b
However when we try read the value, it's always null, e.g.:
const snapshot = contact.toSnapshot();
console.log(snapshot);

contactData:
    attributes: {}
    connections: (2) [{…}, {…}]
....
    initialContactId: "abcdef......"
    initiationMethod: null

Is there another way to get the value? We would expect it to contain one of the values in the enum, e.g. 'callback', 'queue_transfer', etc.
Thanks!

Hi @marktheunissen currently this field is modeled in our getAgentSnapshot api, but not being sent to streams. I will respond with an update, but for now this is expected behavior. In general in streams, if it is not documented, I would not assume it is available to use.

authors: ctwomblyamzn marktheunissen

repo: amazon-connect/amazon-connect-streams


text:
Adding EitherT run aws operations

@charleso

:+1: Although would prefer you call the IO versions and then just catch/return rather than duplicate the internal logic.

:+1:

authors: charleso nhibberd

repo: ambiata/mismi


text:
🛑 rssbridge.ambler.kr is down

In 49416e7, rssbridge.ambler.kr (https://rssbridge.ambler.kr/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: rssbridge.ambler.kr is back up in 363c6ee after 17 minutes.

repo: amblerkr/upptime


text:
build: support latest dtc subproject

We need to set 'default_library=shared' when building dtc as a
subproject because it defaults to building both a library and a
static_library of the same name.  When a project is built as a
subproject, library defaults to static also unless
default_library=shared is passed.  This results in an error such as:
subprojects/dtc/libfdt/meson.build:27:0: ERROR: Tried to create target "fdt", but a target of that name already exists.
By setting default_library=shared, the library directive becomes a
shared library and does not conflict with the static_library directive
of the same name.
Signed-off-by: Patrick Williams patrick@stwcx.xyz

I'd prefer we link against the static library rather than dynamic (makes it easier to move the executable around), so I need to look at the best way to achieve that.

I'd prefer we link against the static library rather than dynamic (makes it easier to move the executable around), so I need to look at the best way to achieve that.

That’s fine but it requires changes upstream to accomplish it. There were reports of the code not even compiling presently (which is true) so I did this quickly.

I'd prefer we link against the static library rather than dynamic (makes it easier to move the executable around), so I need to look at the best way to achieve that.

That’s fine but it requires changes upstream to accomplish it. There were reports of the code not even compiling presently (which is true) so I did this quickly.

Maybe we should just pin to a specific upstream commit prior to whenever they broke the static build until we get it sorted?

Looks like this: https://git.kernel.org/pub/scm/utils/dtc/dtc.git/commit/?h=5216f3f1bbb70aef463b6cd78dbbb0f4c4c71606

Merged #22 instead

authors: amboar williamspatrick

repo: amboar/culvert


text:
landscape for pdf or png

Is there an example config setting for exporting pdf or png as landscape rather than the default of portrait?

It is only possible to set the page orientation for PDF exports, the others get exported as they are.
If you wish to change the chart itself you need to change the chart container first, let amCharts rerender to the new dimensions of it's container and trigger the export manually.
Following config generates the PDF in landscape mode:
"export": {
"enabled": true,
"pageOrientation": "landscape"
}
Check the Github page of pdfMake to explore all settings for the PDF export.
https://github.com/bpampuch/pdfmake

cool; thanks!

FWIW, one could make the case that having the default pageOrientation be landscape makes more sense than a default orientation of portrait. Just perusing through the various demo charts on the amCharts website, most of those charts will look better on a pdf with a wide view rather than a narrow one.

repo: amcharts/export


text:
Add error summary at the end of ament test

As an occasional contributor, I'm frequently tripped up when the last output from ament test is happy and I forget to check for earlier failures. I know that I can run ament test_results to get the summary, but I guess that I just can't get over the expectation that ament test should provide me some sort of summary or at least a red light vs. green light at then of its run (at present, a test failure somewhere in the run doesn't even produce a non-zero return code at the end).
E.g., ros2/cli_tools#6 is a case where that mistake on my part lead @mikaelarguedas and I to spend time investigating a non-existent problem.
Proposal: modify ament test to give the ament test_results output when it's done. If compute overhead for collating the results is a concern, then an option could be added to disable the summary (but the default should be to enable it). If this sounds like a good change, I'm happy to provide a PR.

That sounds like a good improvement to me. The summary should probably only show the results from the packages processed by the test verb.

Though not strictly related to the idea of printing the test summary, I'm also looking at making ament test return non-zero when a test fails. I found this chunk of code:
https://github.com/ament/ament_tools/blob/master/ament_tools/verbs/test/cli.py#L50-L63
which seems intended to do exactly that. But it always returns zero, apparently because of this chunk of code:
https://github.com/ament/ament_tools/blob/master/ament_tools/verbs/test_pkg/cli.py#L76-L89
which explicitly discards the return code from testing an individual package.
I don't know the history here. @dirk-thomas, should I try to (re-)enable proper return code handling, or not bother?

Please see https://github.com/ros-infrastructure/ros_buildfarm/issues/367#issuecomment-279564316 for a rational why ament test intentionally returns zero if the tests have been run even if some tests failed.

Closing since the repo is archived.

authors: dirk-thomas gerkey


text:
missing license

Cool project! I wanted to try it out and noticed that there is no LICENSE file. I see in the metadata that it's BSD-3, but the license file itself is missing.

Ah thanks for reminding me! It's BSD-3 and I just added it to this and the nbserv-client

repo: americandatascience/jh-client


text:
Added xorg-libx11 in conda

Fixes #55

Thanks! Probably there was some change upstream in conda-forge w.r.t. to this. Indeed, this is also why the latest conda package build failed in https://github.com/robotology/robotology-superbuild/actions/runs/12246902843 :
2024-12-10T01:06:13.5710895Z [3/8] Building CXX object _deps/glfont-build/CMakeFiles/GLFont.dir/src/GLFont.cpp.o
2024-12-10T01:06:13.5711345Z FAILED: _deps/glfont-build/CMakeFiles/GLFont.dir/src/GLFont.cpp.o
2024-12-10T01:06:13.5714420Z $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ -DGLFont_DEFAULT_FONTS_PATH=\"$SRC_DIR/build/_deps/glfont-src/fonts\" -DGLFont_EXPORTS -I$SRC_DIR/build/_deps/glfont-src/include -isystem $PREFIX/include/freetype2 -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/yarp-device-openxrheadset-0.0.5 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -DNDEBUG -fPIC -MD -MT _deps/glfont-build/CMakeFiles/GLFont.dir/src/GLFont.cpp.o -MF _deps/glfont-build/CMakeFiles/GLFont.dir/src/GLFont.cpp.o.d -o _deps/glfont-build/CMakeFiles/GLFont.dir/src/GLFont.cpp.o -c $SRC_DIR/build/_deps/glfont-src/src/GLFont.cpp
2024-12-10T01:06:13.5717895Z In file included from $BUILD_PREFIX/x86_64-conda-linux-gnu/sysroot/usr/include/GL/glx.h:30,
2024-12-10T01:06:13.5718469Z                  from $SRC_DIR/build/_deps/glfont-src/include/GLFont/GLConfig.h:12,
2024-12-10T01:06:13.5719210Z                  from $SRC_DIR/build/_deps/glfont-src/include/GLFont/GLFont.h:4,
2024-12-10T01:06:13.5719595Z                  from $SRC_DIR/build/_deps/glfont-src/src/GLFont.cpp:1:
2024-12-10T01:06:13.5720001Z $PREFIX/include/X11/Xlib.h:44:10: fatal error: X11/X.h: No such file or directory
2024-12-10T01:06:13.5720449Z    44 | #include <X11/X.h>
2024-12-10T01:06:13.5720772Z       |          ^~~~~~~~~
2024-12-10T01:06:13.5721088Z compilation terminated.
2024-12-10T01:06:13.5721491Z [4/8] Building CXX object _deps/glfont-build/CMakeFiles/GLFont.dir/src/FTLabel.cpp.o
2024-12-10T01:06:13.5722025Z FAILED: _deps/glfont-build/CMakeFiles/GLFont.dir/src/FTLabel.cpp.o
2024-12-10T01:06:13.5722516Z   File "/home/runner/miniconda3/envs/test/bin/conda-mambabuild", line 10, in <module>
2024-12-10T01:06:13.5722892Z     sys.exit(main())
2024-12-10T01:06:13.5723072Z              ^^^^^^
2024-12-10T01:06:13.5723483Z   File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/boa/cli/mambabuild.py", line 301, in main
2024-12-10T01:06:13.5723959Z     call_conda_build(action, config)
2024-12-10T01:06:13.5724472Z   File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/boa/cli/mambabuild.py", line 273, in call_conda_build
2024-12-10T01:06:13.5724986Z     result = api.build(
2024-12-10T01:06:13.5725172Z              ^^^^^^^^^^
2024-12-10T01:06:13.5725575Z   File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/conda_build/api.py", line 250, in build
2024-12-10T01:06:13.5726032Z     return build_tree(
2024-12-10T01:06:13.5726218Z            ^^^^^^^^^^^
2024-12-10T01:06:13.5726668Z   File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/conda_build/build.py", line 3638, in build_tree
2024-12-10T01:06:13.5727168Z     packages_from_this = build(
2024-12-10T01:06:13.5727438Z                          ^^^^^^
2024-12-10T01:06:13.5727893Z   File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/conda_build/build.py", line 2506, in build
2024-12-10T01:06:13.5728366Z     utils.check_call_env(
2024-12-10T01:06:13.5728952Z   File "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/conda_build/utils.py", line 405, in check_call_env
2024-12-10T01:06:13.5729556Z     return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs)
2024-12-10T01:06:13.5732413Z $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ -DGLFont_DEFAULT_FONTS_PATH=\"$SRC_DIR/build/_deps/glfont-src/fonts\" -DGLFont_EXPORTS -I$SRC_DIR/build/_deps/glfont-src/include -isystem $PREFIX/include/freetype2 -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/yarp-device-openxrheadset-0.0.5 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -DNDEBUG -fPIC -MD -MT _deps/glfont-build/CMakeFiles/GLFont.dir/src/FTLabel.cpp.o -MF _deps/glfont-build/CMakeFiles/GLFont.dir/src/FTLabel.cpp.o.d -o _deps/glfont-build/CMakeFiles/GLFont.dir/src/FTLabel.cpp.o -c $SRC_DIR/build/_deps/glfont-src/src/FTLabel.cpp

By checking a working run with a not working one, I noticed that xorg-xorgproto was missing

The situation seems a bit in a flux:

https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/6688
https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/6816
https://github.com/conda-forge/tk-feedstock/issues/55

Just switching to use xorg-xorgproto seems indeed to be correct solution.

Thanks @traversaro

authors: S-Dafarra traversaro

repo: ami-iit/yarp-device-openxrheadset


text:
Upgrade the used simulation model to iCubGazebo_V3

Since the telexistence team is using iCubGenova09 (iCub V3) for the experiements, we should use iCubGazeboV3 in simulation instead of iCubGazeboV2_5.

Setup
Reproduce the setup steps 1 to 6 from https://github.com/ami-iit/yarp-openmct#prior-testing-the-visualization-tool-on-gazebo, except that YARP_ROBOT_NAME is set to iCubGazeboV3 instead of iCubGazeboV2_5.

Steps 1 to 5 were successful.

Step 6 fails with the console output:
[ERROR] Unable to connect the ports  /walking-coordinator/logger/data:o and /yarp-robot-logger/exogenous_signals/walking:i
[INFO] |yarp.os.RFModule| RFModule failed to open.
Illegal instruction: 4

Full log
[INFO] |yarp.os.Port| Port /iiticublap199/WalkingModule/82509/clock:i active at tcp://192.168.1.70:10158/
[INFO] |yarp.os.Network| Success: port-to-port persistent connection added.
[INFO] |yarp.os.Time| Waiting for clock server to start broadcasting data ...
[INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /clock to /iiticublap199/WalkingModule/82509/clock:i using tcp
[INFO] |yarp.device.remote_controlboard| RemoteControlBoard is ENABLING the writeStrict option for all commands
[INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/torso/rpc:o active at tcp://192.168.1.70:10102/
[INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/torso/command:o active at tcp://192.168.1.70:10103/
[INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/torso/stateExt:i active at tcp://192.168.1.70:10104/
[INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/torso/rpc:o to /icubSim/torso/rpc:i using tcp
[INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/torso/command:o to /icubSim/torso/command:i using udp
[INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /icubSim/torso/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/torso/stateExt:i using udp
[INFO] |yarp.dev.PolyDriver| Created device <remote_controlboard>. See C++ class RemoteControlBoard for documentation.
[INFO] |yarp.device.remote_controlboard| RemoteControlBoard is ENABLING the writeStrict option for all commands
[INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/left_arm/rpc:o active at tcp://192.168.1.70:10105/
[INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/left_arm/command:o active at tcp://192.168.1.70:10106/
[INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/left_arm/stateExt:i active at tcp://192.168.1.70:10107/
[INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/left_arm/rpc:o to /icubSim/left_arm/rpc:i using tcp
[INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/left_arm/command:o to /icubSim/left_arm/command:i using udp
[INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /icubSim/left_arm/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/left_arm/stateExt:i using udp
[INFO] |yarp.dev.PolyDriver| Created device <remote_controlboard>. See C++ class RemoteControlBoard for documentation.
[INFO] |yarp.device.remote_controlboard| RemoteControlBoard is ENABLING the writeStrict option for all commands
[INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/right_arm/rpc:o active at tcp://192.168.1.70:10108/
[INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/right_arm/command:o active at tcp://192.168.1.70:10109/
[INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/right_arm/stateExt:i active at tcp://192.168.1.70:10110/
[INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/right_arm/rpc:o to /icubSim/right_arm/rpc:i using tcp
[INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/right_arm/command:o to /icubSim/right_arm/command:i using udp
[INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /icubSim/right_arm/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/right_arm/stateExt:i using udp
[INFO] |yarp.dev.PolyDriver| Created device <remote_controlboard>. See C++ class RemoteControlBoard for documentation.
[INFO] |yarp.device.remote_controlboard| RemoteControlBoard is ENABLING the writeStrict option for all commands
[INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/left_leg/rpc:o active at tcp://192.168.1.70:10111/
[INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/left_leg/command:o active at tcp://192.168.1.70:10112/
[INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/left_leg/stateExt:i active at tcp://192.168.1.70:10113/
[INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/left_leg/rpc:o to /icubSim/left_leg/rpc:i using tcp
[INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/left_leg/command:o to /icubSim/left_leg/command:i using udp
[INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /icubSim/left_leg/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/left_leg/stateExt:i using udp
[INFO] |yarp.dev.PolyDriver| Created device <remote_controlboard>. See C++ class RemoteControlBoard for documentation.
[INFO] |yarp.device.remote_controlboard| RemoteControlBoard is ENABLING the writeStrict option for all commands
[INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/right_leg/rpc:o active at tcp://192.168.1.70:10114/
[INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/right_leg/command:o active at tcp://192.168.1.70:10115/
[INFO] |yarp.os.Port| Port /walking-coordinator/remoteControlBoard/icubSim/right_leg/stateExt:i active at tcp://192.168.1.70:10116/
[INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/right_leg/rpc:o to /icubSim/right_leg/rpc:i using tcp
[INFO] |yarp.os.impl.PortCoreOutputUnit| Sending output from /walking-coordinator/remoteControlBoard/icubSim/right_leg/command:o to /icubSim/right_leg/command:i using udp
[INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /icubSim/right_leg/stateExt:o to /walking-coordinator/remoteControlBoard/icubSim/right_leg/stateExt:i using udp
[INFO] |yarp.dev.PolyDriver| Created device <remote_controlboard>. See C++ class RemoteControlBoard for documentation.
[INFO] |yarp.dev.PolyDriver| Created device <remotecontrolboardremapper>. See C++ class RemoteControlBoardRemapper for documentation.
[INFO] |yarp.os.Port| Port /walking-coordinator/left_foot_front/cartesianEndEffectorWrench:i active at tcp://192.168.1.70:10159/
[INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /wholeBodyDynamics/left_foot_front/cartesianEndEffectorWrench:o to /walking-coordinator/left_foot_front/cartesianEndEffectorWrench:i using tcp
[INFO] |yarp.os.Port| Port /walking-coordinator/left_foot_rear/cartesianEndEffectorWrench:i active at tcp://192.168.1.70:10160/
[INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /wholeBodyDynamics/left_foot_rear/cartesianEndEffectorWrench:o to /walking-coordinator/left_foot_rear/cartesianEndEffectorWrench:i using tcp
[INFO] |yarp.os.Port| Port /walking-coordinator/right_foot_front/cartesianEndEffectorWrench:i active at tcp://192.168.1.70:10161/
[INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /wholeBodyDynamics/right_foot_front/cartesianEndEffectorWrench:o to /walking-coordinator/right_foot_front/cartesianEndEffectorWrench:i using tcp
[INFO] |yarp.os.Port| Port /walking-coordinator/right_foot_rear/cartesianEndEffectorWrench:i active at tcp://192.168.1.70:10162/
[INFO] |yarp.os.impl.PortCoreInputUnit| Receiving input from /wholeBodyDynamics/right_foot_rear/cartesianEndEffectorWrench:o to /walking-coordinator/right_foot_rear/cartesianEndEffectorWrench:i using tcp
[INFO] [WalkingModule::setRobotModel] The model is found in:  /Users/nunoguedelha/dev/superbuild-soft-eng/robotology-superbuild/build/install/share/iCub/robots/iCubGazeboV3/model.urdf
[WARNING] SensorElement :: setAttributes : iDynTree does not support sensor of type depth
[WARNING] SensorElement :: setAttributes : iDynTree does not support sensor of type camera
[INFO] |yarp.os.Port| Port /walking-coordinator/rpc active at tcp://192.168.1.70:10119/
[INFO] |yarp.os.Port| Port /walking-coordinator/goal:i active at tcp://192.168.1.70:10120/
[INFO] |yarp.os.Port| Port /walking-coordinator/freeSpaceEllipse:in active at tcp://192.168.1.70:10121/
[INFO] Loading custom PIDs
[INFO] Parsing DEFAULT PID group.
[INFO] DEFAULT PID successfully loaded
[INFO] |yarp.os.Port| Port /walking-coordinator/logger/data:o active at tcp://192.168.1.70:10122/
[ERROR] Unable to connect the ports  /walking-coordinator/logger/data:o and /yarp-robot-logger/exogenous_signals/walking:i
[INFO] |yarp.os.RFModule| RFModule failed to open.
Illegal instruction: 4

this was due to iCbGazeboV3 configuration issues in my local setup.

Actually, either there is a bug in the logger module, either something is missing in the documentation https://github.com/robotology/walking-controllers#how-to-dump-data.
I opened the issue https://github.com/robotology/walking-controllers/issues/109.
Meanwhile, I edited directly the installed configuration file for iCubGazeboV3.

Apart from the issue mentioned above, everything is working as expected.

We can consider this action completed.

Super cool @nunoguedelha !

authors: DanielePucci nunoguedelha

repo: ami-iit/yarp-openmct


text:
Add RPM package or Flatpak

It would be great if there was either an RPM package (Fedora, openSUSE), or as an alternative, a Flatpak.  The benefit of a flatpak would be it could run on both RPM or DEB based system.  A lot of Linux developers tend to go the flatpak route for that reason.
My reasoning for this request is a lot of folks, I know, have been moving away from Debian-based Linux distributions (disclosure, myself, included).  But would like to use your download manager.
Either solution would be great.

why you are  not using  the installation script ?

why you are not using the installation script ?

One of the main advantages of using Linux distros is having all installed programs managed by a package manager (or two if you use flatpak too) which facilitates keeping everything organized and regularly updated.

I'm planning to add an auto update feature to the app (which you may saw that in apps like discord postman etc...)
for this to work I need to have write access to the installation directory because of that I may not be able to add rpm package and remove the  deb package too.
instead can improve that installation script until then

I think making auto updates optional and allowing the app to be available at least of flathub would be a better solution for linux users.
I personally don't like when apps try to manage their own updates and prefer to let that job for my package manager or for flatpak.

If you don't want to publish it yourself for flathub would it be fine if I do it as a contributor so it can be labeled as officially published by the app devs on flathub?

I think making auto updates optional and allowing the app to be available at least of flathub would be a better solution for linux users. I personally don't like when apps try to manage their own updates and prefer to let that job for my package manager or for flatpak.

Of course I will make this optional. you can manually upgrade it using a script.
Unfortunately I don't know much about the flathub you mentioned.
and I don't know if it may causes problem later or not.
For example
I plan to add Native Messaging feature later to allow browsers to wake up the app when its not running.
this feature needs an executable inside the app's directory (which I know that AppImage does not support this thing)

Of course I will make this optional. you can manually upgrade it using a script.

That's great to hear.

Unfortunately I don't know much about the flathub you mentioned. and I don't know if it may causes problem later or not.

Flathub is a store or repository that flatpak users can get software from. I'm not sure if flatpak can cause issues or not but I'll try to build this project on my machine with flatpak and see if it can cause any issues then report how it goes here.

For example I plan to add Native Messaging feature later to allow browsers to wake up the app when its not running. this feature needs an executable inside the app's directory (which I know that AppImage does not support this thing)

Can you tell me more about how this feature is going to work?

Can you tell me more about how this feature is going to work?

You can read more about Native Messaging here
but in short it requires a file to be exists in installation folder and browser can execute it for communication.
for example
───app
    \───bin
     |    \───ABDownloadManager (for now we have only this)
     |    \───ABDownloadManager_NativeMassagingHost
     |    \─── ....
     \...

app (and external apps like browsers) requires to have at least read only access to its installation directory. if its converted to a single executable binary (AppImage) then it may not support some features later.

authors: Linux-Is-Best amanullahmenjli amir1376


text:
please update the module in the npm registry

npm still installs the older version which uses ytdl-core@2.0.1

v1.2.1 has been released

authors: Caier amishshah

repo: amishshah/ytdl-core-discord


text:
How to page down?

I used   for page down and up, how to do that now? Thank you very much!

Ctrl + D, Ctrl + U

how to disable the scroll animation??????????????????

See #452 @al03 @stoneboy100200

A duplicate of https://github.com/amix/vimrc/issues/452

repo: amix/vimrc


text:
Update rust.vim from deprecated repo to rust-lang repo and add to update_plugins.py

Let me know if I missed anything?
Thanks!

Thanks!

authors: amix max-b


text:
Add other applications for Quest

Hello, your crate works well on the Meta Quest VR Headset. As you can see here : https://youtu.be/28H67HftB_E
On the Quest devices this could allow to open a dozen 2D applications such as the Browser, YouTube 2D, the parameters etc ...  over a VR application in progress,
Would it be possible to extend your code to other configurable applications? If not, do  you allow me to take up your code to adapt it to my project under MIT license.
I believe this code should be sufficient : https://github.com/amodm/webbrowser-rs/blob/main/src/android.rs
Thanks.

Under MIT license, you're always free to copy any part of the code and modify it as you please. Credit would be appreciated, but not strictly necessary.
Given the above liberty, I appreciate you checking in. I'll be able to comment better on acceptability of a PR for this, if you can share what such an API should look like.

It is definitely better than the code remains in your crate. I will try to find the best solution in a fork.

Please reopen if/when you feel you have an answer.

authors: amodm mvvvv

repo: amodm/webbrowser-rs


text:
copyItem(path: String, toLocalURL destURL: URL, completionHandler: SimpleCompletionHandler) in DropboxFileProvider not working

Fails to download files correctly, fails with a 400 error (Bad Request).
I'll make a pull request that fixes the issue.

Merged #14

authors: amosavian skela

repo: amosavian/FileProvider


text:
Front end tests

User story

As a team member
I need the front end to be tested under various test cases
So that UI acts as desired

Acceptance criteria

[x]  All UI elements are working as desired.
[x] Code coverage of 70+%

Definition of done (DoD)

[ ]  Feature/Bug/Change has been implemented

[ ]  Application compiles successfully

[ ]  Code is documented

[ ]  Feature/Bug/Change is tested by at least one unit or e2e test

[ ]  Tests have been passed without warnings (except "deprecated" warnings)

[ ]  Changes have been reviewed

[ ]  PR has been merged to dev branch

[ ]  New dependencies have been added to bill of materials

[ ]  Software architecture diagram has been updated

[ ]  All acceptance criteria are fulfilled

[ ]  Screenshot is attached to issue

DoD general criteria

Feature has been fully implemented
Feature has been merged into the mainline
All acceptance criteria were met
Product owner approved features
All tests are passing
Developers agreed to release

Current test coverage:

When running cypress tests, the coverage report gets saved into coveragefolder, we could include this in the CI output.
I added more tests for frontend-only stuff like tooltips, but I'm really struggling with tests that involve signals from the backend. See file cypress/e2e/2-indicators/line-indicators.cy.js: I tried mocking the websocket connection to send a test sample array. And the message is received at the frontend. Problems are:

The message data is received as a string like 1, 0, 0, ... instead of an array buffer.
Despite turning on the oscillator by clicking the start button, $osciEnabled is still false and the onmessage handler doesn't get to updating the other components.


text:
Redefine release manager role and release process

Priority (1-3): 2
Description

Over the course of the last sprints, we have repeatedly had issues with the release process during the team meeting. This took a lot of time out of the meeting with fixes often having to be done after the meeting had ended.
After having talked to the chair, there is no rule on whether the release manager role needs to alternate between all team members or whether it could even be occupied by one person only.

Required Action

In order to allow for a smoothly running release process, the release manager role will be occupied by 1-2 people from the team that have experience with releases and are comfortable releasing each week.
The release process therefore has to be newly defined.

The team decided that the release manager role will alternate between all team members, but that the supports the release manager in tagging when in doubt.


text:
Prototypes at top of file fail when functions use custom types

ino's preprocessor places function prototypes at the very top of the file, right below the includes. This means that any function that returns a custom type (struct, typedef, etc.) defined lower in the file will fail to compile due to the type being undefined at the prototype declaration. It also pays no attention to whether the prototypes have been manually added, resulting in multiple declarations in cases when they have been.

This is an Arduino IDE feature, see #224 for solution.

authors: chennes nophead

repo: amperka/ino


text:
Add v2 based on amphp/amp v3

This pull request should go into the v2 branch but I don't believe it's possible to create a pull request to a branch that doesn't exist.

Thanks! I've created the branch and merged your changes. We can iterate on that. :-)

With v3 us there a reason not to implement it directly?

Yes, we want a proper stream abstraction that works across all libraries, so an adapter on top instead of an adapter for our stream abstraction seems the better way to go. Especially with features such as HTTP/2 push, etc.

authors: enumag iggyvolz kelunik


text:
Response latency significantly increased after upgrade from v0.7.4 to v0.8.0

Seem there is an issue with performance have been introduced in version v0.8.0 or there were some changes in default server settings.
Comparing versions v0.7.4 and v0.8.0 there are about 25%-80% of latency difference (on different tests).

v0.7.4

Running 30s test @ http://localhost:8080/
  1 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     8.02ms    0.98ms 126.00ms   99.59%
    Req/Sec    12.54k   278.07    13.01k    71.67%
  Latency Distribution
     50%    7.94ms
     75%    8.15ms
     90%    8.33ms
     99%    8.73ms
  374367 requests in 30.00s, 73.90MB read
Requests/sec:  12477.51
Transfer/sec:      2.46MB

v0.8.0

Running 30s test @ http://localhost:8080/
  1 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    40.29ms    1.69ms  51.42ms   89.09%
    Req/Sec     2.49k   175.34     2.89k    68.67%
  Latency Distribution
     50%   39.92ms
     75%   40.02ms
     90%   43.47ms
     99%   44.17ms
  74256 requests in 30.02s, 14.68MB read
Requests/sec:   2473.37
Transfer/sec:    500.62KB

To reproduce this issue please use wrk:
 wrk -t1 -c100 -d30s --latency http://localhost:8080/

and following server scripts:

v0.7.4 https://github.com/torinaki/aerys-benchmark/blob/master/aerys/v0.7.4/server-tiny.php
v0.8 https://github.com/torinaki/aerys-benchmark/blob/master/aerys/v0.8/server-tiny.php

The executable bin/aerys that used to be provided in this repo would spawn multiple processes to handle requests. That functionality has been moved to amphp/cluster (a work-in-progress right now, but nearly complete). Undoubtedly we'll include some examples in the future that use that package to handle requests from multiple processes. You can specify the number of workers with the -w flag to bin/aerys (i.e., bin/aerys -w 1 -c server-tiny.php).
In v0.8.0 only a single process handles requests by default. Using the scripts you provided and the commands shown yields the following on my laptop:
v0.7.4: Run using php -dzend.assertions=-1 bin/aerys -w 1 -c server-tiny.php
Running 30s test @ http://localhost:8080/
  1 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     6.88ms    3.91ms 223.73ms   95.88%
    Req/Sec    14.95k     2.25k   17.63k    86.33%
  Latency Distribution
     50%    6.21ms
     75%    6.79ms
     90%    8.18ms
     99%   16.24ms
  446389 requests in 30.01s, 88.12MB read
Requests/sec:  14876.14
Transfer/sec:      2.94MB

v0.8.0: Run using php -dzend.assertions=-1 server-tiny.php
Running 30s test @ http://localhost:8080/
  1 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     7.80ms    3.32ms 228.38ms   99.59%
    Req/Sec    13.02k   453.77    13.89k    75.00%
  Latency Distribution
     50%    7.56ms
     75%    7.97ms
     90%    8.42ms
     99%    9.74ms
  388722 requests in 30.01s, 76.74MB read
Requests/sec:  12954.75
Transfer/sec:      2.56MB

There is some performance penalty in v0.8.0, however we improved some features such as header validation and overall have better abstractions for writing response handlers or middleware, while still maintaining a very high level of performance.

I tried using the current master of amphp/cluster and v0.8.0 with a modified version of your example that uses Cluster::listen() instead of Socket\listen() to share sockets between processes and got the following results, pegging my laptop to 100% CPU during the 30s, so I'm sure better hardware would provide much better results.
Running 30s test @ http://localhost:8080/
  1 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     3.69ms    2.86ms  36.84ms   87.19%
    Req/Sec    29.98k     2.43k   35.79k    69.33%
  Latency Distribution
     50%    2.87ms
     75%    4.36ms
     90%    7.24ms
     99%   14.64ms
  894969 requests in 30.02s, 176.68MB read
Requests/sec:  29811.63
Transfer/sec:      5.89MB

@trowski I see your point with cluster setup, but in my comparison, I'm using only one process, because it will show how good single core utilization is (it is exactly what I want to achieve with async approach). Aerys\initServer function guarantees that I'm using only one process for Aerys v0.7.4. In case of v0.8.0 i'm not using amphp/cluster.
Also, both versions servers are running using same PHP settings.
Here is complete benchmark report on Travis:
https://travis-ci.org/torinaki/aerys-benchmark/jobs/357887170
You can run the same benchmark using docker:
docker run --ulimit nofile=30000:30000 dmitrybalabka/aerys-benchmark:php71

Ignore the results using amphp/cluster, that was just for an example of what's possible. The first of my posts is comparing single processes only.
I should have looked closer at your v0.7.4 test file, I didn't realize you used initServer, but that actually didn't matter for the benchmark.
v0.7.4: Run using php -dzend.assertions=-1 server-tiny.php
Running 30s test @ http://localhost:8080/
  1 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     6.91ms    4.67ms 258.70ms   99.46%
    Req/Sec    14.86k     1.26k   18.07k    71.33%
  Latency Distribution
     50%    6.48ms
     75%    7.32ms
     90%    8.07ms
     99%   10.48ms
  443601 requests in 30.00s, 87.57MB read
Requests/sec:  14784.99
Transfer/sec:      2.92MB

Nearly the same result as before.
So the real question is: Why do I see similar performance between 0.7.4 and 0.8.0 on my laptop while travis and docker shows such a difference?
I do not have an immediate answer to that question… in fact I got an even bigger performance gap running the docker you provided on my laptop. We clearly must have changed some default setting that is causing a huge performance penalty, but only on certain systems. I'm certain if we fix that setting the performance will be comparable to v0.7.4 on all systems.

The HTTP server process isn't maxed out in that benchmark, but Aerys 0.7.x is on 100% CPU.

@torinaki Can you please update your benchmark to use v0.8.1? I'd like to try running the docker again.

@kelunik, @trowski thanks you! Now it is back to normal. Comparing version v0.8.1 and v0.7.4 I've noticed only about 10% performance degradation.
Full report here: https://travis-ci.org/torinaki/aerys-benchmark/jobs/358118374

@trowski image has been built. Please use:
docker run --ulimit nofile=30000:30000 dmitrybalabka/aerys-benchmark:php71

Don't forget to run docker pull dmitrybalabka/aerys-benchmark:php71 :)

@torinaki php -n enables assertions. For improved performance, you should run with -d zend.assertions=-1.

@kelunik I include all required settings in separate php.ini files like:
https://github.com/torinaki/aerys-benchmark/blob/a1272a7503fc4797d4711c6eaf93260611293d3b/php/default.ini#L1
and load it during each benchmark:
https://github.com/torinaki/aerys-benchmark/blob/aff9a11f62f3edc77f1ee230411f90ffb917a8a1/start_benchmark.sh#L62
I also check that it is really disabled, just to be sure that such approach works:
https://github.com/torinaki/aerys-benchmark/blob/aff9a11f62f3edc77f1ee230411f90ffb917a8a1/start_benchmark.sh#L50

@trowski please hold on. Seems I have overridden the image with the old one. Please pull image again after build: https://travis-ci.org/torinaki/aerys-benchmark/builds/358158491
Sorry about this.

authors: kelunik torinaki trowski

repo: amphp/http-server


text:
[TACHYON-754] Enable MapReduce FileSystem Counter information in AbstractTFS

https://tachyon.atlassian.net/browse/TACHYON-754
Also run a simple WordCount on both hdfs:// and tachyon://. (Hadoop-2.6.0, Tachyon-master)
Run on hdfs:// File System Counters
FILE: Number of bytes read=545224
FILE: Number of bytes written=1060941
FILE: Number of read operations=0
FILE: Number of large read operations=0
FILE: Number of write operations=0
HDFS: Number of bytes read=3428
HDFS: Number of bytes written=1765
HDFS: Number of read operations=13
HDFS: Number of large read operations=0
HDFS: Number of write operations=4
Run on tachyon:// File System Counters
FILE: Number of bytes read=545258
FILE: Number of bytes written=1060059
FILE: Number of read operations=0
FILE: Number of large read operations=0
FILE: Number of write operations=0
HDFS: Number of bytes read=0
HDFS: Number of bytes written=1765
HDFS: Number of read operations=6
HDFS: Number of large read operations=0
HDFS: Number of write operations=3
TACHYON: Number of bytes read=3428
TACHYON: Number of bytes written=1765
TACHYON: Number of read operations=13
TACHYON: Number of large read operations=0
TACHYON: Number of write operations=3

Some additions:
In DistributedFileSystem, large read operations is the number of listFiles operations under a large directory (over 1000 entries, see DFS_LIST_LIMIT). Currently Tachyon does not distinguish this.
AbstractTFS implements less methods than DistributedFileSystem (e,g,. setReplication, setOwner, setTimes, etc.) so tachyon's write operations may less than hdfs'.

@swatDong Thanks for the patch and example! Would it be possible to add something like what you did manually to a unit test?

@calvinjia Have made mStatistics a member variable.
I think it doesn't need to put a whole MR job into unit test, because we cannot estimate the exact number of an operation (e.g., the input file is 1714B but the Number of bytes read is 3428. Then, we cannont ensure the Number of read operations is always 13 in different Hadoop versions).
So maybe we can add a unit test TFSStatisticsTest to manually read/write something and see if the operation numbers are expected.

Unit test added.

Jenkins, test this please.

Thanks for this fix!

LGTM

+1 LGTM

authors: calvinjia gpang swatDong

repo: amplab/tachyon


text:
[TACHYON-404] [WIP] Create a tachyon-common jar and move thrift-related code into tachyon-common

Original PR becomes messy due to too many test failures.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/3107/
Test PASSed.

LGTM
Only comment is on the module naming.  Is the intent to move other common functionality into this module in the longer term in which case the naming of tachyon-common makes sense
If this module is only intended to be the Thrift code then shouldn't this be called tachyon-thrift instead?

Btw TACHYON-49 may be a much broader solution to this and I would hold off merging this until the PR for that is open and can be evaluated as I think we should prefer the larger and more brutal refactor than this limited refactor if at all possible

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/3110/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/3115/
Test PASSed.

authors: AmplabJenkins apc999 rvesse


text:
LPIPS loss

When using the LPIPS loss, as exemplified in:
https://github.com/amundra15/livehand/blob/release/models/loss.py#L45
https://github.com/amundra15/livehand/blob/release/models/loss.py#L57
LPIPS expects images to be within the -1 to 1 range. Within the forward function, there is a normalize flag that is by default set to False. It normalizes the images to the -1 to 1 range:
        if normalize: # turn on this flag if input is [0,1] so it can be adjusted to [-1, +1]
            in0 = 2 * in0  - 1
            in1 = 2 * in1  - 1

However, in your case, images (rgb, rgb_sr, target) are within the 0 to 1 range. And you did not set normalize flat to True. Is this intentional, or was it perhaps overlooked?

Hi @ivashmak , you are right. This was overlooked during the implementation.

In case you experiment with correct normalization, I would be curious to look at the results.

Thanks for reply. Sure, I will let you know if I do this.


text:
fix: update docker environment and image versions for ecs deployment

Signed-off-by: Peter Chen peterxichen@outlook.com
Summary of Changes

Point amundsenfrontend environment variables SEARCHSERVICE_BASE and METADATASERVICE_BASE to the correct ports. This resolves the recurring HTTPConnectionPool(host='amundsenmetadata', port=5000) exceptions reported in #257 #210.
Update image versions to match https://github.com/amundsen-io/amundsen/blob/main/docker-amundsen.yml. The updated versions allow users to load data correctly into elasticsearch using the sample_data_loader referenced in the Quick Start Guide (https://www.amundsen.io/amundsen/installation/).

Tests
N/A - this functionality is not currently tested
Documentation
N/A - consistent with existing documentation (https://github.com/amundsen-io/amundsen/blob/master/docs/installation-aws-ecs/aws-ecs-deployment.md)
CheckList
Make sure you have checked all steps below to ensure a timely review.

[x] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[x] PR includes a summary of changes.
[x] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[x] In case of new functionality, my PR adds documentation that describes how to use it.

All the public functions and the classes in the PR contain docstrings that explain what it does

Too bad, this PR hasn't been merged yet !
I just went through the AWS ECS deployment (state of the main branch), which worked well .. until running the example/scripts/sample_data_loader.py script  , which failed of course expecting an ES >v7.x (using main branch).
I guess I've 2 options now:

redo the deployment with @peterxichen 's changes here
or using an older databuilder version working with ES v6.x

which version ?
older commit then https://github.com/amundsen-io/amundsen/commit/cdcf738fe84631e0b55a0e8b79b0bd26963c58c0 ?

@lhoss would you be open to take over this?

authors: Golodhros lhoss peterxichen

repo: amundsen-io/amundsen


text:
Filter not working correctly on strftime

This passes the filter:
closing_at = (action.proposal.proposal_time + datetime.timedelta(days=3)).strftime("%Y-%m-%d")

This does not:
closing_at_dt = action.proposal.proposal_time + datetime.timedelta(days=3)
closing_at = closing_at_dt.strftime("%Y-%m-%d")

Error produced is
Filter errors: [{'type': 'filter', 'lineno': 8, 'code': 'closing_at_dt.strftime',
'message': 'function cannot be called because it is not in the list of whitelisted module functions.'}]

Bug: Inconsistent filter results based on whether an intermediate variable is used or not
strftime should be permitted, because the above example will be common for passing params to metagov. Both the 2 examples should work.

To fix the code filtering problem with intermediate variables / importing libraries, one approach we could take is to implement a wrapper library for each library that we import. For example, instead of allowing users to import the requests library, we would implement a wrapper class policykit.requests which wraps only the safe function calls from requests and doesn't wrap any dangerous function calls. We can then pre-import policykit.requests and have it available to users in their coding environment. Users would not be allowed to import their own libraries not included in our wrappers (e.g. cannot import requests, etc.).
For example, suppose library A has functions x(), y() and z(). Functions x() and y() are harmless but function z() is potentially dangerous. We can create a library policykit.A which wraps library A as so:
class policykit.A:
  def x():
    from A import x as x2
    x2()

  def y():
    from A import y as y2
    y2()

  # We don't wrap z() because we don't want the user to be able to call z()

closing in favor of https://github.com/amyxzhang/policykit/issues/513

repo: amyxzhang/policykit


text:
Find change in entropy rather than new entropy in entropy search acquisition

Description of changes: Entropy search currently had a term missing that was the current entropy of the distribution over the minimum. This meant that if we evaluated the acquisition at a point that would not change the distribution over the minimum (e.g. existing training point in noiseless model), the acquisition function did not return zero as expected. This matters if we want to use entropy search per unit cost.
@aaronkl does this look right to you?
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #92 into develop will increase coverage by 0.01%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop      #92      +/-   ##
===========================================
+ Coverage     89.9%   89.92%   +0.01%
===========================================
  Files           65       65
  Lines         1635     1638       +3
  Branches       171      171
===========================================
+ Hits          1470     1473       +3
  Misses         124      124
  Partials        41       41

Impacted Files
Coverage Δ

...yesian_optimization/acquisitions/entropy_search.py
84.04% <100%> (+0.52%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6fc55b1...5e04324. Read the comment docs.

authors: codecov-io marpulli

repo: amzn/emukit


text:
request is not finish yet！！！

try
{
	nosql::RedisClientPtr redis_ptr = app().getFastRedisClient();
	redis_ptr->execCommandAsync(
		[&, name, psw, callback](const nosql::RedisResult& result) {
			cout << result.getStringForDisplaying() << endl;
			Json::Value ret;
			if (!name.empty() && !psw.empty())
			{
				ret["Msg"] = "登录成功";
				ret["Result"] = true;
			}
			else
			{
				ret["Msg"] = "登录失败,用户名或密码错误";
				ret["Result"] = false;
			}
			auto resp = HttpResponse::newHttpJsonResponse(ret);
			callback(resp);
		},
		[&](const nosql::RedisException& ex) {
			Json::Value ret;
			ret["Msg"] = ex.what();
			ret["Result"] = false;
			auto resp = HttpResponse::newHttpJsonResponse(ret);
			callback(resp);
		}, "get test");
}
catch (std::exception& exp)
{
	Json::Value ret;
	ret["Msg"] = exp.what();
	ret["Result"] = false;
	auto resp = HttpResponse::newHttpJsonResponse(ret);
	callback(resp);
}

I use redis in my request ,but my redis config(ip) was not right;
"redis_clients": [
{
//name: Name of the client,'default' by default
//"name":"",
//host: Server IP, 127.0.0.1 by default
"host": "192.168.1.102",//192.168.1.101 is the right ip
//port: Server port, 6379 by default
"port": 6379,
//passwd: '' by default
"passwd": "",
//is_fast: false by default, if it is true, the client is faster but user can't call
//any synchronous interface of it.
"is_fast": true,
//number_of_connections: 1 by default, if the 'is_fast' is true, the number is the number of
//connections per IO thread, otherwise it is the total number of all connections.
"number_of_connections": 1
}
],
If I don't ust time out in html or in drogon;the request will be stuck forever in redis command;

I closed drogon by my self;
there may be set timeout in redis will fix this?
and I didn't see any set about timeout in config.json

@an-tao hello,does this problem fixed

No, sorry, I'm busy lately, I will fix it when I have time

repo: an-tao/drogon


text:
Don't send content type in a 304 response

Makes that 304 sent by the static file router doesn't contain a Content-Type header. Otherwise it messes with Chrome's response preview.
Before this PR

After:

Not sure if changing webContentTypeToString is the best way. Let me know if there's something I should change

Thanks so much for your patch.


text:
Feature: Accessing request and response objects within component class

Which scope/s are relevant/related to the feature request?
router
Information
Adding an ability to access request and response objects, would allow for server side authentication. As an example next js provides an exported function:
export const getServerSideProps = withSession(async function ({ req, res }) {
  const { user } = req.session

  if (!user) {
    return {
      redirect: {
        destination: '/login',
        permanent: false,
      },
    }
  }

  return {
    props: { user },
  }
})

It follows a similar pattern to component.server.ts files. The signature of the load function could be updated to return redirects, or another function to be exposed in order to not break the compatability.
Describe any alternatives/workarounds you're currently using
No alternative right now.
I would be willing to submit a PR to fix this issue

[X] Yes
[ ] No

This seems reasonable to me. What would the change look like for the load function vs a new function?
We could also expose these as injectable tokens or functions.

@brandonroberts
If the function is changed, it would require a more concrete return type. It could be very similar to next.js:
export type Redirect =
  | {
      statusCode: 301 | 302 | 303 | 307 | 308
      destination: string
      basePath?: false
    }
  | {
      permanent: boolean
      destination: string
      basePath?: false
    }

export type LoadResult<T> =
  | { data: T }
  | { redirect: Redirect }
  | { notFound: true }

export type LoadFuc = (pageServerLoad: PageServerLoad) => Promise<LoadResult<T>>

If a new function is added it could be as simple as a middleware handler:
// Alternative names: onRequest, request
export function beforeLoad(pageServerLoad: PageServerLoad, next: () => void) {
}
``

> We could also expose these as injectable tokens or functions.
From my opinion, I'd prefer to have the routing/server logic with a bit of  separation from UI component, to avoid having to deal with `if (isBrowser)` like logic

That seems reasonable to me. We could keep T instead of { data:  T } but either works.

So would your preference be to update the existing load function?
The only reason I suggested using { data:  T }, was to have a concrete type, which doesn't clash with custom handling logic. Someone might return {notFound: true} to show that user is not found and then get confused by 404 being returned.

Yes, that's what my preference would be. As long as we can narrow the type of the client side usage where the injectLoad function will infer the data type.

Support for Request, Response is added in https://github.com/analogjs/analog/pull/806 and included in the 0.2.29 release

authors: WhoAteDaCake brandonroberts

repo: analogjs/analog


text:
Create mobb.yml

[X] I have not changed the README.md directly.

Looks good. Thanks!

authors: mre tomer-mobb

repo: analysis-tools-dev/static-analysis


text:
Contextual help endless loop

#https://github.com/redmatrix/hubzilla/issues/340

Fixed

repo: anaqreon/hubzilla


text:
Is it possible to capture continuous speed data for a particular session and store it (csv/excel) for future analysis?

To start off, I really appreciate all the effort, the developer(s) have put in behind this project.
I just wanted to request for a new future or any workarounds for the same, if possible. As is quite apparent from the title itself, I want to store continuous speed data for a particular session (Think having the speed values (per second) as displayed by the speedometer, stored and later exportable to a csv/excel).
This would be really helpful I feel for integrating the same into ML projects which can make use of this data. Infact, I currently have one in my mind myself and thus wanted something which can fetch me the live data.
Thanks!

Hi @ayanatherate,
You can observe speed changes using on of the Speed listeners and store it wherever you want.

Got it.
Thanks!

authors: anastr ayanatherate

repo: anastr/SpeedView